From 9b316e07fe8517503db3d1d162f418a307d9b6cf Mon Sep 17 00:00:00 2001
From: "V.G.Elkin" <elkinvg@gmail.com>
Date: Mon, 16 May 2022 11:11:54 +0300
Subject: [PATCH] highcharts and scalar

---
 CHANGELOG.md                      | 10 ++++-
 README.md                         | 75 ++++++++++++++++++++++++++++---
 index.html                        |  4 +-
 main.445ed23cd40d4a46.js          |  1 +
 main.4c015083ed59b3d241bf.js      |  1 -
 polyfills.1f2f1566e92af5c3836d.js |  1 -
 polyfills.29f605221df86351.js     |  1 +
 runtime.64d7520de720f65c.js       |  1 +
 runtime.81cf3bbaed406f7ca1af.js   |  1 -
 styles.b9df2f9acc667136.css       |  1 +
 styles.ecd935d97fadb41a8920.css   |  1 -
 11 files changed, 85 insertions(+), 12 deletions(-)
 create mode 100644 main.445ed23cd40d4a46.js
 delete mode 100644 main.4c015083ed59b3d241bf.js
 delete mode 100644 polyfills.1f2f1566e92af5c3836d.js
 create mode 100644 polyfills.29f605221df86351.js
 create mode 100644 runtime.64d7520de720f65c.js
 delete mode 100644 runtime.81cf3bbaed406f7ca1af.js
 create mode 100644 styles.b9df2f9acc667136.css
 delete mode 100644 styles.ecd935d97fadb41a8920.css

diff --git a/CHANGELOG.md b/CHANGELOG.md
index def7929..92b2111 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # История изменений
 
+## 0.2.0
+
+(15.05.2022)
+
+- Добавлены два режима, кроме основного с выводом spectrum данных
+- Добавлены дополнительные параметры GET для режимов
+- Добавлен GET параметр выставления html заголовка страницы, по умолчанию chart
+
 ## 0.1.4
 
 (10.12.2021)
@@ -18,7 +26,7 @@
 
 (18.10.2021)
 
-- Добавлен парамет GET `commsett`, для указания считываемого файла общих настроек, если отличен от дефолтного
+- Добавлен параметр GET `commsett`, для указания считываемого файла общих настроек, если отличен от дефолтного
 
 ## 0.1.1
 
diff --git a/README.md b/README.md
index 19cbc4d..3309507 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,37 @@
 # Highcharts Spectrum
 
-Веб приложение для отображения данных TANGO-атрибутов типа `spectrum` с помощью библиотеки `highcharts`. Для получения данных из атрибутов используется TANGO-модуль `WebSocketDS_cli` версии >= `1.0.0` (клиентная версия). Также можно использовать серверную версию, в этом случае атрибуты указанные в URL должны быть из списка прослушиваемых.
+Веб приложение для отображения данных TANGO-атрибутов типа `spectrum` с перерисовкой или `scalar` с добавлением данных с помощью библиотеки `highcharts`. Для получения данных из атрибутов используется TANGO-модуль `WebSocketDS_cli` версии >= `1.0.0` (клиентная версия). Также можно использовать серверную версию, в этом случае атрибуты указанные в URL должны быть из списка прослушиваемых.
+
+- **[настройки в conf файле](#conf-file)**
+  - **[конфигурация websocket](#конфигурация-websocket)**
+  - **[конфигурация hdbpp](#конфигурация-hdbpp)**
+
+- **[использование](#использование)**
+
+- **[get параметры](#get-параметры)**
+  - **[get параметры основные](#get-параметры-основные)**
+  - **[get параметры дополнительные](#get-параметры-дополнительные)**
+  - **[get параметры дополнительные для типа данных](#get-параметры-дополнительные-для-типа-данных)**
+  - **[get параметры дополнительные для настройки сигнала](#get-параметры-дополнительные-для-настройки-сигнала)**
+  - **[get параметры дополнительные для настроек опций](#get-параметры-дополнительные-для-настроек-опций)**
+  - **[get параметры дополнительные для hdbpp](#get-параметры-дополнительные-для-hdbpp)**
+
+- **[типы данных](#типы-данных)**
+
+- **[test mode](#test-mode)**
 
 ## conf file
 
+Конф. файл `./assets/sett/common_sett.json`
+
+Также можно использовать разные файлы настроек, для этого в URL параметре нужно указать постфикс для необходимого файла. Подробнее [ниже](#get-параметры-основные) параметр `commsett`.
+
+### конфигурация websocket
+
 В конф. файле `./assets/sett/common_sett.json` должны быть указаны настройки для подключения по websocket.
 
+Пример:
+
 ```json
 {
   "websocket": {
@@ -14,11 +40,17 @@
 }
 ```
 
-- websocket.ws_url - Если указывается полный адрес
-- websocket.ws_path - Если указывается относительный путь
-- websocket.is_server_mode - `true`, если используется серверный тип. По умолчанию `false` (boolean)
+- **websocket.ws_url** - Если указывается полный адрес
+- **websocket.ws_path** - Если указывается относительный путь
+- **websocket.is_server_mode** - `true`, если используется серверный тип. По умолчанию `false` (boolean)
 
-Также можно использовать разные файлы настроек, для этого в URL параметре нужно указать постфикс для необходимого файла.
+### конфигурация hdbpp
+
+Для конфигурации hdbpp используется объект `hdbpp`
+
+- **hdbpp.extractor_dev** - TANGO-device используемый для извлечения данных из БД hdbpp
+- **hdbpp.login** - login для выполнения команды извлечения данных за указынный период
+- **hdbpp.password** - password для выполнения команды извлечения данных за указынный период
 
 ## использование
 
@@ -59,6 +91,8 @@ var hcscript = {
 
 Приложение будет работать только при указании необходимых GET параметров.
 
+### get параметры основные
+
 Для отображения данных с конкретных TANGO-атрибутов типа `spectrum`, указываются следующие GET параметры:
 
 - **dev** - Имя TANGO-device. Допускается только одно имя.
@@ -69,10 +103,20 @@ var hcscript = {
 
 - **commsett** - Постфикс для используемого файла настроек. Имя файла должно быть в следующем формате `assets/sett/common-sett_${commsett}.json`
 
+### get параметры дополнительные
+
 Дополнительные GET параметры:
 
 - **chartscript** - Постфикс для имени скрипта `/assets/scripts/highcharts_${chartscript}.js`. Этот файл должен содержать объект `Options` для `Chart`. Подробнее [выше](#использование).
 - **testmode** - Если указан этот ключ, работает в тестовом режиме. Загружаются не данные из сервера, а случайные значения.
+- **max_points** - Максимальное количество точек. Используется в режимах `scalar` и `hdbpp_scalar_upd`. После достижения максимума точки стираются с поздних с каждой операцией добавления новых данных
+- **htmltitle** - Заголовок страницы в браузере. По умолчанию `chart`
+
+### get параметры дополнительные для типа данных
+
+- **procdatatype** - Тип получения и обработки данных. По умолчанию spectrum. Про типы [ниже](#типы-данных)
+
+### get параметры дополнительные для настройки сигнала
 
 Дополнительные GET параметры для сигнала о пришедших данных. Используется SVG circle
 
@@ -83,6 +127,8 @@ var hcscript = {
 - **colorsignal** - Цвет SVG circle. По умолчанию 'green'
 - **timeoutsignal** - Время в миллисекундах на которое высвечивается SVG circle. По умолчанию 200.
 
+### get параметры дополнительные для настроек опций
+
 Дополнительные GET параметры для настроек `Chart.Options`:
 
 - **aliases** - Список псевдонимов для атрибутов. Иначе отображаются имена атрибутов.
@@ -90,6 +136,25 @@ var hcscript = {
 - **chmax** - Установка максимума для YAxis. (number) По умолчанию динамически
 - **ytitle** - Текст заголовка для Y. Если не указаны настройки для заголовка выставляется `fontSize: '15px'`
 
+### get параметры дополнительные для hdbpp
+
+- **hdbpp_time_in_min** - Период времени, за который загружается данные, в минутах. По умолчанию 300
+- **hdbpp_n_points** - Число точек. По умолчанию 300
+
+## типы данных
+
+Тип обрабатываемых и выводимых данных в графиках.
+
+От ENUM_PROC_DATA_TYPE зависит шкала абцисс и процесс обработки и вывода данных
+
+Тип выводится в ключе `procdatatype`. Подробнее [выше](#get-параметры-дополнительные-для-типа-данных)
+
+РўРёРїС‹:
+
+- **spectrum** - Простые данные из TANGO атрибутов типа SPECTRUM. График перерисовывается после каждого обновления данных. (Используется по умолчанию)
+- **scalar** - Данные типа SCALAR. В график добавляются данные из событий. По шкале абцисс время. Максимальное количество данных (точек) для одного атрибута задаётся URL параметром ([max_points](#get-параметры-дополнительные)), либо выставляется значение по умолчанию (300)
+- **hdbpp_scalar_upd** - Данные типа SCALAR. Выводятся данные за указанный последний период времени. В график добавляются данные из событий. По шкале абцисс время. Максимальное количество данных (точек) для одного атрибута задаётся URL параметром ([max_points](#get-параметры-дополнительные)), либо выставляется значение по умолчанию (300). Про возможные параметры для этого режима [выше](#get-параметры-дополнительные-для-hdbpp)
+
 ## test mode
 
 При разработке, в режиме `ng serve` или `ng build --watch` можно тестировать настройки для `Options` в файле `src/app/services/fortest/testchart.ts`. Отслеживание изменений в git этого файла отключено.
diff --git a/index.html b/index.html
index c7d1d7c..e66d840 100644
--- a/index.html
+++ b/index.html
@@ -4,10 +4,10 @@
   <base href="./">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="icon" type="image/x-icon" href="favicon.ico">
-<style>body,html{height:100%;}*{margin:0;padding:0;}</style><link rel="stylesheet" href="styles.ecd935d97fadb41a8920.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.ecd935d97fadb41a8920.css"></noscript></head>
+<style>html,body{height:100%}*{margin:0;padding:0}</style><link rel="stylesheet" href="styles.b9df2f9acc667136.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.b9df2f9acc667136.css"></noscript></head>
 <body>
   <app-root></app-root>
   <div id="errorMessage"></div>
-<script src="runtime.81cf3bbaed406f7ca1af.js" defer></script><script src="polyfills.1f2f1566e92af5c3836d.js" defer></script><script src="main.4c015083ed59b3d241bf.js" defer></script>
+<script src="runtime.64d7520de720f65c.js" type="module"></script><script src="polyfills.29f605221df86351.js" type="module"></script><script src="main.445ed23cd40d4a46.js" type="module"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/main.445ed23cd40d4a46.js b/main.445ed23cd40d4a46.js
new file mode 100644
index 0000000..c4ac7f4
--- /dev/null
+++ b/main.445ed23cd40d4a46.js
@@ -0,0 +1 @@
+(self.webpackChunkhighcharts_spectrum_ang=self.webpackChunkhighcharts_spectrum_ang||[]).push([[179],{901:(Te,hi,Ve)=>{"use strict";function oe(t){return"function"==typeof t}function de(t){const i=t(s=>{Error.call(s),s.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Mt=de(t=>function(i){t(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((s,x)=>`${x+1}) ${s.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=i});function $(t,e){if(t){const i=t.indexOf(e);0<=i&&t.splice(i,1)}}class X{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const B of i)B.remove(this);else i.remove(this);const{initialTeardown:s}=this;if(oe(s))try{s()}catch(B){e=B instanceof Mt?B.errors:[B]}const{_finalizers:x}=this;if(x){this._finalizers=null;for(const B of x)try{rt(B)}catch(Z){e=null!=e?e:[],Z instanceof Mt?e=[...e,...Z.errors]:e.push(Z)}}if(e)throw new Mt(e)}}add(e){var i;if(e&&e!==this)if(this.closed)rt(e);else{if(e instanceof X){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(e)}}_hasParent(e){const{_parentage:i}=this;return i===e||Array.isArray(i)&&i.includes(e)}_addParent(e){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(e),i):i?[i,e]:e}_removeParent(e){const{_parentage:i}=this;i===e?this._parentage=null:Array.isArray(i)&&$(i,e)}remove(e){const{_finalizers:i}=this;i&&$(i,e),e instanceof X&&e._removeParent(this)}}X.EMPTY=(()=>{const t=new X;return t.closed=!0,t})();const Y=X.EMPTY;function et(t){return t instanceof X||t&&"closed"in t&&oe(t.remove)&&oe(t.add)&&oe(t.unsubscribe)}function rt(t){oe(t)?t():t.unsubscribe()}const Q={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},it={setTimeout(t,e,...i){const{delegate:s}=it;return(null==s?void 0:s.setTimeout)?s.setTimeout(t,e,...i):setTimeout(t,e,...i)},clearTimeout(t){const{delegate:e}=it;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function K(t){it.setTimeout(()=>{const{onUnhandledError:e}=Q;if(!e)throw t;e(t)})}function W(){}const F=C("C",void 0,void 0);function C(t,e,i){return{kind:t,value:e,error:i}}let y=null;function S(t){if(Q.useDeprecatedSynchronousErrorHandling){const e=!y;if(e&&(y={errorThrown:!1,error:null}),t(),e){const{errorThrown:i,error:s}=y;if(y=null,i)throw s}}else t()}class E extends X{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,et(e)&&e.add(this)):this.destination=o}static create(e,i,s){return new P(e,i,s)}next(e){this.isStopped?u(function L(t){return C("N",t,void 0)}(e),this):this._next(e)}error(e){this.isStopped?u(function I(t){return C("E",void 0,t)}(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?u(F,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const v=Function.prototype.bind;function k(t,e){return v.call(t,e)}class O{constructor(e){this.partialObserver=e}next(e){const{partialObserver:i}=this;if(i.next)try{i.next(e)}catch(s){g(s)}}error(e){const{partialObserver:i}=this;if(i.error)try{i.error(e)}catch(s){g(s)}else g(e)}complete(){const{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(i){g(i)}}}class P extends E{constructor(e,i,s){let x;if(super(),oe(e)||!e)x={next:null!=e?e:void 0,error:null!=i?i:void 0,complete:null!=s?s:void 0};else{let B;this&&Q.useDeprecatedNextContext?(B=Object.create(e),B.unsubscribe=()=>this.unsubscribe(),x={next:e.next&&k(e.next,B),error:e.error&&k(e.error,B),complete:e.complete&&k(e.complete,B)}):x=e}this.destination=new O(x)}}function g(t){Q.useDeprecatedSynchronousErrorHandling?function M(t){Q.useDeprecatedSynchronousErrorHandling&&y&&(y.errorThrown=!0,y.error=t)}(t):K(t)}function u(t,e){const{onStoppedNotification:i}=Q;i&&it.setTimeout(()=>i(t,e))}const o={closed:!0,next:W,error:function c(t){throw t},complete:W},m="function"==typeof Symbol&&Symbol.observable||"@@observable";function l(t){return t}let r=(()=>{class t{constructor(i){i&&(this._subscribe=i)}lift(i){const s=new t;return s.source=this,s.operator=i,s}subscribe(i,s,x){const B=function w(t){return t&&t instanceof E||function T(t){return t&&oe(t.next)&&oe(t.error)&&oe(t.complete)}(t)&&et(t)}(i)?i:new P(i,s,x);return S(()=>{const{operator:Z,source:nt}=this;B.add(Z?Z.call(B,nt):nt?this._subscribe(B):this._trySubscribe(B))}),B}_trySubscribe(i){try{return this._subscribe(i)}catch(s){i.error(s)}}forEach(i,s){return new(s=f(s))((x,B)=>{const Z=new P({next:nt=>{try{i(nt)}catch(lt){B(lt),Z.unsubscribe()}},error:B,complete:x});this.subscribe(Z)})}_subscribe(i){var s;return null===(s=this.source)||void 0===s?void 0:s.subscribe(i)}[m](){return this}pipe(...i){return function n(t){return 0===t.length?l:1===t.length?t[0]:function(i){return t.reduce((s,x)=>x(s),i)}}(i)(this)}toPromise(i){return new(i=f(i))((s,x)=>{let B;this.subscribe(Z=>B=Z,Z=>x(Z),()=>s(B))})}}return t.create=e=>new t(e),t})();function f(t){var e;return null!==(e=null!=t?t:Q.Promise)&&void 0!==e?e:Promise}const D=de(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let d=(()=>{class t extends r{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const s=new R(this,this);return s.operator=i,s}_throwIfClosed(){if(this.closed)throw new D}next(i){S(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const s of this.currentObservers)s.next(i)}})}error(i){S(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:s}=this;for(;s.length;)s.shift().error(i)}})}complete(){S(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:s,isStopped:x,observers:B}=this;return s||x?Y:(this.currentObservers=null,B.push(i),new X(()=>{this.currentObservers=null,$(B,i)}))}_checkFinalizedStatuses(i){const{hasError:s,thrownError:x,isStopped:B}=this;s?i.error(x):B&&i.complete()}asObservable(){const i=new r;return i.source=this,i}}return t.create=(e,i)=>new R(e,i),t})();class R extends d{constructor(e,i){super(),this.destination=e,this.source=i}next(e){var i,s;null===(s=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===s||s.call(i,e)}error(e){var i,s;null===(s=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===s||s.call(i,e)}complete(){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===i||i.call(e)}_subscribe(e){var i,s;return null!==(s=null===(i=this.source)||void 0===i?void 0:i.subscribe(e))&&void 0!==s?s:Y}}function a(t){return oe(null==t?void 0:t.lift)}function h(t){return e=>{if(a(e))return e.lift(function(i){try{return t(i,this)}catch(s){this.error(s)}});throw new TypeError("Unable to lift unknown Observable type")}}function A(t,e,i,s,x){return new j(t,e,i,s,x)}class j extends E{constructor(e,i,s,x,B,Z){super(e),this.onFinalize=B,this.shouldUnsubscribe=Z,this._next=i?function(nt){try{i(nt)}catch(lt){e.error(lt)}}:super._next,this._error=x?function(nt){try{x(nt)}catch(lt){e.error(lt)}finally{this.unsubscribe()}}:super._error,this._complete=s?function(){try{s()}catch(nt){e.error(nt)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}}}function z(t,e){return h((i,s)=>{let x=0;i.subscribe(A(s,B=>{s.next(t.call(e,B,x++))}))})}function q(t){return this instanceof q?(this.v=t,this):new q(t)}function st(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var x,s=i.apply(t,e||[]),B=[];return x={},Z("next"),Z("throw"),Z("return"),x[Symbol.asyncIterator]=function(){return this},x;function Z(wt){s[wt]&&(x[wt]=function(At){return new Promise(function(Dt,_t){B.push([wt,At,Dt,_t])>1||nt(wt,At)})})}function nt(wt,At){try{!function lt(wt){wt.value instanceof q?Promise.resolve(wt.value.v).then(pt,vt):bt(B[0][2],wt)}(s[wt](At))}catch(Dt){bt(B[0][3],Dt)}}function pt(wt){nt("next",wt)}function vt(wt){nt("throw",wt)}function bt(wt,At){wt(At),B.shift(),B.length&&nt(B[0][0],B[0][1])}}function dt(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,e=t[Symbol.asyncIterator];return e?e.call(t):(t=function mt(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],s=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&s>=t.length&&(t=void 0),{value:t&&t[s++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i);function s(B){i[B]=t[B]&&function(Z){return new Promise(function(nt,lt){!function x(B,Z,nt,lt){Promise.resolve(lt).then(function(pt){B({value:pt,done:nt})},Z)}(nt,lt,(Z=t[B](Z)).done,Z.value)})}}}const Pt=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function Lt(t){return oe(null==t?void 0:t.then)}function Tt(t){return oe(t[m])}function zt(t){return Symbol.asyncIterator&&oe(null==t?void 0:t[Symbol.asyncIterator])}function Ht(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Vt=function Rt(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function ne(t){return oe(null==t?void 0:t[Vt])}function Ft(t){return st(this,arguments,function*(){const i=t.getReader();try{for(;;){const{value:s,done:x}=yield q(i.read());if(x)return yield q(void 0);yield yield q(s)}}finally{i.releaseLock()}})}function Zt(t){return oe(null==t?void 0:t.getReader)}function ue(t){if(t instanceof r)return t;if(null!=t){if(Tt(t))return function r0(t){return new r(e=>{const i=t[m]();if(oe(i.subscribe))return i.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(Pt(t))return function o0(t){return new r(e=>{for(let i=0;i<t.length&&!e.closed;i++)e.next(t[i]);e.complete()})}(t);if(Lt(t))return function s0(t){return new r(e=>{t.then(i=>{e.closed||(e.next(i),e.complete())},i=>e.error(i)).then(null,K)})}(t);if(zt(t))return ru(t);if(ne(t))return function a0(t){return new r(e=>{for(const i of t)if(e.next(i),e.closed)return;e.complete()})}(t);if(Zt(t))return function l0(t){return ru(Ft(t))}(t)}throw Ht(t)}function ru(t){return new r(e=>{(function h0(t,e){var i,s,x,B;return function J(t,e,i,s){return new(i||(i=Promise))(function(B,Z){function nt(vt){try{pt(s.next(vt))}catch(bt){Z(bt)}}function lt(vt){try{pt(s.throw(vt))}catch(bt){Z(bt)}}function pt(vt){vt.done?B(vt.value):function x(B){return B instanceof i?B:new i(function(Z){Z(B)})}(vt.value).then(nt,lt)}pt((s=s.apply(t,e||[])).next())})}(this,void 0,void 0,function*(){try{for(i=dt(t);!(s=yield i.next()).done;)if(e.next(s.value),e.closed)return}catch(Z){x={error:Z}}finally{try{s&&!s.done&&(B=i.return)&&(yield B.call(i))}finally{if(x)throw x.error}}e.complete()})})(t,e).catch(i=>e.error(i))})}function an(t,e,i,s=0,x=!1){const B=e.schedule(function(){i(),x?t.add(this.schedule(null,s)):this.unsubscribe()},s);if(t.add(B),!x)return B}function Ge(t,e,i=1/0){return oe(e)?Ge((s,x)=>z((B,Z)=>e(s,B,x,Z))(ue(t(s,x))),i):("number"==typeof e&&(i=e),h((s,x)=>function c0(t,e,i,s,x,B,Z,nt){const lt=[];let pt=0,vt=0,bt=!1;const wt=()=>{bt&&!lt.length&&!pt&&e.complete()},At=_t=>pt<s?Dt(_t):lt.push(_t),Dt=_t=>{B&&e.next(_t),pt++;let Bt=!1;ue(i(_t,vt++)).subscribe(A(e,Nt=>{null==x||x(Nt),B?At(Nt):e.next(Nt)},()=>{Bt=!0},void 0,()=>{if(Bt)try{for(pt--;lt.length&&pt<s;){const Nt=lt.shift();Z?an(e,Z,()=>Dt(Nt)):Dt(Nt)}wt()}catch(Nt){e.error(Nt)}}))};return t.subscribe(A(e,At,()=>{bt=!0,wt()})),()=>{null==nt||nt()}}(s,x,t,i)))}function to(t=1/0){return Ge(l,t)}const ln=new r(t=>t.complete());function ou(t){return t&&oe(t.schedule)}function el(t){return t[t.length-1]}function eo(t){return ou(el(t))?t.pop():void 0}function su(t,e=0){return h((i,s)=>{i.subscribe(A(s,x=>an(s,t,()=>s.next(x),e),()=>an(s,t,()=>s.complete(),e),x=>an(s,t,()=>s.error(x),e)))})}function au(t,e=0){return h((i,s)=>{s.add(t.schedule(()=>i.subscribe(s),e))})}function lu(t,e){if(!t)throw new Error("Iterable cannot be null");return new r(i=>{an(i,e,()=>{const s=t[Symbol.asyncIterator]();an(i,e,()=>{s.next().then(x=>{x.done?i.complete():i.next(x.value)})},0,!0)})})}function Xe(t,e){return e?function x0(t,e){if(null!=t){if(Tt(t))return function f0(t,e){return ue(t).pipe(au(e),su(e))}(t,e);if(Pt(t))return function m0(t,e){return new r(i=>{let s=0;return e.schedule(function(){s===t.length?i.complete():(i.next(t[s++]),i.closed||this.schedule())})})}(t,e);if(Lt(t))return function g0(t,e){return ue(t).pipe(au(e),su(e))}(t,e);if(zt(t))return lu(t,e);if(ne(t))return function y0(t,e){return new r(i=>{let s;return an(i,e,()=>{s=t[Vt](),an(i,e,()=>{let x,B;try{({value:x,done:B}=s.next())}catch(Z){return void i.error(Z)}B?i.complete():i.next(x)},0,!0)}),()=>oe(null==s?void 0:s.return)&&s.return()})}(t,e);if(Zt(t))return function v0(t,e){return lu(Ft(t),e)}(t,e)}throw Ht(t)}(t,e):ue(t)}function io(t){return t<=0?()=>ln:h((e,i)=>{let s=0;e.subscribe(A(i,x=>{++s<=t&&(i.next(x),t<=s&&i.complete())}))})}function il(t,e,...i){return!0===e?(t(),null):!1===e?null:e(...i).pipe(io(1)).subscribe(()=>t())}function Ce(t){for(let e in t)if(t[e]===Ce)return e;throw Error("Could not find renamed property on target object.")}function xe(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(xe).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const i=e.indexOf("\n");return-1===i?e:e.substring(0,i)}function rl(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const M0=Ce({__forward_ref__:Ce});function ol(t){return t.__forward_ref__=ol,t.toString=function(){return xe(this())},t}function se(t){return function hu(t){return"function"==typeof t&&t.hasOwnProperty(M0)&&t.__forward_ref__===ol}(t)?t():t}class ve extends Error{constructor(e,i){super(function sl(t,e){return`NG0${Math.abs(t)}${e?": "+e:""}`}(e,i)),this.code=e}}function Ye(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():function te(t){return"string"==typeof t?t:null==t?"":String(t)}(t)}function us(t,e){const i=e?` in ${e}`:"";throw new ve(-201,`No provider for ${Ye(t)} found${i}`)}function gi(t,e){null==t&&function Ae(t,e,i,s){throw new Error(`ASSERTION ERROR: ${t}`+(null==s?"":` [Expected=> ${i} ${s} ${e} <=Actual]`))}(e,t,null,"!=")}function Kt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Ii(t){return{providers:t.providers||[],imports:t.imports||[]}}function al(t){return cu(t,ps)||cu(t,uu)}function cu(t,e){return t.hasOwnProperty(e)?t[e]:null}function du(t){return t&&(t.hasOwnProperty(ll)||t.hasOwnProperty(D0))?t[ll]:null}const ps=Ce({\u0275prov:Ce}),ll=Ce({\u0275inj:Ce}),uu=Ce({ngInjectableDef:Ce}),D0=Ce({ngInjectorDef:Ce});var Jt=(()=>((Jt=Jt||{})[Jt.Default=0]="Default",Jt[Jt.Host=1]="Host",Jt[Jt.Self=2]="Self",Jt[Jt.SkipSelf=4]="SkipSelf",Jt[Jt.Optional=8]="Optional",Jt))();let hl;function Sn(t){const e=hl;return hl=t,e}function pu(t,e,i){const s=al(t);return s&&"root"==s.providedIn?void 0===s.value?s.value=s.factory():s.value:i&Jt.Optional?null:void 0!==e?e:void us(xe(t),"Injector")}function An(t){return{toString:t}.toString()}var _i=(()=>((_i=_i||{})[_i.OnPush=0]="OnPush",_i[_i.Default=1]="Default",_i))(),Yi=(()=>{return(t=Yi||(Yi={}))[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",Yi;var t})();const O0="undefined"!=typeof globalThis&&globalThis,L0="undefined"!=typeof window&&window,I0="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,be=O0||"undefined"!=typeof global&&global||L0||I0,sr={},Me=[],fs=Ce({\u0275cmp:Ce}),cl=Ce({\u0275dir:Ce}),dl=Ce({\u0275pipe:Ce}),fu=Ce({\u0275mod:Ce}),cn=Ce({\u0275fac:Ce}),no=Ce({__NG_ELEMENT_ID__:Ce});let _0=0;function ro(t){return An(()=>{const i={},s={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===_i.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||Me,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Yi.Emulated,id:"c",styles:t.styles||Me,_:null,setInput:null,schemas:t.schemas||null,tView:null},x=t.directives,B=t.features,Z=t.pipes;return s.id+=_0++,s.inputs=vu(t.inputs,i),s.outputs=vu(t.outputs),B&&B.forEach(nt=>nt(s)),s.directiveDefs=x?()=>("function"==typeof x?x():x).map(gu):null,s.pipeDefs=Z?()=>("function"==typeof Z?Z():Z).map(mu):null,s})}function gu(t){return qe(t)||function kn(t){return t[cl]||null}(t)}function mu(t){return function Hn(t){return t[dl]||null}(t)}const yu={};function $i(t){return An(()=>{const e={type:t.type,bootstrap:t.bootstrap||Me,declarations:t.declarations||Me,imports:t.imports||Me,exports:t.exports||Me,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(yu[t.id]=t.type),e})}function vu(t,e){if(null==t)return sr;const i={};for(const s in t)if(t.hasOwnProperty(s)){let x=t[s],B=x;Array.isArray(x)&&(B=x[1],x=x[0]),i[x]=s,e&&(e[x]=B)}return i}const $e=ro;function qe(t){return t[fs]||null}function Si(t,e){const i=t[fu]||null;if(!i&&!0===e)throw new Error(`Type ${xe(t)} does not have '\u0275mod' property.`);return i}function Zi(t){return Array.isArray(t)&&"object"==typeof t[1]}function ji(t){return Array.isArray(t)&&!0===t[1]}function fl(t){return 0!=(8&t.flags)}function vs(t){return 2==(2&t.flags)}function Ni(t){return null!==t.template}function z0(t){return 0!=(512&t[2])}function Vn(t,e){return t.hasOwnProperty(cn)?t[cn]:null}class G0{constructor(e,i,s){this.previousValue=e,this.currentValue=i,this.firstChange=s}isFirstChange(){return this.firstChange}}function Tn(){return bu}function bu(t){return t.type.prototype.ngOnChanges&&(t.setInput=V0),U0}function U0(){const t=Mu(this),e=null==t?void 0:t.current;if(e){const i=t.previous;if(i===sr)t.previous=e;else for(let s in e)i[s]=e[s];t.current=null,this.ngOnChanges(e)}}function V0(t,e,i,s){const x=Mu(t)||function X0(t,e){return t[Cu]=e}(t,{previous:sr,current:null}),B=x.current||(x.current={}),Z=x.previous,nt=this.declaredInputs[i],lt=Z[nt];B[nt]=new G0(lt&&lt.currentValue,e,Z===sr),t[s]=e}Tn.ngInherit=!0;const Cu="__ngSimpleChanges__";function Mu(t){return t[Cu]||null}let xl;function De(t){return!!t.listen}const wu={createRenderer:(t,e)=>function bl(){return void 0!==xl?xl:"undefined"!=typeof document?document:void 0}()};function _e(t){for(;Array.isArray(t);)t=t[0];return t}function Ti(t,e){return _e(e[t.index])}function Cl(t,e){return t.data[e]}function yi(t,e){const i=e[t];return Zi(i)?i:i[0]}function Ml(t){return 128==(128&t[2])}function En(t,e){return null==e?null:t[e]}function Au(t){t[18]=0}function wl(t,e){t[5]+=e;let i=t,s=t[3];for(;null!==s&&(1===e&&1===i[5]||-1===e&&0===i[5]);)s[5]+=e,i=s,s=s[3]}const Qt={lFrame:Iu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ku(){return Qt.bindingsEnabled}function jt(){return Qt.lFrame.lView}function me(){return Qt.lFrame.tView}function Fe(){let t=Tu();for(;null!==t&&64===t.type;)t=t.parent;return t}function Tu(){return Qt.lFrame.currentTNode}function Ki(t,e){const i=Qt.lFrame;i.currentTNode=t,i.isParent=e}function Sl(){return Qt.lFrame.isParent}function Cs(){return Qt.isInCheckNoChangesMode}function Ms(t){Qt.isInCheckNoChangesMode=t}function cb(t,e){const i=Qt.lFrame;i.bindingIndex=i.bindingRootIndex=t,kl(e)}function kl(t){Qt.lFrame.currentDirectiveIndex=t}function El(t){Qt.lFrame.currentQueryIndex=t}function ub(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function Ou(t,e,i){if(i&Jt.SkipSelf){let x=e,B=t;for(;!(x=x.parent,null!==x||i&Jt.Host||(x=ub(B),null===x||(B=B[15],10&x.type))););if(null===x)return!1;e=x,t=B}const s=Qt.lFrame=Lu();return s.currentTNode=e,s.lView=t,!0}function ws(t){const e=Lu(),i=t[1];Qt.lFrame=e,e.currentTNode=i.firstChild,e.lView=t,e.tView=i,e.contextLView=t,e.bindingIndex=i.bindingStartIndex,e.inI18n=!1}function Lu(){const t=Qt.lFrame,e=null===t?null:t.child;return null===e?Iu(t):e}function Iu(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function _u(){const t=Qt.lFrame;return Qt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ru=_u;function Ss(){const t=_u();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Dn(t){Qt.lFrame.selectedIndex=t}function As(t,e){for(let i=e.directiveStart,s=e.directiveEnd;i<s;i++){const B=t.data[i].type.prototype,{ngAfterContentInit:Z,ngAfterContentChecked:nt,ngAfterViewInit:lt,ngAfterViewChecked:pt,ngOnDestroy:vt}=B;Z&&(t.contentHooks||(t.contentHooks=[])).push(-i,Z),nt&&((t.contentHooks||(t.contentHooks=[])).push(i,nt),(t.contentCheckHooks||(t.contentCheckHooks=[])).push(i,nt)),lt&&(t.viewHooks||(t.viewHooks=[])).push(-i,lt),pt&&((t.viewHooks||(t.viewHooks=[])).push(i,pt),(t.viewCheckHooks||(t.viewCheckHooks=[])).push(i,pt)),null!=vt&&(t.destroyHooks||(t.destroyHooks=[])).push(i,vt)}}function ks(t,e,i){ju(t,e,3,i)}function Ts(t,e,i,s){(3&t[2])===i&&ju(t,e,i,s)}function Dl(t,e){let i=t[2];(3&i)===e&&(i&=2047,i+=1,t[2]=i)}function ju(t,e,i,s){const B=null!=s?s:-1,Z=e.length-1;let nt=0;for(let lt=void 0!==s?65535&t[18]:0;lt<Z;lt++)if("number"==typeof e[lt+1]){if(nt=e[lt],null!=s&&nt>=s)break}else e[lt]<0&&(t[18]+=65536),(nt<B||-1==B)&&(Cb(t,i,e,lt),t[18]=(4294901760&t[18])+lt+2),lt++}function Cb(t,e,i,s){const x=i[s]<0,B=i[s+1],nt=t[x?-i[s]:i[s]];if(x){if(t[2]>>11<t[18]>>16&&(3&t[2])===e){t[2]+=2048;try{B.call(nt)}finally{}}}else try{B.call(nt)}finally{}}class ho{constructor(e,i,s){this.factory=e,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=s}}function Es(t,e,i){const s=De(t);let x=0;for(;x<i.length;){const B=i[x];if("number"==typeof B){if(0!==B)break;x++;const Z=i[x++],nt=i[x++],lt=i[x++];s?t.setAttribute(e,nt,lt,Z):e.setAttributeNS(Z,nt,lt)}else{const Z=B,nt=i[++x];Ol(Z)?s&&t.setProperty(e,Z,nt):s?t.setAttribute(e,Z,nt):e.setAttribute(Z,nt),x++}}return x}function Nu(t){return 3===t||4===t||6===t}function Ol(t){return 64===t.charCodeAt(0)}function Ds(t,e){if(null!==e&&0!==e.length)if(null===t||0===t.length)t=e.slice();else{let i=-1;for(let s=0;s<e.length;s++){const x=e[s];"number"==typeof x?i=x:0===i||Bu(t,i,x,null,-1===i||2===i?e[++s]:null)}}return t}function Bu(t,e,i,s,x){let B=0,Z=t.length;if(-1===e)Z=-1;else for(;B<t.length;){const nt=t[B++];if("number"==typeof nt){if(nt===e){Z=-1;break}if(nt>e){Z=B-1;break}}}for(;B<t.length;){const nt=t[B];if("number"==typeof nt)break;if(nt===i){if(null===s)return void(null!==x&&(t[B+1]=x));if(s===t[B+1])return void(t[B+2]=x)}B++,null!==s&&B++,null!==x&&B++}-1!==Z&&(t.splice(Z,0,e),B=Z+1),t.splice(B++,0,i),null!==s&&t.splice(B++,0,s),null!==x&&t.splice(B++,0,x)}function Fu(t){return-1!==t}function pr(t){return 32767&t}function fr(t,e){let i=function kb(t){return t>>16}(t),s=e;for(;i>0;)s=s[15],i--;return s}let Ll=!0;function Ps(t){const e=Ll;return Ll=t,e}let Tb=0;function uo(t,e){const i=_l(t,e);if(-1!==i)return i;const s=e[1];s.firstCreatePass&&(t.injectorIndex=e.length,Il(s.data,t),Il(e,null),Il(s.blueprint,null));const x=Os(t,e),B=t.injectorIndex;if(Fu(x)){const Z=pr(x),nt=fr(x,e),lt=nt[1].data;for(let pt=0;pt<8;pt++)e[B+pt]=nt[Z+pt]|lt[Z+pt]}return e[B+8]=x,B}function Il(t,e){t.push(0,0,0,0,0,0,0,0,e)}function _l(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function Os(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let i=0,s=null,x=e;for(;null!==x;){const B=x[1],Z=B.type;if(s=2===Z?B.declTNode:1===Z?x[6]:null,null===s)return-1;if(i++,x=x[15],-1!==s.injectorIndex)return s.injectorIndex|i<<16}return-1}function Ls(t,e,i){!function Eb(t,e,i){let s;"string"==typeof i?s=i.charCodeAt(0)||0:i.hasOwnProperty(no)&&(s=i[no]),null==s&&(s=i[no]=Tb++);const x=255&s;e.data[t+(x>>5)]|=1<<x}(t,e,i)}function Wu(t,e,i){if(i&Jt.Optional)return t;us(e,"NodeInjector")}function Gu(t,e,i,s){if(i&Jt.Optional&&void 0===s&&(s=null),0==(i&(Jt.Self|Jt.Host))){const x=t[9],B=Sn(void 0);try{return x?x.get(e,s,i&Jt.Optional):pu(e,s,i&Jt.Optional)}finally{Sn(B)}}return Wu(s,e,i)}function Uu(t,e,i,s=Jt.Default,x){if(null!==t){const B=function Lb(t){if("string"==typeof t)return t.charCodeAt(0)||0;const e=t.hasOwnProperty(no)?t[no]:void 0;return"number"==typeof e?e>=0?255&e:Pb:e}(i);if("function"==typeof B){if(!Ou(e,t,s))return s&Jt.Host?Wu(x,i,s):Gu(e,i,s,x);try{const Z=B(s);if(null!=Z||s&Jt.Optional)return Z;us(i)}finally{Ru()}}else if("number"==typeof B){let Z=null,nt=_l(t,e),lt=-1,pt=s&Jt.Host?e[16][6]:null;for((-1===nt||s&Jt.SkipSelf)&&(lt=-1===nt?Os(t,e):e[nt+8],-1!==lt&&Yu(s,!1)?(Z=e[1],nt=pr(lt),e=fr(lt,e)):nt=-1);-1!==nt;){const vt=e[1];if(Xu(B,nt,vt.data)){const bt=Ob(nt,e,i,Z,s,pt);if(bt!==Vu)return bt}lt=e[nt+8],-1!==lt&&Yu(s,e[1].data[nt+8]===pt)&&Xu(B,nt,e)?(Z=vt,nt=pr(lt),e=fr(lt,e)):nt=-1}}}return Gu(e,i,s,x)}const Vu={};function Pb(){return new gr(Fe(),jt())}function Ob(t,e,i,s,x,B){const Z=e[1],nt=Z.data[t+8],vt=function Is(t,e,i,s,x){const B=t.providerIndexes,Z=e.data,nt=1048575&B,lt=t.directiveStart,vt=B>>20,wt=x?nt+vt:t.directiveEnd;for(let At=s?nt:nt+vt;At<wt;At++){const Dt=Z[At];if(At<lt&&i===Dt||At>=lt&&Dt.type===i)return At}if(x){const At=Z[lt];if(At&&Ni(At)&&At.type===i)return lt}return null}(nt,Z,i,null==s?vs(nt)&&Ll:s!=Z&&0!=(3&nt.type),x&Jt.Host&&B===nt);return null!==vt?po(e,Z,vt,nt):Vu}function po(t,e,i,s){let x=t[i];const B=e.data;if(function Mb(t){return t instanceof ho}(x)){const Z=x;Z.resolving&&function w0(t,e){const i=e?`. Dependency path: ${e.join(" > ")} > ${t}`:"";throw new ve(-200,`Circular dependency in DI detected for ${t}${i}`)}(Ye(B[i]));const nt=Ps(Z.canSeeViewProviders);Z.resolving=!0;const lt=Z.injectImpl?Sn(Z.injectImpl):null;Ou(t,s,Jt.Default);try{x=t[i]=Z.factory(void 0,B,t,s),e.firstCreatePass&&i>=s.directiveStart&&function bb(t,e,i){const{ngOnChanges:s,ngOnInit:x,ngDoCheck:B}=e.type.prototype;if(s){const Z=bu(e);(i.preOrderHooks||(i.preOrderHooks=[])).push(t,Z),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,Z)}x&&(i.preOrderHooks||(i.preOrderHooks=[])).push(0-t,x),B&&((i.preOrderHooks||(i.preOrderHooks=[])).push(t,B),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,B))}(i,B[i],e)}finally{null!==lt&&Sn(lt),Ps(nt),Z.resolving=!1,Ru()}}return x}function Xu(t,e,i){return!!(i[e+(t>>5)]&1<<t)}function Yu(t,e){return!(t&Jt.Self||t&Jt.Host&&e)}class gr{constructor(e,i){this._tNode=e,this._lView=i}get(e,i,s){return Uu(this._tNode,this._lView,e,s,i)}}const yr="__parameters__";function xr(t,e,i){return An(()=>{const s=function jl(t){return function(...i){if(t){const s=t(...i);for(const x in s)this[x]=s[x]}}}(e);function x(...B){if(this instanceof x)return s.apply(this,B),this;const Z=new x(...B);return nt.annotation=Z,nt;function nt(lt,pt,vt){const bt=lt.hasOwnProperty(yr)?lt[yr]:Object.defineProperty(lt,yr,{value:[]})[yr];for(;bt.length<=vt;)bt.push(null);return(bt[vt]=bt[vt]||[]).push(Z),lt}}return i&&(x.prototype=Object.create(i.prototype)),x.prototype.ngMetadataName=t,x.annotationCls=x,x})}class pe{constructor(e,i){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=Kt({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Rb=new pe("AnalyzeForEntryComponents");function qi(t,e){t.forEach(i=>Array.isArray(i)?qi(i,e):e(i))}function Zu(t,e,i){e>=t.length?t.push(i):t.splice(e,0,i)}function _s(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}const vo={},zl="__NG_DI_FLAG__",js="ngTempTokenPath",Vb=/\n/gm,tp="__source",Yb=Ce({provide:String,useValue:Ce});let xo;function ep(t){const e=xo;return xo=t,e}function $b(t,e=Jt.Default){if(void 0===xo)throw new ve(203,"");return null===xo?pu(t,void 0,e):xo.get(t,e&Jt.Optional?null:void 0,e)}function Gt(t,e=Jt.Default){return(function P0(){return hl}()||$b)(se(t),e)}const Zb=Gt;function Hl(t){const e=[];for(let i=0;i<t.length;i++){const s=se(t[i]);if(Array.isArray(s)){if(0===s.length)throw new ve(900,"");let x,B=Jt.Default;for(let Z=0;Z<s.length;Z++){const nt=s[Z],lt=Kb(nt);"number"==typeof lt?-1===lt?x=nt.token:B|=lt:x=nt}e.push(Gt(x,B))}else e.push(Gt(s))}return e}function bo(t,e){return t[zl]=e,t.prototype[zl]=e,t}function Kb(t){return t[zl]}const Ns=bo(xr("Inject",t=>({token:t})),-1),On=bo(xr("Optional"),8),Co=bo(xr("SkipSelf"),4),bp="__ngContext__";function Je(t,e){t[bp]=e}function ql(t){const e=function ko(t){return t[bp]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Jl(t){return t.ngOriginalError}function WC(t,...e){t.error(...e)}class To{constructor(){this._console=console}handleError(e){const i=this._findOriginalError(e),s=function HC(t){return t&&t.ngErrorLogger||WC}(e);s(this._console,"ERROR",e),i&&s(this._console,"ORIGINAL ERROR",i)}_findOriginalError(e){let i=e&&Jl(e);for(;i&&Jl(i);)i=Jl(i);return i||null}}const QC=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(be))();function Ji(t){return t instanceof Function?t():t}var xi=(()=>((xi=xi||{})[xi.Important=1]="Important",xi[xi.DashCase=2]="DashCase",xi))();function eh(t,e){return undefined(t,e)}function Eo(t){const e=t[3];return ji(e)?e[3]:e}function ih(t){return Dp(t[13])}function nh(t){return Dp(t[4])}function Dp(t){for(;null!==t&&!ji(t);)t=t[4];return t}function Sr(t,e,i,s,x){if(null!=s){let B,Z=!1;ji(s)?B=s:Zi(s)&&(Z=!0,s=s[0]);const nt=_e(s);0===t&&null!==i?null==x?Rp(e,i,nt):Xn(e,i,nt,x||null,!0):1===t&&null!==i?Xn(e,i,nt,x||null,!0):2===t?function Wp(t,e,i){const s=Gs(t,e);s&&function u1(t,e,i,s){De(t)?t.removeChild(e,i,s):e.removeChild(i)}(t,s,e,i)}(e,nt,Z):3===t&&e.destroyNode(nt),null!=B&&function g1(t,e,i,s,x){const B=i[7];B!==_e(i)&&Sr(e,t,s,B,x);for(let nt=10;nt<i.length;nt++){const lt=i[nt];Do(lt[1],lt,t,e,s,B)}}(e,t,B,i,x)}}function oh(t,e,i){if(De(t))return t.createElement(e,i);{const s=null!==i?function K0(t){const e=t.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(i):null;return null===s?t.createElement(e):t.createElementNS(s,e)}}function Op(t,e){const i=t[9],s=i.indexOf(e),x=e[3];1024&e[2]&&(e[2]&=-1025,wl(x,-1)),i.splice(s,1)}function sh(t,e){if(t.length<=10)return;const i=10+e,s=t[i];if(s){const x=s[17];null!==x&&x!==t&&Op(x,s),e>0&&(t[i-1][4]=s[4]);const B=_s(t,10+e);!function r1(t,e){Do(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(s[1],s);const Z=B[19];null!==Z&&Z.detachView(B[1]),s[3]=null,s[4]=null,s[2]&=-129}return s}function Lp(t,e){if(!(256&e[2])){const i=e[11];De(i)&&i.destroyNode&&Do(t,e,i,3,null,null),function a1(t){let e=t[13];if(!e)return ah(t[1],t);for(;e;){let i=null;if(Zi(e))i=e[13];else{const s=e[10];s&&(i=s)}if(!i){for(;e&&!e[4]&&e!==t;)Zi(e)&&ah(e[1],e),e=e[3];null===e&&(e=t),Zi(e)&&ah(e[1],e),i=e&&e[4]}e=i}}(e)}}function ah(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function d1(t,e){let i;if(null!=t&&null!=(i=t.destroyHooks))for(let s=0;s<i.length;s+=2){const x=e[i[s]];if(!(x instanceof ho)){const B=i[s+1];if(Array.isArray(B))for(let Z=0;Z<B.length;Z+=2){const nt=x[B[Z]],lt=B[Z+1];try{lt.call(nt)}finally{}}else try{B.call(x)}finally{}}}}(t,e),function c1(t,e){const i=t.cleanup,s=e[7];let x=-1;if(null!==i)for(let B=0;B<i.length-1;B+=2)if("string"==typeof i[B]){const Z=i[B+1],nt="function"==typeof Z?Z(e):_e(e[Z]),lt=s[x=i[B+2]],pt=i[B+3];"boolean"==typeof pt?nt.removeEventListener(i[B],lt,pt):pt>=0?s[x=pt]():s[x=-pt].unsubscribe(),B+=2}else{const Z=s[x=i[B+1]];i[B].call(Z)}if(null!==s){for(let B=x+1;B<s.length;B++)s[B]();e[7]=null}}(t,e),1===e[1].type&&De(e[11])&&e[11].destroy();const i=e[17];if(null!==i&&ji(e[3])){i!==e[3]&&Op(i,e);const s=e[19];null!==s&&s.detachView(t)}}}function Ip(t,e,i){return function _p(t,e,i){let s=e;for(;null!==s&&40&s.type;)s=(e=s).parent;if(null===s)return i[0];if(2&s.flags){const x=t.data[s.directiveStart].encapsulation;if(x===Yi.None||x===Yi.Emulated)return null}return Ti(s,i)}(t,e.parent,i)}function Xn(t,e,i,s,x){De(t)?t.insertBefore(e,i,s,x):e.insertBefore(i,s,x)}function Rp(t,e,i){De(t)?t.appendChild(e,i):e.appendChild(i)}function jp(t,e,i,s,x){null!==s?Xn(t,e,i,s,x):Rp(t,e,i)}function Gs(t,e){return De(t)?t.parentNode(e):e.parentNode}let Fp=function Bp(t,e,i){return 40&t.type?Ti(t,i):null};function Us(t,e,i,s){const x=Ip(t,s,e),B=e[11],nt=function Np(t,e,i){return Fp(t,e,i)}(s.parent||e[6],s,e);if(null!=x)if(Array.isArray(i))for(let lt=0;lt<i.length;lt++)jp(B,x,i[lt],nt,!1);else jp(B,x,i,nt,!1)}function Vs(t,e){if(null!==e){const i=e.type;if(3&i)return Ti(e,t);if(4&i)return hh(-1,t[e.index]);if(8&i){const s=e.child;if(null!==s)return Vs(t,s);{const x=t[e.index];return ji(x)?hh(-1,x):_e(x)}}if(32&i)return eh(e,t)()||_e(t[e.index]);{const s=Hp(t,e);return null!==s?Array.isArray(s)?s[0]:Vs(Eo(t[16]),s):Vs(t,e.next)}}return null}function Hp(t,e){return null!==e?t[16][6].projection[e.projection]:null}function hh(t,e){const i=10+t+1;if(i<e.length){const s=e[i],x=s[1].firstChild;if(null!==x)return Vs(s,x)}return e[7]}function ch(t,e,i,s,x,B,Z){for(;null!=i;){const nt=s[i.index],lt=i.type;if(Z&&0===e&&(nt&&Je(_e(nt),s),i.flags|=4),64!=(64&i.flags))if(8&lt)ch(t,e,i.child,s,x,B,!1),Sr(e,t,x,nt,B);else if(32&lt){const pt=eh(i,s);let vt;for(;vt=pt();)Sr(e,t,x,vt,B);Sr(e,t,x,nt,B)}else 16&lt?Gp(t,e,s,i,x,B):Sr(e,t,x,nt,B);i=Z?i.projectionNext:i.next}}function Do(t,e,i,s,x,B){ch(i,s,t.firstChild,e,x,B,!1)}function Gp(t,e,i,s,x,B){const Z=i[16],lt=Z[6].projection[s.projection];if(Array.isArray(lt))for(let pt=0;pt<lt.length;pt++)Sr(e,t,x,lt[pt],B);else ch(t,e,lt,Z[3],x,B,!0)}function Up(t,e,i){De(t)?t.setAttribute(e,"style",i):e.style.cssText=i}function dh(t,e,i){De(t)?""===i?t.removeAttribute(e,"class"):t.setAttribute(e,"class",i):e.className=i}function Vp(t,e,i){let s=t.length;for(;;){const x=t.indexOf(e,i);if(-1===x)return x;if(0===x||t.charCodeAt(x-1)<=32){const B=e.length;if(x+B===s||t.charCodeAt(x+B)<=32)return x}i=x+1}}const Xp="ng-template";function y1(t,e,i){let s=0;for(;s<t.length;){let x=t[s++];if(i&&"class"===x){if(x=t[s],-1!==Vp(x.toLowerCase(),e,0))return!0}else if(1===x){for(;s<t.length&&"string"==typeof(x=t[s++]);)if(x.toLowerCase()===e)return!0;return!1}}return!1}function Yp(t){return 4===t.type&&t.value!==Xp}function v1(t,e,i){return e===(4!==t.type||i?t.value:Xp)}function x1(t,e,i){let s=4;const x=t.attrs||[],B=function M1(t){for(let e=0;e<t.length;e++)if(Nu(t[e]))return e;return t.length}(x);let Z=!1;for(let nt=0;nt<e.length;nt++){const lt=e[nt];if("number"!=typeof lt){if(!Z)if(4&s){if(s=2|1&s,""!==lt&&!v1(t,lt,i)||""===lt&&1===e.length){if(Bi(s))return!1;Z=!0}}else{const pt=8&s?lt:e[++nt];if(8&s&&null!==t.attrs){if(!y1(t.attrs,pt,i)){if(Bi(s))return!1;Z=!0}continue}const bt=b1(8&s?"class":lt,x,Yp(t),i);if(-1===bt){if(Bi(s))return!1;Z=!0;continue}if(""!==pt){let wt;wt=bt>B?"":x[bt+1].toLowerCase();const At=8&s?wt:null;if(At&&-1!==Vp(At,pt,0)||2&s&&pt!==wt){if(Bi(s))return!1;Z=!0}}}}else{if(!Z&&!Bi(s)&&!Bi(lt))return!1;if(Z&&Bi(lt))continue;Z=!1,s=lt|1&s}}return Bi(s)||Z}function Bi(t){return 0==(1&t)}function b1(t,e,i,s){if(null===e)return-1;let x=0;if(s||!i){let B=!1;for(;x<e.length;){const Z=e[x];if(Z===t)return x;if(3===Z||6===Z)B=!0;else{if(1===Z||2===Z){let nt=e[++x];for(;"string"==typeof nt;)nt=e[++x];continue}if(4===Z)break;if(0===Z){x+=4;continue}}x+=B?1:2}return-1}return function w1(t,e){let i=t.indexOf(4);if(i>-1)for(i++;i<t.length;){const s=t[i];if("number"==typeof s)return-1;if(s===e)return i;i++}return-1}(e,t)}function $p(t,e,i=!1){for(let s=0;s<e.length;s++)if(x1(t,e[s],i))return!0;return!1}function Zp(t,e){return t?":not("+e.trim()+")":e}function A1(t){let e=t[0],i=1,s=2,x="",B=!1;for(;i<t.length;){let Z=t[i];if("string"==typeof Z)if(2&s){const nt=t[++i];x+="["+Z+(nt.length>0?'="'+nt+'"':"")+"]"}else 8&s?x+="."+Z:4&s&&(x+=" "+Z);else""!==x&&!Bi(Z)&&(e+=Zp(B,x),x=""),s=Z,B=B||!Bi(s);i++}return""!==x&&(e+=Zp(B,x)),e}const ee={};function lf(t,e){const i=t.contentQueries;if(null!==i)for(let s=0;s<i.length;s+=2){const x=i[s],B=i[s+1];if(-1!==B){const Z=t.data[B];El(x),Z.contentQueries(2,e[B],B)}}}function Po(t,e,i,s,x,B,Z,nt,lt,pt){const vt=e.blueprint.slice();return vt[0]=x,vt[2]=140|s,Au(vt),vt[3]=vt[15]=t,vt[8]=i,vt[10]=Z||t&&t[10],vt[11]=nt||t&&t[11],vt[12]=lt||t&&t[12]||null,vt[9]=pt||t&&t[9]||null,vt[6]=B,vt[16]=2==e.type?t[16]:vt,vt}function Ar(t,e,i,s,x){let B=t.data[e];if(null===B)B=function wh(t,e,i,s,x){const B=Tu(),Z=Sl(),lt=t.data[e]=function U1(t,e,i,s,x,B){return{type:i,index:s,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:x,attrs:B,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,Z?B:B&&B.parent,i,e,s,x);return null===t.firstChild&&(t.firstChild=lt),null!==B&&(Z?null==B.child&&null!==lt.parent&&(B.child=lt):null===B.next&&(B.next=lt)),lt}(t,e,i,s,x),function hb(){return Qt.lFrame.inI18n}()&&(B.flags|=64);else if(64&B.type){B.type=i,B.value=s,B.attrs=x;const Z=function lo(){const t=Qt.lFrame,e=t.currentTNode;return t.isParent?e:e.parent}();B.injectorIndex=null===Z?-1:Z.injectorIndex}return Ki(B,!0),B}function kr(t,e,i,s){if(0===i)return-1;const x=e.length;for(let B=0;B<i;B++)e.push(s),t.blueprint.push(s),t.data.push(null);return x}function Oo(t,e,i){ws(e);try{const s=t.viewQuery;null!==s&&Lh(1,s,i);const x=t.template;null!==x&&hf(t,e,x,1,i),t.firstCreatePass&&(t.firstCreatePass=!1),t.staticContentQueries&&lf(t,e),t.staticViewQueries&&Lh(2,t.viewQuery,i);const B=t.components;null!==B&&function H1(t,e){for(let i=0;i<e.length;i++)lM(t,e[i])}(e,B)}catch(s){throw t.firstCreatePass&&(t.incompleteFirstPass=!0,t.firstCreatePass=!1),s}finally{e[2]&=-5,Ss()}}function Tr(t,e,i,s){const x=e[2];if(256==(256&x))return;ws(e);const B=Cs();try{Au(e),function Eu(t){return Qt.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==i&&hf(t,e,i,2,s);const Z=3==(3&x);if(!B)if(Z){const pt=t.preOrderCheckHooks;null!==pt&&ks(e,pt,null)}else{const pt=t.preOrderHooks;null!==pt&&Ts(e,pt,0,null),Dl(e,0)}if(function sM(t){for(let e=ih(t);null!==e;e=nh(e)){if(!e[2])continue;const i=e[9];for(let s=0;s<i.length;s++){const x=i[s],B=x[3];0==(1024&x[2])&&wl(B,1),x[2]|=1024}}}(e),function oM(t){for(let e=ih(t);null!==e;e=nh(e))for(let i=10;i<e.length;i++){const s=e[i],x=s[1];Ml(s)&&Tr(x,s,x.template,s[8])}}(e),null!==t.contentQueries&&lf(t,e),!B)if(Z){const pt=t.contentCheckHooks;null!==pt&&ks(e,pt)}else{const pt=t.contentHooks;null!==pt&&Ts(e,pt,1),Dl(e,1)}!function F1(t,e){const i=t.hostBindingOpCodes;if(null!==i)try{for(let s=0;s<i.length;s++){const x=i[s];if(x<0)Dn(~x);else{const B=x,Z=i[++s],nt=i[++s];cb(Z,B),nt(2,e[B])}}}finally{Dn(-1)}}(t,e);const nt=t.components;null!==nt&&function z1(t,e){for(let i=0;i<e.length;i++)aM(t,e[i])}(e,nt);const lt=t.viewQuery;if(null!==lt&&Lh(2,lt,s),!B)if(Z){const pt=t.viewCheckHooks;null!==pt&&ks(e,pt)}else{const pt=t.viewHooks;null!==pt&&Ts(e,pt,2),Dl(e,2)}!0===t.firstUpdatePass&&(t.firstUpdatePass=!1),B||(e[2]&=-73),1024&e[2]&&(e[2]&=-1025,wl(e[3],-1))}finally{Ss()}}function W1(t,e,i,s){const x=e[10],B=!Cs(),Z=function Su(t){return 4==(4&t[2])}(e);try{B&&!Z&&x.begin&&x.begin(),Z&&Oo(t,e,s),Tr(t,e,i,s)}finally{B&&!Z&&x.end&&x.end()}}function hf(t,e,i,s,x){const B=function ii(){return Qt.lFrame.selectedIndex}(),Z=2&s;try{Dn(-1),Z&&e.length>20&&function Kp(t,e,i,s){if(!s)if(3==(3&e[2])){const B=t.preOrderCheckHooks;null!==B&&ks(e,B,i)}else{const B=t.preOrderHooks;null!==B&&Ts(e,B,0,i)}Dn(i)}(t,e,20,Cs()),i(s,x)}finally{Dn(B)}}function df(t){const e=t.tView;return null===e||e.incompleteFirstPass?t.tView=Zs(1,null,t.template,t.decls,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas,t.consts):e}function Zs(t,e,i,s,x,B,Z,nt,lt,pt){const vt=20+s,bt=vt+x,wt=function G1(t,e){const i=[];for(let s=0;s<e;s++)i.push(s<t?null:ee);return i}(vt,bt),At="function"==typeof pt?pt():pt;return wt[1]={type:t,blueprint:wt,template:i,queries:null,viewQuery:nt,declTNode:e,data:wt.slice().fill(null,vt),bindingStartIndex:vt,expandoStartIndex:bt,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof B?B():B,pipeRegistry:"function"==typeof Z?Z():Z,firstChild:null,schemas:lt,consts:At,incompleteFirstPass:!1}}function gf(t,e,i){for(let s in t)if(t.hasOwnProperty(s)){const x=t[s];(i=null===i?{}:i).hasOwnProperty(s)?i[s].push(e,x):i[s]=[e,x]}return i}function yf(t,e,i,s,x,B){const Z=B.hostBindings;if(Z){let nt=t.hostBindingOpCodes;null===nt&&(nt=t.hostBindingOpCodes=[]);const lt=~e.index;(function K1(t){let e=t.length;for(;e>0;){const i=t[--e];if("number"==typeof i&&i<0)return i}return 0})(nt)!=lt&&nt.push(lt),nt.push(s,x,Z)}}function vf(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function xf(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function eM(t,e,i){if(i){if(e.exportAs)for(let s=0;s<e.exportAs.length;s++)i[e.exportAs[s]]=t;Ni(e)&&(i[""]=t)}}function bf(t,e,i){t.flags|=1,t.directiveStart=e,t.directiveEnd=e+i,t.providerIndexes=e}function Cf(t,e,i,s,x){t.data[s]=x;const B=x.factory||(x.factory=Vn(x.type)),Z=new ho(B,Ni(x),null);t.blueprint[s]=Z,i[s]=Z,yf(t,e,0,s,kr(t,i,x.hostVars,ee),x)}function iM(t,e,i){const s=Ti(e,t),x=df(i),B=t[10],Z=Ks(t,Po(t,x,null,i.onPush?64:16,s,e,B,B.createRenderer(s,i),null,null));t[e.index]=Z}function nM(t,e,i,s,x,B){const Z=B[e];if(null!==Z){const nt=s.setInput;for(let lt=0;lt<Z.length;){const pt=Z[lt++],vt=Z[lt++],bt=Z[lt++];null!==nt?s.setInput(i,bt,pt,vt):i[vt]=bt}}}function rM(t,e){let i=null,s=0;for(;s<e.length;){const x=e[s];if(0!==x)if(5!==x){if("number"==typeof x)break;t.hasOwnProperty(x)&&(null===i&&(i=[]),i.push(x,t[x],e[s+1])),s+=2}else s+=2;else s+=4}return i}function aM(t,e){const i=yi(e,t);if(Ml(i)){const s=i[1];80&i[2]?Tr(s,i,s.template,i[8]):i[5]>0&&Eh(i)}}function Eh(t){for(let s=ih(t);null!==s;s=nh(s))for(let x=10;x<s.length;x++){const B=s[x];if(1024&B[2]){const Z=B[1];Tr(Z,B,Z.template,B[8])}else B[5]>0&&Eh(B)}const i=t[1].components;if(null!==i)for(let s=0;s<i.length;s++){const x=yi(i[s],t);Ml(x)&&x[5]>0&&Eh(x)}}function lM(t,e){const i=yi(e,t),s=i[1];(function hM(t,e){for(let i=e.length;i<t.blueprint.length;i++)e.push(t.blueprint[i])})(s,i),Oo(s,i,i[8])}function Ks(t,e){return t[13]?t[14][4]=e:t[13]=e,t[14]=e,e}function Oh(t,e,i){const s=e[10];s.begin&&s.begin();try{Tr(t,e,t.template,i)}catch(x){throw function Tf(t,e){const i=t[9],s=i?i.get(To,null):null;s&&s.handleError(e)}(e,x),x}finally{s.end&&s.end()}}function wf(t){!function Ph(t){for(let e=0;e<t.components.length;e++){const i=t.components[e],s=ql(i),x=s[1];W1(x,s,x.template,i)}}(t[8])}function Lh(t,e,i){El(0),e(t,i)}const pM=(()=>Promise.resolve(null))();function Ef(t,e,i,s,x){for(let B=0;B<i.length;){const Z=i[B++],nt=i[B++],lt=e[Z],pt=t.data[Z];null!==pt.setInput?pt.setInput(lt,x,s,nt):lt[nt]=x}}function qs(t,e,i){let s=i?t.styles:null,x=i?t.classes:null,B=0;if(null!==e)for(let Z=0;Z<e.length;Z++){const nt=e[Z];"number"==typeof nt?B=nt:1==B?x=rl(x,nt):2==B&&(s=rl(s,nt+": "+e[++Z]+";"))}i?t.styles=s:t.stylesWithoutHost=s,i?t.classes=x:t.classesWithoutHost=x}const Ih=new pe("INJECTOR",-1);class Df{get(e,i=vo){if(i===vo){const s=new Error(`NullInjectorError: No provider for ${xe(e)}!`);throw s.name="NullInjectorError",s}return i}}const _h=new pe("Set Injector scope."),Lo={},mM={};let Rh;function Pf(){return void 0===Rh&&(Rh=new Df),Rh}function Of(t,e=null,i=null,s){const x=Lf(t,e,i,s);return x._resolveInjectorDefTypes(),x}function Lf(t,e=null,i=null,s){return new yM(t,i,e||Pf(),s)}class yM{constructor(e,i,s,x=null){this.parent=s,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const B=[];i&&qi(i,nt=>this.processProvider(nt,e,i)),qi([e],nt=>this.processInjectorType(nt,[],B)),this.records.set(Ih,Er(void 0,this));const Z=this.records.get(_h);this.scope=null!=Z?Z.value:null,this.source=x||("object"==typeof e?null:xe(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,i=vo,s=Jt.Default){this.assertNotDestroyed();const x=ep(this),B=Sn(void 0);try{if(!(s&Jt.SkipSelf)){let nt=this.records.get(e);if(void 0===nt){const lt=function AM(t){return"function"==typeof t||"object"==typeof t&&t instanceof pe}(e)&&al(e);nt=lt&&this.injectableDefInScope(lt)?Er(jh(e),Lo):null,this.records.set(e,nt)}if(null!=nt)return this.hydrate(e,nt)}return(s&Jt.Self?Pf():this.parent).get(e,i=s&Jt.Optional&&i===vo?null:i)}catch(Z){if("NullInjectorError"===Z.name){if((Z[js]=Z[js]||[]).unshift(xe(e)),x)throw Z;return function qb(t,e,i,s){const x=t[js];throw e[tp]&&x.unshift(e[tp]),t.message=function Qb(t,e,i,s=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let x=xe(e);if(Array.isArray(e))x=e.map(xe).join(" -> ");else if("object"==typeof e){let B=[];for(let Z in e)if(e.hasOwnProperty(Z)){let nt=e[Z];B.push(Z+":"+("string"==typeof nt?JSON.stringify(nt):xe(nt)))}x=`{${B.join(", ")}}`}return`${i}${s?"("+s+")":""}[${x}]: ${t.replace(Vb,"\n  ")}`}("\n"+t.message,x,i,s),t.ngTokenPath=x,t[js]=null,t}(Z,e,"R3InjectorError",this.source)}throw Z}finally{Sn(B),ep(x)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((s,x)=>e.push(xe(x))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new ve(205,!1)}processInjectorType(e,i,s){if(!(e=se(e)))return!1;let x=du(e);const B=null==x&&e.ngModule||void 0,Z=void 0===B?e:B,nt=-1!==s.indexOf(Z);if(void 0!==B&&(x=du(B)),null==x)return!1;if(null!=x.imports&&!nt){let vt;s.push(Z);try{qi(x.imports,bt=>{this.processInjectorType(bt,i,s)&&(void 0===vt&&(vt=[]),vt.push(bt))})}finally{}if(void 0!==vt)for(let bt=0;bt<vt.length;bt++){const{ngModule:wt,providers:At}=vt[bt];qi(At,Dt=>this.processProvider(Dt,wt,At||Me))}}this.injectorDefTypes.add(Z);const lt=Vn(Z)||(()=>new Z);this.records.set(Z,Er(lt,Lo));const pt=x.providers;if(null!=pt&&!nt){const vt=e;qi(pt,bt=>this.processProvider(bt,vt,pt))}return void 0!==B&&void 0!==e.providers}processProvider(e,i,s){let x=Dr(e=se(e))?e:se(e&&e.provide);const B=function xM(t,e,i){return _f(t)?Er(void 0,t.useValue):Er(function If(t,e,i){let s;if(Dr(t)){const x=se(t);return Vn(x)||jh(x)}if(_f(t))s=()=>se(t.useValue);else if(function CM(t){return!(!t||!t.useFactory)}(t))s=()=>t.useFactory(...Hl(t.deps||[]));else if(function bM(t){return!(!t||!t.useExisting)}(t))s=()=>Gt(se(t.useExisting));else{const x=se(t&&(t.useClass||t.provide));if(!function wM(t){return!!t.deps}(t))return Vn(x)||jh(x);s=()=>new x(...Hl(t.deps))}return s}(t),Lo)}(e);if(Dr(e)||!0!==e.multi)this.records.get(x);else{let Z=this.records.get(x);Z||(Z=Er(void 0,Lo,!0),Z.factory=()=>Hl(Z.multi),this.records.set(x,Z)),x=e,Z.multi.push(e)}this.records.set(x,B)}hydrate(e,i){return i.value===Lo&&(i.value=mM,i.value=i.factory()),"object"==typeof i.value&&i.value&&function SM(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(i.value)&&this.onDestroy.add(i.value),i.value}injectableDefInScope(e){if(!e.providedIn)return!1;const i=se(e.providedIn);return"string"==typeof i?"any"===i||i===this.scope:this.injectorDefTypes.has(i)}}function jh(t){const e=al(t),i=null!==e?e.factory:Vn(t);if(null!==i)return i;if(t instanceof pe)throw new ve(204,!1);if(t instanceof Function)return function vM(t){const e=t.length;if(e>0)throw function yo(t,e){const i=[];for(let s=0;s<t;s++)i.push(e);return i}(e,"?"),new ve(204,!1);const i=function T0(t){const e=t&&(t[ps]||t[uu]);if(e){const i=function E0(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${i}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${i}" class.`),e}return null}(t);return null!==i?()=>i.factory(t):()=>new t}(t);throw new ve(204,!1)}function Er(t,e,i=!1){return{factory:t,value:e,multi:i?[]:void 0}}function _f(t){return null!==t&&"object"==typeof t&&Yb in t}function Dr(t){return"function"==typeof t}let ui=(()=>{class t{static create(i,s){var x;if(Array.isArray(i))return Of({name:""},s,i,"");{const B=null!==(x=i.name)&&void 0!==x?x:"";return Of({name:B},i.parent,i.providers,B)}}}return t.THROW_IF_NOT_FOUND=vo,t.NULL=new Df,t.\u0275prov=Kt({token:t,providedIn:"any",factory:()=>Gt(Ih)}),t.__NG_ELEMENT_ID__=-1,t})();function IM(t,e){As(ql(t)[1],Fe())}function Yt(t,e=Jt.Default){const i=jt();return null===i?Gt(t,e):Uu(Fe(),i,se(t),e)}function Xh(){throw new Error("invalid")}function Yh(t,e,i){const s=jt();return function ti(t,e,i){return!Object.is(t[e],i)&&(t[e]=i,!0)}(s,function ur(){return Qt.lFrame.bindingIndex++}(),e)&&function bi(t,e,i,s,x,B,Z,nt){const lt=Ti(e,i);let vt,pt=e.inputs;!nt&&null!=pt&&(vt=pt[s])?(Ef(t,i,vt,s,x),vs(e)&&function Y1(t,e){const i=yi(e,t);16&i[2]||(i[2]|=64)}(i,e.index)):3&e.type&&(s=function X1(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(s),x=null!=Z?Z(x,e.value||"",s):x,De(B)?B.setProperty(lt,s,x):Ol(s)||(lt.setProperty?lt.setProperty(s,x):lt[s]=x))}(me(),function Pe(){const t=Qt.lFrame;return Cl(t.tView,t.selectedIndex)}(),s,t,e,s[11],i,!1),Yh}function $h(t,e,i,s,x){const Z=x?"class":"style";Ef(t,i,e.inputs[Z],Z,s)}function Zh(t,e,i,s){const x=jt(),B=me(),Z=20+t,nt=x[11],lt=x[Z]=oh(nt,e,function xb(){return Qt.lFrame.currentNamespace}()),pt=B.firstCreatePass?function pw(t,e,i,s,x,B,Z){const nt=e.consts,pt=Ar(e,t,2,x,En(nt,B));return function kh(t,e,i,s){let x=!1;if(ku()){const B=function J1(t,e,i){const s=t.directiveRegistry;let x=null;if(s)for(let B=0;B<s.length;B++){const Z=s[B];$p(i,Z.selectors,!1)&&(x||(x=[]),Ls(uo(i,e),t,Z.type),Ni(Z)?(xf(t,i),x.unshift(Z)):x.push(Z))}return x}(t,e,i),Z=null===s?null:{"":-1};if(null!==B){x=!0,bf(i,t.data.length,B.length);for(let vt=0;vt<B.length;vt++){const bt=B[vt];bt.providersResolver&&bt.providersResolver(bt)}let nt=!1,lt=!1,pt=kr(t,e,B.length,null);for(let vt=0;vt<B.length;vt++){const bt=B[vt];i.mergedAttrs=Ds(i.mergedAttrs,bt.hostAttrs),Cf(t,i,e,pt,bt),eM(pt,bt,Z),null!==bt.contentQueries&&(i.flags|=8),(null!==bt.hostBindings||null!==bt.hostAttrs||0!==bt.hostVars)&&(i.flags|=128);const wt=bt.type.prototype;!nt&&(wt.ngOnChanges||wt.ngOnInit||wt.ngDoCheck)&&((t.preOrderHooks||(t.preOrderHooks=[])).push(i.index),nt=!0),!lt&&(wt.ngOnChanges||wt.ngDoCheck)&&((t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(i.index),lt=!0),pt++}!function V1(t,e){const s=e.directiveEnd,x=t.data,B=e.attrs,Z=[];let nt=null,lt=null;for(let pt=e.directiveStart;pt<s;pt++){const vt=x[pt],bt=vt.inputs,wt=null===B||Yp(e)?null:rM(bt,B);Z.push(wt),nt=gf(bt,pt,nt),lt=gf(vt.outputs,pt,lt)}null!==nt&&(nt.hasOwnProperty("class")&&(e.flags|=16),nt.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=Z,e.inputs=nt,e.outputs=lt}(t,i)}Z&&function tM(t,e,i){if(e){const s=t.localNames=[];for(let x=0;x<e.length;x+=2){const B=i[e[x+1]];if(null==B)throw new ve(-301,!1);s.push(e[x],B)}}}(i,s,Z)}return i.mergedAttrs=Ds(i.mergedAttrs,i.attrs),x}(e,i,pt,En(nt,Z)),null!==pt.attrs&&qs(pt,pt.attrs,!1),null!==pt.mergedAttrs&&qs(pt,pt.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,pt),pt}(Z,B,x,0,e,i,s):B.data[Z];Ki(pt,!0);const vt=pt.mergedAttrs;null!==vt&&Es(nt,lt,vt);const bt=pt.classes;null!==bt&&dh(nt,lt,bt);const wt=pt.styles;return null!==wt&&Up(nt,lt,wt),64!=(64&pt.flags)&&Us(B,x,lt,pt),0===function ib(){return Qt.lFrame.elementDepthCount}()&&Je(lt,x),function nb(){Qt.lFrame.elementDepthCount++}(),function xs(t){return 1==(1&t.flags)}(pt)&&(function Sh(t,e,i){!ku()||(function q1(t,e,i,s){const x=i.directiveStart,B=i.directiveEnd;t.firstCreatePass||uo(i,e),Je(s,e);const Z=i.initialInputs;for(let nt=x;nt<B;nt++){const lt=t.data[nt],pt=Ni(lt);pt&&iM(e,i,lt);const vt=po(e,t,nt,i);Je(vt,e),null!==Z&&nM(0,nt-x,vt,lt,0,Z),pt&&(yi(i.index,e)[8]=vt)}}(t,e,i,Ti(i,e)),128==(128&i.flags)&&function Q1(t,e,i){const s=i.directiveStart,x=i.directiveEnd,Z=i.index,nt=function db(){return Qt.lFrame.currentDirectiveIndex}();try{Dn(Z);for(let lt=s;lt<x;lt++){const pt=t.data[lt],vt=e[lt];kl(lt),(null!==pt.hostBindings||0!==pt.hostVars||null!==pt.hostAttrs)&&vf(pt,vt)}}finally{Dn(-1),kl(nt)}}(t,e,i))}(B,x,pt),function cf(t,e,i){if(fl(e)){const x=e.directiveEnd;for(let B=e.directiveStart;B<x;B++){const Z=t.data[B];Z.contentQueries&&Z.contentQueries(1,i[B],B)}}}(B,pt,x)),null!==s&&function Ah(t,e,i=Ti){const s=e.localNames;if(null!==s){let x=e.index+1;for(let B=0;B<s.length;B+=2){const Z=s[B+1],nt=-1===Z?i(e,t):t[Z];t[x++]=nt}}}(x,pt),Zh}function Kh(){let t=Fe();Sl()?function Al(){Qt.lFrame.isParent=!1}():(t=t.parent,Ki(t,!1));const e=t;!function rb(){Qt.lFrame.elementDepthCount--}();const i=me();return i.firstCreatePass&&(As(i,t),fl(t)&&i.queries.elementEnd(t)),null!=e.classesWithoutHost&&function Sb(t){return 0!=(16&t.flags)}(e)&&$h(i,e,jt(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function Ab(t){return 0!=(32&t.flags)}(e)&&$h(i,e,jt(),e.stylesWithoutHost,!1),Kh}function Ro(t,e,i,s){return Zh(t,e,i,s),Kh(),Ro}function ea(t){return!!t&&"function"==typeof t.then}const gg=function fg(t){return!!t&&"function"==typeof t.subscribe},ra="en-US";let dm=ra;class jm{}class lA{resolveComponentFactory(e){throw function aA(t){const e=Error(`No component factory found for ${xe(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(e)}}let Ho=(()=>{class t{}return t.NULL=new lA,t})();function hA(){return Ur(Fe(),jt())}function Ur(t,e){return new gn(Ti(t,e))}let gn=(()=>{class t{constructor(i){this.nativeElement=i}}return t.__NG_ELEMENT_ID__=hA,t})();class Bm{}let pA=(()=>{class t{}return t.\u0275prov=Kt({token:t,providedIn:"root",factory:()=>null}),t})();class ca{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const fA=new ca("13.3.6"),hc={};function da(t,e,i,s,x=!1){for(;null!==i;){const B=e[i.index];if(null!==B&&s.push(_e(B)),ji(B))for(let nt=10;nt<B.length;nt++){const lt=B[nt],pt=lt[1].firstChild;null!==pt&&da(lt[1],lt,pt,s)}const Z=i.type;if(8&Z)da(t,e,i.child,s);else if(32&Z){const nt=eh(i,e);let lt;for(;lt=nt();)s.push(lt)}else if(16&Z){const nt=Hp(e,i);if(Array.isArray(nt))s.push(...nt);else{const lt=Eo(e[16]);da(lt[1],lt,nt,s,!0)}}i=x?i.projectionNext:i.next}return s}class Wo{constructor(e,i){this._lView=e,this._cdRefInjectingView=i,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,i=e[1];return da(i,e,i.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(ji(e)){const i=e[8],s=i?i.indexOf(this):-1;s>-1&&(sh(e,s),_s(i,s))}this._attachedToViewContainer=!1}Lp(this._lView[1],this._lView)}onDestroy(e){!function ff(t,e,i,s){const x=function Sf(t){return t[7]||(t[7]=[])}(e);null===i?x.push(s):(x.push(i),t.firstCreatePass&&function Af(t){return t.cleanup||(t.cleanup=[])}(t).push(s,x.length-1))}(this._lView[1],this._lView,null,e)}markForCheck(){!function Dh(t){for(;t;){t[2]|=64;const e=Eo(t);if(z0(t)&&!e)return t;t=e}return null}(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Oh(this._lView[1],this._lView,this.context)}checkNoChanges(){!function dM(t,e,i){Ms(!0);try{Oh(t,e,i)}finally{Ms(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new ve(902,"");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function s1(t,e){Do(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new ve(902,"");this._appRef=e}}class gA extends Wo{constructor(e){super(e),this._view=e}detectChanges(){wf(this._view)}checkNoChanges(){!function uM(t){Ms(!0);try{wf(t)}finally{Ms(!1)}}(this._view)}get context(){return null}}class Fm extends Ho{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const i=qe(e);return new cc(i,this.ngModule)}}function zm(t){const e=[];for(let i in t)t.hasOwnProperty(i)&&e.push({propName:t[i],templateName:i});return e}class cc extends jm{constructor(e,i){super(),this.componentDef=e,this.ngModule=i,this.componentType=e.type,this.selector=function k1(t){return t.map(A1).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!i}get inputs(){return zm(this.componentDef.inputs)}get outputs(){return zm(this.componentDef.outputs)}create(e,i,s,x){const B=(x=x||this.ngModule)?function yA(t,e){return{get:(i,s,x)=>{const B=t.get(i,hc,x);return B!==hc||s===hc?B:e.get(i,s,x)}}}(e,x.injector):e,Z=B.get(Bm,wu),nt=B.get(pA,null),lt=Z.createRenderer(null,this.componentDef),pt=this.componentDef.selectors[0][0]||"div",vt=s?function pf(t,e,i){if(De(t))return t.selectRootElement(e,i===Yi.ShadowDom);let s="string"==typeof e?t.querySelector(e):e;return s.textContent="",s}(lt,s,this.componentDef.encapsulation):oh(Z.createRenderer(null,this.componentDef),pt,function mA(t){const e=t.toLowerCase();return"svg"===e?"svg":"math"===e?"math":null}(pt)),bt=this.componentDef.onPush?576:528,wt=function Vf(t,e){return{components:[],scheduler:t||QC,clean:pM,playerHandler:e||null,flags:0}}(),At=Zs(0,null,null,1,0,null,null,null,null,null),Dt=Po(null,At,wt,bt,null,null,Z,lt,nt,B);let _t,Bt;ws(Dt);try{const Nt=function Gf(t,e,i,s,x,B){const Z=i[1];i[20]=t;const lt=Ar(Z,20,2,"#host",null),pt=lt.mergedAttrs=e.hostAttrs;null!==pt&&(qs(lt,pt,!0),null!==t&&(Es(x,t,pt),null!==lt.classes&&dh(x,t,lt.classes),null!==lt.styles&&Up(x,t,lt.styles)));const vt=s.createRenderer(t,e),bt=Po(i,df(e),null,e.onPush?64:16,i[20],lt,s,vt,B||null,null);return Z.firstCreatePass&&(Ls(uo(lt,i),Z,e.type),xf(Z,lt),bf(lt,i.length,1)),Ks(i,bt),i[20]=bt}(vt,this.componentDef,Dt,Z,lt);if(vt)if(s)Es(lt,vt,["ng-version",fA.full]);else{const{attrs:It,classes:Xt}=function T1(t){const e=[],i=[];let s=1,x=2;for(;s<t.length;){let B=t[s];if("string"==typeof B)2===x?""!==B&&e.push(B,t[++s]):8===x&&i.push(B);else{if(!Bi(x))break;x=B}s++}return{attrs:e,classes:i}}(this.componentDef.selectors[0]);It&&Es(lt,vt,It),Xt&&Xt.length>0&&dh(lt,vt,Xt.join(" "))}if(Bt=Cl(At,20),void 0!==i){const It=Bt.projection=[];for(let Xt=0;Xt<this.ngContentSelectors.length;Xt++){const ie=i[Xt];It.push(null!=ie?Array.from(ie):null)}}_t=function Uf(t,e,i,s,x){const B=i[1],Z=function Z1(t,e,i){const s=Fe();t.firstCreatePass&&(i.providersResolver&&i.providersResolver(i),Cf(t,s,e,kr(t,e,1,null),i));const x=po(e,t,s.directiveStart,s);Je(x,e);const B=Ti(s,e);return B&&Je(B,e),x}(B,i,e);if(s.components.push(Z),t[8]=Z,x&&x.forEach(lt=>lt(Z,e)),e.contentQueries){const lt=Fe();e.contentQueries(1,Z,lt.directiveStart)}const nt=Fe();return!B.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Dn(nt.index),yf(i[1],nt,0,nt.directiveStart,nt.directiveEnd,e),vf(e,Z)),Z}(Nt,this.componentDef,Dt,wt,[IM]),Oo(At,Dt,null)}finally{Ss()}return new xA(this.componentType,_t,Ur(Bt,Dt),Dt,Bt)}}class xA extends class sA{}{constructor(e,i,s,x,B){super(),this.location=s,this._rootLView=x,this._tNode=B,this.instance=i,this.hostView=this.changeDetectorRef=new gA(x),this.componentType=e}get injector(){return new gr(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}class mn{}class Hm{}const Vr=new Map;class Um extends mn{constructor(e,i){super(),this._parent=i,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Fm(this);const s=Si(e);this._bootstrapComponents=Ji(s.bootstrap),this._r3Injector=Lf(e,i,[{provide:mn,useValue:this},{provide:Ho,useValue:this.componentFactoryResolver}],xe(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,i=ui.THROW_IF_NOT_FOUND,s=Jt.Default){return e===ui||e===mn||e===Ih?this:this._r3Injector.get(e,i,s)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class dc extends Hm{constructor(e){super(),this.moduleType=e,null!==Si(e)&&function CA(t){const e=new Set;!function i(s){const x=Si(s,!0),B=x.id;null!==B&&(function Wm(t,e,i){if(e&&e!==i)throw new Error(`Duplicate module registered for ${t} - ${xe(e)} vs ${xe(e.name)}`)}(B,Vr.get(B),s),Vr.set(B,s));const Z=Ji(x.imports);for(const nt of Z)e.has(nt)||(e.add(nt),i(nt))}(t)}(e)}create(e){return new Um(this.moduleType,e)}}function uc(t){return e=>{setTimeout(t,void 0,e)}}const oi=class FA extends d{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,i,s){var x,B,Z;let nt=e,lt=i||(()=>null),pt=s;if(e&&"object"==typeof e){const bt=e;nt=null===(x=bt.next)||void 0===x?void 0:x.bind(bt),lt=null===(B=bt.error)||void 0===B?void 0:B.bind(bt),pt=null===(Z=bt.complete)||void 0===Z?void 0:Z.bind(bt)}this.__isAsync&&(lt=uc(lt),nt&&(nt=uc(nt)),pt&&(pt=uc(pt)));const vt=super.subscribe({next:nt,error:lt,complete:pt});return e instanceof X&&e.add(vt),vt}};Symbol;let Gi=(()=>{class t{}return t.__NG_ELEMENT_ID__=UA,t})();function UA(){return function Qm(t,e){let i;const s=e[t.index];if(ji(s))i=s;else{let x;if(8&t.type)x=_e(s);else{const B=e[11];x=B.createComment("");const Z=Ti(t,e);Xn(B,Gs(B,Z),x,function p1(t,e){return De(t)?t.nextSibling(e):e.nextSibling}(B,Z),!1)}e[t.index]=i=function Mf(t,e,i,s){return new Array(t,!0,!1,e,null,0,s,i,null,null)}(s,e,x,t),Ks(e,i)}return new Km(i,t,e)}(Fe(),jt())}const VA=Gi,Km=class extends VA{constructor(e,i,s){super(),this._lContainer=e,this._hostTNode=i,this._hostLView=s}get element(){return Ur(this._hostTNode,this._hostLView)}get injector(){return new gr(this._hostTNode,this._hostLView)}get parentInjector(){const e=Os(this._hostTNode,this._hostLView);if(Fu(e)){const i=fr(e,this._hostLView),s=pr(e);return new gr(i[1].data[s+8],i)}return new gr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const i=qm(this._lContainer);return null!==i&&i[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,i,s){const x=e.createEmbeddedView(i||{});return this.insert(x,s),x}createComponent(e,i,s,x,B){const Z=e&&!function mo(t){return"function"==typeof t}(e);let nt;if(Z)nt=i;else{const bt=i||{};nt=bt.index,s=bt.injector,x=bt.projectableNodes,B=bt.ngModuleRef}const lt=Z?e:new cc(qe(e)),pt=s||this.parentInjector;if(!B&&null==lt.ngModule){const wt=(Z?pt:this.parentInjector).get(mn,null);wt&&(B=wt)}const vt=lt.create(pt,x,void 0,B);return this.insert(vt.hostView,nt),vt}insert(e,i){const s=e._lView,x=s[1];if(function eb(t){return ji(t[3])}(s)){const vt=this.indexOf(e);if(-1!==vt)this.detach(vt);else{const bt=s[3],wt=new Km(bt,bt[6],bt[3]);wt.detach(wt.indexOf(e))}}const B=this._adjustIndex(i),Z=this._lContainer;!function l1(t,e,i,s){const x=10+s,B=i.length;s>0&&(i[x-1][4]=e),s<B-10?(e[4]=i[x],Zu(i,10+s,e)):(i.push(e),e[4]=null),e[3]=i;const Z=e[17];null!==Z&&i!==Z&&function h1(t,e){const i=t[9];e[16]!==e[3][3][16]&&(t[2]=!0),null===i?t[9]=[e]:i.push(e)}(Z,e);const nt=e[19];null!==nt&&nt.insertView(t),e[2]|=128}(x,s,Z,B);const nt=hh(B,Z),lt=s[11],pt=Gs(lt,Z[7]);return null!==pt&&function o1(t,e,i,s,x,B){s[0]=x,s[6]=e,Do(t,s,i,1,x,B)}(x,Z[6],lt,s,pt,nt),e.attachToViewContainerRef(),Zu(fc(Z),B,e),e}move(e,i){return this.insert(e,i)}indexOf(e){const i=qm(this._lContainer);return null!==i?i.indexOf(e):-1}remove(e){const i=this._adjustIndex(e,-1),s=sh(this._lContainer,i);s&&(_s(fc(this._lContainer),i),Lp(s[1],s))}detach(e){const i=this._adjustIndex(e,-1),s=sh(this._lContainer,i);return s&&null!=_s(fc(this._lContainer),i)?new Wo(s):null}_adjustIndex(e,i=0){return null==e?this.length+i:e}};function qm(t){return t[8]}function fc(t){return t[8]||(t[8]=[])}function ga(...t){}const Xo=new pe("Application Initializer");let Ec=(()=>{class t{constructor(i){this.appInits=i,this.resolve=ga,this.reject=ga,this.initialized=!1,this.done=!1,this.donePromise=new Promise((s,x)=>{this.resolve=s,this.reject=x})}runInitializers(){if(this.initialized)return;const i=[],s=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let x=0;x<this.appInits.length;x++){const B=this.appInits[x]();if(ea(B))i.push(B);else if(gg(B)){const Z=new Promise((nt,lt)=>{B.subscribe({complete:nt,error:lt})});i.push(Z)}}Promise.all(i).then(()=>{s()}).catch(x=>{this.reject(x)}),0===i.length&&s(),this.initialized=!0}}return t.\u0275fac=function(i){return new(i||t)(Gt(Xo,8))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Yo=new pe("AppId",{providedIn:"root",factory:function by(){return`${Dc()}${Dc()}${Dc()}`}});function Dc(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Cy=new pe("Platform Initializer"),Pc=new pe("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),My=new pe("appBootstrapListener");let vk=(()=>{class t{log(i){console.log(i)}warn(i){console.warn(i)}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();const Rn=new pe("LocaleId",{providedIn:"root",factory:()=>Zb(Rn,Jt.Optional|Jt.SkipSelf)||function xk(){return"undefined"!=typeof $localize&&$localize.locale||ra}()});class Ck{constructor(e,i){this.ngModuleFactory=e,this.componentFactories=i}}let wy=(()=>{class t{compileModuleSync(i){return new dc(i)}compileModuleAsync(i){return Promise.resolve(this.compileModuleSync(i))}compileModuleAndAllComponentsSync(i){const s=this.compileModuleSync(i),B=Ji(Si(i).declarations).reduce((Z,nt)=>{const lt=qe(nt);return lt&&Z.push(new cc(lt)),Z},[]);return new Ck(s,B)}compileModuleAndAllComponentsAsync(i){return Promise.resolve(this.compileModuleAndAllComponentsSync(i))}clearCache(){}clearCacheFor(i){}getModuleId(i){}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const wk=(()=>Promise.resolve(0))();function Oc(t){"undefined"==typeof Zone?wk.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Ze{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:s=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new oi(!1),this.onMicrotaskEmpty=new oi(!1),this.onStable=new oi(!1),this.onError=new oi(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const x=this;x._nesting=0,x._outer=x._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(x._inner=x._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(x._inner=x._inner.fork(Zone.longStackTraceZoneSpec)),x.shouldCoalesceEventChangeDetection=!s&&i,x.shouldCoalesceRunChangeDetection=s,x.lastRequestAnimationFrameId=-1,x.nativeRequestAnimationFrame=function Sk(){let t=be.requestAnimationFrame,e=be.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i);const s=e[Zone.__symbol__("OriginalDelegate")];s&&(e=s)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function Tk(t){const e=()=>{!function kk(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(be,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Ic(t),t.isCheckStableRunning=!0,Lc(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Ic(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,s,x,B,Z,nt)=>{try{return Sy(t),i.invokeTask(x,B,Z,nt)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===B.type||t.shouldCoalesceRunChangeDetection)&&e(),Ay(t)}},onInvoke:(i,s,x,B,Z,nt,lt)=>{try{return Sy(t),i.invoke(x,B,Z,nt,lt)}finally{t.shouldCoalesceRunChangeDetection&&e(),Ay(t)}},onHasTask:(i,s,x,B)=>{i.hasTask(x,B),s===x&&("microTask"==B.change?(t._hasPendingMicrotasks=B.microTask,Ic(t),Lc(t)):"macroTask"==B.change&&(t.hasPendingMacrotasks=B.macroTask))},onHandleError:(i,s,x,B)=>(i.handleError(x,B),t.runOutsideAngular(()=>t.onError.emit(B)),!1)})}(x)}static isInAngularZone(){return"undefined"!=typeof Zone&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ze.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Ze.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,i,s){return this._inner.run(e,i,s)}runTask(e,i,s,x){const B=this._inner,Z=B.scheduleEventTask("NgZoneEvent: "+x,e,Ak,ga,ga);try{return B.runTask(Z,i,s)}finally{B.cancelTask(Z)}}runGuarded(e,i,s){return this._inner.runGuarded(e,i,s)}runOutsideAngular(e){return this._outer.run(e)}}const Ak={};function Lc(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Ic(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Sy(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Ay(t){t._nesting--,Lc(t)}class Ek{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new oi,this.onMicrotaskEmpty=new oi,this.onStable=new oi,this.onError=new oi}run(e,i,s){return e.apply(i,s)}runGuarded(e,i,s){return e.apply(i,s)}runOutsideAngular(e){return e()}runTask(e,i,s,x){return e.apply(i,s)}}let _c=(()=>{class t{constructor(i){this._ngZone=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),i.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ze.assertNotInAngularZone(),Oc(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Oc(()=>{for(;0!==this._callbacks.length;){let i=this._callbacks.pop();clearTimeout(i.timeoutId),i.doneCb(this._didWork)}this._didWork=!1});else{let i=this.getPendingTasks();this._callbacks=this._callbacks.filter(s=>!s.updateCb||!s.updateCb(i)||(clearTimeout(s.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(i=>({source:i.source,creationLocation:i.creationLocation,data:i.data})):[]}addCallback(i,s,x){let B=-1;s&&s>0&&(B=setTimeout(()=>{this._callbacks=this._callbacks.filter(Z=>Z.timeoutId!==B),i(this._didWork,this.getPendingTasks())},s)),this._callbacks.push({doneCb:i,timeoutId:B,updateCb:x})}whenStable(i,s,x){if(x&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(i,s,x),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(i,s,x){return[]}}return t.\u0275fac=function(i){return new(i||t)(Gt(Ze))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),Dk=(()=>{class t{constructor(){this._applications=new Map,Rc.addToWindow(this)}registerApplication(i,s){this._applications.set(i,s)}unregisterApplication(i){this._applications.delete(i)}unregisterAllApplications(){this._applications.clear()}getTestability(i){return this._applications.get(i)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(i,s=!0){return Rc.findTestabilityInTree(this,i,s)}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();class Pk{addToWindow(e){}findTestabilityInTree(e,i,s){return null}}let Rc=new Pk,Zn=null;const ky=new pe("AllowMultipleToken"),Ty=new pe("PlatformOnDestroy");class Ey{constructor(e,i){this.name=e,this.token=i}}function Dy(t,e,i=[]){const s=`Platform: ${e}`,x=new pe(s);return(B=[])=>{let Z=jc();if(!Z||Z.injector.get(ky,!1)){const nt=[...i,...B,{provide:x,useValue:!0}];t?t(nt):function _k(t){if(Zn&&!Zn.get(ky,!1))throw new ve(400,"");Zn=t;const e=t.get(Py),i=t.get(Cy,null);i&&i.forEach(s=>s())}(function jk(t=[],e){return ui.create({name:e,providers:[{provide:_h,useValue:"platform"},{provide:Ty,useValue:()=>Zn=null},...t]})}(nt,s))}return function Rk(t){const e=jc();if(!e)throw new ve(401,"");return e}()}}function jc(){var t;return null!==(t=null==Zn?void 0:Zn.get(Py))&&void 0!==t?t:null}let Py=(()=>{class t{constructor(i){this._injector=i,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(i,s){const nt=function Nk(t,e){let i;return i="noop"===t?new Ek:("zone.js"===t?void 0:t)||new Ze({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),i}(s?s.ngZone:void 0,{ngZoneEventCoalescing:s&&s.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:s&&s.ngZoneRunCoalescing||!1}),lt=[{provide:Ze,useValue:nt}];return nt.run(()=>{const pt=ui.create({providers:lt,parent:this.injector,name:i.moduleType.name}),vt=i.create(pt),bt=vt.injector.get(To,null);if(!bt)throw new ve(402,"");return nt.runOutsideAngular(()=>{const wt=nt.onError.subscribe({next:At=>{bt.handleError(At)}});vt.onDestroy(()=>{Bc(this._modules,vt),wt.unsubscribe()})}),function Bk(t,e,i){try{const s=i();return ea(s)?s.catch(x=>{throw e.runOutsideAngular(()=>t.handleError(x)),x}):s}catch(s){throw e.runOutsideAngular(()=>t.handleError(s)),s}}(bt,nt,()=>{const wt=vt.injector.get(Ec);return wt.runInitializers(),wt.donePromise.then(()=>(function cS(t){gi(t,"Expected localeId to be defined"),"string"==typeof t&&(dm=t.toLowerCase().replace(/_/g,"-"))}(vt.injector.get(Rn,ra)||ra),this._moduleDoBootstrap(vt),vt))})})}bootstrapModule(i,s=[]){const x=Oy({},s);return function Lk(t,e,i){const s=new dc(i);return Promise.resolve(s)}(0,0,i).then(B=>this.bootstrapModuleFactory(B,x))}_moduleDoBootstrap(i){const s=i.injector.get(Nc);if(i._bootstrapComponents.length>0)i._bootstrapComponents.forEach(x=>s.bootstrap(x));else{if(!i.instance.ngDoBootstrap)throw new ve(403,"");i.instance.ngDoBootstrap(s)}this._modules.push(i)}onDestroy(i){this._destroyListeners.push(i)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new ve(404,"");this._modules.slice().forEach(s=>s.destroy()),this._destroyListeners.forEach(s=>s());const i=this._injector.get(Ty,null);null==i||i(),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(i){return new(i||t)(Gt(ui))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();function Oy(t,e){return Array.isArray(e)?e.reduce(Oy,t):Object.assign(Object.assign({},t),e)}let Nc=(()=>{class t{constructor(i,s,x,B){this._zone=i,this._injector=s,this._exceptionHandler=x,this._initStatus=B,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const Z=new r(lt=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{lt.next(this._stable),lt.complete()})}),nt=new r(lt=>{let pt;this._zone.runOutsideAngular(()=>{pt=this._zone.onStable.subscribe(()=>{Ze.assertNotInAngularZone(),Oc(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,lt.next(!0))})})});const vt=this._zone.onUnstable.subscribe(()=>{Ze.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{lt.next(!1)}))});return()=>{pt.unsubscribe(),vt.unsubscribe()}});this.isStable=function b0(...t){const e=eo(t),i=function p0(t,e){return"number"==typeof el(t)?t.pop():e}(t,1/0),s=t;return s.length?1===s.length?ue(s[0]):to(i)(Xe(s,e)):ln}(Z,nt.pipe(function C0(t={}){const{connector:e=(()=>new d),resetOnError:i=!0,resetOnComplete:s=!0,resetOnRefCountZero:x=!0}=t;return B=>{let Z=null,nt=null,lt=null,pt=0,vt=!1,bt=!1;const wt=()=>{null==nt||nt.unsubscribe(),nt=null},At=()=>{wt(),Z=lt=null,vt=bt=!1},Dt=()=>{const _t=Z;At(),null==_t||_t.unsubscribe()};return h((_t,Bt)=>{pt++,!bt&&!vt&&wt();const Nt=lt=null!=lt?lt:e();Bt.add(()=>{pt--,0===pt&&!bt&&!vt&&(nt=il(Dt,x))}),Nt.subscribe(Bt),Z||(Z=new P({next:It=>Nt.next(It),error:It=>{bt=!0,wt(),nt=il(At,i,It),Nt.error(It)},complete:()=>{vt=!0,wt(),nt=il(At,s),Nt.complete()}}),Xe(_t).subscribe(Z))})(B)}}()))}bootstrap(i,s){if(!this._initStatus.done)throw new ve(405,"");let x;x=i instanceof jm?i:this._injector.get(Ho).resolveComponentFactory(i),this.componentTypes.push(x.componentType);const B=function Ik(t){return t.isBoundToModule}(x)?void 0:this._injector.get(mn),nt=x.create(ui.NULL,[],s||x.selector,B),lt=nt.location.nativeElement,pt=nt.injector.get(_c,null),vt=pt&&nt.injector.get(Dk);return pt&&vt&&vt.registerApplication(lt,pt),nt.onDestroy(()=>{this.detachView(nt.hostView),Bc(this.components,nt),vt&&vt.unregisterApplication(lt)}),this._loadComponent(nt),nt}tick(){if(this._runningTick)throw new ve(101,"");try{this._runningTick=!0;for(let i of this._views)i.detectChanges()}catch(i){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(i))}finally{this._runningTick=!1}}attachView(i){const s=i;this._views.push(s),s.attachToAppRef(this)}detachView(i){const s=i;Bc(this._views,s),s.detachFromAppRef()}_loadComponent(i){this.attachView(i.hostView),this.tick(),this.components.push(i),this._injector.get(My,[]).concat(this._bootstrapListeners).forEach(x=>x(i))}ngOnDestroy(){this._views.slice().forEach(i=>i.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(i){return new(i||t)(Gt(Ze),Gt(ui),Gt(To),Gt(Ec))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function Bc(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}let Iy=!0,Fc=(()=>{class t{}return t.__NG_ELEMENT_ID__=Hk,t})();function Hk(t){return function Wk(t,e,i){if(vs(t)&&!i){const s=yi(t.index,e);return new Wo(s,s)}return 47&t.type?new Wo(e[16],e):null}(Fe(),jt(),16==(16&t))}const eT=Dy(null,"core",[]);let iT=(()=>{class t{constructor(i){}}return t.\u0275fac=function(i){return new(i||t)(Gt(Nc))},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({}),t})(),xa=null;function jn(){return xa}const ai=new pe("DocumentToken");let qn=(()=>{class t{historyGo(i){throw new Error("Not implemented")}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:function(){return function sT(){return Gt(Uy)}()},providedIn:"platform"}),t})();const aT=new pe("Location Initialized");let Uy=(()=>{class t extends qn{constructor(i){super(),this._doc=i,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return jn().getBaseHref(this._doc)}onPopState(i){const s=jn().getGlobalEventTarget(this._doc,"window");return s.addEventListener("popstate",i,!1),()=>s.removeEventListener("popstate",i)}onHashChange(i){const s=jn().getGlobalEventTarget(this._doc,"window");return s.addEventListener("hashchange",i,!1),()=>s.removeEventListener("hashchange",i)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(i){this.location.pathname=i}pushState(i,s,x){Vy()?this._history.pushState(i,s,x):this.location.hash=x}replaceState(i,s,x){Vy()?this._history.replaceState(i,s,x):this.location.hash=x}forward(){this._history.forward()}back(){this._history.back()}historyGo(i=0){this._history.go(i)}getState(){return this._history.state}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai))},t.\u0275prov=Kt({token:t,factory:function(){return function lT(){return new Uy(Gt(ai))}()},providedIn:"platform"}),t})();function Vy(){return!!window.history.pushState}function Uc(t,e){if(0==t.length)return e;if(0==e.length)return t;let i=0;return t.endsWith("/")&&i++,e.startsWith("/")&&i++,2==i?t+e.substring(1):1==i?t+e:t+"/"+e}function Xy(t){const e=t.match(/#|\?|$/),i=e&&e.index||t.length;return t.slice(0,i-("/"===t[i-1]?1:0))+t.slice(i)}function vn(t){return t&&"?"!==t[0]?"?"+t:t}let Yr=(()=>{class t{historyGo(i){throw new Error("Not implemented")}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:function(){return function hT(t){const e=Gt(ai).location;return new Yy(Gt(qn),e&&e.origin||"")}()},providedIn:"root"}),t})();const Vc=new pe("appBaseHref");let Yy=(()=>{class t extends Yr{constructor(i,s){if(super(),this._platformLocation=i,this._removeListenerFns=[],null==s&&(s=this._platformLocation.getBaseHrefFromDOM()),null==s)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=s}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(i){this._removeListenerFns.push(this._platformLocation.onPopState(i),this._platformLocation.onHashChange(i))}getBaseHref(){return this._baseHref}prepareExternalUrl(i){return Uc(this._baseHref,i)}path(i=!1){const s=this._platformLocation.pathname+vn(this._platformLocation.search),x=this._platformLocation.hash;return x&&i?`${s}${x}`:s}pushState(i,s,x,B){const Z=this.prepareExternalUrl(x+vn(B));this._platformLocation.pushState(i,s,Z)}replaceState(i,s,x,B){const Z=this.prepareExternalUrl(x+vn(B));this._platformLocation.replaceState(i,s,Z)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(i=0){var s,x;null===(x=(s=this._platformLocation).historyGo)||void 0===x||x.call(s,i)}}return t.\u0275fac=function(i){return new(i||t)(Gt(qn),Gt(Vc,8))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),cT=(()=>{class t extends Yr{constructor(i,s){super(),this._platformLocation=i,this._baseHref="",this._removeListenerFns=[],null!=s&&(this._baseHref=s)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(i){this._removeListenerFns.push(this._platformLocation.onPopState(i),this._platformLocation.onHashChange(i))}getBaseHref(){return this._baseHref}path(i=!1){let s=this._platformLocation.hash;return null==s&&(s="#"),s.length>0?s.substring(1):s}prepareExternalUrl(i){const s=Uc(this._baseHref,i);return s.length>0?"#"+s:s}pushState(i,s,x,B){let Z=this.prepareExternalUrl(x+vn(B));0==Z.length&&(Z=this._platformLocation.pathname),this._platformLocation.pushState(i,s,Z)}replaceState(i,s,x,B){let Z=this.prepareExternalUrl(x+vn(B));0==Z.length&&(Z=this._platformLocation.pathname),this._platformLocation.replaceState(i,s,Z)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(i=0){var s,x;null===(x=(s=this._platformLocation).historyGo)||void 0===x||x.call(s,i)}}return t.\u0275fac=function(i){return new(i||t)(Gt(qn),Gt(Vc,8))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),Xc=(()=>{class t{constructor(i,s){this._subject=new oi,this._urlChangeListeners=[],this._platformStrategy=i;const x=this._platformStrategy.getBaseHref();this._platformLocation=s,this._baseHref=Xy($y(x)),this._platformStrategy.onPopState(B=>{this._subject.emit({url:this.path(!0),pop:!0,state:B.state,type:B.type})})}path(i=!1){return this.normalize(this._platformStrategy.path(i))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(i,s=""){return this.path()==this.normalize(i+vn(s))}normalize(i){return t.stripTrailingSlash(function uT(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,$y(i)))}prepareExternalUrl(i){return i&&"/"!==i[0]&&(i="/"+i),this._platformStrategy.prepareExternalUrl(i)}go(i,s="",x=null){this._platformStrategy.pushState(x,"",i,s),this._notifyUrlChangeListeners(this.prepareExternalUrl(i+vn(s)),x)}replaceState(i,s="",x=null){this._platformStrategy.replaceState(x,"",i,s),this._notifyUrlChangeListeners(this.prepareExternalUrl(i+vn(s)),x)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(i=0){var s,x;null===(x=(s=this._platformStrategy).historyGo)||void 0===x||x.call(s,i)}onUrlChange(i){this._urlChangeListeners.push(i),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(s=>{this._notifyUrlChangeListeners(s.url,s.state)}))}_notifyUrlChangeListeners(i="",s){this._urlChangeListeners.forEach(x=>x(i,s))}subscribe(i,s,x){return this._subject.subscribe({next:i,error:s,complete:x})}}return t.normalizeQueryParams=vn,t.joinWithSlash=Uc,t.stripTrailingSlash=Xy,t.\u0275fac=function(i){return new(i||t)(Gt(Yr),Gt(qn))},t.\u0275prov=Kt({token:t,factory:function(){return function dT(){return new Xc(Gt(Yr),Gt(qn))}()},providedIn:"root"}),t})();function $y(t){return t.replace(/\/index.html$/,"")}function nv(t,e){e=encodeURIComponent(e);for(const i of t.split(";")){const s=i.indexOf("="),[x,B]=-1==s?[i,""]:[i.slice(0,s),i.slice(s+1)];if(x.trim()===e)return decodeURIComponent(B)}return null}let TE=(()=>{class t{}return t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({}),t})();let OE=(()=>{class t{}return t.\u0275prov=Kt({token:t,providedIn:"root",factory:()=>new LE(Gt(ai),window)}),t})();class LE{constructor(e,i){this.document=e,this.window=i,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(!this.supportsScrolling())return;const i=function IE(t,e){const i=t.getElementById(e)||t.getElementsByName(e)[0];if(i)return i;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const s=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let x=s.currentNode;for(;x;){const B=x.shadowRoot;if(B){const Z=B.getElementById(e)||B.querySelector(`[name="${e}"]`);if(Z)return Z}x=s.nextNode()}}return null}(this.document,e);i&&(this.scrollToElement(i),i.focus())}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const i=this.window.history;i&&i.scrollRestoration&&(i.scrollRestoration=e)}}scrollToElement(e){const i=e.getBoundingClientRect(),s=i.left+this.window.pageXOffset,x=i.top+this.window.pageYOffset,B=this.offset();this.window.scrollTo(s-B[0],x-B[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const e=hv(this.window.history)||hv(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(e){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}function hv(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class cv{}class sd extends class _E extends class oT{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function rT(t){xa||(xa=t)}(new sd)}onAndCancel(e,i,s){return e.addEventListener(i,s,!1),()=>{e.removeEventListener(i,s,!1)}}dispatchEvent(e,i){e.dispatchEvent(i)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,i){return(i=i||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,i){return"window"===i?window:"document"===i?e:"body"===i?e.body:null}getBaseHref(e){const i=function RE(){return qo=qo||document.querySelector("base"),qo?qo.getAttribute("href"):null}();return null==i?null:function jE(t){Da=Da||document.createElement("a"),Da.setAttribute("href",t);const e=Da.pathname;return"/"===e.charAt(0)?e:`/${e}`}(i)}resetBaseElement(){qo=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return nv(document.cookie,e)}}let Da,qo=null;const dv=new pe("TRANSITION_ID"),BE=[{provide:Xo,useFactory:function NE(t,e,i){return()=>{i.get(Ec).donePromise.then(()=>{const s=jn(),x=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let B=0;B<x.length;B++)s.remove(x[B])})}},deps:[dv,ai,ui],multi:!0}];class ad{static init(){!function Ok(t){Rc=t}(new ad)}addToWindow(e){be.getAngularTestability=(s,x=!0)=>{const B=e.findTestabilityInTree(s,x);if(null==B)throw new Error("Could not find testability for element.");return B},be.getAllAngularTestabilities=()=>e.getAllTestabilities(),be.getAllAngularRootElements=()=>e.getAllRootElements(),be.frameworkStabilizers||(be.frameworkStabilizers=[]),be.frameworkStabilizers.push(s=>{const x=be.getAllAngularTestabilities();let B=x.length,Z=!1;const nt=function(lt){Z=Z||lt,B--,0==B&&s(Z)};x.forEach(function(lt){lt.whenStable(nt)})})}findTestabilityInTree(e,i,s){if(null==i)return null;const x=e.getTestability(i);return null!=x?x:s?jn().isShadowRoot(i)?this.findTestabilityInTree(e,i.host,!0):this.findTestabilityInTree(e,i.parentElement,!0):null}}let FE=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const Pa=new pe("EventManagerPlugins");let Oa=(()=>{class t{constructor(i,s){this._zone=s,this._eventNameToPlugin=new Map,i.forEach(x=>x.manager=this),this._plugins=i.slice().reverse()}addEventListener(i,s,x){return this._findPluginFor(s).addEventListener(i,s,x)}addGlobalEventListener(i,s,x){return this._findPluginFor(s).addGlobalEventListener(i,s,x)}getZone(){return this._zone}_findPluginFor(i){const s=this._eventNameToPlugin.get(i);if(s)return s;const x=this._plugins;for(let B=0;B<x.length;B++){const Z=x[B];if(Z.supports(i))return this._eventNameToPlugin.set(i,Z),Z}throw new Error(`No event manager plugin found for event ${i}`)}}return t.\u0275fac=function(i){return new(i||t)(Gt(Pa),Gt(Ze))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();class uv{constructor(e){this._doc=e}addGlobalEventListener(e,i,s){const x=jn().getGlobalEventTarget(this._doc,e);if(!x)throw new Error(`Unsupported event target ${x} for event ${i}`);return this.addEventListener(x,i,s)}}let pv=(()=>{class t{constructor(){this._stylesSet=new Set}addStyles(i){const s=new Set;i.forEach(x=>{this._stylesSet.has(x)||(this._stylesSet.add(x),s.add(x))}),this.onStylesAdded(s)}onStylesAdded(i){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),Qo=(()=>{class t extends pv{constructor(i){super(),this._doc=i,this._hostNodes=new Map,this._hostNodes.set(i.head,[])}_addStylesToHost(i,s,x){i.forEach(B=>{const Z=this._doc.createElement("style");Z.textContent=B,x.push(s.appendChild(Z))})}addHost(i){const s=[];this._addStylesToHost(this._stylesSet,i,s),this._hostNodes.set(i,s)}removeHost(i){const s=this._hostNodes.get(i);s&&s.forEach(fv),this._hostNodes.delete(i)}onStylesAdded(i){this._hostNodes.forEach((s,x)=>{this._addStylesToHost(i,x,s)})}ngOnDestroy(){this._hostNodes.forEach(i=>i.forEach(fv))}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();function fv(t){jn().remove(t)}const ld={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},hd=/%COMP%/g;function La(t,e,i){for(let s=0;s<e.length;s++){let x=e[s];Array.isArray(x)?La(t,x,i):(x=x.replace(hd,t),i.push(x))}return i}function yv(t){return e=>{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let cd=(()=>{class t{constructor(i,s,x){this.eventManager=i,this.sharedStylesHost=s,this.appId=x,this.rendererByCompId=new Map,this.defaultRenderer=new dd(i)}createRenderer(i,s){if(!i||!s)return this.defaultRenderer;switch(s.encapsulation){case Yi.Emulated:{let x=this.rendererByCompId.get(s.id);return x||(x=new VE(this.eventManager,this.sharedStylesHost,s,this.appId),this.rendererByCompId.set(s.id,x)),x.applyToHost(i),x}case 1:case Yi.ShadowDom:return new XE(this.eventManager,this.sharedStylesHost,i,s);default:if(!this.rendererByCompId.has(s.id)){const x=La(s.id,s.styles,[]);this.sharedStylesHost.addStyles(x),this.rendererByCompId.set(s.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(i){return new(i||t)(Gt(Oa),Gt(Qo),Gt(Yo))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();class dd{constructor(e){this.eventManager=e,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(e,i){return i?document.createElementNS(ld[i]||i,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,i){e.appendChild(i)}insertBefore(e,i,s){e&&e.insertBefore(i,s)}removeChild(e,i){e&&e.removeChild(i)}selectRootElement(e,i){let s="string"==typeof e?document.querySelector(e):e;if(!s)throw new Error(`The selector "${e}" did not match any elements`);return i||(s.textContent=""),s}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,i,s,x){if(x){i=x+":"+i;const B=ld[x];B?e.setAttributeNS(B,i,s):e.setAttribute(i,s)}else e.setAttribute(i,s)}removeAttribute(e,i,s){if(s){const x=ld[s];x?e.removeAttributeNS(x,i):e.removeAttribute(`${s}:${i}`)}else e.removeAttribute(i)}addClass(e,i){e.classList.add(i)}removeClass(e,i){e.classList.remove(i)}setStyle(e,i,s,x){x&(xi.DashCase|xi.Important)?e.style.setProperty(i,s,x&xi.Important?"important":""):e.style[i]=s}removeStyle(e,i,s){s&xi.DashCase?e.style.removeProperty(i):e.style[i]=""}setProperty(e,i,s){e[i]=s}setValue(e,i){e.nodeValue=i}listen(e,i,s){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,i,yv(s)):this.eventManager.addEventListener(e,i,yv(s))}}class VE extends dd{constructor(e,i,s,x){super(e),this.component=s;const B=La(x+"-"+s.id,s.styles,[]);i.addStyles(B),this.contentAttr=function WE(t){return"_ngcontent-%COMP%".replace(hd,t)}(x+"-"+s.id),this.hostAttr=function GE(t){return"_nghost-%COMP%".replace(hd,t)}(x+"-"+s.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,i){const s=super.createElement(e,i);return super.setAttribute(s,this.contentAttr,""),s}}class XE extends dd{constructor(e,i,s,x){super(e),this.sharedStylesHost=i,this.hostEl=s,this.shadowRoot=s.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const B=La(x.id,x.styles,[]);for(let Z=0;Z<B.length;Z++){const nt=document.createElement("style");nt.textContent=B[Z],this.shadowRoot.appendChild(nt)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,i){return super.appendChild(this.nodeOrShadowRoot(e),i)}insertBefore(e,i,s){return super.insertBefore(this.nodeOrShadowRoot(e),i,s)}removeChild(e,i){return super.removeChild(this.nodeOrShadowRoot(e),i)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let YE=(()=>{class t extends uv{constructor(i){super(i)}supports(i){return!0}addEventListener(i,s,x){return i.addEventListener(s,x,!1),()=>this.removeEventListener(i,s,x)}removeEventListener(i,s,x){return i.removeEventListener(s,x)}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const xv=["alt","control","meta","shift"],ZE={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},bv={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},KE={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let qE=(()=>{class t extends uv{constructor(i){super(i)}supports(i){return null!=t.parseEventName(i)}addEventListener(i,s,x){const B=t.parseEventName(s),Z=t.eventCallback(B.fullKey,x,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>jn().onAndCancel(i,B.domEventName,Z))}static parseEventName(i){const s=i.toLowerCase().split("."),x=s.shift();if(0===s.length||"keydown"!==x&&"keyup"!==x)return null;const B=t._normalizeKey(s.pop());let Z="";if(xv.forEach(lt=>{const pt=s.indexOf(lt);pt>-1&&(s.splice(pt,1),Z+=lt+".")}),Z+=B,0!=s.length||0===B.length)return null;const nt={};return nt.domEventName=x,nt.fullKey=Z,nt}static getEventFullKey(i){let s="",x=function QE(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&bv.hasOwnProperty(e)&&(e=bv[e]))}return ZE[e]||e}(i);return x=x.toLowerCase()," "===x?x="space":"."===x&&(x="dot"),xv.forEach(B=>{B!=x&&KE[B](i)&&(s+=B+".")}),s+=x,s}static eventCallback(i,s,x){return B=>{t.getEventFullKey(B)===i&&x.runGuarded(()=>s(B))}}static _normalizeKey(i){return"esc"===i?"escape":i}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const iD=Dy(eT,"browser",[{provide:Pc,useValue:"browser"},{provide:Cy,useValue:function JE(){sd.makeCurrent(),ad.init()},multi:!0},{provide:ai,useFactory:function eD(){return function q0(t){xl=t}(document),document},deps:[]}]),nD=[{provide:_h,useValue:"root"},{provide:To,useFactory:function tD(){return new To},deps:[]},{provide:Pa,useClass:YE,multi:!0,deps:[ai,Ze,Pc]},{provide:Pa,useClass:qE,multi:!0,deps:[ai]},{provide:cd,useClass:cd,deps:[Oa,Qo,Yo]},{provide:Bm,useExisting:cd},{provide:pv,useExisting:Qo},{provide:Qo,useClass:Qo,deps:[ai]},{provide:_c,useClass:_c,deps:[Ze]},{provide:Oa,useClass:Oa,deps:[Pa,Ze]},{provide:cv,useClass:FE,deps:[]}];let rD=(()=>{class t{constructor(i){if(i)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(i){return{ngModule:t,providers:[{provide:Yo,useValue:i.appId},{provide:dv,useExisting:Yo},BE]}}}return t.\u0275fac=function(i){return new(i||t)(Gt(t,12))},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({providers:nD,imports:[TE,iT]}),t})(),Cv=(()=>{class t{constructor(i){this._doc=i}getTitle(){return this._doc.title}setTitle(i){this._doc.title=i||""}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai))},t.\u0275prov=Kt({token:t,factory:function(i){let s=null;return s=i?new i:function sD(){return new Cv(Gt(ai))}(),s},providedIn:"root"}),t})();function re(...t){return Xe(t,eo(t))}"undefined"!=typeof window&&window;class Xi extends d{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const i=super._subscribe(e);return!i.closed&&e.next(this._value),i}getValue(){const{hasError:e,thrownError:i,_value:s}=this;if(e)throw i;return this._throwIfClosed(),s}next(e){super.next(this._value=e)}}const{isArray:gD}=Array,{getPrototypeOf:mD,prototype:yD,keys:vD}=Object;const{isArray:CD}=Array;function AD(...t){const e=eo(t),i=function u0(t){return oe(el(t))?t.pop():void 0}(t),{args:s,keys:x}=function xD(t){if(1===t.length){const e=t[0];if(gD(e))return{args:e,keys:null};if(function bD(t){return t&&"object"==typeof t&&mD(t)===yD}(e)){const i=vD(e);return{args:i.map(s=>e[s]),keys:i}}}return{args:t,keys:null}}(t);if(0===s.length)return Xe([],e);const B=new r(function kD(t,e,i=l){return s=>{Sv(e,()=>{const{length:x}=t,B=new Array(x);let Z=x,nt=x;for(let lt=0;lt<x;lt++)Sv(e,()=>{const pt=Xe(t[lt],e);let vt=!1;pt.subscribe(A(s,bt=>{B[lt]=bt,vt||(vt=!0,nt--),nt||s.next(i(B.slice()))},()=>{--Z||s.complete()}))},s)},s)}}(s,e,x?Z=>function SD(t,e){return t.reduce((i,s,x)=>(i[s]=e[x],i),{})}(x,Z):l));return i?B.pipe(function wD(t){return z(e=>function MD(t,e){return CD(e)?t(...e):t(e)}(t,e))}(i)):B}function Sv(t,e,i){t?an(i,t,e):e()}function Ia(t,e){const i=oe(t)?t:()=>t,s=x=>x.error(i());return new r(e?x=>e.schedule(s,0,x):s)}const _a=de(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function pd(...t){return function TD(){return to(1)}()(Xe(t,eo(t)))}function Av(t){return new r(e=>{ue(t()).subscribe(e)})}function kv(){return h((t,e)=>{let i=null;t._refCount++;const s=A(e,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(i=null);const x=t._connection,B=i;i=null,x&&(!B||x===B)&&x.unsubscribe(),e.unsubscribe()});t.subscribe(s),s.closed||(i=t.connect())})}class ED extends r{constructor(e,i){super(),this.source=e,this.subjectFactory=i,this._subject=null,this._refCount=0,this._connection=null,a(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:e}=this;this._subject=this._connection=null,null==e||e.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new X;const i=this.getSubject();e.add(this.source.subscribe(A(i,void 0,()=>{this._teardown(),i.complete()},s=>{this._teardown(),i.error(s)},()=>this._teardown()))),e.closed&&(this._connection=null,e=X.EMPTY)}return e}refCount(){return kv()(this)}}function Qn(t,e){return h((i,s)=>{let x=null,B=0,Z=!1;const nt=()=>Z&&!x&&s.complete();i.subscribe(A(s,lt=>{null==x||x.unsubscribe();let pt=0;const vt=B++;ue(t(lt,vt)).subscribe(x=A(s,bt=>s.next(e?e(lt,bt,vt,pt++):bt),()=>{x=null,nt()}))},()=>{Z=!0,nt()}))})}function PD(t,e,i,s,x){return(B,Z)=>{let nt=i,lt=e,pt=0;B.subscribe(A(Z,vt=>{const bt=pt++;lt=nt?t(lt,vt,bt):(nt=!0,vt),s&&Z.next(lt)},x&&(()=>{nt&&Z.next(lt),Z.complete()})))}}function Tv(t,e){return h(PD(t,e,arguments.length>=2,!0))}function Jn(t,e){return h((i,s)=>{let x=0;i.subscribe(A(s,B=>t.call(e,B,x++)&&s.next(B)))})}function bn(t){return h((e,i)=>{let B,s=null,x=!1;s=e.subscribe(A(i,void 0,void 0,Z=>{B=ue(t(Z,bn(t)(e))),s?(s.unsubscribe(),s=null,B.subscribe(i)):x=!0})),x&&(s.unsubscribe(),s=null,B.subscribe(i))})}function $r(t,e){return oe(e)?Ge(t,e,1):Ge(t,1)}function fd(t){return t<=0?()=>ln:h((e,i)=>{let s=[];e.subscribe(A(i,x=>{s.push(x),t<s.length&&s.shift()},()=>{for(const x of s)i.next(x);i.complete()},void 0,()=>{s=null}))})}function Ev(t=OD){return h((e,i)=>{let s=!1;e.subscribe(A(i,x=>{s=!0,i.next(x)},()=>s?i.complete():i.error(t())))})}function OD(){return new _a}function Dv(t){return h((e,i)=>{let s=!1;e.subscribe(A(i,x=>{s=!0,i.next(x)},()=>{s||i.next(t),i.complete()}))})}function Zr(t,e){const i=arguments.length>=2;return s=>s.pipe(t?Jn((x,B)=>t(x,B,s)):l,io(1),i?Dv(e):Ev(()=>new _a))}function Ci(t,e,i){const s=oe(t)||e||i?{next:t,error:e,complete:i}:t;return s?h((x,B)=>{var Z;null===(Z=s.subscribe)||void 0===Z||Z.call(s);let nt=!0;x.subscribe(A(B,lt=>{var pt;null===(pt=s.next)||void 0===pt||pt.call(s,lt),B.next(lt)},()=>{var lt;nt=!1,null===(lt=s.complete)||void 0===lt||lt.call(s),B.complete()},lt=>{var pt;nt=!1,null===(pt=s.error)||void 0===pt||pt.call(s,lt),B.error(lt)},()=>{var lt,pt;nt&&(null===(lt=s.unsubscribe)||void 0===lt||lt.call(s)),null===(pt=s.finalize)||void 0===pt||pt.call(s)}))}):l}class Cn{constructor(e,i){this.id=e,this.url=i}}class gd extends Cn{constructor(e,i,s="imperative",x=null){super(e,i),this.navigationTrigger=s,this.restoredState=x}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Jo extends Cn{constructor(e,i,s){super(e,i),this.urlAfterRedirects=s}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Pv extends Cn{constructor(e,i,s){super(e,i),this.reason=s}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class _D extends Cn{constructor(e,i,s){super(e,i),this.error=s}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class RD extends Cn{constructor(e,i,s,x){super(e,i),this.urlAfterRedirects=s,this.state=x}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class jD extends Cn{constructor(e,i,s,x){super(e,i),this.urlAfterRedirects=s,this.state=x}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ND extends Cn{constructor(e,i,s,x,B){super(e,i),this.urlAfterRedirects=s,this.state=x,this.shouldActivate=B}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class BD extends Cn{constructor(e,i,s,x){super(e,i),this.urlAfterRedirects=s,this.state=x}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class FD extends Cn{constructor(e,i,s,x){super(e,i),this.urlAfterRedirects=s,this.state=x}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ov{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Lv{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class zD{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class HD{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class WD{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class GD{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Iv{constructor(e,i,s){this.routerEvent=e,this.position=i,this.anchor=s}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ce="primary";class UD{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){const i=this.params[e];return Array.isArray(i)?i[0]:i}return null}getAll(e){if(this.has(e)){const i=this.params[e];return Array.isArray(i)?i:[i]}return[]}get keys(){return Object.keys(this.params)}}function Kr(t){return new UD(t)}const _v="ngNavigationCancelingError";function md(t){const e=Error("NavigationCancelingError: "+t);return e[_v]=!0,e}function XD(t,e,i){const s=i.path.split("/");if(s.length>t.length||"full"===i.pathMatch&&(e.hasChildren()||s.length<t.length))return null;const x={};for(let B=0;B<s.length;B++){const Z=s[B],nt=t[B];if(Z.startsWith(":"))x[Z.substring(1)]=nt;else if(Z!==nt.path)return null}return{consumed:t.slice(0,s.length),posParams:x}}function on(t,e){const i=t?Object.keys(t):void 0,s=e?Object.keys(e):void 0;if(!i||!s||i.length!=s.length)return!1;let x;for(let B=0;B<i.length;B++)if(x=i[B],!Rv(t[x],e[x]))return!1;return!0}function Rv(t,e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;const i=[...t].sort(),s=[...e].sort();return i.every((x,B)=>s[B]===x)}return t===e}function jv(t){return Array.prototype.concat.apply([],t)}function Nv(t){return t.length>0?t[t.length-1]:null}function Ke(t,e){for(const i in t)t.hasOwnProperty(i)&&e(t[i],i)}function sn(t){return gg(t)?t:ea(t)?Xe(Promise.resolve(t)):re(t)}const ZD={exact:function zv(t,e,i){if(!er(t.segments,e.segments)||!Ra(t.segments,e.segments,i)||t.numberOfChildren!==e.numberOfChildren)return!1;for(const s in e.children)if(!t.children[s]||!zv(t.children[s],e.children[s],i))return!1;return!0},subset:Hv},Bv={exact:function KD(t,e){return on(t,e)},subset:function qD(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(i=>Rv(t[i],e[i]))},ignored:()=>!0};function Fv(t,e,i){return ZD[i.paths](t.root,e.root,i.matrixParams)&&Bv[i.queryParams](t.queryParams,e.queryParams)&&!("exact"===i.fragment&&t.fragment!==e.fragment)}function Hv(t,e,i){return Wv(t,e,e.segments,i)}function Wv(t,e,i,s){if(t.segments.length>i.length){const x=t.segments.slice(0,i.length);return!(!er(x,i)||e.hasChildren()||!Ra(x,i,s))}if(t.segments.length===i.length){if(!er(t.segments,i)||!Ra(t.segments,i,s))return!1;for(const x in e.children)if(!t.children[x]||!Hv(t.children[x],e.children[x],s))return!1;return!0}{const x=i.slice(0,t.segments.length),B=i.slice(t.segments.length);return!!(er(t.segments,x)&&Ra(t.segments,x,s)&&t.children[ce])&&Wv(t.children[ce],e,B,s)}}function Ra(t,e,i){return e.every((s,x)=>Bv[i](t[x].parameters,s.parameters))}class tr{constructor(e,i,s){this.root=e,this.queryParams=i,this.fragment=s}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Kr(this.queryParams)),this._queryParamMap}toString(){return tP.serialize(this)}}class ge{constructor(e,i){this.segments=e,this.children=i,this.parent=null,Ke(i,(s,x)=>s.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return ja(this)}}class ts{constructor(e,i){this.path=e,this.parameters=i}get parameterMap(){return this._parameterMap||(this._parameterMap=Kr(this.parameters)),this._parameterMap}toString(){return Yv(this)}}function er(t,e){return t.length===e.length&&t.every((i,s)=>i.path===e[s].path)}class Gv{}class Uv{parse(e){const i=new hP(e);return new tr(i.parseRootSegment(),i.parseQueryParams(),i.parseFragment())}serialize(e){const i=`/${es(e.root,!0)}`,s=function nP(t){const e=Object.keys(t).map(i=>{const s=t[i];return Array.isArray(s)?s.map(x=>`${Na(i)}=${Na(x)}`).join("&"):`${Na(i)}=${Na(s)}`}).filter(i=>!!i);return e.length?`?${e.join("&")}`:""}(e.queryParams);return`${i}${s}${"string"==typeof e.fragment?`#${function eP(t){return encodeURI(t)}(e.fragment)}`:""}`}}const tP=new Uv;function ja(t){return t.segments.map(e=>Yv(e)).join("/")}function es(t,e){if(!t.hasChildren())return ja(t);if(e){const i=t.children[ce]?es(t.children[ce],!1):"",s=[];return Ke(t.children,(x,B)=>{B!==ce&&s.push(`${B}:${es(x,!1)}`)}),s.length>0?`${i}(${s.join("//")})`:i}{const i=function JD(t,e){let i=[];return Ke(t.children,(s,x)=>{x===ce&&(i=i.concat(e(s,x)))}),Ke(t.children,(s,x)=>{x!==ce&&(i=i.concat(e(s,x)))}),i}(t,(s,x)=>x===ce?[es(t.children[ce],!1)]:[`${x}:${es(s,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[ce]?`${ja(t)}/${i[0]}`:`${ja(t)}/(${i.join("//")})`}}function Vv(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Na(t){return Vv(t).replace(/%3B/gi,";")}function yd(t){return Vv(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ba(t){return decodeURIComponent(t)}function Xv(t){return Ba(t.replace(/\+/g,"%20"))}function Yv(t){return`${yd(t.path)}${function iP(t){return Object.keys(t).map(e=>`;${yd(e)}=${yd(t[e])}`).join("")}(t.parameters)}`}const rP=/^[^\/()?;=#]+/;function Fa(t){const e=t.match(rP);return e?e[0]:""}const oP=/^[^=?&#]+/,aP=/^[^&#]+/;class hP{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ge([],{}):new ge([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let i={};this.peekStartsWith("/(")&&(this.capture("/"),i=this.parseParens(!0));let s={};return this.peekStartsWith("(")&&(s=this.parseParens(!1)),(e.length>0||Object.keys(i).length>0)&&(s[ce]=new ge(e,i)),s}parseSegment(){const e=Fa(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new ts(Ba(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const i=Fa(this.remaining);if(!i)return;this.capture(i);let s="";if(this.consumeOptional("=")){const x=Fa(this.remaining);x&&(s=x,this.capture(s))}e[Ba(i)]=Ba(s)}parseQueryParam(e){const i=function sP(t){const e=t.match(oP);return e?e[0]:""}(this.remaining);if(!i)return;this.capture(i);let s="";if(this.consumeOptional("=")){const Z=function lP(t){const e=t.match(aP);return e?e[0]:""}(this.remaining);Z&&(s=Z,this.capture(s))}const x=Xv(i),B=Xv(s);if(e.hasOwnProperty(x)){let Z=e[x];Array.isArray(Z)||(Z=[Z],e[x]=Z),Z.push(B)}else e[x]=B}parseParens(e){const i={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const s=Fa(this.remaining),x=this.remaining[s.length];if("/"!==x&&")"!==x&&";"!==x)throw new Error(`Cannot parse url '${this.url}'`);let B;s.indexOf(":")>-1?(B=s.substr(0,s.indexOf(":")),this.capture(B),this.capture(":")):e&&(B=ce);const Z=this.parseChildren();i[B]=1===Object.keys(Z).length?Z[ce]:new ge([],Z),this.consumeOptional("//")}return i}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class $v{constructor(e){this._root=e}get root(){return this._root.value}parent(e){const i=this.pathFromRoot(e);return i.length>1?i[i.length-2]:null}children(e){const i=vd(e,this._root);return i?i.children.map(s=>s.value):[]}firstChild(e){const i=vd(e,this._root);return i&&i.children.length>0?i.children[0].value:null}siblings(e){const i=xd(e,this._root);return i.length<2?[]:i[i.length-2].children.map(x=>x.value).filter(x=>x!==e)}pathFromRoot(e){return xd(e,this._root).map(i=>i.value)}}function vd(t,e){if(t===e.value)return e;for(const i of e.children){const s=vd(t,i);if(s)return s}return null}function xd(t,e){if(t===e.value)return[e];for(const i of e.children){const s=xd(t,i);if(s.length)return s.unshift(e),s}return[]}class Mn{constructor(e,i){this.value=e,this.children=i}toString(){return`TreeNode(${this.value})`}}function qr(t){const e={};return t&&t.children.forEach(i=>e[i.value.outlet]=i),e}class Zv extends $v{constructor(e,i){super(e),this.snapshot=i,bd(this,e)}toString(){return this.snapshot.toString()}}function Kv(t,e){const i=function cP(t,e){const Z=new za([],{},{},"",{},ce,e,null,t.root,-1,{});return new Qv("",new Mn(Z,[]))}(t,e),s=new Xi([new ts("",{})]),x=new Xi({}),B=new Xi({}),Z=new Xi({}),nt=new Xi(""),lt=new Qr(s,x,Z,nt,B,ce,e,i.root);return lt.snapshot=i.root,new Zv(new Mn(lt,[]),i)}class Qr{constructor(e,i,s,x,B,Z,nt,lt){this.url=e,this.params=i,this.queryParams=s,this.fragment=x,this.data=B,this.outlet=Z,this.component=nt,this._futureSnapshot=lt}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(z(e=>Kr(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(z(e=>Kr(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function qv(t,e="emptyOnly"){const i=t.pathFromRoot;let s=0;if("always"!==e)for(s=i.length-1;s>=1;){const x=i[s],B=i[s-1];if(x.routeConfig&&""===x.routeConfig.path)s--;else{if(B.component)break;s--}}return function dP(t){return t.reduce((e,i)=>({params:Object.assign(Object.assign({},e.params),i.params),data:Object.assign(Object.assign({},e.data),i.data),resolve:Object.assign(Object.assign({},e.resolve),i._resolvedData)}),{params:{},data:{},resolve:{}})}(i.slice(s))}class za{constructor(e,i,s,x,B,Z,nt,lt,pt,vt,bt){this.url=e,this.params=i,this.queryParams=s,this.fragment=x,this.data=B,this.outlet=Z,this.component=nt,this.routeConfig=lt,this._urlSegment=pt,this._lastPathIndex=vt,this._resolve=bt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=Kr(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Kr(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(s=>s.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Qv extends $v{constructor(e,i){super(i),this.url=e,bd(this,i)}toString(){return Jv(this._root)}}function bd(t,e){e.value._routerState=t,e.children.forEach(i=>bd(t,i))}function Jv(t){const e=t.children.length>0?` { ${t.children.map(Jv).join(", ")} } `:"";return`${t.value}${e}`}function Cd(t){if(t.snapshot){const e=t.snapshot,i=t._futureSnapshot;t.snapshot=i,on(e.queryParams,i.queryParams)||t.queryParams.next(i.queryParams),e.fragment!==i.fragment&&t.fragment.next(i.fragment),on(e.params,i.params)||t.params.next(i.params),function YD(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!on(t[i],e[i]))return!1;return!0}(e.url,i.url)||t.url.next(i.url),on(e.data,i.data)||t.data.next(i.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function Md(t,e){const i=on(t.params,e.params)&&function QD(t,e){return er(t,e)&&t.every((i,s)=>on(i.parameters,e[s].parameters))}(t.url,e.url);return i&&!(!t.parent!=!e.parent)&&(!t.parent||Md(t.parent,e.parent))}function is(t,e,i){if(i&&t.shouldReuseRoute(e.value,i.value.snapshot)){const s=i.value;s._futureSnapshot=e.value;const x=function pP(t,e,i){return e.children.map(s=>{for(const x of i.children)if(t.shouldReuseRoute(s.value,x.value.snapshot))return is(t,s,x);return is(t,s)})}(t,e,i);return new Mn(s,x)}{if(t.shouldAttach(e.value)){const B=t.retrieve(e.value);if(null!==B){const Z=B.route;return Z.value._futureSnapshot=e.value,Z.children=e.children.map(nt=>is(t,nt)),Z}}const s=function fP(t){return new Qr(new Xi(t.url),new Xi(t.params),new Xi(t.queryParams),new Xi(t.fragment),new Xi(t.data),t.outlet,t.component,t)}(e.value),x=e.children.map(B=>is(t,B));return new Mn(s,x)}}function Ha(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function ns(t){return"object"==typeof t&&null!=t&&t.outlets}function wd(t,e,i,s,x){let B={};if(s&&Ke(s,(nt,lt)=>{B[lt]=Array.isArray(nt)?nt.map(pt=>`${pt}`):`${nt}`}),t===e)return new tr(i,B,x);const Z=tx(t,e,i);return new tr(Z,B,x)}function tx(t,e,i){const s={};return Ke(t.children,(x,B)=>{s[B]=x===e?i:tx(x,e,i)}),new ge(t.segments,s)}class ex{constructor(e,i,s){if(this.isAbsolute=e,this.numberOfDoubleDots=i,this.commands=s,e&&s.length>0&&Ha(s[0]))throw new Error("Root segment cannot have matrix parameters");const x=s.find(ns);if(x&&x!==Nv(s))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Sd{constructor(e,i,s){this.segmentGroup=e,this.processChildren=i,this.index=s}}function ix(t,e,i){if(t||(t=new ge([],{})),0===t.segments.length&&t.hasChildren())return Wa(t,e,i);const s=function bP(t,e,i){let s=0,x=e;const B={match:!1,pathIndex:0,commandIndex:0};for(;x<t.segments.length;){if(s>=i.length)return B;const Z=t.segments[x],nt=i[s];if(ns(nt))break;const lt=`${nt}`,pt=s<i.length-1?i[s+1]:null;if(x>0&&void 0===lt)break;if(lt&&pt&&"object"==typeof pt&&void 0===pt.outlets){if(!rx(lt,pt,Z))return B;s+=2}else{if(!rx(lt,{},Z))return B;s++}x++}return{match:!0,pathIndex:x,commandIndex:s}}(t,e,i),x=i.slice(s.commandIndex);if(s.match&&s.pathIndex<t.segments.length){const B=new ge(t.segments.slice(0,s.pathIndex),{});return B.children[ce]=new ge(t.segments.slice(s.pathIndex),t.children),Wa(B,0,x)}return s.match&&0===x.length?new ge(t.segments,{}):s.match&&!t.hasChildren()?Ad(t,e,i):s.match?Wa(t,0,x):Ad(t,e,i)}function Wa(t,e,i){if(0===i.length)return new ge(t.segments,{});{const s=function xP(t){return ns(t[0])?t[0].outlets:{[ce]:t}}(i),x={};return Ke(s,(B,Z)=>{"string"==typeof B&&(B=[B]),null!==B&&(x[Z]=ix(t.children[Z],e,B))}),Ke(t.children,(B,Z)=>{void 0===s[Z]&&(x[Z]=B)}),new ge(t.segments,x)}}function Ad(t,e,i){const s=t.segments.slice(0,e);let x=0;for(;x<i.length;){const B=i[x];if(ns(B)){const lt=CP(B.outlets);return new ge(s,lt)}if(0===x&&Ha(i[0])){s.push(new ts(t.segments[e].path,nx(i[0]))),x++;continue}const Z=ns(B)?B.outlets[ce]:`${B}`,nt=x<i.length-1?i[x+1]:null;Z&&nt&&Ha(nt)?(s.push(new ts(Z,nx(nt))),x+=2):(s.push(new ts(Z,{})),x++)}return new ge(s,{})}function CP(t){const e={};return Ke(t,(i,s)=>{"string"==typeof i&&(i=[i]),null!==i&&(e[s]=Ad(new ge([],{}),0,i))}),e}function nx(t){const e={};return Ke(t,(i,s)=>e[s]=`${i}`),e}function rx(t,e,i){return t==i.path&&on(e,i.parameters)}class wP{constructor(e,i,s,x){this.routeReuseStrategy=e,this.futureState=i,this.currState=s,this.forwardEvent=x}activate(e){const i=this.futureState._root,s=this.currState?this.currState._root:null;this.deactivateChildRoutes(i,s,e),Cd(this.futureState.root),this.activateChildRoutes(i,s,e)}deactivateChildRoutes(e,i,s){const x=qr(i);e.children.forEach(B=>{const Z=B.value.outlet;this.deactivateRoutes(B,x[Z],s),delete x[Z]}),Ke(x,(B,Z)=>{this.deactivateRouteAndItsChildren(B,s)})}deactivateRoutes(e,i,s){const x=e.value,B=i?i.value:null;if(x===B)if(x.component){const Z=s.getContext(x.outlet);Z&&this.deactivateChildRoutes(e,i,Z.children)}else this.deactivateChildRoutes(e,i,s);else B&&this.deactivateRouteAndItsChildren(i,s)}deactivateRouteAndItsChildren(e,i){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,i):this.deactivateRouteAndOutlet(e,i)}detachAndStoreRouteSubtree(e,i){const s=i.getContext(e.value.outlet),x=s&&e.value.component?s.children:i,B=qr(e);for(const Z of Object.keys(B))this.deactivateRouteAndItsChildren(B[Z],x);if(s&&s.outlet){const Z=s.outlet.detach(),nt=s.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:Z,route:e,contexts:nt})}}deactivateRouteAndOutlet(e,i){const s=i.getContext(e.value.outlet),x=s&&e.value.component?s.children:i,B=qr(e);for(const Z of Object.keys(B))this.deactivateRouteAndItsChildren(B[Z],x);s&&s.outlet&&(s.outlet.deactivate(),s.children.onOutletDeactivated(),s.attachRef=null,s.resolver=null,s.route=null)}activateChildRoutes(e,i,s){const x=qr(i);e.children.forEach(B=>{this.activateRoutes(B,x[B.value.outlet],s),this.forwardEvent(new GD(B.value.snapshot))}),e.children.length&&this.forwardEvent(new HD(e.value.snapshot))}activateRoutes(e,i,s){const x=e.value,B=i?i.value:null;if(Cd(x),x===B)if(x.component){const Z=s.getOrCreateContext(x.outlet);this.activateChildRoutes(e,i,Z.children)}else this.activateChildRoutes(e,i,s);else if(x.component){const Z=s.getOrCreateContext(x.outlet);if(this.routeReuseStrategy.shouldAttach(x.snapshot)){const nt=this.routeReuseStrategy.retrieve(x.snapshot);this.routeReuseStrategy.store(x.snapshot,null),Z.children.onOutletReAttached(nt.contexts),Z.attachRef=nt.componentRef,Z.route=nt.route.value,Z.outlet&&Z.outlet.attach(nt.componentRef,nt.route.value),Cd(nt.route.value),this.activateChildRoutes(e,null,Z.children)}else{const nt=function SP(t){for(let e=t.parent;e;e=e.parent){const i=e.routeConfig;if(i&&i._loadedConfig)return i._loadedConfig;if(i&&i.component)return null}return null}(x.snapshot),lt=nt?nt.module.componentFactoryResolver:null;Z.attachRef=null,Z.route=x,Z.resolver=lt,Z.outlet&&Z.outlet.activateWith(x,lt),this.activateChildRoutes(e,null,Z.children)}}else this.activateChildRoutes(e,null,s)}}class kd{constructor(e,i){this.routes=e,this.module=i}}function Bn(t){return"function"==typeof t}function ir(t){return t instanceof tr}const rs=Symbol("INITIAL_VALUE");function os(){return Qn(t=>AD(t.map(e=>e.pipe(io(1),function DD(...t){const e=eo(t);return h((i,s)=>{(e?pd(t,i,e):pd(t,i)).subscribe(s)})}(rs)))).pipe(Tv((e,i)=>{let s=!1;return i.reduce((x,B,Z)=>x!==rs?x:(B===rs&&(s=!0),s||!1!==B&&Z!==i.length-1&&!ir(B)?x:B),e)},rs),Jn(e=>e!==rs),z(e=>ir(e)?e:!0===e),io(1)))}class PP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new ss,this.attachRef=null}}class ss{constructor(){this.contexts=new Map}onChildOutletCreated(e,i){const s=this.getOrCreateContext(e);s.outlet=i,this.contexts.set(e,s)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new PP,this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}}let Td=(()=>{class t{constructor(i,s,x,B,Z){this.parentContexts=i,this.location=s,this.resolver=x,this.changeDetector=Z,this.activated=null,this._activatedRoute=null,this.activateEvents=new oi,this.deactivateEvents=new oi,this.attachEvents=new oi,this.detachEvents=new oi,this.name=B||ce,i.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const i=this.parentContexts.getContext(this.name);i&&i.route&&(i.attachRef?this.attach(i.attachRef,i.route):this.activateWith(i.route,i.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const i=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(i.instance),i}attach(i,s){this.activated=i,this._activatedRoute=s,this.location.insert(i.hostView),this.attachEvents.emit(i.instance)}deactivate(){if(this.activated){const i=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(i)}}activateWith(i,s){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=i;const Z=(s=s||this.resolver).resolveComponentFactory(i._futureSnapshot.routeConfig.component),nt=this.parentContexts.getOrCreateContext(this.name).children,lt=new OP(i,nt,this.location.injector);this.activated=this.location.createComponent(Z,this.location.length,lt),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(i){return new(i||t)(Yt(ss),Yt(Gi),Yt(Ho),function fo(t){return function Db(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const i=t.attrs;if(i){const s=i.length;let x=0;for(;x<s;){const B=i[x];if(Nu(B))break;if(0===B)x+=2;else if("number"==typeof B)for(x++;x<s&&"string"==typeof i[x];)x++;else{if(B===e)return i[x+1];x+=2}}}return null}(Fe(),t)}("name"),Yt(Fc))},t.\u0275dir=$e({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),t})();class OP{constructor(e,i,s){this.route=e,this.childContexts=i,this.parent=s}get(e,i){return e===Qr?this.route:e===ss?this.childContexts:this.parent.get(e,i)}}let ox=(()=>{class t{}return t.\u0275fac=function(i){return new(i||t)},t.\u0275cmp=ro({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(i,s){1&i&&Ro(0,"router-outlet")},directives:[Td],encapsulation:2}),t})();function sx(t,e=""){for(let i=0;i<t.length;i++){const s=t[i];LP(s,IP(e,s))}}function LP(t,e){t.children&&sx(t.children,e)}function IP(t,e){return e?t||e.path?t&&!e.path?`${t}/`:!t&&e.path?e.path:`${t}/${e.path}`:"":t}function Ed(t){const e=t.children&&t.children.map(Ed),i=e?Object.assign(Object.assign({},t),{children:e}):Object.assign({},t);return!i.component&&(e||i.loadChildren)&&i.outlet&&i.outlet!==ce&&(i.component=ox),i}function Li(t){return t.outlet||ce}function ax(t,e){const i=t.filter(s=>Li(s)===e);return i.push(...t.filter(s=>Li(s)!==e)),i}const lx={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Ga(t,e,i){var s;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||i.length>0)?Object.assign({},lx):{matched:!0,consumedSegments:[],remainingSegments:i,parameters:{},positionalParamSegments:{}};const B=(e.matcher||XD)(i,t,e);if(!B)return Object.assign({},lx);const Z={};Ke(B.posParams,(lt,pt)=>{Z[pt]=lt.path});const nt=B.consumed.length>0?Object.assign(Object.assign({},Z),B.consumed[B.consumed.length-1].parameters):Z;return{matched:!0,consumedSegments:B.consumed,remainingSegments:i.slice(B.consumed.length),parameters:nt,positionalParamSegments:null!==(s=B.posParams)&&void 0!==s?s:{}}}function Ua(t,e,i,s,x="corrected"){if(i.length>0&&function jP(t,e,i){return i.some(s=>Va(t,e,s)&&Li(s)!==ce)}(t,i,s)){const Z=new ge(e,function RP(t,e,i,s){const x={};x[ce]=s,s._sourceSegment=t,s._segmentIndexShift=e.length;for(const B of i)if(""===B.path&&Li(B)!==ce){const Z=new ge([],{});Z._sourceSegment=t,Z._segmentIndexShift=e.length,x[Li(B)]=Z}return x}(t,e,s,new ge(i,t.children)));return Z._sourceSegment=t,Z._segmentIndexShift=e.length,{segmentGroup:Z,slicedSegments:[]}}if(0===i.length&&function NP(t,e,i){return i.some(s=>Va(t,e,s))}(t,i,s)){const Z=new ge(t.segments,function _P(t,e,i,s,x,B){const Z={};for(const nt of s)if(Va(t,i,nt)&&!x[Li(nt)]){const lt=new ge([],{});lt._sourceSegment=t,lt._segmentIndexShift="legacy"===B?t.segments.length:e.length,Z[Li(nt)]=lt}return Object.assign(Object.assign({},x),Z)}(t,e,i,s,t.children,x));return Z._sourceSegment=t,Z._segmentIndexShift=e.length,{segmentGroup:Z,slicedSegments:i}}const B=new ge(t.segments,t.children);return B._sourceSegment=t,B._segmentIndexShift=e.length,{segmentGroup:B,slicedSegments:i}}function Va(t,e,i){return(!(t.hasChildren()||e.length>0)||"full"!==i.pathMatch)&&""===i.path}function hx(t,e,i,s){return!!(Li(t)===s||s!==ce&&Va(e,i,t))&&("**"===t.path||Ga(e,t,i).matched)}function cx(t,e,i){return 0===e.length&&!t.children[i]}class Xa{constructor(e){this.segmentGroup=e||null}}class dx{constructor(e){this.urlTree=e}}function as(t){return Ia(new Xa(t))}function ux(t){return Ia(new dx(t))}class HP{constructor(e,i,s,x,B){this.configLoader=i,this.urlSerializer=s,this.urlTree=x,this.config=B,this.allowRedirects=!0,this.ngModule=e.get(mn)}apply(){const e=Ua(this.urlTree.root,[],[],this.config).segmentGroup,i=new ge(e.segments,e.children);return this.expandSegmentGroup(this.ngModule,this.config,i,ce).pipe(z(B=>this.createUrlTree(Dd(B),this.urlTree.queryParams,this.urlTree.fragment))).pipe(bn(B=>{if(B instanceof dx)return this.allowRedirects=!1,this.match(B.urlTree);throw B instanceof Xa?this.noMatchError(B):B}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,ce).pipe(z(x=>this.createUrlTree(Dd(x),e.queryParams,e.fragment))).pipe(bn(x=>{throw x instanceof Xa?this.noMatchError(x):x}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,i,s){const x=e.segments.length>0?new ge([],{[ce]:e}):e;return new tr(x,i,s)}expandSegmentGroup(e,i,s,x){return 0===s.segments.length&&s.hasChildren()?this.expandChildren(e,i,s).pipe(z(B=>new ge([],B))):this.expandSegment(e,s,i,s.segments,x,!0)}expandChildren(e,i,s){const x=[];for(const B of Object.keys(s.children))"primary"===B?x.unshift(B):x.push(B);return Xe(x).pipe($r(B=>{const Z=s.children[B],nt=ax(i,B);return this.expandSegmentGroup(e,nt,Z,B).pipe(z(lt=>({segment:lt,outlet:B})))}),Tv((B,Z)=>(B[Z.outlet]=Z.segment,B),{}),function LD(t,e){const i=arguments.length>=2;return s=>s.pipe(t?Jn((x,B)=>t(x,B,s)):l,fd(1),i?Dv(e):Ev(()=>new _a))}())}expandSegment(e,i,s,x,B,Z){return Xe(s).pipe($r(nt=>this.expandSegmentAgainstRoute(e,i,s,nt,x,B,Z).pipe(bn(pt=>{if(pt instanceof Xa)return re(null);throw pt}))),Zr(nt=>!!nt),bn((nt,lt)=>{if(nt instanceof _a||"EmptyError"===nt.name)return cx(i,x,B)?re(new ge([],{})):as(i);throw nt}))}expandSegmentAgainstRoute(e,i,s,x,B,Z,nt){return hx(x,i,B,Z)?void 0===x.redirectTo?this.matchSegmentAgainstRoute(e,i,x,B,Z):nt&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,i,s,x,B,Z):as(i):as(i)}expandSegmentAgainstRouteUsingRedirect(e,i,s,x,B,Z){return"**"===x.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,s,x,Z):this.expandRegularSegmentAgainstRouteUsingRedirect(e,i,s,x,B,Z)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,i,s,x){const B=this.applyRedirectCommands([],s.redirectTo,{});return s.redirectTo.startsWith("/")?ux(B):this.lineralizeSegments(s,B).pipe(Ge(Z=>{const nt=new ge(Z,{});return this.expandSegment(e,nt,i,Z,x,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,i,s,x,B,Z){const{matched:nt,consumedSegments:lt,remainingSegments:pt,positionalParamSegments:vt}=Ga(i,x,B);if(!nt)return as(i);const bt=this.applyRedirectCommands(lt,x.redirectTo,vt);return x.redirectTo.startsWith("/")?ux(bt):this.lineralizeSegments(x,bt).pipe(Ge(wt=>this.expandSegment(e,i,s,wt.concat(pt),Z,!1)))}matchSegmentAgainstRoute(e,i,s,x,B){if("**"===s.path)return s.loadChildren?(s._loadedConfig?re(s._loadedConfig):this.configLoader.load(e.injector,s)).pipe(z(bt=>(s._loadedConfig=bt,new ge(x,{})))):re(new ge(x,{}));const{matched:Z,consumedSegments:nt,remainingSegments:lt}=Ga(i,s,x);return Z?this.getChildConfig(e,s,x).pipe(Ge(vt=>{const bt=vt.module,wt=vt.routes,{segmentGroup:At,slicedSegments:Dt}=Ua(i,nt,lt,wt),_t=new ge(At.segments,At.children);if(0===Dt.length&&_t.hasChildren())return this.expandChildren(bt,wt,_t).pipe(z(Xt=>new ge(nt,Xt)));if(0===wt.length&&0===Dt.length)return re(new ge(nt,{}));const Bt=Li(s)===B;return this.expandSegment(bt,_t,wt,Dt,Bt?ce:B,!0).pipe(z(It=>new ge(nt.concat(It.segments),It.children)))})):as(i)}getChildConfig(e,i,s){return i.children?re(new kd(i.children,e)):i.loadChildren?void 0!==i._loadedConfig?re(i._loadedConfig):this.runCanLoadGuards(e.injector,i,s).pipe(Ge(x=>x?this.configLoader.load(e.injector,i).pipe(z(B=>(i._loadedConfig=B,B))):function FP(t){return Ia(md(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`))}(i))):re(new kd([],e))}runCanLoadGuards(e,i,s){const x=i.canLoad;return x&&0!==x.length?re(x.map(Z=>{const nt=e.get(Z);let lt;if(function kP(t){return t&&Bn(t.canLoad)}(nt))lt=nt.canLoad(i,s);else{if(!Bn(nt))throw new Error("Invalid CanLoad guard");lt=nt(i,s)}return sn(lt)})).pipe(os(),Ci(Z=>{if(!ir(Z))return;const nt=md(`Redirecting to "${this.urlSerializer.serialize(Z)}"`);throw nt.url=Z,nt}),z(Z=>!0===Z)):re(!0)}lineralizeSegments(e,i){let s=[],x=i.root;for(;;){if(s=s.concat(x.segments),0===x.numberOfChildren)return re(s);if(x.numberOfChildren>1||!x.children[ce])return Ia(new Error(`Only absolute redirects can have named outlets. redirectTo: '${e.redirectTo}'`));x=x.children[ce]}}applyRedirectCommands(e,i,s){return this.applyRedirectCreatreUrlTree(i,this.urlSerializer.parse(i),e,s)}applyRedirectCreatreUrlTree(e,i,s,x){const B=this.createSegmentGroup(e,i.root,s,x);return new tr(B,this.createQueryParams(i.queryParams,this.urlTree.queryParams),i.fragment)}createQueryParams(e,i){const s={};return Ke(e,(x,B)=>{if("string"==typeof x&&x.startsWith(":")){const nt=x.substring(1);s[B]=i[nt]}else s[B]=x}),s}createSegmentGroup(e,i,s,x){const B=this.createSegments(e,i.segments,s,x);let Z={};return Ke(i.children,(nt,lt)=>{Z[lt]=this.createSegmentGroup(e,nt,s,x)}),new ge(B,Z)}createSegments(e,i,s,x){return i.map(B=>B.path.startsWith(":")?this.findPosParam(e,B,x):this.findOrReturn(B,s))}findPosParam(e,i,s){const x=s[i.path.substring(1)];if(!x)throw new Error(`Cannot redirect to '${e}'. Cannot find '${i.path}'.`);return x}findOrReturn(e,i){let s=0;for(const x of i){if(x.path===e.path)return i.splice(s),x;s++}return e}}function Dd(t){const e={};for(const s of Object.keys(t.children)){const B=Dd(t.children[s]);(B.segments.length>0||B.hasChildren())&&(e[s]=B)}return function WP(t){if(1===t.numberOfChildren&&t.children[ce]){const e=t.children[ce];return new ge(t.segments.concat(e.segments),e.children)}return t}(new ge(t.segments,e))}class px{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class Ya{constructor(e,i){this.component=e,this.route=i}}function UP(t,e,i){const s=t._root;return ls(s,e?e._root:null,i,[s.value])}function $a(t,e,i){const s=function XP(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const i=e.routeConfig;if(i&&i._loadedConfig)return i._loadedConfig}return null}(e);return(s?s.module.injector:i).get(t)}function ls(t,e,i,s,x={canDeactivateChecks:[],canActivateChecks:[]}){const B=qr(e);return t.children.forEach(Z=>{(function YP(t,e,i,s,x={canDeactivateChecks:[],canActivateChecks:[]}){const B=t.value,Z=e?e.value:null,nt=i?i.getContext(t.value.outlet):null;if(Z&&B.routeConfig===Z.routeConfig){const lt=function $P(t,e,i){if("function"==typeof i)return i(t,e);switch(i){case"pathParamsChange":return!er(t.url,e.url);case"pathParamsOrQueryParamsChange":return!er(t.url,e.url)||!on(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Md(t,e)||!on(t.queryParams,e.queryParams);default:return!Md(t,e)}}(Z,B,B.routeConfig.runGuardsAndResolvers);lt?x.canActivateChecks.push(new px(s)):(B.data=Z.data,B._resolvedData=Z._resolvedData),ls(t,e,B.component?nt?nt.children:null:i,s,x),lt&&nt&&nt.outlet&&nt.outlet.isActivated&&x.canDeactivateChecks.push(new Ya(nt.outlet.component,Z))}else Z&&hs(e,nt,x),x.canActivateChecks.push(new px(s)),ls(t,null,B.component?nt?nt.children:null:i,s,x)})(Z,B[Z.value.outlet],i,s.concat([Z.value]),x),delete B[Z.value.outlet]}),Ke(B,(Z,nt)=>hs(Z,i.getContext(nt),x)),x}function hs(t,e,i){const s=qr(t),x=t.value;Ke(s,(B,Z)=>{hs(B,x.component?e?e.children.getContext(Z):null:e,i)}),i.canDeactivateChecks.push(new Ya(x.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,x))}class nO{}function fx(t){return new r(e=>e.error(t))}class oO{constructor(e,i,s,x,B,Z){this.rootComponentType=e,this.config=i,this.urlTree=s,this.url=x,this.paramsInheritanceStrategy=B,this.relativeLinkResolution=Z}recognize(){const e=Ua(this.urlTree.root,[],[],this.config.filter(Z=>void 0===Z.redirectTo),this.relativeLinkResolution).segmentGroup,i=this.processSegmentGroup(this.config,e,ce);if(null===i)return null;const s=new za([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ce,this.rootComponentType,null,this.urlTree.root,-1,{}),x=new Mn(s,i),B=new Qv(this.url,x);return this.inheritParamsAndData(B._root),B}inheritParamsAndData(e){const i=e.value,s=qv(i,this.paramsInheritanceStrategy);i.params=Object.freeze(s.params),i.data=Object.freeze(s.data),e.children.forEach(x=>this.inheritParamsAndData(x))}processSegmentGroup(e,i,s){return 0===i.segments.length&&i.hasChildren()?this.processChildren(e,i):this.processSegment(e,i,i.segments,s)}processChildren(e,i){const s=[];for(const B of Object.keys(i.children)){const Z=i.children[B],nt=ax(e,B),lt=this.processSegmentGroup(nt,Z,B);if(null===lt)return null;s.push(...lt)}const x=gx(s);return function sO(t){t.sort((e,i)=>e.value.outlet===ce?-1:i.value.outlet===ce?1:e.value.outlet.localeCompare(i.value.outlet))}(x),x}processSegment(e,i,s,x){for(const B of e){const Z=this.processSegmentAgainstRoute(B,i,s,x);if(null!==Z)return Z}return cx(i,s,x)?[]:null}processSegmentAgainstRoute(e,i,s,x){if(e.redirectTo||!hx(e,i,s,x))return null;let B,Z=[],nt=[];if("**"===e.path){const At=s.length>0?Nv(s).parameters:{};B=new za(s,At,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,vx(e),Li(e),e.component,e,mx(i),yx(i)+s.length,xx(e))}else{const At=Ga(i,e,s);if(!At.matched)return null;Z=At.consumedSegments,nt=At.remainingSegments,B=new za(Z,At.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,vx(e),Li(e),e.component,e,mx(i),yx(i)+Z.length,xx(e))}const lt=function aO(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(e),{segmentGroup:pt,slicedSegments:vt}=Ua(i,Z,nt,lt.filter(At=>void 0===At.redirectTo),this.relativeLinkResolution);if(0===vt.length&&pt.hasChildren()){const At=this.processChildren(lt,pt);return null===At?null:[new Mn(B,At)]}if(0===lt.length&&0===vt.length)return[new Mn(B,[])];const bt=Li(e)===x,wt=this.processSegment(lt,pt,vt,bt?ce:x);return null===wt?null:[new Mn(B,wt)]}}function lO(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function gx(t){const e=[],i=new Set;for(const s of t){if(!lO(s)){e.push(s);continue}const x=e.find(B=>s.value.routeConfig===B.value.routeConfig);void 0!==x?(x.children.push(...s.children),i.add(x)):e.push(s)}for(const s of i){const x=gx(s.children);e.push(new Mn(s.value,x))}return e.filter(s=>!i.has(s))}function mx(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function yx(t){let e=t,i=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,i+=e._segmentIndexShift?e._segmentIndexShift:0;return i-1}function vx(t){return t.data||{}}function xx(t){return t.resolve||{}}function bx(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Pd(t){return Qn(e=>{const i=t(e);return i?Xe(i).pipe(z(()=>e)):re(e)})}class mO extends class gO{shouldDetach(e){return!1}store(e,i){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,i){return e.routeConfig===i.routeConfig}}{}const Od=new pe("ROUTES");class Cx{constructor(e,i,s,x){this.injector=e,this.compiler=i,this.onLoadStartListener=s,this.onLoadEndListener=x}load(e,i){if(i._loader$)return i._loader$;this.onLoadStartListener&&this.onLoadStartListener(i);const x=this.loadModuleFactory(i.loadChildren).pipe(z(B=>{this.onLoadEndListener&&this.onLoadEndListener(i);const Z=B.create(e);return new kd(jv(Z.injector.get(Od,void 0,Jt.Self|Jt.Optional)).map(Ed),Z)}),bn(B=>{throw i._loader$=void 0,B}));return i._loader$=new ED(x,()=>new d).pipe(kv()),i._loader$}loadModuleFactory(e){return sn(e()).pipe(Ge(i=>i instanceof Hm?re(i):Xe(this.compiler.compileModuleAsync(i))))}}class vO{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}}function xO(t){throw t}function bO(t,e,i){return e.parse("/")}function Mx(t,e){return re(null)}const CO={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},MO={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Mi=(()=>{class t{constructor(i,s,x,B,Z,nt,lt){this.rootComponentType=i,this.urlSerializer=s,this.rootContexts=x,this.location=B,this.config=lt,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new d,this.errorHandler=xO,this.malformedUriErrorHandler=bO,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Mx,afterPreactivation:Mx},this.urlHandlingStrategy=new vO,this.routeReuseStrategy=new mO,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=Z.get(mn),this.console=Z.get(vk);const bt=Z.get(Ze);this.isNgZoneEnabled=bt instanceof Ze&&Ze.isInAngularZone(),this.resetConfig(lt),this.currentUrlTree=function $D(){return new tr(new ge([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new Cx(Z,nt,wt=>this.triggerEvent(new Ov(wt)),wt=>this.triggerEvent(new Lv(wt))),this.routerState=Kv(this.currentUrlTree,this.rootComponentType),this.transitions=new Xi({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var i;return null===(i=this.location.getState())||void 0===i?void 0:i.\u0275routerPageId}setupNavigations(i){const s=this.events;return i.pipe(Jn(x=>0!==x.id),z(x=>Object.assign(Object.assign({},x),{extractedUrl:this.urlHandlingStrategy.extract(x.rawUrl)})),Qn(x=>{let B=!1,Z=!1;return re(x).pipe(Ci(nt=>{this.currentNavigation={id:nt.id,initialUrl:nt.currentRawUrl,extractedUrl:nt.extractedUrl,trigger:nt.source,extras:nt.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Qn(nt=>{const lt=this.browserUrlTree.toString(),pt=!this.navigated||nt.extractedUrl.toString()!==lt||lt!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||pt)&&this.urlHandlingStrategy.shouldProcessUrl(nt.rawUrl))return wx(nt.source)&&(this.browserUrlTree=nt.extractedUrl),re(nt).pipe(Qn(bt=>{const wt=this.transitions.getValue();return s.next(new gd(bt.id,this.serializeUrl(bt.extractedUrl),bt.source,bt.restoredState)),wt!==this.transitions.getValue()?ln:Promise.resolve(bt)}),function GP(t,e,i,s){return Qn(x=>function zP(t,e,i,s,x){return new HP(t,e,i,s,x).apply()}(t,e,i,x.extractedUrl,s).pipe(z(B=>Object.assign(Object.assign({},x),{urlAfterRedirects:B}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Ci(bt=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:bt.urlAfterRedirects})}),function hO(t,e,i,s,x){return Ge(B=>function rO(t,e,i,s,x="emptyOnly",B="legacy"){try{const Z=new oO(t,e,i,s,x,B).recognize();return null===Z?fx(new nO):re(Z)}catch(Z){return fx(Z)}}(t,e,B.urlAfterRedirects,i(B.urlAfterRedirects),s,x).pipe(z(Z=>Object.assign(Object.assign({},B),{targetSnapshot:Z}))))}(this.rootComponentType,this.config,bt=>this.serializeUrl(bt),this.paramsInheritanceStrategy,this.relativeLinkResolution),Ci(bt=>{if("eager"===this.urlUpdateStrategy){if(!bt.extras.skipLocationChange){const At=this.urlHandlingStrategy.merge(bt.urlAfterRedirects,bt.rawUrl);this.setBrowserUrl(At,bt)}this.browserUrlTree=bt.urlAfterRedirects}const wt=new RD(bt.id,this.serializeUrl(bt.extractedUrl),this.serializeUrl(bt.urlAfterRedirects),bt.targetSnapshot);s.next(wt)}));if(pt&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:wt,extractedUrl:At,source:Dt,restoredState:_t,extras:Bt}=nt,Nt=new gd(wt,this.serializeUrl(At),Dt,_t);s.next(Nt);const It=Kv(At,this.rootComponentType).snapshot;return re(Object.assign(Object.assign({},nt),{targetSnapshot:It,urlAfterRedirects:At,extras:Object.assign(Object.assign({},Bt),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=nt.rawUrl,nt.resolve(null),ln}),Pd(nt=>{const{targetSnapshot:lt,id:pt,extractedUrl:vt,rawUrl:bt,extras:{skipLocationChange:wt,replaceUrl:At}}=nt;return this.hooks.beforePreactivation(lt,{navigationId:pt,appliedUrlTree:vt,rawUrlTree:bt,skipLocationChange:!!wt,replaceUrl:!!At})}),Ci(nt=>{const lt=new jD(nt.id,this.serializeUrl(nt.extractedUrl),this.serializeUrl(nt.urlAfterRedirects),nt.targetSnapshot);this.triggerEvent(lt)}),z(nt=>Object.assign(Object.assign({},nt),{guards:UP(nt.targetSnapshot,nt.currentSnapshot,this.rootContexts)})),function ZP(t,e){return Ge(i=>{const{targetSnapshot:s,currentSnapshot:x,guards:{canActivateChecks:B,canDeactivateChecks:Z}}=i;return 0===Z.length&&0===B.length?re(Object.assign(Object.assign({},i),{guardsResult:!0})):function KP(t,e,i,s){return Xe(t).pipe(Ge(x=>function iO(t,e,i,s,x){const B=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return B&&0!==B.length?re(B.map(nt=>{const lt=$a(nt,e,x);let pt;if(function DP(t){return t&&Bn(t.canDeactivate)}(lt))pt=sn(lt.canDeactivate(t,e,i,s));else{if(!Bn(lt))throw new Error("Invalid CanDeactivate guard");pt=sn(lt(t,e,i,s))}return pt.pipe(Zr())})).pipe(os()):re(!0)}(x.component,x.route,i,e,s)),Zr(x=>!0!==x,!0))}(Z,s,x,t).pipe(Ge(nt=>nt&&function AP(t){return"boolean"==typeof t}(nt)?function qP(t,e,i,s){return Xe(e).pipe($r(x=>pd(function JP(t,e){return null!==t&&e&&e(new zD(t)),re(!0)}(x.route.parent,s),function QP(t,e){return null!==t&&e&&e(new WD(t)),re(!0)}(x.route,s),function eO(t,e,i){const s=e[e.length-1],B=e.slice(0,e.length-1).reverse().map(Z=>function VP(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(Z)).filter(Z=>null!==Z).map(Z=>Av(()=>re(Z.guards.map(lt=>{const pt=$a(lt,Z.node,i);let vt;if(function EP(t){return t&&Bn(t.canActivateChild)}(pt))vt=sn(pt.canActivateChild(s,t));else{if(!Bn(pt))throw new Error("Invalid CanActivateChild guard");vt=sn(pt(s,t))}return vt.pipe(Zr())})).pipe(os())));return re(B).pipe(os())}(t,x.path,i),function tO(t,e,i){const s=e.routeConfig?e.routeConfig.canActivate:null;if(!s||0===s.length)return re(!0);const x=s.map(B=>Av(()=>{const Z=$a(B,e,i);let nt;if(function TP(t){return t&&Bn(t.canActivate)}(Z))nt=sn(Z.canActivate(e,t));else{if(!Bn(Z))throw new Error("Invalid CanActivate guard");nt=sn(Z(e,t))}return nt.pipe(Zr())}));return re(x).pipe(os())}(t,x.route,i))),Zr(x=>!0!==x,!0))}(s,B,t,e):re(nt)),z(nt=>Object.assign(Object.assign({},i),{guardsResult:nt})))})}(this.ngModule.injector,nt=>this.triggerEvent(nt)),Ci(nt=>{if(ir(nt.guardsResult)){const pt=md(`Redirecting to "${this.serializeUrl(nt.guardsResult)}"`);throw pt.url=nt.guardsResult,pt}const lt=new ND(nt.id,this.serializeUrl(nt.extractedUrl),this.serializeUrl(nt.urlAfterRedirects),nt.targetSnapshot,!!nt.guardsResult);this.triggerEvent(lt)}),Jn(nt=>!!nt.guardsResult||(this.restoreHistory(nt),this.cancelNavigationTransition(nt,""),!1)),Pd(nt=>{if(nt.guards.canActivateChecks.length)return re(nt).pipe(Ci(lt=>{const pt=new BD(lt.id,this.serializeUrl(lt.extractedUrl),this.serializeUrl(lt.urlAfterRedirects),lt.targetSnapshot);this.triggerEvent(pt)}),Qn(lt=>{let pt=!1;return re(lt).pipe(function cO(t,e){return Ge(i=>{const{targetSnapshot:s,guards:{canActivateChecks:x}}=i;if(!x.length)return re(i);let B=0;return Xe(x).pipe($r(Z=>function dO(t,e,i,s){return function uO(t,e,i,s){const x=bx(t);if(0===x.length)return re({});const B={};return Xe(x).pipe(Ge(Z=>function pO(t,e,i,s){const x=$a(t,e,s);return sn(x.resolve?x.resolve(e,i):x(e,i))}(t[Z],e,i,s).pipe(Ci(nt=>{B[Z]=nt}))),fd(1),Ge(()=>bx(B).length===x.length?re(B):ln))}(t._resolve,t,e,s).pipe(z(B=>(t._resolvedData=B,t.data=Object.assign(Object.assign({},t.data),qv(t,i).resolve),null)))}(Z.route,s,t,e)),Ci(()=>B++),fd(1),Ge(Z=>B===x.length?re(i):ln))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Ci({next:()=>pt=!0,complete:()=>{pt||(this.restoreHistory(lt),this.cancelNavigationTransition(lt,"At least one route resolver didn't emit any value."))}}))}),Ci(lt=>{const pt=new FD(lt.id,this.serializeUrl(lt.extractedUrl),this.serializeUrl(lt.urlAfterRedirects),lt.targetSnapshot);this.triggerEvent(pt)}))}),Pd(nt=>{const{targetSnapshot:lt,id:pt,extractedUrl:vt,rawUrl:bt,extras:{skipLocationChange:wt,replaceUrl:At}}=nt;return this.hooks.afterPreactivation(lt,{navigationId:pt,appliedUrlTree:vt,rawUrlTree:bt,skipLocationChange:!!wt,replaceUrl:!!At})}),z(nt=>{const lt=function uP(t,e,i){const s=is(t,e._root,i?i._root:void 0);return new Zv(s,e)}(this.routeReuseStrategy,nt.targetSnapshot,nt.currentRouterState);return Object.assign(Object.assign({},nt),{targetRouterState:lt})}),Ci(nt=>{this.currentUrlTree=nt.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(nt.urlAfterRedirects,nt.rawUrl),this.routerState=nt.targetRouterState,"deferred"===this.urlUpdateStrategy&&(nt.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,nt),this.browserUrlTree=nt.urlAfterRedirects)}),((t,e,i)=>z(s=>(new wP(e,s.targetRouterState,s.currentRouterState,i).activate(t),s)))(this.rootContexts,this.routeReuseStrategy,nt=>this.triggerEvent(nt)),Ci({next(){B=!0},complete(){B=!0}}),function ID(t){return h((e,i)=>{try{e.subscribe(i)}finally{i.add(t)}})}(()=>{var nt;B||Z||this.cancelNavigationTransition(x,`Navigation ID ${x.id} is not equal to the current navigation id ${this.navigationId}`),(null===(nt=this.currentNavigation)||void 0===nt?void 0:nt.id)===x.id&&(this.currentNavigation=null)}),bn(nt=>{if(Z=!0,function VD(t){return t&&t[_v]}(nt)){const lt=ir(nt.url);lt||(this.navigated=!0,this.restoreHistory(x,!0));const pt=new Pv(x.id,this.serializeUrl(x.extractedUrl),nt.message);s.next(pt),lt?setTimeout(()=>{const vt=this.urlHandlingStrategy.merge(nt.url,this.rawUrlTree),bt={skipLocationChange:x.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||wx(x.source)};this.scheduleNavigation(vt,"imperative",null,bt,{resolve:x.resolve,reject:x.reject,promise:x.promise})},0):x.resolve(!1)}else{this.restoreHistory(x,!0);const lt=new _D(x.id,this.serializeUrl(x.extractedUrl),nt);s.next(lt);try{x.resolve(this.errorHandler(nt))}catch(pt){x.reject(pt)}}return ln}))}))}resetRootComponentType(i){this.rootComponentType=i,this.routerState.root.component=this.rootComponentType}setTransition(i){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),i))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(i=>{const s="popstate"===i.type?"popstate":"hashchange";"popstate"===s&&setTimeout(()=>{var x;const B={replaceUrl:!0},Z=(null===(x=i.state)||void 0===x?void 0:x.navigationId)?i.state:null;if(Z){const lt=Object.assign({},Z);delete lt.navigationId,delete lt.\u0275routerPageId,0!==Object.keys(lt).length&&(B.state=lt)}const nt=this.parseUrl(i.url);this.scheduleNavigation(nt,s,Z,B)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(i){this.events.next(i)}resetConfig(i){sx(i),this.config=i.map(Ed),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(i,s={}){const{relativeTo:x,queryParams:B,fragment:Z,queryParamsHandling:nt,preserveFragment:lt}=s,pt=x||this.routerState.root,vt=lt?this.currentUrlTree.fragment:Z;let bt=null;switch(nt){case"merge":bt=Object.assign(Object.assign({},this.currentUrlTree.queryParams),B);break;case"preserve":bt=this.currentUrlTree.queryParams;break;default:bt=B||null}return null!==bt&&(bt=this.removeEmptyProps(bt)),function gP(t,e,i,s,x){if(0===i.length)return wd(e.root,e.root,e.root,s,x);const B=function mP(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new ex(!0,0,t);let e=0,i=!1;const s=t.reduce((x,B,Z)=>{if("object"==typeof B&&null!=B){if(B.outlets){const nt={};return Ke(B.outlets,(lt,pt)=>{nt[pt]="string"==typeof lt?lt.split("/"):lt}),[...x,{outlets:nt}]}if(B.segmentPath)return[...x,B.segmentPath]}return"string"!=typeof B?[...x,B]:0===Z?(B.split("/").forEach((nt,lt)=>{0==lt&&"."===nt||(0==lt&&""===nt?i=!0:".."===nt?e++:""!=nt&&x.push(nt))}),x):[...x,B]},[]);return new ex(i,e,s)}(i);if(B.toRoot())return wd(e.root,e.root,new ge([],{}),s,x);const Z=function yP(t,e,i){if(t.isAbsolute)return new Sd(e.root,!0,0);if(-1===i.snapshot._lastPathIndex){const B=i.snapshot._urlSegment;return new Sd(B,B===e.root,0)}const s=Ha(t.commands[0])?0:1;return function vP(t,e,i){let s=t,x=e,B=i;for(;B>x;){if(B-=x,s=s.parent,!s)throw new Error("Invalid number of '../'");x=s.segments.length}return new Sd(s,!1,x-B)}(i.snapshot._urlSegment,i.snapshot._lastPathIndex+s,t.numberOfDoubleDots)}(B,e,t),nt=Z.processChildren?Wa(Z.segmentGroup,Z.index,B.commands):ix(Z.segmentGroup,Z.index,B.commands);return wd(e.root,Z.segmentGroup,nt,s,x)}(pt,this.currentUrlTree,i,bt,null!=vt?vt:null)}navigateByUrl(i,s={skipLocationChange:!1}){const x=ir(i)?i:this.parseUrl(i),B=this.urlHandlingStrategy.merge(x,this.rawUrlTree);return this.scheduleNavigation(B,"imperative",null,s)}navigate(i,s={skipLocationChange:!1}){return function wO(t){for(let e=0;e<t.length;e++){const i=t[e];if(null==i)throw new Error(`The requested path contains ${i} segment at index ${e}`)}}(i),this.navigateByUrl(this.createUrlTree(i,s),s)}serializeUrl(i){return this.urlSerializer.serialize(i)}parseUrl(i){let s;try{s=this.urlSerializer.parse(i)}catch(x){s=this.malformedUriErrorHandler(x,this.urlSerializer,i)}return s}isActive(i,s){let x;if(x=!0===s?Object.assign({},CO):!1===s?Object.assign({},MO):s,ir(i))return Fv(this.currentUrlTree,i,x);const B=this.parseUrl(i);return Fv(this.currentUrlTree,B,x)}removeEmptyProps(i){return Object.keys(i).reduce((s,x)=>{const B=i[x];return null!=B&&(s[x]=B),s},{})}processNavigations(){this.navigations.subscribe(i=>{this.navigated=!0,this.lastSuccessfulId=i.id,this.currentPageId=i.targetPageId,this.events.next(new Jo(i.id,this.serializeUrl(i.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,i.resolve(!0)},i=>{this.console.warn(`Unhandled Navigation Error: ${i}`)})}scheduleNavigation(i,s,x,B,Z){var nt,lt;if(this.disposed)return Promise.resolve(!1);let pt,vt,bt;Z?(pt=Z.resolve,vt=Z.reject,bt=Z.promise):bt=new Promise((Dt,_t)=>{pt=Dt,vt=_t});const wt=++this.navigationId;let At;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(x=this.location.getState()),At=x&&x.\u0275routerPageId?x.\u0275routerPageId:B.replaceUrl||B.skipLocationChange?null!==(nt=this.browserPageId)&&void 0!==nt?nt:0:(null!==(lt=this.browserPageId)&&void 0!==lt?lt:0)+1):At=0,this.setTransition({id:wt,targetPageId:At,source:s,restoredState:x,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:i,extras:B,resolve:pt,reject:vt,promise:bt,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),bt.catch(Dt=>Promise.reject(Dt))}setBrowserUrl(i,s){const x=this.urlSerializer.serialize(i),B=Object.assign(Object.assign({},s.extras.state),this.generateNgRouterState(s.id,s.targetPageId));this.location.isCurrentPathEqualTo(x)||s.extras.replaceUrl?this.location.replaceState(x,"",B):this.location.go(x,"",B)}restoreHistory(i,s=!1){var x,B;if("computed"===this.canceledNavigationResolution){const Z=this.currentPageId-i.targetPageId;"popstate"!==i.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(x=this.currentNavigation)||void 0===x?void 0:x.finalUrl)||0===Z?this.currentUrlTree===(null===(B=this.currentNavigation)||void 0===B?void 0:B.finalUrl)&&0===Z&&(this.resetState(i),this.browserUrlTree=i.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(Z)}else"replace"===this.canceledNavigationResolution&&(s&&this.resetState(i),this.resetUrlToCurrentUrlTree())}resetState(i){this.routerState=i.currentRouterState,this.currentUrlTree=i.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,i.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(i,s){const x=new Pv(i.id,this.serializeUrl(i.extractedUrl),s);this.triggerEvent(x),i.resolve(!1)}generateNgRouterState(i,s){return"computed"===this.canceledNavigationResolution?{navigationId:i,\u0275routerPageId:s}:{navigationId:i}}}return t.\u0275fac=function(i){Xh()},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();function wx(t){return"imperative"!==t}class Sx{}class Ax{preload(e,i){return re(null)}}let kx=(()=>{class t{constructor(i,s,x,B){this.router=i,this.injector=x,this.preloadingStrategy=B,this.loader=new Cx(x,s,lt=>i.triggerEvent(new Ov(lt)),lt=>i.triggerEvent(new Lv(lt)))}setUpPreloading(){this.subscription=this.router.events.pipe(Jn(i=>i instanceof Jo),$r(()=>this.preload())).subscribe(()=>{})}preload(){const i=this.injector.get(mn);return this.processRoutes(i,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(i,s){const x=[];for(const B of s)if(B.loadChildren&&!B.canLoad&&B._loadedConfig){const Z=B._loadedConfig;x.push(this.processRoutes(Z.module,Z.routes))}else B.loadChildren&&!B.canLoad?x.push(this.preloadConfig(i,B)):B.children&&x.push(this.processRoutes(i,B.children));return Xe(x).pipe(to(),z(B=>{}))}preloadConfig(i,s){return this.preloadingStrategy.preload(s,()=>(s._loadedConfig?re(s._loadedConfig):this.loader.load(i.injector,s)).pipe(Ge(B=>(s._loadedConfig=B,this.processRoutes(B.module,B.routes)))))}}return t.\u0275fac=function(i){return new(i||t)(Gt(Mi),Gt(wy),Gt(ui),Gt(Sx))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),_d=(()=>{class t{constructor(i,s,x={}){this.router=i,this.viewportScroller=s,this.options=x,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},x.scrollPositionRestoration=x.scrollPositionRestoration||"disabled",x.anchorScrolling=x.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(i=>{i instanceof gd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=i.navigationTrigger,this.restoredId=i.restoredState?i.restoredState.navigationId:0):i instanceof Jo&&(this.lastId=i.id,this.scheduleScrollEvent(i,this.router.parseUrl(i.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(i=>{i instanceof Iv&&(i.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(i.position):i.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(i.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(i,s){this.router.triggerEvent(new Iv(i,"popstate"===this.lastSource?this.store[this.restoredId]:null,s))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(i){Xh()},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const nr=new pe("ROUTER_CONFIGURATION"),Tx=new pe("ROUTER_FORROOT_GUARD"),TO=[Xc,{provide:Gv,useClass:Uv},{provide:Mi,useFactory:function LO(t,e,i,s,x,B,Z={},nt,lt){const pt=new Mi(null,t,e,i,s,x,jv(B));return nt&&(pt.urlHandlingStrategy=nt),lt&&(pt.routeReuseStrategy=lt),function IO(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy),t.canceledNavigationResolution&&(e.canceledNavigationResolution=t.canceledNavigationResolution)}(Z,pt),Z.enableTracing&&pt.events.subscribe(vt=>{var bt,wt;null===(bt=console.group)||void 0===bt||bt.call(console,`Router Event: ${vt.constructor.name}`),console.log(vt.toString()),console.log(vt),null===(wt=console.groupEnd)||void 0===wt||wt.call(console)}),pt},deps:[Gv,ss,Xc,ui,wy,Od,nr,[class yO{},new On],[class fO{},new On]]},ss,{provide:Qr,useFactory:function _O(t){return t.routerState.root},deps:[Mi]},kx,Ax,class kO{preload(e,i){return i().pipe(bn(()=>re(null)))}},{provide:nr,useValue:{enableTracing:!1}}];function EO(){return new Ey("Router",Mi)}let Ex=(()=>{class t{constructor(i,s){}static forRoot(i,s){return{ngModule:t,providers:[TO,Dx(i),{provide:Tx,useFactory:OO,deps:[[Mi,new On,new Co]]},{provide:nr,useValue:s||{}},{provide:Yr,useFactory:PO,deps:[qn,[new Ns(Vc),new On],nr]},{provide:_d,useFactory:DO,deps:[Mi,OE,nr]},{provide:Sx,useExisting:s&&s.preloadingStrategy?s.preloadingStrategy:Ax},{provide:Ey,multi:!0,useFactory:EO},[Rd,{provide:Xo,multi:!0,useFactory:RO,deps:[Rd]},{provide:Px,useFactory:jO,deps:[Rd]},{provide:My,multi:!0,useExisting:Px}]]}}static forChild(i){return{ngModule:t,providers:[Dx(i)]}}}return t.\u0275fac=function(i){return new(i||t)(Gt(Tx,8),Gt(Mi,8))},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({}),t})();function DO(t,e,i){return i.scrollOffset&&e.setOffset(i.scrollOffset),new _d(t,e,i)}function PO(t,e,i={}){return i.useHash?new cT(t,e):new Yy(t,e)}function OO(t){return"guarded"}function Dx(t){return[{provide:Rb,multi:!0,useValue:t},{provide:Od,multi:!0,useValue:t}]}let Rd=(()=>{class t{constructor(i){this.injector=i,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new d}appInitializer(){return this.injector.get(aT,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let s=null;const x=new Promise(nt=>s=nt),B=this.injector.get(Mi),Z=this.injector.get(nr);return"disabled"===Z.initialNavigation?(B.setUpLocationChangeListener(),s(!0)):"enabled"===Z.initialNavigation||"enabledBlocking"===Z.initialNavigation?(B.hooks.afterPreactivation=()=>this.initNavigation?re(null):(this.initNavigation=!0,s(!0),this.resultOfPreactivationDone),B.initialNavigation()):s(!0),x})}bootstrapListener(i){const s=this.injector.get(nr),x=this.injector.get(kx),B=this.injector.get(_d),Z=this.injector.get(Mi),nt=this.injector.get(Nc);i===nt.components[0]&&(("enabledNonBlocking"===s.initialNavigation||void 0===s.initialNavigation)&&Z.initialNavigation(),x.setUpPreloading(),B.init(),Z.resetRootComponentType(nt.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return t.\u0275fac=function(i){return new(i||t)(Gt(ui))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();function RO(t){return t.appInitializer.bind(t)}function jO(t){return t.bootstrapListener.bind(t)}const Px=new pe("Router Initializer");var jd=Ve(470),BO=Ve.t(jd,2);class Fn extends d{constructor(){super(...arguments),this._value=null,this._hasValue=!1,this._isComplete=!1}_checkFinalizedStatuses(e){const{hasError:i,_hasValue:s,_value:x,thrownError:B,isStopped:Z,_isComplete:nt}=this;i?e.error(B):(Z||nt)&&(s&&e.next(x),e.complete())}next(e){this.isStopped||(this._value=e,this._hasValue=!0)}complete(){const{_hasValue:e,_value:i,_isComplete:s}=this;s||(this._isComplete=!0,e&&super.next(i),super.complete())}}var Ox=Ve(220),FO=Ve.t(Ox,2),Lx=Ve(150),zO=Ve.t(Lx,2),Ix=Ve(700),HO=Ve.t(Ix,2);class Nd{constructor(e={series:[]}){this.options=e,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable()}addPoint(e,i=0,s=!0,x=!1){this.ref$.subscribe(B=>{B.series.length>i&&B.series[i].addPoint(e,s,x)})}addSeries(e,i=!0,s){this.ref$.subscribe(x=>{x.addSeries(e,i,s)})}removePoint(e,i=0){this.ref$.subscribe(s=>{s.series.length>i&&s.series[i].data.length>e&&s.series[i].removePoint(e,!0)})}removeSeries(e){this.ref$.subscribe(i=>{i.series.length>e&&i.series[e].remove(!0)})}init(e){this.ref||jd.chart(e.nativeElement,this.options,i=>{this.ref||(this.refSubject.next(i),this.ref=i,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable())}}class _x{constructor(e={series:[]}){this.options=e,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable()}init(e){this.ref||Ox.mapChart(e.nativeElement,this.options,i=>{this.ref||(this.refSubject.next(i),this.ref=i,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable())}}class Rx{constructor(e={series:[]}){this.options=e,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable()}init(e){this.ref||Lx.stockChart(e.nativeElement,this.options,i=>{this.ref||(this.refSubject.next(i),this.ref=i,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable())}}class jx{constructor(e={series:[]}){this.options=e,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable()}init(e){this.ref||Ix.ganttChart(e.nativeElement,this.options,i=>{this.ref||(this.refSubject.next(i),this.ref=i,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Fn,this.ref$=this.refSubject.asObservable())}}let WO=(()=>{class t{constructor(i){this.el=i}ngOnChanges(i){i.chart.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof Nd||this.chart instanceof Rx||this.chart instanceof _x||this.chart instanceof jx)&&this.chart.init(this.el)}destroy(){(this.chart instanceof Nd||this.chart instanceof Rx||this.chart instanceof _x||this.chart instanceof jx)&&this.chart.destroy()}}return t.\u0275fac=function(i){return new(i||t)(Yt(gn))},t.\u0275dir=$e({type:t,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[Tn]}),t})(),Nx=new pe("HighchartsModules"),Bx=(()=>{class t{constructor(i){this.chartModules=i}initModules(){this.chartModules.forEach(i=>{[BO,zO,FO,HO].forEach(i)})}}return t.\u0275fac=function(i){return new(i||t)(Gt(Nx))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),GO=(()=>{class t{constructor(i){this.cs=i,this.cs.initModules()}}return t.\u0275fac=function(i){return new(i||t)(Gt(Bx))},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({providers:[{provide:Nx,useValue:[]},Bx]}),t})();const UO={chart:{type:"line",backgroundColor:"white"},title:void 0,credits:{enabled:!1},series:[{type:"spline",color:"white",enableMouseTracking:!1}]},VO={chart:{type:"line",backgroundColor:"black"},title:void 0,credits:{enabled:!1},series:[{type:"spline",color:"white",enableMouseTracking:!1}]};var li=(()=>{return(t=li||(li={})).SPECTRUM="spectrum",t.SCALAR="scalar",t.HDBPP_SCALAR_UPD="hdbpp_scalar_upd",li;var t})();const Fx="eventreq_add_dev",zx="command",Bd="from_event",Za=function rL(){let t={};return decodeURIComponent(location.search).substring(1).split("&").forEach(i=>{const s=i.split("=");if(1===s.length)t[s[0]]=!0;else if(2===s.length)t[s[0]]=s[1];else{const x=i.indexOf("=");t[s[0]]=i.substring(x+1)}}),t};class Hx{}class Wx{}class wn{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(i=>{const s=i.indexOf(":");if(s>0){const x=i.slice(0,s),B=x.toLowerCase(),Z=i.slice(s+1).trim();this.maybeSetNormalizedName(x,B),this.headers.has(B)?this.headers.get(B).push(Z):this.headers.set(B,[Z])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(i=>{let s=e[i];const x=i.toLowerCase();"string"==typeof s&&(s=[s]),s.length>0&&(this.headers.set(x,s),this.maybeSetNormalizedName(i,x))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const i=this.headers.get(e.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,i){return this.clone({name:e,value:i,op:"a"})}set(e,i){return this.clone({name:e,value:i,op:"s"})}delete(e,i){return this.clone({name:e,value:i,op:"d"})}maybeSetNormalizedName(e,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,e)}init(){this.lazyInit&&(this.lazyInit instanceof wn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(i=>{this.headers.set(i,e.headers.get(i)),this.normalizedNames.set(i,e.normalizedNames.get(i))})}clone(e){const i=new wn;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof wn?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([e]),i}applyUpdate(e){const i=e.name.toLowerCase();switch(e.op){case"a":case"s":let s=e.value;if("string"==typeof s&&(s=[s]),0===s.length)return;this.maybeSetNormalizedName(e.name,i);const x=("a"===e.op?this.headers.get(i):void 0)||[];x.push(...s),this.headers.set(i,x);break;case"d":const B=e.value;if(B){let Z=this.headers.get(i);if(!Z)return;Z=Z.filter(nt=>-1===B.indexOf(nt)),0===Z.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,Z)}else this.headers.delete(i),this.normalizedNames.delete(i)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>e(this.normalizedNames.get(i),this.headers.get(i)))}}class oL{encodeKey(e){return Gx(e)}encodeValue(e){return Gx(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const aL=/%(\d[a-f0-9])/gi,lL={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Gx(t){return encodeURIComponent(t).replace(aL,(e,i)=>{var s;return null!==(s=lL[i])&&void 0!==s?s:e})}function Ux(t){return`${t}`}class zn{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new oL,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function sL(t,e){const i=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(x=>{const B=x.indexOf("="),[Z,nt]=-1==B?[e.decodeKey(x),""]:[e.decodeKey(x.slice(0,B)),e.decodeValue(x.slice(B+1))],lt=i.get(Z)||[];lt.push(nt),i.set(Z,lt)}),i}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(i=>{const s=e.fromObject[i];this.map.set(i,Array.isArray(s)?s:[s])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const i=this.map.get(e);return i?i[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,i){return this.clone({param:e,value:i,op:"a"})}appendAll(e){const i=[];return Object.keys(e).forEach(s=>{const x=e[s];Array.isArray(x)?x.forEach(B=>{i.push({param:s,value:B,op:"a"})}):i.push({param:s,value:x,op:"a"})}),this.clone(i)}set(e,i){return this.clone({param:e,value:i,op:"s"})}delete(e,i){return this.clone({param:e,value:i,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const i=this.encoder.encodeKey(e);return this.map.get(e).map(s=>i+"="+this.encoder.encodeValue(s)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const i=new zn({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(e),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const i=("a"===e.op?this.map.get(e.param):void 0)||[];i.push(Ux(e.value)),this.map.set(e.param,i);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let s=this.map.get(e.param)||[];const x=s.indexOf(Ux(e.value));-1!==x&&s.splice(x,1),s.length>0?this.map.set(e.param,s):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class hL{constructor(){this.map=new Map}set(e,i){return this.map.set(e,i),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}}function Vx(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Xx(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yx(t){return"undefined"!=typeof FormData&&t instanceof FormData}class cs{constructor(e,i,s,x){let B;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function cL(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||x?(this.body=void 0!==s?s:null,B=x):B=s,B&&(this.reportProgress=!!B.reportProgress,this.withCredentials=!!B.withCredentials,B.responseType&&(this.responseType=B.responseType),B.headers&&(this.headers=B.headers),B.context&&(this.context=B.context),B.params&&(this.params=B.params)),this.headers||(this.headers=new wn),this.context||(this.context=new hL),this.params){const Z=this.params.toString();if(0===Z.length)this.urlWithParams=i;else{const nt=i.indexOf("?");this.urlWithParams=i+(-1===nt?"?":nt<i.length-1?"&":"")+Z}}else this.params=new zn,this.urlWithParams=i}serializeBody(){return null===this.body?null:Vx(this.body)||Xx(this.body)||Yx(this.body)||function dL(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof zn?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||Yx(this.body)?null:Xx(this.body)?this.body.type||null:Vx(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof zn?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){var i;const s=e.method||this.method,x=e.url||this.url,B=e.responseType||this.responseType,Z=void 0!==e.body?e.body:this.body,nt=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,lt=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let pt=e.headers||this.headers,vt=e.params||this.params;const bt=null!==(i=e.context)&&void 0!==i?i:this.context;return void 0!==e.setHeaders&&(pt=Object.keys(e.setHeaders).reduce((wt,At)=>wt.set(At,e.setHeaders[At]),pt)),e.setParams&&(vt=Object.keys(e.setParams).reduce((wt,At)=>wt.set(At,e.setParams[At]),vt)),new cs(s,x,Z,{params:vt,headers:pt,context:bt,reportProgress:lt,responseType:B,withCredentials:nt})}}var Be=(()=>((Be=Be||{})[Be.Sent=0]="Sent",Be[Be.UploadProgress=1]="UploadProgress",Be[Be.ResponseHeader=2]="ResponseHeader",Be[Be.DownloadProgress=3]="DownloadProgress",Be[Be.Response=4]="Response",Be[Be.User=5]="User",Be))();class Fd{constructor(e,i=200,s="OK"){this.headers=e.headers||new wn,this.status=void 0!==e.status?e.status:i,this.statusText=e.statusText||s,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class zd extends Fd{constructor(e={}){super(e),this.type=Be.ResponseHeader}clone(e={}){return new zd({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class qa extends Fd{constructor(e={}){super(e),this.type=Be.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new qa({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class $x extends Fd{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function Hd(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Zx=(()=>{class t{constructor(i){this.handler=i}request(i,s,x={}){let B;if(i instanceof cs)B=i;else{let lt,pt;lt=x.headers instanceof wn?x.headers:new wn(x.headers),x.params&&(pt=x.params instanceof zn?x.params:new zn({fromObject:x.params})),B=new cs(i,s,void 0!==x.body?x.body:null,{headers:lt,context:x.context,params:pt,reportProgress:x.reportProgress,responseType:x.responseType||"json",withCredentials:x.withCredentials})}const Z=re(B).pipe($r(lt=>this.handler.handle(lt)));if(i instanceof cs||"events"===x.observe)return Z;const nt=Z.pipe(Jn(lt=>lt instanceof qa));switch(x.observe||"body"){case"body":switch(B.responseType){case"arraybuffer":return nt.pipe(z(lt=>{if(null!==lt.body&&!(lt.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return lt.body}));case"blob":return nt.pipe(z(lt=>{if(null!==lt.body&&!(lt.body instanceof Blob))throw new Error("Response is not a Blob.");return lt.body}));case"text":return nt.pipe(z(lt=>{if(null!==lt.body&&"string"!=typeof lt.body)throw new Error("Response is not a string.");return lt.body}));default:return nt.pipe(z(lt=>lt.body))}case"response":return nt;default:throw new Error(`Unreachable: unhandled observe type ${x.observe}}`)}}delete(i,s={}){return this.request("DELETE",i,s)}get(i,s={}){return this.request("GET",i,s)}head(i,s={}){return this.request("HEAD",i,s)}jsonp(i,s){return this.request("JSONP",i,{params:(new zn).append(s,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(i,s={}){return this.request("OPTIONS",i,s)}patch(i,s,x={}){return this.request("PATCH",i,Hd(x,s))}post(i,s,x={}){return this.request("POST",i,Hd(x,s))}put(i,s,x={}){return this.request("PUT",i,Hd(x,s))}}return t.\u0275fac=function(i){return new(i||t)(Gt(Hx))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();class Kx{constructor(e,i){this.next=e,this.interceptor=i}handle(e){return this.interceptor.intercept(e,this.next)}}const qx=new pe("HTTP_INTERCEPTORS");let uL=(()=>{class t{intercept(i,s){return s.handle(i)}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const pL=/^\)\]\}',?\n/;let Qx=(()=>{class t{constructor(i){this.xhrFactory=i}handle(i){if("JSONP"===i.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new r(s=>{const x=this.xhrFactory.build();if(x.open(i.method,i.urlWithParams),i.withCredentials&&(x.withCredentials=!0),i.headers.forEach((At,Dt)=>x.setRequestHeader(At,Dt.join(","))),i.headers.has("Accept")||x.setRequestHeader("Accept","application/json, text/plain, */*"),!i.headers.has("Content-Type")){const At=i.detectContentTypeHeader();null!==At&&x.setRequestHeader("Content-Type",At)}if(i.responseType){const At=i.responseType.toLowerCase();x.responseType="json"!==At?At:"text"}const B=i.serializeBody();let Z=null;const nt=()=>{if(null!==Z)return Z;const At=x.statusText||"OK",Dt=new wn(x.getAllResponseHeaders()),_t=function fL(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(x)||i.url;return Z=new zd({headers:Dt,status:x.status,statusText:At,url:_t}),Z},lt=()=>{let{headers:At,status:Dt,statusText:_t,url:Bt}=nt(),Nt=null;204!==Dt&&(Nt=void 0===x.response?x.responseText:x.response),0===Dt&&(Dt=Nt?200:0);let It=Dt>=200&&Dt<300;if("json"===i.responseType&&"string"==typeof Nt){const Xt=Nt;Nt=Nt.replace(pL,"");try{Nt=""!==Nt?JSON.parse(Nt):null}catch(ie){Nt=Xt,It&&(It=!1,Nt={error:ie,text:Nt})}}It?(s.next(new qa({body:Nt,headers:At,status:Dt,statusText:_t,url:Bt||void 0})),s.complete()):s.error(new $x({error:Nt,headers:At,status:Dt,statusText:_t,url:Bt||void 0}))},pt=At=>{const{url:Dt}=nt(),_t=new $x({error:At,status:x.status||0,statusText:x.statusText||"Unknown Error",url:Dt||void 0});s.error(_t)};let vt=!1;const bt=At=>{vt||(s.next(nt()),vt=!0);let Dt={type:Be.DownloadProgress,loaded:At.loaded};At.lengthComputable&&(Dt.total=At.total),"text"===i.responseType&&!!x.responseText&&(Dt.partialText=x.responseText),s.next(Dt)},wt=At=>{let Dt={type:Be.UploadProgress,loaded:At.loaded};At.lengthComputable&&(Dt.total=At.total),s.next(Dt)};return x.addEventListener("load",lt),x.addEventListener("error",pt),x.addEventListener("timeout",pt),x.addEventListener("abort",pt),i.reportProgress&&(x.addEventListener("progress",bt),null!==B&&x.upload&&x.upload.addEventListener("progress",wt)),x.send(B),s.next({type:Be.Sent}),()=>{x.removeEventListener("error",pt),x.removeEventListener("abort",pt),x.removeEventListener("load",lt),x.removeEventListener("timeout",pt),i.reportProgress&&(x.removeEventListener("progress",bt),null!==B&&x.upload&&x.upload.removeEventListener("progress",wt)),x.readyState!==x.DONE&&x.abort()}})}}return t.\u0275fac=function(i){return new(i||t)(Gt(cv))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})();const Wd=new pe("XSRF_COOKIE_NAME"),Gd=new pe("XSRF_HEADER_NAME");class Jx{}let gL=(()=>{class t{constructor(i,s,x){this.doc=i,this.platform=s,this.cookieName=x,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const i=this.doc.cookie||"";return i!==this.lastCookieString&&(this.parseCount++,this.lastToken=nv(i,this.cookieName),this.lastCookieString=i),this.lastToken}}return t.\u0275fac=function(i){return new(i||t)(Gt(ai),Gt(Pc),Gt(Wd))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),Ud=(()=>{class t{constructor(i,s){this.tokenService=i,this.headerName=s}intercept(i,s){const x=i.url.toLowerCase();if("GET"===i.method||"HEAD"===i.method||x.startsWith("http://")||x.startsWith("https://"))return s.handle(i);const B=this.tokenService.getToken();return null!==B&&!i.headers.has(this.headerName)&&(i=i.clone({headers:i.headers.set(this.headerName,B)})),s.handle(i)}}return t.\u0275fac=function(i){return new(i||t)(Gt(Jx),Gt(Gd))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),mL=(()=>{class t{constructor(i,s){this.backend=i,this.injector=s,this.chain=null}handle(i){if(null===this.chain){const s=this.injector.get(qx,[]);this.chain=s.reduceRight((x,B)=>new Kx(x,B),this.backend)}return this.chain.handle(i)}}return t.\u0275fac=function(i){return new(i||t)(Gt(Wx),Gt(ui))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),yL=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:Ud,useClass:uL}]}}static withOptions(i={}){return{ngModule:t,providers:[i.cookieName?{provide:Wd,useValue:i.cookieName}:[],i.headerName?{provide:Gd,useValue:i.headerName}:[]]}}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({providers:[Ud,{provide:qx,useExisting:Ud,multi:!0},{provide:Jx,useClass:gL},{provide:Wd,useValue:"XSRF-TOKEN"},{provide:Gd,useValue:"X-XSRF-TOKEN"}]}),t})(),vL=(()=>{class t{}return t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({providers:[Zx,{provide:Hx,useClass:mL},Qx,{provide:Wx,useExisting:Qx}],imports:[[yL.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})(),Vd=(()=>{class t{constructor(i){this.http=i}get settings(){return this._sett}loadCommSett(){const i="?ts="+Math.floor(Date.now()/1e3).toString(),s=Za(),x=(s.commsett?"./assets/sett/common-sett_"+s.commsett:"./assets/sett/common-sett")+".json"+i;return new Promise((B,Z)=>{this.http.get(x).pipe(bn(nt=>{console.log("Configuration file "+x+" could not be read"),Z(`<h2 style="color:red;">\u041a\u043e\u043d\u0444. \u0444\u0430\u0439\u043b ${x} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d</h2>`),B(!1)})).subscribe(nt=>{this._sett=nt,B(!0)})})}}return t.\u0275fac=function(i){return new(i||t)(Gt(Zx))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac}),t})(),Qa=(()=>{class t{constructor(){this.debugMode=!1,void 0!==Za().dbg&&(this.debugMode=!0)}myConsoleLog(i,...s){this.debugMode&&(console.log(i),s.length&&s.forEach(x=>console.log(x)))}myTmpConsoleLog(i,...s){}errorLog(i,...s){console.log("error"),console.error(i),s.length&&s.forEach(x=>console.log(x))}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ja=(()=>{class t{constructor(i,s){this.config=i,this.myconsole=s,this.settingFromUrl(),this.settingsFromFile()}get wsHost(){return this._wsHost}get tangoAttributes(){return this._tangoAttributes}get serverMode(){return this._servermode}get settFromUrl(){return this._settFromUrl}get hdbppSett(){return this._hdbppSett}settingFromUrl(){var i;let s,x,B;switch(this._settFromUrl=Za(),this._settFromUrl.procdatatype){case li.SCALAR:case li.SPECTRUM:case li.HDBPP_SCALAR_UPD:s=this._settFromUrl.procdatatype;break;default:s=li.SPECTRUM}this._settFromUrl.procdatatype=s,this._settFromUrl.testmode?this.forTestMode(this._settFromUrl):(this._settFromUrl.dev&&(x=this._settFromUrl.dev.toLowerCase()),this._settFromUrl.attrs&&(B=this._settFromUrl.attrs.toLowerCase()),this.myconsole.myConsoleLog(`\tdevice:\t${x}\n\tattr:\t${B}\n\ttype:\t${s}`),this._tangoAttributes={inited:!!x&&!!B,device:x,attributes:null==B?void 0:B.split(","),aliases:null===(i=this._settFromUrl.aliases)||void 0===i?void 0:i.split(","),datatype:s})}settingsFromFile(){const i=this.config.settings.websocket;i.ws_url?this._wsHost=i.ws_url:i.ws_path&&(this._wsHost="ws://"+window.location.hostname+"/"+this.config.settings.websocket.ws_path),this.config.settings.hdbpp&&this._settFromUrl.procdatatype===li.HDBPP_SCALAR_UPD&&(this.config.settings.hdbpp.login&&this.config.settings.hdbpp.password&&(this._wsHost+=`?login=${this.config.settings.hdbpp.login}&password=${this.config.settings.hdbpp.password}`),this._hdbppSett=this.config.settings.hdbpp),this._servermode=i.is_server_mode}forTestMode(i){var s;this.myconsole.myConsoleLog(`device: ${i.dev} \t attr: ${i.attrs}`),this._tangoAttributes={inited:!0,device:i.dev?i.dev:"test/test/test",attributes:i.attrs?i.attrs.split(","):["testattr"],aliases:i.aliases?i.aliases.split(","):["testalias"],datatype:null!==(s=i.procdatatype)&&void 0!==s?s:li.SPECTRUM}}}return t.\u0275fac=function(i){return new(i||t)(Gt(Vd),Gt(Qa))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class xL extends X{constructor(e,i){super()}schedule(e,i=0){return this}}const tl={setInterval(t,e,...i){const{delegate:s}=tl;return(null==s?void 0:s.setInterval)?s.setInterval(t,e,...i):setInterval(t,e,...i)},clearInterval(t){const{delegate:e}=tl;return((null==e?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},Xd={now:()=>(Xd.delegate||Date).now(),delegate:void 0};class ds{constructor(e,i=ds.now){this.schedulerActionCtor=e,this.now=i}schedule(e,i=0,s){return new this.schedulerActionCtor(this,e).schedule(s,i)}}ds.now=Xd.now;const t0=new class CL extends ds{constructor(e,i=ds.now){super(e,i),this.actions=[],this._active=!1,this._scheduled=void 0}flush(e){const{actions:i}=this;if(this._active)return void i.push(e);let s;this._active=!0;do{if(s=e.execute(e.state,e.delay))break}while(e=i.shift());if(this._active=!1,s){for(;e=i.shift();)e.unsubscribe();throw s}}}(class bL extends xL{constructor(e,i){super(e,i),this.scheduler=e,this.work=i,this.pending=!1}schedule(e,i=0){if(this.closed)return this;this.state=e;const s=this.id,x=this.scheduler;return null!=s&&(this.id=this.recycleAsyncId(x,s,i)),this.pending=!0,this.delay=i,this.id=this.id||this.requestAsyncId(x,this.id,i),this}requestAsyncId(e,i,s=0){return tl.setInterval(e.flush.bind(e,this),s)}recycleAsyncId(e,i,s=0){if(null!=s&&this.delay===s&&!1===this.pending)return i;tl.clearInterval(i)}execute(e,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const s=this._execute(e,i);if(s)return s;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,i){let x,s=!1;try{this.work(e)}catch(B){s=!0,x=B||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),x}unsubscribe(){if(!this.closed){const{id:e,scheduler:i}=this,{actions:s}=i;this.work=this.state=this.scheduler=null,this.pending=!1,$(s,this),null!=e&&(this.id=this.recycleAsyncId(i,e,null)),this.delay=null,super.unsubscribe()}}}),ML=t0;class Yd extends d{constructor(e=1/0,i=1/0,s=Xd){super(),this._bufferSize=e,this._windowTime=i,this._timestampProvider=s,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=i===1/0,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,i)}next(e){const{isStopped:i,_buffer:s,_infiniteTimeWindow:x,_timestampProvider:B,_windowTime:Z}=this;i||(s.push(e),!x&&s.push(B.now()+Z)),this._trimBuffer(),super.next(e)}_subscribe(e){this._throwIfClosed(),this._trimBuffer();const i=this._innerSubscribe(e),{_infiniteTimeWindow:s,_buffer:x}=this,B=x.slice();for(let Z=0;Z<B.length&&!e.closed;Z+=s?1:2)e.next(B[Z]);return this._checkFinalizedStatuses(e),i}_trimBuffer(){const{_bufferSize:e,_timestampProvider:i,_buffer:s,_infiniteTimeWindow:x}=this,B=(x?1:2)*e;if(e<1/0&&B<s.length&&s.splice(0,s.length-B),!x){const Z=i.now();let nt=0;for(let lt=1;lt<s.length&&s[lt]<=Z;lt+=2)nt=lt;nt&&s.splice(0,nt+1)}}}const kL={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class $d extends R{constructor(e,i){if(super(),this._socket=null,e instanceof r)this.destination=i,this.source=e;else{const s=this._config=Object.assign({},kL);if(this._output=new d,"string"==typeof e)s.url=e;else for(const x in e)e.hasOwnProperty(x)&&(s[x]=e[x]);if(!s.WebSocketCtor&&WebSocket)s.WebSocketCtor=WebSocket;else if(!s.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new Yd}}lift(e){const i=new $d(this._config,this.destination);return i.operator=e,i.source=this,i}_resetState(){this._socket=null,this.source||(this.destination=new Yd),this._output=new d}multiplex(e,i,s){const x=this;return new r(B=>{try{x.next(e())}catch(nt){B.error(nt)}const Z=x.subscribe({next:nt=>{try{s(nt)&&B.next(nt)}catch(lt){B.error(lt)}},error:nt=>B.error(nt),complete:()=>B.complete()});return()=>{try{x.next(i())}catch(nt){B.error(nt)}Z.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:e,protocol:i,url:s,binaryType:x}=this._config,B=this._output;let Z=null;try{Z=i?new e(s,i):new e(s),this._socket=Z,x&&(this._socket.binaryType=x)}catch(lt){return void B.error(lt)}const nt=new X(()=>{this._socket=null,Z&&1===Z.readyState&&Z.close()});Z.onopen=lt=>{const{_socket:pt}=this;if(!pt)return Z.close(),void this._resetState();const{openObserver:vt}=this._config;vt&&vt.next(lt);const bt=this.destination;this.destination=E.create(wt=>{if(1===Z.readyState)try{const{serializer:At}=this._config;Z.send(At(wt))}catch(At){this.destination.error(At)}},wt=>{const{closingObserver:At}=this._config;At&&At.next(void 0),wt&&wt.code?Z.close(wt.code,wt.reason):B.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:wt}=this._config;wt&&wt.next(void 0),Z.close(),this._resetState()}),bt&&bt instanceof Yd&&nt.add(bt.subscribe(this.destination))},Z.onerror=lt=>{this._resetState(),B.error(lt)},Z.onclose=lt=>{Z===this._socket&&this._resetState();const{closeObserver:pt}=this._config;pt&&pt.next(lt),lt.wasClean?B.complete():B.error(lt)},Z.onmessage=lt=>{try{const{deserializer:pt}=this._config;B.next(pt(lt))}catch(pt){B.error(pt)}}}_subscribe(e){const{source:i}=this;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(()=>{const{_socket:s}=this;0===this._output.observers.length&&(s&&(1===s.readyState||0===s.readyState)&&s.close(),this._resetState())}),e)}unsubscribe(){const{_socket:e}=this;e&&(1===e.readyState||0===e.readyState)&&e.close(),this._resetState(),super.unsubscribe()}}var rr=(()=>{return(t=rr||(rr={})).CHANGE="change",t.PERIODIC="periodic",t.USER="user",rr;var t})();let e0=(()=>{class t{constructor(i,s){this.myconsole=i,this.sett=s,this._wsDataSubj=new d,this._wsErrSubj=new d,this.initErrorsObj(),this.sett.settFromUrl.procdatatype===li.HDBPP_SCALAR_UPD&&this.initHdbppObservable()}dataProcess(i){if("error"===i.event)return this.errorDataProc(i);"read"===i.event&&(i.type_req===Bd&&this.eventDataProc(i),i.type_req===zx&&this.commandDataProc(i)),this.myconsole.myConsoleLog(`new data from ws. type_req=${i.type_req}`)}get dataObservable(){return this._wsDataSubj.asObservable()}get errorObs(){return this._wsErrSubj.asObservable()}get hdbppDataObs(){return this._hdbppObs}forTestMode(i){let s=i.device;const x=i.attributes;setInterval(()=>{x.forEach(B=>{const Z=Array.from({length:255},()=>255*Math.random());this._wsDataSubj.next({data:Z,attr:`${s}/${B}`,attr_short:`${B}`,dimX:255,event:"read",type_req:Bd})})},1e3)}initHdbppObservable(){this._hdbppObs=new r(i=>{this._hdbppSubs=i})}commandDataProc(i){"getdatajson"===i.command_name.toLowerCase()&&this.hdbppDataProc(i)}hdbppDataProc(i){this.myconsole.myTmpConsoleLog("HDBPP BEGIN DATA:",i);const x={};i.data.forEach(B=>{Object.keys(B).forEach(Z=>{"time"!==Z&&(x[Z]||(x[Z]={data:[]}),x[Z].data.push([1e3*B.time,B[Z]]))})}),this._hdbppSubs.next(x)}eventDataProc(i){const s=i.attr.toLowerCase().split("/"),x=s[s.length-1];this._wsDataSubj.next(Object.assign(Object.assign({},i),{attr_short:x})),this.errors[this.sett.tangoAttributes.device][x]=""}errorDataProc(i){this.myconsole.myConsoleLog("Error from WS",i),i.type_req===Fx&&"from_event_sub"===i.type_err&&(i.errors.forEach(s=>this.errors[s.device.toLowerCase()][s.attribute.toLowerCase()]=`\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u043d\u0430 ${s.attribute.toLowerCase()} <br>`),this.updateErrorMessage()),"event_err"===i.type_err&&(this.errors[i.device_name.toLowerCase()][i.attr_name.toLowerCase()]=`\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u0437 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 ${i.attr_name.toLowerCase()} <br>`),this.updateErrorMessage()}updateErrorMessage(){let i="";Object.keys(this.errors).forEach(s=>Object.keys(this.errors[s]).forEach(x=>{this.errors[s][x].length&&(i+=this.errors[s][x])})),i!==this.errorMessage&&(this.errorMessage=i,this._wsErrSubj.next(this.errorMessage))}initErrorsObj(){this.errors={},this.errors[this.sett.tangoAttributes.device]={};const i=this.errors[this.sett.tangoAttributes.device];this.sett.tangoAttributes.attributes.forEach(s=>i[s]="")}}return t.\u0275fac=function(i){return new(i||t)(Gt(Qa),Gt(Ja))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),PL=(()=>{class t{constructor(i,s,x){if(this.sett=i,this.myconsole=s,this.chartdata=x,this._wsStateSubj=new d,this._hdbppdataChecked=!1,this._idReq=0,void 0===this.sett.settFromUrl.testmode)if(this.sett.tangoAttributes.inited){if(this.opCloseObservers=this._openCloseObservers(),this.sett.tangoAttributes)switch(this.wssub={type_req:Fx},this.wsAttr={type_req:"read_attr",attr_name:this.sett.tangoAttributes.attributes,device_name:this.sett.tangoAttributes.device},this.sett.settFromUrl.eventtype){case rr.CHANGE:case rr.USER:case rr.PERIODIC:this.attrListForEvent(this.sett.settFromUrl.eventtype);break;default:this.attrListForEvent(rr.CHANGE)}this.wsConfig={url:this.sett.wsHost,openObserver:this.opCloseObservers.openWsObs,closeObserver:this.opCloseObservers.closeWsObs},this._connect()}else this._wsStateSubj.next({errorState:!0,errorMess:"\u041d\u0415 \u0423\u041a\u0410\u0417\u0410\u041d\u042b \u0410\u0422\u0420\u0418\u0411\u0423\u0422\u042b \u0418 \u0414\u0415\u0412\u0410\u0419\u0421 \u0414\u041b\u042f \u041f\u041e\u0414\u041f\u0418\u0421\u041a\u0418 \u041d\u0410 \u0421\u041e\u0411\u042b\u0422\u0418\u042f \u0427\u0415\u0420\u0415\u0417 WEBSOCKET"});else this.chartdata.forTestMode(this.sett.tangoAttributes)}get stateObservable(){return this._wsStateSubj.asObservable()}attrListForEvent(i){const s=this.sett.tangoAttributes.device;this.wssub[i]={},this.wssub[i][s]=this.sett.tangoAttributes.attributes}_openCloseObservers(){return{openWsObs:{next:s=>{this.myconsole.myConsoleLog("WebSocket connected!"),this._wsStateSubj.next({errorState:!1}),this.sett.serverMode||(this.nextWs(this.wssub),this.nextWs(this.wsAttr)),this.sett.settFromUrl.procdatatype===li.HDBPP_SCALAR_UPD&&!this._hdbppdataChecked&&this.sendMessageForHdbpp()}},closeWsObs:{next:s=>{this.myconsole.myConsoleLog("Websocket closed with err: ",s.code,s.reason),this._wsStateSubj.next({errorState:!0,errorMess:"\u041d\u0415\u0422 \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u042f \u0421 WEBSOCKET"}),function AL(t=0,e=t0){return t<0&&(t=0),function SL(t=0,e,i=ML){let s=-1;return null!=e&&(ou(e)?i=e:s=e),new r(x=>{let B=function wL(t){return t instanceof Date&&!isNaN(t)}(t)?+t-i.now():t;B<0&&(B=0);let Z=0;return i.schedule(function(){x.closed||(x.next(Z++),0<=s?this.schedule(void 0,s):x.complete())},B)})}(t,t,e)}(1e3).pipe(io(1)).subscribe({next:()=>{this.myconsole.myConsoleLog("RECONNECT!!!"),this._connect()}})}}}}_connect(){!this.wssub||(this.ws=new $d(this.wsConfig),this.ws.subscribe(i=>this.chartdata.dataProcess(i)))}nextWs(i){i.id=this._idReq++,this.ws.next(i)}sendMessageForHdbpp(){var i,s;const x=new Date,B=null!==(i=this.sett.settFromUrl.hdbpp_time_in_min)&&void 0!==i?i:300;x.setMinutes(x.getMinutes()-B);const Z=new Date,nt=this.dateToMysqlFrmtDateString(x),lt=this.dateToMysqlFrmtDateString(Z);this.myconsole.myConsoleLog(`START: \t${nt}\nEND:\t${lt}`);const pt=this.sett.hdbppSett.extractor_dev,vt=this.sett.settFromUrl.attrs.split(","),bt=null!==(s=this.sett.settFromUrl.hdbpp_n_points)&&void 0!==s?s:300,wt=vt.map(Dt=>this.sett.settFromUrl.dev+"/"+Dt);wt.unshift(bt.toString()),wt.unshift(lt),wt.unshift(nt),this.nextWs({command_name:"GetDataJson",device_name:pt,type_req:zx,jsonout:!0,argin:wt}),this._hdbppdataChecked=!0}dateToMysqlFrmtDateString(i){return i.getFullYear().toString()+"-"+(i.getMonth()<10?"0":"")+(i.getMonth()+1).toString()+"-"+(i.getDate()<10?"0":"")+i.getDate().toString()+" "+(i.getHours()<10?"0":"")+i.getHours().toString()+":"+(i.getMinutes()<10?"0":"")+i.getMinutes().toString()}}return t.\u0275fac=function(i){return new(i||t)(Gt(Ja),Gt(Qa),Gt(e0))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),OL=(()=>{class t{constructor(i,s,x,B){this.sett=i,this.wsClient=s,this.chartdata=x,this.myconsole=B,this.initAttrList(),this.initChart(),this.wsNextObsSubscribe()}get chart(){return this.attributeChart}initAttrList(){this.tangoAttributes=this.sett.tangoAttributes,this.attrList=this.tangoAttributes.attributes,this.aliasesList=this.tangoAttributes.aliases}initChart(){var i,s,x,B;let nt,Z="";try{nt=hcscript}catch(lt){this.sett.settFromUrl.testmode&&!this.sett.settFromUrl.chartscript?(this.myconsole.myConsoleLog("\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c src/app/services/fortest/testchart.ts"),nt=VO):(nt=UO,this.sett.settFromUrl.chartscript&&(Z+=`\u041d\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 chartscript=${this.sett.settFromUrl.chartscript}<br>`))}if(this.additionalSettFromUrl(nt),this.attributeChart=new Nd(nt),jd.setOptions({chart:{animation:!1},time:{useUTC:!1}}),this.titleOptions=nt.title,this.tangoAttributes.inited||(Z+="      \u041d\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u0438\u043c\u044f \u0434\u0435\u0432\u0430\u0439\u0441\u0430 \u0438/\u0438\u043b\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b. (\u041a\u043b\u044e\u0447\u0438 dev attrs) <br>      "),Z.length)this.chart.ref$.subscribe(lt=>lt.update({title:this.errorTitle(Z)}));else if(this.attrList&&(null===(i=nt.series)||void 0===i?void 0:i.length)>=(null===(s=this.attrList)||void 0===s?void 0:s.length))for(let lt=0;lt<nt.series.length;lt++)(null===(x=this.aliasesList)||void 0===x?void 0:x[lt])&&(nt.series[lt].name=null===(B=this.aliasesList)||void 0===B?void 0:B[lt]),nt.series[lt].name||(nt.series[lt].name=this.attrList[lt])}additionalSettFromUrl(i){const s=this.sett.settFromUrl;(void 0!==s.chmin||void 0!==s.chmax)&&this.setMinAndMax(i,s.chmin,s.chmax),s.ytitle&&this.setYTitle(i,s.ytitle)}setMinAndMax(i,s,x){i.yAxis||(i.yAxis={}),i.yAxis.min=s,i.yAxis.max=x}setYTitle(i,s){i.yAxis||(i.yAxis={}),i.yAxis.title={text:s},i.yAxis.title.style||(i.yAxis.title.style={fontSize:"15px"})}wsNextObsSubscribe(){this.wsUpdateDataSubscribe(),this.stateSubscribe(),this.errorObsSubscribe(),this.sett.settFromUrl.procdatatype===li.HDBPP_SCALAR_UPD&&this.hdbppDataSubscribe()}wsUpdateDataSubscribe(){this.chartdata.dataObservable.subscribe(i=>{const s=this.checkIndex(i.attr_short);if(-1!==s)if(s>=this.chart.ref.series.length)this.myconsole.errorLog("\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 Chart. Series \u043c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432");else{switch(this.sett.settFromUrl.procdatatype){case li.SPECTRUM:this.updateDataForSpectrumType(s,i);break;case li.HDBPP_SCALAR_UPD:this.updateDataForHdbppScalarUpdType(s,i);break;case li.SCALAR:this.updateDataForScalarType(s,i)}this.sett.settFromUrl.notusesignal||this.dataSignal()}})}stateSubscribe(){this.wsClient.stateObservable.subscribe(i=>{var s;this.chart.ref.update(i.errorState?{title:this.errorTitle(i.errorMess)}:{title:null!==(s=this.titleOptions)&&void 0!==s?s:{text:""}})})}errorObsSubscribe(){this.chartdata.errorObs.subscribe(i=>{var s;this.chart.ref.update(i.length?{title:this.errorTitle(i)}:{title:null!==(s=this.titleOptions)&&void 0!==s?s:{text:""}})})}hdbppDataSubscribe(){this.chartdata.hdbppDataObs.subscribe(i=>{this.myconsole.myConsoleLog("Processed HDBPP data:",i),Object.keys(i).forEach(s=>{const x=this.checkIndex(s);x>=0&&this.chart.ref.series[x].setData(i[s].data)})})}checkIndex(i){return this.attrList?this.attrList.indexOf(i):-1}updateDataForSpectrumType(i,s){this.chart.ref.series[i].setData(s.data)}updateDataForHdbppScalarUpdType(i,s){s.type_req===Bd&&this.updateDataForScalarType(i,s)}updateDataForScalarType(i,s){const x=isFinite(this.sett.settFromUrl.max_points)?Number(this.sett.settFromUrl.max_points):5e3;this.chart.ref.series[i].data.length>x&&this.chart.ref.series[i].removePoint(0),this.chart.ref.series[i].addPoint([(new Date).getTime(),s.data])}errorTitle(i){return{text:i,align:"center",style:{fontSize:"40",color:"red"}}}dataSignal(){this.chart.ref$.subscribe(i=>{var s,x;const B=i.renderer.circle(void 0!==this.sett.settFromUrl.xpossignal?this.sett.settFromUrl.xpossignal:30,void 0!==this.sett.settFromUrl.ypossignal?this.sett.settFromUrl.ypossignal:30,void 0!==this.sett.settFromUrl.radiussignal?this.sett.settFromUrl.radiussignal:20).attr({fill:null!==(s=this.sett.settFromUrl.colorsignal)&&void 0!==s?s:"green"}).add();setTimeout(()=>{B.destroy()},null!==(x=this.sett.settFromUrl.timeoutsignal)&&void 0!==x?x:200)})}}return t.\u0275fac=function(i){return new(i||t)(Gt(Ja),Gt(PL),Gt(e0),Gt(Qa))},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const LL=[{path:"",component:(()=>{class t{constructor(i){this.chartService=i}ngOnInit(){this.chart=this.chartService.chart}}return t.\u0275fac=function(i){return new(i||t)(Yt(OL))},t.\u0275cmp=ro({type:t,selectors:[["app-chart"]],decls:1,vars:1,consts:[[2,"height","100%",3,"chart"]],template:function(i,s){1&i&&Ro(0,"div",0),2&i&&Yh("chart",s.chart)},directives:[WO],styles:[""],changeDetection:0}),t})(),pathMatch:"full"}];let IL=(()=>{class t{}return t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=$i({type:t}),t.\u0275inj=Ii({imports:[[Ex.forRoot(LL)],Ex]}),t})(),_L=(()=>{class t{constructor(i,s){var x;i.setTitle(null!==(x=s.settFromUrl.htmltitle)&&void 0!==x?x:"chart")}}return t.\u0275fac=function(i){return new(i||t)(Yt(Cv),Yt(Ja))},t.\u0275cmp=ro({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(i,s){1&i&&Ro(0,"router-outlet")},directives:[Td],styles:[""]}),t})();function RL(t){return()=>t.loadCommSett()}let n0=(()=>{class t{constructor(){this.loaded=!1;const i=Za();i.chartscript&&(this.scriptname="./assets/scripts/highchartjs_"+i.chartscript+".js")}loadScript(){return new Promise((i,s)=>{if(this.scriptname)if(this.loaded)i(!0);else{let x=document.createElement("script");x.type="text/javascript",x.src=this.scriptname,x.onload=()=>{this.loaded=!0,i(!0)},x.onerror=B=>i(!1),document.getElementsByTagName("head")[0].appendChild(x)}else i(!1)})}}return t.\u0275fac=function(i){return new(i||t)},t.\u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function jL(t){return()=>t.loadScript()}let NL=(()=>{class t{}return t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=$i({type:t,bootstrap:[_L]}),t.\u0275inj=Ii({providers:[Vd,{provide:Xo,useFactory:RL,deps:[Vd],multi:!0},n0,{provide:Xo,useFactory:jL,deps:[n0],multi:!0}],imports:[[rD,IL,vL,GO]]}),t})();(function zk(){Iy=!1})(),iD().bootstrapModule(NL).catch(t=>{console.error(t),document.querySelector("#errorMessage").innerHTML=t})},700:function(Te,hi,Ve){var oe,de,Mt;de="undefined"!=typeof window?window:this,Mt=function(de){function Mt(X,Y,et,rt){X.hasOwnProperty(Y)||(X[Y]=rt.apply(null,et),"function"==typeof CustomEvent&&de.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:Y,module:X[Y]}})))}var $={};return Mt($,"Core/Globals.js",[],function(){var X,Y;return(Y=X||(X={})).SVG_NS="http://www.w3.org/2000/svg",Y.product="Highcharts",Y.version="10.1.0",Y.win=void 0!==de?de:{},Y.doc=Y.win.document,Y.svg=Y.doc&&Y.doc.createElementNS&&!!Y.doc.createElementNS(Y.SVG_NS,"svg").createSVGRect,Y.userAgent=Y.win.navigator&&Y.win.navigator.userAgent||"",Y.isChrome=-1!==Y.userAgent.indexOf("Chrome"),Y.isFirefox=-1!==Y.userAgent.indexOf("Firefox"),Y.isMS=/(edge|msie|trident)/i.test(Y.userAgent)&&!Y.win.opera,Y.isSafari=!Y.isChrome&&-1!==Y.userAgent.indexOf("Safari"),Y.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Y.userAgent),Y.isWebKit=-1!==Y.userAgent.indexOf("AppleWebKit"),Y.deg2rad=2*Math.PI/360,Y.hasBidiBug=Y.isFirefox&&4>parseInt(Y.userAgent.split("Firefox/")[1],10),Y.hasTouch=!!Y.win.TouchEvent,Y.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Y.noop=function(){},Y.supportsPassiveEvents=function(){var et=!1;if(!Y.isMS){var rt=Object.defineProperty({},"passive",{get:function(){et=!0}});Y.win.addEventListener&&Y.win.removeEventListener&&(Y.win.addEventListener("testPassive",Y.noop,rt),Y.win.removeEventListener("testPassive",Y.noop,rt))}return et}(),Y.charts=[],Y.dateFormats={},Y.seriesTypes={},Y.symbolSizes={},Y.chartCount=0,X}),Mt($,"Core/Utilities.js",[$["Core/Globals.js"]],function(X){function Y(n,r,f,T){var w=r?"Highcharts error":"Highcharts warning";32===n&&(n=w+": Deprecated member");var D=I(n),d=D?w+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();if(void 0!==T){var R="";D&&(d+="?"),O(T,function(a,h){R+="\n - "+h+": "+a,D&&(d+=encodeURI(h)+"="+encodeURI(a))}),d+=R}g(X,"displayError",{chart:f,code:n,message:d,params:T},function(){if(r)throw Error(d);o.console&&-1===Y.messages.indexOf(d)&&console.warn(d)}),Y.messages.push(d)}function rt(n,r){return parseInt(n,r||10)}function Q(n){return"string"==typeof n}function it(n){return"[object Array]"===(n=Object.prototype.toString.call(n))||"[object Array Iterator]"===n}function K(n,r){return!(!n||"object"!=typeof n||r&&it(n))}function W(n){return K(n)&&"number"==typeof n.nodeType}function F(n){var r=n&&n.constructor;return!(!K(n,!0)||W(n)||!r||!r.name||"Object"===r.name)}function I(n){return"number"==typeof n&&!isNaN(n)&&1/0>n&&-1/0<n}function L(n){return null!=n}function C(n,r,f){var w,T=Q(r)&&!L(f),D=function(d,R){L(d)?n.setAttribute(R,d):T?(w=n.getAttribute(R))||"class"!==R||(w=n.getAttribute(R+"Name")):n.removeAttribute(R)};return Q(r)?D(f,r):O(r,D),w}function y(n,r){var f;for(f in n||(n={}),r)n[f]=r[f];return n}function S(){for(var n=arguments,r=n.length,f=0;f<r;f++){var T=n[f];if(null!=T)return T}}function M(n,r){X.isMS&&!X.svg&&r&&L(r.opacity)&&(r.filter="alpha(opacity="+100*r.opacity+")"),y(n.style,r)}function E(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))}function v(n,r){return 1e14<n?n:parseFloat(n.toPrecision(r||14))}function O(n,r,f){for(var T in n)Object.hasOwnProperty.call(n,T)&&r.call(f||n[T],n[T],T,n)}function P(n,r,f){function T(R,a){var h=n.removeEventListener||X.removeEventListenerPolyfill;h&&h.call(n,R,a,!1)}function w(R){var a;if(n.nodeName){if(r){var h={};h[r]=!0}else h=R;O(h,function(A,j){if(R[j])for(a=R[j].length;a--;)T(j,R[j][a].fn)})}}var D="function"==typeof n&&n.prototype||n;if(Object.hasOwnProperty.call(D,"hcEvents")){var d=D.hcEvents;r?(D=d[r]||[],f?(d[r]=D.filter(function(R){return f!==R.fn}),T(r,f)):(w(d),d[r]=[])):(w(d),delete D.hcEvents)}}function g(n,r,f,T){if(f=f||{},u.createEvent&&(n.dispatchEvent||n.fireEvent&&n!==X)){var w=u.createEvent("Events");w.initEvent(r,!0,!0),f=y(w,f),n.dispatchEvent?n.dispatchEvent(f):n.fireEvent(r,f)}else if(n.hcEvents){f.target||y(f,{preventDefault:function(){f.defaultPrevented=!0},target:n,type:r}),w=[];for(var D=n,d=!1;D.hcEvents;)Object.hasOwnProperty.call(D,"hcEvents")&&D.hcEvents[r]&&(w.length&&(d=!0),w.unshift.apply(w,D.hcEvents[r])),D=Object.getPrototypeOf(D);d&&w.sort(function(R,a){return R.order-a.order}),w.forEach(function(R){!1===R.fn.call(n,f)&&f.preventDefault()})}T&&!f.defaultPrevented&&T.call(n,f)}var c=X.charts,u=X.doc,o=X.win;(Y||(Y={})).messages=[],Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var m=Array.prototype.find?function(n,r){return n.find(r)}:function(n,r){var f,T=n.length;for(f=0;f<T;f++)if(r(n[f],f))return n[f]};O({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(n,r){X[r]=function(f){var T;return Y(32,!1,void 0,((T={})["Highcharts."+r]="use Array."+n,T)),Array.prototype[n].apply(f,[].slice.call(arguments,1))}});var l,n,r,b=(n=Math.random().toString(36).substring(2,9)+"-",r=0,function(){return"highcharts-"+(l?"":n)+r++});return o.jQuery&&(o.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new(X[Q(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):c[C(this[0],"data-highcharts-chart")]}),m={addEvent:function(n,r,f,T){void 0===T&&(T={});var w="function"==typeof n&&n.prototype||n;Object.hasOwnProperty.call(w,"hcEvents")||(w.hcEvents={}),w=w.hcEvents,X.Point&&n instanceof X.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);var D=n.addEventListener||X.addEventListenerPolyfill;return D&&D.call(n,r,f,!!X.supportsPassiveEvents&&{passive:void 0===T.passive?-1!==r.indexOf("touch"):T.passive,capture:!1}),w[r]||(w[r]=[]),w[r].push({fn:f,order:"number"==typeof T.order?T.order:1/0}),w[r].sort(function(d,R){return d.order-R.order}),function(){P(n,r,f)}},arrayMax:function(n){for(var r=n.length,f=n[0];r--;)n[r]>f&&(f=n[r]);return f},arrayMin:function(n){for(var r=n.length,f=n[0];r--;)n[r]<f&&(f=n[r]);return f},attr:C,clamp:function(n,r,f){return n>r?n<f?n:f:r},cleanRecursively:function et(n,r){var f={};return O(n,function(T,w){K(n[w],!0)&&!n.nodeType&&r[w]?(T=et(n[w],r[w]),Object.keys(T).length&&(f[w]=T)):(K(n[w])||n[w]!==r[w]||w in n&&!(w in r))&&(f[w]=n[w])}),f},clearTimeout:function(n){L(n)&&clearTimeout(n)},correctFloat:v,createElement:function(n,r,f,T,w){return n=u.createElement(n),r&&y(n,r),w&&M(n,{padding:"0",border:"none",margin:"0"}),f&&M(n,f),T&&T.appendChild(n),n},css:M,defined:L,destroyObjectProperties:function(n,r){O(n,function(f,T){f&&f!==r&&f.destroy&&f.destroy(),delete n[T]})},discardElement:function(n){n&&n.parentElement&&n.parentElement.removeChild(n)},erase:function(n,r){for(var f=n.length;f--;)if(n[f]===r){n.splice(f,1);break}},error:Y,extend:y,extendClass:function(n,r){var f=function(){};return y(f.prototype=new n,r),f},find:m,fireEvent:g,getMagnitude:E,getNestedProperty:function(n,r){for(n=n.split(".");n.length&&L(r);){var f=n.shift();if(void 0===f||"__proto__"===f||!L(r=r[f])||"function"==typeof r||"number"==typeof r.nodeType||r===o)return}return r},getStyle:function k(n,r,f){var T=X.getStyle||k;if("width"===r)return r=Math.min(n.offsetWidth,n.scrollWidth),(f=n.getBoundingClientRect&&n.getBoundingClientRect().width)<r&&f>=r-1&&(r=Math.floor(f)),Math.max(0,r-(T(n,"padding-left",!0)||0)-(T(n,"padding-right",!0)||0));if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(T(n,"padding-top",!0)||0)-(T(n,"padding-bottom",!0)||0));if(o.getComputedStyle||Y(27,!0),n=o.getComputedStyle(n,void 0)){var w=n.getPropertyValue(r);S(f,"opacity"!==r)&&(w=rt(w))}return w},inArray:function(n,r,f){return Y(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(n,f)},isArray:it,isClass:F,isDOMElement:W,isFunction:function(n){return"function"==typeof n},isNumber:I,isObject:K,isString:Q,keys:function(n){return Y(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)},merge:function(){var n,r=arguments,f={},T=function(D,d){return"object"!=typeof D&&(D={}),O(d,function(R,a){"__proto__"!==a&&"constructor"!==a&&(D[a]=!K(R,!0)||F(R)||W(R)?d[a]:T(D[a]||{},R))}),D};!0===r[0]&&(f=r[1],r=Array.prototype.slice.call(r,2));var w=r.length;for(n=0;n<w;n++)f=T(f,r[n]);return f},normalizeTickInterval:function(n,r,f,T,w){var D=n,d=n/(f=S(f,E(n)));for(r||(r=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===T&&(1===f?r=r.filter(function(R){return R%1==0}):.1>=f&&(r=[1/f]))),T=0;T<r.length&&(D=r[T],!(w&&D*f>=n||!w&&d<=(r[T]+(r[T+1]||r[T]))/2));T++);return v(D*f,-Math.round(Math.log(.001)/Math.LN10))},objectEach:O,offset:function(n){var r=u.documentElement;return{top:(n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(o.pageYOffset||r.scrollTop)-(r.clientTop||0),left:n.left+(o.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:n.width,height:n.height}},pad:function(n,r,f){return Array((r||2)+1-String(n).replace("-","").length).join(f||"0")+n},pick:S,pInt:rt,relativeLength:function(n,r,f){return/%$/.test(n)?r*parseFloat(n)/100+(f||0):parseFloat(n)},removeEvent:P,splat:function(n){return it(n)?n:[n]},stableSort:function(n,r){var T,w,f=n.length;for(w=0;w<f;w++)n[w].safeI=w;for(n.sort(function(D,d){return 0===(T=r(D,d))?D.safeI-d.safeI:T}),w=0;w<f;w++)delete n[w].safeI},syncTimeout:function(n,r,f){return 0<r?setTimeout(n,r,f):(n.call(0,f),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:b,useSerialIds:function(n){return l=S(n,l)},wrap:function(n,r,f){var T=n[r];n[r]=function(){var w=Array.prototype.slice.call(arguments),D=arguments,d=this;return d.proceed=function(){T.apply(d,arguments.length?arguments:D)},w.unshift(T),w=f.apply(this,w),d.proceed=null,w}}},m}),Mt($,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Mt($,"Core/Color/Color.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.isNumber,rt=Y.merge,Q=Y.pInt;return function(){function it(K){this.rgba=[NaN,NaN,NaN,NaN],this.input=K;var W=X.Color;return W&&W!==it?new W(K):this instanceof it?void this.init(K):new it(K)}return it.parse=function(K){return K?new it(K):it.None},it.prototype.init=function(K){var W;if("object"==typeof K&&void 0!==K.stops)this.stops=K.stops.map(function(C){return new it(C[1])});else if("string"==typeof K){if(this.input=K=it.names[K.toLowerCase()]||K,"#"===K.charAt(0)){var F=K.length,I=parseInt(K.substr(1),16);7===F?W=[(16711680&I)>>16,(65280&I)>>8,255&I,1]:4===F&&(W=[(3840&I)>>4|(3840&I)>>8,(240&I)>>4|240&I,(15&I)<<4|15&I,1])}if(!W)for(I=it.parsers.length;I--&&!W;){var L=it.parsers[I];(F=L.regex.exec(K))&&(W=L.parse(F))}}W&&(this.rgba=W)},it.prototype.get=function(K){var W=this.input,F=this.rgba;if("object"==typeof W&&void 0!==this.stops){var I=rt(W);return I.stops=[].slice.call(I.stops),this.stops.forEach(function(L,C){I.stops[C]=[I.stops[C][0],L.get(K)]}),I}return F&&et(F[0])?"rgb"===K||!K&&1===F[3]?"rgb("+F[0]+","+F[1]+","+F[2]+")":"a"===K?""+F[3]:"rgba("+F.join(",")+")":W},it.prototype.brighten=function(K){var W=this.rgba;if(this.stops)this.stops.forEach(function(I){I.brighten(K)});else if(et(K)&&0!==K)for(var F=0;3>F;F++)W[F]+=Q(255*K),0>W[F]&&(W[F]=0),255<W[F]&&(W[F]=255);return this},it.prototype.setOpacity=function(K){return this.rgba[3]=K,this},it.prototype.tweenTo=function(K,W){var F=this.rgba,I=K.rgba;return et(F[0])&&et(I[0])?((K=1!==I[3]||1!==F[3])?"rgba(":"rgb(")+Math.round(I[0]+(F[0]-I[0])*(1-W))+","+Math.round(I[1]+(F[1]-I[1])*(1-W))+","+Math.round(I[2]+(F[2]-I[2])*(1-W))+(K?","+(I[3]+(F[3]-I[3])*(1-W)):"")+")":K.input||"none"},it.names={white:"#ffffff",black:"#000000"},it.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(K){return[Q(K[1]),Q(K[2]),Q(K[3]),parseFloat(K[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(K){return[Q(K[1]),Q(K[2]),Q(K[3]),1]}}],it.None=new it(""),it}()}),Mt($,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}}),Mt($,"Core/Time.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.win,rt=Y.defined,Q=Y.error,it=Y.extend,K=Y.isObject,W=Y.merge,F=Y.objectEach,I=Y.pad,L=Y.pick,C=Y.splat,y=Y.timeUnits,S=X.isSafari&&et.Intl&&et.Intl.DateTimeFormat.prototype.formatRange,M=X.isSafari&&et.Intl&&!et.Intl.DateTimeFormat.prototype.formatRange;return Y=function(){function E(v){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=et.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(v)}return E.prototype.get=function(v,k){if(this.variableTimezone||this.timezoneOffset){var O=k.getTime(),P=O-this.getTimezoneOffset(k);return k.setTime(P),v=k["getUTC"+v](),k.setTime(O),v}return this.useUTC?k["getUTC"+v]():k["get"+v]()},E.prototype.set=function(v,k,O){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===v||"Seconds"===v||"Minutes"===v&&this.getTimezoneOffset(k)%36e5==0)return k["setUTC"+v](O);var P=this.getTimezoneOffset(k);return P=k.getTime()-P,k.setTime(P),k["setUTC"+v](O),v=this.getTimezoneOffset(k),P=k.getTime()+v,k.setTime(P)}return this.useUTC||S&&"FullYear"===v?k["setUTC"+v](O):k["set"+v](O)},E.prototype.update=function(v){var k=L(v&&v.useUTC,!0);this.options=v=W(!0,this.options||{},v),this.Date=v.Date||et.Date||Date,this.timezoneOffset=(this.useUTC=k)&&v.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=k&&!(!v.getTimezoneOffset&&!v.timezone)},E.prototype.makeTime=function(v,k,O,P,g,c){if(this.useUTC){var u=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(u),m=this.getTimezoneOffset(u+=o);o!==m?u+=m-o:o-36e5!==this.getTimezoneOffset(u-36e5)||M||(u-=36e5)}else u=new this.Date(v,k,L(O,1),L(P,0),L(g,0),L(c,0)).getTime();return u},E.prototype.timezoneOffsetFunction=function(){var v=this,k=this.options,O=k.getTimezoneOffset,P=k.moment||et.moment;if(!this.useUTC)return function(g){return 6e4*new Date(g.toString()).getTimezoneOffset()};if(k.timezone){if(P)return function(g){return 6e4*-P.tz(g,k.timezone).utcOffset()};Q(25)}return this.useUTC&&O?function(g){return 6e4*O(g.valueOf())}:function(){return 6e4*(v.timezoneOffset||0)}},E.prototype.dateFormat=function(v,k,O){if(!rt(k)||isNaN(k))return X.defaultOptions.lang&&X.defaultOptions.lang.invalidDate||"";v=L(v,"%Y-%m-%d %H:%M:%S");var P=this,g=new this.Date(k),c=this.get("Hours",g),u=this.get("Day",g),o=this.get("Date",g),m=this.get("Month",g),l=this.get("FullYear",g),b=X.defaultOptions.lang,n=b&&b.weekdays,r=b&&b.shortWeekdays;return g=it({a:r?r[u]:n[u].substr(0,3),A:n[u],d:I(o),e:I(o,2," "),w:u,b:b.shortMonths[m],B:b.months[m],m:I(m+1),o:m+1,y:l.toString().substr(2,2),Y:l,H:I(c),k:c,I:I(c%12||12),l:c%12||12,M:I(this.get("Minutes",g)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:I(g.getSeconds()),L:I(Math.floor(k%1e3),3)},X.dateFormats),F(g,function(f,T){for(;-1!==v.indexOf("%"+T);)v=v.replace("%"+T,"function"==typeof f?f.call(P,k):f)}),O?v.substr(0,1).toUpperCase()+v.substr(1):v},E.prototype.resolveDTLFormat=function(v){return K(v,!0)?v:{main:(v=C(v))[0],from:v[1],to:v[2]}},E.prototype.getTimeTicks=function(v,k,O,P){var b,g=this,c=[],u={},o=new g.Date(k),m=v.unitRange,l=v.count||1;if(P=L(P,1),rt(k)){if(g.set("Milliseconds",o,m>=y.second?0:l*Math.floor(g.get("Milliseconds",o)/l)),m>=y.second&&g.set("Seconds",o,m>=y.minute?0:l*Math.floor(g.get("Seconds",o)/l)),m>=y.minute&&g.set("Minutes",o,m>=y.hour?0:l*Math.floor(g.get("Minutes",o)/l)),m>=y.hour&&g.set("Hours",o,m>=y.day?0:l*Math.floor(g.get("Hours",o)/l)),m>=y.day&&g.set("Date",o,m>=y.month?1:Math.max(1,l*Math.floor(g.get("Date",o)/l))),m>=y.month){g.set("Month",o,m>=y.year?0:l*Math.floor(g.get("Month",o)/l));var n=g.get("FullYear",o)}m>=y.year&&g.set("FullYear",o,n-n%l),m===y.week&&(n=g.get("Day",o),g.set("Date",o,g.get("Date",o)-n+P+(n<P?-7:0))),n=g.get("FullYear",o),P=g.get("Month",o);var r=g.get("Date",o),f=g.get("Hours",o);for(k=o.getTime(),!g.variableTimezone&&g.useUTC||!rt(O)||(b=O-k>4*y.month||g.getTimezoneOffset(k)!==g.getTimezoneOffset(O)),k=o.getTime(),o=1;k<O;)c.push(k),k=m===y.year?g.makeTime(n+o*l,0):m===y.month?g.makeTime(n,P+o*l):!b||m!==y.day&&m!==y.week?b&&m===y.hour&&1<l?g.makeTime(n,P,r,f+o*l):k+m*l:g.makeTime(n,P,r+o*l*(m===y.day?1:7)),o++;c.push(k),m<=y.hour&&1e4>c.length&&c.forEach(function(T){T%18e5==0&&"000000000"===g.dateFormat("%H%M%S%L",T)&&(u[T]="day")})}return c.info=it(v,{higherRanks:u,totalRange:m*l}),c},E.prototype.getDateFormat=function(v,k,O,P){var g=this.dateFormat("%m-%d %H:%M:%S.%L",k),c={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(o in y){if(v===y.week&&+this.dateFormat("%w",k)===O&&"00:00:00.000"===g.substr(6)){var o="week";break}if(y[o]>v){o=u;break}if(c[o]&&g.substr(c[o])!=="01-01 00:00:00.000".substr(c[o]))break;"week"!==o&&(u=o)}if(o)var m=this.resolveDTLFormat(P[o]).main;return m},E}(),Y}),Mt($,"Core/DefaultOptions.js",[$["Core/Chart/ChartDefaults.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Color/Palettes.js"],$["Core/Time.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){Y=Y.parse;var K=it.merge,W={colors:rt.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:X,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",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:et.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:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:et.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:Y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},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"}};W.chart.styledMode=!1;var F=new Q(K(W.global,W.time));return{defaultOptions:W,defaultTime:F,getOptions:function(){return W},setOptions:function(I){return K(!0,W,I),(I.time||I.global)&&(et.time?et.time.update(K(W.global,W.time,I.global,I.time)):et.time=F),W}}}),Mt($,"Core/Animation/Fx.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=X.parse,Q=Y.win,it=et.isNumber,K=et.objectEach;return function(){function W(F,I,L){this.pos=NaN,this.options=I,this.elem=F,this.prop=L}return W.prototype.dSetter=function(){var F=this.paths,I=F&&F[0];F=F&&F[1];var L=this.now||0,C=[];if(1!==L&&I&&F)if(I.length===F.length&&1>L)for(var y=0;y<F.length;y++){for(var S=I[y],M=F[y],E=[],v=0;v<M.length;v++){var k=S[v],O=M[v];E[v]=it(k)&&it(O)&&("A"!==M[0]||4!==v&&5!==v)?k+L*(O-k):O}C.push(E)}else C=F;else C=this.toD||[];this.elem.attr("d",C,void 0,!0)},W.prototype.update=function(){var F=this.elem,I=this.prop,L=this.now,C=this.options.step;this[I+"Setter"]?this[I+"Setter"]():F.attr?F.element&&F.attr(I,L,null,!0):F.style[I]=L+this.unit,C&&C.call(F,L,this)},W.prototype.run=function(F,I,L){var C=this,y=C.options,S=function(v){return!S.stopped&&C.step(v)},M=Q.requestAnimationFrame||function(v){setTimeout(v,13)},E=function(){for(var v=0;v<W.timers.length;v++)W.timers[v]()||W.timers.splice(v--,1);W.timers.length&&M(E)};F!==I||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=F,this.end=I,this.unit=L,this.now=this.start,this.pos=0,S.elem=this.elem,S.prop=this.prop,S()&&1===W.timers.push(S)&&M(E)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},W.prototype.step=function(F){var I=+new Date,L=this.options,C=this.elem,y=L.complete,S=L.duration,M=L.curAnim;if(C.attr&&!C.element)F=!1;else if(F||I>=S+this.startTime){this.now=this.end,this.pos=1,this.update();var E=M[this.prop]=!0;K(M,function(v){!0!==v&&(E=!1)}),E&&y&&y.call(C),F=!1}else this.pos=L.easing((I-this.startTime)/S),this.now=this.start+(this.end-this.start)*this.pos,this.update(),F=!0;return F},W.prototype.initPath=function(F,I,L){function C(g,c){for(;g.length<P;){var u=g[0],o=c[P-g.length];o&&"M"===u[0]&&(g[0]="C"===o[0]?["C",u[1],u[2],u[1],u[2],u[1],u[2]]:["L",u[1],u[2]]),g.unshift(u),E&&(u=g.pop(),g.push(g[g.length-1],u))}}function y(g,c){for(;g.length<P;)if("C"===(c=g[Math.floor(g.length/v)-1].slice())[0]&&(c[1]=c[5],c[2]=c[6]),E){var u=g[Math.floor(g.length/v)].slice();g.splice(g.length/2,0,c,u)}else g.push(c)}var S=F.startX,M=F.endX;L=L.slice();var E=F.isArea,v=E?2:1;if(!(I=I&&I.slice()))return[L,L];if(S&&M&&M.length){for(F=0;F<S.length;F++){if(S[F]===M[0]){var k=F;break}if(S[0]===M[M.length-S.length+F]){k=F;var O=!0;break}if(S[S.length-1]===M[M.length-S.length+F]){k=S.length-F;break}}void 0===k&&(I=[])}if(I.length&&it(k)){var P=L.length+k*v;O?(C(I,L),y(L,I)):(C(L,I),y(I,L))}return[I,L]},W.prototype.fillSetter=function(){W.prototype.strokeSetter.apply(this,arguments)},W.prototype.strokeSetter=function(){this.elem.attr(this.prop,rt(this.start).tweenTo(rt(this.end),this.pos),void 0,!0)},W.timers=[],W}()}),Mt($,"Core/Animation/AnimationUtilities.js",[$["Core/Animation/Fx.js"],$["Core/Utilities.js"]],function(X,Y){function et(y){return F(y)?I({duration:500,defer:0},y):{duration:y?500:0,defer:0}}function rt(y,S){for(var M=X.timers.length;M--;)X.timers[M].elem!==y||S&&S!==X.timers[M].prop||(X.timers[M].stopped=!0)}var Q=Y.defined,it=Y.getStyle,K=Y.isArray,W=Y.isNumber,F=Y.isObject,I=Y.merge,L=Y.objectEach,C=Y.pick;return{animate:function(y,S,M){var E,k,O,v="";if(!F(M)){var P=arguments;M={duration:P[2],easing:P[3],complete:P[4]}}W(M.duration)||(M.duration=400),M.easing="function"==typeof M.easing?M.easing:Math[M.easing]||Math.easeInOutSine,M.curAnim=I(S),L(S,function(g,c){rt(y,c),O=new X(y,M,c),k=void 0,"d"===c&&K(S.d)?(O.paths=O.initPath(y,y.pathArray,S.d),O.toD=S.d,E=0,k=1):y.attr?E=y.attr(c):(E=parseFloat(it(y,c))||0,"opacity"!==c&&(v="px")),k||(k=g),"string"==typeof k&&k.match("px")&&(k=k.replace(/px/g,"")),O.run(E,k,v)})},animObject:et,getDeferredAnimation:function(y,S,M){var E=et(S),v=0,k=0;return(M?[M]:y.series).forEach(function(O){O=et(O.options.animation),v=S&&Q(S.defer)?E.defer:Math.max(v,O.duration+O.defer),k=Math.min(E.duration,O.duration)}),y.renderer.forExport&&(v=0),{defer:Math.max(0,v-k),duration:Math.min(v,k)}},setAnimation:function(y,S){S.renderer.globalAnimation=C(y,S.options.chart.animation,!0)},stop:rt}}),Mt($,"Core/Renderer/HTML/AST.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.SVG_NS,rt=Y.attr,Q=Y.createElement,it=Y.css,K=Y.error,W=Y.isFunction,F=Y.isString,I=Y.objectEach,L=Y.splat,C=(Y=X.win.trustedTypes)&&W(Y.createPolicy)&&Y.createPolicy("highcharts",{createHTML:function(M){return M}}),y=C?C.createHTML(""):"";try{var S=!!(new DOMParser).parseFromString(y,"text/html")}catch(M){S=!1}return function(){function M(E){this.nodes="string"==typeof E?this.parseMarkup(E):E}return M.filterUserAttributes=function(E){return I(E,function(v,k){var O=!0;-1===M.allowedAttributes.indexOf(k)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(O=F(v)&&M.allowedReferences.some(function(P){return 0===v.indexOf(P)})),O||(K(33,!1,void 0,{"Invalid attribute in config":""+k}),delete E[k])}),E},M.parseStyle=function(E){return E.split(";").reduce(function(v,k){var O=(k=k.split(":").map(function(P){return P.trim()})).shift();return O&&k.length&&(v[O.replace(/-([a-z])/g,function(P){return P[1].toUpperCase()})]=k.join(":")),v},{})},M.setElementHTML=function(E,v){E.innerHTML=M.emptyHTML,v&&new M(v).addToDOM(E)},M.prototype.addToDOM=function(E){return function v(k,O){var P;return L(k).forEach(function(g){var c=g.tagName,u=g.textContent?X.doc.createTextNode(g.textContent):void 0,o=M.bypassHTMLFiltering;if(c)if("#text"===c)var m=u;else if(-1!==M.allowedTags.indexOf(c)||o){c=X.doc.createElementNS("svg"===c?et:O.namespaceURI||et,c);var l=g.attributes||{};I(g,function(b,n){"tagName"!==n&&"attributes"!==n&&"children"!==n&&"style"!==n&&"textContent"!==n&&(l[n]=b)}),rt(c,o?l:M.filterUserAttributes(l)),g.style&&it(c,g.style),u&&c.appendChild(u),v(g.children||[],c),m=c}else K(33,!1,void 0,{"Invalid tagName in config":c});m&&O.appendChild(m),P=m}),P}(this.nodes,E)},M.prototype.parseMarkup=function(E){var v=[];if(E=E.trim().replace(/ style="/g,' data-style="'),S)E=(new DOMParser).parseFromString(C?C.createHTML(E):E,"text/html");else{var k=Q("div");k.innerHTML=E,E={body:k}}var O=function(P,g){var c=P.nodeName.toLowerCase(),u={tagName:c};if("#text"===c&&(u.textContent=P.textContent||""),c=P.attributes){var o={};[].forEach.call(c,function(l){"data-style"===l.name?u.style=M.parseStyle(l.value):o[l.name]=l.value}),u.attributes=o}if(P.childNodes.length){var m=[];[].forEach.call(P.childNodes,function(l){O(l,m)}),m.length&&(u.children=m)}g.push(u)};return[].forEach.call(E.body.childNodes,function(P){return O(P,v)}),v},M.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align textAnchor textLength title type valign width x x1 x2 y y1 y2 zIndex".split(" "),M.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),M.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),M.emptyHTML=y,M.bypassHTMLFiltering=!1,M}()}),Mt($,"Core/FormatUtilities.js",[$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L,C,y){L=+L;var S=rt.lang,M=((I=+I||0).toString().split(".")[1]||"").split("e")[0].length,E=I.toString().split("e"),v=L;if(-1===L)L=Math.min(M,20);else if(K(L)){if(L&&E[1]&&0>E[1]){var k=L+ +E[1];0<=k?(E[0]=(+E[0]).toExponential(k).split("e")[0],L=k):(E[0]=E[0].split(".")[0]||0,I=20>L?(E[0]*Math.pow(10,E[1])).toFixed(L):0,E[1]=0)}}else L=2;k=(Math.abs(E[1]?E[0]:I)+Math.pow(10,-Math.max(L,M)-1)).toFixed(L);var O=3<(M=String(F(k))).length?M.length%3:0;return C=W(C,S.decimalPoint),y=W(y,S.thousandsSep),I=(0>I?"-":"")+(O?M.substr(0,O)+y:""),I=0>+E[1]&&!v?"0":I+M.substr(O).replace(/(\d{3})(?=\d)/g,"$1"+y),L&&(I+=C+k.slice(-L)),E[1]&&0!=+I&&(I+="e"+E[1]),I}var rt=X.defaultOptions,Q=X.defaultTime,it=Y.getNestedProperty,K=Y.isNumber,W=Y.pick,F=Y.pInt;return{dateFormat:function(I,L,C){return Q.dateFormat(I,L,C)},format:function(I,L,C){var y="{",S=!1,M=/f$/,E=/\.([0-9])/,v=rt.lang,k=C&&C.time||Q;C=C&&C.numberFormatter||et;for(var O=[];I;){var P=I.indexOf(y);if(-1===P)break;var g=I.slice(0,P);if(S){if(g=g.split(":"),y=it(g.shift()||"",L),g.length&&"number"==typeof y)if(g=g.join(":"),M.test(g)){var c=parseInt((g.match(E)||["","-1"])[1],10);null!==y&&(y=C(y,c,v.decimalPoint,-1<g.indexOf(",")?v.thousandsSep:""))}else y=k.dateFormat(g,y);O.push(y)}else O.push(g);I=I.slice(P+1),y=(S=!S)?"}":"{"}return O.push(I),O.join("")},numberFormat:et}}),Mt($,"Core/Renderer/RendererUtilities.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.clamp,et=X.pick,rt=X.stableSort;return(Q||(Q={})).distribute=function K(W,F,I){var M,L=W,C=L.reducedLen||F,y=function(O,P){return(P.rank||0)-(O.rank||0)},S=function(O,P){return O.target-P.target},E=!0,v=[],k=0;for(M=W.length;M--;)k+=W[M].size;if(k>C){for(rt(W,y),k=M=0;k<=C;)k+=W[M].size,M++;v=W.splice(M-1,W.length)}for(rt(W,S),W=W.map(function(O){return{size:O.size,targets:[O.target],align:et(O.align,.5)}});E;){for(M=W.length;M--;)C=W[M],y=(Math.min.apply(0,C.targets)+Math.max.apply(0,C.targets))/2,C.pos=Y(y-C.size*C.align,0,F-C.size);for(M=W.length,E=!1;M--;)0<M&&W[M-1].pos+W[M-1].size>W[M].pos&&(W[M-1].size+=W[M].size,W[M-1].targets=W[M-1].targets.concat(W[M].targets),W[M-1].align=.5,W[M-1].pos+W[M-1].size>F&&(W[M-1].pos=F-W[M-1].size),W.splice(M,1),E=!0)}return L.push.apply(L,v),M=0,W.some(function(O){var P=0;return(O.targets||[]).some(function(){return L[M].pos=O.pos+P,void 0!==I&&Math.abs(L[M].pos-L[M].target)>I?(L.slice(0,M+1).forEach(function(g){return delete g.pos}),L.reducedLen=(L.reducedLen||F)-.1*F,L.reducedLen>.1*F&&K(L,F,I),!0):(P+=L[M].size,M++,!1)})}),rt(L,S),L},Q}),Mt($,"Core/Renderer/SVG/SVGElement.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.animate,K=X.animObject,W=X.stop,F=rt.deg2rad,I=rt.doc,L=rt.noop,C=rt.svg,y=rt.SVG_NS,S=rt.win,M=Q.addEvent,E=Q.attr,v=Q.createElement,k=Q.css,O=Q.defined,P=Q.erase,g=Q.extend,c=Q.fireEvent,u=Q.isArray,o=Q.isFunction,m=Q.isNumber,l=Q.isString,b=Q.merge,n=Q.objectEach,r=Q.pick,f=Q.pInt,T=Q.syncTimeout,w=Q.uniqueKey;return X=function(){function D(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=y,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return D.prototype._defaultGetter=function(d){return d=r(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0),/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d)),d},D.prototype._defaultSetter=function(d,R,a){a.setAttribute(R,d)},D.prototype.add=function(d){var R=this.renderer,a=this.element;if(d&&(this.parentGroup=d),this.parentInverted=d&&d.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&R.buildText(this),this.added=!0,!d||d.handleZ||this.zIndex)var h=this.zIndexSetter();return h||(d?d.element:R.box).appendChild(a),this.onAdd&&this.onAdd(),this},D.prototype.addClass=function(d,R){var a=R?"":this.attr("class")||"";return(d=(d||"").split(/ /g).reduce(function(h,A){return-1===a.indexOf(A)&&h.push(A),h},a?[a]:[]).join(" "))!==a&&this.attr("class",d),this},D.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},D.prototype.align=function(d,R,a){var z,H,p,h={},A=this.renderer,j=A.alignedObjects;d?(this.alignOptions=d,this.alignByTranslate=R,(!a||l(a))&&(this.alignTo=z=a||"renderer",P(j,this),j.push(this),a=void 0)):(d=this.alignOptions,R=this.alignByTranslate,z=this.alignTo),a=r(a,A[z],"scrollablePlotBox"===z?A.plotBox:void 0,A);var N=d.verticalAlign;return A=(a.x||0)+(d.x||0),j=(a.y||0)+(d.y||0),"right"===(z=d.align)?H=1:"center"===z&&(H=2),H&&(A+=(a.width-(d.width||0))/H),h[R?"translateX":"x"]=Math.round(A),"bottom"===N?p=1:"middle"===N&&(p=2),p&&(j+=(a.height-(d.height||0))/p),h[R?"translateY":"y"]=Math.round(j),this[this.placed?"animate":"attr"](h),this.placed=!0,this.alignAttr=h,this},D.prototype.alignSetter=function(d){var R={left:"start",center:"middle",right:"end"};R[d]&&(this.alignValue=d,this.element.setAttribute("text-anchor",R[d]))},D.prototype.animate=function(d,R,a){var h=this,A=K(r(R,this.renderer.globalAnimation,!0));return R=A.defer,r(I.hidden,I.msHidden,I.webkitHidden,!1)&&(A.duration=0),0!==A.duration?(a&&(A.complete=a),T(function(){h.element&&it(h,d,A)},R)):(this.attr(d,void 0,a||A.complete),n(d,function(j,z){A.step&&A.step.call(this,j,{prop:z,pos:1,elem:this})},this)),this},D.prototype.applyTextOutline=function(d){var R=this.element;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));var a=d.split(" ");if(d=a[a.length-1],(a=a[0])&&"none"!==a&&rt.svg){this.fakeTS=!0,this.ySetter=this.xSetter,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(j,z,H){return 2*Number(z)+H}),this.removeTextOutline();var h=I.createElementNS(y,"tspan");E(h,{class:"highcharts-text-outline",fill:d,stroke:d,"stroke-width":a,"stroke-linejoin":"round"}),[].forEach.call(R.childNodes,function(j){var z=j.cloneNode(!0);z.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(H){return z.removeAttribute(H)}),h.appendChild(z)});var A=I.createElementNS(y,"tspan");A.textContent="\u200b",["x","y"].forEach(function(j){var z=R.getAttribute(j);z&&A.setAttribute(j,z)}),h.appendChild(A),R.insertBefore(h,R.firstChild)}},D.prototype.attr=function(d,R,a,h){var z,p,N,A=this.element,j=this.symbolCustomAttribs,H=this;if("string"==typeof d&&void 0!==R){var _=d;(d={})[_]=R}return"string"==typeof d?H=(this[d+"Getter"]||this._defaultGetter).call(this,d,A):(n(d,function(G,U){p=!1,h||W(this,U),this.symbolName&&-1!==j.indexOf(U)&&(z||(this.symbolAttr(d),z=!0),p=!0),!this.rotation||"x"!==U&&"y"!==U||(this.doTransform=!0),p||((N=this[U+"Setter"]||this._defaultSetter).call(this,G,U,A),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(U)&&this.updateShadows(U,G,N))},this),this.afterSetters()),a&&a.call(this),H},D.prototype.clip=function(d){return this.attr("clip-path",d?"url("+this.renderer.url+"#"+d.id+")":"none")},D.prototype.crisp=function(d,R){R=R||d.strokeWidth||0;var a=Math.round(R)%2/2;return d.x=Math.floor(d.x||this.x||0)+a,d.y=Math.floor(d.y||this.y||0)+a,d.width=Math.floor((d.width||this.width||0)-2*a),d.height=Math.floor((d.height||this.height||0)-2*a),O(d.strokeWidth)&&(d.strokeWidth=R),d},D.prototype.complexColor=function(d,R,a){var A,j,z,H,p,N,_,G,U,tt,ot,h=this.renderer,J=[];c(this.renderer,"complexColor",{args:arguments},function(){if(d.radialGradient?j="radialGradient":d.linearGradient&&(j="linearGradient"),j){if(p=h.gradients,N=d.stops,U=a.radialReference,u(z=d[j])&&(d[j]=z={x1:z[0],y1:z[1],x2:z[2],y2:z[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===j&&U&&!O(z.gradientUnits)&&(z=b(z,h.getRadialAttr(U,H=z),{gradientUnits:"userSpaceOnUse"})),n(z,function(ft,mt){"id"!==mt&&J.push(mt,ft)}),n(N,function(ft){J.push(ft)}),J=J.join(","),p[J])tt=p[J].attr("id");else{z.id=tt=w();var at=p[J]=h.createElement(j).attr(z).add(h.defs);at.radAttr=H,at.stops=[],N.forEach(function(ft){0===ft[1].indexOf("rgba")?(A=et.parse(ft[1]),_=A.get("rgb"),G=A.get("a")):(_=ft[1],G=1),ft=h.createElement("stop").attr({offset:ft[0],"stop-color":_,"stop-opacity":G}).add(at),at.stops.push(ft)})}a.setAttribute(R,ot="url("+h.url+"#"+tt+")"),a.gradient=J,d.toString=function(){return ot}}})},D.prototype.css=function(d){var R=this.styles,a={},h=this.element,A=!R;if(d.color&&(d.fill=d.color),R&&n(d,function(H,p){R&&R[p]!==H&&(a[p]=H,A=!0)}),A){if(R&&(d=g(R,a)),null===d.width||"auto"===d.width)delete this.textWidth;else if("text"===h.nodeName.toLowerCase()&&d.width)var j=this.textWidth=f(d.width);this.styles=d,j&&!C&&this.renderer.forExport&&delete d.width;var z=b(d);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(H){return z&&delete z[H]}),k(h,z),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),d.textOutline&&this.applyTextOutline(d.textOutline))}return this},D.prototype.dashstyleSetter=function(d){var R=this["stroke-width"];if("inherit"===R&&(R=1),d=d&&d.toLowerCase()){var a=d.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(d=a.length;d--;)a[d]=""+f(a[d])*r(R,NaN);d=a.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",d)}},D.prototype.destroy=function(){var d=this,R=d.element||{},a=d.renderer,h=R.ownerSVGElement,A=a.isSVG&&"SPAN"===R.nodeName&&d.parentGroup||void 0;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,W(d),d.clipPath&&h){var j=d.clipPath;[].forEach.call(h.querySelectorAll("[clip-path],[CLIP-PATH]"),function(z){-1<z.getAttribute("clip-path").indexOf(j.element.id)&&z.removeAttribute("clip-path")}),d.clipPath=j.destroy()}if(d.stops){for(h=0;h<d.stops.length;h++)d.stops[h].destroy();d.stops.length=0,d.stops=void 0}for(d.safeRemoveChild(R),a.styledMode||d.destroyShadows();A&&A.div&&0===A.div.childNodes.length;)R=A.parentGroup,d.safeRemoveChild(A.div),delete A.div,A=R;d.alignTo&&P(a.alignedObjects,d),n(d,function(z,H){d[H]&&d[H].parentGroup===d&&d[H].destroy&&d[H].destroy(),delete d[H]})},D.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(d){this.safeRemoveChild(d)},this),this.shadows=void 0},D.prototype.destroyTextPath=function(d,R){var a=d.getElementsByTagName("text")[0];if(a){if(a.removeAttribute("dx"),a.removeAttribute("dy"),R.element.setAttribute("id",""),this.textPathWrapper&&a.getElementsByTagName("textPath").length){for(d=this.textPathWrapper.element.childNodes;d.length;)a.appendChild(d[0]);a.removeChild(this.textPathWrapper.element)}}else(d.getAttribute("dx")||d.getAttribute("dy"))&&(d.removeAttribute("dx"),d.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},D.prototype.dSetter=function(d,R,a){u(d)&&("string"==typeof d[0]&&(d=this.renderer.pathToSegments(d)),this.pathArray=d,d=d.reduce(function(h,A,j){return A&&A.join?(j?h+" ":"")+A.join(" "):(A||"").toString()},"")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this[R]!==d&&(a.setAttribute(R,d),this[R]=d)},D.prototype.fadeOut=function(d){var R=this;R.animate({opacity:0},{duration:r(d,150),complete:function(){R.attr({y:-9999}).hide()}})},D.prototype.fillSetter=function(d,R,a){"string"==typeof d?a.setAttribute(R,d):d&&this.complexColor(d,R,a)},D.prototype.getBBox=function(d,R){var a=this.alignValue,h=this.element,A=this.renderer,j=this.styles,z=this.textStr,H=A.cache,p=A.cacheKeys,N=h.namespaceURI===this.SVG_NS;R=r(R,this.rotation,0);var G,_=A.styledMode?h&&D.prototype.getStyle.call(h,"font-size"):j&&j.fontSize;if(O(z)){var U=z.toString();-1===U.indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",R,_,this.textWidth,a,j&&j.textOverflow,j&&j.fontWeight].join()}if(U&&!d&&(G=H[U]),!G){if(N||A.forExport){try{var tt=this.fakeTS&&function(ot){var at=h.querySelector(".highcharts-text-outline");at&&k(at,{display:ot})};o(tt)&&tt("none"),G=h.getBBox?g({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},o(tt)&&tt("")}catch(ot){}(!G||0>G.width)&&(G={x:0,y:0,width:0,height:0})}else G=this.htmlGetBBox();if(A.isSVG&&(A=G.width,d=G.height,N&&(G.height=d={"11px,17":14,"13px,20":16}[(_||"")+","+Math.round(d)]||d),R)){N=Number(h.getAttribute("y")||0)-G.y,a={right:1,center:.5}[a||0]||0,j=R*F,_=(R-90)*F;var J=A*Math.cos(j);R=A*Math.sin(j),tt=Math.cos(_),j=Math.sin(_),J=(tt=(_=(A=G.x+a*(A-J)+N*tt)+J)-d*tt)-J,R=(d=(a=(N=G.y+N-a*R+N*j)+R)-d*j)-R,G.x=Math.min(A,_,tt,J),G.y=Math.min(N,a,d,R),G.width=Math.max(A,_,tt,J)-G.x,G.height=Math.max(N,a,d,R)-G.y}if(U&&(""===z||0<G.height)){for(;250<p.length;)delete H[p.shift()];H[U]||p.push(U),H[U]=G}}return G},D.prototype.getStyle=function(d){return S.getComputedStyle(this.element||this,"").getPropertyValue(d)},D.prototype.hasClass=function(d){return-1!==(""+this.attr("class")).split(" ").indexOf(d)},D.prototype.hide=function(){return this.attr({visibility:"hidden"})},D.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},D.prototype.init=function(d,R){this.element="span"===R?v(R):I.createElementNS(this.SVG_NS,R),this.renderer=d,c(this,"afterInit")},D.prototype.invert=function(d){return this.inverted=d,this.updateTransform(),this},D.prototype.on=function(d,R){var a=this.onEvents;return a[d]&&a[d](),a[d]=M(this.element,d,R),this},D.prototype.opacitySetter=function(d,R,a){this.opacity=d=Number(Number(d).toFixed(3)),a.setAttribute(R,d)},D.prototype.removeClass=function(d){return this.attr("class",(""+this.attr("class")).replace(l(d)?new RegExp("(^| )"+d+"( |$)"):d," ").replace(/ +/g," ").trim())},D.prototype.removeTextOutline=function(){var d=this.element.querySelector("tspan.highcharts-text-outline");d&&this.safeRemoveChild(d)},D.prototype.safeRemoveChild=function(d){var R=d.parentNode;R&&R.removeChild(d)},D.prototype.setRadialReference=function(d){var R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=d,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(d,R.radAttr)),this},D.prototype.setTextPath=function(d,R){var a=this.element,h=this.text?this.text.element:a,A={textAnchor:"text-anchor"},j=!1,z=this.textPathWrapper,H=!z;R=b(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},R);var p=Y.filterUserAttributes(R.attributes);if(d&&R&&R.enabled){z&&null===z.element.parentNode?(H=!0,z=z.destroy()):z&&this.removeTextOutline.call(z.parentGroup),this.options&&this.options.padding&&(p.dx=-this.options.padding),z||(this.textPathWrapper=z=this.renderer.createElement("textPath"),j=!0);var N=z.element;if((R=d.element.getAttribute("id"))||d.element.setAttribute("id",R=w()),H)for(h.setAttribute("y",0),m(p.dx)&&h.setAttribute("x",-p.dx),d=[].slice.call(h.childNodes),H=0;H<d.length;H++){var _=d[H];_.nodeType!==S.Node.TEXT_NODE&&"tspan"!==_.nodeName||N.appendChild(_)}j&&z&&z.add({element:h}),N.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+R),O(p.dy)&&(N.parentNode.setAttribute("dy",p.dy),delete p.dy),O(p.dx)&&(N.parentNode.setAttribute("dx",p.dx),delete p.dx),n(p,function(G,U){N.setAttribute(A[U]||U,G)}),a.removeAttribute("transform"),this.removeTextOutline.call(z),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=L}else z&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(a,d),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},D.prototype.shadow=function(d,R,a){var p,h=[],A=this.element,j=this.oldShadowOptions,z={color:"#000000",offsetX:this.parentInverted?-1:1,offsetY:this.parentInverted?-1:1,opacity:.15,width:3},H=!1;if(!0===d?p=z:"object"==typeof d&&(p=g(z,d)),p&&(p&&j&&n(p,function(tt,J){tt!==j[J]&&(H=!0)}),H&&this.destroyShadows(),this.oldShadowOptions=p),p){if(!this.shadows){var N=p.opacity/p.width,_=this.parentInverted?"translate("+p.offsetY+", "+p.offsetX+")":"translate("+p.offsetX+", "+p.offsetY+")";for(z=1;z<=p.width;z++){var G=A.cloneNode(!1),U=2*p.width+1-2*z;E(G,{stroke:d.color||"#000000","stroke-opacity":N*z,"stroke-width":U,transform:_,fill:"none"}),G.setAttribute("class",(G.getAttribute("class")||"")+" highcharts-shadow"),a&&(E(G,"height",Math.max(E(G,"height")-U,0)),G.cutHeight=U),R?R.element.appendChild(G):A.parentNode&&A.parentNode.insertBefore(G,A),h.push(G)}this.shadows=h}}else this.destroyShadows();return this},D.prototype.show=function(d){return void 0===d&&(d=!0),this.attr({visibility:d?"inherit":"visible"})},D.prototype.strokeSetter=function(d,R,a){this[R]=d,this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",a),a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===R&&0===d&&this.hasStroke?(a.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},D.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var d=this.getStyle("stroke-width"),R=0;if(d.indexOf("px")===d.length-2)R=f(d);else if(""!==d){var a=I.createElementNS(y,"rect");E(a,{width:d,"stroke-width":0}),this.element.parentNode.appendChild(a),R=a.getBBox().width,a.parentNode.removeChild(a)}return R},D.prototype.symbolAttr=function(d){var R=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(a){R[a]=r(d[a],R[a])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})},D.prototype.textSetter=function(d){d!==this.textStr&&(delete this.textPxLength,this.textStr=d,this.added&&this.renderer.buildText(this))},D.prototype.titleSetter=function(d){var R=this.element,a=R.getElementsByTagName("title")[0]||I.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(a,R.firstChild):R.appendChild(a),a.textContent=String(r(d,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},D.prototype.toFront=function(){var d=this.element;return d.parentNode.appendChild(d),this},D.prototype.translate=function(d,R){return this.attr({translateX:d,translateY:R})},D.prototype.updateShadows=function(d,R,a){var h=this.shadows;if(h)for(var A=h.length;A--;)a.call(h[A],"height"===d?Math.max(R-(h[A].cutHeight||0),0):"d"===d?this.d:R,d,h[A])},D.prototype.updateTransform=function(){var d=this.scaleX,R=this.scaleY,a=this.inverted,h=this.rotation,A=this.matrix,j=this.element,z=this.translateX||0,H=this.translateY||0;a&&(z+=this.width,H+=this.height),z=["translate("+z+","+H+")"],O(A)&&z.push("matrix("+A.join(",")+")"),a?z.push("rotate(90) scale(-1,1)"):h&&z.push("rotate("+h+" "+r(this.rotationOriginX,j.getAttribute("x"),0)+" "+r(this.rotationOriginY,j.getAttribute("y")||0)+")"),(O(d)||O(R))&&z.push("scale("+r(d,1)+" "+r(R,1)+")"),z.length&&j.setAttribute("transform",z.join(" "))},D.prototype.visibilitySetter=function(d,R,a){"inherit"===d?a.removeAttribute(R):this[R]!==d&&a.setAttribute(R,d),this[R]=d},D.prototype.xGetter=function(d){return"circle"===this.element.nodeName&&("x"===d?d="cx":"y"===d&&(d="cy")),this._defaultGetter(d)},D.prototype.zIndexSetter=function(d,R){var a=this.renderer,h=this.parentGroup,A=(h||a).element||a.box,j=this.element;a=A===a.box;var p,z=!1,H=this.added;if(O(d)?(j.setAttribute("data-z-index",d),this[R]===(d=+d)&&(H=!1)):O(this[R])&&j.removeAttribute("data-z-index"),this[R]=d,H){for((d=this.zIndex)&&h&&(h.handleZ=!0),p=(R=A.childNodes).length-1;0<=p&&!z;p--){H=(h=R[p]).getAttribute("data-z-index");var N=!O(H);h!==j&&(0>d&&N&&!a&&!p?(A.insertBefore(j,R[p]),z=!0):(f(H)<=d||N&&(!O(d)||0<=d))&&(A.insertBefore(j,R[p+1]||null),z=!0))}z||(A.insertBefore(j,R[a?3:0]||null),z=!0)}return z},D}(),X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter,X.prototype.yGetter=X.prototype.xGetter,X.prototype.matrixSetter=X.prototype.rotationOriginXSetter=X.prototype.rotationOriginYSetter=X.prototype.rotationSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter=X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.verticalAlignSetter=function(D,d){this[d]=D,this.doTransform=!0},X}),Mt($,"Core/Renderer/RendererRegistry.js",[$["Core/Globals.js"]],function(X){var Y,et,rt;return(et=Y||(Y={})).rendererTypes={},et.getRendererType=function(Q){return void 0===Q&&(Q=rt),et.rendererTypes[Q]||et.rendererTypes[rt]},et.registerRendererType=function(Q,it,K){et.rendererTypes[Q]=it,(!rt||K)&&(rt=Q,X.Renderer=it)},Y}),Mt($,"Core/Renderer/SVG/SVGLabel.js",[$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y){var I,et=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),rt=Y.defined,Q=Y.extend,it=Y.isNumber,K=Y.merge,W=Y.pick,F=Y.removeEvent;return function(I){function L(C,y,S,M,E,v,k,O,P,g){var u,c=I.call(this)||this;return c.paddingLeftSetter=c.paddingSetter,c.paddingRightSetter=c.paddingSetter,c.init(C,"g"),c.textStr=y,c.x=S,c.y=M,c.anchorX=v,c.anchorY=k,c.baseline=P,c.className=g,c.addClass("button"===g?"highcharts-no-tooltip":"highcharts-label"),g&&c.addClass("highcharts-"+g),c.text=C.text(void 0,0,0,O).attr({zIndex:1}),"string"==typeof E&&((u=/^url\((.*?)\)$/.test(E))||c.renderer.symbols[E])&&(c.symbolKey=E),c.bBox=L.emptyBBox,c.padding=3,c.baselineOffset=0,c.needsBox=C.styledMode||u,c.deferredAttr={},c.alignFactor=0,c}return et(L,I),L.prototype.alignSetter=function(C){(C={left:0,center:.5,right:1}[C])!==this.alignFactor&&(this.alignFactor=C,this.bBox&&it(this.xSetting)&&this.attr({x:this.xSetting}))},L.prototype.anchorXSetter=function(C,y){this.anchorX=C,this.boxAttr(y,Math.round(C)-this.getCrispAdjust()-this.xSetting)},L.prototype.anchorYSetter=function(C,y){this.anchorY=C,this.boxAttr(y,C-this.ySetting)},L.prototype.boxAttr=function(C,y){this.box?this.box.attr(C,y):this.deferredAttr[C]=y},L.prototype.css=function(C){if(C){var y={};C=K(C),L.textProps.forEach(function(M){void 0!==C[M]&&(y[M]=C[M],delete C[M])}),this.text.css(y);var S="width"in y;"fontSize"in y||"fontWeight"in y?this.updateTextPadding():S&&this.updateBoxSize()}return X.prototype.css.call(this,C)},L.prototype.destroy=function(){F(this.element,"mouseenter"),F(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),X.prototype.destroy.call(this)},L.prototype.fillSetter=function(C,y){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(y,C)},L.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var C=this.padding,y=W(this.paddingLeft,C);return{width:this.width,height:this.height,x:this.bBox.x-y,y:this.bBox.y-C}},L.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},L.prototype.heightSetter=function(C){this.heightSetting=C},L.prototype.onAdd=function(){var C=this.textStr;this.text.add(this),this.attr({text:rt(C)?C:"",x:this.x,y:this.y}),this.box&&rt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},L.prototype.paddingSetter=function(C,y){it(C)?C!==this[y]&&(this[y]=C,this.updateTextPadding()):this[y]=void 0},L.prototype.rSetter=function(C,y){this.boxAttr(y,C)},L.prototype.shadow=function(C){return C&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(C)),this},L.prototype.strokeSetter=function(C,y){this.stroke=C,this.boxAttr(y,C)},L.prototype["stroke-widthSetter"]=function(C,y){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(y,C)},L.prototype["text-alignSetter"]=function(C){this.textAlign=C},L.prototype.textSetter=function(C){void 0!==C&&this.text.attr({text:C}),this.updateTextPadding()},L.prototype.updateBoxSize=function(){var C=this.text.element.style,y={},S=this.padding,M=this.bBox=it(this.widthSetting)&&it(this.heightSetting)&&!this.textAlign||!rt(this.text.textStr)?L.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||M.height||0)+2*S,C=this.renderer.fontMetrics(C&&C.fontSize,this.text),this.baselineOffset=S+Math.min((this.text.firstLineMetrics||C).b,M.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-C.h)/2),this.needsBox&&(this.box||((S=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),S.add(this)),S=this.getCrispAdjust(),y.x=S,y.y=(this.baseline?-this.baselineOffset:0)+S,y.width=Math.round(this.width),y.height=Math.round(this.height),this.box.attr(Q(y,this.deferredAttr)),this.deferredAttr={})},L.prototype.updateTextPadding=function(){var C=this.text;this.updateBoxSize();var y=this.baseline?0:this.baselineOffset,S=W(this.paddingLeft,this.padding);rt(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(S+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(S!==C.x||y!==C.y)&&(C.attr("x",S),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),void 0!==y&&C.attr("y",y)),C.x=S,C.y=y},L.prototype.widthSetter=function(C){this.widthSetting=it(C)?C:void 0},L.prototype.getPaddedWidth=function(){var C=this.padding,y=W(this.paddingLeft,C);return C=W(this.paddingRight,C),(this.widthSetting||this.bBox.width||0)+y+C},L.prototype.xSetter=function(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)},L.prototype.ySetter=function(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)},L.emptyBBox={width:0,height:0,x:0,y:0},L.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),L}(X)}),Mt($,"Core/Renderer/SVG/Symbols.js",[$["Core/Utilities.js"]],function(X){function Y(W,F,I,L,C){var y=[];if(C){var S=C.start||0,M=K(C.r,I);I=K(C.r,L||I);var E=(C.end||0)-.001;L=C.innerR;var v=K(C.open,.001>Math.abs((C.end||0)-S-2*Math.PI)),k=Math.cos(S),O=Math.sin(S),P=Math.cos(E),g=Math.sin(E);S=K(C.longArc,.001>E-S-Math.PI?0:1),y.push(["M",W+M*k,F+I*O],["A",M,I,0,S,K(C.clockwise,1),W+M*P,F+I*g]),Q(L)&&y.push(v?["M",W+L*P,F+L*g]:["L",W+L*P,F+L*g],["A",L,L,0,S,Q(C.clockwise)?1-C.clockwise:0,W+L*k,F+L*O]),v||y.push(["Z"])}return y}function et(W,F,I,L,C){return C&&C.r?rt(W,F,I,L,C):[["M",W,F],["L",W+I,F],["L",W+I,F+L],["L",W,F+L],["Z"]]}function rt(W,F,I,L,C){return[["M",W+(C=C&&C.r||0),F],["L",W+I-C,F],["C",W+I,F,W+I,F,W+I,F+C],["L",W+I,F+L-C],["C",W+I,F+L,W+I,F+L,W+I-C,F+L],["L",W+C,F+L],["C",W,F+L,W,F+L,W,F+L-C],["L",W,F+C],["C",W,F,W,F,W+C,F]]}var Q=X.defined,it=X.isNumber,K=X.pick;return{arc:Y,callout:function(W,F,I,L,C){var y=Math.min(C&&C.r||0,I,L),S=y+6,M=C&&C.anchorX;C=C&&C.anchorY||0;var E=rt(W,F,I,L,{r:y});return it(M)&&(W+M>=I?C>F+S&&C<F+L-S?E.splice(3,1,["L",W+I,C-6],["L",W+I+6,C],["L",W+I,C+6],["L",W+I,F+L-y]):E.splice(3,1,["L",W+I,L/2],["L",M,C],["L",W+I,L/2],["L",W+I,F+L-y]):0>=W+M?C>F+S&&C<F+L-S?E.splice(7,1,["L",W,C+6],["L",W-6,C],["L",W,C-6],["L",W,F+y]):E.splice(7,1,["L",W,L/2],["L",M,C],["L",W,L/2],["L",W,F+y]):C&&C>L&&M>W+S&&M<W+I-S?E.splice(5,1,["L",M+6,F+L],["L",M,F+L+6],["L",M-6,F+L],["L",W+y,F+L]):C&&0>C&&M>W+S&&M<W+I-S&&E.splice(1,1,["L",M-6,F],["L",M,F-6],["L",M+6,F],["L",I-y,F])),E},circle:function(W,F,I,L){return Y(W+I/2,F+L/2,I/2,L/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L/2],["L",W+I/2,F+L],["L",W,F+L/2],["Z"]]},rect:et,roundedRect:rt,square:et,triangle:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L],["L",W,F+L],["Z"]]},"triangle-down":function(W,F,I,L){return[["M",W,F],["L",W+I,F],["L",W+I/2,F+L],["Z"]]}}}),Mt($,"Core/Renderer/SVG/TextBuilder.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.doc,Q=Y.SVG_NS,it=Y.win,K=et.attr,W=et.extend,F=et.isString,I=et.objectEach,L=et.pick;return function(){function C(y){var S=y.styles;this.renderer=y.renderer,this.svgElement=y,this.width=y.textWidth,this.textLineHeight=S&&S.lineHeight,this.textOutline=S&&S.textOutline,this.ellipsis=!(!S||"ellipsis"!==S.textOverflow),this.noWrap=!(!S||"nowrap"!==S.whiteSpace),this.fontSize=S&&S.fontSize}return C.prototype.buildSVG=function(){var y=this.svgElement,S=y.element,M=y.renderer,E=L(y.textStr,"").toString(),v=-1!==E.indexOf("<"),k=S.childNodes;M=this.width&&!y.added&&M.box;var P=[E,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(P!==y.textCache){for(y.textCache=P,delete y.actualWidth,P=k.length;P--;)S.removeChild(k[P]);v||this.ellipsis||this.width||-1!==E.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(E))?""!==E&&(M&&M.appendChild(S),E=new X(E),this.modifyTree(E.nodes),E.addToDOM(y.element),this.modifyDOM(),this.ellipsis&&-1!==(S.textContent||"").indexOf("\u2026")&&y.attr("title",this.unescapeEntities(y.textStr||"",["&lt;","&gt;"])),M&&M.removeChild(S)):S.appendChild(rt.createTextNode(this.unescapeEntities(E))),F(this.textOutline)&&y.applyTextOutline&&y.applyTextOutline(this.textOutline)}},C.prototype.modifyDOM=function(){var E,y=this,S=this.svgElement,M=K(S.element,"x");for(S.firstLineMetrics=void 0;(E=S.element.firstChild)&&/^[\s\u200B]*$/.test(E.textContent||" ");)S.element.removeChild(E);[].forEach.call(S.element.querySelectorAll("tspan.highcharts-br"),function(P,g){P.nextSibling&&P.previousSibling&&(0===g&&1===P.previousSibling.nodeType&&(S.firstLineMetrics=S.renderer.fontMetrics(void 0,P.previousSibling)),K(P,{dy:y.getLineHeight(P.nextSibling),x:M}))});var v=this.width||0;if(v){var O=function(P){[].slice.call(P.childNodes).forEach(function(g){g.nodeType===it.Node.TEXT_NODE?function(P,g){var c=P.textContent||"",u=c.replace(/([^\^])-/g,"$1- ").split(" "),o=!y.noWrap&&(1<u.length||1<S.element.childNodes.length),m=y.getLineHeight(g),l=0,b=S.actualWidth;if(y.ellipsis)c&&y.truncate(P,c,void 0,0,Math.max(0,v-parseInt(y.fontSize||12,10)),function(n,r){return n.substring(0,r)+"\u2026"});else if(o){for(c=[],o=[];g.firstChild&&g.firstChild!==P;)o.push(g.firstChild),g.removeChild(g.firstChild);for(;u.length;)u.length&&!y.noWrap&&0<l&&(c.push(P.textContent||""),P.textContent=u.join(" ").replace(/- /g,"-")),y.truncate(P,void 0,u,0===l&&b||0,v,function(n,r){return u.slice(0,r).join(" ").replace(/- /g,"-")}),b=S.actualWidth,l++;o.forEach(function(n){g.insertBefore(n,P)}),c.forEach(function(n){g.insertBefore(rt.createTextNode(n),P),(n=rt.createElementNS(Q,"tspan")).textContent="\u200b",K(n,{dy:m,x:M}),g.insertBefore(n,P)})}}(g,P):(-1!==g.className.baseVal.indexOf("highcharts-br")&&(S.actualWidth=0),O(g))})};O(S.element)}},C.prototype.getLineHeight=function(y){var S;return y=y.nodeType===it.Node.TEXT_NODE?y.parentElement:y,this.renderer.styledMode||(S=y&&/(px|em)$/.test(y.style.fontSize)?y.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(S,y||this.svgElement.element).h},C.prototype.modifyTree=function(y){var S=this,M=function(E,v){var k=E.attributes;k=void 0===k?{}:k;var O=E.children,P=E.style;P=void 0===P?{}:P;var g=E.tagName,c=S.renderer.styledMode;"b"===g||"strong"===g?c?k.class="highcharts-strong":P.fontWeight="bold":("i"===g||"em"===g)&&(c?k.class="highcharts-emphasized":P.fontStyle="italic"),P&&P.color&&(P.fill=P.color),"br"===g?(k.class="highcharts-br",E.textContent="\u200b",(v=y[v+1])&&v.textContent&&(v.textContent=v.textContent.replace(/^ +/gm,""))):"a"===g&&O&&O.some(function(u){return"#text"===u.tagName})&&(E.children=[{children:O,tagName:"tspan"}]),"#text"!==g&&"a"!==g&&(E.tagName="tspan"),W(E,{attributes:k,style:P}),O&&O.filter(function(u){return"#text"!==u.tagName}).forEach(M)};y.forEach(M)},C.prototype.truncate=function(y,S,M,E,v,k){var l,O=this.svgElement,P=O.renderer,g=O.rotation,c=[],u=M?1:0,o=(S||M||"").length,m=o,b=function(r,f){f=f||r;var T=y.parentNode;if(T&&void 0===c[f])if(T.getSubStringLength)try{c[f]=E+T.getSubStringLength(0,M?f+1:f)}catch(w){}else P.getSpanWidth&&(y.textContent=k(S||M,r),c[f]=E+P.getSpanWidth(O,y));return c[f]};O.rotation=0;var n=b(y.textContent.length);if(E+n>v){for(;u<=o;)m=Math.ceil((u+o)/2),M&&(l=k(M,m)),n=b(m,l&&l.length-1),u===o?u=o+1:n>v?o=m-1:u=m;0===o?y.textContent="":S&&o===S.length-1||(y.textContent=l||k(S||M,m))}M&&M.splice(0,m),O.actualWidth=n,O.rotation=g},C.prototype.unescapeEntities=function(y,S){return I(this.renderer.escapes,function(M,E){S&&-1!==S.indexOf(M)||(y=y.toString().replace(new RegExp(M,"g"),E))}),y},C}()}),Mt($,"Core/Renderer/SVG/SVGRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGLabel.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Renderer/SVG/TextBuilder.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var R,I=et.charts,L=et.deg2rad,C=et.doc,y=et.isFirefox,S=et.isMS,M=et.isWebKit,E=et.noop,v=et.SVG_NS,k=et.symbolSizes,O=et.win,P=F.addEvent,g=F.attr,c=F.createElement,u=F.css,o=F.defined,m=F.destroyObjectProperties,l=F.extend,b=F.isArray,n=F.isNumber,r=F.isObject,f=F.isString,T=F.merge,w=F.pick,D=F.pInt,d=F.uniqueKey;return et=function(){function a(h,A,j,z,H,p,N){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(h,A,j,z,H,p,N)}return a.prototype.init=function(h,A,j,z,H,p,N){var U,_=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),G=_.element;N||_.css(this.getStyle(z)),h.appendChild(G),g(h,"dir","ltr"),-1===h.innerHTML.indexOf("xmlns")&&g(G,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=G,this.boxWrapper=_,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 10.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(A,j,!1),y&&h.getBoundingClientRect&&((A=function(){u(h,{left:0,top:0}),U=h.getBoundingClientRect(),u(h,{left:Math.ceil(U.left)-U.left+"px",top:Math.ceil(U.top)-U.top+"px"})})(),this.unSubPixelFix=P(O,"resize",A))},a.prototype.definition=function(h){return new X([h]).addToDOM(this.defs.element)},a.prototype.getReferenceURL=function(){if((y||M)&&C.getElementsByTagName("base").length){if(!o(R)){var h=d();h=new X([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:h},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+h+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(C.body),u(h,{position:"fixed",top:0,left:0,zIndex:9e5});var A=C.elementFromPoint(6,6);R="hitme"===(A&&A.id),C.body.removeChild(h)}if(R)return O.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},a.prototype.getStyle=function(h){return this.style=l({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},h)},a.prototype.setStyle=function(h){this.boxWrapper.css(this.getStyle(h))},a.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},a.prototype.destroy=function(){var h=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),m(this.gradients||{}),this.gradients=null,h&&(this.defs=h.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},a.prototype.createElement=function(h){var A=new this.Element;return A.init(this,h),A},a.prototype.getRadialAttr=function(h,A){return{cx:h[0]-h[2]/2+(A.cx||0)*h[2],cy:h[1]-h[2]/2+(A.cy||0)*h[2],r:(A.r||0)*h[2]}},a.prototype.buildText=function(h){new W(h).buildSVG()},a.prototype.getContrast=function(h){return(h=Y.parse(h).rgba)[0]*=1,h[1]*=1.2,h[2]*=.5,459<h[0]+h[1]+h[2]?"#000000":"#FFFFFF"},a.prototype.button=function(h,A,j,z,H,p,N,_,G,U){var tt=this.label(h,A,j,G,void 0,void 0,U,void 0,"button"),J=this.styledMode;h=H&&H.states||{},H&&delete H.states;var ot=0,at=H?T(H):{},ft=T({color:"#333333",cursor:"pointer",fontWeight:"normal"},at.style);if(delete at.style,at=X.filterUserAttributes(at),tt.attr(T({padding:8,r:2},at)),!J){at=T({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},at);var mt=(p=T(at,{fill:"#e6e6e6"},X.filterUserAttributes(p||h.hover||{}))).style;delete p.style;var gt=(N=T(at,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},X.filterUserAttributes(N||h.select||{}))).style;delete N.style;var ut=(_=T(at,{style:{color:"#cccccc"}},X.filterUserAttributes(_||h.disabled||{}))).style;delete _.style}return P(tt.element,S?"mouseover":"mouseenter",function(){3!==ot&&tt.setState(1)}),P(tt.element,S?"mouseout":"mouseleave",function(){3!==ot&&tt.setState(ot)}),tt.setState=function(ht){1!==ht&&(tt.state=ot=ht),tt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][ht||0]),J||(tt.attr([at,p,N,_][ht||0]),r(ht=[ft,mt,gt,ut][ht||0])&&tt.css(ht))},J||tt.attr(at).css(l({cursor:"default"},ft)),tt.on("touchstart",function(ht){return ht.stopPropagation()}).on("click",function(ht){3!==ot&&z.call(tt,ht)})},a.prototype.crispLine=function(h,A,j){void 0===j&&(j="round");var z=h[0],H=h[1];return o(z[1])&&z[1]===H[1]&&(z[1]=H[1]=Math[j](z[1])-A%2/2),o(z[2])&&z[2]===H[2]&&(z[2]=H[2]=Math[j](z[2])+A%2/2),h},a.prototype.path=function(h){var A=this.styledMode?{}:{fill:"none"};return b(h)?A.d=h:r(h)&&l(A,h),this.createElement("path").attr(A)},a.prototype.circle=function(h,A,j){return h=r(h)?h:void 0===h?{}:{x:h,y:A,r:j},(A=this.createElement("circle")).xSetter=A.ySetter=function(z,H,p){p.setAttribute("c"+H,z)},A.attr(h)},a.prototype.arc=function(h,A,j,z,H,p){return r(h)?(A=(z=h).y,j=z.r,h=z.x):z={innerR:z,start:H,end:p},(h=this.symbol("arc",h,A,j,j,z)).r=j,h},a.prototype.rect=function(h,A,j,z,H,p){H=r(h)?h.r:H;var N=this.createElement("rect");return h=r(h)?h:void 0===h?{}:{x:h,y:A,width:Math.max(j,0),height:Math.max(z,0)},this.styledMode||(void 0!==p&&(h["stroke-width"]=p,h=N.crisp(h)),h.fill="none"),H&&(h.r=H),N.rSetter=function(_,G,U){N.r=_,g(U,{rx:_,ry:_})},N.rGetter=function(){return N.r||0},N.attr(h)},a.prototype.setSize=function(h,A,j){this.width=h,this.height=A,this.boxWrapper.animate({width:h,height:A},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(j,!0)?void 0:0}),this.alignElements()},a.prototype.g=function(h){var A=this.createElement("g");return h?A.attr({class:"highcharts-"+h}):A},a.prototype.image=function(h,A,j,z,H,p){var N={preserveAspectRatio:"none"},_=function(U,tt){U.setAttributeNS?U.setAttributeNS("http://www.w3.org/1999/xlink","href",tt):U.setAttribute("hc-svg-href",tt)};n(A)&&(N.x=A),n(j)&&(N.y=j),n(z)&&(N.width=z),n(H)&&(N.height=H);var G=this.createElement("image").attr(N);return A=function(U){_(G.element,h),p.call(G,U)},p?(_(G.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),j=new O.Image,P(j,"load",A),j.src=h,j.complete&&A({})):_(G.element,h),G},a.prototype.symbol=function(h,A,j,z,H,p){var J,N=this,_=/^url\((.*?)\)$/,G=_.test(h),U=!G&&(this.symbols[h]?h:"circle"),tt=U&&this.symbols[U];if(tt){"number"==typeof A&&(J=tt.call(this.symbols,Math.round(A||0),Math.round(j||0),z||0,H||0,p));var ot=this.path(J);N.styledMode||ot.attr("fill","none"),l(ot,{symbolName:U||void 0,x:A,y:j,width:z,height:H}),p&&l(ot,p)}else if(G){var at=h.match(_)[1],ft=ot=this.image(at);ft.imgwidth=w(k[at]&&k[at].width,p&&p.width),ft.imgheight=w(k[at]&&k[at].height,p&&p.height);var mt=function(gt){return gt.attr({width:gt.width,height:gt.height})};["width","height"].forEach(function(gt){ft[gt+"Setter"]=function(ut,ht){var V=this["img"+ht];this[ht]=ut,o(V)&&(p&&"within"===p.backgroundSize&&this.width&&this.height&&(V=Math.round(V*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(ht,V),this.alignByTranslate||(ut=((this[ht]||0)-V)/2,this.attr("width"===ht?{translateX:ut}:{translateY:ut})))}}),o(A)&&ft.attr({x:A,y:j}),ft.isImg=!0,o(ft.imgwidth)&&o(ft.imgheight)?mt(ft):(ft.attr({width:0,height:0}),c("img",{onload:function(){var gt=I[N.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),C.body.appendChild(this)),k[at]={width:this.width,height:this.height},ft.imgwidth=this.width,ft.imgheight=this.height,ft.element&&mt(ft),this.parentNode&&this.parentNode.removeChild(this),N.imgCount--,!N.imgCount&&gt&&!gt.hasLoaded&&gt.onload()},src:at}),this.imgCount++)}return ot},a.prototype.clipRect=function(h,A,j,z){var H=d()+"-",p=this.createElement("clipPath").attr({id:H}).add(this.defs);return(h=this.rect(h,A,j,z,0).add(p)).id=H,h.clipPath=p,h.count=0,h},a.prototype.text=function(h,A,j,z){var H={};return!z||!this.allowHTML&&this.forExport?(H.x=Math.round(A||0),j&&(H.y=Math.round(j)),o(h)&&(H.text=h),h=this.createElement("text").attr(H),(!z||this.forExport&&!this.allowHTML)&&(h.xSetter=function(p,N,_){for(var J,G=_.getElementsByTagName("tspan"),U=_.getAttribute(N),tt=0;tt<G.length;tt++)(J=G[tt]).getAttribute(N)===U&&J.setAttribute(N,p);_.setAttribute(N,p)}),h):this.html(h,A,j)},a.prototype.fontMetrics=function(h,A){return h=!this.styledMode&&/px/.test(h)||!O.getComputedStyle?h||A&&A.style&&A.style.fontSize||this.style&&this.style.fontSize:A&&Q.prototype.getStyle.call(A,"font-size"),{h:A=24>(h=/px/.test(h)?D(h):12)?h+3:Math.round(1.2*h),b:Math.round(.8*A),f:h}},a.prototype.rotCorr=function(h,A,j){var z=h;return A&&j&&(z=Math.max(z*Math.cos(A*L),4)),{x:-h/3*Math.sin(A*L),y:z}},a.prototype.pathToSegments=function(h){for(var A=[],j=[],z={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},H=0;H<h.length;H++)f(j[0])&&n(h[H])&&j.length===z[j[0].toUpperCase()]&&h.splice(H,0,j[0].replace("M","L").replace("m","l")),"string"==typeof h[H]&&(j.length&&A.push(j.slice(0)),j.length=0),j.push(h[H]);return A.push(j.slice(0)),A},a.prototype.label=function(h,A,j,z,H,p,N,_,G){return new it(this,h,A,j,z,H,p,N,_,G)},a.prototype.alignElements=function(){this.alignedObjects.forEach(function(h){return h.align()})},a}(),l(et.prototype,{Element:Q,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:K,draw:E}),rt.registerRendererType("svg",et,!0),et}),Mt($,"Core/Renderer/HTML/HTMLElement.js",[$["Core/Globals.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=this&&this.__extends||(S=function(M,E){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,k){v.__proto__=k}||function(v,k){for(var O in k)k.hasOwnProperty(O)&&(v[O]=k[O])})(M,E)},function(M,E){function v(){this.constructor=M}S(M,E),M.prototype=null===E?Object.create(E):(v.prototype=E.prototype,new v)}),Q=X.isFirefox,it=X.isMS,K=X.isWebKit,W=X.win,F=et.css,I=et.defined,L=et.extend,C=et.pick,y=et.pInt;return function(S){function M(){return null!==S&&S.apply(this,arguments)||this}return rt(M,S),M.compose=function(E){if(-1===M.composedClasses.indexOf(E)){M.composedClasses.push(E);var v=M.prototype,k=E.prototype;k.getSpanCorrection=v.getSpanCorrection,k.htmlCss=v.htmlCss,k.htmlGetBBox=v.htmlGetBBox,k.htmlUpdateTransform=v.htmlUpdateTransform,k.setSpanRotation=v.setSpanRotation}return E},M.prototype.getSpanCorrection=function(E,v,k){this.xCorr=-E*k,this.yCorr=-v},M.prototype.htmlCss=function(E){var v="SPAN"===this.element.tagName&&E&&"width"in E,k=C(v&&E.width,void 0);if(v){delete E.width,this.textWidth=k;var O=!0}return E&&"ellipsis"===E.textOverflow&&(E.whiteSpace="nowrap",E.overflow="hidden"),this.styles=L(this.styles,E),F(this.element,E),O&&this.htmlUpdateTransform(),this},M.prototype.htmlGetBBox=function(){var E=this.element;return{x:E.offsetLeft,y:E.offsetTop,width:E.offsetWidth,height:E.offsetHeight}},M.prototype.htmlUpdateTransform=function(){if(this.added){var E=this.renderer,v=this.element,k=this.translateX||0,O=this.translateY||0,P=this.x||0,g=this.y||0,c=this.textAlign||"left",u={left:0,center:.5,right:1}[c],o=this.styles;if(o=o&&o.whiteSpace,F(v,{marginLeft:k,marginTop:O}),!E.styledMode&&this.shadows&&this.shadows.forEach(function(f){F(f,{marginLeft:k+1,marginTop:O+1})}),this.inverted&&[].forEach.call(v.childNodes,function(f){E.invertChild(f,v)}),"SPAN"===v.tagName){var m=this.rotation,l=this.textWidth&&y(this.textWidth),b=[m,c,v.innerHTML,this.textWidth,this.textAlign].join(),n=void 0;if(n=!1,l!==this.oldTextWidth){if(this.textPxLength)var r=this.textPxLength;else F(v,{width:"",whiteSpace:o||"nowrap"}),r=v.offsetWidth;(l>this.oldTextWidth||r>l)&&(/[ \-]/.test(v.textContent||v.innerText)||"ellipsis"===v.style.textOverflow)&&(F(v,{width:r>l||m?l+"px":"auto",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=l,n=!0)}this.hasBoxWidthChanged=n,b!==this.cTT&&(n=E.fontMetrics(v.style.fontSize,v).b,!I(m)||m===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(m,u,n),this.getSpanCorrection(!I(m)&&this.textPxLength||v.offsetWidth,n,u,m,c)),F(v,{left:P+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"}),this.cTT=b,this.oldRotation=m,this.oldAlign=c}}else this.alignOnAdd=!0},M.prototype.setSpanRotation=function(E,v,k){var O={},P=it&&!/Edge/.test(W.navigator.userAgent)?"-ms-transform":K?"-webkit-transform":Q?"MozTransform":W.opera?"-o-transform":void 0;P&&(O[P]=O.transform="rotate("+E+"deg)",O[P+(Q?"Origin":"-origin")]=O.transformOrigin=100*v+"% "+k+"px",F(this.element,O))},M.composedClasses=[],M}(Y)}),Mt($,"Core/Renderer/HTML/HTMLRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var I,Q=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),it=rt.attr,K=rt.createElement,W=rt.extend,F=rt.pick;return function(I){function L(){return null!==I&&I.apply(this,arguments)||this}return Q(L,I),L.compose=function(C){return-1===L.composedClasses.indexOf(C)&&(L.composedClasses.push(C),C.prototype.html=L.prototype.html),C},L.prototype.html=function(C,y,S){var M=this.createElement("span"),E=M.element,v=M.renderer,k=v.isSVG,O=function(P,g){["opacity","visibility"].forEach(function(c){P[c+"Setter"]=function(u,o,m){var l=P.div?P.div.style:g;Y.prototype[c+"Setter"].call(this,u,o,m),l&&(l[o]=u)}}),P.addedSetters=!0};return M.textSetter=function(P){P!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,X.setElementHTML(this.element,F(P,"")),this.textStr=P,M.doTransform=!0)},k&&O(M,M.element.style),M.xSetter=M.ySetter=M.alignSetter=M.rotationSetter=function(P,g){"align"===g?M.alignValue=M.textAlign=P:M[g]=P,M.doTransform=!0},M.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},M.attr({text:C,x:Math.round(y),y:Math.round(S)}).css({position:"absolute"}),v.styledMode||M.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),E.style.whiteSpace="nowrap",M.css=M.htmlCss,k&&(M.add=function(P){var g=v.box.parentNode,c=[];if(this.parentGroup=P){var u=P.div;if(!u){for(;P;)c.push(P),P=P.parentGroup;c.reverse().forEach(function(o){function m(r,f){o[f]=r,"translateX"===f?n.left=r+"px":n.top=r+"px",o.doTransform=!0}var r,l=it(o.element,"class"),b=o.styles||{},n=(u=o.div=o.div||K("div",l?{className:l}:void 0,{position:"absolute",left:(o.translateX||0)+"px",top:(o.translateY||0)+"px",display:o.display,opacity:o.opacity,cursor:b.cursor,pointerEvents:b.pointerEvents,visibility:o.visibility},u||g)).style;W(o,{classSetter:(r=u,function(f){this.element.setAttribute("class",f),r.className=f}),on:function(){return c[0].div&&M.on.apply({element:c[0].div,onEvents:o.onEvents},arguments),o},translateXSetter:m,translateYSetter:m}),o.addedSetters||O(o)})}}else u=g;return u.appendChild(E),M.added=!0,M.alignOnAdd&&M.htmlUpdateTransform(),M}),M},L.composedClasses=[],L}(et)}),Mt($,"Core/Axis/AxisDefaults.js",[],function(){var X=(()=>{return(Y=X||(X={})).defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"},Y.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Y.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},Y.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},Y.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},Y.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},X;var Y})();return X}),Mt($,"Core/Foundation.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.isFunction,rt=X.objectEach,Q=X.removeEvent;return(it||(it={})).registerEventOptions=function(W,F){W.eventOptions=W.eventOptions||{},rt(F.events,function(I,L){W.eventOptions[L]!==I&&(W.eventOptions[L]&&(Q(W,L,W.eventOptions[L]),delete W.eventOptions[L]),et(I)&&(W.eventOptions[L]=I,Y(W,L,I)))})},it}),Mt($,"Core/Axis/Tick.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.deg2rad,Q=et.clamp,it=et.correctFloat,K=et.defined,W=et.destroyObjectProperties,F=et.extend,I=et.fireEvent,L=et.isNumber,C=et.merge,y=et.objectEach,S=et.pick;return function(){function M(E,v,k,O,P){this.isNewLabel=this.isNew=!0,this.axis=E,this.pos=v,this.type=k||"",this.parameters=P||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,I(this,"init"),k||O||this.addLabel()}return M.prototype.addLabel=function(){var E=this,v=E.axis,k=v.options,O=v.chart,P=v.categories,g=v.logarithmic,c=v.names,u=E.pos,o=S(E.options&&E.options.labels,k.labels),m=v.tickPositions,l=u===m[0],b=u===m[m.length-1],n=(!o.step||1===o.step)&&1===v.tickInterval;m=m.info;var f,r=E.label;if(P=this.parameters.category||(P?S(P[u],c[u],u):u),g&&L(P)&&(P=it(g.lin2log(P))),v.dateTime)if(m)var T=O.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&m.higherRanks[u]||m.unitName]),w=T.main;else L(P)&&(w=v.dateTime.getXDateFormat(P,k.dateTimeLabelFormats||{}));E.isFirst=l,E.isLast=b;var D={axis:v,chart:O,dateTimeLabelFormat:w,isFirst:l,isLast:b,pos:u,tick:E,tickPositionInfo:m,value:P};I(this,"labelFormat",D);var d=function(a){return o.formatter?o.formatter.call(a,a):o.format?(a.text=v.defaultLabelFormatter.call(a),X.format(o.format,a,O)):v.defaultLabelFormatter.call(a,a)};k=d.call(D,D);var R=T&&T.list;E.shortenLabel=R?function(){for(f=0;f<R.length;f++)if(F(D,{dateTimeLabelFormat:R[f]}),r.attr({text:d.call(D,D)}),r.getBBox().width<v.getSlotWidth(E)-2*o.padding)return;r.attr({text:""})}:void 0,n&&v._addedPlotLB&&E.moveLabel(k,o),K(r)||E.movedLabel?r&&r.textStr!==k&&!n&&(!r.textWidth||o.style.width||r.styles.width||r.css({width:null}),r.attr({text:k}),r.textPxLength=r.getBBox().width):(E.label=r=E.createLabel({x:0,y:0},k,o),E.rotation=0)},M.prototype.createLabel=function(E,v,k){var O=this.axis,P=O.chart;return(E=K(v)&&k.enabled?P.renderer.text(v,E.x,E.y,k.useHTML).add(O.labelGroup):null)&&(P.styledMode||E.css(C(k.style)),E.textPxLength=E.getBBox().width),E},M.prototype.destroy=function(){W(this,this.axis)},M.prototype.getPosition=function(E,v,k,O){var P=this.axis,g=P.chart,c=O&&g.oldChartHeight||g.chartHeight;return(E={x:E?it(P.translate(v+k,null,null,O)+P.transB):P.left+P.offset+(P.opposite?(O&&g.oldChartWidth||g.chartWidth)-P.right-P.left:0),y:E?c-P.bottom+P.offset-(P.opposite?P.height:0):it(c-P.translate(v+k,null,null,O)-P.transB)}).y=Q(E.y,-1e5,1e5),I(this,"afterGetPosition",{pos:E}),E},M.prototype.getLabelPosition=function(E,v,k,O,P,g,c,u){var o=this.axis,m=o.transA,l=o.isLinked&&o.linkedParent?o.linkedParent.reversed:o.reversed,b=o.staggerLines,n=o.tickRotCorr||{x:0,y:0},r=O||o.reserveSpaceDefault?0:-o.labelOffset*("center"===o.labelAlign?.5:1),f={},T=P.y;return K(T)||(T=0===o.side?k.rotation?-8:-k.getBBox().height:2===o.side?n.y+8:Math.cos(k.rotation*rt)*(n.y-k.getBBox(!1,0).height/2)),v=v+T-(g&&!O?g*m*(l?1:-1):0),b&&(k=c/(u||1)%b,o.opposite&&(k=b-k-1),v+=o.labelOffset/b*k),f.x=E=E+P.x+r+n.x-(g&&O?g*m*(l?-1:1):0),f.y=Math.round(v),I(this,"afterGetLabelPosition",{pos:f,tickmarkOffset:g,index:c}),f},M.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},M.prototype.getMarkPath=function(E,v,k,O,P,g){return g.crispLine([["M",E,v],["L",E+(P?0:-k),v+(P?k:0)]],O)},M.prototype.handleOverflow=function(E){var v=this.axis,k=v.options.labels,O=E.x,P=v.chart.chartWidth,g=v.chart.spacing,c=S(v.labelLeft,Math.min(v.pos,g[3]));g=S(v.labelRight,Math.max(v.isRadial?0:v.pos+v.len,P-g[1]));var T,u=this.label,o=this.rotation,m={left:0,center:.5,right:1}[v.labelAlign||u.attr("align")],l=u.getBBox().width,b=v.getSlotWidth(this),n={},r=b,f=1;o||"justify"!==k.overflow?0>o&&O-m*l<c?T=Math.round(O/Math.cos(o*rt)-c):0<o&&O+m*l>g&&(T=Math.round((P-O)/Math.cos(o*rt))):(P=O+(1-m)*l,O-m*l<c?r=E.x+r*(1-m)-c:P>g&&(r=g-E.x+r*m,f=-1),(r=Math.min(b,r))<b&&"center"===v.labelAlign&&(E.x+=f*(b-r-m*(b-Math.min(l,r)))),(l>r||v.autoRotation&&(u.styles||{}).width)&&(T=r)),T&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(T)+"px",(k.style||{}).textOverflow||(n.textOverflow="ellipsis"),u.css(n)))},M.prototype.moveLabel=function(E,v){var k=this,O=k.label,P=k.axis,g=P.reversed,c=!1;if(O&&O.textStr===E?(k.movedLabel=O,c=!0,delete k.label):y(P.ticks,function(o){c||o.isNew||o===k||!o.label||o.label.textStr!==E||(k.movedLabel=o.label,c=!0,o.labelPos=k.movedLabel.xy,delete o.label)}),!c&&(k.labelPos||O)){var u=k.labelPos||O.xy;k.movedLabel=k.createLabel({x:O=P.horiz?g?0:P.width+P.left:u.x,y:P=P.horiz?u.y:g?P.width+P.left:0},E,v),k.movedLabel&&k.movedLabel.attr({opacity:0})}},M.prototype.render=function(E,v,k){var O=this.axis,P=O.horiz,g=this.pos,c=S(this.tickmarkOffset,O.tickmarkOffset);c=(g=this.getPosition(P,g,c,v)).x,O=P&&c===O.pos+O.len||!P&&g.y===O.pos?-1:1,P=S(k,this.label&&this.label.newOpacity,1),k=S(k,1),this.isActive=!0,this.renderGridLine(v,k,O),this.renderMark(g,k,O),this.renderLabel(g,v,P,E),this.isNew=!1,I(this,"afterRender")},M.prototype.renderGridLine=function(E,v,k){var O=this.axis,P=O.options,g={},c=this.pos,u=this.type,o=S(this.tickmarkOffset,O.tickmarkOffset),m=O.chart.renderer,l=this.gridLine,b=P.gridLineWidth,n=P.gridLineColor,r=P.gridLineDashStyle;"minor"===this.type&&(b=P.minorGridLineWidth,n=P.minorGridLineColor,r=P.minorGridLineDashStyle),l||(O.chart.styledMode||(g.stroke=n,g["stroke-width"]=b||0,g.dashstyle=r),u||(g.zIndex=1),E&&(v=0),this.gridLine=l=m.path().attr(g).addClass("highcharts-"+(u?u+"-":"")+"grid-line").add(O.gridGroup)),l&&(k=O.getPlotLinePath({value:c+o,lineWidth:l.strokeWidth()*k,force:"pass",old:E}))&&l[E||this.isNew?"attr":"animate"]({d:k,opacity:v})},M.prototype.renderMark=function(E,v,k){var O=this.axis,P=O.options,g=O.chart.renderer,c=this.type,u=O.tickSize(c?c+"Tick":"tick"),o=E.x;E=E.y;var m=S(P["minor"!==c?"tickWidth":"minorTickWidth"],!c&&O.isXAxis?1:0);P=P["minor"!==c?"tickColor":"minorTickColor"];var l=this.mark,b=!l;u&&(O.opposite&&(u[0]=-u[0]),l||(this.mark=l=g.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(O.axisGroup),O.chart.styledMode||l.attr({stroke:P,"stroke-width":m})),l[b?"attr":"animate"]({d:this.getMarkPath(o,E,u[0],l.strokeWidth()*k,O.horiz,g),opacity:v}))},M.prototype.renderLabel=function(E,v,k,O){var P=this.axis,g=P.horiz,c=P.options,u=this.label,o=c.labels,m=o.step;P=S(this.tickmarkOffset,P.tickmarkOffset);var l=E.x;E=E.y;var b=!0;u&&L(l)&&(u.xy=E=this.getLabelPosition(l,E,u,g,o,P,O,m),this.isFirst&&!this.isLast&&!c.showFirstLabel||this.isLast&&!this.isFirst&&!c.showLastLabel?b=!1:!g||o.step||o.rotation||v||0===k||this.handleOverflow(E),m&&O%m&&(b=!1),b&&L(E.y)?(E.opacity=k,u[this.isNewLabel?"attr":"animate"](E).show(!0),this.isNewLabel=!1):(u.hide(),this.isNewLabel=!0))},M.prototype.replaceMovedLabel=function(){var E=this.label,v=this.axis,k=v.reversed;E&&!this.isNew&&(E.animate({x:v.horiz?k?v.left:v.width+v.left:E.xy.x,y:k=v.horiz?E.xy.y:k?v.width+v.top:v.top,opacity:0},void 0,E.destroy),delete this.label),v.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},M}()}),Mt($,"Core/Axis/Axis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/AxisDefaults.js"],$["Core/Color/Color.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Axis/Tick.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var F=X.animObject,I=rt.defaultOptions,L=Q.registerEventOptions,C=it.deg2rad,y=W.arrayMax,S=W.arrayMin,M=W.clamp,E=W.correctFloat,v=W.defined,k=W.destroyObjectProperties,O=W.erase,P=W.error,g=W.extend,c=W.fireEvent,u=W.isArray,o=W.isNumber,m=W.isString,l=W.merge,b=W.normalizeTickInterval,n=W.objectEach,r=W.pick,f=W.relativeLength,T=W.removeEvent,w=W.splat,D=W.syncTimeout,d=function(R,a){return b(a,void 0,void 0,r(R.options.allowDecimals,.5>a||void 0!==R.tickAmount),!!R.tickAmount)};return function(){function R(a,h){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(a,h)}return R.prototype.init=function(a,h){var A=h.isX;this.chart=a,this.horiz=a.inverted&&!this.isZAxis?!A:A,this.isXAxis=A,this.coll=this.coll||(A?"xAxis":"yAxis"),c(this,"init",{userOptions:h}),this.opposite=r(h.opposite,this.opposite),this.side=r(h.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(h);var j=this.options,z=j.labels,H=j.type;this.userOptions=h,this.minPixelPadding=0,this.reversed=r(j.reversed,this.reversed),this.visible=j.visible,this.zoomEnabled=j.zoomEnabled,this.hasNames="category"===H||!0===j.categories,this.categories=j.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(j.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=j.minRange||j.maxZoom,this.range=j.range,this.offset=j.offset||0,this.min=this.max=null,h=r(j.crosshair,w(a.options.tooltip.crosshairs)[A?0:1]),this.crosshair=!0===h?{}:h,-1===a.axes.indexOf(this)&&(A?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this)),this.series=this.series||[],a.inverted&&!this.isZAxis&&A&&void 0===this.reversed&&(this.reversed=!0),this.labelRotation=o(z.rotation)?z.rotation:void 0,L(this,j),c(this,"afterInit")},R.prototype.setOptions=function(a){this.options=l(Y.defaultXAxisOptions,"yAxis"===this.coll&&Y.defaultYAxisOptions,[Y.defaultTopAxisOptions,Y.defaultRightAxisOptions,Y.defaultBottomAxisOptions,Y.defaultLeftAxisOptions][this.side],l(I[this.coll],a)),c(this,"afterSetOptions",{userOptions:a})},R.prototype.defaultLabelFormatter=function(a){var h=this.axis;a=this.chart.numberFormatter;var A=o(this.value)?this.value:NaN,j=h.chart.time,z=this.dateTimeLabelFormat,H=I.lang,p=H.numericSymbols;H=H.numericSymbolMagnitude||1e3;var N=h.logarithmic?Math.abs(A):h.tickInterval,_=p&&p.length;if(h.categories)var G=""+this.value;else if(z)G=j.dateFormat(z,A);else if(_&&1e3<=N)for(;_--&&void 0===G;)N>=(h=Math.pow(H,_+1))&&10*A%h==0&&null!==p[_]&&0!==A&&(G=a(A/h,-1)+p[_]);return void 0===G&&(G=1e4<=Math.abs(A)?a(A,-1):a(A,-1,void 0,"")),G},R.prototype.getSeriesExtremes=function(){var A,a=this,h=a.chart;c(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1,a.dataMin=a.dataMax=a.threshold=null,a.softThreshold=!a.isXAxis,a.stacking&&a.stacking.buildStacks(),a.series.forEach(function(j){if(j.visible||!h.options.chart.ignoreHiddenSeries){var z=j.options,H=z.threshold;if(a.hasVisibleSeries=!0,a.positiveValuesOnly&&0>=H&&(H=null),a.isXAxis){if((z=j.xData).length){z=a.logarithmic?z.filter(a.validatePositiveValue):z;var p=(A=j.getXExtremes(z)).min,N=A.max;o(p)||p instanceof Date||(z=z.filter(o),p=(A=j.getXExtremes(z)).min,N=A.max),z.length&&(a.dataMin=Math.min(r(a.dataMin,p),p),a.dataMax=Math.max(r(a.dataMax,N),N))}}else j=j.applyExtremes(),o(j.dataMin)&&(p=j.dataMin,a.dataMin=Math.min(r(a.dataMin,p),p)),o(j.dataMax)&&(N=j.dataMax,a.dataMax=Math.max(r(a.dataMax,N),N)),v(H)&&(a.threshold=H),(!z.softThreshold||a.positiveValuesOnly)&&(a.softThreshold=!1)}})}),c(this,"afterGetSeriesExtremes")},R.prototype.translate=function(a,h,A,j,z,H){var p=this.linkedParent||this,N=j&&p.old?p.old.min:p.min,_=p.minPixelPadding;z=(p.isOrdinal||p.brokenAxis&&p.brokenAxis.hasBreaks||p.logarithmic&&z)&&p.lin2val;var G=1,U=0;return(j=j&&p.old?p.old.transA:p.transA)||(j=p.transA),A&&(G*=-1,U=p.len),p.reversed&&(U-=(G*=-1)*(p.sector||p.len)),h?(H=(a*G+U-_)/j+N,z&&(H=p.lin2val(H))):(z&&(a=p.val2lin(a)),a=G*(a-N)*j,H=o(N)?(p.isRadial?a:E(a))+U+G*_+(o(H)?j*H:0):void 0),H},R.prototype.toPixels=function(a,h){return this.translate(a,!1,!this.horiz,null,!0)+(h?0:this.pos)},R.prototype.toValue=function(a,h){return this.translate(a-(h?0:this.pos),!0,!this.horiz,null,!0)},R.prototype.getPlotLinePath=function(a){function h(ht,V,q){return("pass"!==ot&&ht<V||ht>q)&&(ot?ht=M(ht,V,q):ut=!0),ht}var at,ft,mt,gt,ut,A=this,j=A.chart,z=A.left,H=A.top,p=a.old,N=a.value,_=a.lineWidth,G=p&&j.oldChartHeight||j.chartHeight,U=p&&j.oldChartWidth||j.chartWidth,tt=A.transB,J=a.translatedValue,ot=a.force;return c(this,"getPlotLinePath",a={value:N,lineWidth:_,old:p,force:ot,acrossPanes:a.acrossPanes,translatedValue:J},function(ht){J=r(J,A.translate(N,null,null,p)),J=M(J,-1e5,1e5),at=mt=Math.round(J+tt),ft=gt=Math.round(G-J-tt),o(J)?A.horiz?(ft=H,gt=G-A.bottom,at=mt=h(at,z,z+A.width)):(at=z,mt=U-A.right,ft=gt=h(ft,H,H+A.height)):(ut=!0,ot=!1),ht.path=ut&&!ot?null:j.renderer.crispLine([["M",at,ft],["L",mt,gt]],_||1)}),a.path},R.prototype.getLinearTickPositions=function(a,h,A){var j=E(Math.floor(h/a)*a);A=E(Math.ceil(A/a)*a);var H,z=[];if(E(j+a)===j&&(H=20),this.single)return[h];for(h=j;h<=A&&(z.push(h),(h=E(h+a,H))!==p);)var p=h;return z},R.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?r(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},R.prototype.getMinorTickPositions=function(){var a=this.options,h=this.tickPositions,A=this.minorTickInterval,j=this.pointRangePadding||0,z=this.min-j,H=(j=this.max+j)-z,p=[];if(H&&H/A<this.len/3){var N=this.logarithmic;if(N)this.paddedTicks.forEach(function(_,G,U){G&&p.push.apply(p,N.getLogTickPositions(A,U[G-1],U[G],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())p=p.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(A),z,j,a.startOfWeek));else for(a=z+(h[0]-z)%A;a<=j&&a!==p[0];a+=A)p.push(a)}return 0!==p.length&&this.trimTicks(p),p},R.prototype.adjustForMinRange=function(){var H,p,N,_,a=this.options,h=this.logarithmic,A=this.min,j=this.max,z=0;if(this.isXAxis&&void 0===this.minRange&&!h&&(v(a.min)||v(a.max)||v(a.floor)||v(a.ceiling)?this.minRange=null:(this.series.forEach(function(J){if(N=J.xData,_=J.xIncrement?1:N.length-1,1<N.length)for(H=_;0<H;H--)p=N[H]-N[H-1],(!z||p<z)&&(z=p)}),this.minRange=Math.min(5*z,this.dataMax-this.dataMin))),j-A<this.minRange){var G=this.dataMax-this.dataMin>=this.minRange,U=this.minRange,tt=(U-j+A)/2;tt=[A-tt,r(a.min,A-tt)],G&&(tt[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),j=[(A=y(tt))+U,r(a.max,A+U)],G&&(j[2]=h?h.log2lin(this.dataMax):this.dataMax),(j=S(j))-A<U&&(tt[0]=j-U,tt[1]=r(a.min,j-U),A=y(tt))}this.min=A,this.max=j},R.prototype.getClosest=function(){var a;return this.categories?a=1:this.series.forEach(function(h){var A=h.closestPointRange,j=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&v(A)&&j&&(a=v(a)?Math.min(a,A):A)}),a},R.prototype.nameToX=function(a){var h=u(this.options.categories),A=h?this.categories:this.names,j=a.options.x;if(a.series.requireSorting=!1,v(j)||(j=this.options.uniqueNames&&A?h?A.indexOf(a.name):r(A.keys[a.name],-1):a.series.autoIncrement()),-1===j){if(!h&&A)var z=A.length}else z=j;return void 0!==z&&(this.names[z]=a.name,this.names.keys[a.name]=z),z},R.prototype.updateNames=function(){var a=this,h=this.names;0<h.length&&(Object.keys(h.keys).forEach(function(A){delete h.keys[A]}),h.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(A){A.xIncrement=null,(!A.points||A.isDirtyData)&&(a.max=Math.max(a.max,A.xData.length-1),A.processData(),A.generatePoints()),A.data.forEach(function(j,z){if(j&&j.options&&void 0!==j.name){var H=a.nameToX(j);void 0!==H&&H!==j.x&&(j.x=H,A.xData[z]=H)}})}))},R.prototype.setAxisTranslation=function(){var _,a=this,h=a.max-a.min,A=a.linkedParent,j=!!a.categories,z=a.isXAxis,H=a.axisPointRange||0,p=0,N=0;if(z||j||H){var G=a.getClosest();A?(p=A.minPointOffset,N=A.pointRangePadding):a.series.forEach(function(U){var tt=j?1:z?r(U.options.pointRange,G,0):a.axisPointRange||0,J=U.options.pointPlacement;H=Math.max(H,tt),(!a.single||j)&&(U=U.is("xrange")?!z:z,p=Math.max(p,U&&m(J)?0:tt/2),N=Math.max(N,U&&"on"===J?0:tt))}),a.minPointOffset=p*=A=a.ordinal&&a.ordinal.slope&&G?a.ordinal.slope/G:1,a.pointRangePadding=N*=A,a.pointRange=Math.min(H,a.single&&j?1:h),z&&(a.closestPointRange=G)}a.translationSlope=a.transA=_=a.staticScale||a.len/(h+N||1),a.transB=a.horiz?a.left:a.bottom,a.minPixelPadding=_*p,c(this,"afterSetAxisTranslation")},R.prototype.minFromRange=function(){return this.max-this.range},R.prototype.setTickInterval=function(a){var h=this.chart,A=this.logarithmic,j=this.options,z=this.isXAxis,H=this.isLinked,p=j.tickPixelInterval,N=this.categories,_=this.softThreshold,G=j.maxPadding,U=j.minPadding,tt=o(j.tickInterval)&&0<=j.tickInterval?j.tickInterval:void 0,J=o(this.threshold)?this.threshold:null;this.dateTime||N||H||this.getTickAmount();var ot=r(this.userMin,j.min),at=r(this.userMax,j.max);if(H){this.linkedParent=h[this.coll][j.linkedTo];var ft=this.linkedParent.getExtremes();this.min=r(ft.min,ft.dataMin),this.max=r(ft.max,ft.dataMax),j.type!==this.linkedParent.options.type&&P(11,1,h)}else{if(_&&v(J))if(this.dataMin>=J)ft=J,U=0;else if(this.dataMax<=J){var mt=J;G=0}this.min=r(ot,ft,this.dataMin),this.max=r(at,mt,this.dataMax)}if(A&&(this.positiveValuesOnly&&!a&&0>=Math.min(this.min,r(this.dataMin,this.min))&&P(10,1,h),this.min=E(A.log2lin(this.min),16),this.max=E(A.log2lin(this.max),16)),this.range&&v(this.max)&&(this.userMin=this.min=ot=Math.max(this.dataMin,this.minFromRange()),this.userMax=at=this.max,this.range=null),c(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!(N||this.axisPointRange||this.stacking&&this.stacking.usePercentage||H)&&v(this.min)&&v(this.max)&&(h=this.max-this.min)&&(!v(ot)&&U&&(this.min-=h*U),!v(at)&&G&&(this.max+=h*G)),o(this.userMin)||(o(j.softMin)&&j.softMin<this.min&&(this.min=ot=j.softMin),o(j.floor)&&(this.min=Math.max(this.min,j.floor))),o(this.userMax)||(o(j.softMax)&&j.softMax>this.max&&(this.max=at=j.softMax),o(j.ceiling)&&(this.max=Math.min(this.max,j.ceiling))),_&&v(this.dataMin)&&(J=J||0,!v(ot)&&this.min<J&&this.dataMin>=J?this.min=this.options.minRange?Math.min(J,this.max-this.minRange):J:!v(at)&&this.max>J&&this.dataMax<=J&&(this.max=this.options.minRange?Math.max(J,this.min+this.minRange):J)),o(this.min)&&o(this.max)&&!this.chart.polar&&this.min>this.max&&(v(this.options.min)?this.max=this.min:v(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||void 0===this.min||void 0===this.max?1:H&&this.linkedParent&&!tt&&p===this.linkedParent.options.tickPixelInterval?tt=this.linkedParent.tickInterval:r(tt,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,N?1:(this.max-this.min)*p/Math.max(this.len,p)),z&&!a){var gt=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(ut){ut.forceCrop=ut.forceCropping&&ut.forceCropping(),ut.processData(gt)}),c(this,"postProcessData",{hasExtemesChanged:gt})}this.setAxisTranslation(),c(this,"initialAxisTranslation"),this.pointRange&&!tt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),a=r(j.minTickInterval,this.dateTime&&!this.series.some(function(ut){return ut.noSharedTooltip})?this.closestPointRange:0),!tt&&this.tickInterval<a&&(this.tickInterval=a),this.dateTime||this.logarithmic||tt||(this.tickInterval=d(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()},R.prototype.setTickPositions=function(){var a=this.options,h=a.tickPositions,A=this.getMinorTickInterval(),j=this.hasVerticalPanning(),z="colorAxis"===this.coll,H=(z||!j)&&a.startOnTick;if(j=(z||!j)&&a.endOnTick,z=a.tickPositioner,this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===A&&this.tickInterval?this.tickInterval/5:A,this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals),this.tickPositions=A=h&&h.slice(),!A){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)A=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)A=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var p=a=this.tickInterval;p<=2*a&&(A=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&A.length>this.tickAmount);)this.tickInterval=d(this,p*=1.1);else A=[this.min,this.max],P(19,!1,this.chart);A.length>this.len&&(A=[A[0],A.pop()])[0]===A[1]&&(A.length=1),this.tickPositions=A,z&&(z=z.apply(this,[this.min,this.max]))&&(this.tickPositions=A=z)}this.paddedTicks=A.slice(0),this.trimTicks(A,H,j),this.isLinked||(this.single&&2>A.length&&!this.categories&&!this.series.some(function(N){return N.is("heatmap")&&"between"===N.options.pointPlacement})&&(this.min-=.5,this.max+=.5),h||z||this.adjustTickAmount()),c(this,"afterSetTickPositions")},R.prototype.trimTicks=function(a,h,A){var j=a[0],z=a[a.length-1],H=!this.isOrdinal&&this.minPointOffset||0;if(c(this,"trimTicks"),!this.isLinked){if(h&&j!==-1/0)this.min=j;else for(;this.min-H>a[0];)a.shift();if(A)this.max=z;else for(;this.max+H<a[a.length-1];)a.pop();0===a.length&&v(j)&&!this.options.tickPositions&&a.push((z+j)/2)}},R.prototype.alignToOthers=function(){var H,a=this,h=[this],A=a.options,j="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,z=[];if(a.thresholdAlignment=void 0,(!1!==this.chart.options.chart.alignTicks&&A.alignTicks||j)&&!1!==A.startOnTick&&!1!==A.endOnTick&&!a.logarithmic){var p=function(G){var U=G.options;return[G.horiz?U.left:U.top,U.width,U.height,U.pane].join()},N=p(this);this.chart[this.coll].forEach(function(G){var U=G.series;U.length&&U.some(function(tt){return tt.visible})&&G!==a&&p(G)===N&&(H=!0,h.push(G))})}if(H&&j){h.forEach(function(G){G=G.getThresholdAlignment(a),o(G)&&z.push(G)});var _=1<z.length?z.reduce(function(G,U){return G+U},0)/z.length:void 0;h.forEach(function(G){G.thresholdAlignment=_})}return H},R.prototype.getThresholdAlignment=function(a){if((!o(this.dataMin)||this!==a&&this.series.some(function(h){return h.isDirty||h.isDirtyData}))&&this.getSeriesExtremes(),o(this.threshold))return a=M((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(a=1-a),a},R.prototype.getTickAmount=function(){var a=this.options,h=a.tickPixelInterval,A=a.tickAmount;!v(a.tickInterval)&&!A&&this.len<h&&!this.isRadial&&!this.logarithmic&&a.startOnTick&&a.endOnTick&&(A=2),!A&&this.alignToOthers()&&(A=Math.ceil(this.len/h)+1),4>A&&(this.finalTickAmt=A,A=5),this.tickAmount=A},R.prototype.adjustTickAmount=function(){var a=this,h=a.finalTickAmt,A=a.max,j=a.min,z=a.options,H=a.tickPositions,p=a.tickAmount,N=a.thresholdAlignment,_=H&&H.length,G=r(a.threshold,a.softThreshold?0:null),U=a.tickInterval;if(o(N)){var tt=.5>N?Math.ceil(N*(p-1)):Math.floor(N*(p-1));z.reversed&&(tt=p-1-tt)}if(a.hasData()&&o(j)&&o(A)){if(N=function(){a.transA*=(_-1)/(p-1),a.min=z.startOnTick?H[0]:Math.min(j,H[0]),a.max=z.endOnTick?H[H.length-1]:Math.max(A,H[H.length-1])},o(tt)&&o(a.threshold)){for(;H[tt]!==G||H.length!==p||H[0]>j||H[H.length-1]<A;){for(H.length=0,H.push(a.threshold);H.length<p;)void 0===H[tt]||H[tt]>a.threshold?H.unshift(E(H[0]-U)):H.push(E(H[H.length-1]+U));if(U>8*a.tickInterval)break;U*=2}N()}else if(_<p){for(;H.length<p;)H.length%2||j===G?H.push(E(H[H.length-1]+U)):H.unshift(E(H[0]-U));N()}if(v(h)){for(U=G=H.length;U--;)(3===h&&U%2==1||2>=h&&0<U&&U<G-1)&&H.splice(U,1);a.finalTickAmt=void 0}}},R.prototype.setScale=function(){var a=!1,h=!1;this.series.forEach(function(j){a=a||j.isDirtyData||j.isDirty,h=h||j.xAxis&&j.xAxis.isDirty||!1}),this.setAxisSize();var A=this.len!==(this.old&&this.old.len);A||a||h||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=A||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),a&&this.panningState&&(this.panningState.isDirty=!0),c(this,"afterSetScale")},R.prototype.setExtremes=function(a,h,A,j,z){var H=this,p=H.chart;A=r(A,!0),H.series.forEach(function(N){delete N.kdTree}),z=g(z,{min:a,max:h}),c(H,"setExtremes",z,function(){H.userMin=a,H.userMax=h,H.eventArgs=z,A&&p.redraw(j)})},R.prototype.zoom=function(a,h){var A=this,j=this.dataMin,z=this.dataMax,H=this.options,p=Math.min(j,r(H.min,j)),N=Math.max(z,r(H.max,z));return c(this,"zoom",a={newMin:a,newMax:h},function(_){var G=_.newMin,U=_.newMax;(G!==A.min||U!==A.max)&&(A.allowZoomOutside||(v(j)&&(G<p&&(G=p),G>N&&(G=N)),v(z)&&(U<p&&(U=p),U>N&&(U=N))),A.displayBtn=void 0!==G||void 0!==U,A.setExtremes(G,U,!1,void 0,{trigger:"zoom"})),_.zoomed=!0}),a.zoomed},R.prototype.setAxisSize=function(){var a=this.chart,h=this.options,A=h.offsets||[0,0,0,0],j=this.horiz,z=this.width=Math.round(f(r(h.width,a.plotWidth-A[3]+A[1]),a.plotWidth)),H=this.height=Math.round(f(r(h.height,a.plotHeight-A[0]+A[2]),a.plotHeight)),p=this.top=Math.round(f(r(h.top,a.plotTop+A[0]),a.plotHeight,a.plotTop));h=this.left=Math.round(f(r(h.left,a.plotLeft+A[3]),a.plotWidth,a.plotLeft)),this.bottom=a.chartHeight-H-p,this.right=a.chartWidth-z-h,this.len=Math.max(j?z:H,0),this.pos=j?h:p},R.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?E(a.lin2log(this.min)):this.min,max:a?E(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},R.prototype.getThreshold=function(a){var h=this.logarithmic,A=h?h.lin2log(this.min):this.min;return h=h?h.lin2log(this.max):this.max,null===a||a===-1/0?a=A:a===1/0?a=h:A>a?a=A:h<a&&(a=h),this.translate(a,0,1,0,1)},R.prototype.autoLabelAlign=function(a){var h=(r(a,0)-90*this.side+720)%360;return c(this,"autoLabelAlign",a={align:"center"},function(A){15<h&&165>h?A.align="right":195<h&&345>h&&(A.align="left")}),a.align},R.prototype.tickSize=function(a){var h=this.options,A=r(h["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0),j=h["tick"===a?"tickLength":"minorTickLength"];if(A&&j){"inside"===h[a+"Position"]&&(j=-j);var z=[j,A]}return c(this,"afterTickSize",a={tickSize:z}),a.tickSize},R.prototype.labelMetrics=function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},R.prototype.unsquish=function(){var G,U,a=this.options.labels,h=this.horiz,A=this.tickInterval,j=this.len/(((this.categories?1:0)+this.max-this.min)/A),z=a.rotation,H=this.labelMetrics(),p=Math.max(this.max-this.min,0),N=function(ot){var at=ot/(j||1);return(at=1<at?Math.ceil(at):1)*A>p&&ot!==1/0&&j!==1/0&&p&&(at=Math.ceil(p/A)),E(at*A)},_=A,tt=Number.MAX_VALUE;if(h){if(!a.staggerLines&&!a.step)if(o(z))var J=[z];else j<a.autoRotationLimit&&(J=a.autoRotation);J&&J.forEach(function(ot){if(ot===z||ot&&-90<=ot&&90>=ot){var at=(U=N(Math.abs(H.h/Math.sin(C*ot))))+Math.abs(ot/360);at<tt&&(tt=at,G=ot,_=U)}})}else a.step||(_=N(H.h));return this.autoRotation=J,this.labelRotation=r(G,o(z)?z:0),_},R.prototype.getSlotWidth=function(a){var h=this.chart,A=this.horiz,j=this.options.labels,z=Math.max(this.tickPositions.length-(this.categories?0:1),1),H=h.margin[3];if(a&&o(a.slotWidth))return a.slotWidth;if(A&&2>j.step)return j.rotation?0:(this.staggerLines||1)*this.len/z;if(!A){if(void 0!==(a=j.style.width))return parseInt(String(a),10);if(H)return H-h.spacing[3]}return.33*h.chartWidth},R.prototype.renderUnsquish=function(){var a=this.chart,h=a.renderer,A=this.tickPositions,j=this.ticks,z=this.options.labels,H=z.style,p=this.horiz,N=this.getSlotWidth(),_=Math.max(1,Math.round(N-2*z.padding)),G={},U=this.labelMetrics(),tt=H.textOverflow,J=0;if(m(z.rotation)||(G.rotation=z.rotation||0),A.forEach(function(mt){(mt=j[mt]).movedLabel&&mt.replaceMovedLabel(),mt&&mt.label&&mt.label.textPxLength>J&&(J=mt.label.textPxLength)}),this.maxLabelLength=J,this.autoRotation)J>_&&J>U.h?G.rotation=this.labelRotation:this.labelRotation=0;else if(N){var ot=_;if(!tt){var at="clip";for(_=A.length;!p&&_--;){var ft=A[_];(ft=j[ft].label)&&(ft.styles&&"ellipsis"===ft.styles.textOverflow?ft.css({textOverflow:"clip"}):ft.textPxLength>N&&ft.css({width:N+"px"}),ft.getBBox().height>this.len/A.length-(U.h-U.f)&&(ft.specificTextOverflow="ellipsis"))}}}G.rotation&&(ot=J>.5*a.chartHeight?.33*a.chartHeight:J,tt||(at="ellipsis")),(this.labelAlign=z.align||this.autoLabelAlign(this.labelRotation))&&(G.align=this.labelAlign),A.forEach(function(mt){var gt=(mt=j[mt])&&mt.label,ut=H.width,ht={};gt&&(gt.attr(G),mt.shortenLabel?mt.shortenLabel():ot&&!ut&&"nowrap"!==H.whiteSpace&&(ot<gt.textPxLength||"SPAN"===gt.element.tagName)?(ht.width=ot+"px",tt||(ht.textOverflow=gt.specificTextOverflow||at),gt.css(ht)):gt.styles&&gt.styles.width&&!ht.width&&!ut&&gt.css({width:null}),delete gt.specificTextOverflow,mt.rotation=G.rotation)},this),this.tickRotCorr=h.rotCorr(U.b,this.labelRotation||0,0!==this.side)},R.prototype.hasData=function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&v(this.min)&&v(this.max)},R.prototype.addTitle=function(a){var p,j=this.opposite,z=this.options.title,H=this.chart.styledMode;this.axisTitle||((p=z.textAlign)||(p=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:j?"right":"left",middle:"center",high:j?"left":"right"})[z.align]),this.axisTitle=this.chart.renderer.text(z.text||"",0,0,z.useHTML).attr({zIndex:7,rotation:z.rotation,align:p}).addClass("highcharts-axis-title"),H||this.axisTitle.css(l(z.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),H||z.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[a?"show":"hide"](a)},R.prototype.generateTick=function(a){var h=this.ticks;h[a]?h[a].addLabel():h[a]=new K(this,a)},R.prototype.getOffset=function(){var a=this,h=this,A=h.chart,j=h.horiz,z=h.options,H=h.side,p=h.ticks,N=h.tickPositions,_=h.coll,G=h.axisParent,U=A.renderer,tt=A.inverted&&!h.isZAxis?[1,0,3,2][H]:H,J=h.hasData(),ot=z.title,at=z.labels,ft=A.axisOffset;A=A.clipOffset;var ut,mt=[-1,1,1,-1][H],gt=z.className,ht=0,V=0,q=0;if(h.showAxis=ut=J||z.showEmpty,h.staggerLines=h.horiz&&at.staggerLines||void 0,!h.axisGroup){var st=function(dt,yt,xt){return U.g(dt).attr({zIndex:xt}).addClass("highcharts-"+_.toLowerCase()+yt+" "+(a.isRadial?"highcharts-radial-axis"+yt+" ":"")+(gt||"")).add(G)};h.gridGroup=st("grid","-grid",z.gridZIndex),h.axisGroup=st("axis","",z.zIndex),h.labelGroup=st("axis-labels","-labels",at.zIndex)}if(J||h.isLinked?(N.forEach(function(dt){h.generateTick(dt)}),h.renderUnsquish(),h.reserveSpaceDefault=0===H||2===H||{1:"left",3:"right"}[H]===h.labelAlign,r(at.reserveSpace,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&N.forEach(function(dt){q=Math.max(p[dt].getLabelSize(),q)}),h.staggerLines&&(q*=h.staggerLines),h.labelOffset=q*(h.opposite?-1:1)):n(p,function(dt,yt){dt.destroy(),delete p[yt]}),ot&&ot.text&&!1!==ot.enabled&&(h.addTitle(ut),ut&&!1!==ot.reserveSpace)){h.titleOffset=ht=h.axisTitle.getBBox()[j?"height":"width"];var ct=ot.offset;V=v(ct)?0:r(ot.margin,j?5:10)}h.renderLine(),h.offset=mt*r(z.offset,ft[H]?ft[H]+(z.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},ot=0===H?-h.labelMetrics().h:2===H?h.tickRotCorr.y:0,J=Math.abs(q)+V,q&&(J=J-ot+mt*(j?r(at.y,h.tickRotCorr.y+8*mt):at.x)),h.axisTitleMargin=r(ct,J),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(p,N)),"colorAxis"!==_&&(j=this.tickSize("tick"),ft[H]=Math.max(ft[H],(h.axisTitleMargin||0)+ht+mt*h.offset,J,N&&N.length&&j?j[0]+mt*h.offset:0),z=!h.axisLine||z.offset?0:2*Math.floor(h.axisLine.strokeWidth()/2),A[tt]=Math.max(A[tt],z)),c(this,"afterGetOffset")},R.prototype.getLinePath=function(a){var h=this.chart,A=this.opposite,j=this.offset,z=this.horiz,H=this.left+(A?this.width:0)+j;return j=h.chartHeight-this.bottom-(A?this.height:0)+j,A&&(a*=-1),h.renderer.crispLine([["M",z?this.left:H,z?j:this.top],["L",z?h.chartWidth-this.right:H,z?j:h.chartHeight-this.bottom]],a)},R.prototype.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}))},R.prototype.getTitlePosition=function(){var a=this.horiz,h=this.left,A=this.top,j=this.len,z=this.options.title,H=a?h:A,p=this.opposite,N=this.offset,_=z.x,G=z.y,U=this.axisTitle,tt=this.chart.renderer.fontMetrics(z.style.fontSize,U);return U=U?Math.max(U.getBBox(!1,0).height-tt.h-1,0):0,j={low:H+(a?0:j),middle:H+j/2,high:H+(a?j:0)}[z.align],h=(a?A+this.height:h)+(a?1:-1)*(p?-1:1)*(this.axisTitleMargin||0)+[-U,U,tt.f,-U][this.side],c(this,"afterGetTitlePosition",{titlePosition:a={x:a?j+_:h+(p?this.width:0)+N+_,y:a?h+G-(p?this.height:0)+N:j+G}}),a},R.prototype.renderMinorTick=function(a,h){var A=this.minorTicks;A[a]||(A[a]=new K(this,a,"minor")),h&&A[a].isNew&&A[a].render(null,!0),A[a].render(null,!1,1)},R.prototype.renderTick=function(a,h,A){var j=this.ticks;(!this.isLinked||a>=this.min&&a<=this.max||this.grid&&this.grid.isColumn)&&(j[a]||(j[a]=new K(this,a)),A&&j[a].isNew&&j[a].render(h,!0,-1),j[a].render(h))},R.prototype.render=function(){var mt,gt,a=this,h=a.chart,A=a.logarithmic,j=a.options,z=a.isLinked,H=a.tickPositions,p=a.axisTitle,N=a.ticks,_=a.minorTicks,G=a.alternateBands,U=j.stackLabels,tt=j.alternateGridColor,J=a.tickmarkOffset,ot=a.axisLine,at=a.showAxis,ft=F(h.renderer.globalAnimation);if(a.labelEdge.length=0,a.overlap=!1,[N,_,G].forEach(function(ht){n(ht,function(V){V.isActive=!1})}),a.hasData()||z){var ut=a.chart.hasRendered&&a.old&&o(a.old.min);a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(ht){a.renderMinorTick(ht,ut)}),H.length&&(H.forEach(function(ht,V){a.renderTick(ht,V,ut)}),J&&(0===a.min||a.single)&&(N[-1]||(N[-1]=new K(a,-1,null,!0)),N[-1].render(-1))),tt&&H.forEach(function(ht,V){gt=void 0!==H[V+1]?H[V+1]+J:a.max-J,V%2==0&&ht<a.max&&gt<=a.max+(h.polar?-J:J)&&(G[ht]||(G[ht]=new it.PlotLineOrBand(a)),mt=ht+J,G[ht].options={from:A?A.lin2log(mt):mt,to:A?A.lin2log(gt):gt,color:tt,className:"highcharts-alternate-grid"},G[ht].render(),G[ht].isActive=!0)}),a._addedPlotLB||(a._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(ht){a.addPlotBandOrLine(ht)}))}[N,_,G].forEach(function(ht){var V=[],q=ft.duration;n(ht,function(st,ct){st.isActive||(st.render(ct,!1,0),st.isActive=!1,V.push(ct))}),D(function(){for(var st=V.length;st--;)ht[V[st]]&&!ht[V[st]].isActive&&(ht[V[st]].destroy(),delete ht[V[st]])},ht!==G&&h.hasRendered&&q?q:0)}),ot&&(ot[ot.isPlaced?"animate":"attr"]({d:this.getLinePath(ot.strokeWidth())}),ot.isPlaced=!0,ot[at?"show":"hide"](at)),p&&at&&(j=a.getTitlePosition(),p[p.isNew?"attr":"animate"](j),p.isNew=!1),U&&U.enabled&&a.stacking&&a.stacking.renderStackTotals(),a.old={len:a.len,max:a.max,min:a.min,transA:a.transA,userMax:a.userMax,userMin:a.userMin},a.isDirty=!1,c(this,"afterRender")},R.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()})),this.series.forEach(function(a){a.isDirty=!0})},R.prototype.getKeepProps=function(){return this.keepProps||R.keepProps},R.prototype.destroy=function(a){var h=this,A=h.plotLinesAndBands,j=this.eventOptions;if(c(this,"destroy",{keepEvents:a}),a||T(h),[h.ticks,h.minorTicks,h.alternateBands].forEach(function(H){k(H)}),A)for(a=A.length;a--;)A[a].destroy();for(var z in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(H){h[H]&&(h[H]=h[H].destroy())}),h.plotLinesAndBandsGroups)h.plotLinesAndBandsGroups[z]=h.plotLinesAndBandsGroups[z].destroy();n(h,function(H,p){-1===h.getKeepProps().indexOf(p)&&delete h[p]}),this.eventOptions=j},R.prototype.drawCrosshair=function(a,h){var H,A=this.crosshair,j=r(A&&A.snap,!0),z=this.chart,p=this.cross;if(c(this,"drawCrosshair",{e:a,point:h}),a||(a=this.cross&&this.cross.e),A&&!1!==(v(h)||!j)){if(j?v(h)&&(H=r("colorAxis"!==this.coll?h.crosshairPos:null,this.isXAxis?h.plotX:this.len-h.plotY)):H=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),v(H)){var N={value:h&&(this.isXAxis?h.x:r(h.stackY,h.y)),translatedValue:H};z.polar&&g(N,{isCrosshair:!0,chartX:a&&a.chartX,chartY:a&&a.chartY,point:h}),N=this.getPlotLinePath(N)||null}if(!v(N))return void this.hideCrosshair();j=this.categories&&!this.isRadial,p||(this.cross=p=z.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(j?"category ":"thin ")+(A.className||"")).attr({zIndex:r(A.zIndex,2)}).add(),z.styledMode||(p.attr({stroke:A.color||(j?et.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":r(A.width,1)}).css({"pointer-events":"none"}),A.dashStyle&&p.attr({dashstyle:A.dashStyle}))),p.show().attr({d:N}),j&&!A.width&&p.attr({"stroke-width":this.transA}),this.cross.e=a}else this.hideCrosshair();c(this,"afterDrawCrosshair",{e:a,point:h})},R.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),c(this,"afterHideCrosshair")},R.prototype.hasVerticalPanning=function(){var a=this.chart.options.chart.panning;return!!(a&&a.enabled&&/y/.test(a.type))},R.prototype.validatePositiveValue=function(a){return o(a)&&0<a},R.prototype.update=function(a,h){var A=this.chart;a=l(this.userOptions,a),this.destroy(!0),this.init(A,a),A.isDirtyBox=!0,r(h,!0)&&A.redraw()},R.prototype.remove=function(a){for(var h=this.chart,A=this.coll,j=this.series,z=j.length;z--;)j[z]&&j[z].remove(!1);O(h.axes,this),O(h[A],this),h[A].forEach(function(H,p){H.options.index=H.userOptions.index=p}),this.destroy(),h.isDirtyBox=!0,r(a,!0)&&h.redraw()},R.prototype.setTitle=function(a,h){this.update({title:a},h)},R.prototype.setCategories=function(a,h){this.update({categories:a},h)},R.defaultOptions=Y.defaultXAxisOptions,R.keepProps="extKey hcEvents names series userMax userMin".split(" "),R}()}),Mt($,"Core/Axis/DateTimeAxis.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.getMagnitude,rt=X.normalizeTickInterval,Q=X.timeUnits;return function(K){function W(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(C){"datetime"!==C.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new L(this))}var I=[];K.compose=function(C){return-1===I.indexOf(C)&&(I.push(C),C.keepProps.push("dateTime"),C.prototype.getTimeTicks=W,Y(C,"init",F)),C};var L=function(){function C(y){this.axis=y}return C.prototype.normalizeTimeTickInterval=function(y,S){var k,M=S||[["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]],E=Q[(S=M[M.length-1])[0]],v=S[1];for(k=0;k<M.length&&(E=Q[(S=M[k])[0]],v=S[1],!(M[k+1]&&y<=(E*v[v.length-1]+Q[M[k+1][0]])/2));k++);return E===Q.year&&y<5*E&&(v=[1,2,5]),{unitRange:E,count:y=rt(y/E,v,"year"===S[0]?Math.max(et(y/E),1):1),unitName:S[0]}},C.prototype.getXDateFormat=function(y,S){var M=this.axis;return M.closestPointRange?M.chart.time.getDateFormat(M.closestPointRange,y,M.options.startOfWeek,S)||S.year:S.day},C}();K.Additions=L}(it||(it={})),it}),Mt($,"Core/Axis/LogarithmicAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.addEvent,et=X.normalizeTickInterval,rt=X.pick;return function(it){function K(L){var C=this.logarithmic;"logarithmic"!==L.userOptions.type?this.logarithmic=void 0:C||(this.logarithmic=new I(this))}function W(){var L=this.logarithmic;L&&(this.lin2val=function(C){return L.lin2log(C)},this.val2lin=function(C){return L.log2lin(C)})}var F=[];it.compose=function(L){return-1===F.indexOf(L)&&(F.push(L),L.keepProps.push("logarithmic"),Y(L,"init",K),Y(L,"afterInit",W)),L};var I=function(){function L(C){this.axis=C}return L.prototype.getLogTickPositions=function(C,y,S,M){var E=this.axis,v=E.len,k=E.options,O=[];if(M||(this.minorAutoInterval=void 0),.5<=C)C=Math.round(C),O=E.getLinearTickPositions(C,y,S);else if(.08<=C){var g,P=Math.floor(y),c=k=void 0;for(v=.3<C?[1,2,4]:.15<C?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];P<S+1&&!c;P++){var u=v.length;for(g=0;g<u&&!c;g++){var o=this.log2lin(this.lin2log(P)*v[g]);o>y&&(!M||k<=S)&&void 0!==k&&O.push(k),k>S&&(c=!0),k=o}}}else y=this.lin2log(y),S=this.lin2log(S),C=M?E.getMinorTickInterval():k.tickInterval,C=rt("auto"===C?null:C,this.minorAutoInterval,k.tickPixelInterval/(M?5:1)*(S-y)/((M?v/E.tickPositions.length:v)||1)),C=et(C),O=E.getLinearTickPositions(C,y,S).map(this.log2lin),M||(this.minorAutoInterval=C/5);return M||(E.tickInterval=C),O},L.prototype.lin2log=function(C){return Math.pow(10,C)},L.prototype.log2lin=function(C){return Math.log(C)/Math.LN10},L}();it.Additions=I}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.erase,et=X.extend,rt=X.isNumber;return function(it){var W,K=[];it.compose=function(I,L){return W||(W=I),-1===K.indexOf(L)&&(K.push(L),et(L.prototype,F.prototype)),L};var F=function(){function I(){}return I.prototype.getPlotBandPath=function(L,C,y){void 0===y&&(y=this.options);var S=this.getPlotLinePath({value:C,force:!0,acrossPanes:y.acrossPanes}),M=[],E=this.horiz;if(C=!rt(this.min)||!rt(this.max)||L<this.min&&C<this.min||L>this.max&&C>this.max,L=this.getPlotLinePath({value:L,force:!0,acrossPanes:y.acrossPanes}),y=1,L&&S){if(C){var v=L.toString()===S.toString();y=0}for(C=0;C<L.length;C+=2){var k=L[C],O=L[C+1],P=S[C],g=S[C+1];"M"!==k[0]&&"L"!==k[0]||"M"!==O[0]&&"L"!==O[0]||"M"!==P[0]&&"L"!==P[0]||"M"!==g[0]&&"L"!==g[0]||(E&&P[1]===k[1]?(P[1]+=y,g[1]+=y):E||P[2]!==k[2]||(P[2]+=y,g[2]+=y),M.push(["M",k[1],k[2]],["L",O[1],O[2]],["L",g[1],g[2]],["L",P[1],P[2]],["Z"])),M.isFlat=v}}return M},I.prototype.addPlotBand=function(L){return this.addPlotBandOrLine(L,"plotBands")},I.prototype.addPlotLine=function(L){return this.addPlotBandOrLine(L,"plotLines")},I.prototype.addPlotBandOrLine=function(L,C){var y=this,S=this.userOptions,M=new W(this,L);if(this.visible&&(M=M.render()),M){if(this._addedPlotLB||(this._addedPlotLB=!0,(S.plotLines||[]).concat(S.plotBands||[]).forEach(function(v){y.addPlotBandOrLine(v)})),C){var E=S[C]||[];E.push(L),S[C]=E}this.plotLinesAndBands.push(M)}return M},I.prototype.removePlotBandOrLine=function(L){var C=this.plotLinesAndBands,y=this.options,S=this.userOptions;if(C){for(var M=C.length;M--;)C[M].id===L&&C[M].destroy();[y.plotLines||[],S.plotLines||[],y.plotBands||[],S.plotBands||[]].forEach(function(E){for(M=E.length;M--;)(E[M]||{}).id===L&&Y(E,E[M])})}},I.prototype.removePlotBand=function(L){this.removePlotBandOrLine(L)},I.prototype.removePlotLine=function(L){this.removePlotBandOrLine(L)},I}()}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[$["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.arrayMax,rt=Y.arrayMin,Q=Y.defined,it=Y.destroyObjectProperties,K=Y.erase,W=Y.fireEvent,F=Y.merge,I=Y.objectEach,L=Y.pick;return function(){function C(y,S){this.axis=y,S&&(this.options=S,this.id=S.id)}return C.compose=function(y){return X.compose(C,y)},C.prototype.render=function(){W(this,"render");var y=this,S=y.axis,M=S.horiz,E=S.logarithmic,v=y.options,k=v.color,O=L(v.zIndex,0),P=v.events,g={},c=S.chart.renderer,u=v.label,o=y.label,m=v.to,l=v.from,b=v.value,n=y.svgElem,r=[],f=Q(l)&&Q(m);r=Q(b);var T=!n,w={class:"highcharts-plot-"+(f?"band ":"line ")+(v.className||"")},D=f?"bands":"lines";if(E&&(l=E.log2lin(l),m=E.log2lin(m),b=E.log2lin(b)),S.chart.styledMode||(r?(w.stroke=k||"#999999",w["stroke-width"]=L(v.width,1),v.dashStyle&&(w.dashstyle=v.dashStyle)):f&&(w.fill=k||"#e6ebf5",v.borderWidth&&(w.stroke=v.borderColor,w["stroke-width"]=v.borderWidth))),g.zIndex=O,(E=S.plotLinesAndBandsGroups[D+="-"+O])||(S.plotLinesAndBandsGroups[D]=E=c.g("plot-"+D).attr(g).add()),T&&(y.svgElem=n=c.path().attr(w).add(E)),r)r=S.getPlotLinePath({value:b,lineWidth:n.strokeWidth(),acrossPanes:v.acrossPanes});else{if(!f)return;r=S.getPlotBandPath(l,m,v)}return!y.eventsAdded&&P&&(I(P,function(d,R){n.on(R,function(a){P[R].apply(y,[a])})}),y.eventsAdded=!0),(T||!n.d)&&r&&r.length?n.attr({d:r}):n&&(r?(n.show(),n.animate({d:r})):n.d&&(n.hide(),o&&(y.label=o=o.destroy()))),u&&(Q(u.text)||Q(u.formatter))&&r&&r.length&&0<S.width&&0<S.height&&!r.isFlat?(u=F({align:M&&f&&"center",x:M?!f&&4:10,verticalAlign:!M&&f&&"middle",y:M?f?16:10:f?6:-4,rotation:M&&!f&&90},u),this.renderLabel(u,r,f,O)):o&&o.hide(),y},C.prototype.renderLabel=function(y,S,M,E){var v=this.axis,k=v.chart.renderer,O=this.label;O||(this.label=O=k.text(this.getLabelText(y),0,0,y.useHTML).attr({align:y.textAlign||y.align,rotation:y.rotation,class:"highcharts-plot-"+(M?"band":"line")+"-label "+(y.className||""),zIndex:E}).add(),v.chart.styledMode||O.css(F({textOverflow:"ellipsis"},y.style))),E=S.xBounds||[S[0][1],S[1][1],M?S[2][1]:S[0][1]],S=S.yBounds||[S[0][2],S[1][2],M?S[2][2]:S[0][2]],M=rt(E),k=rt(S),O.align(y,!1,{x:M,y:k,width:et(E)-M,height:et(S)-k}),O.alignValue&&"left"!==O.alignValue||O.css({width:(90===O.rotation?v.height-(O.alignAttr.y-v.top):v.width-(O.alignAttr.x-v.left))+"px"}),O.show(!0)},C.prototype.getLabelText=function(y){return Q(y.formatter)?y.formatter.call(this):y.text},C.prototype.destroy=function(){K(this.axis.plotLinesAndBands,this),delete this.axis,it(this)},C}()}),Mt($,"Core/Tooltip.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.format,K=Y.doc,W=et.distribute,F=Q.addEvent,I=Q.clamp,L=Q.css,C=Q.defined,y=Q.discardElement,S=Q.extend,M=Q.fireEvent,E=Q.isArray,v=Q.isNumber,k=Q.isString,O=Q.merge,P=Q.pick,g=Q.splat,c=Q.syncTimeout;return function(){function u(o,m){this.allowShared=!0,this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=o,this.init(o,m)}return u.prototype.applyFilter=function(){var o=this.chart;o.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+o.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]})},u.prototype.bodyFormatter=function(o){return o.map(function(m){var l=m.series.tooltipOptions;return(l[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,l[(m.point.formatPrefix||"point")+"Format"]||"")})},u.prototype.cleanSplit=function(o){this.chart.series.forEach(function(m){var l=m&&m.tt;l&&(!l.isActive||o?m.tt=l.destroy():l.isActive=!1)})},u.prototype.defaultFormatter=function(o){var m=this.points||g(this),l=[o.tooltipFooterHeaderFormatter(m[0])];return(l=l.concat(o.bodyFormatter(m))).push(o.tooltipFooterHeaderFormatter(m[0],!0)),l},u.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(!0),this.tt=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),y(this.container)),Q.clearTimeout(this.hideTimer),Q.clearTimeout(this.tooltipTimeout)},u.prototype.getAnchor=function(o,m){var T,w,l=this.chart,b=l.pointer,n=l.inverted,r=l.plotTop,f=l.plotLeft,D=0,d=0;return o=g(o),this.followPointer&&m?(void 0===m.chartX&&(m=b.normalize(m)),b=[m.chartX-f,m.chartY-r]):o[0].tooltipPos?b=o[0].tooltipPos:(o.forEach(function(R){T=R.series.yAxis,D+=R.plotX||0,d+=R.plotLow?(R.plotLow+(R.plotHigh||0))/2:R.plotY||0,(w=R.series.xAxis)&&T&&(n?(D+=r+l.plotHeight-w.len-w.pos,d+=f+l.plotWidth-T.len-T.pos):(D+=w.pos-f,d+=T.pos-r))}),D/=o.length,d/=o.length,b=[n?l.plotWidth-d:D,n?l.plotHeight-D:d],this.shared&&1<o.length&&m&&(n?b[0]=m.chartX-f:b[1]=m.chartY-r)),b.map(Math.round)},u.prototype.getLabel=function(){var w,o=this,m=this.chart.styledMode,l=this.options,b=this.split&&this.allowShared,n="tooltip"+(C(l.className)?" "+l.className:""),r=l.style.pointerEvents||(!this.followPointer&&l.stickOnContact?"auto":"none"),f=function(){o.inContact=!0},T=function(j){var z=o.chart.hoverSeries;o.inContact=o.shouldStickOnContact()&&o.chart.pointer.inClass(j.relatedTarget,"highcharts-tooltip"),!o.inContact&&z&&z.onMouseOut&&z.onMouseOut()},D=this.chart.renderer;if(o.label){var d=!o.label.hasClass("highcharts-label");(b&&!d||!b&&d)&&o.destroy()}if(!this.label){if(this.outside){d=this.chart.options.chart.style;var R=rt.getRendererType();this.container=w=Y.doc.createElement("div"),w.className="highcharts-tooltip-container",L(w,{position:"absolute",top:"1px",pointerEvents:r,zIndex:Math.max(this.options.style.zIndex||0,(d&&d.zIndex||0)+3)}),F(w,"mouseenter",f),F(w,"mouseleave",T),Y.doc.body.appendChild(w),this.renderer=D=new R(w,0,0,d,void 0,void 0,D.styledMode)}if(b?this.label=D.g(n):(this.label=D.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,n).attr({padding:l.padding,r:l.borderRadius}),m||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth}).css(l.style).css({pointerEvents:r}).shadow(l.shadow)),m&&l.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"})),o.outside&&!o.split){var a=this.label,h=a.xSetter,A=a.ySetter;a.xSetter=function(j){h.call(a,o.distance),w.style.left=j+"px"},a.ySetter=function(j){A.call(a,o.distance),w.style.top=j+"px"}}this.label.on("mouseenter",f).on("mouseleave",T).attr({zIndex:8}).add()}return this.label},u.prototype.getPosition=function(o,m,l){var A,b=this.chart,n=this.distance,r={},f=b.inverted&&l.h||0,T=this.outside,w=T?K.documentElement.clientWidth-2*n:b.chartWidth,D=T?Math.max(K.body.scrollHeight,K.documentElement.scrollHeight,K.body.offsetHeight,K.documentElement.offsetHeight,K.documentElement.clientHeight):b.chartHeight,d=b.pointer.getChartPosition(),R=function(_){var G="x"===_;return[_,G?w:D,G?o:m].concat(T?[G?o*d.scaleX:m*d.scaleY,G?d.left-n+(l.plotX+b.plotLeft)*d.scaleX:d.top-n+(l.plotY+b.plotTop)*d.scaleY,0,G?w:D]:[G?o:m,G?l.plotX+b.plotLeft:l.plotY+b.plotTop,G?b.plotLeft:b.plotTop,G?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},a=R("y"),h=R("x");R=!!l.negative,!b.polar&&b.hoverSeries&&b.hoverSeries.yAxis&&b.hoverSeries.yAxis.reversed&&(R=!R);var j=!this.followPointer&&P(l.ttBelow,!b.inverted===R),z=function(_,G,U,tt,J,ot,at){var ft=T?"y"===_?n*d.scaleY:n*d.scaleX:n,mt=(U-tt)/2,gt=tt<J-n,ut=J+n+tt<G,ht=J-ft-U+mt;if(J=J+ft-mt,j&&ut)r[_]=J;else if(!j&&gt)r[_]=ht;else if(gt)r[_]=Math.min(at-tt,0>ht-f?ht:ht-f);else{if(!ut)return!1;r[_]=Math.max(ot,J+f+U>G?J:J+f)}},H=function(_,G,U,tt,J){var ot;return J<n||J>G-n?ot=!1:r[_]=J<U/2?1:J>G-tt/2?G-tt-2:J-U/2,ot},p=function(_){var G=a;a=h,h=G,A=_},N=function(){!1!==z.apply(0,a)?!1!==H.apply(0,h)||A||(p(!0),N()):A?r.x=r.y=0:(p(!0),N())};return(b.inverted||1<this.len)&&p(),N(),r},u.prototype.hide=function(o){var m=this;Q.clearTimeout(this.hideTimer),o=P(o,this.options.hideDelay),this.isHidden||(this.hideTimer=c(function(){m.getLabel().fadeOut(o&&void 0),m.isHidden=!0},o))},u.prototype.init=function(o,m){this.chart=o,this.options=m,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=m.split&&!o.inverted&&!o.polar,this.shared=m.shared||this.split,this.outside=P(m.outside,!(!o.scrollablePixelsX&&!o.scrollablePixelsY))},u.prototype.shouldStickOnContact=function(){return!(this.followPointer||!this.options.stickOnContact)},u.prototype.isStickyOnContact=function(){return!(!this.shouldStickOnContact()||!this.inContact)},u.prototype.move=function(o,m,l,b){var n=this,r=n.now,f=!1!==n.options.animation&&!n.isHidden&&(1<Math.abs(o-r.x)||1<Math.abs(m-r.y)),T=n.followPointer||1<n.len;S(r,{x:f?(2*r.x+o)/3:o,y:f?(r.y+m)/2:m,anchorX:T?void 0:f?(2*r.anchorX+l)/3:l,anchorY:T?void 0:f?(r.anchorY+b)/2:b}),n.getLabel().attr(r),n.drawTracker(),f&&(Q.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){n&&n.move(o,m,l,b)},32))},u.prototype.refresh=function(o,m){var l=this.chart,b=this.options,n=g(o),r=n[0],f=[],T=b.formatter||this.defaultFormatter,w=this.shared,D=l.styledMode,d={};if(b.enabled&&r.series){Q.clearTimeout(this.hideTimer),this.allowShared=!(!E(o)&&o.series&&o.series.noSharedTooltip),this.followPointer=!this.split&&r.series.tooltipOptions.followPointer;var R=(o=this.getAnchor(o,m))[0],a=o[1];if(w&&this.allowShared?(l.pointer.applyInactiveState(n),n.forEach(function(j){j.setState("hover"),f.push(j.getLabelConfig())}),(d={x:r.category,y:r.y}).points=f):d=r.getLabelConfig(),this.len=f.length,T=T.call(d,this),this.distance=P((w=r.series).tooltipOptions.distance,16),!1===T)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(T,n);else{var h=R,A=a;if(m&&l.pointer.isDirectTouch&&(h=m.chartX-l.plotLeft,A=m.chartY-l.plotTop),!l.polar&&!1!==w.options.clip&&!n.some(function(j){return j.series.shouldShowTooltip(h,A)}))return void this.hide();m=this.getLabel(),b.style.width&&!D||m.css({width:this.chart.spacingBox.width+"px"}),m.attr({text:T&&T.join?T.join(""):T}),m.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+P(r.colorIndex,w.colorIndex)),D||m.attr({stroke:b.borderColor||r.color||w.color||"#666666"}),this.updatePosition({plotX:R,plotY:a,negative:r.negative,ttBelow:r.ttBelow,h:o[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}M(this,"refresh")}},u.prototype.renderSplit=function(o,m){function l(ut,ht,V,q,st){return void 0===st&&(st=!0),V?(ht=tt?0:ft,ut=I(ut-q/2,_.left,_.right-q-(b.outside?J:0))):(ht-=ot,ut=I(ut=st?ut-q-H:ut+H,st?ut:_.left,_.right)),{x:ut,y:ht}}var b=this,n=b.chart,r=b.chart,f=r.chartWidth,T=r.chartHeight,w=r.plotHeight,D=r.plotLeft,d=r.plotTop,R=r.pointer,a=r.scrollablePixelsY;a=void 0===a?0:a;var A=r.scrollingContainer,j=(A=void 0===A?{scrollLeft:0,scrollTop:0}:A).scrollLeft;A=A.scrollTop;var z=r.styledMode,H=b.distance,p=b.options,N=b.options.positioner,_=b.outside&&"number"!=typeof r.scrollablePixelsX?K.documentElement.getBoundingClientRect():{left:j,right:j+f,top:A,bottom:A+T},G=b.getLabel(),U=this.renderer||n.renderer,tt=!(!n.xAxis[0]||!n.xAxis[0].opposite),J=(n=R.getChartPosition()).left;n=n.top;var ot=d+A,at=0,ft=w-a;k(o)&&(o=[!1,o]),o=o.slice(0,m.length+1).reduce(function(ut,ht,V){if(!1!==ht&&""!==ht){var q=(V=m[V-1]||{isHeader:!0,plotX:m[0].plotX,plotY:w,series:{}}).isHeader,st=q?b:V.series;ht=ht.toString();var ct=st.tt,dt=V.isHeader,yt=V.series,xt="highcharts-color-"+P(V.colorIndex,yt.colorIndex,"none");if(ct||(ct={padding:p.padding,r:p.borderRadius},z||(ct.fill=p.backgroundColor,ct["stroke-width"]=p.borderWidth),ct=U.label("",0,0,p[dt?"headerShape":"shape"],void 0,void 0,p.useHTML).addClass((dt?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+xt).attr(ct).add(G)),ct.isActive=!0,ct.attr({text:ht}),z||ct.css(p.style).shadow(p.shadow).attr({stroke:p.borderColor||V.color||yt.color||"#333333"}),ht=(dt=(st=st.tt=ct).getBBox()).width+st.strokeWidth(),q&&(ft+=at=dt.height,tt&&(ot-=at)),yt=void 0===(yt=V.plotX)?0:yt,xt=void 0===(xt=V.plotY)?0:xt,ct=V.series,V.isHeader){yt=D+yt;var St=d+w/2}else{var Et=ct.xAxis,kt=ct.yAxis;yt=Et.pos+I(yt,-H,Et.len+H),ct.shouldShowTooltip(0,kt.pos-d+xt,{ignoreX:!0})&&(St=kt.pos+xt)}yt=I(yt,_.left-H,_.right+H),"number"==typeof St?(dt=dt.height+1,xt=N?N.call(b,ht,dt,V):l(yt,St,q,ht),ut.push({align:N?0:void 0,anchorX:yt,anchorY:St,boxWidth:ht,point:V,rank:P(xt.rank,q?1:0),size:dt,target:xt.y,tt:st,x:xt.x})):st.isActive=!1}return ut},[]),!N&&o.some(function(ut){var ht=(b.outside?J:0)+ut.anchorX;return ht<_.left&&ht+ut.boxWidth<_.right||ht<J-_.left+ut.boxWidth&&_.right-ht>ht})&&(o=o.map(function(ut){var ht=l(ut.anchorX,ut.anchorY,ut.point.isHeader,ut.boxWidth,!1);return S(ut,{target:ht.y,x:ht.x})})),b.cleanSplit(),W(o,ft);var mt=J,gt=J;o.forEach(function(ut){var ht=ut.x,V=ut.boxWidth;(ut=ut.isHeader)||(b.outside&&J+ht<mt&&(mt=J+ht),!ut&&b.outside&&mt+V>gt&&(gt=J+ht))}),o.forEach(function(ut){var ht=ut.x,V=ut.anchorX,q=ut.pos,st=ut.point.isHeader;if(q={visibility:void 0===q?"hidden":"inherit",x:ht,y:q+ot,anchorX:V,anchorY:ut.anchorY},b.outside&&ht<V){var ct=J-mt;0<ct&&(st||(q.x=ht+ct,q.anchorX=V+ct),st&&(q.x=(gt-mt)/2,q.anchorX=V+ct))}ut.tt.attr(q)}),o=b.container,a=b.renderer,b.outside&&o&&a&&(r=G.getBBox(),a.setSize(r.width+r.x,r.height+r.y,!1),o.style.left=mt+"px",o.style.top=n+"px")},u.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var o=this.chart,m=this.label,l=this.shared?o.hoverPoints:o.hoverPoint;if(m&&l){var b={x:0,y:0,width:0,height:0};l=this.getAnchor(l);var n=m.getBBox();l[0]+=o.plotLeft-m.translateX,l[1]+=o.plotTop-m.translateY,b.x=Math.min(0,l[0]),b.y=Math.min(0,l[1]),b.width=0>l[0]?Math.max(Math.abs(l[0]),n.width-l[0]):Math.max(Math.abs(l[0]),n.width),b.height=0>l[1]?Math.max(Math.abs(l[1]),n.height-Math.abs(l[1])):Math.max(Math.abs(l[1]),n.height),this.tracker?this.tracker.attr(b):(this.tracker=m.renderer.rect(b).addClass("highcharts-tracker").add(m),o.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},u.prototype.styledModeFormat=function(o){return o.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},u.prototype.tooltipFooterHeaderFormatter=function(o,m){var l=o.series,b=l.tooltipOptions,n=l.xAxis,r=n&&n.dateTime,f=b.xDateFormat,T=b[m?"footerFormat":"headerFormat"];return M(this,"headerFormatter",n={isFooter:m,labelConfig:o},function(w){r&&!f&&v(o.key)&&(f=r.getXDateFormat(o.key,b.dateTimeLabelFormats)),r&&f&&(o.point&&o.point.tooltipDateKeys||["key"]).forEach(function(D){T=T.replace("{point."+D+"}","{point."+D+":"+f+"}")}),l.chart.styledMode&&(T=this.styledModeFormat(T)),w.text=it(T,{point:o,series:l},this.chart)}),n.text},u.prototype.update=function(o){this.destroy(),O(!0,this.chart.options.tooltip.userOptions,o),this.init(this.chart,O(!0,this.options,o))},u.prototype.updatePosition=function(o){var m=this.chart,l=this.options,b=m.pointer,n=this.getLabel();b=b.getChartPosition();var r=(l.positioner||this.getPosition).call(this,n.width,n.height,o),f=o.plotX+m.plotLeft;o=o.plotY+m.plotTop,this.outside&&(this.renderer.setSize(n.width+(l=l.borderWidth+2*this.distance),n.height+l,!1),(1!==b.scaleX||1!==b.scaleY)&&(L(this.container,{transform:"scale("+b.scaleX+", "+b.scaleY+")"}),f*=b.scaleX,o*=b.scaleY),f+=b.left-r.x,o+=b.top-r.y),this.move(Math.round(r.x),Math.round(r.y||0),f,o)},u}()}),Mt($,"Core/Series/Point.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=Y.animObject,K=et.defaultOptions,W=rt.format,F=Q.addEvent,I=Q.defined,L=Q.erase,C=Q.extend,y=Q.fireEvent,S=Q.getNestedProperty,M=Q.isArray,E=Q.isFunction,v=Q.isNumber,k=Q.isObject,O=Q.merge,P=Q.objectEach,g=Q.pick,c=Q.syncTimeout,u=Q.removeEvent,o=Q.uniqueKey;return function(){function m(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return m.prototype.animateBeforeDestroy=function(){var l=this,b={x:l.startXPos,opacity:0},n=l.getGraphicalProps();n.singular.forEach(function(r){l[r]=l[r].animate("dataLabel"===r?{x:l[r].startXPos,y:l[r].startYPos,opacity:0}:b)}),n.plural.forEach(function(r){l[r].forEach(function(f){f.element&&f.animate(C({x:l.startXPos},f.startYPos?{x:f.startXPos,y:f.startYPos}:{}))})})},m.prototype.applyOptions=function(l,b){var n=this.series,r=n.options.pointValKey||n.pointValKey;return l=m.prototype.optionsToObject.call(this,l),C(this,l),this.options=this.options?C(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,r&&(this.y=m.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=g(this.isValid&&!this.isValid(),null===this.x||!v(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===b&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),void 0===this.x&&n?this.x=void 0===b?n.autoIncrement():b:v(l.x)&&n.options.relativeXValue&&(this.x=n.autoIncrement(l.x)),this},m.prototype.destroy=function(){function l(){for(w in(b.graphic||b.dataLabel||b.dataLabels)&&(u(b),b.destroyElements()),b)b[w]=null}var b=this,n=b.series,r=n.chart;n=n.options.dataSorting;var w,f=r.hoverPoints,T=it(b.series.chart.renderer.globalAnimation);b.legendItem&&r.legend.destroyItem(b),f&&(b.setState(),L(f,b),f.length||(r.hoverPoints=null)),b===r.hoverPoint&&b.onMouseOut(),n&&n.enabled?(this.animateBeforeDestroy(),c(l,T.duration)):l(),r.pointCount--},m.prototype.destroyElements=function(l){var b=this;(l=b.getGraphicalProps(l)).singular.forEach(function(n){b[n]=b[n].destroy()}),l.plural.forEach(function(n){b[n].forEach(function(r){r.element&&r.destroy()}),delete b[n]})},m.prototype.firePointEvent=function(l,b,n){var r=this,f=this.series.options;(f.point.events[l]||r.options&&r.options.events&&r.options.events[l])&&r.importEvents(),"click"===l&&f.allowPointSelect&&(n=function(T){r.select&&r.select(null,T.ctrlKey||T.metaKey||T.shiftKey)}),y(r,l,b,n)},m.prototype.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",""):"")},m.prototype.getGraphicalProps=function(l){var f,b=this,n=[],r={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","upperGraphic","shadowGroup"),l.dataLabel&&n.push("dataLabel","dataLabelUpper","connector"),f=n.length;f--;){var T=n[f];b[T]&&r.singular.push(T)}return["dataLabel","connector"].forEach(function(w){var D=w+"s";l[w]&&b[D]&&r.plural.push(D)}),r},m.prototype.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}},m.prototype.getNestedProperty=function(l){if(l)return 0===l.indexOf("custom.")?S(l,this.options):this[l]},m.prototype.getZone=function(){var l=this.series,b=l.zones;l=l.zoneAxis||"y";var n,r=0;for(n=b[r];this[l]>=n.value;)n=b[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},m.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},m.prototype.init=function(l,b,n){return this.series=l,this.applyOptions(b,n),this.id=I(this.id)?this.id:o(),this.resolveColor(),l.chart.pointCount++,y(this,"afterInit"),this},m.prototype.optionsToObject=function(l){var b=this.series,n=b.options.keys,r=n||b.pointArrayMap||["y"],f=r.length,T={},w=0,D=0;if(v(l)||null===l)T[r[0]]=l;else if(M(l))for(!n&&l.length>f&&("string"==(b=typeof l[0])?T.name=l[0]:"number"===b&&(T.x=l[0]),w++);D<f;)n&&void 0===l[w]||(0<r[D].indexOf(".")?m.prototype.setNestedProperty(T,l[w],r[D]):T[r[D]]=l[w]),w++,D++;else"object"==typeof l&&(T=l,l.dataLabels&&(b._hasPointLabels=!0),l.marker&&(b._hasPointMarkers=!0));return T},m.prototype.resolveColor=function(){var l=this.series,b=l.chart.styledMode,n=l.chart.options.chart.colorCount;if(delete this.nonZonedColor,l.options.colorByPoint){if(!b){var r=(n=l.options.colors||l.chart.options.colors)[l.colorCounter];n=n.length}b=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)}else b||(r=l.color),b=l.colorIndex;this.colorIndex=g(this.options.colorIndex,b),this.color=g(this.options.color,r)},m.prototype.setNestedProperty=function(l,b,n){return n.split(".").reduce(function(r,f,T,w){return r[f]=w.length-1===T?b:k(r[f],!0)?r[f]:{},r[f]},l),l},m.prototype.tooltipFormatter=function(l){var b=this.series,n=b.tooltipOptions,r=g(n.valueDecimals,""),f=n.valuePrefix||"",T=n.valueSuffix||"";return b.chart.styledMode&&(l=b.chart.tooltip.styledModeFormat(l)),(b.pointArrayMap||["y"]).forEach(function(w){w="{point."+w,(f||T)&&(l=l.replace(RegExp(w+"}","g"),f+w+"}"+T)),l=l.replace(RegExp(w+"}","g"),w+":,."+r+"f}")}),W(l,{point:this,series:this.series},b.chart)},m.prototype.update=function(l,b,n,r){function f(){T.applyOptions(l);var h=D&&T.hasDummyGraphic;h=null===T.y?!h:h,D&&h&&(T.graphic=D.destroy(),delete T.hasDummyGraphic),k(l,!0)&&(D&&D.element&&l&&l.marker&&void 0!==l.marker.symbol&&(T.graphic=D.destroy()),l&&l.dataLabels&&T.dataLabel&&(T.dataLabel=T.dataLabel.destroy()),T.connector&&(T.connector=T.connector.destroy())),w.updateParallelArrays(T,a=T.index),R.data[a]=k(R.data[a],!0)||k(l,!0)?T.options:g(l,R.data[a]),w.isDirty=w.isDirtyData=!0,!w.fixedBox&&w.hasCartesianSeries&&(d.isDirtyBox=!0),"point"===R.legendType&&(d.isDirtyLegend=!0),b&&d.redraw(n)}var a,T=this,w=T.series,D=T.graphic,d=w.chart,R=w.options;b=g(b,!0),!1===r?f():T.firePointEvent("update",{options:l},f)},m.prototype.remove=function(l,b){this.series.removePoint(this.series.data.indexOf(this),l,b)},m.prototype.select=function(l,b){var n=this,r=n.series,f=r.chart;this.selectedStaging=l=g(l,!n.selected),n.firePointEvent(l?"select":"unselect",{accumulate:b},function(){n.selected=n.options.selected=l,r.options.data[r.data.indexOf(n)]=n.options,n.setState(l&&"select"),b||f.getSelectedPoints().forEach(function(T){var w=T.series;T.selected&&T!==n&&(T.selected=T.options.selected=!1,w.options.data[w.data.indexOf(T)]=T.options,T.setState(f.hoverPoints&&w.options.inactiveOtherPoints?"inactive":""),T.firePointEvent("unselect"))})}),delete this.selectedStaging},m.prototype.onMouseOver=function(l){var b=this.series.chart,n=b.pointer;l=l?n.normalize(l):n.getChartCoordinatesFromPoint(this,b.inverted),n.runPointActions(l,this)},m.prototype.onMouseOut=function(){var l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(b){b.setState()}),l.hoverPoints=l.hoverPoint=null},m.prototype.importEvents=function(){if(!this.hasImportedEvents){var l=this,b=O(l.series.options.point,l.options).events;l.events=b,P(b,function(n,r){E(n)&&F(l,r,n)}),this.hasImportedEvents=!0}},m.prototype.setState=function(l,b){var j,n=this.series,r=this.state,f=n.options.states[l||"normal"]||{},T=K.plotOptions[n.type].marker&&n.options.marker,D=T&&T.states&&T.states[l||"normal"]||{},R=this.marker||{},a=n.chart,h=T&&n.markerAttribs,A=n.halo,z=n.stateMarkerGraphic;if(!((l=l||"")===this.state&&!b||this.selected&&"select"!==l||!1===f.enabled||l&&(!1===D.enabled||T&&!1===T.enabled&&!1===D.enabled)||l&&R.states&&R.states[l]&&!1===R.states[l].enabled)){if(this.state=l,h&&(j=n.markerAttribs(this,l)),this.graphic&&!this.hasDummyGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),l&&this.graphic.addClass("highcharts-point-"+l),!a.styledMode){var H=n.pointAttribs(this,l),p=g(a.options.chart.animation,f.animation);n.options.inactiveOtherPoints&&v(H.opacity)&&((this.dataLabels||[]).forEach(function(N){N&&N.animate({opacity:H.opacity},p)}),this.connector&&this.connector.animate({opacity:H.opacity},p)),this.graphic.animate(H,p)}j&&this.graphic.animate(j,g(a.options.chart.animation,D.animation,T.animation)),z&&z.hide()}else l&&D&&(r=R.symbol||n.symbol,z&&z.currentSymbol!==r&&(z=z.destroy()),j&&(z?z[b?"animate":"attr"]({x:j.x,y:j.y}):r&&(n.stateMarkerGraphic=z=a.renderer.symbol(r,j.x,j.y,j.width,j.height).add(n.markerGroup),z.currentSymbol=r)),!a.styledMode&&z&&"inactive"!==this.state&&z.attr(n.pointAttribs(this,l))),z&&(z[l&&this.isInside?"show":"hide"](),z.element.point=this,z.addClass(this.getClassName(),!0));j=(z=this.graphic||z)&&z.visibility||"inherit",(f=f.halo)&&f.size&&z&&"hidden"!==j&&!this.isCluster?(A||(n.halo=A=a.renderer.path().add(z.parentGroup)),A.show()[b?"animate":"attr"]({d:this.haloPath(f.size)}),A.attr({class:"highcharts-halo highcharts-color-"+g(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:j,zIndex:-1}),A.point=this,a.styledMode||A.attr(C({fill:this.color||n.color,"fill-opacity":f.opacity},X.filterUserAttributes(f.attributes||{})))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.hide),y(this,"afterSetState",{state:l})}},m.prototype.haloPath=function(l){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-l,this.plotY-l,2*l,2*l)},m}()}),Mt($,"Core/Pointer.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Tooltip.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var Q=X.parse,it=Y.charts,K=Y.noop,W=rt.addEvent,F=rt.attr,I=rt.css,L=rt.defined,C=rt.extend,y=rt.find,S=rt.fireEvent,M=rt.isNumber,E=rt.isObject,v=rt.objectEach,k=rt.offset,O=rt.pick,P=rt.splat;return function(){function g(c,u){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=c,this.hasDragged=!1,this.options=u,this.init(c,u)}return g.prototype.applyInactiveState=function(c){var o,u=[];(c||[]).forEach(function(m){u.push(o=m.series),o.linkedParent&&u.push(o.linkedParent),o.linkedSeries&&(u=u.concat(o.linkedSeries)),o.navigatorSeries&&u.push(o.navigatorSeries)}),this.chart.series.forEach(function(m){-1===u.indexOf(m)?m.setState("inactive",!0):m.options.inactiveOtherPoints&&m.setAllPointsToState("inactive")})},g.prototype.destroy=function(){var c=this;this.eventsToUnbind.forEach(function(u){return u()}),this.eventsToUnbind=[],Y.chartCount||(g.unbindDocumentMouseUp&&(g.unbindDocumentMouseUp=g.unbindDocumentMouseUp()),g.unbindDocumentTouchEnd&&(g.unbindDocumentTouchEnd=g.unbindDocumentTouchEnd())),clearInterval(c.tooltipTimeout),v(c,function(u,o){c[o]=void 0})},g.prototype.drag=function(c){var u=this.chart,o=u.options.chart,m=this.zoomHor,l=this.zoomVert,b=u.plotLeft,n=u.plotTop,r=u.plotWidth,f=u.plotHeight,T=this.mouseDownX||0,w=this.mouseDownY||0,D=E(o.panning)?o.panning&&o.panning.enabled:o.panning,d=o.panKey&&c[o.panKey+"Key"],R=c.chartX,a=c.chartY,h=this.selectionMarker;if((!h||!h.touch)&&(R<b?R=b:R>b+r&&(R=b+r),a<n?a=n:a>n+f&&(a=n+f),this.hasDragged=Math.sqrt(Math.pow(T-R,2)+Math.pow(w-a,2)),10<this.hasDragged)){var A=u.isInsidePlot(T-b,w-n,{visiblePlotOnly:!0});!u.hasCartesianSeries&&!u.mapView||!this.zoomX&&!this.zoomY||!A||d||h||(this.selectionMarker=h=u.renderer.rect(b,n,m?1:r,l?1:f,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||h.attr({fill:o.selectionMarkerFill||Q("#335cad").setOpacity(.25).get()})),h&&m&&(m=R-T,h.attr({width:Math.abs(m),x:(0<m?0:m)+T})),h&&l&&(m=a-w,h.attr({height:Math.abs(m),y:(0<m?0:m)+w})),A&&!h&&D&&u.pan(c,o.panning)}},g.prototype.dragStart=function(c){var u=this.chart;u.mouseIsDown=c.type,u.cancelClick=!1,u.mouseDownX=this.mouseDownX=c.chartX,u.mouseDownY=this.mouseDownY=c.chartY},g.prototype.drop=function(c){var u=this,o=this.chart,m=this.hasPinched;if(this.selectionMarker){var l=this.selectionMarker,b=l.attr?l.attr("x"):l.x,n=l.attr?l.attr("y"):l.y,r=l.attr?l.attr("width"):l.width,f=l.attr?l.attr("height"):l.height,T={originalEvent:c,xAxis:[],yAxis:[],x:b,y:n,width:r,height:f},w=!!o.mapView;(this.hasDragged||m)&&(o.axes.forEach(function(D){if(D.zoomEnabled&&L(D.min)&&(m||u[{xAxis:"zoomX",yAxis:"zoomY"}[D.coll]])&&M(b)&&M(n)){var d=D.horiz,R="touchend"===c.type?D.minPixelPadding:0,a=D.toValue((d?b:n)+R);d=D.toValue((d?b+r:n+f)-R),T[D.coll].push({axis:D,min:Math.min(a,d),max:Math.max(a,d)}),w=!0}}),w&&S(o,"selection",T,function(D){o.zoom(C(D,m?{animation:!1}:null))})),M(o.index)&&(this.selectionMarker=this.selectionMarker.destroy()),m&&this.scaleGroups()}o&&M(o.index)&&(I(o.container,{cursor:o._cursor}),o.cancelClick=10<this.hasDragged,o.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},g.prototype.findNearestKDPoint=function(c,u,o){var b,m=this.chart,l=m.hoverPoint;return m=m.tooltip,l&&m&&m.isStickyOnContact()?l:(c.forEach(function(n){var r=!(n.noSharedTooltip&&u)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(o,r),(r=E(n,!0)&&n.series)&&!(r=!E(b,!0))){var f=b.dist-n.dist,T=(n.series.group&&n.series.group.zIndex)-(b.series.group&&b.series.group.zIndex);r=0<(0!=(r=b.distX-n.distX)&&u?r:0!==f?f:0!==T?T:b.series.index>n.series.index?-1:1)}r&&(b=n)}),b)},g.prototype.getChartCoordinatesFromPoint=function(c,u){var o=c.series,m=o.xAxis;o=o.yAxis;var l=c.shapeArgs;if(m&&o){var b=O(c.clientX,c.plotX),n=c.plotY||0;return c.isNode&&l&&M(l.x)&&M(l.y)&&(b=l.x,n=l.y),u?{chartX:o.len+o.pos-n,chartY:m.len+m.pos-b}:{chartX:b+m.pos,chartY:n+o.pos}}if(l&&l.x&&l.y)return{chartX:l.x,chartY:l.y}},g.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,u=k(c);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};var o=c.offsetWidth;return c=c.offsetHeight,2<o&&2<c&&(this.chartPosition.scaleX=u.width/o,this.chartPosition.scaleY=u.height/c),this.chartPosition},g.prototype.getCoordinates=function(c){var u={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(o){u[o.isXAxis?"xAxis":"yAxis"].push({axis:o,value:o.toValue(c[o.horiz?"chartX":"chartY"])})}),u},g.prototype.getHoverData=function(c,u,o,m,l,b){var n=[];m=!(!m||!c);var r={chartX:b?b.chartX:void 0,chartY:b?b.chartY:void 0,shared:l};S(this,"beforeGetHoverData",r);var f=u&&!u.stickyTracking?[u]:o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&w.stickyTracking}),T=m||!b?c:this.findNearestKDPoint(f,l,b);return u=T&&T.series,T&&(l&&!u.noSharedTooltip?(f=o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&!w.noSharedTooltip})).forEach(function(w){var D=y(w.points,function(d){return d.x===T.x&&!d.isNull});E(D)&&(w.chart.isBoosting&&(D=w.getPoint(D)),n.push(D))}):n.push(T)),S(this,"afterGetHoverData",r={hoverPoint:T}),{hoverPoint:r.hoverPoint,hoverSeries:u,hoverPoints:n}},g.prototype.getPointFromEvent=function(c){c=c.target;for(var u;c&&!u;)u=c.point,c=c.parentNode;return u},g.prototype.onTrackerMouseOut=function(c){c=c.relatedTarget||c.toElement;var u=this.chart.hoverSeries;this.isDirectTouch=!1,!u||!c||u.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+u.index)&&this.inClass(c,"highcharts-tracker")||u.onMouseOut()},g.prototype.inClass=function(c,u){for(var o;c;){if(o=F(c,"class")){if(-1!==o.indexOf(u))return!0;if(-1!==o.indexOf("highcharts-container"))return!1}c=c.parentElement}},g.prototype.init=function(c,u){this.options=u,this.chart=c,this.runChartClick=!(!u.chart.events||!u.chart.events.click),this.pinchDown=[],this.lastValidTouch={},et&&(c.tooltip=new et(c,u.tooltip),this.followTouchMove=O(u.tooltip.followTouchMove,!0)),this.setDOMEvents()},g.prototype.normalize=function(c,u){var o=c.touches,m=o?o.length?o.item(0):O(o.changedTouches,c.changedTouches)[0]:c;return u||(u=this.getChartPosition()),o=m.pageX-u.left,m=m.pageY-u.top,o/=u.scaleX,m/=u.scaleY,C(c,{chartX:Math.round(o),chartY:Math.round(m)})},g.prototype.onContainerClick=function(c){var u=this.chart,o=u.hoverPoint;c=this.normalize(c);var m=u.plotLeft,l=u.plotTop;u.cancelClick||(o&&this.inClass(c.target,"highcharts-tracker")?(S(o.series,"click",C(c,{point:o})),u.hoverPoint&&o.firePointEvent("click",c)):(C(c,this.getCoordinates(c)),u.isInsidePlot(c.chartX-m,c.chartY-l,{visiblePlotOnly:!0})&&S(u,"click",c)))},g.prototype.onContainerMouseDown=function(c){var u=1==(1&(c.buttons||c.button));c=this.normalize(c),Y.isFirefox&&0!==c.button&&this.onContainerMouseMove(c),(void 0===c.button||u)&&(this.zoomOption(c),u&&c.preventDefault&&c.preventDefault(),this.dragStart(c))},g.prototype.onContainerMouseLeave=function(c){var u=it[O(g.hoverChartIndex,-1)],o=this.chart.tooltip;o&&o.shouldStickOnContact()&&this.inClass(c.relatedTarget,"highcharts-tooltip-container")||(c=this.normalize(c),u&&(c.relatedTarget||c.toElement)&&(u.pointer.reset(),u.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset())},g.prototype.onContainerMouseEnter=function(c){delete this.chartPosition},g.prototype.onContainerMouseMove=function(c){var u=this.chart;c=this.normalize(c),this.setHoverChartIndex(),c.preventDefault||(c.returnValue=!1),("mousedown"===u.mouseIsDown||this.touchSelect(c))&&this.drag(c),u.openMenu||!this.inClass(c.target,"highcharts-tracker")&&!u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||(this.inClass(c.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(c))},g.prototype.onDocumentTouchEnd=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.onContainerTouchMove=function(c){this.touchSelect(c)?this.onContainerMouseMove(c):this.touch(c)},g.prototype.onContainerTouchStart=function(c){this.touchSelect(c)?this.onContainerMouseDown(c):(this.zoomOption(c),this.touch(c,!0))},g.prototype.onDocumentMouseMove=function(c){var u=this.chart,o=this.chartPosition;c=this.normalize(c,o);var m=u.tooltip;!o||m&&m.isStickyOnContact()||u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||this.inClass(c.target,"highcharts-tracker")||this.reset()},g.prototype.onDocumentMouseUp=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.pinch=function(c){var u=this,o=u.chart,m=u.pinchDown,l=c.touches||[],b=l.length,n=u.lastValidTouch,r=u.hasZoom,f={},T=1===b&&(u.inClass(c.target,"highcharts-tracker")&&o.runTrackerClick||u.runChartClick),w={},D=u.selectionMarker;1<b?u.initiated=!0:1===b&&this.followTouchMove&&(u.initiated=!1),r&&u.initiated&&!T&&!1!==c.cancelable&&c.preventDefault(),[].map.call(l,function(d){return u.normalize(d)}),"touchstart"===c.type?([].forEach.call(l,function(d,R){m[R]={chartX:d.chartX,chartY:d.chartY}}),n.x=[m[0].chartX,m[1]&&m[1].chartX],n.y=[m[0].chartY,m[1]&&m[1].chartY],o.axes.forEach(function(d){if(d.zoomEnabled){var R=o.bounds[d.horiz?"h":"v"],a=d.minPixelPadding,h=d.toPixels(Math.min(O(d.options.min,d.dataMin),d.dataMin)),A=d.toPixels(Math.max(O(d.options.max,d.dataMax),d.dataMax)),j=Math.max(h,A);R.min=Math.min(d.pos,Math.min(h,A)-a),R.max=Math.max(d.pos+d.len,j+a)}}),u.res=!0):u.followTouchMove&&1===b?this.runPointActions(u.normalize(c)):m.length&&(S(o,"touchpan",{originalEvent:c},function(){D||(u.selectionMarker=D=C({destroy:K,touch:!0},o.plotBox)),u.pinchTranslate(m,l,f,D,w,n),u.hasPinched=r,u.scaleGroups(f,w)}),u.res&&(u.res=!1,this.reset(!1,0)))},g.prototype.pinchTranslate=function(c,u,o,m,l,b){this.zoomHor&&this.pinchTranslateDirection(!0,c,u,o,m,l,b),this.zoomVert&&this.pinchTranslateDirection(!1,c,u,o,m,l,b)},g.prototype.pinchTranslateDirection=function(c,u,o,m,l,b,n,r){var f=this.chart,T=c?"x":"y",w=c?"X":"Y",D="chart"+w,d=c?"width":"height",R=f["plot"+(c?"Left":"Top")],a=f.inverted,h=f.bounds[c?"h":"v"],A=1===u.length,j=u[0][D],z=!A&&u[1][D];u=function(){"number"==typeof G&&20<Math.abs(j-z)&&(N=r||Math.abs(_-G)/Math.abs(j-z)),p=(R-_)/N+j,H=f["plot"+(c?"Width":"Height")]/N};var H,p,N=r||1,_=o[0][D],G=!A&&o[1][D];if(u(),(o=p)<h.min){o=h.min;var U=!0}else o+H>h.max&&(o=h.max-H,U=!0);U?(_-=.8*(_-n[T][0]),"number"==typeof G&&(G-=.8*(G-n[T][1])),u()):n[T]=[_,G],a||(b[T]=p-R,b[d]=H),b=a?1/N:N,l[d]=H,l[T]=o,m[a?c?"scaleY":"scaleX":"scale"+w]=N,m["translate"+w]=b*R+(_-b*j)},g.prototype.reset=function(c,u){var o=this.chart,m=o.hoverSeries,l=o.hoverPoint,b=o.hoverPoints,n=o.tooltip,r=n&&n.shared?b:l;c&&r&&P(r).forEach(function(f){f.series.isCartesian&&void 0===f.plotX&&(c=!1)}),c?n&&r&&P(r).length&&(n.refresh(r),n.shared&&b?b.forEach(function(f){f.setState(f.state,!0),f.series.isCartesian&&(f.series.xAxis.crosshair&&f.series.xAxis.drawCrosshair(null,f),f.series.yAxis.crosshair&&f.series.yAxis.drawCrosshair(null,f))}):l&&(l.setState(l.state,!0),o.axes.forEach(function(f){f.crosshair&&l.series[f.coll]===f&&f.drawCrosshair(null,l)}))):(l&&l.onMouseOut(),b&&b.forEach(function(f){f.setState()}),m&&m.onMouseOut(),n&&n.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),o.axes.forEach(function(f){f.hideCrosshair()}),this.hoverX=o.hoverPoints=o.hoverPoint=null)},g.prototype.runPointActions=function(c,u){var o=this.chart,m=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,l=!!m&&m.shared,b=u||o.hoverPoint,n=b&&b.series||o.hoverSeries;u=this.getHoverData(b,n,o.series,(!c||"touchmove"!==c.type)&&(!!u||n&&n.directTouch&&this.isDirectTouch),l,c),b=u.hoverPoint;var r=u.hoverPoints;u=(n=u.hoverSeries)&&n.tooltipOptions.followPointer&&!n.tooltipOptions.split;var f=l&&n&&!n.noSharedTooltip;if(b&&(b!==o.hoverPoint||m&&m.isHidden)){if((o.hoverPoints||[]).forEach(function(T){-1===r.indexOf(T)&&T.setState()}),o.hoverSeries!==n&&n.onMouseOver(),this.applyInactiveState(r),(r||[]).forEach(function(T){T.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!b.series)return;o.hoverPoints=r,o.hoverPoint=b,b.firePointEvent("mouseOver",void 0,function(){m&&b&&m.refresh(f?r:b,c)})}else u&&m&&!m.isHidden&&(l=m.getAnchor([{}],c),o.isInsidePlot(l[0],l[1],{visiblePlotOnly:!0})&&m.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=W(o.container.ownerDocument,"mousemove",function(T){var w=it[g.hoverChartIndex];w&&w.pointer.onDocumentMouseMove(T)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(T){var D,w=O((T.crosshair||{}).snap,!0);w&&((D=o.hoverPoint)&&D.series[T.coll]===T||(D=y(r,function(d){return d.series&&d.series[T.coll]===T}))),D||!w?T.drawCrosshair(c,D):T.hideCrosshair()})},g.prototype.scaleGroups=function(c,u){var o=this.chart;o.series.forEach(function(m){var l=c||m.getPlotBox();m.group&&(m.xAxis&&m.xAxis.zoomEnabled||o.mapView)&&(m.group.attr(l),m.markerGroup&&(m.markerGroup.attr(l),m.markerGroup.clip(u?o.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(l))}),o.clipRect.attr(u||o.clipBox)},g.prototype.setDOMEvents=function(){var c=this,u=this.chart.container,o=u.ownerDocument;u.onmousedown=this.onContainerMouseDown.bind(this),u.onmousemove=this.onContainerMouseMove.bind(this),u.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(W(u,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(W(u,"mouseleave",this.onContainerMouseLeave.bind(this))),g.unbindDocumentMouseUp||(g.unbindDocumentMouseUp=W(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var m=this.chart.renderTo.parentElement;m&&"BODY"!==m.tagName;)this.eventsToUnbind.push(W(m,"scroll",function(){delete c.chartPosition})),m=m.parentElement;Y.hasTouch&&(this.eventsToUnbind.push(W(u,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(W(u,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),g.unbindDocumentTouchEnd||(g.unbindDocumentTouchEnd=W(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},g.prototype.setHoverChartIndex=function(){var c=this.chart,u=Y.charts[O(g.hoverChartIndex,-1)];u&&u!==c&&u.pointer.onContainerMouseLeave({relatedTarget:c.container}),u&&u.mouseIsDown||(g.hoverChartIndex=c.index)},g.prototype.touch=function(c,u){var o=this.chart;if(this.setHoverChartIndex(),1===c.touches.length)if(c=this.normalize(c),o.isInsidePlot(c.chartX-o.plotLeft,c.chartY-o.plotTop,{visiblePlotOnly:!0})&&!o.openMenu){if(u&&this.runPointActions(c),"touchmove"===c.type)var l=!!(u=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(u[0].chartX-c.chartX,2)+Math.pow(u[0].chartY-c.chartY,2));O(l,!0)&&this.pinch(c)}else u&&this.reset();else 2===c.touches.length&&this.pinch(c)},g.prototype.touchSelect=function(c){return!(!this.chart.options.chart.zoomBySingleTouch||!c.touches||1!==c.touches.length)},g.prototype.zoomOption=function(c){var u=this.chart,o=u.options.chart;u=u.inverted;var m=o.zoomType||"";/touch/.test(c.type)&&(m=O(o.pinchType,m)),this.zoomX=c=/x/.test(m),this.zoomY=o=/y/.test(m),this.zoomHor=c&&!u||o&&u,this.zoomVert=o&&!u||c&&u,this.hasZoom=c||o},g}()}),Mt($,"Core/MSPointer.js",[$["Core/Globals.js"],$["Core/Pointer.js"],$["Core/Utilities.js"]],function(X,Y,et){function rt(){var v=[];return v.item=function(k){return this[k]},y(M,function(k){v.push({pageX:k.pageX,pageY:k.pageY,target:k.target})}),v}function Q(v,k,O,P){var g=K[Y.hoverChartIndex||NaN];"touch"!==v.pointerType&&v.pointerType!==v.MSPOINTER_TYPE_TOUCH||!g||(g=g.pointer,P(v),g[k]({type:O,target:v.currentTarget,preventDefault:F,touches:rt()}))}var v,it=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)}),K=X.charts,W=X.doc,F=X.noop,I=X.win,L=et.addEvent,C=et.css,y=et.objectEach,S=et.removeEvent,M={},E=!!I.PointerEvent;return function(v){function k(){return null!==v&&v.apply(this,arguments)||this}return it(k,v),k.isRequired=function(){return!(X.hasTouch||!I.PointerEvent&&!I.MSPointerEvent)},k.prototype.batchMSEvents=function(O){O(this.chart.container,E?"pointerdown":"MSPointerDown",this.onContainerPointerDown),O(this.chart.container,E?"pointermove":"MSPointerMove",this.onContainerPointerMove),O(W,E?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},k.prototype.destroy=function(){this.batchMSEvents(S),v.prototype.destroy.call(this)},k.prototype.init=function(O,P){v.prototype.init.call(this,O,P),this.hasZoom&&C(O.container,{"-ms-touch-action":"none","touch-action":"none"})},k.prototype.onContainerPointerDown=function(O){Q(O,"onContainerTouchStart","touchstart",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY,target:P.currentTarget}})},k.prototype.onContainerPointerMove=function(O){Q(O,"onContainerTouchMove","touchmove",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY},M[P.pointerId].target||(M[P.pointerId].target=P.currentTarget)})},k.prototype.onDocumentPointerUp=function(O){Q(O,"onDocumentTouchEnd","touchend",function(P){delete M[P.pointerId]})},k.prototype.setDOMEvents=function(){v.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(L)},k}(Y)}),Mt($,"Core/Legend/Legend.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.animObject,W=X.setAnimation,F=Y.format;X=et.isFirefox;var I=et.marginNames;et=et.win;var L=Q.distribute,C=it.addEvent,y=it.createElement,S=it.css,M=it.defined,E=it.discardElement,v=it.find,k=it.fireEvent,O=it.isNumber,P=it.merge,g=it.pick,c=it.relativeLength,u=it.stableSort,o=it.syncTimeout;return Q=it.wrap,it=function(){function m(l,b){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options=void 0,this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=l,this.init(l,b)}return m.prototype.init=function(l,b){this.chart=l,this.setOptions(b),b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},m.prototype.setOptions=function(l){var b=g(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=P(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop||0,this.itemMarginBottom=l.itemMarginBottom||0,this.padding=b,this.initialItemY=b-5,this.symbolWidth=g(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0},m.prototype.update=function(l,b){var n=this.chart;this.setOptions(P(!0,this.options,l)),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,g(b,!0)&&n.redraw(),k(this,"afterUpdate")},m.prototype.colorizeItem=function(l,b){if(l.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var n=this.options,r=l.legendItem,f=l.legendLine,T=l.legendSymbol,w=this.itemHiddenStyle.color;n=b?n.itemStyle.color:w;var D=b&&l.color||w,d=l.options&&l.options.marker,R={fill:D};r&&r.css({fill:n,color:n}),f&&f.attr({stroke:D}),T&&(d&&T.isMarker&&(R=l.pointAttribs(),b||(R.stroke=R.fill=w)),T.attr(R))}k(this,"afterColorizeItem",{item:l,visible:b})},m.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},m.prototype.positionItem=function(l){var b=this,n=this.options,r=n.symbolPadding,f=!n.rtl,T=l._legendItemPos;n=T[0],T=T[1];var w=l.checkbox,D=l.legendGroup;D&&D.element&&(r={translateX:f?n:this.legendWidth-n-2*r-4,translateY:T},f=function(){k(b,"afterPositionItem",{item:l})},M(D.translateY)?D.animate(r,void 0,f):(D.attr(r),f())),w&&(w.x=n,w.y=T)},m.prototype.destroyItem=function(l){var b=l.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(n){l[n]&&(l[n]=l[n].destroy())}),b&&E(l.checkbox)},m.prototype.destroy=function(){function l(b){this[b]&&(this[b]=this[b].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(l,b)}),"clipRect up down pager nav box title group".split(" ").forEach(l,this),this.display=null},m.prototype.positionCheckboxes=function(){var l=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,n=this.titleHeight;if(l){var r=l.translateY;this.allItems.forEach(function(f){var T=f.checkbox;if(T){var w=r+n+T.y+(this.scrollOffset||0)+3;S(T,{left:l.translateX+f.checkboxOffset+T.x-20+"px",top:w+"px",display:this.proximate||w>r-6&&w<r+b-6?"":"none"})}},this)}},m.prototype.renderTitle=function(){var l=this.options,b=this.padding,n=l.title,r=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,b-3,b-4,void 0,void 0,void 0,l.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+"px"}),r=(l=this.title.getBBox()).height,this.offsetWidth=l.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r},m.prototype.setText=function(l){var b=this.options;l.legendItem.attr({text:b.labelFormat?F(b.labelFormat,l,this.chart):b.labelFormatter.call(l)})},m.prototype.renderItem=function(l){var b=this.chart,n=b.renderer,r=this.options,f=this.symbolWidth,T=r.symbolPadding||0,w=this.itemStyle,D=this.itemHiddenStyle,d="horizontal"===r.layout?g(r.itemDistance,20):0,R=!r.rtl,a=!l.series,h=!a&&l.series.drawLegendSymbol?l.series:l,A=h.options,j=this.createCheckboxForItem&&A&&A.showCheckbox,z=r.useHTML,H=l.options.className,p=l.legendItem;A=f+T+d+(j?20:0),p||(l.legendGroup=n.g("legend-item").addClass("highcharts-"+h.type+"-series highcharts-color-"+l.colorIndex+(H?" "+H:"")+(a?" highcharts-series-"+l.index:"")).attr({zIndex:1}).add(this.scrollGroup),l.legendItem=p=n.text("",R?f+T:-T,this.baseline||0,z),b.styledMode||p.css(P(l.visible?w:D)),p.attr({align:R?"left":"right",zIndex:2}).add(l.legendGroup),this.baseline||(this.fontMetrics=n.fontMetrics(b.styledMode?12:w.fontSize,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline),this.symbolHeight=r.symbolHeight||this.fontMetrics.f,r.squareSymbol&&(this.symbolWidth=g(r.symbolWidth,Math.max(this.symbolHeight,16)),A=this.symbolWidth+T+d+(j?20:0),R&&p.attr("x",this.symbolWidth+T))),h.drawLegendSymbol(this,l),this.setItemEvents&&this.setItemEvents(l,p,z)),j&&!l.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(l),this.colorizeItem(l,l.visible),!b.styledMode&&w.width||p.css({width:(r.itemWidth||this.widthOption||b.spacingBox.width)-A+"px"}),this.setText(l),b=p.getBBox(),n=this.fontMetrics&&this.fontMetrics.h||0,l.itemWidth=l.checkboxOffset=r.itemWidth||l.legendItemWidth||b.width+A,this.maxItemWidth=Math.max(this.maxItemWidth,l.itemWidth),this.totalItemWidth+=l.itemWidth,this.itemHeight=l.itemHeight=Math.round(l.legendItemHeight||(b.height>1.5*n?b.height:n))},m.prototype.layoutItem=function(l){var b=this.options,n=this.padding,r="horizontal"===b.layout,f=l.itemHeight,T=this.itemMarginBottom,w=this.itemMarginTop,D=r?g(b.itemDistance,20):0,d=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>d?this.maxItemWidth:l.itemWidth,r&&this.itemX-n+b>d&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=w+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=w+this.itemY+T,this.lastLineHeight=Math.max(f,this.lastLineHeight),l._legendItemPos=[this.itemX,this.itemY],r?this.itemX+=b:(this.itemY+=w+f+T,this.lastLineHeight=f),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(l.checkbox?0:D):b)+n,this.offsetWidth)},m.prototype.getAllItems=function(){var l=[];return this.chart.series.forEach(function(b){var n=b&&b.options;b&&g(n.showInLegend,!M(n.linkedTo)&&void 0,!0)&&(l=l.concat(b.legendItems||("point"===n.legendType?b.data:b)))}),k(this,"afterGetAllItems",{allItems:l}),l},m.prototype.getAlignment=function(){var l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)},m.prototype.adjustMargins=function(l,b){var n=this.chart,r=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,w){T.test(f)&&!M(l[w])&&(n[I[w]]=Math.max(n[I[w]],n.legend[(w+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][w]*r[w%2?"x":"y"]+g(r.margin,12)+b[w]+(n.titleOffset[w]||0)))})},m.prototype.proximatePositions=function(){var l=this.chart,b=[],n="left"===this.options.align;this.allItems.forEach(function(r){var f,T=n;if(r.yAxis){r.xAxis.options.reversed&&(T=!T),r.points&&(f=v(T?r.points:r.points.slice(0).reverse(),function(D){return O(D.plotY)})),T=this.itemMarginTop+r.legendItem.getBBox().height+this.itemMarginBottom;var w=r.yAxis.top-l.plotTop;r.visible?(f=f?f.plotY:r.yAxis.height,f+=w-.3*T):f=w+r.yAxis.height,b.push({target:f,size:T,item:r})}},this),L(b,l.plotHeight).forEach(function(r){r.item._legendItemPos&&(r.item._legendItemPos[1]=l.plotTop-l.spacing[0]+r.pos)})},m.prototype.render=function(){var l=this.chart,b=l.renderer,n=this.options,r=this.padding,f=this.getAllItems(),T=this.group,w=this.box;this.itemX=r,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=c(n.width,l.spacingBox.width-r);var D=l.spacingBox.width-2*r-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(D/=2),this.maxLegendWidth=this.widthOption||D,T||(this.group=T=b.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(T),this.scrollGroup=b.g().add(this.contentGroup)),this.renderTitle(),u(f,function(R,a){return(R.options&&R.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)}),n.reversed&&f.reverse(),this.allItems=f,this.display=D=!!f.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,f.forEach(this.renderItem,this),f.forEach(this.layoutItem,this),f=(this.widthOption||this.offsetWidth)+r;var d=this.lastItemY+this.lastLineHeight+this.titleHeight;d=this.handleOverflow(d),d+=r,w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(T)),l.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),0<f&&0<d&&w[w.placed?"animate":"attr"](w.crisp.call({},{x:0,y:0,width:f,height:d},w.strokeWidth())),w[D?"show":"hide"](),l.styledMode&&"none"===T.getStyle("display")&&(f=d=0),this.legendWidth=f,this.legendHeight=d,D&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")},m.prototype.align=function(l){void 0===l&&(l=this.chart.spacingBox);var b=this.chart,n=this.options,r=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<b.titleOffset[0]?r+=b.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<b.titleOffset[2]&&(r-=b.titleOffset[2]),r!==l.y&&(l=P(l,{y:r})),b.hasRendered||(this.group.placed=!1),this.group.align(P(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,l)},m.prototype.handleOverflow=function(l){var p,N,b=this,n=this.chart,r=n.renderer,f=this.options,T=f.y,w="top"===f.verticalAlign,D=this.padding,d=f.maxHeight,R=f.navigation,a=g(R.animation,!0),h=R.arrowSize||12,A=this.pages,j=this.allItems,z=function(U){"number"==typeof U?G.attr({height:U}):G&&(b.clipRect=G.destroy(),b.contentGroup.clip()),b.contentGroup.div&&(b.contentGroup.div.style.clip=U?"rect("+D+"px,9999px,"+(D+U)+"px,0)":"auto")},H=function(U){return b[U]=r.circle(0,0,1.3*h).translate(h/2,h/2).add(_),n.styledMode||b[U].attr("fill","rgba(0,0,0,0.0001)"),b[U]};T=n.spacingBox.height+(w?-T:T)-D;var _=this.nav,G=this.clipRect;return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(T/=2),d&&(T=Math.min(T,d)),A.length=0,l&&0<T&&l>T&&!1!==R.enabled?(this.clipHeight=p=Math.max(T-20-this.titleHeight-D,0),this.currentPage=g(this.currentPage,1),this.fullHeight=l,j.forEach(function(U,tt){var J=U._legendItemPos[1],ot=Math.round(U.legendItem.getBBox().height),at=A.length;(!at||J-A[at-1]>p&&(N||J)!==A[at-1])&&(A.push(N||J),at++),U.pageIx=at-1,N&&(j[tt-1].pageIx=at-1),tt===j.length-1&&J+ot-A[at-1]>p&&ot<=p&&(A.push(J),U.pageIx=at),J!==N&&(N=J)}),G||(G=b.clipRect=r.clipRect(0,D,9999,0),b.contentGroup.clip(G)),z(p),_||(this.nav=_=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,h,h).add(_),H("upTracker").on("click",function(){b.scroll(-1,a)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!n.styledMode&&R.style&&this.pager.css(R.style),this.pager.add(_),this.down=r.symbol("triangle-down",0,0,h,h).add(_),H("downTracker").on("click",function(){b.scroll(1,a)})),b.scroll(0),l=T):_&&(z(),this.nav=_.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l},m.prototype.scroll=function(l,b){var n=this,r=this.chart,f=this.pages,T=f.length,w=this.clipHeight,D=this.options.navigation,d=this.pager,R=this.padding,a=this.currentPage+l;a>T&&(a=T),0<a&&(void 0!==b&&W(b,r),this.nav.attr({translateX:R,translateY:w+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(h){h.attr({class:1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),d.attr({text:a+"/"+T}),[this.down,this.downTracker].forEach(function(h){h.attr({x:18+this.pager.getBBox().width,class:a===T?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),r.styledMode||(this.up.attr({fill:1===a?D.inactiveColor:D.activeColor}),this.upTracker.css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===T?D.inactiveColor:D.activeColor}),this.downTracker.css({cursor:a===T?"default":"pointer"})),this.scrollOffset=-f[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes(),l=K(g(b,r.renderer.globalAnimation,!0)),o(function(){k(n,"afterScroll",{currentPage:a})},l.duration))},m.prototype.setItemEvents=function(l,b,n){var r=this,f=r.chart.renderer.boxWrapper,T=l instanceof rt,w="highcharts-legend-"+(T?"point":"series")+"-active",D=r.chart.styledMode,d=function(R){r.allItems.forEach(function(a){l!==a&&[a].concat(a.linkedSeries||[]).forEach(function(h){h.setState(R,!T)})})};(n?[b,l.legendSymbol]:[l.legendGroup]).forEach(function(R){R&&R.on("mouseover",function(){l.visible&&d("inactive"),l.setState("hover"),l.visible&&f.addClass(w),D||b.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||b.css(P(l.visible?r.itemStyle:r.itemHiddenStyle)),d(""),f.removeClass(w),l.setState()}).on("click",function(a){var h=function(){l.setVisible&&l.setVisible(),d(l.visible?"inactive":"")};f.removeClass(w),a={browserEvent:a},l.firePointEvent?l.firePointEvent("legendItemClick",a,h):k(l,"legendItemClick",a,h)})})},m.prototype.createCheckboxForItem=function(l){l.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),C(l.checkbox,"click",function(b){k(l.series||l,"checkboxClick",{checked:b.target.checked,item:l},function(){l.select()})})},m}(),(/Trident\/7\.0/.test(et.navigator&&et.navigator.userAgent)||X)&&Q(it.prototype,"positionItem",function(m,l){var b=this,n=function(){l._legendItemPos&&m.call(b,l)};n(),b.bubbleLegend||setTimeout(n)}),it}),Mt($,"Core/Series/SeriesRegistry.js",[$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=Y.defaultOptions,it=rt.error,K=rt.extendClass,W=rt.merge;return function(I){function L(C,y){var S=Q.plotOptions||{},M=y.defaultOptions;y.prototype.pointClass||(y.prototype.pointClass=et),y.prototype.type=C,M&&(S[C]=M),I.seriesTypes[C]=y}I.seriesTypes=X.seriesTypes,I.getSeries=function(C,y){void 0===y&&(y={});var S=C.options.chart,M=I.seriesTypes[S=y.type||S.type||S.defaultSeriesType||""];return I||it(17,!0,C,{missingModuleFor:S}),"function"==typeof(S=new M).init&&S.init(C,y),S},I.registerSeriesType=L,I.seriesType=function(C,y,S,M,E){var v=Q.plotOptions||{};return v[C]=W(v[y=y||""],S),L(C,K(I.seriesTypes[y]||function(){},M)),I.seriesTypes[C].prototype.type=C,E&&(I.seriesTypes[C].prototype.pointClass=K(et,E)),I.seriesTypes[C]}}(F||(F={})),F}),Mt($,"Core/Chart/Chart.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/FormatUtilities.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/Legend.js"],$["Core/MSPointer.js"],$["Core/DefaultOptions.js"],$["Core/Pointer.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Time.js"],$["Core/Utilities.js"],$["Core/Renderer/HTML/AST.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M){var E=X.animate,v=X.animObject,k=X.setAnimation,O=et.numberFormat,P=rt.registerEventOptions,g=Q.charts,c=Q.doc,u=Q.marginNames,o=Q.svg,m=Q.win,l=W.defaultOptions,b=W.defaultTime,n=L.seriesTypes,r=S.addEvent,f=S.attr,T=S.cleanRecursively,w=S.createElement,D=S.css,d=S.defined,R=S.discardElement,a=S.erase,h=S.error,A=S.extend,j=S.find,z=S.fireEvent,H=S.getStyle,p=S.isArray,N=S.isNumber,_=S.isObject,G=S.isString,U=S.merge,tt=S.objectEach,J=S.pick,ot=S.pInt,at=S.relativeLength,ft=S.removeEvent,mt=S.splat,gt=S.syncTimeout,ut=S.uniqueKey;return X=function(){function ht(V,q,st){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(V,q,st)}return ht.chart=function(V,q,st){return new ht(V,q,st)},ht.prototype.getArgs=function(V,q,st){G(V)||V.nodeName?(this.renderTo=V,this.init(q,st)):this.init(V,q)},ht.prototype.init=function(V,q){var st=V.plotOptions||{};z(this,"init",{args:arguments},function(){var ct=U(l,V),dt=ct.chart;tt(ct.plotOptions,function(yt,xt){_(yt)&&(yt.tooltip=st[xt]&&U(st[xt].tooltip)||void 0)}),ct.tooltip.userOptions=V.chart&&V.chart.forExport&&V.tooltip.userOptions||V.tooltip,this.userOptions=V,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=q,this.isResizing=0,this.options=ct,this.axes=[],this.series=[],this.time=V.time&&Object.keys(V.time).length?new y(V.time):Q.time,this.numberFormatter=dt.numberFormatter||O,this.styledMode=dt.styledMode,this.hasCartesianSeries=dt.showAxes,this.index=g.length,g.push(this),Q.chartCount++,P(this,dt),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,z(this,"afterInit"),this.firstRender()})},ht.prototype.initSeries=function(V){var q=this.options.chart,st=n[q=V.type||q.type||q.defaultSeriesType];return st||h(17,!0,this,{missingModuleFor:q}),"function"==typeof(q=new st).init&&q.init(this,V),q},ht.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(V){V.points||V.data||!V.enabledDataSorting||V.setData(V.options.data,!1)})},ht.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(V,q){return V.linkedSeries.length||q.linkedSeries.length?q.linkedSeries.length-V.linkedSeries.length:0})},ht.prototype.orderSeries=function(V){var q=this.series;V=V||0;for(var st=q.length;V<st;++V)q[V]&&(q[V].index=V,q[V].name=q[V].getName())},ht.prototype.isInsidePlot=function(V,q,st){void 0===st&&(st={});var ct=this.inverted,dt=this.plotBox,yt=this.plotLeft,xt=this.plotTop,St=this.scrollablePlotBox,Et=0,kt=0;st.visiblePlotOnly&&this.scrollingContainer&&(Et=(kt=this.scrollingContainer).scrollLeft,kt=kt.scrollTop);var Ct=st.series;if(dt=st.visiblePlotOnly&&St||dt,V={x:St=st.inverted?q:V,y:q=st.inverted?V:q,isInsidePlot:!0},!st.ignoreX){var Ot=Ct&&(ct?Ct.yAxis:Ct.xAxis)||{pos:yt,len:1/0};(St=st.paneCoordinates?Ot.pos+St:yt+St)>=Math.max(Et+yt,Ot.pos)&&St<=Math.min(Et+yt+dt.width,Ot.pos+Ot.len)||(V.isInsidePlot=!1)}return!st.ignoreY&&V.isInsidePlot&&(ct=Ct&&(ct?Ct.xAxis:Ct.yAxis)||{pos:xt,len:1/0},(st=st.paneCoordinates?ct.pos+q:xt+q)>=Math.max(kt+xt,ct.pos)&&st<=Math.min(kt+xt+dt.height,ct.pos+ct.len)||(V.isInsidePlot=!1)),z(this,"afterIsInsidePlot",V),V.isInsidePlot},ht.prototype.redraw=function(V){z(this,"beforeRedraw");var q=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ct=this.pointer,dt=this.legend,yt=this.userOptions.legend,xt=this.renderer,St=xt.isHidden(),Et=[],kt=this.isDirtyBox,Ct=this.isDirtyLegend;for(this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&V,this),St&&this.temporaryDisplay(),this.layOutTitles(),V=st.length;V--;){var Ot=st[V];if(Ot.options.stacking||Ot.options.centerInCategory){var Pt=!0;if(Ot.isDirty){var Lt=!0;break}}}if(Lt)for(V=st.length;V--;)(Ot=st[V]).options.stacking&&(Ot.isDirty=!0);st.forEach(function(Tt){Tt.isDirty&&("point"===Tt.options.legendType?("function"==typeof Tt.updateTotals&&Tt.updateTotals(),Ct=!0):yt&&(yt.labelFormatter||yt.labelFormat)&&(Ct=!0)),Tt.isDirtyData&&z(Tt,"updatedData")}),Ct&&dt&&dt.options.enabled&&(dt.render(),this.isDirtyLegend=!1),Pt&&this.getStacks(),q.forEach(function(Tt){Tt.updateNames(),Tt.setScale()}),this.getMargins(),q.forEach(function(Tt){Tt.isDirty&&(kt=!0)}),q.forEach(function(Tt){var zt=Tt.min+","+Tt.max;Tt.extKey!==zt&&(Tt.extKey=zt,Et.push(function(){z(Tt,"afterSetExtremes",A(Tt.eventArgs,Tt.getExtremes())),delete Tt.eventArgs})),(kt||Pt)&&Tt.redraw()}),kt&&this.drawChartBox(),z(this,"predraw"),st.forEach(function(Tt){(kt||Tt.isDirty)&&Tt.visible&&Tt.redraw(),Tt.isDirtyData=!1}),ct&&ct.reset(!0),xt.draw(),z(this,"redraw"),z(this,"render"),St&&this.temporaryDisplay(!0),Et.forEach(function(Tt){Tt.call()})},ht.prototype.get=function(V){function q(yt){return yt.id===V||yt.options&&yt.options.id===V}for(var st=this.series,ct=j(this.axes,q)||j(this.series,q),dt=0;!ct&&dt<st.length;dt++)ct=j(st[dt].points||[],q);return ct},ht.prototype.getAxes=function(){var V=this,q=this.options,st=q.xAxis=mt(q.xAxis||{});q=q.yAxis=mt(q.yAxis||{}),z(this,"getAxes"),st.forEach(function(ct,dt){ct.index=dt,ct.isX=!0}),q.forEach(function(ct,dt){ct.index=dt}),st.concat(q).forEach(function(ct){new Y(V,ct)}),z(this,"afterGetAxes")},ht.prototype.getSelectedPoints=function(){return this.series.reduce(function(V,q){return q.getPointsCollection().forEach(function(st){J(st.selectedStaging,st.selected)&&V.push(st)}),V},[])},ht.prototype.getSelectedSeries=function(){return this.series.filter(function(V){return V.selected})},ht.prototype.setTitle=function(V,q,st){this.applyDescription("title",V),this.applyDescription("subtitle",q),this.applyDescription("caption",void 0),this.layOutTitles(st)},ht.prototype.applyDescription=function(V,q){var st=this,ct="title"===V?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};ct=this.options[V]=U(!this.styledMode&&{style:ct},this.options[V],q);var dt=this[V];dt&&q&&(this[V]=dt=dt.destroy()),ct&&!dt&&((dt=this.renderer.text(ct.text,0,0,ct.useHTML).attr({align:ct.align,class:"highcharts-"+V,zIndex:ct.zIndex||4}).add()).update=function(yt){st[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[V]](yt)},this.styledMode||dt.css(ct.style),this[V]=dt)},ht.prototype.layOutTitles=function(V){var q=[0,0,0],st=this.renderer,ct=this.spacingBox;["title","subtitle","caption"].forEach(function(yt){var kt,xt=this[yt],St=this.options[yt],Et=St.verticalAlign||"top";if(yt="title"===yt?"top"===Et?-3:0:"top"===Et?q[0]+2:0,xt){this.styledMode||(kt=St.style&&St.style.fontSize),kt=st.fontMetrics(kt,xt).b,xt.css({width:(St.width||ct.width+(St.widthAdjust||0))+"px"});var Ct=Math.round(xt.getBBox(St.useHTML).height);xt.align(A({y:"bottom"===Et?kt:yt+kt,height:Ct},St),!1,"spacingBox"),St.floating||("top"===Et?q[0]=Math.ceil(q[0]+Ct):"bottom"===Et&&(q[2]=Math.ceil(q[2]+Ct)))}},this),q[0]&&"top"===(this.options.title.verticalAlign||"top")&&(q[0]+=this.options.title.margin),q[2]&&"bottom"===this.options.caption.verticalAlign&&(q[2]+=this.options.caption.margin);var dt=!this.titleOffset||this.titleOffset.join(",")!==q.join(",");this.titleOffset=q,z(this,"afterLayOutTitles"),!this.isDirtyBox&&dt&&(this.isDirtyBox=this.isDirtyLegend=dt,this.hasRendered&&J(V,!0)&&this.isDirtyBox&&this.redraw())},ht.prototype.getChartSize=function(){var V=this.options.chart,q=V.width;V=V.height;var st=this.renderTo;d(q)||(this.containerWidth=H(st,"width")),d(V)||(this.containerHeight=H(st,"height")),this.chartWidth=Math.max(0,q||this.containerWidth||600),this.chartHeight=Math.max(0,at(V,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},ht.prototype.temporaryDisplay=function(V){var q=this.renderTo;if(V)for(;q&&q.style;)q.hcOrigStyle&&(D(q,q.hcOrigStyle),delete q.hcOrigStyle),q.hcOrigDetached&&(c.body.removeChild(q),q.hcOrigDetached=!1),q=q.parentNode;else for(;q&&q.style&&(c.body.contains(q)||q.parentNode||(q.hcOrigDetached=!0,c.body.appendChild(q)),("none"===H(q,"display",!1)||q.hcOricDetached)&&(q.hcOrigStyle={display:q.style.display,height:q.style.height,overflow:q.style.overflow},V={display:"block",overflow:"hidden"},q!==this.renderTo&&(V.height=0),D(q,V),q.offsetWidth||q.style.setProperty("display","block","important")),(q=q.parentNode)!==c.body););},ht.prototype.setClassName=function(V){this.container.className="highcharts-container "+(V||"")},ht.prototype.getContainer=function(){var ct,V=this.options,q=V.chart,st=ut(),dt=this.renderTo;dt||(this.renderTo=dt=q.renderTo),G(dt)&&(this.renderTo=dt=c.getElementById(dt)),dt||h(13,!0,this);var yt=ot(f(dt,"data-highcharts-chart"));N(yt)&&g[yt]&&g[yt].hasRendered&&g[yt].destroy(),f(dt,"data-highcharts-chart",this.index),dt.innerHTML=M.emptyHTML,q.skipClone||dt.offsetWidth||this.temporaryDisplay(),this.getChartSize(),yt=this.chartWidth;var xt=this.chartHeight;if(D(dt,{overflow:"hidden"}),this.styledMode||(ct=A({position:"relative",overflow:"hidden",width:yt+"px",height:xt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},q.style||{})),this.container=st=w("div",{id:st},ct,dt),this._cursor=st.style.cursor,this.renderer=new(q.renderer||!o?I.getRendererType(q.renderer):C)(st,yt,xt,void 0,q.forExport,V.exporting&&V.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(q.className),this.styledMode)for(var St in V.defs)this.renderer.definition(V.defs[St]);else this.renderer.setStyle(q.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")},ht.prototype.getMargins=function(V){var q=this.spacing,st=this.margin,ct=this.titleOffset;this.resetMargins(),ct[0]&&!d(st[0])&&(this.plotTop=Math.max(this.plotTop,ct[0]+q[0])),ct[2]&&!d(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ct[2]+q[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,q),z(this,"getMargins"),V||this.getAxisMargins()},ht.prototype.getAxisMargins=function(){var V=this,q=V.axisOffset=[0,0,0,0],st=V.colorAxis,ct=V.margin,dt=function(yt){yt.forEach(function(xt){xt.visible&&xt.getOffset()})};V.hasCartesianSeries?dt(V.axes):st&&st.length&&dt(st),u.forEach(function(yt,xt){d(ct[xt])||(V[yt]+=q[xt])}),V.setChartSize()},ht.prototype.reflow=function(V){var q=this,st=q.options.chart,ct=q.renderTo,dt=d(st.width)&&d(st.height),yt=st.width||H(ct,"width");st=st.height||H(ct,"height"),ct=V?V.target:m,delete q.pointer.chartPosition,!dt&&!q.isPrinting&&yt&&st&&(ct===m||ct===c)&&((yt!==q.containerWidth||st!==q.containerHeight)&&(S.clearTimeout(q.reflowTimeout),q.reflowTimeout=gt(function(){q.container&&q.setSize(void 0,void 0,!1)},V?100:0)),q.containerWidth=yt,q.containerHeight=st)},ht.prototype.setReflow=function(V){var q=this;!1===V||this.unbindReflow?!1===V&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=r(m,"resize",function(st){q.options&&q.reflow(st)}),r(this,"destroy",this.unbindReflow))},ht.prototype.setSize=function(V,q,st){var ct=this,dt=ct.renderer;ct.isResizing+=1,k(st,ct),st=dt.globalAnimation,ct.oldChartHeight=ct.chartHeight,ct.oldChartWidth=ct.chartWidth,void 0!==V&&(ct.options.chart.width=V),void 0!==q&&(ct.options.chart.height=q),ct.getChartSize(),ct.styledMode||(st?E:D)(ct.container,{width:ct.chartWidth+"px",height:ct.chartHeight+"px"},st),ct.setChartSize(!0),dt.setSize(ct.chartWidth,ct.chartHeight,st),ct.axes.forEach(function(yt){yt.isDirty=!0,yt.setScale()}),ct.isDirtyLegend=!0,ct.isDirtyBox=!0,ct.layOutTitles(),ct.getMargins(),ct.redraw(st),ct.oldChartHeight=null,z(ct,"resize"),gt(function(){ct&&z(ct,"endResize",null,function(){--ct.isResizing})},v(st).duration)},ht.prototype.setChartSize=function(V){var Et,kt,Ct,Ot,q=this.inverted,st=this.renderer,ct=this.chartWidth,dt=this.chartHeight,yt=this.options.chart,xt=this.spacing,St=this.clipOffset;this.plotLeft=Et=Math.round(this.plotLeft),this.plotTop=kt=Math.round(this.plotTop),this.plotWidth=Ct=Math.max(0,Math.round(ct-Et-this.marginRight)),this.plotHeight=Ot=Math.max(0,Math.round(dt-kt-this.marginBottom)),this.plotSizeX=q?Ot:Ct,this.plotSizeY=q?Ct:Ot,this.plotBorderWidth=yt.plotBorderWidth||0,this.spacingBox=st.spacingBox={x:xt[3],y:xt[0],width:ct-xt[3]-xt[1],height:dt-xt[0]-xt[2]},this.plotBox=st.plotBox={x:Et,y:kt,width:Ct,height:Ot},q=2*Math.floor(this.plotBorderWidth/2),ct=Math.ceil(Math.max(q,St[3])/2),dt=Math.ceil(Math.max(q,St[0])/2),this.clipBox={x:ct,y:dt,width:Math.floor(this.plotSizeX-Math.max(q,St[1])/2-ct),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(q,St[2])/2-dt))},V||(this.axes.forEach(function(Pt){Pt.setAxisSize(),Pt.setAxisTranslation()}),st.alignElements()),z(this,"afterSetChartSize",{skipAxes:V})},ht.prototype.resetMargins=function(){z(this,"resetMargins");var V=this,q=V.options.chart;["margin","spacing"].forEach(function(st){var ct=q[st],dt=_(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(yt,xt){V[st][xt]=J(q[st+yt],dt[xt])})}),u.forEach(function(st,ct){V[st]=J(V.margin[ct],V.spacing[ct])}),V.axisOffset=[0,0,0,0],V.clipOffset=[0,0,0,0]},ht.prototype.drawChartBox=function(){var ne,V=this.options.chart,q=this.renderer,st=this.chartWidth,ct=this.chartHeight,dt=this.styledMode,yt=this.plotBGImage,xt=V.backgroundColor,St=V.plotBackgroundColor,Et=V.plotBackgroundImage,kt=this.plotLeft,Ct=this.plotTop,Ot=this.plotWidth,Pt=this.plotHeight,Lt=this.plotBox,Tt=this.clipRect,zt=this.clipBox,Ht=this.chartBackground,Rt=this.plotBackground,Vt=this.plotBorder,Ft="animate";if(Ht||(this.chartBackground=Ht=q.rect().addClass("highcharts-background").add(),Ft="attr"),dt)var Zt=ne=Ht.strokeWidth();else ne=(Zt=V.borderWidth||0)+(V.shadow?8:0),xt={fill:xt||"none"},(Zt||Ht["stroke-width"])&&(xt.stroke=V.borderColor,xt["stroke-width"]=Zt),Ht.attr(xt).shadow(V.shadow);Ht[Ft]({x:ne/2,y:ne/2,width:st-ne-Zt%2,height:ct-ne-Zt%2,r:V.borderRadius}),Ft="animate",Rt||(Ft="attr",this.plotBackground=Rt=q.rect().addClass("highcharts-plot-background").add()),Rt[Ft](Lt),dt||(Rt.attr({fill:St||"none"}).shadow(V.plotShadow),Et&&(yt?(Et!==yt.attr("href")&&yt.attr("href",Et),yt.animate(Lt)):this.plotBGImage=q.image(Et,kt,Ct,Ot,Pt).add())),Tt?Tt.animate({width:zt.width,height:zt.height}):this.clipRect=q.clipRect(zt),Ft="animate",Vt||(Ft="attr",this.plotBorder=Vt=q.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),dt||Vt.attr({stroke:V.plotBorderColor,"stroke-width":V.plotBorderWidth||0,fill:"none"}),Vt[Ft](Vt.crisp({x:kt,y:Ct,width:Ot,height:Pt},-Vt.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")},ht.prototype.propFromSeries=function(){var ct,dt,yt,V=this,q=V.options.chart,st=V.options.series;["inverted","angular","polar"].forEach(function(xt){for(dt=n[q.type||q.defaultSeriesType],yt=q[xt]||dt&&dt.prototype[xt],ct=st&&st.length;!yt&&ct--;)(dt=n[st[ct].type])&&dt.prototype[xt]&&(yt=!0);V[xt]=yt})},ht.prototype.linkSeries=function(){var V=this,q=V.series;q.forEach(function(st){st.linkedSeries.length=0}),q.forEach(function(st){var ct=st.options.linkedTo;G(ct)&&(ct=":previous"===ct?V.series[st.index-1]:V.get(ct))&&ct.linkedParent!==st&&(ct.linkedSeries.push(st),st.linkedParent=ct,ct.enabledDataSorting&&st.setDataSortingOptions(),st.visible=J(st.options.visible,ct.options.visible,st.visible))}),z(this,"afterLinkSeries")},ht.prototype.renderSeries=function(){this.series.forEach(function(V){V.translate(),V.render()})},ht.prototype.renderLabels=function(){var V=this,q=V.options.labels;q.items&&q.items.forEach(function(st){var ct=A(q.style,st.style),dt=ot(ct.left)+V.plotLeft,yt=ot(ct.top)+V.plotTop+12;delete ct.left,delete ct.top,V.renderer.text(st.html,dt,yt).attr({zIndex:2}).css(ct).add()})},ht.prototype.render=function(){var V=this.axes,q=this.colorAxis,st=this.renderer,ct=this.options,dt=function(kt){kt.forEach(function(Ct){Ct.visible&&Ct.render()})},yt=0;this.setTitle(),this.legend=new it(this,ct.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),ct=this.plotWidth,V.some(function(kt){if(kt.horiz&&kt.visible&&kt.options.labels.enabled&&kt.series.length)return yt=21,!0});var xt=this.plotHeight=Math.max(this.plotHeight-yt,0);V.forEach(function(kt){kt.setScale()}),this.getAxisMargins();var St=1.1<ct/this.plotWidth,Et=1.05<xt/this.plotHeight;(St||Et)&&(V.forEach(function(kt){(kt.horiz&&St||!kt.horiz&&Et)&&kt.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?dt(V):q&&q.length&&dt(q),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},ht.prototype.addCredits=function(V){var q=this,st=U(!0,this.options.credits,V);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(m.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),q.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ct){q.credits=q.credits.destroy(),q.addCredits(ct)})},ht.prototype.destroy=function(){var yt,V=this,q=V.axes,st=V.series,ct=V.container,dt=ct&&ct.parentNode;for(z(V,"destroy"),V.renderer.forExport?a(g,V):g[V.index]=void 0,Q.chartCount--,V.renderTo.removeAttribute("data-highcharts-chart"),ft(V),yt=q.length;yt--;)q[yt]=q[yt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),yt=st.length;yt--;)st[yt]=st[yt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(xt){var St=V[xt];St&&St.destroy&&(V[xt]=St.destroy())}),ct&&(ct.innerHTML=M.emptyHTML,ft(ct),dt&&R(ct)),tt(V,function(xt,St){delete V[St]})},ht.prototype.firstRender=function(){var V=this,q=V.options;(!V.isReadyToRender||V.isReadyToRender())&&(V.getContainer(),V.resetMargins(),V.setChartSize(),V.propFromSeries(),V.getAxes(),(p(q.series)?q.series:[]).forEach(function(st){V.initSeries(st)}),V.linkSeries(),V.setSeriesData(),z(V,"beforeRender"),F&&(V.pointer=K.isRequired()?new K(V,q):new F(V,q)),V.render(),V.pointer.getChartPosition(),!V.renderer.imgCount&&!V.hasLoaded&&V.onload(),V.temporaryDisplay(!0))},ht.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(V){V&&void 0!==this.index&&V.apply(this,[this])},this),z(this,"load"),z(this,"render"),d(this.index)&&this.setReflow(this.options.chart.reflow),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},ht.prototype.warnIfA11yModuleNotLoaded=function(){var V=this;setTimeout(function(){var q=V&&V.options;!q||V.accessibility||q.accessibility&&!1===q.accessibility.enabled||h('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,V)},100)},ht.prototype.addSeries=function(V,q,st){var dt,ct=this;return V&&(q=J(q,!0),z(ct,"addSeries",{options:V},function(){dt=ct.initSeries(V),ct.isDirtyLegend=!0,ct.linkSeries(),dt.enabledDataSorting&&dt.setData(V.data,!1),z(ct,"afterAddSeries",{series:dt}),q&&ct.redraw(st)})),dt},ht.prototype.addAxis=function(V,q,st,ct){return this.createAxis(q?"xAxis":"yAxis",{axis:V,redraw:st,animation:ct})},ht.prototype.addColorAxis=function(V,q,st){return this.createAxis("colorAxis",{axis:V,redraw:q,animation:st})},ht.prototype.createAxis=function(V,q){return V=new Y(this,U(q.axis,{index:this[V].length,isX:"xAxis"===V})),J(q.redraw,!0)&&this.redraw(q.animation),V},ht.prototype.showLoading=function(V){var q=this,st=q.options,ct=st.loading,dt=function(){yt&&D(yt,{left:q.plotLeft+"px",top:q.plotTop+"px",width:q.plotWidth+"px",height:q.plotHeight+"px"})},yt=q.loadingDiv,xt=q.loadingSpan;yt||(q.loadingDiv=yt=w("div",{className:"highcharts-loading highcharts-loading-hidden"},null,q.container)),xt||(q.loadingSpan=xt=w("span",{className:"highcharts-loading-inner"},null,yt),r(q,"redraw",dt)),yt.className="highcharts-loading",M.setElementHTML(xt,J(V,st.lang.loading,"")),q.styledMode||(D(yt,A(ct.style,{zIndex:10})),D(xt,ct.labelStyle),q.loadingShown||(D(yt,{opacity:0,display:""}),E(yt,{opacity:ct.style.opacity||.5},{duration:ct.showDuration||0}))),q.loadingShown=!0,dt()},ht.prototype.hideLoading=function(){var V=this.options,q=this.loadingDiv;q&&(q.className="highcharts-loading highcharts-loading-hidden",this.styledMode||E(q,{opacity:0},{duration:V.loading.hideDuration||100,complete:function(){D(q,{display:"none"})}})),this.loadingShown=!1},ht.prototype.update=function(V,q,st,ct){var Et,kt,dt=this,yt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},xt=V.isResponsiveOptions,St=[];z(dt,"update",{options:V}),xt||dt.setResponsive(!1,!0),V=T(V,dt.options),dt.userOptions=U(dt.userOptions,V);var Ct=V.chart;if(Ct){if(U(!0,dt.options.chart,Ct),"className"in Ct&&dt.setClassName(Ct.className),"reflow"in Ct&&dt.setReflow(Ct.reflow),"inverted"in Ct||"polar"in Ct||"type"in Ct){dt.propFromSeries();var Ot=!0}"alignTicks"in Ct&&(Ot=!0),"events"in Ct&&P(this,Ct),tt(Ct,function(Pt,Lt){-1!==dt.propsRequireUpdateSeries.indexOf("chart."+Lt)&&(Et=!0),-1!==dt.propsRequireDirtyBox.indexOf(Lt)&&(dt.isDirtyBox=!0),-1!==dt.propsRequireReflow.indexOf(Lt)&&(xt?dt.isDirtyBox=!0:kt=!0)}),!dt.styledMode&&Ct.style&&dt.renderer.setStyle(dt.options.chart.style||{})}!dt.styledMode&&V.colors&&(this.options.colors=V.colors),V.time&&(this.time===b&&(this.time=new y(V.time)),U(!0,dt.options.time,V.time)),tt(V,function(Pt,Lt){dt[Lt]&&"function"==typeof dt[Lt].update?dt[Lt].update(Pt,!1):"function"==typeof dt[yt[Lt]]?dt[yt[Lt]](Pt):"colors"!==Lt&&-1===dt.collectionsWithUpdate.indexOf(Lt)&&U(!0,dt.options[Lt],V[Lt]),"chart"!==Lt&&-1!==dt.propsRequireUpdateSeries.indexOf(Lt)&&(Et=!0)}),this.collectionsWithUpdate.forEach(function(Pt){if(V[Pt]){var Lt=[];dt[Pt].forEach(function(Tt,zt){Tt.options.isInternal||Lt.push(J(Tt.options.index,zt))}),mt(V[Pt]).forEach(function(Tt,zt){var Rt,Ht=d(Tt.id);Ht&&(Rt=dt.get(Tt.id)),!Rt&&dt[Pt]&&(Rt=dt[Pt][Lt?Lt[zt]:zt])&&Ht&&d(Rt.options.id)&&(Rt=void 0),Rt&&Rt.coll===Pt&&(Rt.update(Tt,!1),st&&(Rt.touched=!0)),!Rt&&st&&dt.collectionsWithInit[Pt]&&(dt.collectionsWithInit[Pt][0].apply(dt,[Tt].concat(dt.collectionsWithInit[Pt][1]||[]).concat([!1])).touched=!0)}),st&&dt[Pt].forEach(function(Tt){Tt.touched||Tt.options.isInternal?delete Tt.touched:St.push(Tt)})}}),St.forEach(function(Pt){Pt.chart&&Pt.remove&&Pt.remove(!1)}),Ot&&dt.axes.forEach(function(Pt){Pt.update({},!1)}),Et&&dt.getSeriesOrderByLinks().forEach(function(Pt){Pt.chart&&Pt.update({},!1)},this),Ot=Ct&&Ct.width,Ct=Ct&&(G(Ct.height)?at(Ct.height,Ot||dt.chartWidth):Ct.height),kt||N(Ot)&&Ot!==dt.chartWidth||N(Ct)&&Ct!==dt.chartHeight?dt.setSize(Ot,Ct,ct):J(q,!0)&&dt.redraw(ct),z(dt,"afterUpdate",{options:V,redraw:q,animation:ct})},ht.prototype.setSubtitle=function(V,q){this.applyDescription("subtitle",V),this.layOutTitles(q)},ht.prototype.setCaption=function(V,q){this.applyDescription("caption",V),this.layOutTitles(q)},ht.prototype.showResetZoom=function(){function V(){q.zoomOut()}var q=this,st=l.lang,ct=q.options.chart.resetZoomButton,dt=ct.theme,yt="chart"===ct.relativeTo||"spacingBox"===ct.relativeTo?null:"scrollablePlotBox";z(this,"beforeShowResetZoom",null,function(){q.resetZoomButton=q.renderer.button(st.resetZoom,null,null,V,dt).attr({align:ct.position.align,title:st.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(ct.position,!1,yt)}),z(this,"afterShowResetZoom")},ht.prototype.zoomOut=function(){z(this,"selection",{resetSelection:!0},this.zoom)},ht.prototype.zoom=function(V){var yt,q=this,st=q.pointer,ct=q.inverted?st.mouseDownX:st.mouseDownY,dt=!1;!V||V.resetSelection?(q.axes.forEach(function(St){yt=St.zoom()}),st.initiated=!1):V.xAxis.concat(V.yAxis).forEach(function(St){var Et=St.axis,kt=q.inverted?Et.left:Et.top,Ot=Et.isXAxis,Pt=!1;(!Ot&&ct>=kt&&ct<=(q.inverted?kt+Et.width:kt+Et.height)||Ot||!d(ct))&&(Pt=!0),st[Ot?"zoomX":"zoomY"]&&Pt&&(yt=Et.zoom(St.min,St.max),Et.displayBtn&&(dt=!0))});var xt=q.resetZoomButton;dt&&!xt?q.showResetZoom():!dt&&_(xt)&&(q.resetZoomButton=xt.destroy()),yt&&q.redraw(J(q.options.chart.animation,V&&V.animation,100>q.pointCount))},ht.prototype.pan=function(V,q){var st=this,ct=st.hoverPoints;q="object"==typeof q?q:{enabled:q,type:"x"};var dt=st.options.chart,yt=st.options.mapNavigation&&st.options.mapNavigation.enabled;dt&&dt.panning&&(dt.panning=q);var St,xt=q.type;z(this,"pan",{originalEvent:V},function(){ct&&ct.forEach(function(Ct){Ct.setState()});var Et=st.xAxis;"xy"===xt?Et=Et.concat(st.yAxis):"y"===xt&&(Et=st.yAxis);var kt={};Et.forEach(function(Ct){if(Ct.options.panningEnabled&&!Ct.options.isInternal){var Ot=Ct.horiz,Pt=V[Ot?"chartX":"chartY"],Lt=st[Ot=Ot?"mouseDownX":"mouseDownY"],Tt=Ct.minPointOffset||0,zt=Ct.reversed&&!st.inverted||!Ct.reversed&&st.inverted?-1:1,Ht=Ct.getExtremes(),Rt=Ct.toValue(Lt-Pt,!0)+Tt*zt,Vt=Ct.toValue(Lt+Ct.len-Pt,!0)-(Tt*zt||Ct.isXAxis&&Ct.pointRangePadding||0),ne=Vt<Rt;zt=Ct.hasVerticalPanning(),Lt=ne?Vt:Rt,Rt=ne?Rt:Vt;var Ft=Ct.panningState;!zt||Ct.isXAxis||Ft&&!Ft.isDirty||Ct.series.forEach(function(Zt){var ue=Zt.getProcessedData(!0);ue=Zt.getExtremes(ue.yData,!0),Ft||(Ft={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),N(ue.dataMin)&&N(ue.dataMax)&&(Ft.startMin=Math.min(J(Zt.options.threshold,1/0),ue.dataMin,Ft.startMin),Ft.startMax=Math.max(J(Zt.options.threshold,-1/0),ue.dataMax,Ft.startMax))}),zt=Math.min(J(Ft&&Ft.startMin,Ht.dataMin),Tt?Ht.min:Ct.toValue(Ct.toPixels(Ht.min)-Ct.minPixelPadding)),Vt=Math.max(J(Ft&&Ft.startMax,Ht.dataMax),Tt?Ht.max:Ct.toValue(Ct.toPixels(Ht.max)+Ct.minPixelPadding)),Ct.panningState=Ft,Ct.isOrdinal||(0<(Tt=zt-Lt)&&(Rt+=Tt,Lt=zt),0<(Tt=Rt-Vt)&&(Rt=Vt,Lt-=Tt),Ct.series.length&&Lt!==Ht.min&&Rt!==Ht.max&&Lt>=zt&&Rt<=Vt&&(Ct.setExtremes(Lt,Rt,!1,!1,{trigger:"pan"}),st.resetZoomButton||yt||Lt===zt||Rt===Vt||!xt.match("y")||(st.showResetZoom(),Ct.displayBtn=!1),St=!0),kt[Ot]=Pt)}}),tt(kt,function(Ct,Ot){st[Ot]=Ct}),St&&st.redraw(!1),D(st.container,{cursor:"move"})})},ht}(),A(X.prototype,{callbacks:[],collectionsWithInit:{xAxis:[X.prototype.addAxis,[!0]],yAxis:[X.prototype.addAxis,[!1]],series:[X.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),X}),Mt($,"Core/Legend/LegendSymbol.js",[$["Core/Utilities.js"]],function(X){var rt,Q,Y=X.merge,et=X.pick;return(Q=rt||(rt={})).drawLineMarker=function(it){var K=this.options,W=it.symbolWidth,F=it.symbolHeight,I=F/2,L=this.chart.renderer,C=this.legendGroup;it=it.baseline-Math.round(.3*it.fontMetrics.b);var y={},S=K.marker;this.chart.styledMode||(y={"stroke-width":K.lineWidth||0},K.dashStyle&&(y.dashstyle=K.dashStyle)),this.legendLine=L.path([["M",0,it],["L",W,it]]).addClass("highcharts-graph").attr(y).add(C),S&&!1!==S.enabled&&W&&(K=Math.min(et(S.radius,I),I),0===this.symbol.indexOf("url")&&(S=Y(S,{width:F,height:F}),K=0),this.legendSymbol=W=L.symbol(this.symbol,W/2-K,it-K,2*K,2*K,S).addClass("highcharts-point").add(C),W.isMarker=!0)},Q.drawRectangle=function(it,K){var W=it.symbolHeight,F=it.options.squareSymbol;K.legendSymbol=this.chart.renderer.rect(F?(it.symbolWidth-W)/2:0,it.baseline-W+1,F?W:it.symbolWidth,W,et(it.options.symbolRadius,W/2)).addClass("highcharts-point").attr({zIndex:3}).add(K.legendGroup)},rt}),Mt($,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,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:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Mt($,"Core/Series/Series.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Point.js"],$["Core/Series/SeriesDefaults.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I){var L=X.animObject,C=X.setAnimation,y=Y.defaultOptions,S=et.registerEventOptions,M=rt.hasTouch,E=rt.svg,v=rt.win,k=W.seriesTypes,O=I.addEvent,P=I.arrayMax,g=I.arrayMin,c=I.clamp,u=I.cleanRecursively,o=I.correctFloat,m=I.defined,l=I.erase,b=I.error,n=I.extend,r=I.find,f=I.fireEvent,T=I.getNestedProperty,w=I.isArray,D=I.isNumber,d=I.isString,R=I.merge,a=I.objectEach,h=I.pick,A=I.removeEvent,j=I.splat,z=I.syncTimeout;return X=function(){function H(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return H.prototype.init=function(p,N){f(this,"init",{options:N});var _=this,G=p.series;this.eventsToUnbind=[],_.chart=p,_.options=_.setOptions(N),N=_.options,_.linkedSeries=[],_.bindAxes(),n(_,{name:N.name,state:"",visible:!1!==N.visible,selected:!0===N.selected}),S(this,N);var tt,U=N.events;(U&&U.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(p.runTrackerClick=!0),_.getColor(),_.getSymbol(),_.parallelArrays.forEach(function(J){_[J+"Data"]||(_[J+"Data"]=[])}),_.isCartesian&&(p.hasCartesianSeries=!0),G.length&&(tt=G[G.length-1]),_._i=h(tt&&tt._i,-1)+1,_.opacity=_.options.opacity,p.orderSeries(this.insert(G)),N.dataSorting&&N.dataSorting.enabled?_.setDataSortingOptions():_.points||_.data||_.setData(N.data,!1),f(this,"afterInit")},H.prototype.is=function(p){return k[p]&&this instanceof k[p]},H.prototype.insert=function(p){var _,N=this.options.index;if(D(N)){for(_=p.length;_--;)if(N>=h(p[_].options.index,p[_]._i)){p.splice(_+1,0,this);break}-1===_&&p.unshift(this),_+=1}else p.push(this);return h(_,p.length-1)},H.prototype.bindAxes=function(){var G,p=this,N=p.options,_=p.chart;f(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(U){var tt=0;_[U].forEach(function(J){G=J.options,(N[U]===tt&&!G.isInternal||void 0!==N[U]&&N[U]===G.id||void 0===N[U]&&0===G.index)&&(p.insert(J.series),p[U]=J,J.isDirty=!0),G.isInternal||tt++}),p[U]||p.optionalAxis===U||b(18,!0,_)})}),f(this,"afterBindAxes")},H.prototype.updateParallelArrays=function(p,N){var _=p.series,G=arguments,U=D(N)?function(tt){var J="y"===tt&&_.toYData?_.toYData(p):p[tt];_[tt+"Data"][N]=J}:function(tt){Array.prototype[N].apply(_[tt+"Data"],Array.prototype.slice.call(G,2))};_.parallelArrays.forEach(U)},H.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},H.prototype.autoIncrement=function(p){var J,N=this.options,_=N.pointIntervalUnit,G=N.relativeXValue,U=this.chart.time,tt=this.xIncrement;return tt=h(tt,N.pointStart,0),this.pointInterval=J=h(this.pointInterval,N.pointInterval,1),G&&D(p)&&(J*=p),_&&(N=new U.Date(tt),"day"===_?U.set("Date",N,U.get("Date",N)+J):"month"===_?U.set("Month",N,U.get("Month",N)+J):"year"===_&&U.set("FullYear",N,U.get("FullYear",N)+J),J=N.getTime()-tt),G&&D(p)?tt+J:(this.xIncrement=tt+J,tt)},H.prototype.setDataSortingOptions=function(){var p=this.options;n(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),m(p.pointRange)||(p.pointRange=1)},H.prototype.setOptions=function(p){var N=this.chart,_=N.options,G=_.plotOptions,U=N.userOptions||{};p=R(p),N=N.styledMode;var tt={plotOptions:G,userOptions:p};f(this,"setOptions",tt);var J=tt.plotOptions[this.type],ot=U.plotOptions||{};return this.userOptions=tt.userOptions,U=R(J,G.series,U.plotOptions&&U.plotOptions[this.type],p),this.tooltipOptions=R(y.tooltip,y.plotOptions.series&&y.plotOptions.series.tooltip,y.plotOptions[this.type].tooltip,_.tooltip.userOptions,G.series&&G.series.tooltip,G[this.type].tooltip,p.tooltip),this.stickyTracking=h(p.stickyTracking,ot[this.type]&&ot[this.type].stickyTracking,ot.series&&ot.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||U.stickyTracking),null===J.marker&&delete U.marker,this.zoneAxis=U.zoneAxis,G=this.zones=(U.zones||[]).slice(),!U.negativeColor&&!U.negativeFillColor||U.zones||(_={value:U[this.zoneAxis+"Threshold"]||U.threshold||0,className:"highcharts-negative"},N||(_.color=U.negativeColor,_.fillColor=U.negativeFillColor),G.push(_)),G.length&&m(G[G.length-1].value)&&G.push(N?{}:{color:this.color,fillColor:this.fillColor}),f(this,"afterSetOptions",{options:U}),U},H.prototype.getName=function(){return h(this.options.name,"Series "+(this.index+1))},H.prototype.getCyclic=function(p,N,_){var G=this.chart,U=this.userOptions,tt=p+"Index",J=p+"Counter",ot=_?_.length:h(G.options.chart[p+"Count"],G[p+"Count"]);if(!N){var at=h(U[tt],U["_"+tt]);m(at)||(G.series.length||(G[J]=0),U["_"+tt]=at=G[J]%ot,G[J]+=1),_&&(N=_[at])}void 0!==at&&(this[tt]=at),this[p]=N},H.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||y.plotOptions[this.type].color,this.chart.options.colors)},H.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},H.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},H.prototype.findPointIndex=function(p,N){var J,ot,_=p.id,G=p.x,U=this.points,tt=this.options.dataSorting;if(_)(tt=this.chart.get(_))instanceof it&&(J=tt);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(J=function(ft){return!ft.touched&&ft.index===p.index},tt&&tt.matchByName?J=function(ft){return!ft.touched&&ft.name===p.name}:this.options.relativeXValue&&(J=function(ft){return!ft.touched&&ft.options.x===p.x}),!(J=r(U,J))))return;if(J){var at=J&&J.index;void 0!==at&&(ot=!0)}return void 0===at&&D(G)&&(at=this.xData.indexOf(G,N)),-1!==at&&void 0!==at&&this.cropped&&(at=at>=this.cropStart?at-this.cropStart:at),!ot&&D(at)&&U[at]&&U[at].touched&&(at=void 0),at},H.prototype.updateData=function(p,N){var at,ft,mt,_=this.options,G=_.dataSorting,U=this.points,tt=[],J=this.requireSorting,ot=p.length===U.length,gt=!0;if(this.xIncrement=null,p.forEach(function(ut,ht){var V=m(ut)&&this.pointClass.prototype.optionsToObject.call({series:this},ut)||{};V.id||D(V.x)?(-1===(V=this.findPointIndex(V,mt))||void 0===V?tt.push(ut):U[V]&&ut!==_.data[V]?(U[V].update(ut,!1,null,!1),U[V].touched=!0,J&&(mt=V+1)):U[V]&&(U[V].touched=!0),(!ot||ht!==V||G&&G.enabled||this.hasDerivedData)&&(at=!0)):tt.push(ut)},this),at)for(p=U.length;p--;)(ft=U[p])&&!ft.touched&&ft.remove&&ft.remove(!1,N);else!ot||G&&G.enabled?gt=!1:(p.forEach(function(ut,ht){ut!==U[ht].y&&U[ht].update&&U[ht].update(ut,!1,null,!1)}),tt.length=0);return U.forEach(function(ut){ut&&(ut.touched=!1)}),!!gt&&(tt.forEach(function(ut){this.addPoint(ut,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=P(this.xData),this.autoIncrement()),!0)},H.prototype.setData=function(p,N,_,G){var U=this,tt=U.points,J=tt&&tt.length||0,ot=U.options,at=U.chart,ft=ot.dataSorting,mt=U.xAxis,gt=ot.turboThreshold,ut=this.xData,ht=this.yData,V=U.pointArrayMap;V=V&&V.length;var st,q=ot.keys,ct=0,dt=1,yt=null;if(!at.options.chart.allowMutatingData){ot.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data;var xt=R(!0,p)}if(xt=(p=xt||p||[]).length,N=h(N,!0),ft&&ft.enabled&&(p=this.sortData(p)),at.options.chart.allowMutatingData&&!1!==G&&xt&&J&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.isSeriesBoosting&&(st=this.updateData(p,_)),!st){if(U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(St){U[St+"Data"].length=0}),gt&&xt>gt)if(yt=U.getFirstValidPoint(p),D(yt))for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else if(w(yt))if(V)if(yt.length===V)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[0],ht[_]=G.slice(1,V+1);else if(q&&(ct=0<=(ct=q.indexOf("x"))?ct:0,dt=0<=(dt=q.indexOf("y"))?dt:1),1===yt.length&&(dt=0),ct===dt)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_][dt];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[ct],ht[_]=G[dt];else b(12,!1,at);else for(_=0;_<xt;_++)void 0!==p[_]&&(U.pointClass.prototype.applyOptions.apply(G={series:U},[p[_]]),U.updateParallelArrays(G,_));for(ht&&d(ht[0])&&b(14,!0,at),U.data=[],U.options.data=U.userOptions.data=p,_=J;_--;)tt[_]&&tt[_].destroy&&tt[_].destroy();mt&&(mt.minRange=mt.userMinRange),U.isDirty=at.isDirtyBox=!0,U.isDirtyData=!!tt,_=!1}"point"===ot.legendType&&(this.processData(),this.generatePoints()),N&&at.redraw(_)},H.prototype.sortData=function(p){var N=this,_=N.options.dataSorting.sortKey||"y",G=function(U,tt){return m(tt)&&U.pointClass.prototype.optionsToObject.call({series:U},tt)||{}};return p.forEach(function(U,tt){p[tt]=G(N,U),p[tt].index=tt},this),p.concat().sort(function(U,tt){return U=T(_,U),(tt=T(_,tt))<U?-1:tt>U?1:0}).forEach(function(U,tt){U.x=tt},this),N.linkedSeries&&N.linkedSeries.forEach(function(U){var tt=U.options,J=tt.data;tt.dataSorting&&tt.dataSorting.enabled||!J||(J.forEach(function(ot,at){J[at]=G(U,ot),p[at]&&(J[at].x=p[at].x,J[at].index=at)}),U.setData(J,!1))}),p},H.prototype.getProcessedData=function(p){var N=this.xAxis,_=this.options,G=_.cropThreshold,U=p||this.getExtremesFromAll||_.getExtremesFromAll,tt=this.isCartesian;p=N&&N.val2lin,_=!(!N||!N.logarithmic);var J=0,ot=this.xData,at=this.yData,ft=this.requireSorting,mt=!1,gt=ot.length;if(N){var ut=(mt=N.getExtremes()).min,ht=mt.max;mt=!(!N.categories||N.names.length)}if(tt&&this.sorted&&!U&&(!G||gt>G||this.forceCrop))if(ot[gt-1]<ut||ot[0]>ht)ot=[],at=[];else if(this.yData&&(ot[0]<ut||ot[gt-1]>ht)){var V=this.cropData(this.xData,this.yData,ut,ht);ot=V.xData,at=V.yData,J=V.start,V=!0}for(G=ot.length||1;--G;)if(0<(N=_?p(ot[G])-p(ot[G-1]):ot[G]-ot[G-1])&&(void 0===q||N<q))var q=N;else 0>N&&ft&&!mt&&(b(15,!1,this.chart),ft=!1);return{xData:ot,yData:at,cropped:V,cropStart:J,closestPointRange:q}},H.prototype.processData=function(p){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!p)return!1;p=this.getProcessedData(),this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,f(this,"afterProcessData")},H.prototype.cropData=function(p,N,_,G,U){var J,tt=p.length,ot=0,at=tt;for(U=h(U,this.cropShoulder),J=0;J<tt;J++)if(p[J]>=_){ot=Math.max(0,J-U);break}for(_=J;_<tt;_++)if(p[_]>G){at=_+U;break}return{xData:p.slice(ot,at),yData:N.slice(ot,at),start:ot,end:at}},H.prototype.generatePoints=function(){var p=this.options,N=this.processedData||p.data,_=this.processedXData,G=this.processedYData,U=this.pointClass,tt=_.length,J=this.cropStart||0,ot=this.hasGroupedData,at=p.keys,ft=[];p=p.dataGrouping&&p.dataGrouping.groupAll?J:0;var mt,gt,ut=this.data;if(!ut&&!ot){var ht=[];ht.length=N.length,ut=this.data=ht}for(at&&ot&&(this.options.keys=!1),gt=0;gt<tt;gt++){if(ht=J+gt,ot){var V=(new U).init(this,[_[gt]].concat(j(G[gt])));V.dataGroup=this.groupMap[p+gt],V.dataGroup.options&&(V.options=V.dataGroup.options,n(V,V.dataGroup.options),delete V.dataLabels)}else(V=ut[ht])||void 0===N[ht]||(ut[ht]=V=(new U).init(this,N[ht],_[gt]));V&&(V.index=ot?p+gt:ht,ft[gt]=V)}if(this.options.keys=at,ut&&(tt!==(mt=ut.length)||ot))for(gt=0;gt<mt;gt++)gt!==J||ot||(gt+=tt),ut[gt]&&(ut[gt].destroyElements(),ut[gt].plotX=void 0);this.data=ut,this.points=ft,f(this,"afterGeneratePoints")},H.prototype.getXExtremes=function(p){return{min:g(p),max:P(p)}},H.prototype.getExtremes=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.processedXData||this.xData,tt=[],J=this.requireSorting?this.cropShoulder:0;G=!!G&&G.positiveValuesOnly;var ot,at=0,ft=0,mt=0,gt=(p=p||this.stackedYData||this.processedYData||[]).length;if(_){var ut=_.getExtremes();at=ut.min,ft=ut.max}for(ot=0;ot<gt;ot++){var ht=U[ot],V=(D(ut=p[ot])||w(ut))&&(ut.length||0<ut||!G);if(ht=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!_||(U[ot+J]||ht)>=at&&(U[ot-J]||ht)<=ft,V&&ht)if(V=ut.length)for(;V--;)D(ut[V])&&(tt[mt++]=ut[V]);else tt[mt++]=ut}return p={activeYData:tt,dataMin:g(tt),dataMax:P(tt)},f(this,"afterGetExtremes",{dataExtremes:p}),p},H.prototype.applyExtremes=function(){var p=this.getExtremes();return this.dataMin=p.dataMin,this.dataMax=p.dataMax,p},H.prototype.getFirstValidPoint=function(p){for(var N=p.length,_=0,G=null;null===G&&_<N;)G=p[_],_++;return G},H.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var ht,V,p=this.options,N=p.stacking,_=this.xAxis,G=_.categories,U=this.enabledDataSorting,tt=this.yAxis,J=this.points,ot=J.length,at=this.pointPlacementToXValue(),ft=!!at,mt=p.threshold,gt=p.startFromThreshold?mt:0,ut=this.zoneAxis||"y",q=Number.MAX_VALUE;for(ht=0;ht<ot;ht++){var st=J[ht],ct=st.x,dt=void 0,yt=void 0,xt=st.y,St=st.low,Et=N&&tt.stacking&&tt.stacking.stacks[(this.negStacks&&xt<(gt?0:mt)?"-":"")+this.stackKey];if((tt.positiveValuesOnly&&!tt.validatePositiveValue(xt)||_.positiveValuesOnly&&!_.validatePositiveValue(ct))&&(st.isNull=!0),st.plotX=V=o(c(_.translate(ct,0,0,0,1,at,"flags"===this.type),-1e5,1e5)),N&&this.visible&&Et&&Et[ct]){var kt=this.getStackIndicator(kt,ct,this.index);st.isNull||(yt=(dt=Et[ct]).points[kt.key])}if(w(yt)&&(xt=yt[1],(St=yt[0])===gt&&kt.key===Et[ct].base&&(St=h(D(mt)&&mt,tt.min)),tt.positiveValuesOnly&&0>=St&&(St=null),st.total=st.stackTotal=dt.total,st.percentage=dt.total&&st.y/dt.total*100,st.stackY=xt,this.irregularWidths||dt.setOffset(this.pointXOffset||0,this.barW||0)),st.yBottom=m(St)?c(tt.translate(St,0,1,0,1),-1e5,1e5):null,this.dataModify&&(xt=this.dataModify.modifyValue(xt,ht)),st.plotY=void 0,D(xt)&&void 0!==(dt=tt.translate(xt,!1,!0,!1,!0))&&(st.plotY=c(dt,-1e5,1e5)),st.isInside=this.isPointInside(st),st.clientX=ft?o(_.translate(ct,0,0,0,1,at)):V,st.negative=st[ut]<(p[ut+"Threshold"]||mt||0),st.category=h(G&&G[st.x],st.x),!st.isNull&&!1!==st.visible){void 0!==Ct&&(q=Math.min(q,Math.abs(V-Ct)));var Ct=V}st.zone=this.zones.length?st.getZone():void 0,!st.graphic&&this.group&&U&&(st.isNew=!0)}this.closestPointRangePx=q,f(this,"afterTranslate")},H.prototype.getValidPoints=function(p,N,_){var G=this.chart;return(p||this.points||[]).filter(function(U){return!(N&&!G.isInsidePlot(U.plotX,U.plotY,{inverted:G.inverted}))&&!1!==U.visible&&(_||!U.isNull)})},H.prototype.getClipBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis,G=R(p.clipBox);return N&&N.len!==p.plotSizeX&&(G.width=N.len),_&&_.len!==p.plotSizeY&&(G.height=_.len),G},H.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)},H.prototype.setClip=function(){var p=this.chart,N=this.group,_=this.markerGroup,G=p.sharedClips;p=p.renderer;var U=this.getClipBox(),tt=this.getSharedClipKey(),J=G[tt];J?J.animate(U):G[tt]=J=p.clipRect(U),N&&N.clip(!1===this.options.clip?void 0:J),_&&_.clip()},H.prototype.animate=function(p){var N=this.chart,_=this.group,G=this.markerGroup,U=N.inverted,tt=L(this.options.animation),J=[this.getSharedClipKey(),tt.duration,tt.easing,tt.defer].join(),ot=N.sharedClips[J],at=N.sharedClips[J+"m"];if(p&&_)tt=this.getClipBox(),ot?ot.attr("height",tt.height):(tt.width=0,U&&(tt.x=N.plotHeight),ot=N.renderer.clipRect(tt),N.sharedClips[J]=ot,at=N.renderer.clipRect({x:U?(N.plotSizeX||0)+99:-99,y:U?-N.plotLeft:-N.plotTop,width:99,height:U?N.chartWidth:N.chartHeight}),N.sharedClips[J+"m"]=at),_.clip(ot),G&&G.clip(at);else if(ot&&!ot.hasClass("highcharts-animating")){N=this.getClipBox();var ft=tt.step;G&&G.element.childNodes.length&&(tt.step=function(mt,gt){ft&&ft.apply(gt,arguments),at&&at.element&&at.attr(gt.prop,"width"===gt.prop?mt+99:mt)}),ot.addClass("highcharts-animating").animate(N,tt)}},H.prototype.afterAnimate=function(){var p=this;this.setClip(),a(this.chart.sharedClips,function(N,_,G){N&&!p.chart.container.querySelector('[clip-path="url(#'+N.id+')"]')&&(N.destroy(),delete G[_])}),this.finishedAnimating=!0,f(this,"afterAnimate")},H.prototype.drawPoints=function(){var J,ot,p=this.points,N=this.chart,_=this.options.marker,G=this[this.specialGroup]||this.markerGroup,U=this.xAxis,tt=h(_.enabled,!(U&&!U.isRadial)||null,this.closestPointRangePx>=_.enabledThreshold*_.radius);if(!1!==_.enabled||this._hasPointMarkers)for(J=0;J<p.length;J++){var at=p[J],ft=(ot=at.graphic)?"animate":"attr",mt=at.marker||{},gt=!!at.marker;if((tt&&void 0===mt.enabled||mt.enabled)&&!at.isNull&&!1!==at.visible){var ut=h(mt.symbol,this.symbol,"rect"),ht=this.markerAttribs(at,at.selected&&"select");this.enabledDataSorting&&(at.startXPos=U.reversed?-(ht.width||0):U.width);var V=!1!==at.isInside;ot?ot[V?"show":"hide"](V).animate(ht):V&&(0<(ht.width||0)||at.hasImage)&&(at.graphic=ot=N.renderer.symbol(ut,ht.x,ht.y,ht.width,ht.height,gt?mt:_).add(G),this.enabledDataSorting&&N.hasRendered&&(ot.attr({x:at.startXPos}),ft="animate")),ot&&"animate"===ft&&ot[V?"show":"hide"](V).animate(ht),ot&&!N.styledMode&&ot[ft](this.pointAttribs(at,at.selected&&"select")),ot&&ot.addClass(at.getClassName(),!0)}else ot&&(at.graphic=ot.destroy())}},H.prototype.markerAttribs=function(p,N){var _=this.options,G=_.marker,U=p.marker||{},tt=U.symbol||G.symbol,J=h(U.radius,G&&G.radius);return N&&(G=G.states[N],J=h((N=U.states&&U.states[N])&&N.radius,G&&G.radius,J&&J+(G&&G.radiusPlus||0))),p.hasImage=tt&&0===tt.indexOf("url"),p.hasImage&&(J=0),p=D(J)?{x:_.crisp?Math.floor(p.plotX-J):p.plotX-J,y:p.plotY-J}:{},J&&(p.width=p.height=2*J),p},H.prototype.pointAttribs=function(p,N){var _=this.options.marker,G=p&&p.options,U=G&&G.marker||{},tt=G&&G.color,J=p&&p.color,ot=p&&p.zone&&p.zone.color,at=this.color;return p=h(U.lineWidth,_.lineWidth),G=1,at=tt||ot||J||at,tt=U.fillColor||_.fillColor||at,J=U.lineColor||_.lineColor||at,_=_.states[N=N||"normal"]||{},p=h((N=U.states&&U.states[N]||{}).lineWidth,_.lineWidth,p+h(N.lineWidthPlus,_.lineWidthPlus,0)),{stroke:J=N.lineColor||_.lineColor||J,"stroke-width":p,fill:tt=N.fillColor||_.fillColor||tt,opacity:G=h(N.opacity,_.opacity,G)}},H.prototype.destroy=function(p){var J,ot,at,N=this,_=N.chart,G=/AppleWebKit\/533/.test(v.navigator.userAgent),U=N.data||[];for(f(N,"destroy",{keepEventsForUpdate:p}),this.removeEvents(p),(N.axisTypes||[]).forEach(function(ft){(at=N[ft])&&at.series&&(l(at.series,N),at.isDirty=at.forceRedraw=!0)}),N.legendItem&&N.chart.legend.destroyItem(N),J=U.length;J--;)(ot=U[J])&&ot.destroy&&ot.destroy();N.clips&&N.clips.forEach(function(ft){return ft.destroy()}),I.clearTimeout(N.animationTimeout),a(N,function(ft,mt){ft instanceof F&&!ft.survive&&ft[G&&"group"===mt?"hide":"destroy"]()}),_.hoverSeries===N&&(_.hoverSeries=void 0),l(_.series,N),_.orderSeries(),a(N,function(ft,mt){p&&"hcEvents"===mt||delete N[mt]})},H.prototype.applyZones=function(){var mt,gt,ut,ht,V,q,st,ct,p=this,N=this.chart,_=N.renderer,G=this.zones,U=this.clips||[],tt=this.graph,J=this.area,ot=Math.max(N.chartWidth,N.chartHeight),at=this[(this.zoneAxis||"y")+"Axis"],ft=N.inverted,dt=!1;if(G.length&&(tt||J)&&at&&void 0!==at.min){var yt=at.reversed,xt=at.horiz;tt&&!this.showLine&&tt.hide(),J&&J.hide();var St=at.getExtremes();G.forEach(function(Et,kt){mt=yt?xt?N.plotWidth:0:xt?0:at.toPixels(St.min)||0,mt=c(h(gt,mt),0,ot),gt=c(Math.round(at.toPixels(h(Et.value,St.max),!0)||0),0,ot),dt&&(mt=gt=at.toPixels(St.max)),ht=Math.abs(mt-gt),V=Math.min(mt,gt),q=Math.max(mt,gt),at.isXAxis?(ut={x:ft?q:V,y:0,width:ht,height:ot},xt||(ut.x=N.plotHeight-ut.x)):(ut={x:0,y:ft?q:V,width:ot,height:ht},xt&&(ut.y=N.plotWidth-ut.y)),ft&&_.isVML&&(ut=at.isXAxis?{x:0,y:yt?V:q,height:ut.width,width:N.chartWidth}:{x:ut.y-N.plotLeft-N.spacingBox.x,y:0,width:ut.height,height:N.chartHeight}),U[kt]?U[kt].animate(ut):U[kt]=_.clipRect(ut),st=p["zone-area-"+kt],ct=p["zone-graph-"+kt],tt&&ct&&ct.clip(U[kt]),J&&st&&st.clip(U[kt]),dt=Et.value>St.max,p.resetZones&&0===gt&&(gt=void 0)}),this.clips=U}else p.visible&&(tt&&tt.show(),J&&J.show())},H.prototype.invertGroups=function(p){function N(){["group","markerGroup"].forEach(function(U){_[U]&&(G.renderer.isVML&&_[U].attr({width:_.yAxis.len,height:_.xAxis.len}),_[U].width=_.yAxis.len,_[U].height=_.xAxis.len,_[U].invert(!_.isRadialSeries&&p))})}var _=this,G=_.chart;_.xAxis&&(_.eventsToUnbind.push(O(G,"resize",N)),N(),_.invertGroups=N)},H.prototype.plotGroup=function(p,N,_,G,U){var tt=this[p],J=!tt;return _={visibility:_,zIndex:G||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(_.opacity=this.opacity),J&&(this[p]=tt=this.chart.renderer.g().add(U)),tt.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(m(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(tt.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),tt.attr(_)[J?"attr":"animate"](this.getPlotBox()),tt},H.prototype.getPlotBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis;return p.inverted&&(N=_,_=this.xAxis),{translateX:N?N.left:p.plotLeft,translateY:_?_.top:p.plotTop,scaleX:1,scaleY:1}},H.prototype.removeEvents=function(p){p||A(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(N){N()}),this.eventsToUnbind.length=0)},H.prototype.render=function(){var p=this,N=p.chart,_=p.options,G=L(_.animation),U=p.visible?"inherit":"hidden",tt=_.zIndex,J=p.hasRendered,ot=N.seriesGroup,at=N.inverted;N=!p.finishedAnimating&&N.renderer.isSVG?G.duration:0,f(this,"render");var ft=p.plotGroup("group","series",U,tt,ot);p.markerGroup=p.plotGroup("markerGroup","markers",U,tt,ot),!1!==_.clip&&p.setClip(),p.animate&&N&&p.animate(!0),ft.inverted=!!h(p.invertible,p.isCartesian)&&at,p.drawGraph&&(p.drawGraph(),p.applyZones()),p.visible&&p.drawPoints(),p.drawDataLabels&&p.drawDataLabels(),p.redrawPoints&&p.redrawPoints(),p.drawTracker&&!1!==p.options.enableMouseTracking&&p.drawTracker(),p.invertGroups(at),p.animate&&N&&p.animate(),J||(N&&G.defer&&(N+=G.defer),p.animationTimeout=z(function(){p.afterAnimate()},N||0)),p.isDirty=!1,p.hasRendered=!0,f(p,"afterRender")},H.prototype.redraw=function(){var p=this.chart,N=this.isDirty||this.isDirtyData,_=this.group,G=this.xAxis,U=this.yAxis;_&&(p.inverted&&_.attr({width:p.plotWidth,height:p.plotHeight}),_.animate({translateX:h(G&&G.left,p.plotLeft),translateY:h(U&&U.top,p.plotTop)})),this.translate(),this.render(),N&&delete this.kdTree},H.prototype.searchPoint=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.chart.inverted;return this.searchKDTree({clientX:U?_.len-p.chartY+_.pos:p.chartX-_.pos,plotY:U?G.len-p.chartX+G.pos:p.chartY-G.pos},N,p)},H.prototype.buildKDTree=function(p){function N(U,tt,J){var ot=U&&U.length;if(ot){var at=_.kdAxisArray[tt%J];return U.sort(function(ft,mt){return ft[at]-mt[at]}),{point:U[ot=Math.floor(ot/2)],left:N(U.slice(0,ot),tt+1,J),right:N(U.slice(ot+1),tt+1,J)}}}this.buildingKdTree=!0;var _=this,G=-1<_.options.findNearestPointBy.indexOf("y")?2:1;delete _.kdTree,z(function(){_.kdTree=N(_.getValidPoints(null,!_.directTouch),G,G),_.buildingKdTree=!1},_.options.kdNow||p&&"touchstart"===p.type?0:1)},H.prototype.searchKDTree=function(p,N,_){var U=this,tt=this.kdAxisArray[0],J=this.kdAxisArray[1],ot=N?"distX":"dist";if(N=-1<U.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(_),this.kdTree)return function G(at,ft,mt,gt){var ut=ft.point,ht=U.kdAxisArray[mt%gt],V=ut,q=m(at[tt])&&m(ut[tt])?Math.pow(at[tt]-ut[tt],2):null,st=m(at[J])&&m(ut[J])?Math.pow(at[J]-ut[J],2):null;return ut.dist=m(st=(q||0)+(st||0))?Math.sqrt(st):Number.MAX_VALUE,ut.distX=m(q)?Math.sqrt(q):Number.MAX_VALUE,q=0>(ht=at[ht]-ut[ht])?"right":"left",ft[st=0>ht?"left":"right"]&&(V=(st=G(at,ft[st],mt+1,gt))[ot]<V[ot]?st:ut),ft[q]&&Math.sqrt(ht*ht)<V[ot]&&(V=(at=G(at,ft[q],mt+1,gt))[ot]<V[ot]?at:V),V}(p,this.kdTree,N,N)},H.prototype.pointPlacementToXValue=function(){var p=this.options,N=p.pointRange,_=this.xAxis;return"between"===(p=p.pointPlacement)&&(p=_.reversed?-.5:.5),D(p)?p*(N||_.pointRange):0},H.prototype.isPointInside=function(p){var N=this.chart,_=this.xAxis,G=this.yAxis;return void 0!==p.plotY&&void 0!==p.plotX&&0<=p.plotY&&p.plotY<=(G?G.len:N.plotHeight)&&0<=p.plotX&&p.plotX<=(_?_.len:N.plotWidth)},H.prototype.drawTracker=function(){var p=this,N=p.options,_=N.trackByArea,G=[].concat(_?p.areaPath:p.graphPath),U=p.chart,tt=U.pointer,J=U.renderer,ot=U.options.tooltip.snap,at=p.tracker,ft=function(gt){U.hoverSeries!==p&&p.onMouseOver()},mt="rgba(192,192,192,"+(E?1e-4:.002)+")";at?at.attr({d:G}):p.graph&&(p.tracker=J.path(G).attr({visibility:p.visible?"inherit":"hidden",zIndex:2}).addClass(_?"highcharts-tracker-area":"highcharts-tracker-line").add(p.group),U.styledMode||p.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:mt,fill:_?mt:"none","stroke-width":p.graph.strokeWidth()+(_?0:2*ot)}),[p.tracker,p.markerGroup,p.dataLabelsGroup].forEach(function(gt){gt&&(gt.addClass("highcharts-tracker").on("mouseover",ft).on("mouseout",function(ut){tt.onTrackerMouseOut(ut)}),N.cursor&&!U.styledMode&&gt.css({cursor:N.cursor}),M)&&gt.on("touchstart",ft)})),f(this,"afterDrawTracker")},H.prototype.addPoint=function(p,N,_,G,U){var tt=this.options,J=this.data,ot=this.chart,at=this.xAxis;at=at&&at.hasNames&&at.names;var gt,ft=tt.data,mt=this.xData;N=h(N,!0);var ut={series:this};this.pointClass.prototype.applyOptions.apply(ut,[p]);var ht=ut.x,V=mt.length;if(this.requireSorting&&ht<mt[V-1])for(gt=!0;V&&mt[V-1]>ht;)V--;this.updateParallelArrays(ut,"splice",V,0,0),this.updateParallelArrays(ut,V),at&&ut.name&&(at[ht]=ut.name),ft.splice(V,0,p),(gt||this.processedData)&&(this.data.splice(V,0,null),this.processData()),"point"===tt.legendType&&this.generatePoints(),_&&(J[0]&&J[0].remove?J[0].remove(!1):(J.shift(),this.updateParallelArrays(ut,"shift"),ft.shift())),!1!==U&&f(this,"addPoint",{point:ut}),this.isDirtyData=this.isDirty=!0,N&&ot.redraw(G)},H.prototype.removePoint=function(p,N,_){var G=this,U=G.data,tt=U[p],J=G.points,ot=G.chart,at=function(){J&&J.length===U.length&&J.splice(p,1),U.splice(p,1),G.options.data.splice(p,1),G.updateParallelArrays(tt||{series:G},"splice",p,1),tt&&tt.destroy(),G.isDirty=!0,G.isDirtyData=!0,N&&ot.redraw()};C(_,ot),N=h(N,!0),tt?tt.firePointEvent("remove",null,at):at()},H.prototype.remove=function(p,N,_,G){function U(){tt.destroy(G),J.isDirtyLegend=J.isDirtyBox=!0,J.linkSeries(),h(p,!0)&&J.redraw(N)}var tt=this,J=tt.chart;!1!==_?f(tt,"remove",null,U):U()},H.prototype.update=function(p,N){p=u(p,this.userOptions),f(this,"update",{options:p});var mt,_=this,G=_.chart,U=_.userOptions,tt=_.initialType||_.type,J=G.options.plotOptions,ot=k[tt].prototype,at=_.finishedAnimating&&{animation:!1},ft={},gt=["eventOptions","navigatorSeries","baseSeries"],ut=p.type||U.type||G.options.chart.type,ht=!(this.hasDerivedData||ut&&ut!==this.type||void 0!==p.pointStart||void 0!==p.pointInterval||void 0!==p.relativeXValue||p.joinBy||p.mapData||_.hasOptionChanged("dataGrouping")||_.hasOptionChanged("pointStart")||_.hasOptionChanged("pointInterval")||_.hasOptionChanged("pointIntervalUnit")||_.hasOptionChanged("keys"));if(ut=ut||tt,ht&&(gt.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==p.visible&&gt.push("area","graph"),_.parallelArrays.forEach(function(q){gt.push(q+"Data")}),p.data&&(p.dataSorting&&n(_.options.dataSorting,p.dataSorting),this.setData(p.data,!1))),p=R(U,at,{index:void 0===U.index?_.index:U.index,pointStart:h(J&&J.series&&J.series.pointStart,U.pointStart,_.xData[0])},!ht&&{data:_.options.data},p),ht&&p.data&&(p.data=_.options.data),(gt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(gt)).forEach(function(q){gt[q]=_[q],delete _[q]}),J=!1,k[ut]){if(J=ut!==_.type,_.remove(!1,!1,!1,!0),J)if(Object.setPrototypeOf)Object.setPrototypeOf(_,k[ut].prototype);else{for(mt in at=Object.hasOwnProperty.call(_,"hcEvents")&&_.hcEvents,ot)_[mt]=void 0;n(_,k[ut].prototype),at?_.hcEvents=at:delete _.hcEvents}}else b(17,!0,G,{missingModuleFor:ut});if(gt.forEach(function(q){_[q]=gt[q]}),_.init(G,p),ht&&this.points){var V=_.options;!1===V.visible?(ft.graphic=1,ft.dataLabel=1):_._hasPointLabels||(ot=V.dataLabels,!(p=V.marker)||!1!==p.enabled&&(U.marker&&U.marker.symbol)===p.symbol||(ft.graphic=1),ot&&!1===ot.enabled&&(ft.dataLabel=1)),this.points.forEach(function(q){q&&q.series&&(q.resolveColor(),Object.keys(ft).length&&q.destroyElements(ft),!1===V.showInLegend&&q.legendItem&&G.legend.destroyItem(q))},this)}_.initialType=tt,G.linkSeries(),J&&_.linkedSeries.length&&(_.isDirtyData=!0),f(this,"afterUpdate"),h(N,!0)&&G.redraw(!!ht&&void 0)},H.prototype.setName=function(p){this.name=this.options.name=this.userOptions.name=p,this.chart.isDirtyLegend=!0},H.prototype.hasOptionChanged=function(p){var N=this.options[p],_=this.chart.options.plotOptions,G=this.userOptions[p];return G?N!==G:N!==h(_&&_[this.type]&&_[this.type][p],_&&_.series&&_.series[p],N)},H.prototype.onMouseOver=function(){var p=this.chart,N=p.hoverSeries;p.pointer.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&f(this,"mouseOver"),this.setState("hover"),p.hoverSeries=this},H.prototype.onMouseOut=function(){var p=this.options,N=this.chart,_=N.tooltip,G=N.hoverPoint;N.hoverSeries=null,G&&G.onMouseOut(),this&&p.events.mouseOut&&f(this,"mouseOut"),!_||this.stickyTracking||_.shared&&!this.noSharedTooltip||_.hide(),N.series.forEach(function(U){U.setState("",!0)})},H.prototype.setState=function(p,N){var _=this,G=_.options,U=_.graph,tt=G.inactiveOtherPoints,J=G.states,ot=h(J[p||"normal"]&&J[p||"normal"].animation,_.chart.options.chart.animation),at=G.lineWidth,ft=0,mt=G.opacity;if(_.state!==(p=p||"")&&([_.group,_.markerGroup,_.dataLabelsGroup].forEach(function(gt){gt&&(_.state&&gt.removeClass("highcharts-series-"+_.state),p&&gt.addClass("highcharts-series-"+p))}),_.state=p,!_.chart.styledMode)){if(J[p]&&!1===J[p].enabled)return;if(p&&(at=J[p].lineWidth||at+(J[p].lineWidthPlus||0),mt=h(J[p].opacity,mt)),U&&!U.dashstyle)for(U.animate(G={"stroke-width":at},ot);_["zone-graph-"+ft];)_["zone-graph-"+ft].animate(G,ot),ft+=1;tt||[_.group,_.markerGroup,_.dataLabelsGroup,_.labelBySeries].forEach(function(gt){gt&&gt.animate({opacity:mt},ot)})}N&&tt&&_.points&&_.setAllPointsToState(p||void 0)},H.prototype.setAllPointsToState=function(p){this.points.forEach(function(N){N.setState&&N.setState(p)})},H.prototype.setVisible=function(p,N){var _=this,G=_.chart,U=_.legendItem,tt=G.options.chart.ignoreHiddenSeries,ot=(_.visible=p=_.options.visible=_.userOptions.visible=void 0===p?!_.visible:p)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(at){_[at]&&_[at][ot]()}),(G.hoverSeries===_||(G.hoverPoint&&G.hoverPoint.series)===_)&&_.onMouseOut(),U&&G.legend.colorizeItem(_,p),_.isDirty=!0,_.options.stacking&&G.series.forEach(function(at){at.options.stacking&&at.visible&&(at.isDirty=!0)}),_.linkedSeries.forEach(function(at){at.setVisible(p,!1)}),tt&&(G.isDirtyBox=!0),f(_,ot),!1!==N&&G.redraw()},H.prototype.show=function(){this.setVisible(!0)},H.prototype.hide=function(){this.setVisible(!1)},H.prototype.select=function(p){this.selected=p=this.options.selected=void 0===p?!this.selected:p,this.checkbox&&(this.checkbox.checked=p),f(this,p?"select":"unselect")},H.prototype.shouldShowTooltip=function(p,N,_){return void 0===_&&(_={}),_.series=this,_.visiblePlotOnly=!0,this.chart.isInsidePlot(p,N,_)},H.defaultOptions=K,H}(),n(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:Q.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:it,requireSorting:!0,sorted:!0}),W.series=X,X}),Mt($,"Extensions/ScrollablePlotArea.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.stop,W=it.addEvent,F=it.createElement,I=it.merge,L=it.pick;W(et,"afterSetChartSize",function(C){var y=this.options.chart.scrollablePlotArea,S=y&&y.minWidth;if(y=y&&y.minHeight,!this.renderer.forExport){if(S){if(this.scrollablePixelsX=S=Math.max(0,S-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.width=this.plotWidth+=S,this.inverted?this.clipBox.height+=S:this.clipBox.width+=S;var M={1:{name:"right",value:S}}}}else y&&(this.scrollablePixelsY=S=Math.max(0,y-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.height=this.plotHeight+=S,this.inverted?this.clipBox.width+=S:this.clipBox.height+=S,M={2:{name:"bottom",value:S}});M&&!C.skipAxes&&this.axes.forEach(function(E){M[E.side]?E.getPlotLinePath=function(){var v=M[E.side].name,k=this[v];this[v]=k-M[E.side].value;var O=Y.prototype.getPlotLinePath.apply(this,arguments);return this[v]=k,O}:(E.setAxisSize(),E.setAxisTranslation())})}}),W(et,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),et.prototype.setUpScrolling=function(){var C=this,y={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(y.overflowX="auto"),this.scrollablePixelsY&&(y.overflowY="auto"),this.scrollingParent=F("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=F("div",{className:"highcharts-scrolling"},y,this.scrollingParent),W(this.scrollingContainer,"scroll",function(){C.pointer&&delete C.pointer.chartPosition}),this.innerContainer=F("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},et.prototype.moveFixedElements=function(){var M,C=this.container,y=this.fixedRenderer,S=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?M=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?M=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(M=".highcharts-yaxis"),M&&S.push(M+":not(.highcharts-radial-axis)",M+"-labels:not(.highcharts-radial-axis-labels)"),S.forEach(function(E){[].forEach.call(C.querySelectorAll(E),function(v){(v.namespaceURI===y.SVG_NS?y.box:y.box.parentNode).appendChild(v),v.style.pointerEvents="auto"})})},et.prototype.applyFixed=function(){var C=!this.fixedDiv,y=this.options.chart,S=y.scrollablePlotArea,M=Q.getRendererType();C?(this.fixedDiv=F("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(y.style&&y.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new M(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=y.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":L(S.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),W(this,"afterShowResetZoom",this.moveFixedElements),W(this,"afterApplyDrilldown",this.moveFixedElements),W(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||C)&&(this.scrollableDirty=!1,this.moveFixedElements()),y=this.chartWidth+(this.scrollablePixelsX||0),M=this.chartHeight+(this.scrollablePixelsY||0),K(this.container),this.container.style.width=y+"px",this.container.style.height=M+"px",this.renderer.boxWrapper.attr({width:y,height:M,viewBox:[0,0,y,M].join(" ")}),this.chartBackground.attr({width:y,height:M}),this.scrollingContainer.style.height=this.chartHeight+"px",C&&(S.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*S.scrollPositionX),S.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*S.scrollPositionY)),C=this.plotTop-(M=this.axisOffset)[0]-1,S=this.plotLeft-M[3]-1,y=this.plotTop+this.plotHeight+M[2]+1,M=this.plotLeft+this.plotWidth+M[1]+1;var E=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),v=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);C=this.scrollablePixelsX?[["M",0,C],["L",this.plotLeft-1,C],["L",this.plotLeft-1,y],["L",0,y],["Z"],["M",E,C],["L",this.chartWidth,C],["L",this.chartWidth,y],["L",E,y],["Z"]]:this.scrollablePixelsY?[["M",S,0],["L",S,this.plotTop-1],["L",M,this.plotTop-1],["L",M,0],["Z"],["M",S,v],["L",S,this.chartHeight],["L",M,this.chartHeight],["L",M,v],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:C})},W(Y,"afterInit",function(){this.chart.scrollableDirty=!0}),W(rt,"show",function(){this.chart.scrollableDirty=!0})}),Mt($,"Core/Axis/StackingAxis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Utilities.js"]],function(X,Y,et){var I,rt=X.getDeferredAnimation,Q=et.addEvent,it=et.destroyObjectProperties,K=et.fireEvent,W=et.isNumber,F=et.objectEach;return function(L){function C(){var E=this.stacking;if(E){var v=E.stacks;F(v,function(k,O){it(k),v[O]=null}),E&&E.stackTotalGroup&&E.stackTotalGroup.destroy()}}function y(){this.stacking||(this.stacking=new M(this))}var S=[];L.compose=function(E){return-1===S.indexOf(E)&&(S.push(E),Q(E,"init",y),Q(E,"destroy",C)),E};var M=function(){function E(v){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=v}return E.prototype.buildStacks=function(){var g,v=this.axis,k=v.series,O=v.options.reversedStacks,P=k.length;if(!v.isXAxis){for(this.usePercentage=!1,g=P;g--;){var c=k[O?g:P-g-1];c.setStackedPoints(),c.setGroupedPoints()}for(g=0;g<P;g++)k[g].modifyStacks();K(v,"afterBuildStacks")}},E.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var v=this.stacks=this.oldStacks;F(v,function(k){F(k,function(O){O.cumulative=O.total})})}},E.prototype.resetStacks=function(){var v=this;v.axis.isXAxis||F(v.stacks,function(O){F(O,function(P,g){W(P.touched)&&P.touched<v.stacksTouched?(P.destroy(),delete O[g]):(P.total=null,P.cumulative=null)})})},E.prototype.renderStackTotals=function(){var v=this.axis,k=v.chart,O=k.renderer,P=this.stacks;v=rt(k,v.options.stackLabels&&v.options.stackLabels.animation||!1);var g=this.stackTotalGroup=this.stackTotalGroup||O.g("stack-labels").attr({zIndex:6,opacity:0}).add();g.translate(k.plotLeft,k.plotTop),F(P,function(c){F(c,function(u){u.render(g)})}),g.animate({opacity:1},v)},E}();L.Additions=M}(I||(I={})),I}),Mt($,"Extensions/Stacking.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Axis/StackingAxis.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var W=et.format,F=K.correctFloat,I=K.defined,L=K.destroyObjectProperties,C=K.isArray,y=K.isNumber,S=K.objectEach,M=K.pick,E=function(){function v(k,O,P,g,c){var u=k.chart.inverted;this.axis=k,this.isNegative=P,this.options=O=O||{},this.x=g,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=c,this.rightCliff=this.leftCliff=0,this.alignOptions={align:O.align||(u?P?"left":"right":"center"),verticalAlign:O.verticalAlign||(u?"middle":P?"bottom":"top"),y:O.y,x:O.x},this.textAlign=O.textAlign||(u?P?"right":"left":"center")}return v.prototype.destroy=function(){L(this,this.axis)},v.prototype.render=function(k){var O=this.axis.chart,P=this.options,g=P.format;g=g?W(g,this,O):P.formatter.call(this),this.label?this.label.attr({text:g,visibility:"hidden"}):(this.label=O.renderer.label(g,null,null,P.shape,null,null,P.useHTML,!1,"stack-labels"),g={r:P.borderRadius||0,text:g,rotation:P.rotation,padding:M(P.padding,5),visibility:"hidden"},O.styledMode||(g.fill=P.backgroundColor,g.stroke=P.borderColor,g["stroke-width"]=P.borderWidth,this.label.css(P.style)),this.label.attr(g),this.label.added||this.label.add(k)),this.label.labelrank=O.plotSizeY},v.prototype.setOffset=function(k,O,P,g,c){var u=this.axis,o=u.chart;g=u.translate(u.stacking.usePercentage?100:g||this.total,0,0,0,1),P=u.translate(P||0),P=I(g)&&Math.abs(g-P),k=M(c,o.xAxis[0].translate(this.x))+k,u=I(g)&&this.getStackBox(o,this,k,g,O,P,u),O=this.label,P=this.isNegative,k="justify"===M(this.options.overflow,"justify");var m=this.textAlign;O&&u&&(c=O.getBBox(),g=O.padding,m="left"===m?o.inverted?-g:g:"right"===m?c.width:o.inverted&&"center"===m?c.width/2:o.inverted?P?c.width+g:-g:c.width/2,P=o.inverted?c.height/2:P?-g:c.height,this.alignOptions.x=M(this.options.x,0),this.alignOptions.y=M(this.options.y,0),u.x-=m,u.y-=P,O.align(this.alignOptions,null,u),o.isInsidePlot(O.alignAttr.x+m-this.alignOptions.x,O.alignAttr.y+P-this.alignOptions.y)?O.show():(O.hide(),k=!1),k&&Q.prototype.justifyDataLabel.call(this.axis,O,this.alignOptions,O.alignAttr,c,u),O.attr({x:O.alignAttr.x,y:O.alignAttr.y}),M(!k&&this.options.crop,!0)&&((o=y(O.x)&&y(O.y)&&o.isInsidePlot(O.x-g+O.width,O.y)&&o.isInsidePlot(O.x+g,O.y))||O.hide()))},v.prototype.getStackBox=function(k,O,P,g,c,u,o){var m=O.axis.reversed,l=k.inverted,b=o.height+o.pos-(l?k.plotLeft:k.plotTop);return O=O.isNegative&&!m||!O.isNegative&&m,{x:l?O?g-o.right:g-u+o.pos-k.plotLeft:P+k.xAxis[0].transB-k.plotLeft,y:l?o.height-P-c:O?b-g-u:b-g,width:l?u:c,height:l?c:u}},v}();return Y.prototype.getStacks=function(){var v=this,k=v.inverted;v.yAxis.forEach(function(O){O.stacking&&O.stacking.stacks&&O.hasVisibleSeries&&(O.stacking.oldStacks=O.stacking.stacks)}),v.series.forEach(function(O){var P=O.xAxis&&O.xAxis.options||{};!O.options.stacking||!0!==O.visible&&!1!==v.options.chart.ignoreHiddenSeries||(O.stackKey=[O.type,M(O.options.stack,""),k?P.top:P.left,k?P.height:P.width].join())})},it.compose(X),Q.prototype.setGroupedPoints=function(){var v=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?Q.prototype.setStackedPoints.call(this,"group"):v&&S(v.stacks,function(k,O){"group"===O.slice(-5)&&(S(k,function(P){return P.destroy()}),delete v.stacks[O])})},Q.prototype.setStackedPoints=function(v){var k=v||this.options.stacking;if(k&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var O=this.processedXData,P=this.processedYData,g=[],c=P.length,u=this.options,o=u.threshold,m=M(u.startFromThreshold&&o,0);u=u.stack;var T,w,l="-"+(v=v?this.type+","+k:this.stackKey),b=this.negStacks,n=this.yAxis,r=n.stacking.stacks,f=n.stacking.oldStacks;for(n.stacking.stacksTouched+=1,w=0;w<c;w++){var D=O[w],d=P[w],R=this.getStackIndicator(R,D,this.index),a=R.key,h=(T=b&&d<(m?0:o))?l:v;r[h]||(r[h]={}),r[h][D]||(f[h]&&f[h][D]?(r[h][D]=f[h][D],r[h][D].total=null):r[h][D]=new E(n,n.options.stackLabels,T,D,u)),h=r[h][D],null!==d?(h.points[a]=h.points[this.index]=[M(h.cumulative,m)],I(h.cumulative)||(h.base=a),h.touched=n.stacking.stacksTouched,0<R.index&&!1===this.singleStacks&&(h.points[a][0]=h.points[this.index+","+D+",0"][0])):h.points[a]=h.points[this.index]=null,"percent"===k?(T=T?v:l,h.total=b&&r[T]&&r[T][D]?(T=r[T][D]).total=Math.max(T.total,h.total)+Math.abs(d)||0:F(h.total+(Math.abs(d)||0))):"group"===k?(C(d)&&(d=d[0]),null!==d&&(h.total=(h.total||0)+1)):h.total=F(h.total+(d||0)),h.cumulative="group"===k?(h.total||1)-1:M(h.cumulative,m)+(d||0),null!==d&&(h.points[a].push(h.cumulative),g[w]=h.cumulative,h.hasValidPoints=!0)}"percent"===k&&(n.stacking.usePercentage=!0),"group"!==k&&(this.stackedYData=g),n.stacking.oldStacks={}}},Q.prototype.modifyStacks=function(){var g,v=this,k=v.stackKey,O=v.yAxis.stacking.stacks,P=v.processedXData,c=v.options.stacking;v[c+"Stacker"]&&[k,"-"+k].forEach(function(u){for(var m,l,o=P.length;o--;)g=v.getStackIndicator(g,m=P[o],v.index,u),(l=(m=O[u]&&O[u][m])&&m.points[g.key])&&v[c+"Stacker"](l,m,o)})},Q.prototype.percentStacker=function(v,k,O){v[0]=F(v[0]*(k=k.total?100/k.total:0)),v[1]=F(v[1]*k),this.stackedYData[O]=v[1]},Q.prototype.getStackIndicator=function(v,k,O,P){return!I(v)||v.x!==k||P&&v.stackKey!==P?v={x:k,index:0,key:P,stackKey:P}:v.index++,v.key=[O,k,v.index].join(),v},rt.StackItem=E,rt.StackItem}),Mt($,"Series/Line/LineSeries.js",[$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.defined,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.prototype.drawGraph=function(){var F=this,I=this.options,L=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode,y=[["graph","highcharts-graph"]];C||y[0].push(I.lineColor||this.color||"#cccccc",I.dashStyle),(y=F.getZonesGraphs(y)).forEach(function(S,M){var E=S[0],v=F[E],k=v?"animate":"attr";v?(v.endX=F.preventGraphAnimation?null:L.xMap,v.animate({d:L})):L.length&&(F[E]=v=F.chart.renderer.path(L).addClass(S[1]).attr({zIndex:1}).add(F.group)),v&&!C&&(E={stroke:S[2],"stroke-width":I.lineWidth,fill:F.fillGraph&&F.color||"none"},S[3]?E.dashstyle=S[3]:"square"!==I.linecap&&(E["stroke-linecap"]=E["stroke-linejoin"]="round"),v[k](E).shadow(2>M&&I.shadow)),v&&(v.startX=L.xMap,v.isArea=L.isArea)})},W.prototype.getGraphPath=function(F,I,L){var E,C=this,y=C.options,S=[],M=[],v=y.step,k=(F=F||C.points).reversed;return k&&F.reverse(),(v={right:1,center:2}[v]||v&&3)&&k&&(v=4-v),(F=this.getValidPoints(F,!1,!(y.connectNulls&&!I&&!L))).forEach(function(O,P){var g=O.plotX,c=O.plotY,u=F[P-1];(O.leftCliff||u&&u.rightCliff)&&!L&&(E=!0),O.isNull&&!Q(I)&&0<P?E=!y.connectNulls:O.isNull&&!I?E=!0:(0===P||E?P=[["M",O.plotX,O.plotY]]:C.getPointSpline?P=[C.getPointSpline(F,O,P)]:v?(P=1===v?[["L",u.plotX,c]]:2===v?[["L",(u.plotX+g)/2,u.plotY],["L",(u.plotX+g)/2,c]]:[["L",g,u.plotY]]).push(["L",g,c]):P=[["L",g,c]],M.push(O.x),v&&(M.push(O.x),2===v&&M.push(O.x)),S.push.apply(S,P),E=!1)}),S.xMap=M,C.graphPath=S},W.prototype.getZonesGraphs=function(F){return this.zones.forEach(function(I,L){L=["zone-graph-"+L,"highcharts-graph highcharts-zone-graph-"+L+" "+(I.className||"")],this.chart.styledMode||L.push(I.color||this.color,I.dashStyle||this.options.dashStyle),F.push(L)},this),F},W.defaultOptions=it(X.defaultOptions,{}),W}(X),Y.registerSeriesType("line",et),et}),Mt($,"Series/Area/AreaSeries.js",[$["Core/Color/Color.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var L,Q=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),it=X.parse,K=et.seriesTypes.line;X=rt.extend;var W=rt.merge,F=rt.objectEach,I=rt.pick;return rt=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return Q(C,L),C.prototype.drawGraph=function(){this.areaPath=[],L.prototype.drawGraph.apply(this);var y=this,S=this.areaPath,M=this.options,E=[["area","highcharts-area",this.color,M.fillColor]];this.zones.forEach(function(v,k){E.push(["zone-area-"+k,"highcharts-area highcharts-zone-area-"+k+" "+v.className,v.color||y.color,v.fillColor||M.fillColor])}),E.forEach(function(v){var k=v[0],O=y[k],P=O?"animate":"attr",g={};O?(O.endX=y.preventGraphAnimation?null:S.xMap,O.animate({d:S})):(g.zIndex=0,(O=y[k]=y.chart.renderer.path(S).addClass(v[1]).add(y.group)).isArea=!0),y.chart.styledMode||(g.fill=I(v[3],it(v[2]).setOpacity(I(M.fillOpacity,.75)).get())),O[P](g),O.startX=S.xMap,O.shiftUnit=M.step?2:1})},C.prototype.getGraphPath=function(y){var k,S=K.prototype.getGraphPath,M=this.options,E=M.stacking,v=this.yAxis,O=[],P=[],g=this.index,c=v.stacking.stacks[this.stackKey],u=M.threshold,o=Math.round(v.getThreshold(M.threshold));M=I(M.connectNulls,"percent"===E);var m=function(r,f,T){var w=y[r];r=E&&c[w.x].points[g];var D=w[T+"Null"]||0;if(T=w[T+"Cliff"]||0,w=!0,T||D){var d=(D?r[0]:r[1])+T,R=r[0]+T;w=!!D}else!E&&y[f]&&y[f].isNull&&(d=R=u);void 0!==d&&(P.push({plotX:b,plotY:null===d?o:v.getThreshold(d),isNull:w,isCliff:!0}),O.push({plotX:b,plotY:null===R?o:v.getThreshold(R),doCurve:!1}))};for(y=y||this.points,E&&(y=this.getStackPoints(y)),k=0;k<y.length;k++){E||(y[k].leftCliff=y[k].rightCliff=y[k].leftNull=y[k].rightNull=void 0);var l=y[k].isNull,b=I(y[k].rectPlotX,y[k].plotX),n=E?I(y[k].yBottom,o):o;(!l||M)&&(M||m(k,k-1,"left"),l&&!E&&M||(P.push(y[k]),O.push({x:k,plotX:b,plotY:n})),M||m(k,k+1,"right"))}return k=S.call(this,P,!0,!0),O.reversed=!0,(n=(l=S.call(this,O,!0,!0))[0])&&"M"===n[0]&&(l[0]=["L",n[1],n[2]]),(l=k.concat(l)).length&&l.push(["Z"]),S=S.call(this,P,!1,M),l.xMap=k.xMap,this.areaPath=l,S},C.prototype.getStackPoints=function(y){var S=this,M=[],E=[],v=this.xAxis,k=this.yAxis,O=k.stacking.stacks[this.stackKey],P={},g=k.series,c=g.length,u=k.options.reversedStacks?1:-1,o=g.indexOf(S);if(y=y||this.points,this.options.stacking){for(var m=0;m<y.length;m++)y[m].leftNull=y[m].rightNull=void 0,P[y[m].x]=y[m];F(O,function(b,n){null!==b.total&&E.push(n)}),E.sort(function(b,n){return b-n});var l=g.map(function(b){return b.visible});E.forEach(function(b,n){var f,T,r=0;if(P[b]&&!P[b].isNull)M.push(P[b]),[-1,1].forEach(function(D){var d=1===D?"rightNull":"leftNull",R=0,a=O[E[n+D]];if(a)for(var h=o;0<=h&&h<c;){var A=g[h].index;(f=a.points[A])||(A===S.index?P[b][d]=!0:l[h]&&(T=O[b].points[A])&&(R-=T[1]-T[0])),h+=u}P[b][1===D?"rightCliff":"leftCliff"]=R});else{for(var w=o;0<=w&&w<c;){if(f=O[b].points[g[w].index]){r=f[1];break}w+=u}r=I(r,0),r=k.translate(r,0,1,0,1),M.push({isNull:!0,plotX:v.translate(b,0,0,0,1),x:b,plotY:r,yBottom:r})}})}return M},C.defaultOptions=W(K.defaultOptions,{threshold:0}),C}(K),X(rt.prototype,{singleStacks:!1,drawLegendSymbol:Y.drawRectangle}),et.registerSeriesType("area",rt),rt}),Mt($,"Series/Spline/SplineSeries.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var K,et=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),rt=X.seriesTypes.line,Q=Y.merge,it=Y.pick;return Y=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return et(W,K),W.prototype.getPointSpline=function(F,I,L){var C=I.plotX||0,y=I.plotY||0,S=F[L-1];if(L=F[L+1],S&&!S.isNull&&!1!==S.doCurve&&!I.isCliff&&L&&!L.isNull&&!1!==L.doCurve&&!I.isCliff){var M=L.plotX||0,E=0,v=(1.5*C+(S.plotX||0))/2.5,k=(1.5*y+(F=S.plotY||0))/2.5,O=(1.5*y+(L=L.plotY||0))/2.5;(M=(1.5*C+M)/2.5)!==v&&(E=(O-k)*(M-C)/(M-v)+y-O),O+=E,(k+=E)>F&&k>y?O=2*y-(k=Math.max(F,y)):k<F&&k<y&&(O=2*y-(k=Math.min(F,y))),O>L&&O>y?k=2*y-(O=Math.max(L,y)):O<L&&O<y&&(k=2*y-(O=Math.min(L,y))),I.rightContX=M,I.rightContY=O}return I=["C",it(S.rightContX,S.plotX,0),it(S.rightContY,S.plotY,0),it(v,C,0),it(k,y,0),C,y],S.rightContX=S.rightContY=void 0,I},W.defaultOptions=Q(rt.defaultOptions),W}(rt),X.registerSeriesType("spline",Y),Y}),Mt($,"Series/AreaSpline/AreaSplineSeries.js",[$["Series/Area/AreaSeries.js"],$["Series/Spline/SplineSeries.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var I,it=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),K=X.prototype,W=Q.extend,F=Q.merge;return Q=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.data=void 0,C.points=void 0,C.options=void 0,C}return it(L,I),L.defaultOptions=F(Y.defaultOptions,X.defaultOptions),L}(Y),W(Q.prototype,{getGraphPath:K.getGraphPath,getStackPoints:K.getStackPoints,drawGraph:K.drawGraph,drawLegendSymbol:et.drawRectangle}),rt.registerSeriesType("areaspline",Q),Q}),Mt($,"Series/Column/ColumnSeries.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var c,W=this&&this.__extends||(c=function(u,o){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,l){m.__proto__=l}||function(m,l){for(var b in l)l.hasOwnProperty(b)&&(m[b]=l[b])})(u,o)},function(u,o){function m(){this.constructor=u}c(u,o),u.prototype=null===o?Object.create(o):(m.prototype=o.prototype,new m)}),F=X.animObject,I=Y.parse,L=et.hasTouch;X=et.noop;var C=K.clamp,y=K.css,S=K.defined,M=K.extend,E=K.fireEvent,v=K.isArray,k=K.isNumber,O=K.merge,P=K.pick,g=K.objectEach;return K=function(c){function u(){var o=null!==c&&c.apply(this,arguments)||this;return o.borderWidth=void 0,o.data=void 0,o.group=void 0,o.options=void 0,o.points=void 0,o}return W(u,c),u.prototype.animate=function(o){var m=this,l=this.yAxis,b=m.options,n=this.chart.inverted,r={},f=n?"translateX":"translateY";if(o)r.scaleY=.001,o=C(l.toPixels(b.threshold),l.pos,l.pos+l.len),n?r.translateX=o-l.len:r.translateY=o,m.clipBox&&m.setClip(),m.group.attr(r);else{var T=Number(m.group.attr(f));m.group.animate({scaleY:1},M(F(m.options.animation),{step:function(w,D){m.group&&(r[f]=T+D.pos*(l.pos-T),m.group.attr(r))}}))}},u.prototype.init=function(o,m){c.prototype.init.apply(this,arguments);var l=this;(o=l.chart).hasRendered&&o.series.forEach(function(b){b.type===l.type&&(b.isDirty=!0)})},u.prototype.getColumnMetrics=function(){var o=this,m=o.options,l=o.xAxis,b=o.yAxis,n=l.options.reversedStacks;n=l.reversed&&!n||!l.reversed&&n;var f,r={},T=0;!1===m.grouping?T=1:o.chart.series.forEach(function(R){var a=R.yAxis,h=R.options;if(R.type===o.type&&(R.visible||!o.chart.options.chart.ignoreHiddenSeries)&&b.len===a.len&&b.pos===a.pos){if(h.stacking&&"group"!==h.stacking){void 0===r[f=R.stackKey]&&(r[f]=T++);var A=r[f]}else!1!==h.grouping&&(A=T++);R.columnIndex=A}});var w=Math.min(Math.abs(l.transA)*(l.ordinal&&l.ordinal.slope||m.pointRange||l.closestPointRange||l.tickInterval||1),l.len),D=w*m.groupPadding,d=(w-2*D)/(T||1);return m=Math.min(m.maxPointWidth||l.len,P(m.pointWidth,d*(1-2*m.pointPadding))),o.columnMetrics={width:m,offset:(d-m)/2+(D+((o.columnIndex||0)+(n?1:0))*d-w/2)*(n?-1:1),paddedWidth:d,columnCount:T},o.columnMetrics},u.prototype.crispCol=function(o,m,l,b){var n=this.chart,r=this.borderWidth,f=-(r%2?.5:0);return r=r%2?.5:1,n.inverted&&n.renderer.isVML&&(r+=1),this.options.crisp&&(l=Math.round(o+l)+f,l-=o=Math.round(o)+f),b=Math.round(m+b)+r,f=.5>=Math.abs(m)&&.5<b,b-=m=Math.round(m)+r,f&&b&&(--m,b+=1),{x:o,y:m,width:l,height:b}},u.prototype.adjustForMissingColumns=function(o,m,l,b){var n=this,r=this.options.stacking;if(!l.isNull&&1<b.columnCount){var f=this.yAxis.options.reversedStacks,T=0,w=f?0:-b.columnCount;g(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(D){if("number"==typeof l.x&&(D=D[l.x.toString()])){var d=D.points[n.index],R=D.total;r?(d&&(T=w),D.hasValidPoints&&(f?w++:w--)):v(d)&&(T=d[1],w=R||0)}}),o=(l.plotX||0)+((w-1)*b.paddedWidth+m)/2-m-T*b.paddedWidth}return o},u.prototype.translate=function(){var o=this,m=o.chart,l=o.options,b=o.dense=2>o.closestPointRange*o.xAxis.transA;b=o.borderWidth=P(l.borderWidth,b?0:1);var n=o.xAxis,r=o.yAxis,f=l.threshold,T=o.translatedThreshold=r.getThreshold(f),w=P(l.minPointLength,5),D=o.getColumnMetrics(),d=D.width,R=o.pointXOffset=D.offset,a=o.dataMin,h=o.dataMax,A=o.barW=Math.max(d,1+2*b);m.inverted&&(T-=.5),l.pointPadding&&(A=Math.ceil(A)),Q.prototype.translate.apply(o),o.points.forEach(function(j){var z=P(j.yBottom,T),H=999+Math.abs(z),p=j.plotX||0;H=C(j.plotY,-H,r.len+H);var N=Math.min(H,z),_=Math.max(H,z)-N,G=d,U=p+R,tt=A;w&&Math.abs(_)<w&&(_=w,p=!r.reversed&&!j.negative||r.reversed&&j.negative,k(f)&&k(h)&&j.y===f&&h<=f&&(r.min||0)<f&&(a!==h||(r.max||0)<=f)&&(p=!p),N=Math.abs(N-T)>w?z-w:T-(p?w:0)),S(j.options.pointWidth)&&(G=tt=Math.ceil(j.options.pointWidth),U-=Math.round((G-d)/2)),l.centerInCategory&&(U=o.adjustForMissingColumns(U,G,j,D)),j.barX=U,j.pointWidth=G,j.tooltipPos=m.inverted?[C(r.len+r.pos-m.plotLeft-H,r.pos-m.plotLeft,r.len+r.pos-m.plotLeft),n.len+n.pos-m.plotTop-U-tt/2,_]:[n.left-m.plotLeft+U+tt/2,C(H+r.pos-m.plotTop,r.pos-m.plotTop,r.len+r.pos-m.plotTop),_],j.shapeType=o.pointClass.prototype.shapeType||"rect",j.shapeArgs=o.crispCol.apply(o,j.isNull?[U,T,tt,0]:[U,N,tt,_])})},u.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},u.prototype.pointAttribs=function(o,m){var l=this.options,b=this.pointAttrToOptions||{},n=b.stroke||"borderColor",r=b["stroke-width"]||"borderWidth",f=o&&o.color||this.color,T=o&&o[n]||l[n]||f;b=o&&o.options.dashStyle||l.dashStyle;var w=o&&o[r]||l[r]||this[r]||0,D=P(o&&o.opacity,l.opacity,1);if(o&&this.zones.length){var d=o.getZone();f=o.options.color||d&&(d.color||o.nonZonedColor)||this.color,d&&(T=d.borderColor||T,b=d.dashStyle||b,w=d.borderWidth||w)}return m&&o&&(m=(o=O(l.states[m],o.options.states&&o.options.states[m]||{})).brightness,f=o.color||void 0!==m&&I(f).brighten(o.brightness).get()||f,T=o[n]||T,w=o[r]||w,b=o.dashStyle||b,D=P(o.opacity,D)),n={fill:f,stroke:T,"stroke-width":w,opacity:D},b&&(n.dashstyle=b),n},u.prototype.drawPoints=function(){var r,o=this,m=this.chart,l=o.options,b=m.renderer,n=l.animationLimit||250;o.points.forEach(function(f){var T=f.graphic,w=!!T,D=T&&m.pointCount<n?"animate":"attr";k(f.plotY)&&null!==f.y?(r=f.shapeArgs,T&&f.hasNewShapeType()&&(T=T.destroy()),o.enabledDataSorting&&(f.startXPos=o.xAxis.reversed?-(r&&r.width||0):o.xAxis.width),T||(f.graphic=T=b[f.shapeType](r).add(f.group||o.group))&&o.enabledDataSorting&&m.hasRendered&&m.pointCount<n&&(T.attr({x:f.startXPos}),w=!0,D="animate"),T&&w&&T[D](O(r)),l.borderRadius&&T[D]({r:l.borderRadius}),m.styledMode||T[D](o.pointAttribs(f,f.selected&&"select")).shadow(!1!==f.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius),T&&(T.addClass(f.getClassName(),!0),T.attr({visibility:f.visible?"inherit":"hidden"}))):T&&(f.graphic=T.destroy())})},u.prototype.drawTracker=function(){var n,o=this,m=o.chart,l=m.pointer,b=function(r){var f=l.getPointFromEvent(r);void 0!==f&&(l.isDirectTouch=!0,f.onMouseOver(r))};o.points.forEach(function(r){n=v(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),n.forEach(function(f){f.div?f.div.point=r:f.element.point=r})}),o._hasTracking||(o.trackerGroups.forEach(function(r){o[r]&&(o[r].addClass("highcharts-tracker").on("mouseover",b).on("mouseout",function(f){l.onTrackerMouseOut(f)}),L&&o[r].on("touchstart",b),!m.styledMode&&o.options.cursor&&o[r].css(y).css({cursor:o.options.cursor}))}),o._hasTracking=!0),E(this,"afterDrawTracker")},u.prototype.remove=function(){var o=this,m=o.chart;m.hasRendered&&m.series.forEach(function(l){l.type===o.type&&(l.isDirty=!0)}),Q.prototype.remove.apply(o,arguments)},u.defaultOptions=O(Q.defaultOptions,{borderRadius:0,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),u}(Q),M(K.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:rt.drawRectangle,getSymbol:X,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("column",K),K}),Mt($,"Core/Series/DataLabel.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=X.getDeferredAnimation,Q=Y.format,it=et.defined,K=et.extend,W=et.fireEvent,F=et.isArray,I=et.merge,L=et.objectEach,C=et.pick,y=et.splat;return function(M){function E(u,o,m,l,b){var n=this,r=this.chart,f=this.isCartesian&&r.inverted,T=this.enabledDataSorting,w=C(u.dlBox&&u.dlBox.centerX,u.plotX),D=u.plotY,d=m.rotation,R=m.align,a=it(w)&&it(D)&&r.isInsidePlot(w,Math.round(D),{inverted:f,paneCoordinates:!0,series:n}),h=function(p){T&&n.xAxis&&!A&&n.setDataLabelStartPos(u,o,b,a,p)},A="justify"===C(m.overflow,T?"none":"justify"),j=this.visible&&!1!==u.visible&&(u.series.forceDL||T&&!A||a||C(m.inside,!!this.options.stacking)&&l&&r.isInsidePlot(w,f?l.x+1:l.y+l.height-1,{inverted:f,paneCoordinates:!0,series:n}));if(j&&it(w)&&it(D)){d&&o.attr({align:R}),R=o.getBBox(!0);var z=[0,0],H=r.renderer.fontMetrics(r.styledMode?void 0:m.style.fontSize,o).b;l=K({x:f?this.yAxis.len-D:w,y:Math.round(f?this.xAxis.len-w:D),width:0,height:0},l),K(m,{width:R.width,height:R.height}),d?(A=!1,z=r.renderer.rotCorr(H,d),w={x:l.x+(m.x||0)+l.width/2+z.x,y:l.y+(m.y||0)+{top:0,middle:.5,bottom:1}[m.verticalAlign]*l.height},z=[R.x-Number(o.attr("x")),R.y-Number(o.attr("y"))],h(w),o[b?"attr":"animate"](w)):(h(l),o.align(m,void 0,l),w=o.alignAttr),A&&0<=l.height?this.justifyDataLabel(o,m,w,R,l,b):C(m.crop,!0)&&(l=w.x,h=w.y,j=r.isInsidePlot(l+=z[0],h+=z[1],{paneCoordinates:!0,series:n})&&r.isInsidePlot(l+R.width,h+R.height,{paneCoordinates:!0,series:n})),m.shape&&!d&&o[b?"attr":"animate"]({anchorX:f?r.plotWidth-u.plotY:u.plotX,anchorY:f?r.plotHeight-u.plotX:u.plotY})}b&&T&&(o.placed=!1),j||T&&!A?o.show():(o.hide(),o.placed=!1)}function k(){var u=this,o=u.chart,m=u.options,l=u.points,b=u.hasRendered||0,n=o.renderer,r=m.dataLabels,T=r.animation;if(T=r.defer?rt(o,T,u):{defer:0,duration:0},r=P(P(o.options.plotOptions&&o.options.plotOptions.series&&o.options.plotOptions.series.dataLabels,o.options.plotOptions&&o.options.plotOptions[u.type]&&o.options.plotOptions[u.type].dataLabels),r),W(this,"drawDataLabels"),F(r)||r.enabled||u._hasPointLabels){var w=u.plotGroup("dataLabelsGroup","data-labels",b?"inherit":"hidden",r.zIndex||6);w.attr({opacity:+b}),!b&&(b=u.dataLabelsGroup)&&(u.visible&&w.show(),b[m.animation?"animate":"attr"]({opacity:1},T)),l.forEach(function(D){y(P(r,D.dlOptions||D.options&&D.options.dataLabels)).forEach(function(d,R){var a=d.enabled&&(!D.isNull||D.dataLabelOnNull)&&function v(u,o){var m=o.filter;return!m||(o=m.operator,u=u[m.property],m=m.value,">"===o&&u>m||"<"===o&&u<m||">="===o&&u>=m||"<="===o&&u<=m||"=="===o&&u==m||"==="===o&&u===m)}(D,d),h=D.connectors?D.connectors[R]:D.connector,A=D.dataLabels?D.dataLabels[R]:D.dataLabel,j=!A,z=C(d.distance,D.labelDistance);if(a){var H=D.getLabelConfig(),p=C(d[D.formatPrefix+"Format"],d.format);H=it(p)?Q(p,H,o):(d[D.formatPrefix+"Formatter"]||d.formatter).call(H,d),p=d.style;var N=d.rotation;o.styledMode||(p.color=C(d.color,p.color,u.color,"#000000"),"contrast"===p.color?(D.contrastColor=n.getContrast(D.color||u.color),p.color=!it(z)&&d.inside||0>z||m.stacking?D.contrastColor:"#000000"):delete D.contrastColor,m.cursor&&(p.cursor=m.cursor));var _={r:d.borderRadius||0,rotation:N,padding:d.padding,zIndex:1};o.styledMode||(_.fill=d.backgroundColor,_.stroke=d.borderColor,_["stroke-width"]=d.borderWidth),L(_,function(G,U){void 0===G&&delete _[U]})}!A||a&&it(H)&&!!A.div==!!d.useHTML&&(A.rotation&&d.rotation||A.rotation===d.rotation)||(j=!0,D.dataLabel=A=D.dataLabel&&D.dataLabel.destroy(),D.dataLabels&&(1===D.dataLabels.length?delete D.dataLabels:delete D.dataLabels[R]),R||delete D.dataLabel,h&&(D.connector=D.connector.destroy(),D.connectors&&(1===D.connectors.length?delete D.connectors:delete D.connectors[R]))),a&&it(H)?(A?_.text=H:(D.dataLabels=D.dataLabels||[],A=D.dataLabels[R]=N?n.text(H,0,0,d.useHTML).addClass("highcharts-data-label"):n.label(H,0,0,d.shape,null,null,d.useHTML,null,"data-label"),R||(D.dataLabel=A),A.addClass(" highcharts-data-label-color-"+D.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),A.options=d,A.attr(_),o.styledMode||A.css(p).shadow(d.shadow),A.added||A.add(w),d.textPath&&!d.useHTML&&(A.setTextPath(D.getDataLabelPath&&D.getDataLabelPath(A)||D.graphic,d.textPath),D.dataLabelPath&&!d.textPath.enabled&&(D.dataLabelPath=D.dataLabelPath.destroy())),u.alignDataLabel(D,A,d,null,j)):A&&A.hide()})})}W(this,"afterDrawDataLabels")}function O(u,o,m,l,b,n){var r=this.chart,f=o.align,T=o.verticalAlign,w=u.box?0:u.padding||0,D=o.x;D=void 0===D?0:D;var d=o.y;d=void 0===d?0:d;var R=(m.x||0)+w;if(0>R){"right"===f&&0<=D?(o.align="left",o.inside=!0):D-=R;var a=!0}return(R=(m.x||0)+l.width-w)>r.plotWidth&&("left"===f&&0>=D?(o.align="right",o.inside=!0):D+=r.plotWidth-R,a=!0),0>(R=m.y+w)&&("bottom"===T&&0<=d?(o.verticalAlign="top",o.inside=!0):d-=R,a=!0),(R=(m.y||0)+l.height-w)>r.plotHeight&&("top"===T&&0>=d?(o.verticalAlign="bottom",o.inside=!0):d+=r.plotHeight-R,a=!0),a&&(o.x=D,o.y=d,u.placed=!n,u.align(o,void 0,b)),a}function P(u,o){var l,m=[];if(F(u)&&!F(o))m=u.map(function(b){return I(b,o)});else if(F(o)&&!F(u))m=o.map(function(b){return I(u,b)});else if(F(u)||F(o))for(l=Math.max(u.length,o.length);l--;)m[l]=I(u[l],o[l]);else m=I(u,o);return m}function g(u,o,m,l,b){var n=this.chart,r=n.inverted,f=this.xAxis,T=f.reversed,w=r?o.height/2:o.width/2;u=(u=u.pointWidth)?u/2:0,o.startXPos=r?b.x:T?-w-u:f.width-w+u,o.startYPos=r?T?this.yAxis.height-w+u:-w-u:b.y,l?"hidden"===o.visibility&&(o.show(),o.attr({opacity:0}).animate({opacity:1})):o.attr({opacity:1}).animate({opacity:0},void 0,o.hide),n.hasRendered&&(m&&o.attr({x:o.startXPos,y:o.startYPos}),o.placed=!0)}var c=[];M.compose=function(u){if(-1===c.indexOf(u)){var o=u.prototype;c.push(u),o.alignDataLabel=E,o.drawDataLabels=k,o.justifyDataLabel=O,o.setDataLabelStartPos=g}}}(S||(S={})),S}),Mt($,"Series/Column/ColumnDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=Y.series,Q=et.merge,it=et.pick;return function(W){function F(L,C,y,S,M){var E=this.chart.inverted,v=L.series,k=(v.xAxis?v.xAxis.len:this.chart.plotSizeX)||0,O=L.dlBox||L.shapeArgs,P=it(L.below,L.plotY>it(this.translatedThreshold,v=(v.yAxis?v.yAxis.len:this.chart.plotSizeY)||0)),g=it(y.inside,!!this.options.stacking);O&&(0>(S=Q(O)).y&&(S.height+=S.y,S.y=0),0<(O=S.y+S.height-v)&&O<S.height&&(S.height-=O),E&&(S={x:v-S.y-S.height,y:k-S.x-S.width,width:S.height,height:S.width}),g||(E?(S.x+=P?0:S.width,S.width=0):(S.y+=P?S.height:0,S.height=0))),y.align=it(y.align,!E||g?"center":P?"right":"left"),y.verticalAlign=it(y.verticalAlign,E||g?"middle":P?"top":"bottom"),rt.prototype.alignDataLabel.call(this,L,C,y,S,M),y.inside&&L.contrastColor&&C.css({color:L.contrastColor})}var I=[];W.compose=function(L){X.compose(rt),-1===I.indexOf(L)&&(I.push(L),L.prototype.alignDataLabel=F)}}(K||(K={})),K}),Mt($,"Series/Bar/BarSeries.js",[$["Series/Column/ColumnSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.extend,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.defaultOptions=it(X.defaultOptions,{}),W}(X),Q(et.prototype,{inverted:!0}),Y.registerSeriesType("bar",et),et}),Mt($,"Series/Scatter/ScatterSeries.js",[$["Series/Column/ColumnSeries.js"],$["Series/Line/LineSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),it=rt.addEvent,K=rt.extend,W=rt.merge;return rt=function(F){function I(){var L=null!==F&&F.apply(this,arguments)||this;return L.data=void 0,L.options=void 0,L.points=void 0,L}return Q(I,F),I.prototype.applyJitter=function(){var L=this,C=this.options.jitter,y=this.points.length;C&&this.points.forEach(function(S,M){["x","y"].forEach(function(E,v){var k="plot"+E.toUpperCase();if(C[E]&&!S.isNull){var O=L[E+"Axis"],P=C[E]*O.transA;if(O&&!O.isLog){var g=Math.max(0,S[k]-P);O=Math.min(O.len,S[k]+P),v=1e4*Math.sin(M+v*y),S[k]=g+(O-g)*(v-Math.floor(v)),"x"===E&&(S.clientX=S.plotX)}}})})},I.prototype.drawGraph=function(){this.options.lineWidth?F.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},I.defaultOptions=W(Y.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),I}(Y),K(rt.prototype,{drawTracker:X.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),it(rt,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",rt),rt}),Mt($,"Series/CenteredUtilities.js",[$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,F,rt=X.deg2rad,Q=et.isNumber,it=et.pick,K=et.relativeLength;return(F=W||(W={})).getCenter=function(){var I=this.options,L=this.chart,C=2*(I.slicedOffset||0),y=L.plotWidth-2*C,S=L.plotHeight-2*C,M=I.center,E=Math.min(y,S),v=I.thickness,k=I.size,O=I.innerSize||0;for("string"==typeof k&&(k=parseFloat(k)),"string"==typeof O&&(O=parseFloat(O)),I=[it(M[0],"50%"),it(M[1],"50%"),it(k&&0>k?void 0:I.size,"100%"),it(O&&0>O?void 0:I.innerSize||0,"0%")],!L.angular||this instanceof Y||(I[3]=0),M=0;4>M;++M)k=I[M],L=2>M||2===M&&/%$/.test(k),I[M]=K(k,[y,S,E,I[2]][M])+(L?C:0);return I[3]>I[2]&&(I[3]=I[2]),Q(v)&&2*v<I[2]&&0<v&&(I[3]=I[2]-2*v),I},F.getStartAndEndRadians=function(I,L){return I=Q(I)?I:0,L=Q(L)&&L>I&&360>L-I?L:I+360,{start:rt*(I+-90),end:rt*(L+-90)}},W}),Mt($,"Series/Pie/PiePoint.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et){var L,rt=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),Q=X.setAnimation,it=et.addEvent,K=et.defined;X=et.extend;var W=et.isNumber,F=et.pick,I=et.relativeLength;return Y=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.labelDistance=void 0,y.options=void 0,y.series=void 0,y}return rt(C,L),C.prototype.getConnectorPath=function(){var y=this.labelPosition,S=this.series.options.dataLabels,M=this.connectorShapes,E=S.connectorShape;return M[E]&&(E=M[E]),E.call(this,{x:y.final.x,y:y.final.y,alignment:y.alignment},y.connectorPosition,S)},C.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},C.prototype.haloPath=function(y){var S=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(S.x,S.y,S.r+y,S.r+y,{innerR:S.r-1,start:S.start,end:S.end})},C.prototype.init=function(){var y=this;L.prototype.init.apply(this,arguments),this.name=F(this.name,"Slice");var S=function(M){y.slice("select"===M.type)};return it(this,"select",S),it(this,"unselect",S),this},C.prototype.isValid=function(){return W(this.y)&&0<=this.y},C.prototype.setVisible=function(y,S){var M=this,E=this.series,v=E.chart,k=E.options.ignoreHiddenPoint;S=F(S,k),y!==this.visible&&(this.visible=this.options.visible=y=void 0===y?!this.visible:y,E.options.data[E.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(O){M[O]&&M[O][y?"show":"hide"](y)}),this.legendItem&&v.legend.colorizeItem(this,y),y||"hover"!==this.state||this.setState(""),k&&(E.isDirty=!0),S&&v.redraw())},C.prototype.slice=function(y,S,M){var E=this.series;Q(M,E.chart),F(S,!0),this.sliced=this.options.sliced=K(y)?y:!this.sliced,E.options.data[E.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},C}(Y),X(Y.prototype,{connectorShapes:{fixedOffset:function(L,C,y){var S=C.breakAt;return C=C.touchingSliceAt,[["M",L.x,L.y],y.softConnector?["C",L.x+("left"===L.alignment?-5:5),L.y,2*S.x-C.x,2*S.y-C.y,S.x,S.y]:["L",S.x,S.y],["L",C.x,C.y]]},straight:function(L,C){return[["M",L.x,L.y],["L",(C=C.touchingSliceAt).x,C.y]]},crookedLine:function(L,C,y){C=C.touchingSliceAt;var S=this.series,M=S.center[0],E=S.chart.plotWidth,v=S.chart.plotLeft;S=L.alignment;var k=this.shapeArgs.r;return y=I(y.crookDistance,1),y=["L",E="left"===S?M+k+(E+v-M-k)*(1-y):v+(M-k)*y,L.y],M=!0,("left"===S?E>L.x||E<C.x:E<L.x||E>C.x)&&(M=!1),L=[["M",L.x,L.y]],M&&L.push(y),L.push(["L",C.x,C.y]),L}}}),Y}),Mt($,"Series/Pie/PieSeries.js",[$["Series/CenteredUtilities.js"],$["Series/Column/ColumnSeries.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Series/Pie/PiePoint.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var k,I=this&&this.__extends||(k=function(O,P){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,c){g.__proto__=c}||function(g,c){for(var u in c)c.hasOwnProperty(u)&&(g[u]=c[u])})(O,P)},function(O,P){function g(){this.constructor=O}k(O,P),O.prototype=null===P?Object.create(P):(g.prototype=P.prototype,new g)}),L=X.getStartAndEndRadians;et=et.noop;var C=F.clamp,y=F.extend,S=F.fireEvent,M=F.merge,E=F.pick,v=F.relativeLength;return F=function(k){function O(){var P=null!==k&&k.apply(this,arguments)||this;return P.center=void 0,P.data=void 0,P.maxLabelDistance=void 0,P.options=void 0,P.points=void 0,P}return I(O,k),O.prototype.animate=function(P){var g=this,u=g.startAngleRad;P||g.points.forEach(function(o){var m=o.graphic,l=o.shapeArgs;m&&l&&(m.attr({r:E(o.startR,g.center&&g.center[3]/2),start:u,end:u}),m.animate({r:l.r,start:l.start,end:l.end},g.options.animation))})},O.prototype.drawEmpty=function(){var P=this.startAngleRad,g=this.endAngleRad,c=this.options;if(0===this.total&&this.center){var u=this.center[0],o=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(u,o,this.center[1]/2,0,P,g).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:W.arc(u,o,this.center[2]/2,0,{start:P,end:g,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":c.borderWidth,fill:c.fillColor||"none",stroke:c.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},O.prototype.drawPoints=function(){var P=this.chart.renderer;this.points.forEach(function(g){g.graphic&&g.hasNewShapeType()&&(g.graphic=g.graphic.destroy()),g.graphic||(g.graphic=P[g.shapeType](g.shapeArgs).add(g.series.group),g.delayedRendering=!0)})},O.prototype.generatePoints=function(){k.prototype.generatePoints.call(this),this.updateTotals()},O.prototype.getX=function(P,g,c){var u=this.center,o=this.radii?this.radii[c.index]||0:u[2]/2;return P=Math.asin(C((P-u[1])/(o+c.labelDistance),-1,1)),u[0]+(g?-1:1)*Math.cos(P)*(o+c.labelDistance)+(0<c.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},O.prototype.hasData=function(){return!!this.processedXData.length},O.prototype.redrawPoints=function(){var o,m,l,b,P=this,g=P.chart,c=g.renderer,u=P.options.shadow;this.drawEmpty(),!u||P.shadowGroup||g.styledMode||(P.shadowGroup=c.g("shadow").attr({zIndex:-1}).add(P.group)),P.points.forEach(function(n){var r={};if(m=n.graphic,!n.isNull&&m){var f=void 0;b=n.shapeArgs,o=n.getTranslate(),g.styledMode||(f=n.shadowGroup,u&&!f&&(f=n.shadowGroup=c.g("shadow").add(P.shadowGroup)),f&&f.attr(o),l=P.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(m.setRadialReference(P.center).attr(b).attr(o),g.styledMode||m.attr(l).attr({"stroke-linejoin":"round"}).shadow(u,f),n.delayedRendering=!1):(m.setRadialReference(P.center),g.styledMode||M(!0,r,l),M(!0,r,b,o),m.animate(r)),m.attr({visibility:n.visible?"inherit":"hidden"}),m.addClass(n.getClassName(),!0)}else m&&(n.graphic=m.destroy())})},O.prototype.sortByAngle=function(P,g){P.sort(function(c,u){return void 0!==c.angle&&(u.angle-c.angle)*g})},O.prototype.translate=function(P){this.generatePoints();var g=this.options,c=g.slicedOffset,u=c+(g.borderWidth||0),o=L(g.startAngle,g.endAngle),m=this.startAngleRad=o.start;o=(this.endAngleRad=o.end)-m;var l=this.points,b=g.dataLabels.distance;g=g.ignoreHiddenPoint;var r,n=l.length,f=0;for(P||(this.center=P=this.getCenter()),r=0;r<n;r++){var T=l[r],w=m+f*o;!T.isValid()||g&&!T.visible||(f+=T.percentage/100);var D=m+f*o,d={x:P[0],y:P[1],r:P[2]/2,innerR:P[3]/2,start:Math.round(1e3*w)/1e3,end:Math.round(1e3*D)/1e3};T.shapeType="arc",T.shapeArgs=d,T.labelDistance=E(T.options.dataLabels&&T.options.dataLabels.distance,b),T.labelDistance=v(T.labelDistance,d.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,T.labelDistance),(D=(D+w)/2)>1.5*Math.PI?D-=2*Math.PI:D<-Math.PI/2&&(D+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(D)*c),translateY:Math.round(Math.sin(D)*c)},d=Math.cos(D)*P[2]/2;var R=Math.sin(D)*P[2]/2;T.tooltipPos=[P[0]+.7*d,P[1]+.7*R],T.half=D<-Math.PI/2||D>Math.PI/2?1:0,T.angle=D,w=Math.min(u,T.labelDistance/5),T.labelPosition={natural:{x:P[0]+d+Math.cos(D)*T.labelDistance,y:P[1]+R+Math.sin(D)*T.labelDistance},final:{},alignment:0>T.labelDistance?"center":T.half?"right":"left",connectorPosition:{breakAt:{x:P[0]+d+Math.cos(D)*w,y:P[1]+R+Math.sin(D)*w},touchingSliceAt:{x:P[0]+d,y:P[1]+R}}}}S(this,"afterTranslate")},O.prototype.updateTotals=function(){var u,P=this.points,g=P.length,c=this.options.ignoreHiddenPoint,o=0;for(u=0;u<g;u++){var m=P[u];!m.isValid()||c&&!m.visible||(o+=m.y)}for(this.total=o,u=0;u<g;u++)(m=P[u]).percentage=0<o&&(m.visible||!c)?m.y/o*100:0,m.total=o},O.defaultOptions=M(it.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),O}(it),y(F.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:rt.drawRectangle,drawTracker:Y.prototype.drawTracker,getCenter:X.getCenter,getSymbol:et,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Y.prototype.pointAttribs,pointClass:Q,requireSorting:!1,searchPoint:et,trackerGroups:["group","dataLabelsGroup"]}),K.registerSeriesType("pie",F),F}),Mt($,"Series/Pie/PieDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var M,it=Y.noop,K=et.distribute,W=rt.series,F=Q.arrayMax,I=Q.clamp,L=Q.defined,C=Q.merge,y=Q.pick,S=Q.relativeLength;return function(E){function v(){var h,A,j,z,H,p,N,_,G,U,tt,J,c=this,u=c.data,o=c.chart,m=c.options.dataLabels||{},l=m.connectorPadding,b=o.plotWidth,n=o.plotHeight,r=o.plotLeft,f=Math.round(o.chartWidth/3),T=c.center,w=T[2]/2,D=T[1],d=[[],[]],R=[0,0,0,0],a=c.dataLabelPositioners;c.visible&&(m.enabled||c._hasPointLabels)&&(u.forEach(function(ot){ot.dataLabel&&ot.visible&&ot.dataLabel.shortened&&(ot.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),ot.dataLabel.shortened=!1)}),W.prototype.drawDataLabels.apply(c),u.forEach(function(ot){ot.dataLabel&&(ot.visible?(d[ot.half].push(ot),ot.dataLabel._pos=null,!L(m.style.width)&&!L(ot.options.dataLabels&&ot.options.dataLabels.style&&ot.options.dataLabels.style.width)&&ot.dataLabel.getBBox().width>f&&(ot.dataLabel.css({width:Math.round(.7*f)+"px"}),ot.dataLabel.shortened=!0)):(ot.dataLabel=ot.dataLabel.destroy(),ot.dataLabels&&1===ot.dataLabels.length&&delete ot.dataLabels))}),d.forEach(function(ot,at){var gt,ft=ot.length,mt=[];if(ft){if(c.sortByAngle(ot,at-.5),0<c.maxLabelDistance){var ut=Math.max(0,D-w-c.maxLabelDistance),ht=Math.min(D+w+c.maxLabelDistance,o.plotHeight);ot.forEach(function(V){0<V.labelDistance&&V.dataLabel&&(V.top=Math.max(0,D-w-V.labelDistance),V.bottom=Math.min(D+w+V.labelDistance,o.plotHeight),gt=V.dataLabel.getBBox().height||21,V.distributeBox={target:V.labelPosition.natural.y-V.top+gt/2,size:gt,rank:V.y},mt.push(V.distributeBox))}),K(mt,ut=ht+gt-ut,ut/5)}for(tt=0;tt<ft;tt++){if(z=(h=ot[tt]).dataLabel,U=!1===h.visible?"hidden":"inherit",G=ut=(p=h.labelPosition).natural.y,mt&&L(h.distributeBox)&&(void 0===h.distributeBox.pos?U="hidden":(N=h.distributeBox.size,G=a.radialDistributionY(h))),delete h.positionIndex,m.justify)_=a.justify(h,w,T);else switch(m.alignTo){case"connectors":_=a.alignToConnectors(ot,at,b,r);break;case"plotEdges":_=a.alignToPlotEdges(z,at,b,r);break;default:_=a.radialDistributionX(c,h,G,ut)}z._attr={visibility:U,align:p.alignment},z._pos={x:_+y((J=h.options.dataLabels||{}).x,m.x)+({left:l,right:-l}[p.alignment]||0),y:G+y(J.y,m.y)-10},p.final.x=_,p.final.y=G,y(m.crop,!0)&&(H=z.getBBox().width,ut=null,_-H<l&&1===at?(ut=Math.round(H-_+l),R[3]=Math.max(ut,R[3])):_+H>b-l&&0===at&&(ut=Math.round(_+H-b+l),R[1]=Math.max(ut,R[1])),0>G-N/2?R[0]=Math.max(Math.round(N/2-G),R[0]):G+N/2>n&&(R[2]=Math.max(Math.round(G+N/2-n),R[2])),z.sideOverflow=ut)}}}),0===F(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),this.points.forEach(function(ot){var at;J=C(m,ot.options.dataLabels),(A=y(J.connectorWidth,1))&&(j=ot.connector,(z=ot.dataLabel)&&z._pos&&ot.visible&&0<ot.labelDistance?(U=z._attr.visibility,(at=!j)&&(ot.connector=j=o.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+ot.colorIndex+(ot.className?" "+ot.className:"")).add(c.dataLabelsGroup),o.styledMode||j.attr({"stroke-width":A,stroke:J.connectorColor||ot.color||"#666666"})),j[at?"attr":"animate"]({d:ot.getConnectorPath()}),j.attr("visibility",U)):j&&(ot.connector=j.destroy()))}))}function k(){this.points.forEach(function(c){var o,u=c.dataLabel;u&&c.visible&&((o=u._pos)?(u.sideOverflow&&(u._attr.width=Math.max(u.getBBox().width-u.sideOverflow,0),u.css({width:u._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),u.shortened=!0),u.attr(u._attr),u[u.moved?"animate":"attr"](o),u.moved=!0):u&&u.attr({y:-9999})),delete c.distributeBox},this)}function O(c){var u=this.center,o=this.options,m=o.center,l=o.minSize||80,b=null!==o.size;if(!b){if(null!==m[0])var n=Math.max(u[2]-Math.max(c[1],c[3]),l);else n=Math.max(u[2]-c[1]-c[3],l),u[0]+=(c[3]-c[1])/2;null!==m[1]?n=I(n,l,u[2]-Math.max(c[0],c[2])):(n=I(n,l,u[2]-c[0]-c[2]),u[1]+=(c[0]-c[2])/2),n<u[2]?(u[2]=n,u[3]=Math.min(o.thickness?Math.max(0,n-2*o.thickness):Math.max(0,S(o.innerSize||0,n)),n),this.translate(u),this.drawDataLabels&&this.drawDataLabels()):b=!0}return b}var P=[],g={radialDistributionY:function(c){return c.top+c.distributeBox.pos},radialDistributionX:function(c,u,o,m){return c.getX(o<u.top+2||o>u.bottom-2?m:o,u.half,u)},justify:function(c,u,o){return o[0]+(c.half?-1:1)*(u+c.labelDistance)},alignToPlotEdges:function(c,u,o,m){return c=c.getBBox().width,u?c+m:o-c-m},alignToConnectors:function(c,u,o,m){var b,l=0;return c.forEach(function(n){(b=n.dataLabel.getBBox().width)>l&&(l=b)}),u?l+m:o-l-m}};E.compose=function(c){X.compose(W),-1===P.indexOf(c)&&(P.push(c),(c=c.prototype).dataLabelPositioners=g,c.alignDataLabel=it,c.drawDataLabels=v,c.placeDataLabels=k,c.verifyDataLabelOverflow=O)}}(M||(M={})),M}),Mt($,"Extensions/OverlappingDataLabels.js",[$["Core/Chart/Chart.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L){var C=!1;if(I){var y=I.newOpacity;I.oldOpacity!==y&&(I.alignAttr&&I.placed?(I[y?"removeClass":"addClass"]("highcharts-data-label-hidden"),C=!0,I.alignAttr.opacity=y,I[I.isOld?"animate":"attr"](I.alignAttr,null,function(){L.styledMode||I.css({pointerEvents:y?"auto":"none"})}),Q(L,"afterHideOverlappingLabel")):I.attr({opacity:y})),I.isOld=!0}return C}var Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.objectEach,F=Y.pick;(0,Y.addEvent)(X,"render",function(){var I=this,L=[];(this.labelCollectors||[]).forEach(function(C){L=L.concat(C())}),(this.yAxis||[]).forEach(function(C){C.stacking&&C.options.stackLabels&&!C.options.stackLabels.allowOverlap&&W(C.stacking.stacks,function(y){W(y,function(S){S.label&&L.push(S.label)})})}),(this.series||[]).forEach(function(C){var y=C.options.dataLabels;C.visible&&(!1!==y.enabled||C._hasPointLabels)&&((y=function(S){return S.forEach(function(M){M.visible&&(it(M.dataLabels)?M.dataLabels:M.dataLabel?[M.dataLabel]:[]).forEach(function(E){var v=E.options;E.labelrank=F(v.labelrank,M.labelrank,M.shapeArgs&&M.shapeArgs.height),v.allowOverlap?(E.oldOpacity=E.opacity,E.newOpacity=1,et(E,I)):L.push(E)})})})(C.nodes||[]),y(C.points))}),this.hideOverlappingLabels(L)}),X.prototype.hideOverlappingLabels=function(I){var S,M,E,L=this,C=I.length,y=L.renderer,v=!1,k=function(g){var c,m,u=g.box?0:g.padding||0,o=c=0;if(g&&(!g.alignAttr||g.placed)){var l=g.alignAttr||{x:g.attr("x"),y:g.attr("y")},b=g.parentGroup;return g.width||(c=g.getBBox(),g.width=c.width,g.height=c.height,c=y.fontMetrics(null,g.element).h),(m={left:"0",center:"0.5",right:"1"}[g.alignValue])?o=+m*(g.width-2*u):K(g.x)&&Math.round(g.x)!==g.translateX&&(o=g.x-g.translateX),{x:l.x+(b.translateX||0)+u-(o||0),y:l.y+(b.translateY||0)+u-c,width:g.width-2*u,height:g.height-2*u}}};for(M=0;M<C;M++)(S=I[M])&&(S.oldOpacity=S.opacity,S.newOpacity=1,S.absoluteBox=k(S));for(I.sort(function(g,c){return(c.labelrank||0)-(g.labelrank||0)}),M=0;M<C;M++){var O=(k=I[M])&&k.absoluteBox;for(S=M+1;S<C;++S){var P=(E=I[S])&&E.absoluteBox;!O||!P||k===E||0===k.newOpacity||0===E.newOpacity||"hidden"===k.visibility||"hidden"===E.visibility||P.x>=O.x+O.width||P.x+P.width<=O.x||P.y>=O.y+O.height||P.y+P.height<=O.y||((k.labelrank<E.labelrank?k:E).newOpacity=0)}}I.forEach(function(g){et(g,L)&&(v=!0)}),v&&Q(L,"afterHideAllOverlappingLabels")}}),Mt($,"Core/Responsive.js",[$["Core/Utilities.js"]],function(X){var L,Y=X.extend,et=X.find,rt=X.isArray,Q=X.isObject,it=X.merge,K=X.objectEach,W=X.pick,F=X.splat,I=X.uniqueKey;return function(C){var y=[];C.compose=function(M){return-1===y.indexOf(M)&&(y.push(M),Y(M.prototype,S.prototype)),M};var S=function(){function M(){}return M.prototype.currentOptions=function(E){var k=this,O={};return function v(P,g,c,u){var o;K(P,function(m,l){if(!u&&-1<k.collectionsWithUpdate.indexOf(l)&&g[l])for(m=F(m),c[l]=[],o=0;o<Math.max(m.length,g[l].length);o++)g[l][o]&&(void 0===m[o]?c[l][o]=g[l][o]:(c[l][o]={},v(m[o],g[l][o],c[l][o],u+1)));else Q(m)?(c[l]=rt(m)?[]:{},v(m,g[l]||{},c[l],u+1)):c[l]=void 0===g[l]?null:g[l]})}(E,this.options,O,0),O},M.prototype.matchResponsiveRule=function(E,v){var k=E.condition;(k.callback||function(){return this.chartWidth<=W(k.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=W(k.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=W(k.minWidth,0)&&this.chartHeight>=W(k.minHeight,0)}).call(this)&&v.push(E._id)},M.prototype.setResponsive=function(E,v){var k=this,O=this.options.responsive,P=this.currentResponsive,g=[];!v&&O&&O.rules&&O.rules.forEach(function(c){void 0===c._id&&(c._id=I()),k.matchResponsiveRule(c,g)},this),(v=it.apply(void 0,g.map(function(c){return et((O||{}).rules||[],function(u){return u._id===c})}).map(function(c){return c&&c.chartOptions}))).isResponsiveOptions=!0,(g=g.toString()||void 0)!==(P&&P.ruleIds)&&(P&&this.update(P.undoOptions,E,!0),g?((P=this.currentOptions(v)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:g,mergedOptions:v,undoOptions:P},this.update(v,E,!0)):this.currentResponsive=void 0)},M}()}(L||(L={})),L}),Mt($,"masters/highcharts.src.js",[$["Core/Globals.js"],$["Core/Utilities.js"],$["Core/DefaultOptions.js"],$["Core/Animation/Fx.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/FormatUtilities.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Renderer/HTML/HTMLElement.js"],$["Core/Renderer/HTML/HTMLRenderer.js"],$["Core/Axis/Axis.js"],$["Core/Axis/DateTimeAxis.js"],$["Core/Axis/LogarithmicAxis.js"],$["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],$["Core/Axis/Tick.js"],$["Core/Tooltip.js"],$["Core/Series/Point.js"],$["Core/Pointer.js"],$["Core/MSPointer.js"],$["Core/Legend/Legend.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Series/Column/ColumnSeries.js"],$["Series/Column/ColumnDataLabel.js"],$["Series/Pie/PieSeries.js"],$["Series/Pie/PieDataLabel.js"],$["Core/Series/DataLabel.js"],$["Core/Responsive.js"],$["Core/Color/Color.js"],$["Core/Time.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M,E,v,k,O,P,g,c,u,o,m,l,b,n,r,f,T,w,D){return X.animate=Q.animate,X.animObject=Q.animObject,X.getDeferredAnimation=Q.getDeferredAnimation,X.setAnimation=Q.setAnimation,X.stop=Q.stop,X.timers=rt.timers,X.AST=it,X.Axis=y,X.Chart=u,X.chart=u.chart,X.Fx=rt,X.Legend=c,X.PlotLineOrBand=E,X.Point=O,X.Pointer=g.isRequired()?g:P,X.Series=o,X.SVGElement=F,X.SVGRenderer=I,X.Tick=v,X.Time=D,X.Tooltip=k,X.Color=w,X.color=w.parse,C.compose(I),L.compose(F),X.defaultOptions=et.defaultOptions,X.getOptions=et.getOptions,X.time=et.defaultTime,X.setOptions=et.setOptions,X.dateFormat=K.dateFormat,X.format=K.format,X.numberFormat=K.numberFormat,X.addEvent=Y.addEvent,X.arrayMax=Y.arrayMax,X.arrayMin=Y.arrayMin,X.attr=Y.attr,X.clearTimeout=Y.clearTimeout,X.correctFloat=Y.correctFloat,X.createElement=Y.createElement,X.css=Y.css,X.defined=Y.defined,X.destroyObjectProperties=Y.destroyObjectProperties,X.discardElement=Y.discardElement,X.distribute=W.distribute,X.erase=Y.erase,X.error=Y.error,X.extend=Y.extend,X.extendClass=Y.extendClass,X.find=Y.find,X.fireEvent=Y.fireEvent,X.getMagnitude=Y.getMagnitude,X.getStyle=Y.getStyle,X.inArray=Y.inArray,X.isArray=Y.isArray,X.isClass=Y.isClass,X.isDOMElement=Y.isDOMElement,X.isFunction=Y.isFunction,X.isNumber=Y.isNumber,X.isObject=Y.isObject,X.isString=Y.isString,X.keys=Y.keys,X.merge=Y.merge,X.normalizeTickInterval=Y.normalizeTickInterval,X.objectEach=Y.objectEach,X.offset=Y.offset,X.pad=Y.pad,X.pick=Y.pick,X.pInt=Y.pInt,X.relativeLength=Y.relativeLength,X.removeEvent=Y.removeEvent,X.seriesType=m.seriesType,X.splat=Y.splat,X.stableSort=Y.stableSort,X.syncTimeout=Y.syncTimeout,X.timeUnits=Y.timeUnits,X.uniqueKey=Y.uniqueKey,X.useSerialIds=Y.useSerialIds,X.wrap=Y.wrap,b.compose(l),f.compose(o),S.compose(y),M.compose(y),r.compose(n),E.compose(y),T.compose(u),X}),Mt($,"Series/XRange/XRangePoint.js",[$["Core/Series/Point.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var Q,rt=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)});return et=et.extend,Y=function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.options=void 0,K.series=void 0,K}return rt(it,Q),it.getColorByCategory=function(K,W){var F=K.options.colors||K.chart.options.colors;return{colorIndex:K=W.y%(F?F.length:K.chart.options.chart.colorCount),color:F&&F[K]}},it.prototype.resolveColor=function(){var K=this.series;if(K.options.colorByPoint&&!this.options.color){var W=it.getColorByCategory(K,this);K.chart.styledMode||(this.color=W.color),this.options.colorIndex||(this.colorIndex=W.colorIndex)}else this.color||(this.color=K.color)},it.prototype.init=function(){return X.prototype.init.apply(this,arguments),this.y||(this.y=0),this},it.prototype.setState=function(){X.prototype.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())},it.prototype.getLabelConfig=function(){var K=X.prototype.getLabelConfig.call(this),W=this.series.yAxis.categories;return K.x2=this.x2,K.yCategory=this.yCategory=W&&W[this.y],K},it.prototype.isValid=function(){return"number"==typeof this.x&&"number"==typeof this.x2},it}(Y.seriesTypes.column.prototype.pointClass),et(Y.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),Y}),Mt($,"Series/XRange/XRangeComposition.js",[$["Core/Axis/Axis.js"],$["Core/Utilities.js"]],function(X,Y){var rt=Y.pick;(0,Y.addEvent)(X,"afterGetSeriesExtremes",function(){var it,Q=this.series;if(this.isXAxis){var K=rt(this.dataMax,-Number.MAX_VALUE);Q.forEach(function(W){W.x2Data&&W.x2Data.forEach(function(F){F>K&&(K=F,it=!0)})}),it&&(this.dataMax=K)}})}),Mt($,"Series/XRange/XRangeSeries.js",[$["Core/Globals.js"],$["Core/Color/Color.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"],$["Series/XRange/XRangePoint.js"]],function(X,Y,et,rt,Q){var O,it=this&&this.__extends||(O=function(P,g){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var o in u)u.hasOwnProperty(o)&&(c[o]=u[o])})(P,g)},function(P,g){function c(){this.constructor=P}O(P,g),P.prototype=null===g?Object.create(g):(c.prototype=g.prototype,new c)}),K=Y.parse,W=et.series,F=et.seriesTypes.column,I=F.prototype,L=rt.clamp,C=rt.correctFloat,y=rt.defined;Y=rt.extend;var S=rt.find,M=rt.isNumber,E=rt.isObject,v=rt.merge,k=rt.pick;return rt=function(O){function P(){var g=null!==O&&O.apply(this,arguments)||this;return g.data=void 0,g.options=void 0,g.points=void 0,g}return it(P,O),P.prototype.init=function(){F.prototype.init.apply(this,arguments),this.options.stacking=void 0},P.prototype.getColumnMetrics=function(){function g(){c.series.forEach(function(o){var m=o.xAxis;o.xAxis=o.yAxis,o.yAxis=m})}var c=this.chart;g();var u=I.getColumnMetrics.call(this);return g(),u},P.prototype.cropData=function(g,c,u,o){return(c=W.prototype.cropData.call(this,this.x2Data,c,u,o)).xData=g.slice(c.start,c.end),c},P.prototype.findPointIndex=function(g){var c=this.cropped,u=this.cropStart,o=this.points,m=g.id;if(m)var l=(l=S(o,function(b){return b.id===m}))?l.index:void 0;return void 0===l&&(l=(l=S(o,function(b){return b.x===g.x&&b.x2===g.x2&&!b.touched}))?l.index:void 0),c&&M(l)&&M(u)&&l>=u&&(l-=u),l},P.prototype.translatePoint=function(g){var c=this.xAxis,u=this.yAxis,o=this.columnMetrics,m=this.options,l=m.minPointLength||0,b=(g.shapeArgs&&g.shapeArgs.width||0)/2,n=this.pointXOffset=o.offset,r=g.plotX,f=k(g.x2,g.x+(g.len||0)),T=c.translate(f,0,0,0,1);f=Math.abs(T-r);var w=this.chart.inverted,D=k(m.borderWidth,1)%2/2,d=o.offset,R=Math.round(o.width);l&&(0>(l-=f)&&(l=0),r-=l/2,T+=l/2),r=Math.max(r,-10),T=L(T,-10,c.len+10),y(g.options.pointWidth)&&(d-=(Math.ceil(g.options.pointWidth)-R)/2,R=Math.ceil(g.options.pointWidth)),m.pointPlacement&&M(g.plotY)&&u.categories&&(g.plotY=u.translate(g.y,0,1,0,1,m.pointPlacement)),m={x:m=Math.floor(Math.min(r,T))+D,y:Math.floor(g.plotY+d)+D,width:Math.floor(Math.max(r,T))+D-m,height:R,r:this.options.borderRadius},g.shapeArgs=m,w?g.tooltipPos[1]+=n+b:g.tooltipPos[0]-=b+n-m.width/2,n=(b=m.x)+m.width,0>b||n>c.len?(b=L(b,0,c.len),n=L(n,0,c.len),g.dlBox=v(m,{x:b,width:n-b,centerX:(T=n-b)?T/2:null})):g.dlBox=null,T=w?0:1,o=this.columnMetrics?this.columnMetrics.offset:-o.width/2,(b=g.tooltipPos)[n=w?1:0]=w?b[n]+m.width/2:b[n]+(c.reversed?-1:0)*m.width,b[T]=L(b[T]+(w?-1:1)*o,0,u.len-1),(u=g.partialFill)&&(E(u)&&(u=u.amount),M(u)||(u=0),g.partShapeArgs=v(m,{r:this.options.borderRadius}),r=Math.max(Math.round(f*u+g.plotX-r),0),g.clipRectArgs={x:c.reversed?m.x+f-r:m.x,y:m.y,width:r,height:m.height})},P.prototype.translate=function(){I.translate.apply(this,arguments),this.points.forEach(function(g){this.translatePoint(g)},this)},P.prototype.drawPoint=function(g,c){var u=this.options,o=this.chart.renderer,m=g.graphic,l=g.shapeType,b=g.shapeArgs,n=g.partShapeArgs,r=g.clipRectArgs,f=g.partialFill,T=u.stacking&&!u.borderRadius,w=g.state,D=u.states[w||"normal"]||{},d=void 0===w?"attr":c;w=this.pointAttribs(g,w),D=k(this.chart.options.chart.animation,D.animation),g.isNull||!1===g.visible?m&&(g.graphic=m.destroy()):(m?m.rect[c](b):(g.graphic=m=o.g("point").addClass(g.getClassName()).add(g.group||this.group),m.rect=o[l](v(b)).addClass(g.getClassName()).addClass("highcharts-partfill-original").add(m)),n&&(m.partRect?(m.partRect[c](v(n)),m.partialClipRect[c](v(r))):(m.partialClipRect=o.clipRect(r.x,r.y,r.width,r.height),m.partRect=o[l](n).addClass("highcharts-partfill-overlay").add(m).clip(m.partialClipRect))),this.chart.styledMode||(m.rect[c](w,D).shadow(u.shadow,null,T),n&&(E(f)||(f={}),E(u.partialFill)&&(f=v(u.partialFill,f)),g=f.fill||K(w.fill).brighten(-.3).get()||K(g.color||this.color).brighten(-.3).get(),w.fill=g,m.partRect[d](w,D).shadow(u.shadow,null,T))))},P.prototype.drawPoints=function(){var g=this,c=g.getAnimationVerb();g.points.forEach(function(u){g.drawPoint(u,c)})},P.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"},P.prototype.isPointInside=function(g){var c=g.shapeArgs,u=g.plotX,o=g.plotY;return c?void 0!==u&&void 0!==o&&0<=o&&o<=this.yAxis.len&&0<=(c.x||0)+(c.width||0)&&u<=this.xAxis.len:O.prototype.isPointInside.apply(this,arguments)},P.defaultOptions=v(F.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){var g=this.point.partialFill;if(E(g)&&(g=g.amount),M(g)&&0<g)return C(100*g)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 10px">{point.x} - {point.x2}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.yCategory}</b><br/>'},borderRadius:3,pointRange:0}),P}(F),Y(rt.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:W.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:X.noop,buildKDTree:X.noop,pointClass:Q}),et.registerSeriesType("xrange",rt),rt}),Mt($,"Series/Gantt/GanttPoint.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var Q,et=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)}),rt=Y.pick;return function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.options=void 0,K.series=void 0,K}return et(it,Q),it.setGanttPointAliases=function(K){function W(F,I){void 0!==I&&(K[F]=I)}W("x",rt(K.start,K.x)),W("x2",rt(K.end,K.x2)),W("partialFill",rt(K.completed,K.partialFill))},it.prototype.applyOptions=function(K,W){return K=Q.prototype.applyOptions.call(this,K,W),it.setGanttPointAliases(K),K},it.prototype.isValid=function(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)},it}(X.seriesTypes.xrange.prototype.pointClass)}),Mt($,"Core/Axis/BrokenAxis.js",[$["Extensions/Stacking.js"],$["Core/Utilities.js"]],function(X,Y){var F,et=Y.addEvent,rt=Y.find,Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.pick;return function(I){function L(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function C(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function y(){var g=this.brokenAxis;if(g&&g.hasBreaks){for(var c=this.tickPositions,u=this.tickPositions.info,o=[],m=0;m<c.length;m++)g.isInAnyBreak(c[m])||o.push(c[m]);this.tickPositions=o,this.tickPositions.info=u}}function S(){this.brokenAxis||(this.brokenAxis=new P(this))}function M(){var g=this.options.connectNulls,c=this.points,u=this.xAxis,o=this.yAxis;if(this.isDirty)for(var m=c.length;m--;){var l=c[m],b=!(null===l.y&&!1===g)&&(u&&u.brokenAxis&&u.brokenAxis.isInAnyBreak(l.x,!0)||o&&o.brokenAxis&&o.brokenAxis.isInAnyBreak(l.y,!0));l.visible=!b&&!1!==l.options.visible}}function E(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,W(this.pointArrayMap,["y"]))}function v(g,c){var m,l,b,n,u=this,o=u.points;if(g&&g.brokenAxis&&g.brokenAxis.hasBreaks){var r=g.brokenAxis;c.forEach(function(f){m=r&&r.breakArray||[],l=g.isXAxis?g.min:W(u.options.threshold,g.min),o.forEach(function(T){n=W(T["stack"+f.toUpperCase()],T[f]),m.forEach(function(w){K(l)&&K(n)&&(b=!1,l<w.from&&n>w.to||l>w.from&&n<w.from?b="pointBreak":(l<w.from&&n>w.from&&n<w.to||l>w.from&&n>w.to&&n<w.from)&&(b="pointInBreak"),b&&Q(g,b,{point:T,brk:w}))})})})}}function k(){var g=this.currentDataGrouping,c=g&&g.gapSize;g=this.points.slice();var l,u=this.yAxis,o=this.options.gapSize,m=g.length-1;if(o&&0<m)for("value"!==this.options.gapUnit&&(o*=this.basePointRange),c&&c>o&&c>=this.basePointRange&&(o=c),l=void 0;m--;)l&&!1!==l.visible||(l=g[m+1]),c=g[m],!1!==l.visible&&!1!==c.visible&&(l.x-c.x>o&&(g.splice(m+1,0,{isNull:!0,x:l=(c.x+l.x)/2}),u.stacking&&this.options.stacking&&((l=u.stacking.stacks[this.stackKey][l]=new X(u,u.options.stackLabels,!1,l,this.stack)).total=0)),l=c);return this.getGraphPath(g)}var O=[];I.compose=function(g,c){if(-1===O.indexOf(g)&&(O.push(g),g.keepProps.push("brokenAxis"),et(g,"init",S),et(g,"afterInit",L),et(g,"afterSetTickPositions",y),et(g,"afterSetOptions",C)),-1===O.indexOf(c)){O.push(c);var u=c.prototype;u.drawBreaks=v,u.gappedPath=k,et(c,"afterGeneratePoints",M),et(c,"afterRender",E)}return g};var P=function(){function g(c){this.hasBreaks=!1,this.axis=c}return g.isInBreak=function(c,u){var o=c.repeat||1/0,m=c.from,l=c.to-c.from;return u=u>=m?(u-m)%o:o-(m-u)%o,c.inclusive?u<=l:u<l&&0!==u},g.lin2Val=function(c){var o,u=this.brokenAxis;if(!(u=u&&u.breakArray)||!K(c))return c;for(o=0;o<u.length;o++){var m=u[o];if(m.from>=c)break;(m.to<c||g.isInBreak(m,c))&&(c+=m.len)}return c},g.val2Lin=function(c){var u=this.brokenAxis;if(!(u=u&&u.breakArray)||!K(c))return c;var m,o=c;for(m=0;m<u.length;m++){var l=u[m];if(l.to<=c)o-=l.len;else{if(l.from>=c)break;if(g.isInBreak(l,c)){o-=c-l.from;break}}}return o},g.prototype.findBreakAt=function(c,u){return rt(u,function(o){return o.from<c&&c<o.to})},g.prototype.isInAnyBreak=function(c,u){var b,o=this.axis,m=o.options.breaks||[],l=m.length;if(l&&K(c)){for(;l--;)if(g.isInBreak(m[l],c)){var n=!0;b||(b=W(m[l].showPoints,!o.isXAxis))}var r=n&&u?n&&!b:n}return r},g.prototype.setBreaks=function(c,u){var o=this,m=o.axis,l=it(c)&&!!c.length;m.isDirty=o.hasBreaks!==l,o.hasBreaks=l,m.options.breaks=m.userOptions.breaks=c,m.forceRedraw=!0,m.series.forEach(function(b){b.isDirty=!0}),l||m.val2lin!==g.val2Lin||(delete m.val2lin,delete m.lin2val),l&&(m.userOptions.ordinal=!1,m.lin2val=g.lin2Val,m.val2lin=g.val2Lin,m.setExtremes=function(b,n,r,f,T){if(o.hasBreaks){for(var D,w=this.options.breaks||[];D=o.findBreakAt(b,w);)b=D.to;for(;D=o.findBreakAt(n,w);)n=D.from;n<b&&(n=b)}m.constructor.prototype.setExtremes.call(this,b,n,r,f,T)},m.setAxisTranslation=function(){if(m.constructor.prototype.setAxisTranslation.call(this),o.unitLength=void 0,o.hasBreaks){var w,R,b=m.options.breaks||[],n=[],r=[],f=W(m.pointRangePadding,0),T=0,D=m.userMin||m.min,d=m.userMax||m.max;b.forEach(function(A){w=A.repeat||1/0,K(D)&&K(d)&&(g.isInBreak(A,D)&&(D+=A.to%w-D%w),g.isInBreak(A,d)&&(d-=d%w-A.from%w))}),b.forEach(function(A){if(h=A.from,w=A.repeat||1/0,K(D)&&K(d)){for(;h-w>D;)h-=w;for(;h<D;)h+=w;for(R=h;R<d;R+=w)n.push({value:R,move:"in"}),n.push({value:R+A.to-A.from,move:"out",size:A.breakSize})}}),n.sort(function(A,j){return A.value===j.value?("in"===A.move?0:1)-("in"===j.move?0:1):A.value-j.value});var a=0,h=D;n.forEach(function(A){1===(a+="in"===A.move?1:-1)&&"in"===A.move&&(h=A.value),0===a&&K(h)&&(r.push({from:h,to:A.value,len:A.value-h-(A.size||0)}),T+=A.value-h-(A.size||0))}),o.breakArray=r,K(D)&&K(d)&&K(m.min)&&(o.unitLength=d-D-T+f,Q(m,"afterBreaks"),m.staticScale?m.transA=m.staticScale:o.unitLength&&(m.transA*=(d-m.min+f)/o.unitLength),f&&(m.minPixelPadding=m.transA*(m.minPointOffset||0)),m.min=D,m.max=d)}}),W(u,!0)&&m.chart.redraw()},g}();I.Additions=P}(F||(F={})),F}),Mt($,"Core/Axis/GridAxis.js",[$["Core/Axis/Axis.js"],$["Core/Axis/AxisDefaults.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var E,Q=et.dateFormats,it=rt.addEvent,K=rt.defined,W=rt.erase,F=rt.find,I=rt.isArray,L=rt.isNumber,C=rt.merge,y=rt.pick,S=rt.timeUnits,M=rt.wrap;return function(v){function k(a,h){var A={width:0,height:0};return h.forEach(function(j){if(rt.isObject(j=a[j],!0)){var z=rt.isObject(j.label,!0)?j.label:{};j=z.getBBox?z.getBBox().height:0,z.textStr&&!L(z.textPxLength)&&(z.textPxLength=z.getBBox().width);var H=L(z.textPxLength)?Math.round(z.textPxLength):0;z.textStr&&(H=Math.round(z.getBBox().width)),A.height=Math.max(j,A.height),A.width=Math.max(H,A.width)}}),"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&(A.width+=this.options.labels.indentation*((this.treeGrid.mapOfPosToGridNode[-1].height||0)-1)),A}function O(){var a=this.grid;(a&&a.columns||[]).forEach(function(h){h.getOffset()})}function P(a){if(!0===(this.options.grid||{}).enabled){var h=this.axisTitle,A=this.height,j=this.horiz,z=this.left,H=this.offset,p=this.opposite,N=this.options,_=this.top,G=this.width,U=this.tickSize(),tt=h&&h.getBBox().width,J=N.title.x,ot=N.title.y,at=y(N.title.margin,j?5:10);h=this.chart.renderer.fontMetrics(N.title.style.fontSize,h).f,U=(j?_+A:z)+(j?1:-1)*(p?-1:1)*(U?U[0]/2:0)+(this.side===v.Side.bottom?h:0),a.titlePosition.x=j?z-(tt||0)/2-at+J:U+(p?G:0)+H+J,a.titlePosition.y=j?U-(p?A:0)+(p?h:-h)/2+H+ot:_-at+ot}}function g(){var a=this.chart,h=this.options.grid,A=this.userOptions;if((h=void 0===h?{}:h).enabled){var j=this.options;j.labels.align=y(j.labels.align,"center"),this.categories||(j.showLastLabel=!1),this.labelRotation=0,j.labels.rotation=0}if(h.columns){j=this.grid.columns=[];for(var z=this.grid.columnIndex=0;++z<h.columns.length;){var H=C(A,h.columns[h.columns.length-z-1],{linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete H.grid.columns,(H=new X(this.chart,H)).grid.isColumn=!0,H.grid.columnIndex=z,W(a.axes,H),W(a[this.coll],H),j.push(H)}}}function c(){var a=this.grid,h=this.options;if(!0===(h.grid||{}).enabled){var A=this.min||0,j=this.max||0;if(this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid&&this.grid.isOuterAxis()&&this.axisLine){var z=h.lineWidth;if(z){var H=(z=this.getLinePath(z))[0],p=z[1],N=((this.tickSize("tick")||[1])[0]-1)*(this.side===v.Side.top||this.side===v.Side.left?-1:1);"M"===H[0]&&"L"===p[0]&&(this.horiz?(H[2]+=N,p[2]+=N):(H[1]+=N,p[1]+=N)),!this.horiz&&this.chart.marginRight&&(H=[H,["L",this.left,H[2]||0]],N=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(j+this.tickmarkOffset)],p=[["M",p[1]||0,this.toPixels(j+this.tickmarkOffset)],N],this.grid.upperBorder||A%1==0||(this.grid.upperBorder=this.grid.renderBorder(H)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.upperBorder.animate({d:H})),this.grid.lowerBorder||j%1==0||(this.grid.lowerBorder=this.grid.renderBorder(p)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.lowerBorder.animate({d:p}))),this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.axisLineExtra.animate({d:z})):this.grid.axisLineExtra=this.grid.renderBorder(z),this.axisLine[this.showAxis?"show":"hide"]()}}if((a&&a.columns||[]).forEach(function(_){_.render()}),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){for(a=this.tickmarkOffset,h=this.tickPositions[this.tickPositions.length-1],z=this.tickPositions[0],H=p=void 0;(p=this.hiddenLabels.pop())&&p.element;)p.show();for(;(H=this.hiddenMarks.pop())&&H.element;)H.show();(p=this.ticks[z].label)&&(A-z>a?this.hiddenLabels.push(p.hide()):p.show()),(p=this.ticks[h].label)&&(h-j>a?this.hiddenLabels.push(p.hide()):p.show()),(A=this.ticks[h].mark)&&h-j<a&&0<h-j&&this.ticks[h].isLast&&this.hiddenMarks.push(A.hide())}}}function u(){var a=this.tickPositions&&this.tickPositions.info,h=this.options,A=this.userOptions.labels||{};(h.grid||{}).enabled&&(this.horiz?(this.series.forEach(function(j){j.options.pointRange=0}),a&&h.dateTimeLabelFormats&&h.labels&&!K(A.align)&&(!1===h.dateTimeLabelFormats[a.unitName].range||1<a.count)&&(h.labels.align="left",K(A.x)||(h.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function o(a){var h=this.options;a=a.userOptions;var A=h&&rt.isObject(h.grid,!0)?h.grid:{};if(!0===A.enabled){var j=C(!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"}},margin:0,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)&&(j.tickPixelInterval=350),K(a.tickPixelInterval)||!K(a.linkedTo)||K(a.tickPositioner)||K(a.tickInterval)||(j.tickPositioner=function(z,H){var p=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(p){for(var N=j.units||[],_=void 0,G=void 0,U=void 0,tt=0;tt<N.length;tt++)if(N[tt][0]===p.unitName){_=tt;break}return N[_+1]?(U=N[_+1][0],G=(N[_+1][1]||[1])[0]):"year"===p.unitName&&(U="year",G=10*p.count),this.tickInterval=(p=S[U])*G,this.getTimeTicks({unitRange:p,count:G,unitName:U},z,H,this.options.startOfWeek)}})),C(!0,this.options,j),this.horiz&&(h.minPadding=y(a.minPadding,0),h.maxPadding=y(a.maxPadding,0)),L(h.grid.borderWidth)&&(h.tickWidth=h.lineWidth=A.borderWidth)}}function m(a){var h=(a=(a=a.userOptions)&&a.grid||{}).columns;a.enabled&&h&&C(!0,this.options,h[h.length-1])}function l(){(this.grid.columns||[]).forEach(function(a){a.setScale()})}function b(a){var h=Y.defaultLeftAxisOptions,A=this.horiz,j=this.maxLabelDimensions,z=this.options.grid;(z=void 0===z?{}:z).enabled&&j&&(h=2*Math.abs(h.labels.x),A=A?z.cellHeight||h+j.height:h+j.width,I(a.tickSize)?a.tickSize[0]=A:a.tickSize=[A,0])}function n(){this.axes.forEach(function(a){(a.grid&&a.grid.columns||[]).forEach(function(h){h.setAxisSize(),h.setAxisTranslation()})})}function r(a){var h=this.grid;(h.columns||[]).forEach(function(A){A.destroy(a.keepEvents)}),h.columns=void 0}function f(a){var h=(a=a.userOptions||{}).grid||{};h.enabled&&K(h.borderColor)&&(a.tickColor=a.lineColor=h.borderColor),this.grid||(this.grid=new R(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function T(a){var h=this.label,A=this.axis,j=A.reversed,z=A.chart,H=A.options.grid||{},p=A.options.labels,N=p.align,_=v.Side[A.side],G=a.tickmarkOffset,U=A.tickPositions,tt=this.pos-G;U=L(U[a.index+1])?U[a.index+1]-G:(A.max||0)+G;var J=A.tickSize("tick");if(G=J?J[0]:0,J=J?J[1]/2:0,!0===H.enabled){if("top"===_)var ot=(H=A.top+A.offset)-G;else"bottom"===_?H=(ot=z.chartHeight-A.bottom+A.offset)+G:(H=A.top+A.len-(A.translate(j?U:tt)||0),ot=A.top+A.len-(A.translate(j?tt:U)||0));"right"===_?j=(_=z.chartWidth-A.right+A.offset)+G:"left"===_?_=(j=A.left+A.offset)-G:(_=Math.round(A.left+(A.translate(j?U:tt)||0))-J,j=Math.min(Math.round(A.left+(A.translate(j?tt:U)||0))-J,A.left+A.len)),this.slotWidth=j-_,a.pos.x="left"===N?_:"right"===N?j:_+(j-_)/2,a.pos.y=ot+(H-ot)/2,z=z.renderer.fontMetrics(p.style.fontSize,h&&h.element),h=h?h.getBBox().height:0,p.useHTML?a.pos.y+=z.b+-h/2:(h=Math.round(h/z.h),a.pos.y+=(z.b-(z.h-z.f))/2+-(h-1)*z.h/2),a.pos.x+=A.horiz&&p.x||0}}function w(a){var h=a.axis,A=a.value;if(h.options.grid&&h.options.grid.enabled){var j=h.tickPositions,z=(h.linkedParent||h).series[0],H=A===j[0];j=A===j[j.length-1];var p=z&&F(z.options.data,function(_){return _[h.isXAxis?"x":"y"]===A}),N=void 0;p&&z.is("gantt")&&(N=C(p),et.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(N)),a.isFirst=H,a.isLast=j,a.point=N}}function D(){var a=this.options,A=this.tickPositions,j=A[0],z=A[A.length-1],H=this.linkedParent&&this.linkedParent.min||this.min,p=this.linkedParent&&this.linkedParent.max||this.max,N=this.tickInterval;!0!==(a.grid||{}).enabled||this.categories||!this.horiz&&!this.isLinked||(j<H&&j+N>H&&!a.startOnTick&&(A[0]=H),z>p&&z-N<p&&!a.endOnTick&&(A[A.length-1]=p))}function d(a){var h=this.options.grid;return!0===(void 0===h?{}:h).enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))}var a;(a=v.Side||(v.Side={}))[a.top=0]="top",a[a.right=1]="right",a[a.bottom=2]="bottom",a[a.left=3]="left",v.compose=function(a,h,A){return-1===a.keepProps.indexOf("grid")&&(a.keepProps.push("grid"),a.prototype.getMaxLabelDimensions=k,M(a.prototype,"unsquish",d),it(a,"init",f),it(a,"afterGetOffset",O),it(a,"afterGetTitlePosition",P),it(a,"afterInit",g),it(a,"afterRender",c),it(a,"afterSetAxisTranslation",u),it(a,"afterSetOptions",o),it(a,"afterSetOptions",m),it(a,"afterSetScale",l),it(a,"afterTickSize",b),it(a,"trimTicks",D),it(a,"destroy",r)),it(h,"afterSetChartSize",n),it(A,"afterGetLabelPosition",T),it(A,"labelFormat",w),a};var R=function(){function a(h){this.axis=h}return a.prototype.isOuterAxis=function(){var h=this.axis,A=h.grid.columnIndex,j=h.linkedParent&&h.linkedParent.grid.columns||h.grid.columns,z=A?h.linkedParent:h,H=-1,p=0;return h.chart[h.coll].forEach(function(N,_){N.side!==h.side||N.options.isInternal||(p=_,N===z&&(H=_))}),p===H&&(!L(A)||j.length===A)},a.prototype.renderBorder=function(h){var A=this.axis,j=A.chart.renderer,z=A.options;return h=j.path(h).addClass("highcharts-axis-line").add(A.axisBorder),j.styledMode||h.attr({stroke:z.lineColor,"stroke-width":z.lineWidth,zIndex:7}),h},a}();v.Additions=R}(E||(E={})),Q.E=function(v){return this.dateFormat("%a",v,!0).charAt(0)},Q.W=function(v){var k=this,O=new this.Date(v);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(g){k.set(g,O,0)});var P=(this.get("Day",O)+6)%7;return v=new this.Date(O.valueOf()),this.set("Date",v,this.get("Date",O)-P+3),P=new this.Date(this.get("FullYear",v),0,1),4!==this.get("Day",P)&&(this.set("Month",O,0),this.set("Date",O,1+(11-this.get("Day",P))%7)),(1+Math.floor((v.valueOf()-P.valueOf())/6048e5)).toString()},E}),Mt($,"Gantt/Tree.js",[$["Core/Utilities.js"]],function(X){var Y=X.extend,et=X.isNumber,rt=X.pick,Q=function(K,W){var F=K.reduce(function(I,L){var C=rt(L.parent,"");return void 0===I[C]&&(I[C]=[]),I[C].push(L),I},{});return Object.keys(F).forEach(function(I,L){var C=F[I];""!==I&&-1===W.indexOf(I)&&(C.forEach(function(y){L[""].push(y)}),delete L[I])}),F},it=function(K,W,F,I,L,C){var v,k,y=0,S=0,M=C&&C.after,E=C&&C.before;return W={data:I,depth:F-1,id:K,level:F,parent:W},"function"==typeof E&&E(W,C),E=(L[K]||[]).map(function(O){var P=it(O.id,K,F+1,O,L,C),g=O.start;return O=!0===O.milestone?g:O.end,v=!et(v)||g<v?g:v,k=!et(k)||O>k?O:k,y=y+1+P.descendants,S=Math.max(P.height+1,S),P}),I&&(I.start=rt(I.start,v),I.end=rt(I.end,k)),Y(W,{children:E,descendants:y,height:S}),"function"==typeof M&&M(W,C),W};return{getListOfParents:Q,getNode:it,getTree:function(K,W){var F=K.map(function(I){return I.id});return K=Q(K,F),it("",null,1,null,K,W)}}}),Mt($,"Core/Axis/TreeGridTick.js",[$["Core/Utilities.js"]],function(X){var K,Y=X.addEvent,et=X.isObject,rt=X.isNumber,Q=X.pick,it=X.wrap;return function(W){function F(){this.treeGrid||(this.treeGrid=new S(this))}function I(M,E){var v=!(M=M.treeGrid).labelIcon,k=E.renderer,O=E.xy,P=E.options,g=P.width||0,c=P.height||0,u=O.x-g/2-(P.padding||0);O=O.y-c/2;var o=E.collapsed?90:180,m=E.show&&rt(O),l=M.labelIcon;l||(M.labelIcon=l=k.path(k.symbols[P.type](P.x||0,P.y||0,g,c)).addClass("highcharts-label-icon").add(E.group)),l.attr({y:m?0:-9999}),k.styledMode||l.attr({cursor:"pointer",fill:Q(E.color,"#666666"),"stroke-width":1,stroke:P.lineColor,strokeWidth:P.lineWidth||0}),l[v?"attr":"animate"]({translateX:u,translateY:O,rotation:o})}function L(M,E,v,k,O,P,g,c,u){var o=Q(this.options&&this.options.labels,P);P=this.pos;var m=this.axis,l="treegrid"===m.options.type;return M=M.apply(this,[E,v,k,O,o,g,c,u]),l&&(E=o&&et(o.symbol,!0)?o.symbol:{},o=o&&rt(o.indentation)?o.indentation:0,P=(P=(m=m.treeGrid.mapOfPosToGridNode)&&m[P])&&P.depth||1,M.x+=(E.width||0)+2*(E.padding||0)+(P-1)*o),M}function C(M){var E=this,v=E.pos,k=E.axis,O=E.label,P=k.treeGrid.mapOfPosToGridNode,g=k.options,c=Q(E.options&&E.options.labels,g&&g.labels),u=c&&et(c.symbol,!0)?c.symbol:{},o=(P=P&&P[v])&&P.depth;g="treegrid"===g.type;var m=-1<k.tickPositions.indexOf(v);v=k.chart.styledMode,g&&P&&O&&O.element&&O.addClass("highcharts-treegrid-node-level-"+o),M.apply(E,Array.prototype.slice.call(arguments,1)),g&&O&&O.element&&P&&P.descendants&&0<P.descendants&&(k=k.treeGrid.isCollapsed(P),I(E,{color:!v&&O.styles&&O.styles.color||"",collapsed:k,group:O.parentGroup,options:u,renderer:O.renderer,show:m,xy:O.xy}),u="highcharts-treegrid-node-"+(k?"expanded":"collapsed"),O.addClass("highcharts-treegrid-node-"+(k?"collapsed":"expanded")).removeClass(u),v||O.css({cursor:"pointer"}),[O,E.treeGrid.labelIcon].forEach(function(l){l&&!l.attachedTreeGridEvents&&(Y(l.element,"mouseover",function(){O.addClass("highcharts-treegrid-node-active"),O.renderer.styledMode||O.css({textDecoration:"underline"})}),Y(l.element,"mouseout",function(){var b=et(c.style)?c.style:{};O.removeClass("highcharts-treegrid-node-active"),O.renderer.styledMode||O.css({textDecoration:b.textDecoration})}),Y(l.element,"click",function(){E.treeGrid.toggleCollapse()}),l.attachedTreeGridEvents=!0)}))}var y=!1;W.compose=function(M){y||(Y(M,"init",F),it(M.prototype,"getLabelPosition",L),it(M.prototype,"renderLabel",C),M.prototype.collapse=function(E){this.treeGrid.collapse(E)},M.prototype.expand=function(E){this.treeGrid.expand(E)},M.prototype.toggleCollapse=function(E){this.treeGrid.toggleCollapse(E)},y=!0)};var S=function(){function M(E){this.tick=E}return M.prototype.collapse=function(E){var v=this.tick,k=v.axis,O=k.brokenAxis;O&&k.treeGrid.mapOfPosToGridNode&&(v=k.treeGrid.collapse(k.treeGrid.mapOfPosToGridNode[v.pos]),O.setBreaks(v,Q(E,!0)))},M.prototype.destroy=function(){this.labelIcon&&this.labelIcon.destroy()},M.prototype.expand=function(E){var v=this.tick,k=v.axis,O=k.brokenAxis;O&&k.treeGrid.mapOfPosToGridNode&&(v=k.treeGrid.expand(k.treeGrid.mapOfPosToGridNode[v.pos]),O.setBreaks(v,Q(E,!0)))},M.prototype.toggleCollapse=function(E){var v=this.tick,k=v.axis,O=k.brokenAxis;O&&k.treeGrid.mapOfPosToGridNode&&(v=k.treeGrid.toggleCollapse(k.treeGrid.mapOfPosToGridNode[v.pos]),O.setBreaks(v,Q(E,!0)))},M}();W.Additions=S}(K||(K={})),K}),Mt($,"Series/TreeUtilities.js",[$["Core/Color/Color.js"],$["Core/Utilities.js"]],function(X,Y){var rt=Y.extend,Q=Y.isArray,it=Y.isNumber,K=Y.isObject,W=Y.merge,F=Y.pick;return{getColor:function(I,L){var g,C=L.index,y=L.mapOptionsToLevel,S=L.parentColor,M=L.parentColorIndex,E=L.series,v=L.colors,k=L.siblings,O=E.points,P=E.chart.options.chart;if(I){if(O=O[I.i],I=y[I.level]||{},y=O&&I.colorByPoint)var c=O.index%(v?v.length:P.colorCount),u=v&&v[c];E.chart.styledMode||(v=O&&O.options.color,P=I&&I.color,(g=S)&&(g=(g=I&&I.colorVariation)&&"brightness"===g.key&&C&&k?X.parse(S).brighten(C/k*g.to).get():S),g=F(v,P,u,g,E.color));var o=F(O&&O.options.colorIndex,I&&I.colorIndex,c,M,L.colorIndex)}return{color:g,colorIndex:o}},getLevelOptions:function(I){var L=null;if(K(I)){L={};var C=it(I.from)?I.from:1,y=I.levels,S={},M=K(I.defaults)?I.defaults:{};for(Q(y)&&(S=y.reduce(function(E,v){if(K(v)&&it(v.level)){var k=W({},v),O=F(k.levelIsConstant,M.levelIsConstant);delete k.levelIsConstant,delete k.level,K(E[v=v.level+(O?0:C-1)])?W(!0,E[v],k):E[v]=k}return E},{})),y=it(I.to)?I.to:1,I=0;I<=y;I++)L[I]=W({},M,K(S[I])?S[I]:{})}return L},setTreeValues:function et(I,L){var C=L.before,y=L.idRoot,M=L.points[I.i],E=M&&M.options||{},v=[],k=0;return I.levelDynamic=I.level-(!1!==L.levelIsConstant?0:L.mapIdToNode[y].level),I.name=F(M&&M.name,""),I.visible=y===I.id||!0===L.visible,"function"==typeof C&&(I=C(I,L)),I.children.forEach(function(O,P){var g=rt({},L);rt(g,{index:P,siblings:I.children.length,visible:I.visible}),O=et(O,g),v.push(O),O.visible&&(k+=O.val)}),C=F(E.value,k),I.visible=0<=C&&(0<k||I.visible),I.children=v,I.childrenTotal=k,I.isLeaf=I.visible&&!k,I.val=C,I},updateRootId:function(I){if(K(I)){var L=K(I.options)?I.options:{};L=F(I.rootNode,L.rootId,""),K(I.userOptions)&&(I.userOptions.rootId=L),I.rootNode=L}return L}}}),Mt($,"Core/Axis/TreeGridAxis.js",[$["Core/Axis/BrokenAxis.js"],$["Core/Axis/GridAxis.js"],$["Gantt/Tree.js"],$["Core/Axis/TreeGridTick.js"],$["Series/TreeUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var v,K=Q.getLevelOptions,W=it.addEvent,F=it.find,I=it.fireEvent,L=it.isArray,C=it.isObject,y=it.isString,S=it.merge,M=it.pick,E=it.wrap;return function(k){function O(b,n){var r=b.collapseEnd||0;return b=b.collapseStart||0,r>=n&&(b-=.5),{from:b,to:r,showPoints:!1}}function P(b,n,r){var h,A,f=[],T=[],w={},D="boolean"==typeof n&&n,d={},R=-1;return b=et.getTree(b,{after:function(a){var h=0,A=0;(a=d[a.pos]).children.forEach(function(j){A+=(j.descendants||0)+1,h=Math.max((j.height||0)+1,h)}),a.descendants=A,a.height=h,a.collapsed&&T.push(a)},before:function(a){var h=C(a.data,!0)?a.data:{},A=y(h.name)?h.name:"",j=w[a.parent];j=C(j,!0)?d[j.pos]:null;var H,z=function(p){return p.name===A};D&&C(j,!0)&&(H=F(j.children,z))?(z=H.pos,H.nodes.push(a)):z=R++,d[z]||(d[z]=H={depth:j?j.depth+1:0,name:A,id:h.id,nodes:[a],children:[],pos:z},-1!==z&&f.push(A),C(j,!0)&&j.children.push(H)),y(a.id)&&(w[a.id]=a),H&&!0===h.collapsed&&(H.collapsed=!0),a.pos=z}}),h=r,d=(A=function(j,z,H){var p=z+(-1===z?0:h-1),N=(p-z)/2,_=z+N;return j.nodes.forEach(function(G){var U=G.data;C(U,!0)&&(U.y=z+(U.seriesIndex||0),delete U.seriesIndex),G.pos=_}),H[_]=j,j.pos=_,j.tickmarkOffset=N+.5,j.collapseStart=p+.5,j.children.forEach(function(G){A(G,p+1,H),p=(G.collapseEnd||0)-.5}),j.collapseEnd=p+.5,H})(d[-1],-1,{}),{categories:f,mapOfIdToNode:w,mapOfPosToGridNode:d,collapsedNodes:T,tree:b}}function g(b){b.target.axes.filter(function(n){return"treegrid"===n.options.type}).forEach(function(n){var r=n.options||{},f=r.labels,T=r.uniqueNames;r=r.max;var w=0;if(!n.treeGrid.mapOfPosToGridNode||n.series.some(function(R){return!R.hasRendered||R.isDirtyData||R.isDirty})){var D=n.series.reduce(function(R,a){return a.visible&&((a.options.data||[]).forEach(function(h){a.options.keys&&a.options.keys.length&&(h=a.pointClass.prototype.optionsToObject.call({series:a},h),a.pointClass.setGanttPointAliases(h)),C(h,!0)&&(h.seriesIndex=w,R.push(h))}),!0===T&&w++),R},[]);if(r&&D.length<r)for(var d=D.length;d<=r;d++)D.push({name:d+"\u200b"});r=P(D,T||!1,!0===T?w:1),n.categories=r.categories,n.treeGrid.mapOfPosToGridNode=r.mapOfPosToGridNode,n.hasNames=!0,n.treeGrid.tree=r.tree,n.series.forEach(function(R){var a=(R.options.data||[]).map(function(h){return L(h)&&R.options.keys&&R.options.keys.length&&D.forEach(function(A){0<=h.indexOf(A.x)&&0<=h.indexOf(A.x2)&&(h=A)}),C(h,!0)?S(h):h});R.visible&&R.setData(a,!1)}),n.treeGrid.mapOptionsToLevel=K({defaults:f,from:1,levels:f&&f.levels,to:n.treeGrid.tree&&n.treeGrid.tree.height}),"beforeRender"===b.type&&(n.treeGrid.collapsedNodes=r.collapsedNodes)}})}function c(b,n){var w,r=this.treeGrid.mapOptionsToLevel||{},f=this.ticks,T=f[n];if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var D=this.treeGrid.mapOfPosToGridNode[n];(r=r[D.depth])&&(w={labels:r}),!T&&m?f[n]=new m(this,n,void 0,void 0,{category:D.name,tickmarkOffset:D.tickmarkOffset,options:w}):(T.parameters.category=D.name,T.options=w,T.addLabel())}else b.apply(this,Array.prototype.slice.call(arguments,1))}function u(b,n,r){var f=this,T="treegrid"===r.type;f.treeGrid||(f.treeGrid=new l(f)),T&&(W(n,"beforeRender",g),W(n,"beforeRedraw",g),W(n,"addSeries",function(w){w.options.data&&(w=P(w.options.data,r.uniqueNames||!1,1),f.treeGrid.collapsedNodes=(f.treeGrid.collapsedNodes||[]).concat(w.collapsedNodes))}),W(f,"foundExtremes",function(){f.treeGrid.collapsedNodes&&f.treeGrid.collapsedNodes.forEach(function(w){var D=f.treeGrid.collapse(w);f.brokenAxis&&(f.brokenAxis.setBreaks(D,!1),f.treeGrid.collapsedNodes&&(f.treeGrid.collapsedNodes=f.treeGrid.collapsedNodes.filter(function(d){return w.collapseStart!==d.collapseStart||w.collapseEnd!==d.collapseEnd})))})}),W(f,"afterBreaks",function(){"yAxis"===f.coll&&!f.staticScale&&f.chart.options.chart.height&&(f.isDirty=!0)}),r=S({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},r,{reversed:!0,grid:{columns:void 0}})),b.apply(f,[n,r]),T&&(f.hasNames=!0,f.options.showLastLabel=!0)}function o(b){var n=this.options;"treegrid"===n.type?(this.min=M(this.userMin,n.min,this.dataMin),this.max=M(this.userMax,n.max,this.dataMax),I(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):b.apply(this,Array.prototype.slice.call(arguments,1))}var m;k.compose=function(b,n,r,f){return-1===b.keepProps.indexOf("treeGrid")&&(b.keepProps.push("treeGrid"),m=f,E(b.prototype,"generateTick",c),E(b.prototype,"init",u),E(b.prototype,"setTickInterval",o),b.prototype.utils={getNode:et.getNode},Y.compose(b,n,f),X.compose(b,r),rt.compose(f)),b};var l=function(){function b(n){this.axis=n}return b.prototype.setCollapsedStatus=function(n){var r=this.axis,f=r.chart;r.series.forEach(function(T){var w=T.options.data;if(n.id&&w){var D=f.get(n.id);T=w[T.data.indexOf(D)],D&&T&&(D.collapsed=n.collapsed,T.collapsed=n.collapsed)}})},b.prototype.collapse=function(n){var r=this.axis,f=r.options.breaks||[],T=O(n,r.max);return f.push(T),n.collapsed=!0,r.treeGrid.setCollapsedStatus(n),f},b.prototype.expand=function(n){var r=this.axis,f=r.options.breaks||[],T=O(n,r.max);return n.collapsed=!1,r.treeGrid.setCollapsedStatus(n),f.reduce(function(w,D){return D.to===T.to&&D.from===T.from||w.push(D),w},[])},b.prototype.getTickPositions=function(){var n=this.axis,r=Math.floor(n.min/n.tickInterval)*n.tickInterval,f=Math.ceil(n.max/n.tickInterval)*n.tickInterval;return Object.keys(n.treeGrid.mapOfPosToGridNode||{}).reduce(function(T,w){return!((w=+w)>=r&&w<=f)||n.brokenAxis&&n.brokenAxis.isInAnyBreak(w)||T.push(w),T},[])},b.prototype.isCollapsed=function(n){var r=this.axis,f=r.options.breaks||[],T=O(n,r.max);return f.some(function(w){return w.from===T.from&&w.to===T.to})},b.prototype.toggleCollapse=function(n){return this.isCollapsed(n)?this.expand(n):this.collapse(n)},b}();k.Additions=l}(v||(v={})),v}),Mt($,"Extensions/CurrentDateIndication.js",[$["Core/Axis/Axis.js"],$["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=et.addEvent,Q=et.merge;et=et.wrap;var it={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(K,W){return this.axis.chart.time.dateFormat(W||"",K)},rotation:0,style:{fontSize:"10px"}}};rt(X,"afterSetOptions",function(){var K=this.options,W=K.currentDateIndicator;W&&((W="object"==typeof W?Q(it,W):Q(it)).value=Date.now(),W.className="highcharts-current-date-indicator",K.plotLines||(K.plotLines=[]),K.plotLines.push(W))}),rt(Y,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}),et(Y.prototype,"getLabelText",function(K,W){var F=this.options;return F&&F.className&&-1!==F.className.indexOf("highcharts-current-date-indicator")&&F.label&&"function"==typeof F.label.formatter?(F.value=Date.now(),F.label.formatter.call(this,F.value,F.label.format)):K.call(this,W)})}),Mt($,"Extensions/StaticScale.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=et.addEvent,Q=et.defined,it=et.isNumber,K=et.pick;rt(X,"afterSetOptions",function(){var W=this.chart.options.chart;!this.horiz&&it(this.options.staticScale)&&(!W.height||W.scrollablePlotArea&&W.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)}),Y.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(W){var F=W.chart,I=!!F.initiatedScale&&F.options.animation,L=W.options.staticScale;if(W.staticScale&&Q(W.min)){var C=K(W.brokenAxis&&W.brokenAxis.unitLength,W.max+W.tickInterval-W.min)*L;L=(C=Math.max(C,L))-F.plotHeight,!F.scrollablePixelsY&&1<=Math.abs(L)&&(F.plotHeight=C,F.redrawTrigger="adjustHeight",F.setSize(void 0,F.chartHeight+L,I)),W.series.forEach(function(y){(y=y.sharedClipKey&&F.sharedClips[y.sharedClipKey])&&y.attr(F.inverted?{width:F.plotHeight}:{height:F.plotHeight})})}}),this.initiatedScale=!0),this.redrawTrigger=null},rt(Y,"render",Y.prototype.adjustHeight)}),Mt($,"Extensions/ArrowSymbols.js",[$["Core/Renderer/SVG/SVGRenderer.js"]],function(X){function Y(Q,it,K,W){return[["M",Q,it+W/2],["L",Q+K,it],["L",Q,it+W/2],["L",Q+K,it+W]]}function et(Q,it,K,W){return[["M",Q+K,it],["L",Q,it+W/2],["L",Q+K,it+W],["Z"]]}function rt(Q,it,K,W){return et(Q,it,K/2,W)}return(X=X.prototype.symbols).arrow=Y,X["arrow-filled"]=et,X["arrow-filled-half"]=rt,X["arrow-half"]=function(Q,it,K,W){return Y(Q,it,K/2,W)},X["triangle-left"]=et,X["triangle-left-half"]=rt,X}),Mt($,"Gantt/Connection.js",[$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){function Q(S){var M=S.shapeArgs;return M?{xMin:M.x||0,xMax:(M.x||0)+(M.width||0),yMin:M.y||0,yMax:(M.y||0)+(M.height||0)}:(M=S.graphic&&S.graphic.getBBox())?{xMin:S.plotX-M.width/2,xMax:S.plotX+M.width/2,yMin:S.plotY-M.height/2,yMax:S.plotY+M.height/2}:null}var it=rt.defined,K=rt.error,W=rt.extend,F=rt.merge,I=rt.objectEach,L=X.deg2rad,C=Math.max,y=Math.min;return W(Y.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}),Y=function(){function S(M,E,v){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0,this.init(M,E,v)}return S.prototype.init=function(M,E,v){this.fromPoint=M,this.toPoint=E,this.options=v,this.chart=M.series.chart,this.pathfinder=this.chart.pathfinder},S.prototype.renderPath=function(M,E,v){var k=this.chart,O=k.styledMode,P=k.pathfinder,g=!k.options.chart.forExport&&!1!==v,c=this.graphics&&this.graphics.path;P.group||(P.group=k.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(k.seriesGroup)),P.group.translate(k.plotLeft,k.plotTop),c&&c.renderer||(c=k.renderer.path().add(P.group),O||c.attr({opacity:0})),c.attr(E),M={d:M},O||(M.opacity=1),c[g?"animate":"attr"](M,v),this.graphics=this.graphics||{},this.graphics.path=c},S.prototype.addMarker=function(M,E,v){var k=this.fromPoint.series.chart,O=k.pathfinder;k=k.renderer;var P="start"===M?this.fromPoint:this.toPoint,g=P.getPathfinderAnchorPoint(E);if(E.enabled&&((v="start"===M?v[1]:v[v.length-2])&&"M"===v[0]||"L"===v[0])){if(v=P.getRadiansToVector(v={x:v[1],y:v[2]},g),g=P.getMarkerVector(v,E.radius,g),v=-v/L,E.width&&E.height)var c=E.width,u=E.height;else c=u=2*E.radius;this.graphics=this.graphics||{},g={x:g.x-c/2,y:g.y-u/2,width:c,height:u,rotation:v,rotationOriginX:g.x,rotationOriginY:g.y},this.graphics[M]?this.graphics[M].animate(g):(this.graphics[M]=k.symbol(E.symbol).addClass("highcharts-point-connecting-path-"+M+"-marker").attr(g).add(O.group),k.styledMode||this.graphics[M].attr({fill:E.color||this.fromPoint.color,stroke:E.lineColor,"stroke-width":E.lineWidth,opacity:0}).animate({opacity:1},P.series.options.animation))}},S.prototype.getPath=function(M){var E=this.pathfinder,v=this.chart,k=E.algorithms[M.type],O=E.chartObstacles;return"function"!=typeof k?(K('"'+M.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(k.requiresObstacles&&!O&&(O=E.chartObstacles=E.getChartObstacles(M),v.options.connectors.algorithmMargin=M.algorithmMargin,E.chartObstacleMetrics=E.getObstacleMetrics(O)),k(this.fromPoint.getPathfinderAnchorPoint(M.startMarker),this.toPoint.getPathfinderAnchorPoint(M.endMarker),F({chartObstacles:O,lineObstacles:E.lineObstacles||[],obstacleMetrics:E.chartObstacleMetrics,hardBounds:{xMin:0,xMax:v.plotWidth,yMin:0,yMax:v.plotHeight},obstacleOptions:{margin:M.algorithmMargin},startDirectionX:E.getAlgorithmStartDirection(M.startMarker)},M)))},S.prototype.render=function(){var M=this.fromPoint,E=M.series,v=E.chart,k=v.pathfinder,O=F(v.options.connectors,E.options.connectors,M.options.connectors,this.options),P={};v.styledMode||(P.stroke=O.lineColor||M.color,P["stroke-width"]=O.lineWidth,O.dashStyle&&(P.dashstyle=O.dashStyle)),P.class="highcharts-point-connecting-path highcharts-color-"+M.colorIndex,O=F(P,O),it(O.marker.radius)||(O.marker.radius=y(C(Math.ceil((O.algorithmMargin||8)/2)-1,1),5)),v=(M=this.getPath(O)).path,M.obstacles&&(k.lineObstacles=k.lineObstacles||[],k.lineObstacles=k.lineObstacles.concat(M.obstacles)),this.renderPath(v,P,E.options.animation),this.addMarker("start",F(O.marker,O.startMarker),v),this.addMarker("end",F(O.marker,O.endMarker),v)},S.prototype.destroy=function(){this.graphics&&(I(this.graphics,function(M){M.destroy()}),delete this.graphics)},S}(),X.Connection=Y,W(et.prototype,{getPathfinderAnchorPoint:function(S){var M=Q(this);switch(S.align){case"right":var E="xMax";break;case"left":E="xMin"}switch(S.verticalAlign){case"top":var v="yMin";break;case"bottom":v="yMax"}return{x:E?M[E]:(M.xMin+M.xMax)/2,y:v?M[v]:(M.yMin+M.yMax)/2}},getRadiansToVector:function(S,M){var E;return it(M)||(E=Q(this))&&(M={x:(E.xMin+E.xMax)/2,y:(E.yMin+E.yMax)/2}),Math.atan2(M.y-S.y,S.x-M.x)},getMarkerVector:function(S,M,E){for(var v=2*Math.PI,k=Q(this),O=k.xMax-k.xMin,P=k.yMax-k.yMin,g=Math.atan2(P,O),c=!1,u=P/2,o=k.xMin+(O/=2),m=o,l=k=k.yMin+u,b=1,n=1;S<-Math.PI;)S+=v;for(;S>Math.PI;)S-=v;return v=Math.tan(S),S>-g&&S<=g?(n=-1,c=!0):S>g&&S<=Math.PI-g?n=-1:S>Math.PI-g||S<=-(Math.PI-g)?(b=-1,c=!0):b=-1,c?(m+=b*O,l+=n*O*v):(m+=P/(2*v)*b,l+=n*u),E.x!==o&&(m=E.x),E.y!==k&&(l=E.y),{x:m+M*Math.cos(S),y:l-M*Math.sin(S)}}}),Y}),Mt($,"Gantt/PathfinderAlgorithms.js",[$["Core/Utilities.js"]],function(X){function Y(L,C,y){y=y||0;var M,E,S=L.length-1;for(C-=1e-7;y<=S;)if(0<(E=C-L[M=S+y>>1].xMin))y=M+1;else{if(!(0>E))return M;S=M-1}return 0<y?y-1:0}function et(L,C){for(var y=Y(L,C.x+1)+1;y--;){var S;if((S=L[y].xMax>=C.x)&&(S=C.x<=(S=L[y]).xMax&&C.x>=S.xMin&&C.y<=S.yMax&&C.y>=S.yMin),S)return y}return-1}function rt(L){var C=[];if(L.length){C.push(["M",L[0].start.x,L[0].start.y]);for(var y=0;y<L.length;++y)C.push(["L",L[y].end.x,L[y].end.y])}return C}function Q(L,C){L.yMin=W(L.yMin,C.yMin),L.yMax=K(L.yMax,C.yMax),L.xMin=W(L.xMin,C.xMin),L.xMax=K(L.xMax,C.xMax)}var it=X.pick,K=Math.min,W=Math.max,F=Math.abs;(X=function(L,C,y){function S(c,u,o,m,l){return(c={x:c.x,y:c.y})[u]=o[m||u]+(l||0),c}function M(c,u,o){var m=F(u[o]-c[o+"Min"])>F(u[o]-c[o+"Max"]);return S(u,o,c,o+(m?"Max":"Min"),m?1:-1)}var E=[],v=it(y.startDirectionX,F(C.x-L.x)>F(C.y-L.y))?"x":"y",k=y.chartObstacles,O=et(k,L);if(-1<(y=et(k,C))){var P=k[y];P={start:y=M(P,C,v),end:C};var g=y}else g=C;return-1<O&&(y=M(k=k[O],L,v),E.push({start:L,end:y}),y[v]>=L[v]==y[v]>=g[v]&&(E.push({start:y,end:S(y,v="y"===v?"x":"y",k,v+((C=L[v]<C[v])?"Max":"Min"),C?1:-1)}),v="y"===v?"x":"y")),y=S(L=E.length?E[E.length-1].end:L,v,g),E.push({start:L,end:y}),v=S(y,"y"===v?"x":"y",g),E.push({start:y,end:v}),E.push(P),{path:rt(E),obstacles:E}}).requiresObstacles=!0;var I=function(L,C,y){function S(f,T,w){var D,d=f.x<T.x?1:-1;if(f.x<T.x)var R=f,a=T;else R=T,a=f;if(f.y<T.y)var h=f,A=T;else h=T,A=f;for(D=0>d?K(Y(b,a.x),b.length-1):0;b[D]&&(0<d&&b[D].xMin<=a.x||0>d&&b[D].xMax>=R.x);){if(b[D].xMin<=a.x&&b[D].xMax>=R.x&&b[D].yMin<=A.y&&b[D].yMax>=h.y)return w?{y:f.y,x:f.x<T.x?b[D].xMin-1:b[D].xMax+1,obstacle:b[D]}:{x:f.x,y:f.y<T.y?b[D].yMin-1:b[D].yMax+1,obstacle:b[D]};D+=d}return T}function M(f,T,w,D,d){var R=d.soft,a=d.hard,h=D?"x":"y",A={x:T.x,y:T.y},j={x:T.x,y:T.y};d=f[h+"Max"]>=R[h+"Max"],R=f[h+"Min"]<=R[h+"Min"];var z=f[h+"Max"]>=a[h+"Max"];a=f[h+"Min"]<=a[h+"Min"];var H=F(f[h+"Min"]-T[h]),p=F(f[h+"Max"]-T[h]);return w=10>F(H-p)?T[h]<w[h]:p<H,j[h]=f[h+"Min"],A[h]=f[h+"Max"],f=S(T,j,D)[h]!==j[h],T=S(T,A,D)[h]!==A[h],w=f?!T||w:!T&&w,w=R?!d||w:!d&&w,a?!z||w:!z&&w}var k=it(y.startDirectionX,F(C.x-L.x)>F(C.y-L.y)),O=k?"x":"y",P=[],g=!1,c=y.obstacleMetrics,u=K(L.x,C.x)-c.maxWidth-10,o=W(L.x,C.x)+c.maxWidth+10,m=K(L.y,C.y)-c.maxHeight-10,l=W(L.y,C.y)+c.maxHeight+10,b=y.chartObstacles,n=Y(b,u);if(c=Y(b,o),-1<(c=et(b=b.slice(n,c+1),C))){var r=function v(f,T,w){var D=K(f.xMax-T.x,T.x-f.xMin)<K(f.yMax-T.y,T.y-f.yMin);return w=M(f,T,w,D,{soft:y.hardBounds,hard:y.hardBounds}),D?{y:T.y,x:f[w?"xMax":"xMin"]+(w?1:-1)}:{x:T.x,y:f[w?"yMax":"yMin"]+(w?1:-1)}}(b[c],C,L);P.push({end:C,start:r}),C=r}for(;-1<(c=et(b,C));)(r={x:C.x,y:C.y})[O]=b[c][(n=0>C[O]-L[O])?O+"Max":O+"Min"]+(n?1:-1),P.push({end:C,start:r}),C=r;return{path:rt(L=(L=function E(f,T,w){if(f.x===T.x&&f.y===T.y)return[];var D=w?"x":"y",d=y.obstacleOptions.margin,R={soft:{xMin:u,xMax:o,yMin:m,yMax:l},hard:y.hardBounds},a=et(b,f);if(-1<a){R=M(a=b[a],f,T,w,R),Q(a,y.hardBounds);var h=w?{y:f.y,x:a[R?"xMax":"xMin"]+(R?1:-1)}:{x:f.x,y:a[R?"yMax":"yMin"]+(R?1:-1)},A=et(b,h);-1<A&&(Q(A=b[A],y.hardBounds),h[D]=R?W(a[D+"Max"]-d+1,(A[D+"Min"]+a[D+"Max"])/2):K(a[D+"Min"]+d-1,(A[D+"Max"]+a[D+"Min"])/2),f.x===h.x&&f.y===h.y?(g&&(h[D]=R?W(a[D+"Max"],A[D+"Max"])+1:K(a[D+"Min"],A[D+"Min"])-1),g=!g):g=!1),f=[{start:f,end:h}]}else f=[{start:f,end:{x:(D=S(f,{x:w?T.x:f.x,y:w?f.y:T.y},w)).x,y:D.y}}],D[w?"x":"y"]!==T[w?"x":"y"]&&(R=M(D.obstacle,D,T,!w,R),Q(D.obstacle,y.hardBounds),f=f.concat(E({x:D.x,y:D.y},R={x:w?D.x:D.obstacle[R?"xMax":"xMin"]+(R?1:-1),y:w?D.obstacle[R?"yMax":"yMin"]+(R?1:-1):D.y},w=!w)));return f.concat(E(f[f.length-1].end,T,!w))}(L,C,k)).concat(P.reverse())),obstacles:L}};return I.requiresObstacles=!0,{fastAvoid:I,straight:function(L,C){return{path:[["M",L.x,L.y],["L",C.x,C.y]],obstacles:[{start:L,end:C}]}},simpleConnect:X}}),Mt($,"Gantt/Pathfinder.js",[$["Gantt/Connection.js"],$["Core/Chart/Chart.js"],$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"],$["Gantt/PathfinderAlgorithms.js"]],function(X,Y,et,rt,Q,it,K){function W(g){var c=g.shapeArgs;return c?{xMin:c.x||0,xMax:(c.x||0)+(c.width||0),yMin:c.y||0,yMax:(c.y||0)+(c.height||0)}:(c=g.graphic&&g.graphic.getBBox())?{xMin:g.plotX-c.width/2,xMax:g.plotX+c.width/2,yMin:g.plotY-c.height/2,yMax:g.plotY+c.height/2}:null}var L=it.addEvent,C=it.defined,y=it.error,S=it.extend,M=it.merge,E=it.pick,v=it.splat,k=Math.max,O=Math.min;S(rt.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var P=function(){function g(c){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0,this.init(c)}return g.prototype.init=function(c){this.chart=c,this.connections=[],L(c,"redraw",function(){this.pathfinder.update()})},g.prototype.update=function(c){var u=this.chart,o=this,m=o.connections;o.connections=[],u.series.forEach(function(T){T.visible&&!T.options.isInternal&&T.points.forEach(function(w){var d,D=w.options;D&&D.dependency&&(D.connect=D.dependency),D=w.options&&w.options.connect&&v(w.options.connect),w.visible&&!1!==w.isInside&&D&&D.forEach(function(R){(d=u.get("string"==typeof R?R:R.to))instanceof Q&&d.series.visible&&d.visible&&!1!==d.isInside&&o.connections.push(new X(w,d,"string"==typeof R?{}:R))})})});for(var l=0,b=void 0,n=void 0,r=m.length,f=o.connections.length;l<r;++l){for(n=!1,b=0;b<f;++b)if(m[l].fromPoint===o.connections[b].fromPoint&&m[l].toPoint===o.connections[b].toPoint){o.connections[b].graphics=m[l].graphics,n=!0;break}n||m[l].destroy()}delete this.chartObstacles,delete this.lineObstacles,o.renderConnections(c)},g.prototype.renderConnections=function(c){c?this.chart.series.forEach(function(u){var o=function(){var m=u.chart.pathfinder;(m&&m.connections||[]).forEach(function(l){l.fromPoint&&l.fromPoint.series===u&&l.render()}),u.pathfinderRemoveRenderEvent&&(u.pathfinderRemoveRenderEvent(),delete u.pathfinderRemoveRenderEvent)};!1===u.options.animation?o():u.pathfinderRemoveRenderEvent=L(u,"afterAnimate",o)}):this.connections.forEach(function(u){u.render()})},g.prototype.getChartObstacles=function(c){for(var l,u=[],o=this.chart.series,m=E(c.algorithmMargin,0),b=0,n=o.length;b<n;++b)if(o[b].visible&&!o[b].options.isInternal){var r=0,f=o[b].points.length,T=void 0;for(T=void 0;r<f;++r)(T=o[b].points[r]).visible&&(T=W(T))&&u.push({xMin:T.xMin-m,xMax:T.xMax+m,yMin:T.yMin-m,yMax:T.yMax+m})}return u=u.sort(function(w,D){return w.xMin-D.xMin}),C(c.algorithmMargin)||(l=c.algorithmMargin=function F(g){for(var o,m,c=g.length,u=0,l=[],b=function(n,r,f){f=E(f,10);var T=n.yMax+f>r.yMin-f&&n.yMin-f<r.yMax+f,w=n.xMax+f>r.xMin-f&&n.xMin-f<r.xMax+f,D=T?n.xMin>r.xMax?n.xMin-r.xMax:r.xMin-n.xMax:1/0,d=w?n.yMin>r.yMax?n.yMin-r.yMax:r.yMin-n.yMax:1/0;return w&&T?f?b(n,r,Math.floor(f/2)):1/0:O(D,d)};u<c;++u)for(o=u+1;o<c;++o)80>(m=b(g[u],g[o]))&&l.push(m);return l.push(80),k(Math.floor(l.sort(function(n,r){return n-r})[Math.floor(l.length/10)]/2-1),1)}(u),u.forEach(function(w){w.xMin-=l,w.xMax+=l,w.yMin-=l,w.yMax+=l})),u},g.prototype.getObstacleMetrics=function(c){for(var m,l,u=0,o=0,b=c.length;b--;)u<(m=c[b].xMax-c[b].xMin)&&(u=m),o<(l=c[b].yMax-c[b].yMin)&&(o=l);return{maxHeight:o,maxWidth:u}},g.prototype.getAlgorithmStartDirection=function(c){var u="top"!==c.verticalAlign&&"bottom"!==c.verticalAlign;return"left"!==c.align&&"right"!==c.align?!!u&&void 0:!!u||void 0},g}();return P.prototype.algorithms=K,et.Pathfinder=P,S(Q.prototype,{getPathfinderAnchorPoint:function(g){var c=W(this);switch(g.align){case"right":var u="xMax";break;case"left":u="xMin"}switch(g.verticalAlign){case"top":var o="yMin";break;case"bottom":o="yMax"}return{x:u?c[u]:(c.xMin+c.xMax)/2,y:o?c[o]:(c.yMin+c.yMax)/2}},getRadiansToVector:function(g,c){var u;return C(c)||(u=W(this))&&(c={x:(u.xMin+u.xMax)/2,y:(u.yMin+u.yMax)/2}),Math.atan2(c.y-g.y,g.x-c.x)},getMarkerVector:function(g,c,u){for(var o=2*Math.PI,m=W(this),l=m.xMax-m.xMin,b=m.yMax-m.yMin,n=Math.atan2(b,l),r=!1,f=b/2,T=m.xMin+(l/=2),w=T,D=m=m.yMin+f,d=1,R=1;g<-Math.PI;)g+=o;for(;g>Math.PI;)g-=o;return o=Math.tan(g),g>-n&&g<=n?(R=-1,r=!0):g>n&&g<=Math.PI-n?R=-1:g>Math.PI-n||g<=-(Math.PI-n)?(d=-1,r=!0):d=-1,r?(w+=d*l,D+=R*l*o):(w+=b/(2*o)*d,D+=R*f),u.x!==T&&(w=u.x),u.y!==m&&(D=u.y),{x:w+c*Math.cos(g),y:D-c*Math.sin(g)}}}),Y.prototype.callbacks.push(function(g){!1!==g.options.connectors.enabled&&(function I(g){(g.options.pathfinder||g.series.reduce(function(c,u){return u.options&&M(!0,u.options.connectors=u.options.connectors||{},u.options.pathfinder),c||u.options&&u.options.pathfinder},!1))&&(M(!0,g.options.connectors=g.options.connectors||{},g.options.pathfinder),y('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.'))}(g),this.pathfinder=new P(this),this.pathfinder.update(!0))}),P}),Mt($,"Series/Gantt/GanttSeries.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Series/Gantt/GanttPoint.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Axis/Tick.js"],$["Core/Utilities.js"],$["Core/Axis/TreeGridAxis.js"]],function(X,Y,et,rt,Q,it,K){var S,W=this&&this.__extends||(S=function(M,E){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,k){v.__proto__=k}||function(v,k){for(var O in k)k.hasOwnProperty(O)&&(v[O]=k[O])})(M,E)},function(M,E){function v(){this.constructor=M}S(M,E),M.prototype=null===E?Object.create(E):(v.prototype=E.prototype,new v)}),F=rt.series,I=rt.seriesTypes.xrange,L=it.extend,C=it.isNumber,y=it.merge;return K.compose(X,Y,F,Q),X=function(S){function M(){var E=null!==S&&S.apply(this,arguments)||this;return E.data=void 0,E.options=void 0,E.points=void 0,E}return W(M,S),M.prototype.drawPoint=function(E,v){var k=this.options,O=this.chart.renderer,P=E.shapeArgs,c=E.graphic,u=E.selected&&"select",o=k.stacking&&!k.borderRadius;E.options.milestone?C(E.plotY)&&null!==E.y&&!1!==E.visible?(P=O.symbols.diamond(P.x||0,P.y||0,P.width||0,P.height||0),c?c[v]({d:P}):E.graphic=O.path(P).addClass(E.getClassName(),!0).add(E.group||this.group),this.chart.styledMode||E.graphic.attr(this.pointAttribs(E,u)).shadow(k.shadow,null,o)):c&&(E.graphic=c.destroy()):I.prototype.drawPoint.call(this,E,v)},M.prototype.translatePoint=function(E){if(I.prototype.translatePoint.call(this,E),E.options.milestone){var v=E.shapeArgs,k=v.height||0;E.shapeArgs={x:(v.x||0)-k/2,y:v.y,width:k,height:k}}},M.defaultOptions=y(I.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'<span style="font-size: 10px">{series.name}</span><br/>',pointFormat:null,pointFormatter:function(){var E=this.series,v=E.xAxis,k=E.tooltipOptions.dateTimeLabelFormats,O=v.options.startOfWeek,P=E.tooltipOptions,g=P.xDateFormat,c=this.options.milestone,u="<b>"+(this.name||this.yCategory)+"</b>";return P.pointFormat?this.tooltipFormatter(P.pointFormat):(!g&&C(this.start)&&(g=E.chart.time.getDateFormat(v.closestPointRange,this.start,O,k||{})),v=E.chart.time.dateFormat(g,this.start),E=E.chart.time.dateFormat(g,this.end),u+="<br/>",c?u+(v+"<br/>"):u+"Start: "+v+"<br/>End: "+E+"<br/>")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),M}(I),L(X.prototype,{pointArrayMap:["start","end","y"],pointClass:et,setData:F.prototype.setData}),rt.registerSeriesType("gantt",X),X}),Mt($,"Core/Chart/GanttChart.js",[$["Core/Chart/Chart.js"],$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y,et){var F,rt=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),Q=Y.getOptions,it=et.isArray,K=et.merge,W=et.splat;return X=function(F){function I(){return null!==F&&F.apply(this,arguments)||this}return rt(I,F),I.prototype.init=function(L,C){var E,y=Q(),S=L.xAxis,M=L.yAxis;L.xAxis=L.yAxis=void 0;var v=K(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},L,{isGantt:!0});L.xAxis=S,L.yAxis=M,v.xAxis=(it(L.xAxis)?L.xAxis:[L.xAxis||{},{}]).map(function(k,O){return 1===O&&(E=0),K(y.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:E},k,{type:"datetime"})}),v.yAxis=W(L.yAxis||{}).map(function(k){return K(y.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:k.categories?k.type:"treegrid"},k)}),F.prototype.init.call(this,v,C)},I}(X),function(F){F.ganttChart=function(I,L,C){return new F(I,L,C)}}(X||(X={})),X}),Mt($,"Core/Axis/ScrollbarAxis.js",[$["Core/Utilities.js"]],function(X){var Y=X.addEvent,et=X.defined,rt=X.pick;return function(){function Q(){}return Q.compose=function(it,K){if(-1!==Q.composed.indexOf(it))return it;Q.composed.push(it);var W=function(F){var I=rt(F.options&&F.options.min,F.min),L=rt(F.options&&F.options.max,F.max);return{axisMin:I,axisMax:L,scrollMin:et(F.dataMin)?Math.min(I,F.min,F.dataMin,rt(F.threshold,1/0)):I,scrollMax:et(F.dataMax)?Math.max(L,F.max,F.dataMax,rt(F.threshold,-1/0)):L}};return Y(it,"afterInit",function(){var F=this;F.options&&F.options.scrollbar&&F.options.scrollbar.enabled&&(F.options.scrollbar.vertical=!F.horiz,F.options.startOnTick=F.options.endOnTick=!1,F.scrollbar=new K(F.chart.renderer,F.options.scrollbar,F.chart),Y(F.scrollbar,"changed",function(I){var L=W(F),C=L.axisMax,y=L.scrollMin,S=L.scrollMax-y;et(L.axisMin)&&et(C)&&(F.horiz&&!F.reversed||!F.horiz&&F.reversed?(L=y+S*this.to,y+=S*this.from):(L=y+S*(1-this.from),y+=S*(1-this.to)),this.shouldUpdateExtremes(I.DOMType)?F.setExtremes(y,L,!0,"mousemove"!==I.DOMType&&"touchmove"!==I.DOMType,I):this.setRange(this.from,this.to))}))}),Y(it,"afterRender",function(){var F=W(this),I=F.scrollMin,L=F.scrollMax,C=this.axisTitleMargin+(this.titleOffset||0),y=this.chart.scrollbarsOffsets,S=this.options.margin||0;(F=this.scrollbar)&&(this.horiz?(this.opposite||(y[1]+=C),F.position(this.left,this.top+this.height+2+y[1]-(this.opposite?S:0),this.width,this.height),this.opposite||(y[1]+=S),C=1):(this.opposite&&(y[0]+=C),F.position(F.options.opposite?this.left+this.width+2+y[0]-(this.opposite?0:S):this.opposite?0:S,this.top,this.width,this.height),this.opposite&&(y[0]+=S),C=0),y[C]+=F.size+F.options.margin,isNaN(I)||isNaN(L)||!et(this.min)||!et(this.max)||this.min===this.max?F.setRange(0,1):(y=(this.min-I)/(L-I),I=(this.max-I)/(L-I),this.horiz&&!this.reversed||!this.horiz&&this.reversed?F.setRange(y,I):F.setRange(1-I,1-y)))}),Y(it,"afterGetOffset",function(){var F=this.scrollbar&&!this.scrollbar.options.opposite;F=this.horiz?2:F?3:1;var I=this.scrollbar;I&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[F]+=I.size+I.options.margin)}),it},Q.composed=[],Q}()}),Mt($,"Core/ScrollbarDefaults.js",[$["Core/Globals.js"]],function(X){return{height:X.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,opposite:!0,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}}),Mt($,"Core/Scrollbar.js",[$["Core/DefaultOptions.js"],$["Core/Globals.js"],$["Core/Axis/ScrollbarAxis.js"],$["Core/ScrollbarDefaults.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.defaultOptions,K=Q.addEvent,W=Q.correctFloat,F=Q.defined,I=Q.destroyObjectProperties,L=Q.fireEvent,C=Q.merge,y=Q.pick,S=Q.removeEvent;return X=function(){function M(E,v,k){this._events=[],this.chart=void 0,this.from=this.chartY=this.chartX=0,this.scrollbar=this.renderer=this.options=this.group=void 0,this.scrollbarButtons=[],this.scrollbarGroup=void 0,this.scrollbarLeft=0,this.scrollbarRifles=void 0,this.scrollbarStrokeWidth=1,this.to=this.size=this.scrollbarTop=0,this.track=void 0,this.trackBorderWidth=1,this.userOptions=void 0,this.y=this.x=0,this.init(E,v,k)}return M.compose=function(E){et.compose(E,M)},M.swapXY=function(E,v){return v&&E.forEach(function(k){for(var P,O=k.length,g=0;g<O;g+=2)"number"==typeof(P=k[g+1])&&(k[g+1]=k[g+2],k[g+2]=P)}),E},M.prototype.addEvents=function(){var E=this.options.inverted?[1,0]:[0,1],v=this.scrollbarButtons,k=this.scrollbarGroup.element,O=this.track.element,P=this.mouseDownHandler.bind(this),g=this.mouseMoveHandler.bind(this),c=this.mouseUpHandler.bind(this);E=[[v[E[0]].element,"click",this.buttonToMinClick.bind(this)],[v[E[1]].element,"click",this.buttonToMaxClick.bind(this)],[O,"click",this.trackClick.bind(this)],[k,"mousedown",P],[k.ownerDocument,"mousemove",g],[k.ownerDocument,"mouseup",c]],Y.hasTouch&&E.push([k,"touchstart",P],[k.ownerDocument,"touchmove",g],[k.ownerDocument,"touchend",c]),E.forEach(function(u){K.apply(null,u)}),this._events=E},M.prototype.buttonToMaxClick=function(E){var v=(this.to-this.from)*y(this.options.step,.2);this.updatePosition(this.from+v,this.to+v),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.buttonToMinClick=function(E){var v=W(this.to-this.from)*y(this.options.step,.2);this.updatePosition(W(this.from-v),W(this.to-v)),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.cursorToScrollbarPosition=function(E){var v=this.options;return{chartX:(E.chartX-this.x-this.xOffset)/(this.barWidth-(v=v.minWidth>this.calculatedWidth?v.minWidth:0)),chartY:(E.chartY-this.y-this.yOffset)/(this.barWidth-v)}},M.prototype.destroy=function(){var E=this,v=E.chart.scroller;E.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(k){E[k]&&E[k].destroy&&(E[k]=E[k].destroy())}),v&&E===v.scrollbar&&(v.scrollbar=null,I(v.scrollbarButtons))},M.prototype.drawScrollbarButton=function(E){var v=this.renderer,k=this.scrollbarButtons,O=this.options,P=this.size,g=v.g().add(this.group);k.push(g),g=v.rect().addClass("highcharts-scrollbar-button").add(g),this.chart.styledMode||g.attr({stroke:O.buttonBorderColor,"stroke-width":O.buttonBorderWidth,fill:O.buttonBackgroundColor}),g.attr(g.crisp({x:-.5,y:-.5,width:P+1,height:P+1,r:O.buttonBorderRadius},g.strokeWidth())),g=v.path(M.swapXY([["M",P/2+(E?-1:1),P/2-3],["L",P/2+(E?-1:1),P/2+3],["L",P/2+(E?2:-2),P/2]],O.vertical)).addClass("highcharts-scrollbar-arrow").add(k[E]),this.chart.styledMode||g.attr({fill:O.buttonArrowColor})},M.prototype.init=function(E,v,k){this.scrollbarButtons=[],this.renderer=E,this.userOptions=v,this.options=C(rt,it.scrollbar,v),this.chart=k,this.size=y(this.options.size,this.options.height),v.enabled&&(this.render(),this.addEvents())},M.prototype.mouseDownHandler=function(E){E=this.chart.pointer.normalize(E),E=this.cursorToScrollbarPosition(E),this.chartX=E.chartX,this.chartY=E.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0},M.prototype.mouseMoveHandler=function(E){var v=this.chart.pointer.normalize(E),k=this.options.vertical?"chartY":"chartX",O=this.initPositions||[];!this.grabbedCenter||E.touches&&0===E.touches[0][k]||(k=(v=this.cursorToScrollbarPosition(v)[k])-(k=this[k]),this.hasDragged=!0,this.updatePosition(O[0]+k,O[1]+k),this.hasDragged&&L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}))},M.prototype.mouseUpHandler=function(E){this.hasDragged&&L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},M.prototype.position=function(E,v,k,O){var P=this.options.vertical,g=this.rendered?"animate":"attr",c=O,u=0;this.group.show(),this.x=E,this.y=v+this.trackBorderWidth,this.width=k,this.height=O,this.xOffset=c,this.yOffset=u,P?(this.width=this.yOffset=k=u=this.size,this.xOffset=c=0,this.barWidth=O-2*k,this.x=E+=this.options.margin):(this.height=this.xOffset=O=c=this.size,this.barWidth=k-2*O,this.y+=this.options.margin),this.group[g]({translateX:E,translateY:this.y}),this.track[g]({width:k,height:O}),this.scrollbarButtons[1][g]({translateX:P?0:k-c,translateY:P?O-u:0})},M.prototype.removeEvents=function(){this._events.forEach(function(E){S.apply(null,E)}),this._events.length=0},M.prototype.render=function(){var E=this.renderer,v=this.options,k=this.size,O=this.chart.styledMode,P=E.g("scrollbar").attr({zIndex:v.zIndex}).hide().add();this.group=P,this.track=E.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:v.trackBorderRadius||0,height:k,width:k}).add(P),O||this.track.attr({fill:v.trackBackgroundColor,stroke:v.trackBorderColor,"stroke-width":v.trackBorderWidth}),this.trackBorderWidth=this.track.strokeWidth(),this.track.attr({y:-this.trackBorderWidth%2/2}),this.scrollbarGroup=E.g().add(P),this.scrollbar=E.rect().addClass("highcharts-scrollbar-thumb").attr({height:k,width:k,r:v.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=E.path(M.swapXY([["M",-3,k/4],["L",-3,2*k/3],["M",0,k/4],["L",0,2*k/3],["M",3,k/4],["L",3,2*k/3]],v.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),O||(this.scrollbar.attr({fill:v.barBackgroundColor,stroke:v.barBorderColor,"stroke-width":v.barBorderWidth}),this.scrollbarRifles.attr({stroke:v.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)},M.prototype.setRange=function(E,v){var k=this.options,O=k.vertical,P=k.minWidth,g=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(F(g)){var u=g*Math.min(v,1);E=Math.max(E,0);var o=Math.ceil(g*E);this.calculatedWidth=u=W(u-o),u<P&&(o=(g-P+u)*E,u=P),P=Math.floor(o+this.xOffset+this.yOffset),g=u/2-.5,this.from=E,this.to=v,O?(this.scrollbarGroup[c]({translateY:P}),this.scrollbar[c]({height:u}),this.scrollbarRifles[c]({translateY:g}),this.scrollbarTop=P,this.scrollbarLeft=0):(this.scrollbarGroup[c]({translateX:P}),this.scrollbar[c]({width:u}),this.scrollbarRifles[c]({translateX:g}),this.scrollbarLeft=P,this.scrollbarTop=0),12>=u?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===k.showFull&&(0>=E&&1<=v?this.group.hide():this.group.show()),this.rendered=!0}},M.prototype.shouldUpdateExtremes=function(E){return y(this.options.liveRedraw,Y.svg&&!Y.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===E||"touchend"===E||!F(E)},M.prototype.trackClick=function(E){var v=this.chart.pointer.normalize(E),k=this.to-this.from;this.options.vertical&&v.chartY>this.y+this.scrollbarTop||!this.options.vertical&&v.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+k,this.to+k):this.updatePosition(this.from-k,this.to-k),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.update=function(E){this.destroy(),this.init(this.chart.renderer,C(!0,this.options,E),this.chart)},M.prototype.updatePosition=function(E,v){1<v&&(E=W(1-W(v-E)),v=1),0>E&&(v=W(v-E),E=0),this.from=E,this.to=v},M.defaultOptions=rt,M}(),it.scrollbar=C(!0,X.defaultOptions,it.scrollbar),X}),Mt($,"Extensions/RangeSelector.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var W=rt.defaultOptions,F=it.addEvent,I=it.createElement,L=it.css,C=it.defined,y=it.destroyObjectProperties,S=it.discardElement,M=it.extend,E=it.find,v=it.fireEvent,k=it.isNumber,O=it.merge,P=it.objectEach,g=it.pad,c=it.pick,u=it.pInt,o=it.splat;M(W,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#335cad",cursor:"pointer"},labelStyle:{color:"#666666"}}}),M(W.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var m=function(){function n(r){this.buttons=void 0,this.buttonOptions=n.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.options=void 0,this.chart=r,this.init(r)}return n.prototype.clickButton=function(r,f){var T=this.chart,w=this.buttonOptions[r],D=T.xAxis[0],d=T.scroller&&T.scroller.getUnionExtremes()||D||{},R=d.dataMin,a=d.dataMax,h=D&&Math.round(Math.min(D.max,c(a,D.max))),A=w.type;d=w._range;var j,z=w.dataGrouping;if(null!==R&&null!==a){if(T.fixedRange=d,this.setSelected(r),z&&(this.forcedDataGrouping=!0,X.prototype.setDataGrouping.call(D||{chart:this.chart},z,!1),this.frozenStates=w.preserveDataGrouping),"month"===A||"year"===A)if(D){var H=D.minFromRange.call(A={range:w,max:h,chart:T,dataMin:R,dataMax:a});k(A.newMax)&&(h=A.newMax)}else d=w;else if(d)H=Math.max(h-d,R),h=Math.min(H+d,a);else if("ytd"===A){if(!D)return void(this.deferredYTDClick=r);void 0===a&&(R=Number.MAX_VALUE,a=Number.MIN_VALUE,T.series.forEach(function(G){G=G.xData,R=Math.min(G[0],R),a=Math.max(G[G.length-1],a)}),f=!1),H=j=(h=this.getYTDExtremes(a,R,T.time.useUTC)).min,h=h.max}else"all"===A&&D&&(T.navigator&&T.navigator.baseSeries[0]&&(T.navigator.baseSeries[0].xAxis.options.range=void 0),H=R,h=a);if(C(H)&&(H+=w._offsetMin),C(h)&&(h+=w._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=r+1),D)D.setExtremes(H,h,c(f,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:w});else{var p=o(T.options.xAxis)[0],N=p.range;p.range=d;var _=p.min;p.min=j,F(T,"load",function(){p.range=N,p.min=_})}v(this,"afterBtnClick")}},n.prototype.setSelected=function(r){this.selected=this.options.selected=r},n.prototype.init=function(r){var f=this,T=r.options.rangeSelector,w=T.buttons||f.defaultButtons.slice(),D=T.selected,d=function(){var R=f.minInput,a=f.maxInput;R&&R.blur&&v(R,"blur"),a&&a.blur&&v(a,"blur")};f.chart=r,f.options=T,f.buttons=[],f.buttonOptions=w,this.eventsToUnbind=[],this.eventsToUnbind.push(F(r.container,"mousedown",d)),this.eventsToUnbind.push(F(r,"resize",d)),w.forEach(f.computeButtonRange),void 0!==D&&w[D]&&this.clickButton(D,!1),this.eventsToUnbind.push(F(r,"load",function(){r.xAxis&&r.xAxis[0]&&F(r.xAxis[0],"setExtremes",function(R){this.max-this.min!==r.fixedRange&&"rangeSelectorButton"!==R.trigger&&"updatedData"!==R.trigger&&f.forcedDataGrouping&&!f.frozenStates&&this.setDataGrouping(!1,!1)})}))},n.prototype.updateButtonStates=function(){var r=this,f=this.chart,T=this.dropdown,w=f.xAxis[0],D=Math.round(w.max-w.min),d=!w.hasVisibleSeries,R=f.scroller&&f.scroller.getUnionExtremes()||w,a=R.dataMin,h=R.dataMax,A=(f=r.getYTDExtremes(h,a,f.time.useUTC)).min,j=f.max,z=r.selected,H=k(z),p=r.options.allButtonsEnabled,N=r.buttons;r.buttonOptions.forEach(function(_,G){var U=_._range,tt=_.type,J=_.count||1,ot=N[G],at=0,ft=_._offsetMax-_._offsetMin;_=G===z;var mt=U>h-a,gt=U<w.minRange,ut=!1,ht=!1;U=U===D,("month"===tt||"year"===tt)&&D+36e5>=864e5*{month:28,year:365}[tt]*J-ft&&D-36e5<=864e5*{month:31,year:366}[tt]*J+ft?U=!0:"ytd"===tt?(U=j-A+ft===D,ut=!_):"all"===tt&&(U=w.max-w.min>=h-a,ht=!_&&H&&U),J=_&&U||U&&!H&&!ut||_&&r.frozenStates,(tt=!p&&(mt||gt||ht||d))?at=3:J&&(H=!0,at=2),ot.state!==at&&(ot.setState(at),T&&(T.options[G+1].disabled=tt,2===at&&(T.selectedIndex=G+1)),0===at&&z===G&&r.setSelected())})},n.prototype.computeButtonRange=function(r){var f=r.type,T=r.count||1,w={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};w[f]?r._range=w[f]*T:("month"===f||"year"===f)&&(r._range=864e5*{month:30,year:365}[f]*T),r._offsetMin=c(r.offsetMin,0),r._offsetMax=c(r.offsetMax,0),r._range+=r._offsetMax-r._offsetMin},n.prototype.getInputValue=function(r){var T=this.chart.time;return(r="min"===r?this.minInput:this.maxInput)?("text"===r.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(r.value,T.useUTC,T):0},n.prototype.setInputValue=function(r,f){var T=this.options,w=this.chart.time,D="min"===r?this.minInput:this.maxInput;if(r="min"===r?this.minDateBox:this.maxDateBox,D){var d=D.getAttribute("data-hc-time");d=C(d)?Number(d):void 0,C(f)&&(C(d)&&D.setAttribute("data-hc-time-previous",d),D.setAttribute("data-hc-time",f),d=f),D.value=w.dateFormat(this.inputTypeFormats[D.type]||T.inputEditDateFormat,d),r&&r.attr({text:w.dateFormat(T.inputDateFormat,d)})}},n.prototype.setInputExtremes=function(r,f,T){if(r="min"===r?this.minInput:this.maxInput){var w=this.inputTypeFormats[r.type],D=this.chart.time;w&&(f=D.dateFormat(w,f),r.min!==f&&(r.min=f),T=D.dateFormat(w,T),r.max!==T&&(r.max=T))}},n.prototype.showInput=function(r){var f="min"===r?this.minDateBox:this.maxDateBox;if((r="min"===r?this.minInput:this.maxInput)&&f&&this.inputGroup){var T="text"===r.type,w=this.inputGroup,D=w.translateX;w=w.translateY;var d=this.options.inputBoxWidth;L(r,{width:T?f.width+(d?-2:20)+"px":"auto",height:T?f.height-2+"px":"auto",border:"2px solid silver"}),L(r,T&&d?{left:D+f.x+"px",top:w+"px"}:{left:Math.min(Math.round(f.x+D-(r.offsetWidth-f.width)/2),this.chart.chartWidth-r.offsetWidth)+"px",top:w-(r.offsetHeight-f.height)/2+"px"})}},n.prototype.hideInput=function(r){(r="min"===r?this.minInput:this.maxInput)&&L(r,{top:"-9999em",border:0,width:"1px",height:"1px"})},n.prototype.defaultInputDateParser=function(r,f,T){var D,w=r.split("/").join("-").split(" ").join("T");return-1===w.indexOf("T")&&(w+="T00:00"),f?w+="Z":((D=et.isSafari)&&(D=!(6<(D=w).length&&(D.lastIndexOf("-")===D.length-6||D.lastIndexOf("+")===D.length-6))),D&&(w+=0>=(D=new Date(w).getTimezoneOffset()/60)?"+"+g(-D)+":00":"-"+g(D)+":00")),w=Date.parse(w),k(w)||(r=r.split("-"),w=Date.UTC(u(r[0]),u(r[1])-1,u(r[2]))),T&&f&&k(w)&&(w+=T.getTimezoneOffset(w)),w},n.prototype.drawInput=function(r){function f(){var p=d.getInputValue(r),N=T.xAxis[0],_=T.scroller&&T.scroller.xAxis?T.scroller.xAxis:N,G=_.dataMin;_=_.dataMax;var U=d.maxInput,tt=d.minInput;p!==Number(z.getAttribute("data-hc-time-previous"))&&k(p)&&(z.setAttribute("data-hc-time-previous",p),A&&U&&k(G)?p>Number(U.getAttribute("data-hc-time"))?p=void 0:p<G&&(p=G):tt&&k(_)&&(p<Number(tt.getAttribute("data-hc-time"))?p=void 0:p>_&&(p=_)),void 0!==p&&N.setExtremes(A?p:N.min,A?N.max:p,void 0,void 0,{trigger:"rangeSelectorInput"}))}var T=this.chart,w=this.div,D=this.inputGroup,d=this,R=T.renderer.style||{},a=T.renderer,h=T.options.rangeSelector,A="min"===r,j=W.lang[A?"rangeSelectorFrom":"rangeSelectorTo"]||"";j=a.label(j,0).addClass("highcharts-range-label").attr({padding:j?2:0,height:j?h.inputBoxHeight:0}).add(D),a=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:h.inputBoxWidth,height:h.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(r),d[r+"Input"].focus()}),T.styledMode||a.attr({stroke:h.inputBoxBorderColor,"stroke-width":1}),a.add(D);var z=I("input",{name:r,className:"highcharts-range-selector"},void 0,w);z.setAttribute("type",function K(n){if(-1!==n.indexOf("%L"))return"text";var r="aAdewbBmoyY".split("").some(function(T){return-1!==n.indexOf("%"+T)}),f="HkIlMS".split("").some(function(T){return-1!==n.indexOf("%"+T)});return r&&f?"datetime-local":r?"date":f?"time":"text"}(h.inputDateFormat||"%b %e, %Y")),T.styledMode||(j.css(O(R,h.labelStyle)),a.css(O({color:"#333333"},R,h.inputStyle)),L(z,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:R.fontSize,fontFamily:R.fontFamily,top:"-9999em"},h.inputStyle))),z.onfocus=function(){d.showInput(r)},z.onblur=function(){z===et.doc.activeElement&&f(),d.hideInput(r),d.setInputValue(r),z.blur()};var H=!1;return z.onchange=function(){H||(f(),d.hideInput(r),z.blur())},z.onkeypress=function(p){13===p.keyCode&&f()},z.onkeydown=function(p){H=!0,38!==p.keyCode&&40!==p.keyCode||f()},z.onkeyup=function(){H=!1},{dateBox:a,input:z,label:j}},n.prototype.getPosition=function(){var r=this.chart,f=r.options.rangeSelector;return{buttonTop:(r="top"===f.verticalAlign?r.plotTop-r.axisOffset[0]:0)+f.buttonPosition.y,inputTop:r+f.inputPosition.y-10}},n.prototype.getYTDExtremes=function(r,f,T){var w=this.chart.time,D=new w.Date(r),d=w.get("FullYear",D);return T=T?w.Date.UTC(d,0,1):+new w.Date(d,0,1),f=Math.max(f,T),D=D.getTime(),{max:Math.min(r||D,D),min:f}},n.prototype.render=function(r,f){var T=this.chart,w=T.renderer,D=T.container,d=T.options,R=d.rangeSelector,a=c(d.chart.style&&d.chart.style.zIndex,0)+1;if(d=R.inputEnabled,!1!==R.enabled){if(this.rendered||(this.group=w.g("range-selector-group").attr({zIndex:7}).add(),this.div=I("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),D.parentNode&&D.parentNode.insertBefore(this.div,D),d&&(this.inputGroup=w.g("input-group").add(this.group),w=this.drawInput("min"),this.minDateBox=w.dateBox,this.minLabel=w.label,this.minInput=w.input,w=this.drawInput("max"),this.maxDateBox=w.dateBox,this.maxLabel=w.label,this.maxInput=w.input)),d&&(this.setInputValue("min",r),this.setInputValue("max",f),r=T.scroller&&T.scroller.getUnionExtremes()||T.xAxis[0]||{},C(r.dataMin)&&C(r.dataMax)&&(T=T.xAxis[0].minRange||0,this.setInputExtremes("min",r.dataMin,Math.min(r.dataMax,this.getInputValue("max"))-T),this.setInputExtremes("max",Math.max(r.dataMin,this.getInputValue("min"))+T,r.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(A){if(A){var j=A.getBBox().width;j&&(A.attr({x:h}),h+=j+R.inputSpacing)}})}this.alignElements(),this.rendered=!0}},n.prototype.renderButtons=function(){var r=this,f=this.buttons,T=this.options,w=W.lang,D=this.chart.renderer,d=O(T.buttonTheme),R=d&&d.states,a=d.width||28;delete d.width,delete d.states,this.buttonGroup=D.g("range-selector-buttons").add(this.group);var h=this.dropdown=I("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);F(h,"touchstart",function(){h.style.fontSize="16px"}),[[et.isMS?"mouseover":"mouseenter"],[et.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(A){var j=A[0],z=A[1];F(h,j,function(){var H=f[r.currentButtonIndex()];H&&v(H.element,z||j)})}),this.zoomText=D.label(w&&w.rangeSelectorZoom||"",0).attr({padding:T.buttonTheme.padding,height:T.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(T.labelStyle),d["stroke-width"]=c(d["stroke-width"],0)),I("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach(function(A,j){I("option",{textContent:A.title||A.text},void 0,h),f[j]=D.button(A.text,0,0,function(z){var p,H=A.events&&A.events.click;H&&(p=H.call(A,z)),!1!==p&&r.clickButton(j),r.isActive=!0},d,R&&R.hover,R&&R.select,R&&R.disabled).attr({"text-align":"center",width:a}).add(r.buttonGroup),A.title&&f[j].attr("title",A.title)})},n.prototype.alignElements=function(){var r=this,f=this.buttonGroup,T=this.buttons,w=this.chart,D=this.group,d=this.inputGroup,R=this.options,a=this.zoomText,h=w.options,A=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions;h=R.buttonPosition;var j=R.inputPosition,z=R.verticalAlign,H=function(G,U){return A&&r.titleCollision(w)&&"top"===z&&"right"===U.align&&U.y-G.getBBox().height-12<(A.y||0)+(A.height||0)+w.spacing[0]?-40:0},p=w.plotLeft;if(D&&h&&j){var N=h.x-w.spacing[3];if(f){if(this.positionButtons(),!this.initialButtonGroupWidth){var _=0;a&&(_+=a.getBBox().width+5),T.forEach(function(G,U){_+=G.width,U!==T.length-1&&(_+=R.buttonSpacing)}),this.initialButtonGroupWidth=_}p-=w.spacing[3],this.updateButtonStates(),a=H(f,h),this.alignButtonGroup(a),D.placed=f.placed=w.hasLoaded}f=0,d&&(f=H(d,j),"left"===j.align?N=p:"right"===j.align&&(N=-Math.max(w.axisOffset[1],-f)),d.align({y:j.y,width:d.getBBox().width,align:j.align,x:j.x+N-2},!0,w.spacingBox),d.placed=w.hasLoaded),this.handleCollision(f),D.align({verticalAlign:z},!0,w.spacingBox),d=D.alignAttr.translateY,f=D.getBBox().height+20,H=0,"bottom"===z&&(H=d-(f=f+(H=(H=w.legend&&w.legend.options)&&"bottom"===H.verticalAlign&&H.enabled&&!H.floating?w.legend.legendHeight+c(H.margin,10):0)-20)-(R.floating?0:R.y)-(w.titleOffset?w.titleOffset[2]:0)-10),"top"===z?(R.floating&&(H=0),w.titleOffset&&w.titleOffset[0]&&(H=w.titleOffset[0]),H+=w.margin[0]-w.spacing[0]||0):"middle"===z&&(j.y===h.y?H=d:(j.y||h.y)&&(H=0>j.y||0>h.y?H-Math.min(j.y,h.y):d-f)),D.translate(R.x,R.y+Math.floor(H)),h=this.minInput,j=this.maxInput,d=this.dropdown,R.inputEnabled&&h&&j&&(h.style.marginTop=D.translateY+"px",j.style.marginTop=D.translateY+"px"),d&&(d.style.marginTop=D.translateY+"px")}},n.prototype.alignButtonGroup=function(r,f){var T=this.chart,w=this.buttonGroup,D=this.options.buttonPosition,d=T.plotLeft-T.spacing[3],R=D.x-T.spacing[3];"right"===D.align?R+=r-d:"center"===D.align&&(R-=d/2),w&&w.align({y:D.y,width:c(f,this.initialButtonGroupWidth),align:D.align,x:R},!0,T.spacingBox)},n.prototype.positionButtons=function(){var r=this.buttons,f=this.chart,T=this.options,w=this.zoomText,D=f.hasLoaded?"animate":"attr",d=T.buttonPosition,R=f.plotLeft,a=R;w&&"hidden"!==w.visibility&&(w[D]({x:c(R+d.x,R)}),a+=d.x+w.getBBox().width+5),this.buttonOptions.forEach(function(h,A){"hidden"!==r[A].visibility?(r[A][D]({x:a}),a+=r[A].width+T.buttonSpacing):r[A][D]({x:R})})},n.prototype.handleCollision=function(r){var f=this,T=this.chart,w=this.buttonGroup,D=this.inputGroup,d=this.options,R=d.buttonPosition,a=d.dropdown,h=d.inputPosition;d=function(){var z=0;return f.buttons.forEach(function(H){(H=H.getBBox()).width>z&&(z=H.width)}),z};var A=function(z){if(D&&w){var H=D.alignAttr.translateX+D.alignOptions.x-r+D.getBBox().x+2,p=D.alignOptions.width,N=w.alignAttr.translateX+w.getBBox().x;return N+z>H&&H+p>N&&R.y<h.y+D.getBBox().height}return!1},j=function(){D&&w&&D.attr({translateX:D.alignAttr.translateX+(T.axisOffset[1]>=-r?0:-r),translateY:D.alignAttr.translateY+w.getBBox().height+10})};if(w){if("always"===a)return this.collapseButtons(r),void(A(d())&&j());"never"===a&&this.expandButtons()}D&&w?h.align===R.align||A(this.initialButtonGroupWidth+20)?"responsive"===a?(this.collapseButtons(r),A(d())&&j()):j():"responsive"===a&&this.expandButtons():w&&"responsive"===a&&(this.initialButtonGroupWidth>T.plotWidth?this.collapseButtons(r):this.expandButtons())},n.prototype.collapseButtons=function(r){var f=this.buttons,T=this.buttonOptions,w=this.chart,D=this.dropdown,d=this.options,R=this.zoomText,a=w.userOptions.rangeSelector&&w.userOptions.rangeSelector.buttonTheme||{},h=function(j){return{text:j?j+" \u25be":"\u25be",width:"auto",paddingLeft:c(d.buttonTheme.paddingLeft,a.padding,8),paddingRight:c(d.buttonTheme.paddingRight,a.padding,8)}};R&&R.hide();var A=!1;T.forEach(function(j,z){2!==(z=f[z]).state?z.hide():(z.show(),z.attr(h(j.text)),A=!0)}),A||(D&&(D.selectedIndex=0),f[0].show(),f[0].attr(h(this.zoomText&&this.zoomText.textStr))),T=d.buttonPosition.align,this.positionButtons(),"right"!==T&&"center"!==T||this.alignButtonGroup(r,f[this.currentButtonIndex()].getBBox().width),this.showDropdown()},n.prototype.expandButtons=function(){var r=this.buttons,f=this.buttonOptions,T=this.options,w=this.zoomText;this.hideDropdown(),w&&w.show(),f.forEach(function(D,d){(d=r[d]).show(),d.attr({text:D.text,width:T.buttonTheme.width||28,paddingLeft:c(T.buttonTheme.paddingLeft,"unset"),paddingRight:c(T.buttonTheme.paddingRight,"unset")}),2>d.state&&d.setState(0)}),this.positionButtons()},n.prototype.currentButtonIndex=function(){var r=this.dropdown;return r&&0<r.selectedIndex?r.selectedIndex-1:0},n.prototype.showDropdown=function(){var r=this.buttonGroup,f=this.buttons,T=this.chart,w=this.dropdown;if(r&&w){var D=r.translateX;r=r.translateY,f=f[this.currentButtonIndex()].getBBox(),L(w,{left:T.plotLeft+D+"px",top:r+.5+"px",width:f.width+"px",height:f.height+"px"}),this.hasVisibleDropdown=!0}},n.prototype.hideDropdown=function(){var r=this.dropdown;r&&(L(r,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)},n.prototype.getHeight=function(){var r=this.options,f=this.group,T=r.y,w=r.buttonPosition.y,D=r.inputPosition.y;return r.height?r.height:(this.alignElements(),r=f?f.getBBox(!0).height+13+T:0,f=Math.min(D,w),(0>D&&0>w||0<D&&0<w)&&(r+=Math.abs(f)),r)},n.prototype.titleCollision=function(r){return!(r.options.title.text||r.options.subtitle.text)},n.prototype.update=function(r){var f=this.chart;O(!0,f.options.rangeSelector,r),this.destroy(),this.init(f),this.render()},n.prototype.destroy=function(){var r=this,f=r.minInput,T=r.maxInput;r.eventsToUnbind&&(r.eventsToUnbind.forEach(function(w){return w()}),r.eventsToUnbind=void 0),y(r.buttons),f&&(f.onfocus=f.onblur=f.onchange=null),T&&(T.onfocus=T.onblur=T.onchange=null),P(r,function(w,D){w&&"chart"!==D&&(w instanceof Q?w.destroy():w instanceof de.HTMLElement&&S(w)),w!==n.prototype[D]&&(r[D]=null)},this)},n}();if(m.prototype.defaultButtons=[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],m.prototype.inputTypeFormats={"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"},X.prototype.minFromRange=function(){var n=this.range,r=n.type,f=this.max,T=this.chart.time,w=function(a,h){var A="year"===r?"FullYear":"Month",j=new T.Date(a),z=T.get(A,j);return T.set(A,j,z+h),z===T.get(A,j)&&T.set("Date",j,0),j.getTime()-a};if(k(n))var D=f-n,d=n;else D=f+w(f,-n.count),this.chart&&(this.chart.fixedRange=f-D);var R=c(this.dataMin,Number.MIN_VALUE);return k(D)||(D=R),D<=R&&(D=R,void 0===d&&(d=w(D,n.count)),this.newMax=Math.min(D+d,this.dataMax)),k(f)||(D=void 0),D},!et.RangeSelector){var l=[],b=function(n){function r(){T&&(f=n.xAxis[0].getExtremes(),w=n.legend,d=T&&T.options.verticalAlign,k(f.min)&&T.render(f.min,f.max),w.display&&"top"===d&&d===w.options.verticalAlign&&((D=O(n.spacingBox)).y="vertical"===w.options.layout?n.plotTop:D.y+T.getHeight(),w.group.placed=!1,w.align(D)))}var f,w,D,d,T=n.rangeSelector;T&&(E(l,function(R){return R[0]===n})||l.push([n,[F(n.xAxis[0],"afterSetExtremes",function(R){T&&T.render(R.min,R.max)}),F(n,"redraw",r)]]),r())};F(Y,"afterGetContainer",function(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new m(this))}),F(Y,"beforeRender",function(){var n=this.axes,r=this.rangeSelector;r&&(k(r.deferredYTDClick)&&(r.clickButton(r.deferredYTDClick),delete r.deferredYTDClick),n.forEach(function(f){f.updateNames(),f.setScale()}),this.getAxisMargins(),r.render(),n=r.options.verticalAlign,r.options.floating||("bottom"===n?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0)))}),F(Y,"update",function(n){var r=n.options.rangeSelector;n=this.rangeSelector;var f=this.extraBottomMargin,T=this.extraTopMargin;r&&r.enabled&&!C(n)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=n=new m(this)),this.extraTopMargin=this.extraBottomMargin=!1,n&&(b(this),r=r&&r.verticalAlign||n.options&&n.options.verticalAlign,n.options.floating||("bottom"===r?this.extraBottomMargin=!0:"middle"!==r&&(this.extraTopMargin=!0)),this.extraBottomMargin!==f||this.extraTopMargin!==T)&&(this.isDirtyBox=!0)}),F(Y,"render",function(){var n=this.rangeSelector;n&&!n.options.floating&&(n.render(),"bottom"===(n=n.options.verticalAlign)?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0))}),F(Y,"getMargins",function(){var n=this.rangeSelector;n&&(n=n.getHeight(),this.extraTopMargin&&(this.plotTop+=n),this.extraBottomMargin&&(this.marginBottom+=n))}),Y.prototype.callbacks.push(b),F(Y,"destroy",function(){for(var n=0;n<l.length;n++){var r=l[n];if(r[0]===this){r[1].forEach(function(f){return f()}),l.splice(n,1);break}}}),et.RangeSelector=m}return m}),Mt($,"Core/Axis/NavigatorAxis.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.isTouchDevice,rt=Y.addEvent,Q=Y.correctFloat,it=Y.defined,K=Y.isNumber,W=Y.pick,F=function(){function I(L){this.axis=L}return I.prototype.destroy=function(){this.axis=void 0},I.prototype.toFixedRange=function(L,C,y,S){var M=this.axis,E=M.chart;E=E&&E.fixedRange;var v=(M.pointRange||0)/2;return L=W(y,M.translate(L,!0,!M.horiz)),C=W(S,M.translate(C,!0,!M.horiz)),M=E&&(C-L)/E,it(y)||(L=Q(L+v)),it(S)||(C=Q(C-v)),.7<M&&1.3>M&&(S?L=C-E:C=L+E),K(L)&&K(C)||(L=C=void 0),{min:L,max:C}},I}();return function(){function I(){}return I.compose=function(L){L.keepProps.push("navigatorAxis"),rt(L,"init",function(){this.navigatorAxis||(this.navigatorAxis=new F(this))}),rt(L,"zoom",function(C){var y=this.chart.options,S=y.navigator,M=this.navigatorAxis,E=y.chart.pinchType,v=y.rangeSelector;y=y.chart.zoomType,this.isXAxis&&(S&&S.enabled||v&&v.enabled)&&("y"===y?C.zoomed=!1:(!et&&"xy"===y||et&&"xy"===E)&&this.options.range&&(S=M.previousZoom,it(C.newMin)?M.previousZoom=[this.min,this.max]:S&&(C.newMin=S[0],C.newMax=S[1],M.previousZoom=void 0))),void 0!==C.zoomed&&C.preventDefault()})},I.AdditionsClass=F,I}()}),Mt($,"Core/Navigator.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Axis/NavigatorAxis.js"],$["Core/DefaultOptions.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Scrollbar.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L){var C=rt.hasTouch,y=rt.isTouchDevice,S=it.defaultOptions,M=L.addEvent,E=L.clamp,v=L.correctFloat,k=L.defined,O=L.destroyObjectProperties,P=L.erase,g=L.extend,c=L.find,u=L.isArray,o=L.isNumber,m=L.merge,l=L.pick,b=L.removeEvent,n=L.splat,r=function(T){for(var w=[],D=1;D<arguments.length;D++)w[D-1]=arguments[D];if((w=[].filter.call(w,o)).length)return Math[T].apply(0,w)};it=void 0===I.seriesTypes.areaspline?"line":"areaspline",g(S,{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:(et=et.parse)("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:it,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},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}}}),K.getRendererType().prototype.symbols["navigator-handle"]=function(T,w,D,d,R){return T=(R&&R.width||0)/2,w=Math.round(T/3)+.5,[["M",-T-1,.5],["L",T,.5],["L",T,(R=R&&R.height||0)+.5],["L",-T-1,R+.5],["L",-T-1,.5],["M",-w,4],["L",-w,R-3],["M",w-1,4],["L",w-1,R-3]]};var f=function(){function T(w){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0,this.init(w)}return T.prototype.drawHandle=function(w,D,d,R){var a=this.navigatorOptions.handles.height;this.handles[D][R](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(w,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(w,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})},T.prototype.drawOutline=function(w,D,d,R){var a=this.navigatorOptions.maskInside,h=this.outline.strokeWidth(),A=h/2,j=h%2/2;h=this.outlineHeight;var z=this.scrollbarHeight||0,H=this.size,p=this.left-z,N=this.top;d?(j=[["M",(p-=A)+h,N-z-j],["L",p+h,d=N+D+j],["L",p,d],["L",p,D=N+w+j],["L",p+h,D],["L",p+h,N+H+z]],a&&j.push(["M",p+h,d-A],["L",p+h,D+A])):(j=[["M",p,N+=A],["L",w+=p+z-j,N],["L",w,N+h],["L",D+=p+z-j,N+h],["L",D,N],["L",p+H+2*z,N]],a&&j.push(["M",w-A,N],["L",D+A,N])),this.outline[R]({d:j})},T.prototype.drawMasks=function(w,D,d,R){var a=this.left,h=this.top,A=this.height;if(d)var j=[a,a,a],z=[h,h+w,h+D],H=[A,A,A],p=[w,D-w,this.size-D];else j=[a,a+w,a+D],z=[h,h,h],H=[w,D-w,this.size-D],p=[A,A,A];this.shades.forEach(function(N,_){N[R]({x:j[_],y:z[_],width:H[_],height:p[_]})})},T.prototype.renderElements=function(){var h,w=this,D=w.navigatorOptions,d=D.maskInside,R=w.chart,a=R.renderer,A={cursor:R.inverted?"ns-resize":"ew-resize"};w.navigatorGroup=h=a.g("navigator").attr({zIndex:8,visibility:"hidden"}).add(),[!d,d,!d].forEach(function(j,z){var H=a.rect().addClass("highcharts-navigator-mask"+(1===z?"-inside":"-outside")).add(h);R.styledMode||(H.attr({fill:j?D.maskFill:"rgba(0,0,0,0)"}),1===z&&H.css(A)),w.shades[z]=H}),w.outline=a.path().addClass("highcharts-navigator-outline").add(h),R.styledMode||w.outline.attr({"stroke-width":D.outlineWidth,stroke:D.outlineColor}),D.handles.enabled&&[0,1].forEach(function(j){if(D.handles.inverted=R.inverted,w.handles[j]=a.symbol(D.handles.symbols[j],-D.handles.width/2-1,0,D.handles.width,D.handles.height,D.handles),w.handles[j].attr({zIndex:7-j}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][j]).add(h),!R.styledMode){var z=D.handles;w.handles[j].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(A)}})},T.prototype.update=function(w){(this.series||[]).forEach(function(D){D.baseSeries&&delete D.baseSeries.navigatorSeries}),this.destroy(),m(!0,this.chart.options.navigator,this.options,w),this.init(this.chart)},T.prototype.render=function(w,D,d,R){var A,N,a=this.chart,h=this.scrollbarHeight,j=this.xAxis,z=j.pointRange||0,H=j.navigatorAxis.fake?a.xAxis[0]:j,p=this.navigatorEnabled,_=this.rendered,G=a.inverted,U=a.xAxis[0].minRange,tt=a.xAxis[0].options.maxRange;if(!this.hasDragged||k(d)){if(w=v(w-z/2),D=v(D+z/2),!o(w)||!o(D)){if(!_)return;d=0,R=l(j.width,H.width)}this.left=l(j.left,a.plotLeft+h+(G?a.plotWidth:0)),this.size=N=A=l(j.len,(G?a.plotHeight:a.plotWidth)-2*h),a=G?h:A+2*h,d=l(d,j.toPixels(w,!0)),R=l(R,j.toPixels(D,!0)),o(d)&&Math.abs(d)!==1/0||(d=0,R=a),w=j.toValue(d,!0),D=j.toValue(R,!0);var J=Math.abs(v(D-w));J<U?this.grabbedLeft?d=j.toPixels(D-U-z,!0):this.grabbedRight&&(R=j.toPixels(w+U+z,!0)):k(tt)&&v(J-z)>tt&&(this.grabbedLeft?d=j.toPixels(D-tt-z,!0):this.grabbedRight&&(R=j.toPixels(w+tt+z,!0))),this.zoomedMax=E(Math.max(d,R),0,N),this.zoomedMin=E(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,R),0,N),this.range=this.zoomedMax-this.zoomedMin,N=Math.round(this.zoomedMax),d=Math.round(this.zoomedMin),p&&(this.navigatorGroup.attr({visibility:"inherit"}),this.drawMasks(d,N,G,_=_&&!this.hasDragged?"animate":"attr"),this.drawOutline(d,N,G,_),this.navigatorOptions.handles.enabled&&(this.drawHandle(d,0,G,_),this.drawHandle(N,1,G,_))),this.scrollbar&&(G?(G=this.top-h,H=this.left-h+(p||!H.opposite?0:(H.titleOffset||0)+H.axisTitleMargin),h=A+2*h):(G=this.top+(p?this.height:-h),H=this.left-h),this.scrollbar.position(H,G,a,h),this.scrollbar.setRange(this.zoomedMin/(A||1),this.zoomedMax/(A||1))),this.rendered=!0}},T.prototype.addMouseEvents=function(){var a,h,w=this,D=w.chart,d=D.container,R=[];w.mouseMoveHandler=a=function(A){w.onMouseMove(A)},w.mouseUpHandler=h=function(A){w.onMouseUp(A)},(R=w.getPartsEvents("mousedown")).push(M(D.renderTo,"mousemove",a),M(d.ownerDocument,"mouseup",h)),C&&(R.push(M(D.renderTo,"touchmove",a),M(d.ownerDocument,"touchend",h)),R.concat(w.getPartsEvents("touchstart"))),w.eventsToUnbind=R,w.series&&w.series[0]&&R.push(M(w.series[0].xAxis,"foundExtremes",function(){D.navigator.modifyNavigatorAxisExtremes()}))},T.prototype.getPartsEvents=function(w){var D=this,d=[];return["shades","handles"].forEach(function(R){D[R].forEach(function(a,h){d.push(M(a.element,w,function(A){D[R+"Mousedown"](A,h)}))})}),d},T.prototype.shadesMousedown=function(w,D){w=this.chart.pointer.normalize(w);var d=this.chart,R=this.xAxis,a=this.zoomedMin,h=this.left,A=this.size,j=this.range,z=w.chartX;if(d.inverted&&(z=w.chartY,h=this.top),1===D)this.grabbedCenter=z,this.fixedWidth=j,this.dragOffset=z-a;else{if(w=z-h-j/2,0===D)w=Math.max(0,w);else if(2===D&&w+j>=A)if(w=A-j,this.reversedExtremes){w-=j;var H=this.getUnionExtremes().dataMin}else var p=this.getUnionExtremes().dataMax;w!==a&&(this.fixedWidth=j,D=R.navigatorAxis.toFixedRange(w,w+j,H,p),k(D.min)&&d.xAxis[0].setExtremes(Math.min(D.min,D.max),Math.max(D.min,D.max),!0,null,{trigger:"navigator"}))}},T.prototype.handlesMousedown=function(w,D){this.chart.pointer.normalize(w);var d=(w=this.chart).xAxis[0],R=this.reversedExtremes;0===D?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=R?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=R?d.max:d.min),w.fixedRange=null},T.prototype.onMouseMove=function(w){var D=this,d=D.chart,R=D.left,a=D.navigatorSize,h=D.range,A=D.dragOffset,j=d.inverted;w.touches&&0===w.touches[0].pageX||(w=d.pointer.normalize(w),d=w.chartX,j&&(R=D.top,d=w.chartY),D.grabbedLeft?(D.hasDragged=!0,D.render(0,0,d-R,D.otherHandlePos)):D.grabbedRight?(D.hasDragged=!0,D.render(0,0,D.otherHandlePos,d-R)):D.grabbedCenter&&(D.hasDragged=!0,d<A?d=A:d>a+A-h&&(d=a+A-h),D.render(0,0,d-A,d-A+h)),D.hasDragged&&D.scrollbar&&l(D.scrollbar.options.liveRedraw,rt.svg&&!y&&!this.chart.isBoosting)&&(w.DOMType=w.type,setTimeout(function(){D.onMouseUp(w)},0)))},T.prototype.onMouseUp=function(w){var D=this.chart,d=this.xAxis,R=this.scrollbar,a=w.DOMEvent||w,h=D.inverted,A=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!R||!R.hasDragged)||"scrollbar"===w.trigger){if(R=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos)var j=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var z=this.fixedExtreme;this.zoomedMax===this.size&&(z=this.reversedExtremes?R.dataMin:R.dataMax),0===this.zoomedMin&&(j=this.reversedExtremes?R.dataMax:R.dataMin),d=d.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,j,z),k(d.min)&&D.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,!this.hasDragged&&null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:a})}"mousemove"!==w.DOMType&&"touchmove"!==w.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&o(this.zoomedMin)&&o(this.zoomedMax)&&(D=Math.round(this.zoomedMin),w=Math.round(this.zoomedMax),this.shades&&this.drawMasks(D,w,h,A),this.outline&&this.drawOutline(D,w,h,A),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(D,0,h,A),this.drawHandle(w,1,h,A)))},T.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(w){w()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()},T.prototype.removeBaseSeriesEvents=function(){var w=this.baseSeries||[];this.navigatorEnabled&&w[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&w.forEach(function(D){b(D,"updatedData",this.updatedDataHandler)},this),w[0].xAxis&&b(w[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},T.prototype.init=function(w){var D=w.options,d=D.navigator,R=d.enabled,a=D.scrollbar,h=a.enabled;D=R?d.height:0;var A=h?a.height:0;this.handles=[],this.shades=[],this.chart=w,this.setBaseSeries(),this.height=D,this.scrollbarHeight=A,this.scrollbarEnabled=h,this.navigatorEnabled=R,this.navigatorOptions=d,this.scrollbarOptions=a,this.outlineHeight=D+A,this.opposite=l(d.opposite,!(R||!w.inverted));var j=this;a=w.xAxis.length,h=w.yAxis.length;var z=(R=j.baseSeries)&&R[0]&&R[0].xAxis||w.xAxis[0]||{options:{}};w.isDirtyBox=!0,j.navigatorEnabled?(j.xAxis=new X(w,m({breaks:z.options.breaks,ordinal:z.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:a,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},w.inverted?{offsets:[A,0,-A,0],width:D}:{offsets:[0,-A,0,A],height:D})),j.yAxis=new X(w,m(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:l(d.yAxis&&d.yAxis.reversed,w.yAxis[0]&&w.yAxis[0].reversed,!1),zoomEnabled:!1},w.inverted?{width:D}:{height:D})),R||d.series.data?j.updateNavigatorSeries(!1):0===w.series.length&&(j.unbindRedraw=M(w,"beforeRedraw",function(){0<w.series.length&&!j.series&&(j.setBaseSeries(),j.unbindRedraw())})),j.reversedExtremes=w.inverted&&!j.xAxis.reversed||!w.inverted&&j.xAxis.reversed,j.renderElements(),j.addMouseEvents()):(j.xAxis={chart:w,navigatorAxis:{fake:!0},translate:function(H,p){var N=w.xAxis[0],_=N.getExtremes(),G=N.len-2*A,U=r("min",N.options.min,_.dataMin);return N=r("max",N.options.max,_.dataMax)-U,p?H*N/G+U:G*(H-U)/N},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},j.xAxis.navigatorAxis.axis=j.xAxis,j.xAxis.navigatorAxis.toFixedRange=Q.AdditionsClass.prototype.toFixedRange.bind(j.xAxis.navigatorAxis)),w.options.scrollbar.enabled&&(w.scrollbar=j.scrollbar=new W(w.renderer,m(w.options.scrollbar,{margin:j.navigatorEnabled?0:10,vertical:w.inverted}),w),M(j.scrollbar,"changed",function(H){var p=j.size,N=p*this.to;p*=this.from,j.hasDragged=j.scrollbar.hasDragged,j.render(0,0,p,N),this.shouldUpdateExtremes(H.DOMType)&&setTimeout(function(){j.onMouseUp(H)})})),j.addBaseSeriesEvents(),j.addChartEvents()},T.prototype.getUnionExtremes=function(w){var h,D=this.chart.xAxis[0],d=this.xAxis,R=d.options,a=D.options;return w&&null===D.dataMin||(h={dataMin:l(R&&R.min,r("min",a.min,D.dataMin,d.dataMin,d.min)),dataMax:l(R&&R.max,r("max",a.max,D.dataMax,d.dataMax,d.max))}),h},T.prototype.setBaseSeries=function(w,D){var d=this.chart,R=this.baseSeries=[];w=w||d.options&&d.options.navigator.baseSeries||(d.series.length?c(d.series,function(a){return!a.options.isInternal}).index:0),(d.series||[]).forEach(function(a,h){a.options.isInternal||!a.options.showInNavigator&&(h!==w&&a.options.id!==w||!1===a.options.showInNavigator)||R.push(a)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,D)},T.prototype.updateNavigatorSeries=function(w,D){var h,A,z,d=this,R=d.chart,a=d.baseSeries,j=d.navigatorOptions.series,H={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},p=d.series=(d.series||[]).filter(function(N){var _=N.baseSeries;return!(0>a.indexOf(_)&&(_&&(b(_,"updatedData",d.updatedDataHandler),delete _.navigatorSeries),N.chart&&N.destroy(),1))});a&&a.length&&a.forEach(function(N){var _=N.navigatorSeries,G=g({color:N.color,visible:N.visible},u(j)?S.navigator.series:j);_&&!1===d.navigatorOptions.adaptToUpdatedData||(H.name="Navigator "+a.length,z=(h=N.options||{}).navigatorOptions||{},G.dataLabels=n(G.dataLabels),(A=m(h,H,G,z)).pointRange=l(G.pointRange,z.pointRange,S.plotOptions[A.type||"line"].pointRange),G=z.data||G.data,d.hasNavigatorData=d.hasNavigatorData||!!G,A.data=G||h.data&&h.data.slice(0),_&&_.options?_.update(A,D):(N.navigatorSeries=R.initSeries(A),N.navigatorSeries.baseSeries=N,p.push(N.navigatorSeries)))}),(j.data&&(!a||!a.length)||u(j))&&(d.hasNavigatorData=!1,(j=n(j)).forEach(function(N,_){H.name="Navigator "+(p.length+1),(A=m(S.navigator.series,{color:R.series[_]&&!R.series[_].options.isInternal&&R.series[_].color||R.options.colors[_]||R.options.colors[0]},H,N)).data=N.data,A.data&&(d.hasNavigatorData=!0,p.push(R.initSeries(A)))})),w&&this.addBaseSeriesEvents()},T.prototype.addBaseSeriesEvents=function(){var w=this,D=w.baseSeries||[];D[0]&&D[0].xAxis&&D[0].eventsToUnbind.push(M(D[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),D.forEach(function(d){d.eventsToUnbind.push(M(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(M(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(M(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(M(d,"remove",function(){this.navigatorSeries&&(P(w.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)},T.prototype.getBaseSeriesMin=function(w){return this.baseSeries.reduce(function(D,d){return Math.min(D,d.xData&&d.xData.length?d.xData[0]:D)},w)},T.prototype.modifyNavigatorAxisExtremes=function(){var D,w=this.xAxis;void 0!==w.getExtremes&&(!(D=this.getUnionExtremes(!0))||D.dataMin===w.min&&D.dataMax===w.max||(w.min=D.dataMin,w.max=D.dataMax))},T.prototype.modifyBaseAxisExtremes=function(){var w=this.chart.navigator,D=this.getExtremes(),d=D.dataMin,R=D.dataMax;D=D.max-D.min;var a=w.stickToMin,h=w.stickToMax,A=l(this.options.overscroll,0),j=w.series&&w.series[0],z=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(a)var H=d,p=H+D;h&&(p=R+A,a||(H=Math.max(d,p-D,w.getBaseSeriesMin(j&&j.xData?j.xData[0]:-Number.MAX_VALUE)))),z&&(a||h)&&o(H)&&(this.min=this.userMin=H,this.max=this.userMax=p)}w.stickToMin=w.stickToMax=null},T.prototype.updatedDataHandler=function(){var w=this.chart.navigator,D=this.navigatorSeries;w.stickToMax=w.reversedExtremes?0===Math.round(w.zoomedMin):Math.round(w.zoomedMax)>=Math.round(w.size),w.stickToMin=w.shouldStickToMin(this,w),D&&!w.hasNavigatorData&&(D.options.pointStart=this.xData[0],D.setData(this.options.data,!1,null,!1))},T.prototype.shouldStickToMin=function(w,D){D=D.getBaseSeriesMin(w.xData[0]);var d=w.xAxis;w=d.max;var R=d.min;return d=d.options.range,!(!o(w)||!o(R))&&(d&&0<w-D?w-D<d:R<=D)},T.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(M(this.chart,"redraw",function(){var w=this.navigator,D=w&&(w.baseSeries&&w.baseSeries[0]&&w.baseSeries[0].xAxis||this.xAxis[0]);D&&w.render(D.min,D.max)}),M(this.chart,"getMargins",function(){var w=this.navigator,D=w.opposite?"plotTop":"marginBottom";this.inverted&&(D=w.opposite?"marginRight":"plotLeft"),this[D]=(this[D]||0)+(w.navigatorEnabled||!this.inverted?w.outlineHeight:0)+w.navigatorOptions.margin}))},T.prototype.destroy=function(){this.removeEvents(),this.xAxis&&(P(this.chart.xAxis,this.xAxis),P(this.chart.axes,this.xAxis)),this.yAxis&&(P(this.chart.yAxis,this.yAxis),P(this.chart.axes,this.yAxis)),(this.series||[]).forEach(function(w){w.destroy&&w.destroy()}),"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(w){this[w]&&this[w].destroy&&this[w].destroy(),this[w]=null},this),[this.handles].forEach(function(w){O(w)},this)},T}();return rt.Navigator||(rt.Navigator=f,Q.compose(X),M(Y,"beforeShowResetZoom",function(){var T=this.options,w=T.navigator,D=T.rangeSelector;if((w&&w.enabled||D&&D.enabled)&&(!y&&"x"===T.chart.zoomType||y&&"x"===T.chart.pinchType))return!1}),M(Y,"beforeRender",function(){var T=this.options;(T.navigator.enabled||T.scrollbar.enabled)&&(this.scroller=this.navigator=new f(this))}),M(Y,"afterSetChartSize",function(){var T=this.legend,w=this.navigator;if(w){var D=T&&T.options,d=w.xAxis,R=w.yAxis,a=w.scrollbarHeight;this.inverted?(w.left=w.opposite?this.chartWidth-a-w.height:this.spacing[3]+a,w.top=this.plotTop+a):(w.left=l(d.left,this.plotLeft+a),w.top=w.navigatorOptions.top||this.chartHeight-w.height-a-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(D&&"bottom"===D.verticalAlign&&"proximate"!==D.layout&&D.enabled&&!D.floating?T.legendHeight+l(D.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),d&&R&&(this.inverted?d.options.left=R.options.left=w.left:d.options.top=R.options.top=w.top,d.setAxisSize(),R.setAxisSize())}}),M(Y,"update",function(T){var w=T.options.navigator||{},D=T.options.scrollbar||{};this.navigator||this.scroller||!w.enabled&&!D.enabled||(m(!0,this.options.navigator,w),m(!0,this.options.scrollbar,D),delete T.options.navigator,delete T.options.scrollbar)}),M(Y,"afterUpdate",function(T){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new f(this),l(T.redraw,!0)&&this.redraw(T.animation))}),M(Y,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),M(F,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),Y.prototype.callbacks.push(function(T){var w=T.navigator;w&&T.xAxis[0]&&(T=T.xAxis[0].getExtremes(),w.render(T.min,T.max))})),rt.Navigator=f,rt.Navigator}),Mt($,"masters/modules/gantt.src.js",[$["Core/Globals.js"],$["Core/Chart/GanttChart.js"],$["Core/Scrollbar.js"]],function(X,Y,et){X.Scrollbar=et,X.GanttChart=Y,X.ganttChart=Y.ganttChart,et.compose(X.Axis)}),Mt($,"masters/highcharts-gantt.src.js",[$["masters/highcharts.src.js"]],function(X){return X.product="Highcharts Gantt",X}),$["masters/highcharts-gantt.src.js"]._modules=$,$["masters/highcharts-gantt.src.js"]},Te.exports?(Mt.default=Mt,Te.exports=de.document?Mt(de):Mt):void 0!==(oe=function(){return Mt(de)}.call(hi,Ve,hi,Te))&&(Te.exports=oe)},470:function(Te,hi,Ve){var oe,de,Mt;de="undefined"!=typeof window?window:this,Mt=function(de){function Mt(X,Y,et,rt){X.hasOwnProperty(Y)||(X[Y]=rt.apply(null,et),"function"==typeof CustomEvent&&de.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:Y,module:X[Y]}})))}var $={};return Mt($,"Core/Globals.js",[],function(){var X,Y;return(Y=X||(X={})).SVG_NS="http://www.w3.org/2000/svg",Y.product="Highcharts",Y.version="10.1.0",Y.win=void 0!==de?de:{},Y.doc=Y.win.document,Y.svg=Y.doc&&Y.doc.createElementNS&&!!Y.doc.createElementNS(Y.SVG_NS,"svg").createSVGRect,Y.userAgent=Y.win.navigator&&Y.win.navigator.userAgent||"",Y.isChrome=-1!==Y.userAgent.indexOf("Chrome"),Y.isFirefox=-1!==Y.userAgent.indexOf("Firefox"),Y.isMS=/(edge|msie|trident)/i.test(Y.userAgent)&&!Y.win.opera,Y.isSafari=!Y.isChrome&&-1!==Y.userAgent.indexOf("Safari"),Y.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Y.userAgent),Y.isWebKit=-1!==Y.userAgent.indexOf("AppleWebKit"),Y.deg2rad=2*Math.PI/360,Y.hasBidiBug=Y.isFirefox&&4>parseInt(Y.userAgent.split("Firefox/")[1],10),Y.hasTouch=!!Y.win.TouchEvent,Y.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Y.noop=function(){},Y.supportsPassiveEvents=function(){var et=!1;if(!Y.isMS){var rt=Object.defineProperty({},"passive",{get:function(){et=!0}});Y.win.addEventListener&&Y.win.removeEventListener&&(Y.win.addEventListener("testPassive",Y.noop,rt),Y.win.removeEventListener("testPassive",Y.noop,rt))}return et}(),Y.charts=[],Y.dateFormats={},Y.seriesTypes={},Y.symbolSizes={},Y.chartCount=0,X}),Mt($,"Core/Utilities.js",[$["Core/Globals.js"]],function(X){function Y(n,r,f,T){var w=r?"Highcharts error":"Highcharts warning";32===n&&(n=w+": Deprecated member");var D=I(n),d=D?w+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();if(void 0!==T){var R="";D&&(d+="?"),O(T,function(a,h){R+="\n - "+h+": "+a,D&&(d+=encodeURI(h)+"="+encodeURI(a))}),d+=R}g(X,"displayError",{chart:f,code:n,message:d,params:T},function(){if(r)throw Error(d);o.console&&-1===Y.messages.indexOf(d)&&console.warn(d)}),Y.messages.push(d)}function rt(n,r){return parseInt(n,r||10)}function Q(n){return"string"==typeof n}function it(n){return"[object Array]"===(n=Object.prototype.toString.call(n))||"[object Array Iterator]"===n}function K(n,r){return!(!n||"object"!=typeof n||r&&it(n))}function W(n){return K(n)&&"number"==typeof n.nodeType}function F(n){var r=n&&n.constructor;return!(!K(n,!0)||W(n)||!r||!r.name||"Object"===r.name)}function I(n){return"number"==typeof n&&!isNaN(n)&&1/0>n&&-1/0<n}function L(n){return null!=n}function C(n,r,f){var w,T=Q(r)&&!L(f),D=function(d,R){L(d)?n.setAttribute(R,d):T?(w=n.getAttribute(R))||"class"!==R||(w=n.getAttribute(R+"Name")):n.removeAttribute(R)};return Q(r)?D(f,r):O(r,D),w}function y(n,r){var f;for(f in n||(n={}),r)n[f]=r[f];return n}function S(){for(var n=arguments,r=n.length,f=0;f<r;f++){var T=n[f];if(null!=T)return T}}function M(n,r){X.isMS&&!X.svg&&r&&L(r.opacity)&&(r.filter="alpha(opacity="+100*r.opacity+")"),y(n.style,r)}function E(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))}function v(n,r){return 1e14<n?n:parseFloat(n.toPrecision(r||14))}function O(n,r,f){for(var T in n)Object.hasOwnProperty.call(n,T)&&r.call(f||n[T],n[T],T,n)}function P(n,r,f){function T(R,a){var h=n.removeEventListener||X.removeEventListenerPolyfill;h&&h.call(n,R,a,!1)}function w(R){var a;if(n.nodeName){if(r){var h={};h[r]=!0}else h=R;O(h,function(A,j){if(R[j])for(a=R[j].length;a--;)T(j,R[j][a].fn)})}}var D="function"==typeof n&&n.prototype||n;if(Object.hasOwnProperty.call(D,"hcEvents")){var d=D.hcEvents;r?(D=d[r]||[],f?(d[r]=D.filter(function(R){return f!==R.fn}),T(r,f)):(w(d),d[r]=[])):(w(d),delete D.hcEvents)}}function g(n,r,f,T){if(f=f||{},u.createEvent&&(n.dispatchEvent||n.fireEvent&&n!==X)){var w=u.createEvent("Events");w.initEvent(r,!0,!0),f=y(w,f),n.dispatchEvent?n.dispatchEvent(f):n.fireEvent(r,f)}else if(n.hcEvents){f.target||y(f,{preventDefault:function(){f.defaultPrevented=!0},target:n,type:r}),w=[];for(var D=n,d=!1;D.hcEvents;)Object.hasOwnProperty.call(D,"hcEvents")&&D.hcEvents[r]&&(w.length&&(d=!0),w.unshift.apply(w,D.hcEvents[r])),D=Object.getPrototypeOf(D);d&&w.sort(function(R,a){return R.order-a.order}),w.forEach(function(R){!1===R.fn.call(n,f)&&f.preventDefault()})}T&&!f.defaultPrevented&&T.call(n,f)}var c=X.charts,u=X.doc,o=X.win;(Y||(Y={})).messages=[],Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var m=Array.prototype.find?function(n,r){return n.find(r)}:function(n,r){var f,T=n.length;for(f=0;f<T;f++)if(r(n[f],f))return n[f]};O({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(n,r){X[r]=function(f){var T;return Y(32,!1,void 0,((T={})["Highcharts."+r]="use Array."+n,T)),Array.prototype[n].apply(f,[].slice.call(arguments,1))}});var l,n,r,b=(n=Math.random().toString(36).substring(2,9)+"-",r=0,function(){return"highcharts-"+(l?"":n)+r++});return o.jQuery&&(o.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new(X[Q(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):c[C(this[0],"data-highcharts-chart")]}),m={addEvent:function(n,r,f,T){void 0===T&&(T={});var w="function"==typeof n&&n.prototype||n;Object.hasOwnProperty.call(w,"hcEvents")||(w.hcEvents={}),w=w.hcEvents,X.Point&&n instanceof X.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);var D=n.addEventListener||X.addEventListenerPolyfill;return D&&D.call(n,r,f,!!X.supportsPassiveEvents&&{passive:void 0===T.passive?-1!==r.indexOf("touch"):T.passive,capture:!1}),w[r]||(w[r]=[]),w[r].push({fn:f,order:"number"==typeof T.order?T.order:1/0}),w[r].sort(function(d,R){return d.order-R.order}),function(){P(n,r,f)}},arrayMax:function(n){for(var r=n.length,f=n[0];r--;)n[r]>f&&(f=n[r]);return f},arrayMin:function(n){for(var r=n.length,f=n[0];r--;)n[r]<f&&(f=n[r]);return f},attr:C,clamp:function(n,r,f){return n>r?n<f?n:f:r},cleanRecursively:function et(n,r){var f={};return O(n,function(T,w){K(n[w],!0)&&!n.nodeType&&r[w]?(T=et(n[w],r[w]),Object.keys(T).length&&(f[w]=T)):(K(n[w])||n[w]!==r[w]||w in n&&!(w in r))&&(f[w]=n[w])}),f},clearTimeout:function(n){L(n)&&clearTimeout(n)},correctFloat:v,createElement:function(n,r,f,T,w){return n=u.createElement(n),r&&y(n,r),w&&M(n,{padding:"0",border:"none",margin:"0"}),f&&M(n,f),T&&T.appendChild(n),n},css:M,defined:L,destroyObjectProperties:function(n,r){O(n,function(f,T){f&&f!==r&&f.destroy&&f.destroy(),delete n[T]})},discardElement:function(n){n&&n.parentElement&&n.parentElement.removeChild(n)},erase:function(n,r){for(var f=n.length;f--;)if(n[f]===r){n.splice(f,1);break}},error:Y,extend:y,extendClass:function(n,r){var f=function(){};return y(f.prototype=new n,r),f},find:m,fireEvent:g,getMagnitude:E,getNestedProperty:function(n,r){for(n=n.split(".");n.length&&L(r);){var f=n.shift();if(void 0===f||"__proto__"===f||!L(r=r[f])||"function"==typeof r||"number"==typeof r.nodeType||r===o)return}return r},getStyle:function k(n,r,f){var T=X.getStyle||k;if("width"===r)return r=Math.min(n.offsetWidth,n.scrollWidth),(f=n.getBoundingClientRect&&n.getBoundingClientRect().width)<r&&f>=r-1&&(r=Math.floor(f)),Math.max(0,r-(T(n,"padding-left",!0)||0)-(T(n,"padding-right",!0)||0));if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(T(n,"padding-top",!0)||0)-(T(n,"padding-bottom",!0)||0));if(o.getComputedStyle||Y(27,!0),n=o.getComputedStyle(n,void 0)){var w=n.getPropertyValue(r);S(f,"opacity"!==r)&&(w=rt(w))}return w},inArray:function(n,r,f){return Y(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(n,f)},isArray:it,isClass:F,isDOMElement:W,isFunction:function(n){return"function"==typeof n},isNumber:I,isObject:K,isString:Q,keys:function(n){return Y(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)},merge:function(){var n,r=arguments,f={},T=function(D,d){return"object"!=typeof D&&(D={}),O(d,function(R,a){"__proto__"!==a&&"constructor"!==a&&(D[a]=!K(R,!0)||F(R)||W(R)?d[a]:T(D[a]||{},R))}),D};!0===r[0]&&(f=r[1],r=Array.prototype.slice.call(r,2));var w=r.length;for(n=0;n<w;n++)f=T(f,r[n]);return f},normalizeTickInterval:function(n,r,f,T,w){var D=n,d=n/(f=S(f,E(n)));for(r||(r=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===T&&(1===f?r=r.filter(function(R){return R%1==0}):.1>=f&&(r=[1/f]))),T=0;T<r.length&&(D=r[T],!(w&&D*f>=n||!w&&d<=(r[T]+(r[T+1]||r[T]))/2));T++);return v(D*f,-Math.round(Math.log(.001)/Math.LN10))},objectEach:O,offset:function(n){var r=u.documentElement;return{top:(n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(o.pageYOffset||r.scrollTop)-(r.clientTop||0),left:n.left+(o.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:n.width,height:n.height}},pad:function(n,r,f){return Array((r||2)+1-String(n).replace("-","").length).join(f||"0")+n},pick:S,pInt:rt,relativeLength:function(n,r,f){return/%$/.test(n)?r*parseFloat(n)/100+(f||0):parseFloat(n)},removeEvent:P,splat:function(n){return it(n)?n:[n]},stableSort:function(n,r){var T,w,f=n.length;for(w=0;w<f;w++)n[w].safeI=w;for(n.sort(function(D,d){return 0===(T=r(D,d))?D.safeI-d.safeI:T}),w=0;w<f;w++)delete n[w].safeI},syncTimeout:function(n,r,f){return 0<r?setTimeout(n,r,f):(n.call(0,f),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:b,useSerialIds:function(n){return l=S(n,l)},wrap:function(n,r,f){var T=n[r];n[r]=function(){var w=Array.prototype.slice.call(arguments),D=arguments,d=this;return d.proceed=function(){T.apply(d,arguments.length?arguments:D)},w.unshift(T),w=f.apply(this,w),d.proceed=null,w}}},m}),Mt($,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Mt($,"Core/Color/Color.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.isNumber,rt=Y.merge,Q=Y.pInt;return function(){function it(K){this.rgba=[NaN,NaN,NaN,NaN],this.input=K;var W=X.Color;return W&&W!==it?new W(K):this instanceof it?void this.init(K):new it(K)}return it.parse=function(K){return K?new it(K):it.None},it.prototype.init=function(K){var W;if("object"==typeof K&&void 0!==K.stops)this.stops=K.stops.map(function(C){return new it(C[1])});else if("string"==typeof K){if(this.input=K=it.names[K.toLowerCase()]||K,"#"===K.charAt(0)){var F=K.length,I=parseInt(K.substr(1),16);7===F?W=[(16711680&I)>>16,(65280&I)>>8,255&I,1]:4===F&&(W=[(3840&I)>>4|(3840&I)>>8,(240&I)>>4|240&I,(15&I)<<4|15&I,1])}if(!W)for(I=it.parsers.length;I--&&!W;){var L=it.parsers[I];(F=L.regex.exec(K))&&(W=L.parse(F))}}W&&(this.rgba=W)},it.prototype.get=function(K){var W=this.input,F=this.rgba;if("object"==typeof W&&void 0!==this.stops){var I=rt(W);return I.stops=[].slice.call(I.stops),this.stops.forEach(function(L,C){I.stops[C]=[I.stops[C][0],L.get(K)]}),I}return F&&et(F[0])?"rgb"===K||!K&&1===F[3]?"rgb("+F[0]+","+F[1]+","+F[2]+")":"a"===K?""+F[3]:"rgba("+F.join(",")+")":W},it.prototype.brighten=function(K){var W=this.rgba;if(this.stops)this.stops.forEach(function(I){I.brighten(K)});else if(et(K)&&0!==K)for(var F=0;3>F;F++)W[F]+=Q(255*K),0>W[F]&&(W[F]=0),255<W[F]&&(W[F]=255);return this},it.prototype.setOpacity=function(K){return this.rgba[3]=K,this},it.prototype.tweenTo=function(K,W){var F=this.rgba,I=K.rgba;return et(F[0])&&et(I[0])?((K=1!==I[3]||1!==F[3])?"rgba(":"rgb(")+Math.round(I[0]+(F[0]-I[0])*(1-W))+","+Math.round(I[1]+(F[1]-I[1])*(1-W))+","+Math.round(I[2]+(F[2]-I[2])*(1-W))+(K?","+(I[3]+(F[3]-I[3])*(1-W)):"")+")":K.input||"none"},it.names={white:"#ffffff",black:"#000000"},it.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(K){return[Q(K[1]),Q(K[2]),Q(K[3]),parseFloat(K[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(K){return[Q(K[1]),Q(K[2]),Q(K[3]),1]}}],it.None=new it(""),it}()}),Mt($,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}}),Mt($,"Core/Time.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.win,rt=Y.defined,Q=Y.error,it=Y.extend,K=Y.isObject,W=Y.merge,F=Y.objectEach,I=Y.pad,L=Y.pick,C=Y.splat,y=Y.timeUnits,S=X.isSafari&&et.Intl&&et.Intl.DateTimeFormat.prototype.formatRange,M=X.isSafari&&et.Intl&&!et.Intl.DateTimeFormat.prototype.formatRange;return Y=function(){function E(v){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=et.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(v)}return E.prototype.get=function(v,k){if(this.variableTimezone||this.timezoneOffset){var O=k.getTime(),P=O-this.getTimezoneOffset(k);return k.setTime(P),v=k["getUTC"+v](),k.setTime(O),v}return this.useUTC?k["getUTC"+v]():k["get"+v]()},E.prototype.set=function(v,k,O){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===v||"Seconds"===v||"Minutes"===v&&this.getTimezoneOffset(k)%36e5==0)return k["setUTC"+v](O);var P=this.getTimezoneOffset(k);return P=k.getTime()-P,k.setTime(P),k["setUTC"+v](O),v=this.getTimezoneOffset(k),P=k.getTime()+v,k.setTime(P)}return this.useUTC||S&&"FullYear"===v?k["setUTC"+v](O):k["set"+v](O)},E.prototype.update=function(v){var k=L(v&&v.useUTC,!0);this.options=v=W(!0,this.options||{},v),this.Date=v.Date||et.Date||Date,this.timezoneOffset=(this.useUTC=k)&&v.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=k&&!(!v.getTimezoneOffset&&!v.timezone)},E.prototype.makeTime=function(v,k,O,P,g,c){if(this.useUTC){var u=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(u),m=this.getTimezoneOffset(u+=o);o!==m?u+=m-o:o-36e5!==this.getTimezoneOffset(u-36e5)||M||(u-=36e5)}else u=new this.Date(v,k,L(O,1),L(P,0),L(g,0),L(c,0)).getTime();return u},E.prototype.timezoneOffsetFunction=function(){var v=this,k=this.options,O=k.getTimezoneOffset,P=k.moment||et.moment;if(!this.useUTC)return function(g){return 6e4*new Date(g.toString()).getTimezoneOffset()};if(k.timezone){if(P)return function(g){return 6e4*-P.tz(g,k.timezone).utcOffset()};Q(25)}return this.useUTC&&O?function(g){return 6e4*O(g.valueOf())}:function(){return 6e4*(v.timezoneOffset||0)}},E.prototype.dateFormat=function(v,k,O){if(!rt(k)||isNaN(k))return X.defaultOptions.lang&&X.defaultOptions.lang.invalidDate||"";v=L(v,"%Y-%m-%d %H:%M:%S");var P=this,g=new this.Date(k),c=this.get("Hours",g),u=this.get("Day",g),o=this.get("Date",g),m=this.get("Month",g),l=this.get("FullYear",g),b=X.defaultOptions.lang,n=b&&b.weekdays,r=b&&b.shortWeekdays;return g=it({a:r?r[u]:n[u].substr(0,3),A:n[u],d:I(o),e:I(o,2," "),w:u,b:b.shortMonths[m],B:b.months[m],m:I(m+1),o:m+1,y:l.toString().substr(2,2),Y:l,H:I(c),k:c,I:I(c%12||12),l:c%12||12,M:I(this.get("Minutes",g)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:I(g.getSeconds()),L:I(Math.floor(k%1e3),3)},X.dateFormats),F(g,function(f,T){for(;-1!==v.indexOf("%"+T);)v=v.replace("%"+T,"function"==typeof f?f.call(P,k):f)}),O?v.substr(0,1).toUpperCase()+v.substr(1):v},E.prototype.resolveDTLFormat=function(v){return K(v,!0)?v:{main:(v=C(v))[0],from:v[1],to:v[2]}},E.prototype.getTimeTicks=function(v,k,O,P){var b,g=this,c=[],u={},o=new g.Date(k),m=v.unitRange,l=v.count||1;if(P=L(P,1),rt(k)){if(g.set("Milliseconds",o,m>=y.second?0:l*Math.floor(g.get("Milliseconds",o)/l)),m>=y.second&&g.set("Seconds",o,m>=y.minute?0:l*Math.floor(g.get("Seconds",o)/l)),m>=y.minute&&g.set("Minutes",o,m>=y.hour?0:l*Math.floor(g.get("Minutes",o)/l)),m>=y.hour&&g.set("Hours",o,m>=y.day?0:l*Math.floor(g.get("Hours",o)/l)),m>=y.day&&g.set("Date",o,m>=y.month?1:Math.max(1,l*Math.floor(g.get("Date",o)/l))),m>=y.month){g.set("Month",o,m>=y.year?0:l*Math.floor(g.get("Month",o)/l));var n=g.get("FullYear",o)}m>=y.year&&g.set("FullYear",o,n-n%l),m===y.week&&(n=g.get("Day",o),g.set("Date",o,g.get("Date",o)-n+P+(n<P?-7:0))),n=g.get("FullYear",o),P=g.get("Month",o);var r=g.get("Date",o),f=g.get("Hours",o);for(k=o.getTime(),!g.variableTimezone&&g.useUTC||!rt(O)||(b=O-k>4*y.month||g.getTimezoneOffset(k)!==g.getTimezoneOffset(O)),k=o.getTime(),o=1;k<O;)c.push(k),k=m===y.year?g.makeTime(n+o*l,0):m===y.month?g.makeTime(n,P+o*l):!b||m!==y.day&&m!==y.week?b&&m===y.hour&&1<l?g.makeTime(n,P,r,f+o*l):k+m*l:g.makeTime(n,P,r+o*l*(m===y.day?1:7)),o++;c.push(k),m<=y.hour&&1e4>c.length&&c.forEach(function(T){T%18e5==0&&"000000000"===g.dateFormat("%H%M%S%L",T)&&(u[T]="day")})}return c.info=it(v,{higherRanks:u,totalRange:m*l}),c},E.prototype.getDateFormat=function(v,k,O,P){var g=this.dateFormat("%m-%d %H:%M:%S.%L",k),c={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(o in y){if(v===y.week&&+this.dateFormat("%w",k)===O&&"00:00:00.000"===g.substr(6)){var o="week";break}if(y[o]>v){o=u;break}if(c[o]&&g.substr(c[o])!=="01-01 00:00:00.000".substr(c[o]))break;"week"!==o&&(u=o)}if(o)var m=this.resolveDTLFormat(P[o]).main;return m},E}(),Y}),Mt($,"Core/DefaultOptions.js",[$["Core/Chart/ChartDefaults.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Color/Palettes.js"],$["Core/Time.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){Y=Y.parse;var K=it.merge,W={colors:rt.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:X,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",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:et.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:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:et.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:Y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},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"}};W.chart.styledMode=!1;var F=new Q(K(W.global,W.time));return{defaultOptions:W,defaultTime:F,getOptions:function(){return W},setOptions:function(I){return K(!0,W,I),(I.time||I.global)&&(et.time?et.time.update(K(W.global,W.time,I.global,I.time)):et.time=F),W}}}),Mt($,"Core/Animation/Fx.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=X.parse,Q=Y.win,it=et.isNumber,K=et.objectEach;return function(){function W(F,I,L){this.pos=NaN,this.options=I,this.elem=F,this.prop=L}return W.prototype.dSetter=function(){var F=this.paths,I=F&&F[0];F=F&&F[1];var L=this.now||0,C=[];if(1!==L&&I&&F)if(I.length===F.length&&1>L)for(var y=0;y<F.length;y++){for(var S=I[y],M=F[y],E=[],v=0;v<M.length;v++){var k=S[v],O=M[v];E[v]=it(k)&&it(O)&&("A"!==M[0]||4!==v&&5!==v)?k+L*(O-k):O}C.push(E)}else C=F;else C=this.toD||[];this.elem.attr("d",C,void 0,!0)},W.prototype.update=function(){var F=this.elem,I=this.prop,L=this.now,C=this.options.step;this[I+"Setter"]?this[I+"Setter"]():F.attr?F.element&&F.attr(I,L,null,!0):F.style[I]=L+this.unit,C&&C.call(F,L,this)},W.prototype.run=function(F,I,L){var C=this,y=C.options,S=function(v){return!S.stopped&&C.step(v)},M=Q.requestAnimationFrame||function(v){setTimeout(v,13)},E=function(){for(var v=0;v<W.timers.length;v++)W.timers[v]()||W.timers.splice(v--,1);W.timers.length&&M(E)};F!==I||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=F,this.end=I,this.unit=L,this.now=this.start,this.pos=0,S.elem=this.elem,S.prop=this.prop,S()&&1===W.timers.push(S)&&M(E)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},W.prototype.step=function(F){var I=+new Date,L=this.options,C=this.elem,y=L.complete,S=L.duration,M=L.curAnim;if(C.attr&&!C.element)F=!1;else if(F||I>=S+this.startTime){this.now=this.end,this.pos=1,this.update();var E=M[this.prop]=!0;K(M,function(v){!0!==v&&(E=!1)}),E&&y&&y.call(C),F=!1}else this.pos=L.easing((I-this.startTime)/S),this.now=this.start+(this.end-this.start)*this.pos,this.update(),F=!0;return F},W.prototype.initPath=function(F,I,L){function C(g,c){for(;g.length<P;){var u=g[0],o=c[P-g.length];o&&"M"===u[0]&&(g[0]="C"===o[0]?["C",u[1],u[2],u[1],u[2],u[1],u[2]]:["L",u[1],u[2]]),g.unshift(u),E&&(u=g.pop(),g.push(g[g.length-1],u))}}function y(g,c){for(;g.length<P;)if("C"===(c=g[Math.floor(g.length/v)-1].slice())[0]&&(c[1]=c[5],c[2]=c[6]),E){var u=g[Math.floor(g.length/v)].slice();g.splice(g.length/2,0,c,u)}else g.push(c)}var S=F.startX,M=F.endX;L=L.slice();var E=F.isArea,v=E?2:1;if(!(I=I&&I.slice()))return[L,L];if(S&&M&&M.length){for(F=0;F<S.length;F++){if(S[F]===M[0]){var k=F;break}if(S[0]===M[M.length-S.length+F]){k=F;var O=!0;break}if(S[S.length-1]===M[M.length-S.length+F]){k=S.length-F;break}}void 0===k&&(I=[])}if(I.length&&it(k)){var P=L.length+k*v;O?(C(I,L),y(L,I)):(C(L,I),y(I,L))}return[I,L]},W.prototype.fillSetter=function(){W.prototype.strokeSetter.apply(this,arguments)},W.prototype.strokeSetter=function(){this.elem.attr(this.prop,rt(this.start).tweenTo(rt(this.end),this.pos),void 0,!0)},W.timers=[],W}()}),Mt($,"Core/Animation/AnimationUtilities.js",[$["Core/Animation/Fx.js"],$["Core/Utilities.js"]],function(X,Y){function et(y){return F(y)?I({duration:500,defer:0},y):{duration:y?500:0,defer:0}}function rt(y,S){for(var M=X.timers.length;M--;)X.timers[M].elem!==y||S&&S!==X.timers[M].prop||(X.timers[M].stopped=!0)}var Q=Y.defined,it=Y.getStyle,K=Y.isArray,W=Y.isNumber,F=Y.isObject,I=Y.merge,L=Y.objectEach,C=Y.pick;return{animate:function(y,S,M){var E,k,O,v="";if(!F(M)){var P=arguments;M={duration:P[2],easing:P[3],complete:P[4]}}W(M.duration)||(M.duration=400),M.easing="function"==typeof M.easing?M.easing:Math[M.easing]||Math.easeInOutSine,M.curAnim=I(S),L(S,function(g,c){rt(y,c),O=new X(y,M,c),k=void 0,"d"===c&&K(S.d)?(O.paths=O.initPath(y,y.pathArray,S.d),O.toD=S.d,E=0,k=1):y.attr?E=y.attr(c):(E=parseFloat(it(y,c))||0,"opacity"!==c&&(v="px")),k||(k=g),"string"==typeof k&&k.match("px")&&(k=k.replace(/px/g,"")),O.run(E,k,v)})},animObject:et,getDeferredAnimation:function(y,S,M){var E=et(S),v=0,k=0;return(M?[M]:y.series).forEach(function(O){O=et(O.options.animation),v=S&&Q(S.defer)?E.defer:Math.max(v,O.duration+O.defer),k=Math.min(E.duration,O.duration)}),y.renderer.forExport&&(v=0),{defer:Math.max(0,v-k),duration:Math.min(v,k)}},setAnimation:function(y,S){S.renderer.globalAnimation=C(y,S.options.chart.animation,!0)},stop:rt}}),Mt($,"Core/Renderer/HTML/AST.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.SVG_NS,rt=Y.attr,Q=Y.createElement,it=Y.css,K=Y.error,W=Y.isFunction,F=Y.isString,I=Y.objectEach,L=Y.splat,C=(Y=X.win.trustedTypes)&&W(Y.createPolicy)&&Y.createPolicy("highcharts",{createHTML:function(M){return M}}),y=C?C.createHTML(""):"";try{var S=!!(new DOMParser).parseFromString(y,"text/html")}catch(M){S=!1}return function(){function M(E){this.nodes="string"==typeof E?this.parseMarkup(E):E}return M.filterUserAttributes=function(E){return I(E,function(v,k){var O=!0;-1===M.allowedAttributes.indexOf(k)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(O=F(v)&&M.allowedReferences.some(function(P){return 0===v.indexOf(P)})),O||(K(33,!1,void 0,{"Invalid attribute in config":""+k}),delete E[k])}),E},M.parseStyle=function(E){return E.split(";").reduce(function(v,k){var O=(k=k.split(":").map(function(P){return P.trim()})).shift();return O&&k.length&&(v[O.replace(/-([a-z])/g,function(P){return P[1].toUpperCase()})]=k.join(":")),v},{})},M.setElementHTML=function(E,v){E.innerHTML=M.emptyHTML,v&&new M(v).addToDOM(E)},M.prototype.addToDOM=function(E){return function v(k,O){var P;return L(k).forEach(function(g){var c=g.tagName,u=g.textContent?X.doc.createTextNode(g.textContent):void 0,o=M.bypassHTMLFiltering;if(c)if("#text"===c)var m=u;else if(-1!==M.allowedTags.indexOf(c)||o){c=X.doc.createElementNS("svg"===c?et:O.namespaceURI||et,c);var l=g.attributes||{};I(g,function(b,n){"tagName"!==n&&"attributes"!==n&&"children"!==n&&"style"!==n&&"textContent"!==n&&(l[n]=b)}),rt(c,o?l:M.filterUserAttributes(l)),g.style&&it(c,g.style),u&&c.appendChild(u),v(g.children||[],c),m=c}else K(33,!1,void 0,{"Invalid tagName in config":c});m&&O.appendChild(m),P=m}),P}(this.nodes,E)},M.prototype.parseMarkup=function(E){var v=[];if(E=E.trim().replace(/ style="/g,' data-style="'),S)E=(new DOMParser).parseFromString(C?C.createHTML(E):E,"text/html");else{var k=Q("div");k.innerHTML=E,E={body:k}}var O=function(P,g){var c=P.nodeName.toLowerCase(),u={tagName:c};if("#text"===c&&(u.textContent=P.textContent||""),c=P.attributes){var o={};[].forEach.call(c,function(l){"data-style"===l.name?u.style=M.parseStyle(l.value):o[l.name]=l.value}),u.attributes=o}if(P.childNodes.length){var m=[];[].forEach.call(P.childNodes,function(l){O(l,m)}),m.length&&(u.children=m)}g.push(u)};return[].forEach.call(E.body.childNodes,function(P){return O(P,v)}),v},M.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align textAnchor textLength title type valign width x x1 x2 y y1 y2 zIndex".split(" "),M.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),M.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),M.emptyHTML=y,M.bypassHTMLFiltering=!1,M}()}),Mt($,"Core/FormatUtilities.js",[$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L,C,y){L=+L;var S=rt.lang,M=((I=+I||0).toString().split(".")[1]||"").split("e")[0].length,E=I.toString().split("e"),v=L;if(-1===L)L=Math.min(M,20);else if(K(L)){if(L&&E[1]&&0>E[1]){var k=L+ +E[1];0<=k?(E[0]=(+E[0]).toExponential(k).split("e")[0],L=k):(E[0]=E[0].split(".")[0]||0,I=20>L?(E[0]*Math.pow(10,E[1])).toFixed(L):0,E[1]=0)}}else L=2;k=(Math.abs(E[1]?E[0]:I)+Math.pow(10,-Math.max(L,M)-1)).toFixed(L);var O=3<(M=String(F(k))).length?M.length%3:0;return C=W(C,S.decimalPoint),y=W(y,S.thousandsSep),I=(0>I?"-":"")+(O?M.substr(0,O)+y:""),I=0>+E[1]&&!v?"0":I+M.substr(O).replace(/(\d{3})(?=\d)/g,"$1"+y),L&&(I+=C+k.slice(-L)),E[1]&&0!=+I&&(I+="e"+E[1]),I}var rt=X.defaultOptions,Q=X.defaultTime,it=Y.getNestedProperty,K=Y.isNumber,W=Y.pick,F=Y.pInt;return{dateFormat:function(I,L,C){return Q.dateFormat(I,L,C)},format:function(I,L,C){var y="{",S=!1,M=/f$/,E=/\.([0-9])/,v=rt.lang,k=C&&C.time||Q;C=C&&C.numberFormatter||et;for(var O=[];I;){var P=I.indexOf(y);if(-1===P)break;var g=I.slice(0,P);if(S){if(g=g.split(":"),y=it(g.shift()||"",L),g.length&&"number"==typeof y)if(g=g.join(":"),M.test(g)){var c=parseInt((g.match(E)||["","-1"])[1],10);null!==y&&(y=C(y,c,v.decimalPoint,-1<g.indexOf(",")?v.thousandsSep:""))}else y=k.dateFormat(g,y);O.push(y)}else O.push(g);I=I.slice(P+1),y=(S=!S)?"}":"{"}return O.push(I),O.join("")},numberFormat:et}}),Mt($,"Core/Renderer/RendererUtilities.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.clamp,et=X.pick,rt=X.stableSort;return(Q||(Q={})).distribute=function K(W,F,I){var M,L=W,C=L.reducedLen||F,y=function(O,P){return(P.rank||0)-(O.rank||0)},S=function(O,P){return O.target-P.target},E=!0,v=[],k=0;for(M=W.length;M--;)k+=W[M].size;if(k>C){for(rt(W,y),k=M=0;k<=C;)k+=W[M].size,M++;v=W.splice(M-1,W.length)}for(rt(W,S),W=W.map(function(O){return{size:O.size,targets:[O.target],align:et(O.align,.5)}});E;){for(M=W.length;M--;)C=W[M],y=(Math.min.apply(0,C.targets)+Math.max.apply(0,C.targets))/2,C.pos=Y(y-C.size*C.align,0,F-C.size);for(M=W.length,E=!1;M--;)0<M&&W[M-1].pos+W[M-1].size>W[M].pos&&(W[M-1].size+=W[M].size,W[M-1].targets=W[M-1].targets.concat(W[M].targets),W[M-1].align=.5,W[M-1].pos+W[M-1].size>F&&(W[M-1].pos=F-W[M-1].size),W.splice(M,1),E=!0)}return L.push.apply(L,v),M=0,W.some(function(O){var P=0;return(O.targets||[]).some(function(){return L[M].pos=O.pos+P,void 0!==I&&Math.abs(L[M].pos-L[M].target)>I?(L.slice(0,M+1).forEach(function(g){return delete g.pos}),L.reducedLen=(L.reducedLen||F)-.1*F,L.reducedLen>.1*F&&K(L,F,I),!0):(P+=L[M].size,M++,!1)})}),rt(L,S),L},Q}),Mt($,"Core/Renderer/SVG/SVGElement.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.animate,K=X.animObject,W=X.stop,F=rt.deg2rad,I=rt.doc,L=rt.noop,C=rt.svg,y=rt.SVG_NS,S=rt.win,M=Q.addEvent,E=Q.attr,v=Q.createElement,k=Q.css,O=Q.defined,P=Q.erase,g=Q.extend,c=Q.fireEvent,u=Q.isArray,o=Q.isFunction,m=Q.isNumber,l=Q.isString,b=Q.merge,n=Q.objectEach,r=Q.pick,f=Q.pInt,T=Q.syncTimeout,w=Q.uniqueKey;return X=function(){function D(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=y,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return D.prototype._defaultGetter=function(d){return d=r(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0),/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d)),d},D.prototype._defaultSetter=function(d,R,a){a.setAttribute(R,d)},D.prototype.add=function(d){var R=this.renderer,a=this.element;if(d&&(this.parentGroup=d),this.parentInverted=d&&d.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&R.buildText(this),this.added=!0,!d||d.handleZ||this.zIndex)var h=this.zIndexSetter();return h||(d?d.element:R.box).appendChild(a),this.onAdd&&this.onAdd(),this},D.prototype.addClass=function(d,R){var a=R?"":this.attr("class")||"";return(d=(d||"").split(/ /g).reduce(function(h,A){return-1===a.indexOf(A)&&h.push(A),h},a?[a]:[]).join(" "))!==a&&this.attr("class",d),this},D.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},D.prototype.align=function(d,R,a){var z,H,p,h={},A=this.renderer,j=A.alignedObjects;d?(this.alignOptions=d,this.alignByTranslate=R,(!a||l(a))&&(this.alignTo=z=a||"renderer",P(j,this),j.push(this),a=void 0)):(d=this.alignOptions,R=this.alignByTranslate,z=this.alignTo),a=r(a,A[z],"scrollablePlotBox"===z?A.plotBox:void 0,A);var N=d.verticalAlign;return A=(a.x||0)+(d.x||0),j=(a.y||0)+(d.y||0),"right"===(z=d.align)?H=1:"center"===z&&(H=2),H&&(A+=(a.width-(d.width||0))/H),h[R?"translateX":"x"]=Math.round(A),"bottom"===N?p=1:"middle"===N&&(p=2),p&&(j+=(a.height-(d.height||0))/p),h[R?"translateY":"y"]=Math.round(j),this[this.placed?"animate":"attr"](h),this.placed=!0,this.alignAttr=h,this},D.prototype.alignSetter=function(d){var R={left:"start",center:"middle",right:"end"};R[d]&&(this.alignValue=d,this.element.setAttribute("text-anchor",R[d]))},D.prototype.animate=function(d,R,a){var h=this,A=K(r(R,this.renderer.globalAnimation,!0));return R=A.defer,r(I.hidden,I.msHidden,I.webkitHidden,!1)&&(A.duration=0),0!==A.duration?(a&&(A.complete=a),T(function(){h.element&&it(h,d,A)},R)):(this.attr(d,void 0,a||A.complete),n(d,function(j,z){A.step&&A.step.call(this,j,{prop:z,pos:1,elem:this})},this)),this},D.prototype.applyTextOutline=function(d){var R=this.element;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));var a=d.split(" ");if(d=a[a.length-1],(a=a[0])&&"none"!==a&&rt.svg){this.fakeTS=!0,this.ySetter=this.xSetter,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(j,z,H){return 2*Number(z)+H}),this.removeTextOutline();var h=I.createElementNS(y,"tspan");E(h,{class:"highcharts-text-outline",fill:d,stroke:d,"stroke-width":a,"stroke-linejoin":"round"}),[].forEach.call(R.childNodes,function(j){var z=j.cloneNode(!0);z.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(H){return z.removeAttribute(H)}),h.appendChild(z)});var A=I.createElementNS(y,"tspan");A.textContent="\u200b",["x","y"].forEach(function(j){var z=R.getAttribute(j);z&&A.setAttribute(j,z)}),h.appendChild(A),R.insertBefore(h,R.firstChild)}},D.prototype.attr=function(d,R,a,h){var z,p,N,A=this.element,j=this.symbolCustomAttribs,H=this;if("string"==typeof d&&void 0!==R){var _=d;(d={})[_]=R}return"string"==typeof d?H=(this[d+"Getter"]||this._defaultGetter).call(this,d,A):(n(d,function(G,U){p=!1,h||W(this,U),this.symbolName&&-1!==j.indexOf(U)&&(z||(this.symbolAttr(d),z=!0),p=!0),!this.rotation||"x"!==U&&"y"!==U||(this.doTransform=!0),p||((N=this[U+"Setter"]||this._defaultSetter).call(this,G,U,A),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(U)&&this.updateShadows(U,G,N))},this),this.afterSetters()),a&&a.call(this),H},D.prototype.clip=function(d){return this.attr("clip-path",d?"url("+this.renderer.url+"#"+d.id+")":"none")},D.prototype.crisp=function(d,R){R=R||d.strokeWidth||0;var a=Math.round(R)%2/2;return d.x=Math.floor(d.x||this.x||0)+a,d.y=Math.floor(d.y||this.y||0)+a,d.width=Math.floor((d.width||this.width||0)-2*a),d.height=Math.floor((d.height||this.height||0)-2*a),O(d.strokeWidth)&&(d.strokeWidth=R),d},D.prototype.complexColor=function(d,R,a){var A,j,z,H,p,N,_,G,U,tt,ot,h=this.renderer,J=[];c(this.renderer,"complexColor",{args:arguments},function(){if(d.radialGradient?j="radialGradient":d.linearGradient&&(j="linearGradient"),j){if(p=h.gradients,N=d.stops,U=a.radialReference,u(z=d[j])&&(d[j]=z={x1:z[0],y1:z[1],x2:z[2],y2:z[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===j&&U&&!O(z.gradientUnits)&&(z=b(z,h.getRadialAttr(U,H=z),{gradientUnits:"userSpaceOnUse"})),n(z,function(ft,mt){"id"!==mt&&J.push(mt,ft)}),n(N,function(ft){J.push(ft)}),J=J.join(","),p[J])tt=p[J].attr("id");else{z.id=tt=w();var at=p[J]=h.createElement(j).attr(z).add(h.defs);at.radAttr=H,at.stops=[],N.forEach(function(ft){0===ft[1].indexOf("rgba")?(A=et.parse(ft[1]),_=A.get("rgb"),G=A.get("a")):(_=ft[1],G=1),ft=h.createElement("stop").attr({offset:ft[0],"stop-color":_,"stop-opacity":G}).add(at),at.stops.push(ft)})}a.setAttribute(R,ot="url("+h.url+"#"+tt+")"),a.gradient=J,d.toString=function(){return ot}}})},D.prototype.css=function(d){var R=this.styles,a={},h=this.element,A=!R;if(d.color&&(d.fill=d.color),R&&n(d,function(H,p){R&&R[p]!==H&&(a[p]=H,A=!0)}),A){if(R&&(d=g(R,a)),null===d.width||"auto"===d.width)delete this.textWidth;else if("text"===h.nodeName.toLowerCase()&&d.width)var j=this.textWidth=f(d.width);this.styles=d,j&&!C&&this.renderer.forExport&&delete d.width;var z=b(d);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(H){return z&&delete z[H]}),k(h,z),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),d.textOutline&&this.applyTextOutline(d.textOutline))}return this},D.prototype.dashstyleSetter=function(d){var R=this["stroke-width"];if("inherit"===R&&(R=1),d=d&&d.toLowerCase()){var a=d.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(d=a.length;d--;)a[d]=""+f(a[d])*r(R,NaN);d=a.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",d)}},D.prototype.destroy=function(){var d=this,R=d.element||{},a=d.renderer,h=R.ownerSVGElement,A=a.isSVG&&"SPAN"===R.nodeName&&d.parentGroup||void 0;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,W(d),d.clipPath&&h){var j=d.clipPath;[].forEach.call(h.querySelectorAll("[clip-path],[CLIP-PATH]"),function(z){-1<z.getAttribute("clip-path").indexOf(j.element.id)&&z.removeAttribute("clip-path")}),d.clipPath=j.destroy()}if(d.stops){for(h=0;h<d.stops.length;h++)d.stops[h].destroy();d.stops.length=0,d.stops=void 0}for(d.safeRemoveChild(R),a.styledMode||d.destroyShadows();A&&A.div&&0===A.div.childNodes.length;)R=A.parentGroup,d.safeRemoveChild(A.div),delete A.div,A=R;d.alignTo&&P(a.alignedObjects,d),n(d,function(z,H){d[H]&&d[H].parentGroup===d&&d[H].destroy&&d[H].destroy(),delete d[H]})},D.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(d){this.safeRemoveChild(d)},this),this.shadows=void 0},D.prototype.destroyTextPath=function(d,R){var a=d.getElementsByTagName("text")[0];if(a){if(a.removeAttribute("dx"),a.removeAttribute("dy"),R.element.setAttribute("id",""),this.textPathWrapper&&a.getElementsByTagName("textPath").length){for(d=this.textPathWrapper.element.childNodes;d.length;)a.appendChild(d[0]);a.removeChild(this.textPathWrapper.element)}}else(d.getAttribute("dx")||d.getAttribute("dy"))&&(d.removeAttribute("dx"),d.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},D.prototype.dSetter=function(d,R,a){u(d)&&("string"==typeof d[0]&&(d=this.renderer.pathToSegments(d)),this.pathArray=d,d=d.reduce(function(h,A,j){return A&&A.join?(j?h+" ":"")+A.join(" "):(A||"").toString()},"")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this[R]!==d&&(a.setAttribute(R,d),this[R]=d)},D.prototype.fadeOut=function(d){var R=this;R.animate({opacity:0},{duration:r(d,150),complete:function(){R.attr({y:-9999}).hide()}})},D.prototype.fillSetter=function(d,R,a){"string"==typeof d?a.setAttribute(R,d):d&&this.complexColor(d,R,a)},D.prototype.getBBox=function(d,R){var a=this.alignValue,h=this.element,A=this.renderer,j=this.styles,z=this.textStr,H=A.cache,p=A.cacheKeys,N=h.namespaceURI===this.SVG_NS;R=r(R,this.rotation,0);var G,_=A.styledMode?h&&D.prototype.getStyle.call(h,"font-size"):j&&j.fontSize;if(O(z)){var U=z.toString();-1===U.indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",R,_,this.textWidth,a,j&&j.textOverflow,j&&j.fontWeight].join()}if(U&&!d&&(G=H[U]),!G){if(N||A.forExport){try{var tt=this.fakeTS&&function(ot){var at=h.querySelector(".highcharts-text-outline");at&&k(at,{display:ot})};o(tt)&&tt("none"),G=h.getBBox?g({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},o(tt)&&tt("")}catch(ot){}(!G||0>G.width)&&(G={x:0,y:0,width:0,height:0})}else G=this.htmlGetBBox();if(A.isSVG&&(A=G.width,d=G.height,N&&(G.height=d={"11px,17":14,"13px,20":16}[(_||"")+","+Math.round(d)]||d),R)){N=Number(h.getAttribute("y")||0)-G.y,a={right:1,center:.5}[a||0]||0,j=R*F,_=(R-90)*F;var J=A*Math.cos(j);R=A*Math.sin(j),tt=Math.cos(_),j=Math.sin(_),J=(tt=(_=(A=G.x+a*(A-J)+N*tt)+J)-d*tt)-J,R=(d=(a=(N=G.y+N-a*R+N*j)+R)-d*j)-R,G.x=Math.min(A,_,tt,J),G.y=Math.min(N,a,d,R),G.width=Math.max(A,_,tt,J)-G.x,G.height=Math.max(N,a,d,R)-G.y}if(U&&(""===z||0<G.height)){for(;250<p.length;)delete H[p.shift()];H[U]||p.push(U),H[U]=G}}return G},D.prototype.getStyle=function(d){return S.getComputedStyle(this.element||this,"").getPropertyValue(d)},D.prototype.hasClass=function(d){return-1!==(""+this.attr("class")).split(" ").indexOf(d)},D.prototype.hide=function(){return this.attr({visibility:"hidden"})},D.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},D.prototype.init=function(d,R){this.element="span"===R?v(R):I.createElementNS(this.SVG_NS,R),this.renderer=d,c(this,"afterInit")},D.prototype.invert=function(d){return this.inverted=d,this.updateTransform(),this},D.prototype.on=function(d,R){var a=this.onEvents;return a[d]&&a[d](),a[d]=M(this.element,d,R),this},D.prototype.opacitySetter=function(d,R,a){this.opacity=d=Number(Number(d).toFixed(3)),a.setAttribute(R,d)},D.prototype.removeClass=function(d){return this.attr("class",(""+this.attr("class")).replace(l(d)?new RegExp("(^| )"+d+"( |$)"):d," ").replace(/ +/g," ").trim())},D.prototype.removeTextOutline=function(){var d=this.element.querySelector("tspan.highcharts-text-outline");d&&this.safeRemoveChild(d)},D.prototype.safeRemoveChild=function(d){var R=d.parentNode;R&&R.removeChild(d)},D.prototype.setRadialReference=function(d){var R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=d,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(d,R.radAttr)),this},D.prototype.setTextPath=function(d,R){var a=this.element,h=this.text?this.text.element:a,A={textAnchor:"text-anchor"},j=!1,z=this.textPathWrapper,H=!z;R=b(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},R);var p=Y.filterUserAttributes(R.attributes);if(d&&R&&R.enabled){z&&null===z.element.parentNode?(H=!0,z=z.destroy()):z&&this.removeTextOutline.call(z.parentGroup),this.options&&this.options.padding&&(p.dx=-this.options.padding),z||(this.textPathWrapper=z=this.renderer.createElement("textPath"),j=!0);var N=z.element;if((R=d.element.getAttribute("id"))||d.element.setAttribute("id",R=w()),H)for(h.setAttribute("y",0),m(p.dx)&&h.setAttribute("x",-p.dx),d=[].slice.call(h.childNodes),H=0;H<d.length;H++){var _=d[H];_.nodeType!==S.Node.TEXT_NODE&&"tspan"!==_.nodeName||N.appendChild(_)}j&&z&&z.add({element:h}),N.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+R),O(p.dy)&&(N.parentNode.setAttribute("dy",p.dy),delete p.dy),O(p.dx)&&(N.parentNode.setAttribute("dx",p.dx),delete p.dx),n(p,function(G,U){N.setAttribute(A[U]||U,G)}),a.removeAttribute("transform"),this.removeTextOutline.call(z),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=L}else z&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(a,d),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},D.prototype.shadow=function(d,R,a){var p,h=[],A=this.element,j=this.oldShadowOptions,z={color:"#000000",offsetX:this.parentInverted?-1:1,offsetY:this.parentInverted?-1:1,opacity:.15,width:3},H=!1;if(!0===d?p=z:"object"==typeof d&&(p=g(z,d)),p&&(p&&j&&n(p,function(tt,J){tt!==j[J]&&(H=!0)}),H&&this.destroyShadows(),this.oldShadowOptions=p),p){if(!this.shadows){var N=p.opacity/p.width,_=this.parentInverted?"translate("+p.offsetY+", "+p.offsetX+")":"translate("+p.offsetX+", "+p.offsetY+")";for(z=1;z<=p.width;z++){var G=A.cloneNode(!1),U=2*p.width+1-2*z;E(G,{stroke:d.color||"#000000","stroke-opacity":N*z,"stroke-width":U,transform:_,fill:"none"}),G.setAttribute("class",(G.getAttribute("class")||"")+" highcharts-shadow"),a&&(E(G,"height",Math.max(E(G,"height")-U,0)),G.cutHeight=U),R?R.element.appendChild(G):A.parentNode&&A.parentNode.insertBefore(G,A),h.push(G)}this.shadows=h}}else this.destroyShadows();return this},D.prototype.show=function(d){return void 0===d&&(d=!0),this.attr({visibility:d?"inherit":"visible"})},D.prototype.strokeSetter=function(d,R,a){this[R]=d,this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",a),a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===R&&0===d&&this.hasStroke?(a.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},D.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var d=this.getStyle("stroke-width"),R=0;if(d.indexOf("px")===d.length-2)R=f(d);else if(""!==d){var a=I.createElementNS(y,"rect");E(a,{width:d,"stroke-width":0}),this.element.parentNode.appendChild(a),R=a.getBBox().width,a.parentNode.removeChild(a)}return R},D.prototype.symbolAttr=function(d){var R=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(a){R[a]=r(d[a],R[a])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})},D.prototype.textSetter=function(d){d!==this.textStr&&(delete this.textPxLength,this.textStr=d,this.added&&this.renderer.buildText(this))},D.prototype.titleSetter=function(d){var R=this.element,a=R.getElementsByTagName("title")[0]||I.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(a,R.firstChild):R.appendChild(a),a.textContent=String(r(d,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},D.prototype.toFront=function(){var d=this.element;return d.parentNode.appendChild(d),this},D.prototype.translate=function(d,R){return this.attr({translateX:d,translateY:R})},D.prototype.updateShadows=function(d,R,a){var h=this.shadows;if(h)for(var A=h.length;A--;)a.call(h[A],"height"===d?Math.max(R-(h[A].cutHeight||0),0):"d"===d?this.d:R,d,h[A])},D.prototype.updateTransform=function(){var d=this.scaleX,R=this.scaleY,a=this.inverted,h=this.rotation,A=this.matrix,j=this.element,z=this.translateX||0,H=this.translateY||0;a&&(z+=this.width,H+=this.height),z=["translate("+z+","+H+")"],O(A)&&z.push("matrix("+A.join(",")+")"),a?z.push("rotate(90) scale(-1,1)"):h&&z.push("rotate("+h+" "+r(this.rotationOriginX,j.getAttribute("x"),0)+" "+r(this.rotationOriginY,j.getAttribute("y")||0)+")"),(O(d)||O(R))&&z.push("scale("+r(d,1)+" "+r(R,1)+")"),z.length&&j.setAttribute("transform",z.join(" "))},D.prototype.visibilitySetter=function(d,R,a){"inherit"===d?a.removeAttribute(R):this[R]!==d&&a.setAttribute(R,d),this[R]=d},D.prototype.xGetter=function(d){return"circle"===this.element.nodeName&&("x"===d?d="cx":"y"===d&&(d="cy")),this._defaultGetter(d)},D.prototype.zIndexSetter=function(d,R){var a=this.renderer,h=this.parentGroup,A=(h||a).element||a.box,j=this.element;a=A===a.box;var p,z=!1,H=this.added;if(O(d)?(j.setAttribute("data-z-index",d),this[R]===(d=+d)&&(H=!1)):O(this[R])&&j.removeAttribute("data-z-index"),this[R]=d,H){for((d=this.zIndex)&&h&&(h.handleZ=!0),p=(R=A.childNodes).length-1;0<=p&&!z;p--){H=(h=R[p]).getAttribute("data-z-index");var N=!O(H);h!==j&&(0>d&&N&&!a&&!p?(A.insertBefore(j,R[p]),z=!0):(f(H)<=d||N&&(!O(d)||0<=d))&&(A.insertBefore(j,R[p+1]||null),z=!0))}z||(A.insertBefore(j,R[a?3:0]||null),z=!0)}return z},D}(),X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter,X.prototype.yGetter=X.prototype.xGetter,X.prototype.matrixSetter=X.prototype.rotationOriginXSetter=X.prototype.rotationOriginYSetter=X.prototype.rotationSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter=X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.verticalAlignSetter=function(D,d){this[d]=D,this.doTransform=!0},X}),Mt($,"Core/Renderer/RendererRegistry.js",[$["Core/Globals.js"]],function(X){var Y,et,rt;return(et=Y||(Y={})).rendererTypes={},et.getRendererType=function(Q){return void 0===Q&&(Q=rt),et.rendererTypes[Q]||et.rendererTypes[rt]},et.registerRendererType=function(Q,it,K){et.rendererTypes[Q]=it,(!rt||K)&&(rt=Q,X.Renderer=it)},Y}),Mt($,"Core/Renderer/SVG/SVGLabel.js",[$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y){var I,et=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),rt=Y.defined,Q=Y.extend,it=Y.isNumber,K=Y.merge,W=Y.pick,F=Y.removeEvent;return function(I){function L(C,y,S,M,E,v,k,O,P,g){var u,c=I.call(this)||this;return c.paddingLeftSetter=c.paddingSetter,c.paddingRightSetter=c.paddingSetter,c.init(C,"g"),c.textStr=y,c.x=S,c.y=M,c.anchorX=v,c.anchorY=k,c.baseline=P,c.className=g,c.addClass("button"===g?"highcharts-no-tooltip":"highcharts-label"),g&&c.addClass("highcharts-"+g),c.text=C.text(void 0,0,0,O).attr({zIndex:1}),"string"==typeof E&&((u=/^url\((.*?)\)$/.test(E))||c.renderer.symbols[E])&&(c.symbolKey=E),c.bBox=L.emptyBBox,c.padding=3,c.baselineOffset=0,c.needsBox=C.styledMode||u,c.deferredAttr={},c.alignFactor=0,c}return et(L,I),L.prototype.alignSetter=function(C){(C={left:0,center:.5,right:1}[C])!==this.alignFactor&&(this.alignFactor=C,this.bBox&&it(this.xSetting)&&this.attr({x:this.xSetting}))},L.prototype.anchorXSetter=function(C,y){this.anchorX=C,this.boxAttr(y,Math.round(C)-this.getCrispAdjust()-this.xSetting)},L.prototype.anchorYSetter=function(C,y){this.anchorY=C,this.boxAttr(y,C-this.ySetting)},L.prototype.boxAttr=function(C,y){this.box?this.box.attr(C,y):this.deferredAttr[C]=y},L.prototype.css=function(C){if(C){var y={};C=K(C),L.textProps.forEach(function(M){void 0!==C[M]&&(y[M]=C[M],delete C[M])}),this.text.css(y);var S="width"in y;"fontSize"in y||"fontWeight"in y?this.updateTextPadding():S&&this.updateBoxSize()}return X.prototype.css.call(this,C)},L.prototype.destroy=function(){F(this.element,"mouseenter"),F(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),X.prototype.destroy.call(this)},L.prototype.fillSetter=function(C,y){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(y,C)},L.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var C=this.padding,y=W(this.paddingLeft,C);return{width:this.width,height:this.height,x:this.bBox.x-y,y:this.bBox.y-C}},L.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},L.prototype.heightSetter=function(C){this.heightSetting=C},L.prototype.onAdd=function(){var C=this.textStr;this.text.add(this),this.attr({text:rt(C)?C:"",x:this.x,y:this.y}),this.box&&rt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},L.prototype.paddingSetter=function(C,y){it(C)?C!==this[y]&&(this[y]=C,this.updateTextPadding()):this[y]=void 0},L.prototype.rSetter=function(C,y){this.boxAttr(y,C)},L.prototype.shadow=function(C){return C&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(C)),this},L.prototype.strokeSetter=function(C,y){this.stroke=C,this.boxAttr(y,C)},L.prototype["stroke-widthSetter"]=function(C,y){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(y,C)},L.prototype["text-alignSetter"]=function(C){this.textAlign=C},L.prototype.textSetter=function(C){void 0!==C&&this.text.attr({text:C}),this.updateTextPadding()},L.prototype.updateBoxSize=function(){var C=this.text.element.style,y={},S=this.padding,M=this.bBox=it(this.widthSetting)&&it(this.heightSetting)&&!this.textAlign||!rt(this.text.textStr)?L.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||M.height||0)+2*S,C=this.renderer.fontMetrics(C&&C.fontSize,this.text),this.baselineOffset=S+Math.min((this.text.firstLineMetrics||C).b,M.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-C.h)/2),this.needsBox&&(this.box||((S=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),S.add(this)),S=this.getCrispAdjust(),y.x=S,y.y=(this.baseline?-this.baselineOffset:0)+S,y.width=Math.round(this.width),y.height=Math.round(this.height),this.box.attr(Q(y,this.deferredAttr)),this.deferredAttr={})},L.prototype.updateTextPadding=function(){var C=this.text;this.updateBoxSize();var y=this.baseline?0:this.baselineOffset,S=W(this.paddingLeft,this.padding);rt(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(S+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(S!==C.x||y!==C.y)&&(C.attr("x",S),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),void 0!==y&&C.attr("y",y)),C.x=S,C.y=y},L.prototype.widthSetter=function(C){this.widthSetting=it(C)?C:void 0},L.prototype.getPaddedWidth=function(){var C=this.padding,y=W(this.paddingLeft,C);return C=W(this.paddingRight,C),(this.widthSetting||this.bBox.width||0)+y+C},L.prototype.xSetter=function(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)},L.prototype.ySetter=function(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)},L.emptyBBox={width:0,height:0,x:0,y:0},L.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),L}(X)}),Mt($,"Core/Renderer/SVG/Symbols.js",[$["Core/Utilities.js"]],function(X){function Y(W,F,I,L,C){var y=[];if(C){var S=C.start||0,M=K(C.r,I);I=K(C.r,L||I);var E=(C.end||0)-.001;L=C.innerR;var v=K(C.open,.001>Math.abs((C.end||0)-S-2*Math.PI)),k=Math.cos(S),O=Math.sin(S),P=Math.cos(E),g=Math.sin(E);S=K(C.longArc,.001>E-S-Math.PI?0:1),y.push(["M",W+M*k,F+I*O],["A",M,I,0,S,K(C.clockwise,1),W+M*P,F+I*g]),Q(L)&&y.push(v?["M",W+L*P,F+L*g]:["L",W+L*P,F+L*g],["A",L,L,0,S,Q(C.clockwise)?1-C.clockwise:0,W+L*k,F+L*O]),v||y.push(["Z"])}return y}function et(W,F,I,L,C){return C&&C.r?rt(W,F,I,L,C):[["M",W,F],["L",W+I,F],["L",W+I,F+L],["L",W,F+L],["Z"]]}function rt(W,F,I,L,C){return[["M",W+(C=C&&C.r||0),F],["L",W+I-C,F],["C",W+I,F,W+I,F,W+I,F+C],["L",W+I,F+L-C],["C",W+I,F+L,W+I,F+L,W+I-C,F+L],["L",W+C,F+L],["C",W,F+L,W,F+L,W,F+L-C],["L",W,F+C],["C",W,F,W,F,W+C,F]]}var Q=X.defined,it=X.isNumber,K=X.pick;return{arc:Y,callout:function(W,F,I,L,C){var y=Math.min(C&&C.r||0,I,L),S=y+6,M=C&&C.anchorX;C=C&&C.anchorY||0;var E=rt(W,F,I,L,{r:y});return it(M)&&(W+M>=I?C>F+S&&C<F+L-S?E.splice(3,1,["L",W+I,C-6],["L",W+I+6,C],["L",W+I,C+6],["L",W+I,F+L-y]):E.splice(3,1,["L",W+I,L/2],["L",M,C],["L",W+I,L/2],["L",W+I,F+L-y]):0>=W+M?C>F+S&&C<F+L-S?E.splice(7,1,["L",W,C+6],["L",W-6,C],["L",W,C-6],["L",W,F+y]):E.splice(7,1,["L",W,L/2],["L",M,C],["L",W,L/2],["L",W,F+y]):C&&C>L&&M>W+S&&M<W+I-S?E.splice(5,1,["L",M+6,F+L],["L",M,F+L+6],["L",M-6,F+L],["L",W+y,F+L]):C&&0>C&&M>W+S&&M<W+I-S&&E.splice(1,1,["L",M-6,F],["L",M,F-6],["L",M+6,F],["L",I-y,F])),E},circle:function(W,F,I,L){return Y(W+I/2,F+L/2,I/2,L/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L/2],["L",W+I/2,F+L],["L",W,F+L/2],["Z"]]},rect:et,roundedRect:rt,square:et,triangle:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L],["L",W,F+L],["Z"]]},"triangle-down":function(W,F,I,L){return[["M",W,F],["L",W+I,F],["L",W+I/2,F+L],["Z"]]}}}),Mt($,"Core/Renderer/SVG/TextBuilder.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.doc,Q=Y.SVG_NS,it=Y.win,K=et.attr,W=et.extend,F=et.isString,I=et.objectEach,L=et.pick;return function(){function C(y){var S=y.styles;this.renderer=y.renderer,this.svgElement=y,this.width=y.textWidth,this.textLineHeight=S&&S.lineHeight,this.textOutline=S&&S.textOutline,this.ellipsis=!(!S||"ellipsis"!==S.textOverflow),this.noWrap=!(!S||"nowrap"!==S.whiteSpace),this.fontSize=S&&S.fontSize}return C.prototype.buildSVG=function(){var y=this.svgElement,S=y.element,M=y.renderer,E=L(y.textStr,"").toString(),v=-1!==E.indexOf("<"),k=S.childNodes;M=this.width&&!y.added&&M.box;var P=[E,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(P!==y.textCache){for(y.textCache=P,delete y.actualWidth,P=k.length;P--;)S.removeChild(k[P]);v||this.ellipsis||this.width||-1!==E.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(E))?""!==E&&(M&&M.appendChild(S),E=new X(E),this.modifyTree(E.nodes),E.addToDOM(y.element),this.modifyDOM(),this.ellipsis&&-1!==(S.textContent||"").indexOf("\u2026")&&y.attr("title",this.unescapeEntities(y.textStr||"",["&lt;","&gt;"])),M&&M.removeChild(S)):S.appendChild(rt.createTextNode(this.unescapeEntities(E))),F(this.textOutline)&&y.applyTextOutline&&y.applyTextOutline(this.textOutline)}},C.prototype.modifyDOM=function(){var E,y=this,S=this.svgElement,M=K(S.element,"x");for(S.firstLineMetrics=void 0;(E=S.element.firstChild)&&/^[\s\u200B]*$/.test(E.textContent||" ");)S.element.removeChild(E);[].forEach.call(S.element.querySelectorAll("tspan.highcharts-br"),function(P,g){P.nextSibling&&P.previousSibling&&(0===g&&1===P.previousSibling.nodeType&&(S.firstLineMetrics=S.renderer.fontMetrics(void 0,P.previousSibling)),K(P,{dy:y.getLineHeight(P.nextSibling),x:M}))});var v=this.width||0;if(v){var O=function(P){[].slice.call(P.childNodes).forEach(function(g){g.nodeType===it.Node.TEXT_NODE?function(P,g){var c=P.textContent||"",u=c.replace(/([^\^])-/g,"$1- ").split(" "),o=!y.noWrap&&(1<u.length||1<S.element.childNodes.length),m=y.getLineHeight(g),l=0,b=S.actualWidth;if(y.ellipsis)c&&y.truncate(P,c,void 0,0,Math.max(0,v-parseInt(y.fontSize||12,10)),function(n,r){return n.substring(0,r)+"\u2026"});else if(o){for(c=[],o=[];g.firstChild&&g.firstChild!==P;)o.push(g.firstChild),g.removeChild(g.firstChild);for(;u.length;)u.length&&!y.noWrap&&0<l&&(c.push(P.textContent||""),P.textContent=u.join(" ").replace(/- /g,"-")),y.truncate(P,void 0,u,0===l&&b||0,v,function(n,r){return u.slice(0,r).join(" ").replace(/- /g,"-")}),b=S.actualWidth,l++;o.forEach(function(n){g.insertBefore(n,P)}),c.forEach(function(n){g.insertBefore(rt.createTextNode(n),P),(n=rt.createElementNS(Q,"tspan")).textContent="\u200b",K(n,{dy:m,x:M}),g.insertBefore(n,P)})}}(g,P):(-1!==g.className.baseVal.indexOf("highcharts-br")&&(S.actualWidth=0),O(g))})};O(S.element)}},C.prototype.getLineHeight=function(y){var S;return y=y.nodeType===it.Node.TEXT_NODE?y.parentElement:y,this.renderer.styledMode||(S=y&&/(px|em)$/.test(y.style.fontSize)?y.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(S,y||this.svgElement.element).h},C.prototype.modifyTree=function(y){var S=this,M=function(E,v){var k=E.attributes;k=void 0===k?{}:k;var O=E.children,P=E.style;P=void 0===P?{}:P;var g=E.tagName,c=S.renderer.styledMode;"b"===g||"strong"===g?c?k.class="highcharts-strong":P.fontWeight="bold":("i"===g||"em"===g)&&(c?k.class="highcharts-emphasized":P.fontStyle="italic"),P&&P.color&&(P.fill=P.color),"br"===g?(k.class="highcharts-br",E.textContent="\u200b",(v=y[v+1])&&v.textContent&&(v.textContent=v.textContent.replace(/^ +/gm,""))):"a"===g&&O&&O.some(function(u){return"#text"===u.tagName})&&(E.children=[{children:O,tagName:"tspan"}]),"#text"!==g&&"a"!==g&&(E.tagName="tspan"),W(E,{attributes:k,style:P}),O&&O.filter(function(u){return"#text"!==u.tagName}).forEach(M)};y.forEach(M)},C.prototype.truncate=function(y,S,M,E,v,k){var l,O=this.svgElement,P=O.renderer,g=O.rotation,c=[],u=M?1:0,o=(S||M||"").length,m=o,b=function(r,f){f=f||r;var T=y.parentNode;if(T&&void 0===c[f])if(T.getSubStringLength)try{c[f]=E+T.getSubStringLength(0,M?f+1:f)}catch(w){}else P.getSpanWidth&&(y.textContent=k(S||M,r),c[f]=E+P.getSpanWidth(O,y));return c[f]};O.rotation=0;var n=b(y.textContent.length);if(E+n>v){for(;u<=o;)m=Math.ceil((u+o)/2),M&&(l=k(M,m)),n=b(m,l&&l.length-1),u===o?u=o+1:n>v?o=m-1:u=m;0===o?y.textContent="":S&&o===S.length-1||(y.textContent=l||k(S||M,m))}M&&M.splice(0,m),O.actualWidth=n,O.rotation=g},C.prototype.unescapeEntities=function(y,S){return I(this.renderer.escapes,function(M,E){S&&-1!==S.indexOf(M)||(y=y.toString().replace(new RegExp(M,"g"),E))}),y},C}()}),Mt($,"Core/Renderer/SVG/SVGRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGLabel.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Renderer/SVG/TextBuilder.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var R,I=et.charts,L=et.deg2rad,C=et.doc,y=et.isFirefox,S=et.isMS,M=et.isWebKit,E=et.noop,v=et.SVG_NS,k=et.symbolSizes,O=et.win,P=F.addEvent,g=F.attr,c=F.createElement,u=F.css,o=F.defined,m=F.destroyObjectProperties,l=F.extend,b=F.isArray,n=F.isNumber,r=F.isObject,f=F.isString,T=F.merge,w=F.pick,D=F.pInt,d=F.uniqueKey;return et=function(){function a(h,A,j,z,H,p,N){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(h,A,j,z,H,p,N)}return a.prototype.init=function(h,A,j,z,H,p,N){var U,_=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),G=_.element;N||_.css(this.getStyle(z)),h.appendChild(G),g(h,"dir","ltr"),-1===h.innerHTML.indexOf("xmlns")&&g(G,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=G,this.boxWrapper=_,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 10.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(A,j,!1),y&&h.getBoundingClientRect&&((A=function(){u(h,{left:0,top:0}),U=h.getBoundingClientRect(),u(h,{left:Math.ceil(U.left)-U.left+"px",top:Math.ceil(U.top)-U.top+"px"})})(),this.unSubPixelFix=P(O,"resize",A))},a.prototype.definition=function(h){return new X([h]).addToDOM(this.defs.element)},a.prototype.getReferenceURL=function(){if((y||M)&&C.getElementsByTagName("base").length){if(!o(R)){var h=d();h=new X([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:h},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+h+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(C.body),u(h,{position:"fixed",top:0,left:0,zIndex:9e5});var A=C.elementFromPoint(6,6);R="hitme"===(A&&A.id),C.body.removeChild(h)}if(R)return O.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},a.prototype.getStyle=function(h){return this.style=l({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},h)},a.prototype.setStyle=function(h){this.boxWrapper.css(this.getStyle(h))},a.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},a.prototype.destroy=function(){var h=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),m(this.gradients||{}),this.gradients=null,h&&(this.defs=h.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},a.prototype.createElement=function(h){var A=new this.Element;return A.init(this,h),A},a.prototype.getRadialAttr=function(h,A){return{cx:h[0]-h[2]/2+(A.cx||0)*h[2],cy:h[1]-h[2]/2+(A.cy||0)*h[2],r:(A.r||0)*h[2]}},a.prototype.buildText=function(h){new W(h).buildSVG()},a.prototype.getContrast=function(h){return(h=Y.parse(h).rgba)[0]*=1,h[1]*=1.2,h[2]*=.5,459<h[0]+h[1]+h[2]?"#000000":"#FFFFFF"},a.prototype.button=function(h,A,j,z,H,p,N,_,G,U){var tt=this.label(h,A,j,G,void 0,void 0,U,void 0,"button"),J=this.styledMode;h=H&&H.states||{},H&&delete H.states;var ot=0,at=H?T(H):{},ft=T({color:"#333333",cursor:"pointer",fontWeight:"normal"},at.style);if(delete at.style,at=X.filterUserAttributes(at),tt.attr(T({padding:8,r:2},at)),!J){at=T({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},at);var mt=(p=T(at,{fill:"#e6e6e6"},X.filterUserAttributes(p||h.hover||{}))).style;delete p.style;var gt=(N=T(at,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},X.filterUserAttributes(N||h.select||{}))).style;delete N.style;var ut=(_=T(at,{style:{color:"#cccccc"}},X.filterUserAttributes(_||h.disabled||{}))).style;delete _.style}return P(tt.element,S?"mouseover":"mouseenter",function(){3!==ot&&tt.setState(1)}),P(tt.element,S?"mouseout":"mouseleave",function(){3!==ot&&tt.setState(ot)}),tt.setState=function(ht){1!==ht&&(tt.state=ot=ht),tt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][ht||0]),J||(tt.attr([at,p,N,_][ht||0]),r(ht=[ft,mt,gt,ut][ht||0])&&tt.css(ht))},J||tt.attr(at).css(l({cursor:"default"},ft)),tt.on("touchstart",function(ht){return ht.stopPropagation()}).on("click",function(ht){3!==ot&&z.call(tt,ht)})},a.prototype.crispLine=function(h,A,j){void 0===j&&(j="round");var z=h[0],H=h[1];return o(z[1])&&z[1]===H[1]&&(z[1]=H[1]=Math[j](z[1])-A%2/2),o(z[2])&&z[2]===H[2]&&(z[2]=H[2]=Math[j](z[2])+A%2/2),h},a.prototype.path=function(h){var A=this.styledMode?{}:{fill:"none"};return b(h)?A.d=h:r(h)&&l(A,h),this.createElement("path").attr(A)},a.prototype.circle=function(h,A,j){return h=r(h)?h:void 0===h?{}:{x:h,y:A,r:j},(A=this.createElement("circle")).xSetter=A.ySetter=function(z,H,p){p.setAttribute("c"+H,z)},A.attr(h)},a.prototype.arc=function(h,A,j,z,H,p){return r(h)?(A=(z=h).y,j=z.r,h=z.x):z={innerR:z,start:H,end:p},(h=this.symbol("arc",h,A,j,j,z)).r=j,h},a.prototype.rect=function(h,A,j,z,H,p){H=r(h)?h.r:H;var N=this.createElement("rect");return h=r(h)?h:void 0===h?{}:{x:h,y:A,width:Math.max(j,0),height:Math.max(z,0)},this.styledMode||(void 0!==p&&(h["stroke-width"]=p,h=N.crisp(h)),h.fill="none"),H&&(h.r=H),N.rSetter=function(_,G,U){N.r=_,g(U,{rx:_,ry:_})},N.rGetter=function(){return N.r||0},N.attr(h)},a.prototype.setSize=function(h,A,j){this.width=h,this.height=A,this.boxWrapper.animate({width:h,height:A},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(j,!0)?void 0:0}),this.alignElements()},a.prototype.g=function(h){var A=this.createElement("g");return h?A.attr({class:"highcharts-"+h}):A},a.prototype.image=function(h,A,j,z,H,p){var N={preserveAspectRatio:"none"},_=function(U,tt){U.setAttributeNS?U.setAttributeNS("http://www.w3.org/1999/xlink","href",tt):U.setAttribute("hc-svg-href",tt)};n(A)&&(N.x=A),n(j)&&(N.y=j),n(z)&&(N.width=z),n(H)&&(N.height=H);var G=this.createElement("image").attr(N);return A=function(U){_(G.element,h),p.call(G,U)},p?(_(G.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),j=new O.Image,P(j,"load",A),j.src=h,j.complete&&A({})):_(G.element,h),G},a.prototype.symbol=function(h,A,j,z,H,p){var J,N=this,_=/^url\((.*?)\)$/,G=_.test(h),U=!G&&(this.symbols[h]?h:"circle"),tt=U&&this.symbols[U];if(tt){"number"==typeof A&&(J=tt.call(this.symbols,Math.round(A||0),Math.round(j||0),z||0,H||0,p));var ot=this.path(J);N.styledMode||ot.attr("fill","none"),l(ot,{symbolName:U||void 0,x:A,y:j,width:z,height:H}),p&&l(ot,p)}else if(G){var at=h.match(_)[1],ft=ot=this.image(at);ft.imgwidth=w(k[at]&&k[at].width,p&&p.width),ft.imgheight=w(k[at]&&k[at].height,p&&p.height);var mt=function(gt){return gt.attr({width:gt.width,height:gt.height})};["width","height"].forEach(function(gt){ft[gt+"Setter"]=function(ut,ht){var V=this["img"+ht];this[ht]=ut,o(V)&&(p&&"within"===p.backgroundSize&&this.width&&this.height&&(V=Math.round(V*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(ht,V),this.alignByTranslate||(ut=((this[ht]||0)-V)/2,this.attr("width"===ht?{translateX:ut}:{translateY:ut})))}}),o(A)&&ft.attr({x:A,y:j}),ft.isImg=!0,o(ft.imgwidth)&&o(ft.imgheight)?mt(ft):(ft.attr({width:0,height:0}),c("img",{onload:function(){var gt=I[N.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),C.body.appendChild(this)),k[at]={width:this.width,height:this.height},ft.imgwidth=this.width,ft.imgheight=this.height,ft.element&&mt(ft),this.parentNode&&this.parentNode.removeChild(this),N.imgCount--,!N.imgCount&&gt&&!gt.hasLoaded&&gt.onload()},src:at}),this.imgCount++)}return ot},a.prototype.clipRect=function(h,A,j,z){var H=d()+"-",p=this.createElement("clipPath").attr({id:H}).add(this.defs);return(h=this.rect(h,A,j,z,0).add(p)).id=H,h.clipPath=p,h.count=0,h},a.prototype.text=function(h,A,j,z){var H={};return!z||!this.allowHTML&&this.forExport?(H.x=Math.round(A||0),j&&(H.y=Math.round(j)),o(h)&&(H.text=h),h=this.createElement("text").attr(H),(!z||this.forExport&&!this.allowHTML)&&(h.xSetter=function(p,N,_){for(var J,G=_.getElementsByTagName("tspan"),U=_.getAttribute(N),tt=0;tt<G.length;tt++)(J=G[tt]).getAttribute(N)===U&&J.setAttribute(N,p);_.setAttribute(N,p)}),h):this.html(h,A,j)},a.prototype.fontMetrics=function(h,A){return h=!this.styledMode&&/px/.test(h)||!O.getComputedStyle?h||A&&A.style&&A.style.fontSize||this.style&&this.style.fontSize:A&&Q.prototype.getStyle.call(A,"font-size"),{h:A=24>(h=/px/.test(h)?D(h):12)?h+3:Math.round(1.2*h),b:Math.round(.8*A),f:h}},a.prototype.rotCorr=function(h,A,j){var z=h;return A&&j&&(z=Math.max(z*Math.cos(A*L),4)),{x:-h/3*Math.sin(A*L),y:z}},a.prototype.pathToSegments=function(h){for(var A=[],j=[],z={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},H=0;H<h.length;H++)f(j[0])&&n(h[H])&&j.length===z[j[0].toUpperCase()]&&h.splice(H,0,j[0].replace("M","L").replace("m","l")),"string"==typeof h[H]&&(j.length&&A.push(j.slice(0)),j.length=0),j.push(h[H]);return A.push(j.slice(0)),A},a.prototype.label=function(h,A,j,z,H,p,N,_,G){return new it(this,h,A,j,z,H,p,N,_,G)},a.prototype.alignElements=function(){this.alignedObjects.forEach(function(h){return h.align()})},a}(),l(et.prototype,{Element:Q,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:K,draw:E}),rt.registerRendererType("svg",et,!0),et}),Mt($,"Core/Renderer/HTML/HTMLElement.js",[$["Core/Globals.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=this&&this.__extends||(S=function(M,E){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,k){v.__proto__=k}||function(v,k){for(var O in k)k.hasOwnProperty(O)&&(v[O]=k[O])})(M,E)},function(M,E){function v(){this.constructor=M}S(M,E),M.prototype=null===E?Object.create(E):(v.prototype=E.prototype,new v)}),Q=X.isFirefox,it=X.isMS,K=X.isWebKit,W=X.win,F=et.css,I=et.defined,L=et.extend,C=et.pick,y=et.pInt;return function(S){function M(){return null!==S&&S.apply(this,arguments)||this}return rt(M,S),M.compose=function(E){if(-1===M.composedClasses.indexOf(E)){M.composedClasses.push(E);var v=M.prototype,k=E.prototype;k.getSpanCorrection=v.getSpanCorrection,k.htmlCss=v.htmlCss,k.htmlGetBBox=v.htmlGetBBox,k.htmlUpdateTransform=v.htmlUpdateTransform,k.setSpanRotation=v.setSpanRotation}return E},M.prototype.getSpanCorrection=function(E,v,k){this.xCorr=-E*k,this.yCorr=-v},M.prototype.htmlCss=function(E){var v="SPAN"===this.element.tagName&&E&&"width"in E,k=C(v&&E.width,void 0);if(v){delete E.width,this.textWidth=k;var O=!0}return E&&"ellipsis"===E.textOverflow&&(E.whiteSpace="nowrap",E.overflow="hidden"),this.styles=L(this.styles,E),F(this.element,E),O&&this.htmlUpdateTransform(),this},M.prototype.htmlGetBBox=function(){var E=this.element;return{x:E.offsetLeft,y:E.offsetTop,width:E.offsetWidth,height:E.offsetHeight}},M.prototype.htmlUpdateTransform=function(){if(this.added){var E=this.renderer,v=this.element,k=this.translateX||0,O=this.translateY||0,P=this.x||0,g=this.y||0,c=this.textAlign||"left",u={left:0,center:.5,right:1}[c],o=this.styles;if(o=o&&o.whiteSpace,F(v,{marginLeft:k,marginTop:O}),!E.styledMode&&this.shadows&&this.shadows.forEach(function(f){F(f,{marginLeft:k+1,marginTop:O+1})}),this.inverted&&[].forEach.call(v.childNodes,function(f){E.invertChild(f,v)}),"SPAN"===v.tagName){var m=this.rotation,l=this.textWidth&&y(this.textWidth),b=[m,c,v.innerHTML,this.textWidth,this.textAlign].join(),n=void 0;if(n=!1,l!==this.oldTextWidth){if(this.textPxLength)var r=this.textPxLength;else F(v,{width:"",whiteSpace:o||"nowrap"}),r=v.offsetWidth;(l>this.oldTextWidth||r>l)&&(/[ \-]/.test(v.textContent||v.innerText)||"ellipsis"===v.style.textOverflow)&&(F(v,{width:r>l||m?l+"px":"auto",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=l,n=!0)}this.hasBoxWidthChanged=n,b!==this.cTT&&(n=E.fontMetrics(v.style.fontSize,v).b,!I(m)||m===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(m,u,n),this.getSpanCorrection(!I(m)&&this.textPxLength||v.offsetWidth,n,u,m,c)),F(v,{left:P+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"}),this.cTT=b,this.oldRotation=m,this.oldAlign=c}}else this.alignOnAdd=!0},M.prototype.setSpanRotation=function(E,v,k){var O={},P=it&&!/Edge/.test(W.navigator.userAgent)?"-ms-transform":K?"-webkit-transform":Q?"MozTransform":W.opera?"-o-transform":void 0;P&&(O[P]=O.transform="rotate("+E+"deg)",O[P+(Q?"Origin":"-origin")]=O.transformOrigin=100*v+"% "+k+"px",F(this.element,O))},M.composedClasses=[],M}(Y)}),Mt($,"Core/Renderer/HTML/HTMLRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var I,Q=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),it=rt.attr,K=rt.createElement,W=rt.extend,F=rt.pick;return function(I){function L(){return null!==I&&I.apply(this,arguments)||this}return Q(L,I),L.compose=function(C){return-1===L.composedClasses.indexOf(C)&&(L.composedClasses.push(C),C.prototype.html=L.prototype.html),C},L.prototype.html=function(C,y,S){var M=this.createElement("span"),E=M.element,v=M.renderer,k=v.isSVG,O=function(P,g){["opacity","visibility"].forEach(function(c){P[c+"Setter"]=function(u,o,m){var l=P.div?P.div.style:g;Y.prototype[c+"Setter"].call(this,u,o,m),l&&(l[o]=u)}}),P.addedSetters=!0};return M.textSetter=function(P){P!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,X.setElementHTML(this.element,F(P,"")),this.textStr=P,M.doTransform=!0)},k&&O(M,M.element.style),M.xSetter=M.ySetter=M.alignSetter=M.rotationSetter=function(P,g){"align"===g?M.alignValue=M.textAlign=P:M[g]=P,M.doTransform=!0},M.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},M.attr({text:C,x:Math.round(y),y:Math.round(S)}).css({position:"absolute"}),v.styledMode||M.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),E.style.whiteSpace="nowrap",M.css=M.htmlCss,k&&(M.add=function(P){var g=v.box.parentNode,c=[];if(this.parentGroup=P){var u=P.div;if(!u){for(;P;)c.push(P),P=P.parentGroup;c.reverse().forEach(function(o){function m(r,f){o[f]=r,"translateX"===f?n.left=r+"px":n.top=r+"px",o.doTransform=!0}var r,l=it(o.element,"class"),b=o.styles||{},n=(u=o.div=o.div||K("div",l?{className:l}:void 0,{position:"absolute",left:(o.translateX||0)+"px",top:(o.translateY||0)+"px",display:o.display,opacity:o.opacity,cursor:b.cursor,pointerEvents:b.pointerEvents,visibility:o.visibility},u||g)).style;W(o,{classSetter:(r=u,function(f){this.element.setAttribute("class",f),r.className=f}),on:function(){return c[0].div&&M.on.apply({element:c[0].div,onEvents:o.onEvents},arguments),o},translateXSetter:m,translateYSetter:m}),o.addedSetters||O(o)})}}else u=g;return u.appendChild(E),M.added=!0,M.alignOnAdd&&M.htmlUpdateTransform(),M}),M},L.composedClasses=[],L}(et)}),Mt($,"Core/Axis/AxisDefaults.js",[],function(){var X=(()=>{return(Y=X||(X={})).defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"},Y.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Y.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},Y.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},Y.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},Y.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},X;var Y})();return X}),Mt($,"Core/Foundation.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.isFunction,rt=X.objectEach,Q=X.removeEvent;return(it||(it={})).registerEventOptions=function(W,F){W.eventOptions=W.eventOptions||{},rt(F.events,function(I,L){W.eventOptions[L]!==I&&(W.eventOptions[L]&&(Q(W,L,W.eventOptions[L]),delete W.eventOptions[L]),et(I)&&(W.eventOptions[L]=I,Y(W,L,I)))})},it}),Mt($,"Core/Axis/Tick.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.deg2rad,Q=et.clamp,it=et.correctFloat,K=et.defined,W=et.destroyObjectProperties,F=et.extend,I=et.fireEvent,L=et.isNumber,C=et.merge,y=et.objectEach,S=et.pick;return function(){function M(E,v,k,O,P){this.isNewLabel=this.isNew=!0,this.axis=E,this.pos=v,this.type=k||"",this.parameters=P||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,I(this,"init"),k||O||this.addLabel()}return M.prototype.addLabel=function(){var E=this,v=E.axis,k=v.options,O=v.chart,P=v.categories,g=v.logarithmic,c=v.names,u=E.pos,o=S(E.options&&E.options.labels,k.labels),m=v.tickPositions,l=u===m[0],b=u===m[m.length-1],n=(!o.step||1===o.step)&&1===v.tickInterval;m=m.info;var f,r=E.label;if(P=this.parameters.category||(P?S(P[u],c[u],u):u),g&&L(P)&&(P=it(g.lin2log(P))),v.dateTime)if(m)var T=O.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&m.higherRanks[u]||m.unitName]),w=T.main;else L(P)&&(w=v.dateTime.getXDateFormat(P,k.dateTimeLabelFormats||{}));E.isFirst=l,E.isLast=b;var D={axis:v,chart:O,dateTimeLabelFormat:w,isFirst:l,isLast:b,pos:u,tick:E,tickPositionInfo:m,value:P};I(this,"labelFormat",D);var d=function(a){return o.formatter?o.formatter.call(a,a):o.format?(a.text=v.defaultLabelFormatter.call(a),X.format(o.format,a,O)):v.defaultLabelFormatter.call(a,a)};k=d.call(D,D);var R=T&&T.list;E.shortenLabel=R?function(){for(f=0;f<R.length;f++)if(F(D,{dateTimeLabelFormat:R[f]}),r.attr({text:d.call(D,D)}),r.getBBox().width<v.getSlotWidth(E)-2*o.padding)return;r.attr({text:""})}:void 0,n&&v._addedPlotLB&&E.moveLabel(k,o),K(r)||E.movedLabel?r&&r.textStr!==k&&!n&&(!r.textWidth||o.style.width||r.styles.width||r.css({width:null}),r.attr({text:k}),r.textPxLength=r.getBBox().width):(E.label=r=E.createLabel({x:0,y:0},k,o),E.rotation=0)},M.prototype.createLabel=function(E,v,k){var O=this.axis,P=O.chart;return(E=K(v)&&k.enabled?P.renderer.text(v,E.x,E.y,k.useHTML).add(O.labelGroup):null)&&(P.styledMode||E.css(C(k.style)),E.textPxLength=E.getBBox().width),E},M.prototype.destroy=function(){W(this,this.axis)},M.prototype.getPosition=function(E,v,k,O){var P=this.axis,g=P.chart,c=O&&g.oldChartHeight||g.chartHeight;return(E={x:E?it(P.translate(v+k,null,null,O)+P.transB):P.left+P.offset+(P.opposite?(O&&g.oldChartWidth||g.chartWidth)-P.right-P.left:0),y:E?c-P.bottom+P.offset-(P.opposite?P.height:0):it(c-P.translate(v+k,null,null,O)-P.transB)}).y=Q(E.y,-1e5,1e5),I(this,"afterGetPosition",{pos:E}),E},M.prototype.getLabelPosition=function(E,v,k,O,P,g,c,u){var o=this.axis,m=o.transA,l=o.isLinked&&o.linkedParent?o.linkedParent.reversed:o.reversed,b=o.staggerLines,n=o.tickRotCorr||{x:0,y:0},r=O||o.reserveSpaceDefault?0:-o.labelOffset*("center"===o.labelAlign?.5:1),f={},T=P.y;return K(T)||(T=0===o.side?k.rotation?-8:-k.getBBox().height:2===o.side?n.y+8:Math.cos(k.rotation*rt)*(n.y-k.getBBox(!1,0).height/2)),v=v+T-(g&&!O?g*m*(l?1:-1):0),b&&(k=c/(u||1)%b,o.opposite&&(k=b-k-1),v+=o.labelOffset/b*k),f.x=E=E+P.x+r+n.x-(g&&O?g*m*(l?-1:1):0),f.y=Math.round(v),I(this,"afterGetLabelPosition",{pos:f,tickmarkOffset:g,index:c}),f},M.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},M.prototype.getMarkPath=function(E,v,k,O,P,g){return g.crispLine([["M",E,v],["L",E+(P?0:-k),v+(P?k:0)]],O)},M.prototype.handleOverflow=function(E){var v=this.axis,k=v.options.labels,O=E.x,P=v.chart.chartWidth,g=v.chart.spacing,c=S(v.labelLeft,Math.min(v.pos,g[3]));g=S(v.labelRight,Math.max(v.isRadial?0:v.pos+v.len,P-g[1]));var T,u=this.label,o=this.rotation,m={left:0,center:.5,right:1}[v.labelAlign||u.attr("align")],l=u.getBBox().width,b=v.getSlotWidth(this),n={},r=b,f=1;o||"justify"!==k.overflow?0>o&&O-m*l<c?T=Math.round(O/Math.cos(o*rt)-c):0<o&&O+m*l>g&&(T=Math.round((P-O)/Math.cos(o*rt))):(P=O+(1-m)*l,O-m*l<c?r=E.x+r*(1-m)-c:P>g&&(r=g-E.x+r*m,f=-1),(r=Math.min(b,r))<b&&"center"===v.labelAlign&&(E.x+=f*(b-r-m*(b-Math.min(l,r)))),(l>r||v.autoRotation&&(u.styles||{}).width)&&(T=r)),T&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(T)+"px",(k.style||{}).textOverflow||(n.textOverflow="ellipsis"),u.css(n)))},M.prototype.moveLabel=function(E,v){var k=this,O=k.label,P=k.axis,g=P.reversed,c=!1;if(O&&O.textStr===E?(k.movedLabel=O,c=!0,delete k.label):y(P.ticks,function(o){c||o.isNew||o===k||!o.label||o.label.textStr!==E||(k.movedLabel=o.label,c=!0,o.labelPos=k.movedLabel.xy,delete o.label)}),!c&&(k.labelPos||O)){var u=k.labelPos||O.xy;k.movedLabel=k.createLabel({x:O=P.horiz?g?0:P.width+P.left:u.x,y:P=P.horiz?u.y:g?P.width+P.left:0},E,v),k.movedLabel&&k.movedLabel.attr({opacity:0})}},M.prototype.render=function(E,v,k){var O=this.axis,P=O.horiz,g=this.pos,c=S(this.tickmarkOffset,O.tickmarkOffset);c=(g=this.getPosition(P,g,c,v)).x,O=P&&c===O.pos+O.len||!P&&g.y===O.pos?-1:1,P=S(k,this.label&&this.label.newOpacity,1),k=S(k,1),this.isActive=!0,this.renderGridLine(v,k,O),this.renderMark(g,k,O),this.renderLabel(g,v,P,E),this.isNew=!1,I(this,"afterRender")},M.prototype.renderGridLine=function(E,v,k){var O=this.axis,P=O.options,g={},c=this.pos,u=this.type,o=S(this.tickmarkOffset,O.tickmarkOffset),m=O.chart.renderer,l=this.gridLine,b=P.gridLineWidth,n=P.gridLineColor,r=P.gridLineDashStyle;"minor"===this.type&&(b=P.minorGridLineWidth,n=P.minorGridLineColor,r=P.minorGridLineDashStyle),l||(O.chart.styledMode||(g.stroke=n,g["stroke-width"]=b||0,g.dashstyle=r),u||(g.zIndex=1),E&&(v=0),this.gridLine=l=m.path().attr(g).addClass("highcharts-"+(u?u+"-":"")+"grid-line").add(O.gridGroup)),l&&(k=O.getPlotLinePath({value:c+o,lineWidth:l.strokeWidth()*k,force:"pass",old:E}))&&l[E||this.isNew?"attr":"animate"]({d:k,opacity:v})},M.prototype.renderMark=function(E,v,k){var O=this.axis,P=O.options,g=O.chart.renderer,c=this.type,u=O.tickSize(c?c+"Tick":"tick"),o=E.x;E=E.y;var m=S(P["minor"!==c?"tickWidth":"minorTickWidth"],!c&&O.isXAxis?1:0);P=P["minor"!==c?"tickColor":"minorTickColor"];var l=this.mark,b=!l;u&&(O.opposite&&(u[0]=-u[0]),l||(this.mark=l=g.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(O.axisGroup),O.chart.styledMode||l.attr({stroke:P,"stroke-width":m})),l[b?"attr":"animate"]({d:this.getMarkPath(o,E,u[0],l.strokeWidth()*k,O.horiz,g),opacity:v}))},M.prototype.renderLabel=function(E,v,k,O){var P=this.axis,g=P.horiz,c=P.options,u=this.label,o=c.labels,m=o.step;P=S(this.tickmarkOffset,P.tickmarkOffset);var l=E.x;E=E.y;var b=!0;u&&L(l)&&(u.xy=E=this.getLabelPosition(l,E,u,g,o,P,O,m),this.isFirst&&!this.isLast&&!c.showFirstLabel||this.isLast&&!this.isFirst&&!c.showLastLabel?b=!1:!g||o.step||o.rotation||v||0===k||this.handleOverflow(E),m&&O%m&&(b=!1),b&&L(E.y)?(E.opacity=k,u[this.isNewLabel?"attr":"animate"](E).show(!0),this.isNewLabel=!1):(u.hide(),this.isNewLabel=!0))},M.prototype.replaceMovedLabel=function(){var E=this.label,v=this.axis,k=v.reversed;E&&!this.isNew&&(E.animate({x:v.horiz?k?v.left:v.width+v.left:E.xy.x,y:k=v.horiz?E.xy.y:k?v.width+v.top:v.top,opacity:0},void 0,E.destroy),delete this.label),v.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},M}()}),Mt($,"Core/Axis/Axis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/AxisDefaults.js"],$["Core/Color/Color.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Axis/Tick.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var F=X.animObject,I=rt.defaultOptions,L=Q.registerEventOptions,C=it.deg2rad,y=W.arrayMax,S=W.arrayMin,M=W.clamp,E=W.correctFloat,v=W.defined,k=W.destroyObjectProperties,O=W.erase,P=W.error,g=W.extend,c=W.fireEvent,u=W.isArray,o=W.isNumber,m=W.isString,l=W.merge,b=W.normalizeTickInterval,n=W.objectEach,r=W.pick,f=W.relativeLength,T=W.removeEvent,w=W.splat,D=W.syncTimeout,d=function(R,a){return b(a,void 0,void 0,r(R.options.allowDecimals,.5>a||void 0!==R.tickAmount),!!R.tickAmount)};return function(){function R(a,h){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(a,h)}return R.prototype.init=function(a,h){var A=h.isX;this.chart=a,this.horiz=a.inverted&&!this.isZAxis?!A:A,this.isXAxis=A,this.coll=this.coll||(A?"xAxis":"yAxis"),c(this,"init",{userOptions:h}),this.opposite=r(h.opposite,this.opposite),this.side=r(h.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(h);var j=this.options,z=j.labels,H=j.type;this.userOptions=h,this.minPixelPadding=0,this.reversed=r(j.reversed,this.reversed),this.visible=j.visible,this.zoomEnabled=j.zoomEnabled,this.hasNames="category"===H||!0===j.categories,this.categories=j.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(j.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=j.minRange||j.maxZoom,this.range=j.range,this.offset=j.offset||0,this.min=this.max=null,h=r(j.crosshair,w(a.options.tooltip.crosshairs)[A?0:1]),this.crosshair=!0===h?{}:h,-1===a.axes.indexOf(this)&&(A?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this)),this.series=this.series||[],a.inverted&&!this.isZAxis&&A&&void 0===this.reversed&&(this.reversed=!0),this.labelRotation=o(z.rotation)?z.rotation:void 0,L(this,j),c(this,"afterInit")},R.prototype.setOptions=function(a){this.options=l(Y.defaultXAxisOptions,"yAxis"===this.coll&&Y.defaultYAxisOptions,[Y.defaultTopAxisOptions,Y.defaultRightAxisOptions,Y.defaultBottomAxisOptions,Y.defaultLeftAxisOptions][this.side],l(I[this.coll],a)),c(this,"afterSetOptions",{userOptions:a})},R.prototype.defaultLabelFormatter=function(a){var h=this.axis;a=this.chart.numberFormatter;var A=o(this.value)?this.value:NaN,j=h.chart.time,z=this.dateTimeLabelFormat,H=I.lang,p=H.numericSymbols;H=H.numericSymbolMagnitude||1e3;var N=h.logarithmic?Math.abs(A):h.tickInterval,_=p&&p.length;if(h.categories)var G=""+this.value;else if(z)G=j.dateFormat(z,A);else if(_&&1e3<=N)for(;_--&&void 0===G;)N>=(h=Math.pow(H,_+1))&&10*A%h==0&&null!==p[_]&&0!==A&&(G=a(A/h,-1)+p[_]);return void 0===G&&(G=1e4<=Math.abs(A)?a(A,-1):a(A,-1,void 0,"")),G},R.prototype.getSeriesExtremes=function(){var A,a=this,h=a.chart;c(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1,a.dataMin=a.dataMax=a.threshold=null,a.softThreshold=!a.isXAxis,a.stacking&&a.stacking.buildStacks(),a.series.forEach(function(j){if(j.visible||!h.options.chart.ignoreHiddenSeries){var z=j.options,H=z.threshold;if(a.hasVisibleSeries=!0,a.positiveValuesOnly&&0>=H&&(H=null),a.isXAxis){if((z=j.xData).length){z=a.logarithmic?z.filter(a.validatePositiveValue):z;var p=(A=j.getXExtremes(z)).min,N=A.max;o(p)||p instanceof Date||(z=z.filter(o),p=(A=j.getXExtremes(z)).min,N=A.max),z.length&&(a.dataMin=Math.min(r(a.dataMin,p),p),a.dataMax=Math.max(r(a.dataMax,N),N))}}else j=j.applyExtremes(),o(j.dataMin)&&(p=j.dataMin,a.dataMin=Math.min(r(a.dataMin,p),p)),o(j.dataMax)&&(N=j.dataMax,a.dataMax=Math.max(r(a.dataMax,N),N)),v(H)&&(a.threshold=H),(!z.softThreshold||a.positiveValuesOnly)&&(a.softThreshold=!1)}})}),c(this,"afterGetSeriesExtremes")},R.prototype.translate=function(a,h,A,j,z,H){var p=this.linkedParent||this,N=j&&p.old?p.old.min:p.min,_=p.minPixelPadding;z=(p.isOrdinal||p.brokenAxis&&p.brokenAxis.hasBreaks||p.logarithmic&&z)&&p.lin2val;var G=1,U=0;return(j=j&&p.old?p.old.transA:p.transA)||(j=p.transA),A&&(G*=-1,U=p.len),p.reversed&&(U-=(G*=-1)*(p.sector||p.len)),h?(H=(a*G+U-_)/j+N,z&&(H=p.lin2val(H))):(z&&(a=p.val2lin(a)),a=G*(a-N)*j,H=o(N)?(p.isRadial?a:E(a))+U+G*_+(o(H)?j*H:0):void 0),H},R.prototype.toPixels=function(a,h){return this.translate(a,!1,!this.horiz,null,!0)+(h?0:this.pos)},R.prototype.toValue=function(a,h){return this.translate(a-(h?0:this.pos),!0,!this.horiz,null,!0)},R.prototype.getPlotLinePath=function(a){function h(ht,V,q){return("pass"!==ot&&ht<V||ht>q)&&(ot?ht=M(ht,V,q):ut=!0),ht}var at,ft,mt,gt,ut,A=this,j=A.chart,z=A.left,H=A.top,p=a.old,N=a.value,_=a.lineWidth,G=p&&j.oldChartHeight||j.chartHeight,U=p&&j.oldChartWidth||j.chartWidth,tt=A.transB,J=a.translatedValue,ot=a.force;return c(this,"getPlotLinePath",a={value:N,lineWidth:_,old:p,force:ot,acrossPanes:a.acrossPanes,translatedValue:J},function(ht){J=r(J,A.translate(N,null,null,p)),J=M(J,-1e5,1e5),at=mt=Math.round(J+tt),ft=gt=Math.round(G-J-tt),o(J)?A.horiz?(ft=H,gt=G-A.bottom,at=mt=h(at,z,z+A.width)):(at=z,mt=U-A.right,ft=gt=h(ft,H,H+A.height)):(ut=!0,ot=!1),ht.path=ut&&!ot?null:j.renderer.crispLine([["M",at,ft],["L",mt,gt]],_||1)}),a.path},R.prototype.getLinearTickPositions=function(a,h,A){var j=E(Math.floor(h/a)*a);A=E(Math.ceil(A/a)*a);var H,z=[];if(E(j+a)===j&&(H=20),this.single)return[h];for(h=j;h<=A&&(z.push(h),(h=E(h+a,H))!==p);)var p=h;return z},R.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?r(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},R.prototype.getMinorTickPositions=function(){var a=this.options,h=this.tickPositions,A=this.minorTickInterval,j=this.pointRangePadding||0,z=this.min-j,H=(j=this.max+j)-z,p=[];if(H&&H/A<this.len/3){var N=this.logarithmic;if(N)this.paddedTicks.forEach(function(_,G,U){G&&p.push.apply(p,N.getLogTickPositions(A,U[G-1],U[G],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())p=p.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(A),z,j,a.startOfWeek));else for(a=z+(h[0]-z)%A;a<=j&&a!==p[0];a+=A)p.push(a)}return 0!==p.length&&this.trimTicks(p),p},R.prototype.adjustForMinRange=function(){var H,p,N,_,a=this.options,h=this.logarithmic,A=this.min,j=this.max,z=0;if(this.isXAxis&&void 0===this.minRange&&!h&&(v(a.min)||v(a.max)||v(a.floor)||v(a.ceiling)?this.minRange=null:(this.series.forEach(function(J){if(N=J.xData,_=J.xIncrement?1:N.length-1,1<N.length)for(H=_;0<H;H--)p=N[H]-N[H-1],(!z||p<z)&&(z=p)}),this.minRange=Math.min(5*z,this.dataMax-this.dataMin))),j-A<this.minRange){var G=this.dataMax-this.dataMin>=this.minRange,U=this.minRange,tt=(U-j+A)/2;tt=[A-tt,r(a.min,A-tt)],G&&(tt[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),j=[(A=y(tt))+U,r(a.max,A+U)],G&&(j[2]=h?h.log2lin(this.dataMax):this.dataMax),(j=S(j))-A<U&&(tt[0]=j-U,tt[1]=r(a.min,j-U),A=y(tt))}this.min=A,this.max=j},R.prototype.getClosest=function(){var a;return this.categories?a=1:this.series.forEach(function(h){var A=h.closestPointRange,j=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&v(A)&&j&&(a=v(a)?Math.min(a,A):A)}),a},R.prototype.nameToX=function(a){var h=u(this.options.categories),A=h?this.categories:this.names,j=a.options.x;if(a.series.requireSorting=!1,v(j)||(j=this.options.uniqueNames&&A?h?A.indexOf(a.name):r(A.keys[a.name],-1):a.series.autoIncrement()),-1===j){if(!h&&A)var z=A.length}else z=j;return void 0!==z&&(this.names[z]=a.name,this.names.keys[a.name]=z),z},R.prototype.updateNames=function(){var a=this,h=this.names;0<h.length&&(Object.keys(h.keys).forEach(function(A){delete h.keys[A]}),h.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(A){A.xIncrement=null,(!A.points||A.isDirtyData)&&(a.max=Math.max(a.max,A.xData.length-1),A.processData(),A.generatePoints()),A.data.forEach(function(j,z){if(j&&j.options&&void 0!==j.name){var H=a.nameToX(j);void 0!==H&&H!==j.x&&(j.x=H,A.xData[z]=H)}})}))},R.prototype.setAxisTranslation=function(){var _,a=this,h=a.max-a.min,A=a.linkedParent,j=!!a.categories,z=a.isXAxis,H=a.axisPointRange||0,p=0,N=0;if(z||j||H){var G=a.getClosest();A?(p=A.minPointOffset,N=A.pointRangePadding):a.series.forEach(function(U){var tt=j?1:z?r(U.options.pointRange,G,0):a.axisPointRange||0,J=U.options.pointPlacement;H=Math.max(H,tt),(!a.single||j)&&(U=U.is("xrange")?!z:z,p=Math.max(p,U&&m(J)?0:tt/2),N=Math.max(N,U&&"on"===J?0:tt))}),a.minPointOffset=p*=A=a.ordinal&&a.ordinal.slope&&G?a.ordinal.slope/G:1,a.pointRangePadding=N*=A,a.pointRange=Math.min(H,a.single&&j?1:h),z&&(a.closestPointRange=G)}a.translationSlope=a.transA=_=a.staticScale||a.len/(h+N||1),a.transB=a.horiz?a.left:a.bottom,a.minPixelPadding=_*p,c(this,"afterSetAxisTranslation")},R.prototype.minFromRange=function(){return this.max-this.range},R.prototype.setTickInterval=function(a){var h=this.chart,A=this.logarithmic,j=this.options,z=this.isXAxis,H=this.isLinked,p=j.tickPixelInterval,N=this.categories,_=this.softThreshold,G=j.maxPadding,U=j.minPadding,tt=o(j.tickInterval)&&0<=j.tickInterval?j.tickInterval:void 0,J=o(this.threshold)?this.threshold:null;this.dateTime||N||H||this.getTickAmount();var ot=r(this.userMin,j.min),at=r(this.userMax,j.max);if(H){this.linkedParent=h[this.coll][j.linkedTo];var ft=this.linkedParent.getExtremes();this.min=r(ft.min,ft.dataMin),this.max=r(ft.max,ft.dataMax),j.type!==this.linkedParent.options.type&&P(11,1,h)}else{if(_&&v(J))if(this.dataMin>=J)ft=J,U=0;else if(this.dataMax<=J){var mt=J;G=0}this.min=r(ot,ft,this.dataMin),this.max=r(at,mt,this.dataMax)}if(A&&(this.positiveValuesOnly&&!a&&0>=Math.min(this.min,r(this.dataMin,this.min))&&P(10,1,h),this.min=E(A.log2lin(this.min),16),this.max=E(A.log2lin(this.max),16)),this.range&&v(this.max)&&(this.userMin=this.min=ot=Math.max(this.dataMin,this.minFromRange()),this.userMax=at=this.max,this.range=null),c(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!(N||this.axisPointRange||this.stacking&&this.stacking.usePercentage||H)&&v(this.min)&&v(this.max)&&(h=this.max-this.min)&&(!v(ot)&&U&&(this.min-=h*U),!v(at)&&G&&(this.max+=h*G)),o(this.userMin)||(o(j.softMin)&&j.softMin<this.min&&(this.min=ot=j.softMin),o(j.floor)&&(this.min=Math.max(this.min,j.floor))),o(this.userMax)||(o(j.softMax)&&j.softMax>this.max&&(this.max=at=j.softMax),o(j.ceiling)&&(this.max=Math.min(this.max,j.ceiling))),_&&v(this.dataMin)&&(J=J||0,!v(ot)&&this.min<J&&this.dataMin>=J?this.min=this.options.minRange?Math.min(J,this.max-this.minRange):J:!v(at)&&this.max>J&&this.dataMax<=J&&(this.max=this.options.minRange?Math.max(J,this.min+this.minRange):J)),o(this.min)&&o(this.max)&&!this.chart.polar&&this.min>this.max&&(v(this.options.min)?this.max=this.min:v(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||void 0===this.min||void 0===this.max?1:H&&this.linkedParent&&!tt&&p===this.linkedParent.options.tickPixelInterval?tt=this.linkedParent.tickInterval:r(tt,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,N?1:(this.max-this.min)*p/Math.max(this.len,p)),z&&!a){var gt=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(ut){ut.forceCrop=ut.forceCropping&&ut.forceCropping(),ut.processData(gt)}),c(this,"postProcessData",{hasExtemesChanged:gt})}this.setAxisTranslation(),c(this,"initialAxisTranslation"),this.pointRange&&!tt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),a=r(j.minTickInterval,this.dateTime&&!this.series.some(function(ut){return ut.noSharedTooltip})?this.closestPointRange:0),!tt&&this.tickInterval<a&&(this.tickInterval=a),this.dateTime||this.logarithmic||tt||(this.tickInterval=d(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()},R.prototype.setTickPositions=function(){var a=this.options,h=a.tickPositions,A=this.getMinorTickInterval(),j=this.hasVerticalPanning(),z="colorAxis"===this.coll,H=(z||!j)&&a.startOnTick;if(j=(z||!j)&&a.endOnTick,z=a.tickPositioner,this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===A&&this.tickInterval?this.tickInterval/5:A,this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals),this.tickPositions=A=h&&h.slice(),!A){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)A=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)A=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var p=a=this.tickInterval;p<=2*a&&(A=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&A.length>this.tickAmount);)this.tickInterval=d(this,p*=1.1);else A=[this.min,this.max],P(19,!1,this.chart);A.length>this.len&&(A=[A[0],A.pop()])[0]===A[1]&&(A.length=1),this.tickPositions=A,z&&(z=z.apply(this,[this.min,this.max]))&&(this.tickPositions=A=z)}this.paddedTicks=A.slice(0),this.trimTicks(A,H,j),this.isLinked||(this.single&&2>A.length&&!this.categories&&!this.series.some(function(N){return N.is("heatmap")&&"between"===N.options.pointPlacement})&&(this.min-=.5,this.max+=.5),h||z||this.adjustTickAmount()),c(this,"afterSetTickPositions")},R.prototype.trimTicks=function(a,h,A){var j=a[0],z=a[a.length-1],H=!this.isOrdinal&&this.minPointOffset||0;if(c(this,"trimTicks"),!this.isLinked){if(h&&j!==-1/0)this.min=j;else for(;this.min-H>a[0];)a.shift();if(A)this.max=z;else for(;this.max+H<a[a.length-1];)a.pop();0===a.length&&v(j)&&!this.options.tickPositions&&a.push((z+j)/2)}},R.prototype.alignToOthers=function(){var H,a=this,h=[this],A=a.options,j="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,z=[];if(a.thresholdAlignment=void 0,(!1!==this.chart.options.chart.alignTicks&&A.alignTicks||j)&&!1!==A.startOnTick&&!1!==A.endOnTick&&!a.logarithmic){var p=function(G){var U=G.options;return[G.horiz?U.left:U.top,U.width,U.height,U.pane].join()},N=p(this);this.chart[this.coll].forEach(function(G){var U=G.series;U.length&&U.some(function(tt){return tt.visible})&&G!==a&&p(G)===N&&(H=!0,h.push(G))})}if(H&&j){h.forEach(function(G){G=G.getThresholdAlignment(a),o(G)&&z.push(G)});var _=1<z.length?z.reduce(function(G,U){return G+U},0)/z.length:void 0;h.forEach(function(G){G.thresholdAlignment=_})}return H},R.prototype.getThresholdAlignment=function(a){if((!o(this.dataMin)||this!==a&&this.series.some(function(h){return h.isDirty||h.isDirtyData}))&&this.getSeriesExtremes(),o(this.threshold))return a=M((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(a=1-a),a},R.prototype.getTickAmount=function(){var a=this.options,h=a.tickPixelInterval,A=a.tickAmount;!v(a.tickInterval)&&!A&&this.len<h&&!this.isRadial&&!this.logarithmic&&a.startOnTick&&a.endOnTick&&(A=2),!A&&this.alignToOthers()&&(A=Math.ceil(this.len/h)+1),4>A&&(this.finalTickAmt=A,A=5),this.tickAmount=A},R.prototype.adjustTickAmount=function(){var a=this,h=a.finalTickAmt,A=a.max,j=a.min,z=a.options,H=a.tickPositions,p=a.tickAmount,N=a.thresholdAlignment,_=H&&H.length,G=r(a.threshold,a.softThreshold?0:null),U=a.tickInterval;if(o(N)){var tt=.5>N?Math.ceil(N*(p-1)):Math.floor(N*(p-1));z.reversed&&(tt=p-1-tt)}if(a.hasData()&&o(j)&&o(A)){if(N=function(){a.transA*=(_-1)/(p-1),a.min=z.startOnTick?H[0]:Math.min(j,H[0]),a.max=z.endOnTick?H[H.length-1]:Math.max(A,H[H.length-1])},o(tt)&&o(a.threshold)){for(;H[tt]!==G||H.length!==p||H[0]>j||H[H.length-1]<A;){for(H.length=0,H.push(a.threshold);H.length<p;)void 0===H[tt]||H[tt]>a.threshold?H.unshift(E(H[0]-U)):H.push(E(H[H.length-1]+U));if(U>8*a.tickInterval)break;U*=2}N()}else if(_<p){for(;H.length<p;)H.length%2||j===G?H.push(E(H[H.length-1]+U)):H.unshift(E(H[0]-U));N()}if(v(h)){for(U=G=H.length;U--;)(3===h&&U%2==1||2>=h&&0<U&&U<G-1)&&H.splice(U,1);a.finalTickAmt=void 0}}},R.prototype.setScale=function(){var a=!1,h=!1;this.series.forEach(function(j){a=a||j.isDirtyData||j.isDirty,h=h||j.xAxis&&j.xAxis.isDirty||!1}),this.setAxisSize();var A=this.len!==(this.old&&this.old.len);A||a||h||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=A||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),a&&this.panningState&&(this.panningState.isDirty=!0),c(this,"afterSetScale")},R.prototype.setExtremes=function(a,h,A,j,z){var H=this,p=H.chart;A=r(A,!0),H.series.forEach(function(N){delete N.kdTree}),z=g(z,{min:a,max:h}),c(H,"setExtremes",z,function(){H.userMin=a,H.userMax=h,H.eventArgs=z,A&&p.redraw(j)})},R.prototype.zoom=function(a,h){var A=this,j=this.dataMin,z=this.dataMax,H=this.options,p=Math.min(j,r(H.min,j)),N=Math.max(z,r(H.max,z));return c(this,"zoom",a={newMin:a,newMax:h},function(_){var G=_.newMin,U=_.newMax;(G!==A.min||U!==A.max)&&(A.allowZoomOutside||(v(j)&&(G<p&&(G=p),G>N&&(G=N)),v(z)&&(U<p&&(U=p),U>N&&(U=N))),A.displayBtn=void 0!==G||void 0!==U,A.setExtremes(G,U,!1,void 0,{trigger:"zoom"})),_.zoomed=!0}),a.zoomed},R.prototype.setAxisSize=function(){var a=this.chart,h=this.options,A=h.offsets||[0,0,0,0],j=this.horiz,z=this.width=Math.round(f(r(h.width,a.plotWidth-A[3]+A[1]),a.plotWidth)),H=this.height=Math.round(f(r(h.height,a.plotHeight-A[0]+A[2]),a.plotHeight)),p=this.top=Math.round(f(r(h.top,a.plotTop+A[0]),a.plotHeight,a.plotTop));h=this.left=Math.round(f(r(h.left,a.plotLeft+A[3]),a.plotWidth,a.plotLeft)),this.bottom=a.chartHeight-H-p,this.right=a.chartWidth-z-h,this.len=Math.max(j?z:H,0),this.pos=j?h:p},R.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?E(a.lin2log(this.min)):this.min,max:a?E(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},R.prototype.getThreshold=function(a){var h=this.logarithmic,A=h?h.lin2log(this.min):this.min;return h=h?h.lin2log(this.max):this.max,null===a||a===-1/0?a=A:a===1/0?a=h:A>a?a=A:h<a&&(a=h),this.translate(a,0,1,0,1)},R.prototype.autoLabelAlign=function(a){var h=(r(a,0)-90*this.side+720)%360;return c(this,"autoLabelAlign",a={align:"center"},function(A){15<h&&165>h?A.align="right":195<h&&345>h&&(A.align="left")}),a.align},R.prototype.tickSize=function(a){var h=this.options,A=r(h["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0),j=h["tick"===a?"tickLength":"minorTickLength"];if(A&&j){"inside"===h[a+"Position"]&&(j=-j);var z=[j,A]}return c(this,"afterTickSize",a={tickSize:z}),a.tickSize},R.prototype.labelMetrics=function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},R.prototype.unsquish=function(){var G,U,a=this.options.labels,h=this.horiz,A=this.tickInterval,j=this.len/(((this.categories?1:0)+this.max-this.min)/A),z=a.rotation,H=this.labelMetrics(),p=Math.max(this.max-this.min,0),N=function(ot){var at=ot/(j||1);return(at=1<at?Math.ceil(at):1)*A>p&&ot!==1/0&&j!==1/0&&p&&(at=Math.ceil(p/A)),E(at*A)},_=A,tt=Number.MAX_VALUE;if(h){if(!a.staggerLines&&!a.step)if(o(z))var J=[z];else j<a.autoRotationLimit&&(J=a.autoRotation);J&&J.forEach(function(ot){if(ot===z||ot&&-90<=ot&&90>=ot){var at=(U=N(Math.abs(H.h/Math.sin(C*ot))))+Math.abs(ot/360);at<tt&&(tt=at,G=ot,_=U)}})}else a.step||(_=N(H.h));return this.autoRotation=J,this.labelRotation=r(G,o(z)?z:0),_},R.prototype.getSlotWidth=function(a){var h=this.chart,A=this.horiz,j=this.options.labels,z=Math.max(this.tickPositions.length-(this.categories?0:1),1),H=h.margin[3];if(a&&o(a.slotWidth))return a.slotWidth;if(A&&2>j.step)return j.rotation?0:(this.staggerLines||1)*this.len/z;if(!A){if(void 0!==(a=j.style.width))return parseInt(String(a),10);if(H)return H-h.spacing[3]}return.33*h.chartWidth},R.prototype.renderUnsquish=function(){var a=this.chart,h=a.renderer,A=this.tickPositions,j=this.ticks,z=this.options.labels,H=z.style,p=this.horiz,N=this.getSlotWidth(),_=Math.max(1,Math.round(N-2*z.padding)),G={},U=this.labelMetrics(),tt=H.textOverflow,J=0;if(m(z.rotation)||(G.rotation=z.rotation||0),A.forEach(function(mt){(mt=j[mt]).movedLabel&&mt.replaceMovedLabel(),mt&&mt.label&&mt.label.textPxLength>J&&(J=mt.label.textPxLength)}),this.maxLabelLength=J,this.autoRotation)J>_&&J>U.h?G.rotation=this.labelRotation:this.labelRotation=0;else if(N){var ot=_;if(!tt){var at="clip";for(_=A.length;!p&&_--;){var ft=A[_];(ft=j[ft].label)&&(ft.styles&&"ellipsis"===ft.styles.textOverflow?ft.css({textOverflow:"clip"}):ft.textPxLength>N&&ft.css({width:N+"px"}),ft.getBBox().height>this.len/A.length-(U.h-U.f)&&(ft.specificTextOverflow="ellipsis"))}}}G.rotation&&(ot=J>.5*a.chartHeight?.33*a.chartHeight:J,tt||(at="ellipsis")),(this.labelAlign=z.align||this.autoLabelAlign(this.labelRotation))&&(G.align=this.labelAlign),A.forEach(function(mt){var gt=(mt=j[mt])&&mt.label,ut=H.width,ht={};gt&&(gt.attr(G),mt.shortenLabel?mt.shortenLabel():ot&&!ut&&"nowrap"!==H.whiteSpace&&(ot<gt.textPxLength||"SPAN"===gt.element.tagName)?(ht.width=ot+"px",tt||(ht.textOverflow=gt.specificTextOverflow||at),gt.css(ht)):gt.styles&&gt.styles.width&&!ht.width&&!ut&&gt.css({width:null}),delete gt.specificTextOverflow,mt.rotation=G.rotation)},this),this.tickRotCorr=h.rotCorr(U.b,this.labelRotation||0,0!==this.side)},R.prototype.hasData=function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&v(this.min)&&v(this.max)},R.prototype.addTitle=function(a){var p,j=this.opposite,z=this.options.title,H=this.chart.styledMode;this.axisTitle||((p=z.textAlign)||(p=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:j?"right":"left",middle:"center",high:j?"left":"right"})[z.align]),this.axisTitle=this.chart.renderer.text(z.text||"",0,0,z.useHTML).attr({zIndex:7,rotation:z.rotation,align:p}).addClass("highcharts-axis-title"),H||this.axisTitle.css(l(z.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),H||z.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[a?"show":"hide"](a)},R.prototype.generateTick=function(a){var h=this.ticks;h[a]?h[a].addLabel():h[a]=new K(this,a)},R.prototype.getOffset=function(){var a=this,h=this,A=h.chart,j=h.horiz,z=h.options,H=h.side,p=h.ticks,N=h.tickPositions,_=h.coll,G=h.axisParent,U=A.renderer,tt=A.inverted&&!h.isZAxis?[1,0,3,2][H]:H,J=h.hasData(),ot=z.title,at=z.labels,ft=A.axisOffset;A=A.clipOffset;var ut,mt=[-1,1,1,-1][H],gt=z.className,ht=0,V=0,q=0;if(h.showAxis=ut=J||z.showEmpty,h.staggerLines=h.horiz&&at.staggerLines||void 0,!h.axisGroup){var st=function(dt,yt,xt){return U.g(dt).attr({zIndex:xt}).addClass("highcharts-"+_.toLowerCase()+yt+" "+(a.isRadial?"highcharts-radial-axis"+yt+" ":"")+(gt||"")).add(G)};h.gridGroup=st("grid","-grid",z.gridZIndex),h.axisGroup=st("axis","",z.zIndex),h.labelGroup=st("axis-labels","-labels",at.zIndex)}if(J||h.isLinked?(N.forEach(function(dt){h.generateTick(dt)}),h.renderUnsquish(),h.reserveSpaceDefault=0===H||2===H||{1:"left",3:"right"}[H]===h.labelAlign,r(at.reserveSpace,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&N.forEach(function(dt){q=Math.max(p[dt].getLabelSize(),q)}),h.staggerLines&&(q*=h.staggerLines),h.labelOffset=q*(h.opposite?-1:1)):n(p,function(dt,yt){dt.destroy(),delete p[yt]}),ot&&ot.text&&!1!==ot.enabled&&(h.addTitle(ut),ut&&!1!==ot.reserveSpace)){h.titleOffset=ht=h.axisTitle.getBBox()[j?"height":"width"];var ct=ot.offset;V=v(ct)?0:r(ot.margin,j?5:10)}h.renderLine(),h.offset=mt*r(z.offset,ft[H]?ft[H]+(z.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},ot=0===H?-h.labelMetrics().h:2===H?h.tickRotCorr.y:0,J=Math.abs(q)+V,q&&(J=J-ot+mt*(j?r(at.y,h.tickRotCorr.y+8*mt):at.x)),h.axisTitleMargin=r(ct,J),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(p,N)),"colorAxis"!==_&&(j=this.tickSize("tick"),ft[H]=Math.max(ft[H],(h.axisTitleMargin||0)+ht+mt*h.offset,J,N&&N.length&&j?j[0]+mt*h.offset:0),z=!h.axisLine||z.offset?0:2*Math.floor(h.axisLine.strokeWidth()/2),A[tt]=Math.max(A[tt],z)),c(this,"afterGetOffset")},R.prototype.getLinePath=function(a){var h=this.chart,A=this.opposite,j=this.offset,z=this.horiz,H=this.left+(A?this.width:0)+j;return j=h.chartHeight-this.bottom-(A?this.height:0)+j,A&&(a*=-1),h.renderer.crispLine([["M",z?this.left:H,z?j:this.top],["L",z?h.chartWidth-this.right:H,z?j:h.chartHeight-this.bottom]],a)},R.prototype.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}))},R.prototype.getTitlePosition=function(){var a=this.horiz,h=this.left,A=this.top,j=this.len,z=this.options.title,H=a?h:A,p=this.opposite,N=this.offset,_=z.x,G=z.y,U=this.axisTitle,tt=this.chart.renderer.fontMetrics(z.style.fontSize,U);return U=U?Math.max(U.getBBox(!1,0).height-tt.h-1,0):0,j={low:H+(a?0:j),middle:H+j/2,high:H+(a?j:0)}[z.align],h=(a?A+this.height:h)+(a?1:-1)*(p?-1:1)*(this.axisTitleMargin||0)+[-U,U,tt.f,-U][this.side],c(this,"afterGetTitlePosition",{titlePosition:a={x:a?j+_:h+(p?this.width:0)+N+_,y:a?h+G-(p?this.height:0)+N:j+G}}),a},R.prototype.renderMinorTick=function(a,h){var A=this.minorTicks;A[a]||(A[a]=new K(this,a,"minor")),h&&A[a].isNew&&A[a].render(null,!0),A[a].render(null,!1,1)},R.prototype.renderTick=function(a,h,A){var j=this.ticks;(!this.isLinked||a>=this.min&&a<=this.max||this.grid&&this.grid.isColumn)&&(j[a]||(j[a]=new K(this,a)),A&&j[a].isNew&&j[a].render(h,!0,-1),j[a].render(h))},R.prototype.render=function(){var mt,gt,a=this,h=a.chart,A=a.logarithmic,j=a.options,z=a.isLinked,H=a.tickPositions,p=a.axisTitle,N=a.ticks,_=a.minorTicks,G=a.alternateBands,U=j.stackLabels,tt=j.alternateGridColor,J=a.tickmarkOffset,ot=a.axisLine,at=a.showAxis,ft=F(h.renderer.globalAnimation);if(a.labelEdge.length=0,a.overlap=!1,[N,_,G].forEach(function(ht){n(ht,function(V){V.isActive=!1})}),a.hasData()||z){var ut=a.chart.hasRendered&&a.old&&o(a.old.min);a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(ht){a.renderMinorTick(ht,ut)}),H.length&&(H.forEach(function(ht,V){a.renderTick(ht,V,ut)}),J&&(0===a.min||a.single)&&(N[-1]||(N[-1]=new K(a,-1,null,!0)),N[-1].render(-1))),tt&&H.forEach(function(ht,V){gt=void 0!==H[V+1]?H[V+1]+J:a.max-J,V%2==0&&ht<a.max&&gt<=a.max+(h.polar?-J:J)&&(G[ht]||(G[ht]=new it.PlotLineOrBand(a)),mt=ht+J,G[ht].options={from:A?A.lin2log(mt):mt,to:A?A.lin2log(gt):gt,color:tt,className:"highcharts-alternate-grid"},G[ht].render(),G[ht].isActive=!0)}),a._addedPlotLB||(a._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(ht){a.addPlotBandOrLine(ht)}))}[N,_,G].forEach(function(ht){var V=[],q=ft.duration;n(ht,function(st,ct){st.isActive||(st.render(ct,!1,0),st.isActive=!1,V.push(ct))}),D(function(){for(var st=V.length;st--;)ht[V[st]]&&!ht[V[st]].isActive&&(ht[V[st]].destroy(),delete ht[V[st]])},ht!==G&&h.hasRendered&&q?q:0)}),ot&&(ot[ot.isPlaced?"animate":"attr"]({d:this.getLinePath(ot.strokeWidth())}),ot.isPlaced=!0,ot[at?"show":"hide"](at)),p&&at&&(j=a.getTitlePosition(),p[p.isNew?"attr":"animate"](j),p.isNew=!1),U&&U.enabled&&a.stacking&&a.stacking.renderStackTotals(),a.old={len:a.len,max:a.max,min:a.min,transA:a.transA,userMax:a.userMax,userMin:a.userMin},a.isDirty=!1,c(this,"afterRender")},R.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()})),this.series.forEach(function(a){a.isDirty=!0})},R.prototype.getKeepProps=function(){return this.keepProps||R.keepProps},R.prototype.destroy=function(a){var h=this,A=h.plotLinesAndBands,j=this.eventOptions;if(c(this,"destroy",{keepEvents:a}),a||T(h),[h.ticks,h.minorTicks,h.alternateBands].forEach(function(H){k(H)}),A)for(a=A.length;a--;)A[a].destroy();for(var z in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(H){h[H]&&(h[H]=h[H].destroy())}),h.plotLinesAndBandsGroups)h.plotLinesAndBandsGroups[z]=h.plotLinesAndBandsGroups[z].destroy();n(h,function(H,p){-1===h.getKeepProps().indexOf(p)&&delete h[p]}),this.eventOptions=j},R.prototype.drawCrosshair=function(a,h){var H,A=this.crosshair,j=r(A&&A.snap,!0),z=this.chart,p=this.cross;if(c(this,"drawCrosshair",{e:a,point:h}),a||(a=this.cross&&this.cross.e),A&&!1!==(v(h)||!j)){if(j?v(h)&&(H=r("colorAxis"!==this.coll?h.crosshairPos:null,this.isXAxis?h.plotX:this.len-h.plotY)):H=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),v(H)){var N={value:h&&(this.isXAxis?h.x:r(h.stackY,h.y)),translatedValue:H};z.polar&&g(N,{isCrosshair:!0,chartX:a&&a.chartX,chartY:a&&a.chartY,point:h}),N=this.getPlotLinePath(N)||null}if(!v(N))return void this.hideCrosshair();j=this.categories&&!this.isRadial,p||(this.cross=p=z.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(j?"category ":"thin ")+(A.className||"")).attr({zIndex:r(A.zIndex,2)}).add(),z.styledMode||(p.attr({stroke:A.color||(j?et.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":r(A.width,1)}).css({"pointer-events":"none"}),A.dashStyle&&p.attr({dashstyle:A.dashStyle}))),p.show().attr({d:N}),j&&!A.width&&p.attr({"stroke-width":this.transA}),this.cross.e=a}else this.hideCrosshair();c(this,"afterDrawCrosshair",{e:a,point:h})},R.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),c(this,"afterHideCrosshair")},R.prototype.hasVerticalPanning=function(){var a=this.chart.options.chart.panning;return!!(a&&a.enabled&&/y/.test(a.type))},R.prototype.validatePositiveValue=function(a){return o(a)&&0<a},R.prototype.update=function(a,h){var A=this.chart;a=l(this.userOptions,a),this.destroy(!0),this.init(A,a),A.isDirtyBox=!0,r(h,!0)&&A.redraw()},R.prototype.remove=function(a){for(var h=this.chart,A=this.coll,j=this.series,z=j.length;z--;)j[z]&&j[z].remove(!1);O(h.axes,this),O(h[A],this),h[A].forEach(function(H,p){H.options.index=H.userOptions.index=p}),this.destroy(),h.isDirtyBox=!0,r(a,!0)&&h.redraw()},R.prototype.setTitle=function(a,h){this.update({title:a},h)},R.prototype.setCategories=function(a,h){this.update({categories:a},h)},R.defaultOptions=Y.defaultXAxisOptions,R.keepProps="extKey hcEvents names series userMax userMin".split(" "),R}()}),Mt($,"Core/Axis/DateTimeAxis.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.getMagnitude,rt=X.normalizeTickInterval,Q=X.timeUnits;return function(K){function W(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(C){"datetime"!==C.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new L(this))}var I=[];K.compose=function(C){return-1===I.indexOf(C)&&(I.push(C),C.keepProps.push("dateTime"),C.prototype.getTimeTicks=W,Y(C,"init",F)),C};var L=function(){function C(y){this.axis=y}return C.prototype.normalizeTimeTickInterval=function(y,S){var k,M=S||[["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]],E=Q[(S=M[M.length-1])[0]],v=S[1];for(k=0;k<M.length&&(E=Q[(S=M[k])[0]],v=S[1],!(M[k+1]&&y<=(E*v[v.length-1]+Q[M[k+1][0]])/2));k++);return E===Q.year&&y<5*E&&(v=[1,2,5]),{unitRange:E,count:y=rt(y/E,v,"year"===S[0]?Math.max(et(y/E),1):1),unitName:S[0]}},C.prototype.getXDateFormat=function(y,S){var M=this.axis;return M.closestPointRange?M.chart.time.getDateFormat(M.closestPointRange,y,M.options.startOfWeek,S)||S.year:S.day},C}();K.Additions=L}(it||(it={})),it}),Mt($,"Core/Axis/LogarithmicAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.addEvent,et=X.normalizeTickInterval,rt=X.pick;return function(it){function K(L){var C=this.logarithmic;"logarithmic"!==L.userOptions.type?this.logarithmic=void 0:C||(this.logarithmic=new I(this))}function W(){var L=this.logarithmic;L&&(this.lin2val=function(C){return L.lin2log(C)},this.val2lin=function(C){return L.log2lin(C)})}var F=[];it.compose=function(L){return-1===F.indexOf(L)&&(F.push(L),L.keepProps.push("logarithmic"),Y(L,"init",K),Y(L,"afterInit",W)),L};var I=function(){function L(C){this.axis=C}return L.prototype.getLogTickPositions=function(C,y,S,M){var E=this.axis,v=E.len,k=E.options,O=[];if(M||(this.minorAutoInterval=void 0),.5<=C)C=Math.round(C),O=E.getLinearTickPositions(C,y,S);else if(.08<=C){var g,P=Math.floor(y),c=k=void 0;for(v=.3<C?[1,2,4]:.15<C?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];P<S+1&&!c;P++){var u=v.length;for(g=0;g<u&&!c;g++){var o=this.log2lin(this.lin2log(P)*v[g]);o>y&&(!M||k<=S)&&void 0!==k&&O.push(k),k>S&&(c=!0),k=o}}}else y=this.lin2log(y),S=this.lin2log(S),C=M?E.getMinorTickInterval():k.tickInterval,C=rt("auto"===C?null:C,this.minorAutoInterval,k.tickPixelInterval/(M?5:1)*(S-y)/((M?v/E.tickPositions.length:v)||1)),C=et(C),O=E.getLinearTickPositions(C,y,S).map(this.log2lin),M||(this.minorAutoInterval=C/5);return M||(E.tickInterval=C),O},L.prototype.lin2log=function(C){return Math.pow(10,C)},L.prototype.log2lin=function(C){return Math.log(C)/Math.LN10},L}();it.Additions=I}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.erase,et=X.extend,rt=X.isNumber;return function(it){var W,K=[];it.compose=function(I,L){return W||(W=I),-1===K.indexOf(L)&&(K.push(L),et(L.prototype,F.prototype)),L};var F=function(){function I(){}return I.prototype.getPlotBandPath=function(L,C,y){void 0===y&&(y=this.options);var S=this.getPlotLinePath({value:C,force:!0,acrossPanes:y.acrossPanes}),M=[],E=this.horiz;if(C=!rt(this.min)||!rt(this.max)||L<this.min&&C<this.min||L>this.max&&C>this.max,L=this.getPlotLinePath({value:L,force:!0,acrossPanes:y.acrossPanes}),y=1,L&&S){if(C){var v=L.toString()===S.toString();y=0}for(C=0;C<L.length;C+=2){var k=L[C],O=L[C+1],P=S[C],g=S[C+1];"M"!==k[0]&&"L"!==k[0]||"M"!==O[0]&&"L"!==O[0]||"M"!==P[0]&&"L"!==P[0]||"M"!==g[0]&&"L"!==g[0]||(E&&P[1]===k[1]?(P[1]+=y,g[1]+=y):E||P[2]!==k[2]||(P[2]+=y,g[2]+=y),M.push(["M",k[1],k[2]],["L",O[1],O[2]],["L",g[1],g[2]],["L",P[1],P[2]],["Z"])),M.isFlat=v}}return M},I.prototype.addPlotBand=function(L){return this.addPlotBandOrLine(L,"plotBands")},I.prototype.addPlotLine=function(L){return this.addPlotBandOrLine(L,"plotLines")},I.prototype.addPlotBandOrLine=function(L,C){var y=this,S=this.userOptions,M=new W(this,L);if(this.visible&&(M=M.render()),M){if(this._addedPlotLB||(this._addedPlotLB=!0,(S.plotLines||[]).concat(S.plotBands||[]).forEach(function(v){y.addPlotBandOrLine(v)})),C){var E=S[C]||[];E.push(L),S[C]=E}this.plotLinesAndBands.push(M)}return M},I.prototype.removePlotBandOrLine=function(L){var C=this.plotLinesAndBands,y=this.options,S=this.userOptions;if(C){for(var M=C.length;M--;)C[M].id===L&&C[M].destroy();[y.plotLines||[],S.plotLines||[],y.plotBands||[],S.plotBands||[]].forEach(function(E){for(M=E.length;M--;)(E[M]||{}).id===L&&Y(E,E[M])})}},I.prototype.removePlotBand=function(L){this.removePlotBandOrLine(L)},I.prototype.removePlotLine=function(L){this.removePlotBandOrLine(L)},I}()}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[$["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.arrayMax,rt=Y.arrayMin,Q=Y.defined,it=Y.destroyObjectProperties,K=Y.erase,W=Y.fireEvent,F=Y.merge,I=Y.objectEach,L=Y.pick;return function(){function C(y,S){this.axis=y,S&&(this.options=S,this.id=S.id)}return C.compose=function(y){return X.compose(C,y)},C.prototype.render=function(){W(this,"render");var y=this,S=y.axis,M=S.horiz,E=S.logarithmic,v=y.options,k=v.color,O=L(v.zIndex,0),P=v.events,g={},c=S.chart.renderer,u=v.label,o=y.label,m=v.to,l=v.from,b=v.value,n=y.svgElem,r=[],f=Q(l)&&Q(m);r=Q(b);var T=!n,w={class:"highcharts-plot-"+(f?"band ":"line ")+(v.className||"")},D=f?"bands":"lines";if(E&&(l=E.log2lin(l),m=E.log2lin(m),b=E.log2lin(b)),S.chart.styledMode||(r?(w.stroke=k||"#999999",w["stroke-width"]=L(v.width,1),v.dashStyle&&(w.dashstyle=v.dashStyle)):f&&(w.fill=k||"#e6ebf5",v.borderWidth&&(w.stroke=v.borderColor,w["stroke-width"]=v.borderWidth))),g.zIndex=O,(E=S.plotLinesAndBandsGroups[D+="-"+O])||(S.plotLinesAndBandsGroups[D]=E=c.g("plot-"+D).attr(g).add()),T&&(y.svgElem=n=c.path().attr(w).add(E)),r)r=S.getPlotLinePath({value:b,lineWidth:n.strokeWidth(),acrossPanes:v.acrossPanes});else{if(!f)return;r=S.getPlotBandPath(l,m,v)}return!y.eventsAdded&&P&&(I(P,function(d,R){n.on(R,function(a){P[R].apply(y,[a])})}),y.eventsAdded=!0),(T||!n.d)&&r&&r.length?n.attr({d:r}):n&&(r?(n.show(),n.animate({d:r})):n.d&&(n.hide(),o&&(y.label=o=o.destroy()))),u&&(Q(u.text)||Q(u.formatter))&&r&&r.length&&0<S.width&&0<S.height&&!r.isFlat?(u=F({align:M&&f&&"center",x:M?!f&&4:10,verticalAlign:!M&&f&&"middle",y:M?f?16:10:f?6:-4,rotation:M&&!f&&90},u),this.renderLabel(u,r,f,O)):o&&o.hide(),y},C.prototype.renderLabel=function(y,S,M,E){var v=this.axis,k=v.chart.renderer,O=this.label;O||(this.label=O=k.text(this.getLabelText(y),0,0,y.useHTML).attr({align:y.textAlign||y.align,rotation:y.rotation,class:"highcharts-plot-"+(M?"band":"line")+"-label "+(y.className||""),zIndex:E}).add(),v.chart.styledMode||O.css(F({textOverflow:"ellipsis"},y.style))),E=S.xBounds||[S[0][1],S[1][1],M?S[2][1]:S[0][1]],S=S.yBounds||[S[0][2],S[1][2],M?S[2][2]:S[0][2]],M=rt(E),k=rt(S),O.align(y,!1,{x:M,y:k,width:et(E)-M,height:et(S)-k}),O.alignValue&&"left"!==O.alignValue||O.css({width:(90===O.rotation?v.height-(O.alignAttr.y-v.top):v.width-(O.alignAttr.x-v.left))+"px"}),O.show(!0)},C.prototype.getLabelText=function(y){return Q(y.formatter)?y.formatter.call(this):y.text},C.prototype.destroy=function(){K(this.axis.plotLinesAndBands,this),delete this.axis,it(this)},C}()}),Mt($,"Core/Tooltip.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.format,K=Y.doc,W=et.distribute,F=Q.addEvent,I=Q.clamp,L=Q.css,C=Q.defined,y=Q.discardElement,S=Q.extend,M=Q.fireEvent,E=Q.isArray,v=Q.isNumber,k=Q.isString,O=Q.merge,P=Q.pick,g=Q.splat,c=Q.syncTimeout;return function(){function u(o,m){this.allowShared=!0,this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=o,this.init(o,m)}return u.prototype.applyFilter=function(){var o=this.chart;o.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+o.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]})},u.prototype.bodyFormatter=function(o){return o.map(function(m){var l=m.series.tooltipOptions;return(l[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,l[(m.point.formatPrefix||"point")+"Format"]||"")})},u.prototype.cleanSplit=function(o){this.chart.series.forEach(function(m){var l=m&&m.tt;l&&(!l.isActive||o?m.tt=l.destroy():l.isActive=!1)})},u.prototype.defaultFormatter=function(o){var m=this.points||g(this),l=[o.tooltipFooterHeaderFormatter(m[0])];return(l=l.concat(o.bodyFormatter(m))).push(o.tooltipFooterHeaderFormatter(m[0],!0)),l},u.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(!0),this.tt=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),y(this.container)),Q.clearTimeout(this.hideTimer),Q.clearTimeout(this.tooltipTimeout)},u.prototype.getAnchor=function(o,m){var T,w,l=this.chart,b=l.pointer,n=l.inverted,r=l.plotTop,f=l.plotLeft,D=0,d=0;return o=g(o),this.followPointer&&m?(void 0===m.chartX&&(m=b.normalize(m)),b=[m.chartX-f,m.chartY-r]):o[0].tooltipPos?b=o[0].tooltipPos:(o.forEach(function(R){T=R.series.yAxis,D+=R.plotX||0,d+=R.plotLow?(R.plotLow+(R.plotHigh||0))/2:R.plotY||0,(w=R.series.xAxis)&&T&&(n?(D+=r+l.plotHeight-w.len-w.pos,d+=f+l.plotWidth-T.len-T.pos):(D+=w.pos-f,d+=T.pos-r))}),D/=o.length,d/=o.length,b=[n?l.plotWidth-d:D,n?l.plotHeight-D:d],this.shared&&1<o.length&&m&&(n?b[0]=m.chartX-f:b[1]=m.chartY-r)),b.map(Math.round)},u.prototype.getLabel=function(){var w,o=this,m=this.chart.styledMode,l=this.options,b=this.split&&this.allowShared,n="tooltip"+(C(l.className)?" "+l.className:""),r=l.style.pointerEvents||(!this.followPointer&&l.stickOnContact?"auto":"none"),f=function(){o.inContact=!0},T=function(j){var z=o.chart.hoverSeries;o.inContact=o.shouldStickOnContact()&&o.chart.pointer.inClass(j.relatedTarget,"highcharts-tooltip"),!o.inContact&&z&&z.onMouseOut&&z.onMouseOut()},D=this.chart.renderer;if(o.label){var d=!o.label.hasClass("highcharts-label");(b&&!d||!b&&d)&&o.destroy()}if(!this.label){if(this.outside){d=this.chart.options.chart.style;var R=rt.getRendererType();this.container=w=Y.doc.createElement("div"),w.className="highcharts-tooltip-container",L(w,{position:"absolute",top:"1px",pointerEvents:r,zIndex:Math.max(this.options.style.zIndex||0,(d&&d.zIndex||0)+3)}),F(w,"mouseenter",f),F(w,"mouseleave",T),Y.doc.body.appendChild(w),this.renderer=D=new R(w,0,0,d,void 0,void 0,D.styledMode)}if(b?this.label=D.g(n):(this.label=D.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,n).attr({padding:l.padding,r:l.borderRadius}),m||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth}).css(l.style).css({pointerEvents:r}).shadow(l.shadow)),m&&l.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"})),o.outside&&!o.split){var a=this.label,h=a.xSetter,A=a.ySetter;a.xSetter=function(j){h.call(a,o.distance),w.style.left=j+"px"},a.ySetter=function(j){A.call(a,o.distance),w.style.top=j+"px"}}this.label.on("mouseenter",f).on("mouseleave",T).attr({zIndex:8}).add()}return this.label},u.prototype.getPosition=function(o,m,l){var A,b=this.chart,n=this.distance,r={},f=b.inverted&&l.h||0,T=this.outside,w=T?K.documentElement.clientWidth-2*n:b.chartWidth,D=T?Math.max(K.body.scrollHeight,K.documentElement.scrollHeight,K.body.offsetHeight,K.documentElement.offsetHeight,K.documentElement.clientHeight):b.chartHeight,d=b.pointer.getChartPosition(),R=function(_){var G="x"===_;return[_,G?w:D,G?o:m].concat(T?[G?o*d.scaleX:m*d.scaleY,G?d.left-n+(l.plotX+b.plotLeft)*d.scaleX:d.top-n+(l.plotY+b.plotTop)*d.scaleY,0,G?w:D]:[G?o:m,G?l.plotX+b.plotLeft:l.plotY+b.plotTop,G?b.plotLeft:b.plotTop,G?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},a=R("y"),h=R("x");R=!!l.negative,!b.polar&&b.hoverSeries&&b.hoverSeries.yAxis&&b.hoverSeries.yAxis.reversed&&(R=!R);var j=!this.followPointer&&P(l.ttBelow,!b.inverted===R),z=function(_,G,U,tt,J,ot,at){var ft=T?"y"===_?n*d.scaleY:n*d.scaleX:n,mt=(U-tt)/2,gt=tt<J-n,ut=J+n+tt<G,ht=J-ft-U+mt;if(J=J+ft-mt,j&&ut)r[_]=J;else if(!j&&gt)r[_]=ht;else if(gt)r[_]=Math.min(at-tt,0>ht-f?ht:ht-f);else{if(!ut)return!1;r[_]=Math.max(ot,J+f+U>G?J:J+f)}},H=function(_,G,U,tt,J){var ot;return J<n||J>G-n?ot=!1:r[_]=J<U/2?1:J>G-tt/2?G-tt-2:J-U/2,ot},p=function(_){var G=a;a=h,h=G,A=_},N=function(){!1!==z.apply(0,a)?!1!==H.apply(0,h)||A||(p(!0),N()):A?r.x=r.y=0:(p(!0),N())};return(b.inverted||1<this.len)&&p(),N(),r},u.prototype.hide=function(o){var m=this;Q.clearTimeout(this.hideTimer),o=P(o,this.options.hideDelay),this.isHidden||(this.hideTimer=c(function(){m.getLabel().fadeOut(o&&void 0),m.isHidden=!0},o))},u.prototype.init=function(o,m){this.chart=o,this.options=m,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=m.split&&!o.inverted&&!o.polar,this.shared=m.shared||this.split,this.outside=P(m.outside,!(!o.scrollablePixelsX&&!o.scrollablePixelsY))},u.prototype.shouldStickOnContact=function(){return!(this.followPointer||!this.options.stickOnContact)},u.prototype.isStickyOnContact=function(){return!(!this.shouldStickOnContact()||!this.inContact)},u.prototype.move=function(o,m,l,b){var n=this,r=n.now,f=!1!==n.options.animation&&!n.isHidden&&(1<Math.abs(o-r.x)||1<Math.abs(m-r.y)),T=n.followPointer||1<n.len;S(r,{x:f?(2*r.x+o)/3:o,y:f?(r.y+m)/2:m,anchorX:T?void 0:f?(2*r.anchorX+l)/3:l,anchorY:T?void 0:f?(r.anchorY+b)/2:b}),n.getLabel().attr(r),n.drawTracker(),f&&(Q.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){n&&n.move(o,m,l,b)},32))},u.prototype.refresh=function(o,m){var l=this.chart,b=this.options,n=g(o),r=n[0],f=[],T=b.formatter||this.defaultFormatter,w=this.shared,D=l.styledMode,d={};if(b.enabled&&r.series){Q.clearTimeout(this.hideTimer),this.allowShared=!(!E(o)&&o.series&&o.series.noSharedTooltip),this.followPointer=!this.split&&r.series.tooltipOptions.followPointer;var R=(o=this.getAnchor(o,m))[0],a=o[1];if(w&&this.allowShared?(l.pointer.applyInactiveState(n),n.forEach(function(j){j.setState("hover"),f.push(j.getLabelConfig())}),(d={x:r.category,y:r.y}).points=f):d=r.getLabelConfig(),this.len=f.length,T=T.call(d,this),this.distance=P((w=r.series).tooltipOptions.distance,16),!1===T)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(T,n);else{var h=R,A=a;if(m&&l.pointer.isDirectTouch&&(h=m.chartX-l.plotLeft,A=m.chartY-l.plotTop),!l.polar&&!1!==w.options.clip&&!n.some(function(j){return j.series.shouldShowTooltip(h,A)}))return void this.hide();m=this.getLabel(),b.style.width&&!D||m.css({width:this.chart.spacingBox.width+"px"}),m.attr({text:T&&T.join?T.join(""):T}),m.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+P(r.colorIndex,w.colorIndex)),D||m.attr({stroke:b.borderColor||r.color||w.color||"#666666"}),this.updatePosition({plotX:R,plotY:a,negative:r.negative,ttBelow:r.ttBelow,h:o[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}M(this,"refresh")}},u.prototype.renderSplit=function(o,m){function l(ut,ht,V,q,st){return void 0===st&&(st=!0),V?(ht=tt?0:ft,ut=I(ut-q/2,_.left,_.right-q-(b.outside?J:0))):(ht-=ot,ut=I(ut=st?ut-q-H:ut+H,st?ut:_.left,_.right)),{x:ut,y:ht}}var b=this,n=b.chart,r=b.chart,f=r.chartWidth,T=r.chartHeight,w=r.plotHeight,D=r.plotLeft,d=r.plotTop,R=r.pointer,a=r.scrollablePixelsY;a=void 0===a?0:a;var A=r.scrollingContainer,j=(A=void 0===A?{scrollLeft:0,scrollTop:0}:A).scrollLeft;A=A.scrollTop;var z=r.styledMode,H=b.distance,p=b.options,N=b.options.positioner,_=b.outside&&"number"!=typeof r.scrollablePixelsX?K.documentElement.getBoundingClientRect():{left:j,right:j+f,top:A,bottom:A+T},G=b.getLabel(),U=this.renderer||n.renderer,tt=!(!n.xAxis[0]||!n.xAxis[0].opposite),J=(n=R.getChartPosition()).left;n=n.top;var ot=d+A,at=0,ft=w-a;k(o)&&(o=[!1,o]),o=o.slice(0,m.length+1).reduce(function(ut,ht,V){if(!1!==ht&&""!==ht){var q=(V=m[V-1]||{isHeader:!0,plotX:m[0].plotX,plotY:w,series:{}}).isHeader,st=q?b:V.series;ht=ht.toString();var ct=st.tt,dt=V.isHeader,yt=V.series,xt="highcharts-color-"+P(V.colorIndex,yt.colorIndex,"none");if(ct||(ct={padding:p.padding,r:p.borderRadius},z||(ct.fill=p.backgroundColor,ct["stroke-width"]=p.borderWidth),ct=U.label("",0,0,p[dt?"headerShape":"shape"],void 0,void 0,p.useHTML).addClass((dt?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+xt).attr(ct).add(G)),ct.isActive=!0,ct.attr({text:ht}),z||ct.css(p.style).shadow(p.shadow).attr({stroke:p.borderColor||V.color||yt.color||"#333333"}),ht=(dt=(st=st.tt=ct).getBBox()).width+st.strokeWidth(),q&&(ft+=at=dt.height,tt&&(ot-=at)),yt=void 0===(yt=V.plotX)?0:yt,xt=void 0===(xt=V.plotY)?0:xt,ct=V.series,V.isHeader){yt=D+yt;var St=d+w/2}else{var Et=ct.xAxis,kt=ct.yAxis;yt=Et.pos+I(yt,-H,Et.len+H),ct.shouldShowTooltip(0,kt.pos-d+xt,{ignoreX:!0})&&(St=kt.pos+xt)}yt=I(yt,_.left-H,_.right+H),"number"==typeof St?(dt=dt.height+1,xt=N?N.call(b,ht,dt,V):l(yt,St,q,ht),ut.push({align:N?0:void 0,anchorX:yt,anchorY:St,boxWidth:ht,point:V,rank:P(xt.rank,q?1:0),size:dt,target:xt.y,tt:st,x:xt.x})):st.isActive=!1}return ut},[]),!N&&o.some(function(ut){var ht=(b.outside?J:0)+ut.anchorX;return ht<_.left&&ht+ut.boxWidth<_.right||ht<J-_.left+ut.boxWidth&&_.right-ht>ht})&&(o=o.map(function(ut){var ht=l(ut.anchorX,ut.anchorY,ut.point.isHeader,ut.boxWidth,!1);return S(ut,{target:ht.y,x:ht.x})})),b.cleanSplit(),W(o,ft);var mt=J,gt=J;o.forEach(function(ut){var ht=ut.x,V=ut.boxWidth;(ut=ut.isHeader)||(b.outside&&J+ht<mt&&(mt=J+ht),!ut&&b.outside&&mt+V>gt&&(gt=J+ht))}),o.forEach(function(ut){var ht=ut.x,V=ut.anchorX,q=ut.pos,st=ut.point.isHeader;if(q={visibility:void 0===q?"hidden":"inherit",x:ht,y:q+ot,anchorX:V,anchorY:ut.anchorY},b.outside&&ht<V){var ct=J-mt;0<ct&&(st||(q.x=ht+ct,q.anchorX=V+ct),st&&(q.x=(gt-mt)/2,q.anchorX=V+ct))}ut.tt.attr(q)}),o=b.container,a=b.renderer,b.outside&&o&&a&&(r=G.getBBox(),a.setSize(r.width+r.x,r.height+r.y,!1),o.style.left=mt+"px",o.style.top=n+"px")},u.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var o=this.chart,m=this.label,l=this.shared?o.hoverPoints:o.hoverPoint;if(m&&l){var b={x:0,y:0,width:0,height:0};l=this.getAnchor(l);var n=m.getBBox();l[0]+=o.plotLeft-m.translateX,l[1]+=o.plotTop-m.translateY,b.x=Math.min(0,l[0]),b.y=Math.min(0,l[1]),b.width=0>l[0]?Math.max(Math.abs(l[0]),n.width-l[0]):Math.max(Math.abs(l[0]),n.width),b.height=0>l[1]?Math.max(Math.abs(l[1]),n.height-Math.abs(l[1])):Math.max(Math.abs(l[1]),n.height),this.tracker?this.tracker.attr(b):(this.tracker=m.renderer.rect(b).addClass("highcharts-tracker").add(m),o.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},u.prototype.styledModeFormat=function(o){return o.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},u.prototype.tooltipFooterHeaderFormatter=function(o,m){var l=o.series,b=l.tooltipOptions,n=l.xAxis,r=n&&n.dateTime,f=b.xDateFormat,T=b[m?"footerFormat":"headerFormat"];return M(this,"headerFormatter",n={isFooter:m,labelConfig:o},function(w){r&&!f&&v(o.key)&&(f=r.getXDateFormat(o.key,b.dateTimeLabelFormats)),r&&f&&(o.point&&o.point.tooltipDateKeys||["key"]).forEach(function(D){T=T.replace("{point."+D+"}","{point."+D+":"+f+"}")}),l.chart.styledMode&&(T=this.styledModeFormat(T)),w.text=it(T,{point:o,series:l},this.chart)}),n.text},u.prototype.update=function(o){this.destroy(),O(!0,this.chart.options.tooltip.userOptions,o),this.init(this.chart,O(!0,this.options,o))},u.prototype.updatePosition=function(o){var m=this.chart,l=this.options,b=m.pointer,n=this.getLabel();b=b.getChartPosition();var r=(l.positioner||this.getPosition).call(this,n.width,n.height,o),f=o.plotX+m.plotLeft;o=o.plotY+m.plotTop,this.outside&&(this.renderer.setSize(n.width+(l=l.borderWidth+2*this.distance),n.height+l,!1),(1!==b.scaleX||1!==b.scaleY)&&(L(this.container,{transform:"scale("+b.scaleX+", "+b.scaleY+")"}),f*=b.scaleX,o*=b.scaleY),f+=b.left-r.x,o+=b.top-r.y),this.move(Math.round(r.x),Math.round(r.y||0),f,o)},u}()}),Mt($,"Core/Series/Point.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=Y.animObject,K=et.defaultOptions,W=rt.format,F=Q.addEvent,I=Q.defined,L=Q.erase,C=Q.extend,y=Q.fireEvent,S=Q.getNestedProperty,M=Q.isArray,E=Q.isFunction,v=Q.isNumber,k=Q.isObject,O=Q.merge,P=Q.objectEach,g=Q.pick,c=Q.syncTimeout,u=Q.removeEvent,o=Q.uniqueKey;return function(){function m(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return m.prototype.animateBeforeDestroy=function(){var l=this,b={x:l.startXPos,opacity:0},n=l.getGraphicalProps();n.singular.forEach(function(r){l[r]=l[r].animate("dataLabel"===r?{x:l[r].startXPos,y:l[r].startYPos,opacity:0}:b)}),n.plural.forEach(function(r){l[r].forEach(function(f){f.element&&f.animate(C({x:l.startXPos},f.startYPos?{x:f.startXPos,y:f.startYPos}:{}))})})},m.prototype.applyOptions=function(l,b){var n=this.series,r=n.options.pointValKey||n.pointValKey;return l=m.prototype.optionsToObject.call(this,l),C(this,l),this.options=this.options?C(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,r&&(this.y=m.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=g(this.isValid&&!this.isValid(),null===this.x||!v(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===b&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),void 0===this.x&&n?this.x=void 0===b?n.autoIncrement():b:v(l.x)&&n.options.relativeXValue&&(this.x=n.autoIncrement(l.x)),this},m.prototype.destroy=function(){function l(){for(w in(b.graphic||b.dataLabel||b.dataLabels)&&(u(b),b.destroyElements()),b)b[w]=null}var b=this,n=b.series,r=n.chart;n=n.options.dataSorting;var w,f=r.hoverPoints,T=it(b.series.chart.renderer.globalAnimation);b.legendItem&&r.legend.destroyItem(b),f&&(b.setState(),L(f,b),f.length||(r.hoverPoints=null)),b===r.hoverPoint&&b.onMouseOut(),n&&n.enabled?(this.animateBeforeDestroy(),c(l,T.duration)):l(),r.pointCount--},m.prototype.destroyElements=function(l){var b=this;(l=b.getGraphicalProps(l)).singular.forEach(function(n){b[n]=b[n].destroy()}),l.plural.forEach(function(n){b[n].forEach(function(r){r.element&&r.destroy()}),delete b[n]})},m.prototype.firePointEvent=function(l,b,n){var r=this,f=this.series.options;(f.point.events[l]||r.options&&r.options.events&&r.options.events[l])&&r.importEvents(),"click"===l&&f.allowPointSelect&&(n=function(T){r.select&&r.select(null,T.ctrlKey||T.metaKey||T.shiftKey)}),y(r,l,b,n)},m.prototype.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",""):"")},m.prototype.getGraphicalProps=function(l){var f,b=this,n=[],r={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","upperGraphic","shadowGroup"),l.dataLabel&&n.push("dataLabel","dataLabelUpper","connector"),f=n.length;f--;){var T=n[f];b[T]&&r.singular.push(T)}return["dataLabel","connector"].forEach(function(w){var D=w+"s";l[w]&&b[D]&&r.plural.push(D)}),r},m.prototype.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}},m.prototype.getNestedProperty=function(l){if(l)return 0===l.indexOf("custom.")?S(l,this.options):this[l]},m.prototype.getZone=function(){var l=this.series,b=l.zones;l=l.zoneAxis||"y";var n,r=0;for(n=b[r];this[l]>=n.value;)n=b[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},m.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},m.prototype.init=function(l,b,n){return this.series=l,this.applyOptions(b,n),this.id=I(this.id)?this.id:o(),this.resolveColor(),l.chart.pointCount++,y(this,"afterInit"),this},m.prototype.optionsToObject=function(l){var b=this.series,n=b.options.keys,r=n||b.pointArrayMap||["y"],f=r.length,T={},w=0,D=0;if(v(l)||null===l)T[r[0]]=l;else if(M(l))for(!n&&l.length>f&&("string"==(b=typeof l[0])?T.name=l[0]:"number"===b&&(T.x=l[0]),w++);D<f;)n&&void 0===l[w]||(0<r[D].indexOf(".")?m.prototype.setNestedProperty(T,l[w],r[D]):T[r[D]]=l[w]),w++,D++;else"object"==typeof l&&(T=l,l.dataLabels&&(b._hasPointLabels=!0),l.marker&&(b._hasPointMarkers=!0));return T},m.prototype.resolveColor=function(){var l=this.series,b=l.chart.styledMode,n=l.chart.options.chart.colorCount;if(delete this.nonZonedColor,l.options.colorByPoint){if(!b){var r=(n=l.options.colors||l.chart.options.colors)[l.colorCounter];n=n.length}b=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)}else b||(r=l.color),b=l.colorIndex;this.colorIndex=g(this.options.colorIndex,b),this.color=g(this.options.color,r)},m.prototype.setNestedProperty=function(l,b,n){return n.split(".").reduce(function(r,f,T,w){return r[f]=w.length-1===T?b:k(r[f],!0)?r[f]:{},r[f]},l),l},m.prototype.tooltipFormatter=function(l){var b=this.series,n=b.tooltipOptions,r=g(n.valueDecimals,""),f=n.valuePrefix||"",T=n.valueSuffix||"";return b.chart.styledMode&&(l=b.chart.tooltip.styledModeFormat(l)),(b.pointArrayMap||["y"]).forEach(function(w){w="{point."+w,(f||T)&&(l=l.replace(RegExp(w+"}","g"),f+w+"}"+T)),l=l.replace(RegExp(w+"}","g"),w+":,."+r+"f}")}),W(l,{point:this,series:this.series},b.chart)},m.prototype.update=function(l,b,n,r){function f(){T.applyOptions(l);var h=D&&T.hasDummyGraphic;h=null===T.y?!h:h,D&&h&&(T.graphic=D.destroy(),delete T.hasDummyGraphic),k(l,!0)&&(D&&D.element&&l&&l.marker&&void 0!==l.marker.symbol&&(T.graphic=D.destroy()),l&&l.dataLabels&&T.dataLabel&&(T.dataLabel=T.dataLabel.destroy()),T.connector&&(T.connector=T.connector.destroy())),w.updateParallelArrays(T,a=T.index),R.data[a]=k(R.data[a],!0)||k(l,!0)?T.options:g(l,R.data[a]),w.isDirty=w.isDirtyData=!0,!w.fixedBox&&w.hasCartesianSeries&&(d.isDirtyBox=!0),"point"===R.legendType&&(d.isDirtyLegend=!0),b&&d.redraw(n)}var a,T=this,w=T.series,D=T.graphic,d=w.chart,R=w.options;b=g(b,!0),!1===r?f():T.firePointEvent("update",{options:l},f)},m.prototype.remove=function(l,b){this.series.removePoint(this.series.data.indexOf(this),l,b)},m.prototype.select=function(l,b){var n=this,r=n.series,f=r.chart;this.selectedStaging=l=g(l,!n.selected),n.firePointEvent(l?"select":"unselect",{accumulate:b},function(){n.selected=n.options.selected=l,r.options.data[r.data.indexOf(n)]=n.options,n.setState(l&&"select"),b||f.getSelectedPoints().forEach(function(T){var w=T.series;T.selected&&T!==n&&(T.selected=T.options.selected=!1,w.options.data[w.data.indexOf(T)]=T.options,T.setState(f.hoverPoints&&w.options.inactiveOtherPoints?"inactive":""),T.firePointEvent("unselect"))})}),delete this.selectedStaging},m.prototype.onMouseOver=function(l){var b=this.series.chart,n=b.pointer;l=l?n.normalize(l):n.getChartCoordinatesFromPoint(this,b.inverted),n.runPointActions(l,this)},m.prototype.onMouseOut=function(){var l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(b){b.setState()}),l.hoverPoints=l.hoverPoint=null},m.prototype.importEvents=function(){if(!this.hasImportedEvents){var l=this,b=O(l.series.options.point,l.options).events;l.events=b,P(b,function(n,r){E(n)&&F(l,r,n)}),this.hasImportedEvents=!0}},m.prototype.setState=function(l,b){var j,n=this.series,r=this.state,f=n.options.states[l||"normal"]||{},T=K.plotOptions[n.type].marker&&n.options.marker,D=T&&T.states&&T.states[l||"normal"]||{},R=this.marker||{},a=n.chart,h=T&&n.markerAttribs,A=n.halo,z=n.stateMarkerGraphic;if(!((l=l||"")===this.state&&!b||this.selected&&"select"!==l||!1===f.enabled||l&&(!1===D.enabled||T&&!1===T.enabled&&!1===D.enabled)||l&&R.states&&R.states[l]&&!1===R.states[l].enabled)){if(this.state=l,h&&(j=n.markerAttribs(this,l)),this.graphic&&!this.hasDummyGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),l&&this.graphic.addClass("highcharts-point-"+l),!a.styledMode){var H=n.pointAttribs(this,l),p=g(a.options.chart.animation,f.animation);n.options.inactiveOtherPoints&&v(H.opacity)&&((this.dataLabels||[]).forEach(function(N){N&&N.animate({opacity:H.opacity},p)}),this.connector&&this.connector.animate({opacity:H.opacity},p)),this.graphic.animate(H,p)}j&&this.graphic.animate(j,g(a.options.chart.animation,D.animation,T.animation)),z&&z.hide()}else l&&D&&(r=R.symbol||n.symbol,z&&z.currentSymbol!==r&&(z=z.destroy()),j&&(z?z[b?"animate":"attr"]({x:j.x,y:j.y}):r&&(n.stateMarkerGraphic=z=a.renderer.symbol(r,j.x,j.y,j.width,j.height).add(n.markerGroup),z.currentSymbol=r)),!a.styledMode&&z&&"inactive"!==this.state&&z.attr(n.pointAttribs(this,l))),z&&(z[l&&this.isInside?"show":"hide"](),z.element.point=this,z.addClass(this.getClassName(),!0));j=(z=this.graphic||z)&&z.visibility||"inherit",(f=f.halo)&&f.size&&z&&"hidden"!==j&&!this.isCluster?(A||(n.halo=A=a.renderer.path().add(z.parentGroup)),A.show()[b?"animate":"attr"]({d:this.haloPath(f.size)}),A.attr({class:"highcharts-halo highcharts-color-"+g(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:j,zIndex:-1}),A.point=this,a.styledMode||A.attr(C({fill:this.color||n.color,"fill-opacity":f.opacity},X.filterUserAttributes(f.attributes||{})))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.hide),y(this,"afterSetState",{state:l})}},m.prototype.haloPath=function(l){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-l,this.plotY-l,2*l,2*l)},m}()}),Mt($,"Core/Pointer.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Tooltip.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var Q=X.parse,it=Y.charts,K=Y.noop,W=rt.addEvent,F=rt.attr,I=rt.css,L=rt.defined,C=rt.extend,y=rt.find,S=rt.fireEvent,M=rt.isNumber,E=rt.isObject,v=rt.objectEach,k=rt.offset,O=rt.pick,P=rt.splat;return function(){function g(c,u){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=c,this.hasDragged=!1,this.options=u,this.init(c,u)}return g.prototype.applyInactiveState=function(c){var o,u=[];(c||[]).forEach(function(m){u.push(o=m.series),o.linkedParent&&u.push(o.linkedParent),o.linkedSeries&&(u=u.concat(o.linkedSeries)),o.navigatorSeries&&u.push(o.navigatorSeries)}),this.chart.series.forEach(function(m){-1===u.indexOf(m)?m.setState("inactive",!0):m.options.inactiveOtherPoints&&m.setAllPointsToState("inactive")})},g.prototype.destroy=function(){var c=this;this.eventsToUnbind.forEach(function(u){return u()}),this.eventsToUnbind=[],Y.chartCount||(g.unbindDocumentMouseUp&&(g.unbindDocumentMouseUp=g.unbindDocumentMouseUp()),g.unbindDocumentTouchEnd&&(g.unbindDocumentTouchEnd=g.unbindDocumentTouchEnd())),clearInterval(c.tooltipTimeout),v(c,function(u,o){c[o]=void 0})},g.prototype.drag=function(c){var u=this.chart,o=u.options.chart,m=this.zoomHor,l=this.zoomVert,b=u.plotLeft,n=u.plotTop,r=u.plotWidth,f=u.plotHeight,T=this.mouseDownX||0,w=this.mouseDownY||0,D=E(o.panning)?o.panning&&o.panning.enabled:o.panning,d=o.panKey&&c[o.panKey+"Key"],R=c.chartX,a=c.chartY,h=this.selectionMarker;if((!h||!h.touch)&&(R<b?R=b:R>b+r&&(R=b+r),a<n?a=n:a>n+f&&(a=n+f),this.hasDragged=Math.sqrt(Math.pow(T-R,2)+Math.pow(w-a,2)),10<this.hasDragged)){var A=u.isInsidePlot(T-b,w-n,{visiblePlotOnly:!0});!u.hasCartesianSeries&&!u.mapView||!this.zoomX&&!this.zoomY||!A||d||h||(this.selectionMarker=h=u.renderer.rect(b,n,m?1:r,l?1:f,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||h.attr({fill:o.selectionMarkerFill||Q("#335cad").setOpacity(.25).get()})),h&&m&&(m=R-T,h.attr({width:Math.abs(m),x:(0<m?0:m)+T})),h&&l&&(m=a-w,h.attr({height:Math.abs(m),y:(0<m?0:m)+w})),A&&!h&&D&&u.pan(c,o.panning)}},g.prototype.dragStart=function(c){var u=this.chart;u.mouseIsDown=c.type,u.cancelClick=!1,u.mouseDownX=this.mouseDownX=c.chartX,u.mouseDownY=this.mouseDownY=c.chartY},g.prototype.drop=function(c){var u=this,o=this.chart,m=this.hasPinched;if(this.selectionMarker){var l=this.selectionMarker,b=l.attr?l.attr("x"):l.x,n=l.attr?l.attr("y"):l.y,r=l.attr?l.attr("width"):l.width,f=l.attr?l.attr("height"):l.height,T={originalEvent:c,xAxis:[],yAxis:[],x:b,y:n,width:r,height:f},w=!!o.mapView;(this.hasDragged||m)&&(o.axes.forEach(function(D){if(D.zoomEnabled&&L(D.min)&&(m||u[{xAxis:"zoomX",yAxis:"zoomY"}[D.coll]])&&M(b)&&M(n)){var d=D.horiz,R="touchend"===c.type?D.minPixelPadding:0,a=D.toValue((d?b:n)+R);d=D.toValue((d?b+r:n+f)-R),T[D.coll].push({axis:D,min:Math.min(a,d),max:Math.max(a,d)}),w=!0}}),w&&S(o,"selection",T,function(D){o.zoom(C(D,m?{animation:!1}:null))})),M(o.index)&&(this.selectionMarker=this.selectionMarker.destroy()),m&&this.scaleGroups()}o&&M(o.index)&&(I(o.container,{cursor:o._cursor}),o.cancelClick=10<this.hasDragged,o.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},g.prototype.findNearestKDPoint=function(c,u,o){var b,m=this.chart,l=m.hoverPoint;return m=m.tooltip,l&&m&&m.isStickyOnContact()?l:(c.forEach(function(n){var r=!(n.noSharedTooltip&&u)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(o,r),(r=E(n,!0)&&n.series)&&!(r=!E(b,!0))){var f=b.dist-n.dist,T=(n.series.group&&n.series.group.zIndex)-(b.series.group&&b.series.group.zIndex);r=0<(0!=(r=b.distX-n.distX)&&u?r:0!==f?f:0!==T?T:b.series.index>n.series.index?-1:1)}r&&(b=n)}),b)},g.prototype.getChartCoordinatesFromPoint=function(c,u){var o=c.series,m=o.xAxis;o=o.yAxis;var l=c.shapeArgs;if(m&&o){var b=O(c.clientX,c.plotX),n=c.plotY||0;return c.isNode&&l&&M(l.x)&&M(l.y)&&(b=l.x,n=l.y),u?{chartX:o.len+o.pos-n,chartY:m.len+m.pos-b}:{chartX:b+m.pos,chartY:n+o.pos}}if(l&&l.x&&l.y)return{chartX:l.x,chartY:l.y}},g.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,u=k(c);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};var o=c.offsetWidth;return c=c.offsetHeight,2<o&&2<c&&(this.chartPosition.scaleX=u.width/o,this.chartPosition.scaleY=u.height/c),this.chartPosition},g.prototype.getCoordinates=function(c){var u={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(o){u[o.isXAxis?"xAxis":"yAxis"].push({axis:o,value:o.toValue(c[o.horiz?"chartX":"chartY"])})}),u},g.prototype.getHoverData=function(c,u,o,m,l,b){var n=[];m=!(!m||!c);var r={chartX:b?b.chartX:void 0,chartY:b?b.chartY:void 0,shared:l};S(this,"beforeGetHoverData",r);var f=u&&!u.stickyTracking?[u]:o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&w.stickyTracking}),T=m||!b?c:this.findNearestKDPoint(f,l,b);return u=T&&T.series,T&&(l&&!u.noSharedTooltip?(f=o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&!w.noSharedTooltip})).forEach(function(w){var D=y(w.points,function(d){return d.x===T.x&&!d.isNull});E(D)&&(w.chart.isBoosting&&(D=w.getPoint(D)),n.push(D))}):n.push(T)),S(this,"afterGetHoverData",r={hoverPoint:T}),{hoverPoint:r.hoverPoint,hoverSeries:u,hoverPoints:n}},g.prototype.getPointFromEvent=function(c){c=c.target;for(var u;c&&!u;)u=c.point,c=c.parentNode;return u},g.prototype.onTrackerMouseOut=function(c){c=c.relatedTarget||c.toElement;var u=this.chart.hoverSeries;this.isDirectTouch=!1,!u||!c||u.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+u.index)&&this.inClass(c,"highcharts-tracker")||u.onMouseOut()},g.prototype.inClass=function(c,u){for(var o;c;){if(o=F(c,"class")){if(-1!==o.indexOf(u))return!0;if(-1!==o.indexOf("highcharts-container"))return!1}c=c.parentElement}},g.prototype.init=function(c,u){this.options=u,this.chart=c,this.runChartClick=!(!u.chart.events||!u.chart.events.click),this.pinchDown=[],this.lastValidTouch={},et&&(c.tooltip=new et(c,u.tooltip),this.followTouchMove=O(u.tooltip.followTouchMove,!0)),this.setDOMEvents()},g.prototype.normalize=function(c,u){var o=c.touches,m=o?o.length?o.item(0):O(o.changedTouches,c.changedTouches)[0]:c;return u||(u=this.getChartPosition()),o=m.pageX-u.left,m=m.pageY-u.top,o/=u.scaleX,m/=u.scaleY,C(c,{chartX:Math.round(o),chartY:Math.round(m)})},g.prototype.onContainerClick=function(c){var u=this.chart,o=u.hoverPoint;c=this.normalize(c);var m=u.plotLeft,l=u.plotTop;u.cancelClick||(o&&this.inClass(c.target,"highcharts-tracker")?(S(o.series,"click",C(c,{point:o})),u.hoverPoint&&o.firePointEvent("click",c)):(C(c,this.getCoordinates(c)),u.isInsidePlot(c.chartX-m,c.chartY-l,{visiblePlotOnly:!0})&&S(u,"click",c)))},g.prototype.onContainerMouseDown=function(c){var u=1==(1&(c.buttons||c.button));c=this.normalize(c),Y.isFirefox&&0!==c.button&&this.onContainerMouseMove(c),(void 0===c.button||u)&&(this.zoomOption(c),u&&c.preventDefault&&c.preventDefault(),this.dragStart(c))},g.prototype.onContainerMouseLeave=function(c){var u=it[O(g.hoverChartIndex,-1)],o=this.chart.tooltip;o&&o.shouldStickOnContact()&&this.inClass(c.relatedTarget,"highcharts-tooltip-container")||(c=this.normalize(c),u&&(c.relatedTarget||c.toElement)&&(u.pointer.reset(),u.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset())},g.prototype.onContainerMouseEnter=function(c){delete this.chartPosition},g.prototype.onContainerMouseMove=function(c){var u=this.chart;c=this.normalize(c),this.setHoverChartIndex(),c.preventDefault||(c.returnValue=!1),("mousedown"===u.mouseIsDown||this.touchSelect(c))&&this.drag(c),u.openMenu||!this.inClass(c.target,"highcharts-tracker")&&!u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||(this.inClass(c.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(c))},g.prototype.onDocumentTouchEnd=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.onContainerTouchMove=function(c){this.touchSelect(c)?this.onContainerMouseMove(c):this.touch(c)},g.prototype.onContainerTouchStart=function(c){this.touchSelect(c)?this.onContainerMouseDown(c):(this.zoomOption(c),this.touch(c,!0))},g.prototype.onDocumentMouseMove=function(c){var u=this.chart,o=this.chartPosition;c=this.normalize(c,o);var m=u.tooltip;!o||m&&m.isStickyOnContact()||u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||this.inClass(c.target,"highcharts-tracker")||this.reset()},g.prototype.onDocumentMouseUp=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.pinch=function(c){var u=this,o=u.chart,m=u.pinchDown,l=c.touches||[],b=l.length,n=u.lastValidTouch,r=u.hasZoom,f={},T=1===b&&(u.inClass(c.target,"highcharts-tracker")&&o.runTrackerClick||u.runChartClick),w={},D=u.selectionMarker;1<b?u.initiated=!0:1===b&&this.followTouchMove&&(u.initiated=!1),r&&u.initiated&&!T&&!1!==c.cancelable&&c.preventDefault(),[].map.call(l,function(d){return u.normalize(d)}),"touchstart"===c.type?([].forEach.call(l,function(d,R){m[R]={chartX:d.chartX,chartY:d.chartY}}),n.x=[m[0].chartX,m[1]&&m[1].chartX],n.y=[m[0].chartY,m[1]&&m[1].chartY],o.axes.forEach(function(d){if(d.zoomEnabled){var R=o.bounds[d.horiz?"h":"v"],a=d.minPixelPadding,h=d.toPixels(Math.min(O(d.options.min,d.dataMin),d.dataMin)),A=d.toPixels(Math.max(O(d.options.max,d.dataMax),d.dataMax)),j=Math.max(h,A);R.min=Math.min(d.pos,Math.min(h,A)-a),R.max=Math.max(d.pos+d.len,j+a)}}),u.res=!0):u.followTouchMove&&1===b?this.runPointActions(u.normalize(c)):m.length&&(S(o,"touchpan",{originalEvent:c},function(){D||(u.selectionMarker=D=C({destroy:K,touch:!0},o.plotBox)),u.pinchTranslate(m,l,f,D,w,n),u.hasPinched=r,u.scaleGroups(f,w)}),u.res&&(u.res=!1,this.reset(!1,0)))},g.prototype.pinchTranslate=function(c,u,o,m,l,b){this.zoomHor&&this.pinchTranslateDirection(!0,c,u,o,m,l,b),this.zoomVert&&this.pinchTranslateDirection(!1,c,u,o,m,l,b)},g.prototype.pinchTranslateDirection=function(c,u,o,m,l,b,n,r){var f=this.chart,T=c?"x":"y",w=c?"X":"Y",D="chart"+w,d=c?"width":"height",R=f["plot"+(c?"Left":"Top")],a=f.inverted,h=f.bounds[c?"h":"v"],A=1===u.length,j=u[0][D],z=!A&&u[1][D];u=function(){"number"==typeof G&&20<Math.abs(j-z)&&(N=r||Math.abs(_-G)/Math.abs(j-z)),p=(R-_)/N+j,H=f["plot"+(c?"Width":"Height")]/N};var H,p,N=r||1,_=o[0][D],G=!A&&o[1][D];if(u(),(o=p)<h.min){o=h.min;var U=!0}else o+H>h.max&&(o=h.max-H,U=!0);U?(_-=.8*(_-n[T][0]),"number"==typeof G&&(G-=.8*(G-n[T][1])),u()):n[T]=[_,G],a||(b[T]=p-R,b[d]=H),b=a?1/N:N,l[d]=H,l[T]=o,m[a?c?"scaleY":"scaleX":"scale"+w]=N,m["translate"+w]=b*R+(_-b*j)},g.prototype.reset=function(c,u){var o=this.chart,m=o.hoverSeries,l=o.hoverPoint,b=o.hoverPoints,n=o.tooltip,r=n&&n.shared?b:l;c&&r&&P(r).forEach(function(f){f.series.isCartesian&&void 0===f.plotX&&(c=!1)}),c?n&&r&&P(r).length&&(n.refresh(r),n.shared&&b?b.forEach(function(f){f.setState(f.state,!0),f.series.isCartesian&&(f.series.xAxis.crosshair&&f.series.xAxis.drawCrosshair(null,f),f.series.yAxis.crosshair&&f.series.yAxis.drawCrosshair(null,f))}):l&&(l.setState(l.state,!0),o.axes.forEach(function(f){f.crosshair&&l.series[f.coll]===f&&f.drawCrosshair(null,l)}))):(l&&l.onMouseOut(),b&&b.forEach(function(f){f.setState()}),m&&m.onMouseOut(),n&&n.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),o.axes.forEach(function(f){f.hideCrosshair()}),this.hoverX=o.hoverPoints=o.hoverPoint=null)},g.prototype.runPointActions=function(c,u){var o=this.chart,m=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,l=!!m&&m.shared,b=u||o.hoverPoint,n=b&&b.series||o.hoverSeries;u=this.getHoverData(b,n,o.series,(!c||"touchmove"!==c.type)&&(!!u||n&&n.directTouch&&this.isDirectTouch),l,c),b=u.hoverPoint;var r=u.hoverPoints;u=(n=u.hoverSeries)&&n.tooltipOptions.followPointer&&!n.tooltipOptions.split;var f=l&&n&&!n.noSharedTooltip;if(b&&(b!==o.hoverPoint||m&&m.isHidden)){if((o.hoverPoints||[]).forEach(function(T){-1===r.indexOf(T)&&T.setState()}),o.hoverSeries!==n&&n.onMouseOver(),this.applyInactiveState(r),(r||[]).forEach(function(T){T.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!b.series)return;o.hoverPoints=r,o.hoverPoint=b,b.firePointEvent("mouseOver",void 0,function(){m&&b&&m.refresh(f?r:b,c)})}else u&&m&&!m.isHidden&&(l=m.getAnchor([{}],c),o.isInsidePlot(l[0],l[1],{visiblePlotOnly:!0})&&m.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=W(o.container.ownerDocument,"mousemove",function(T){var w=it[g.hoverChartIndex];w&&w.pointer.onDocumentMouseMove(T)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(T){var D,w=O((T.crosshair||{}).snap,!0);w&&((D=o.hoverPoint)&&D.series[T.coll]===T||(D=y(r,function(d){return d.series&&d.series[T.coll]===T}))),D||!w?T.drawCrosshair(c,D):T.hideCrosshair()})},g.prototype.scaleGroups=function(c,u){var o=this.chart;o.series.forEach(function(m){var l=c||m.getPlotBox();m.group&&(m.xAxis&&m.xAxis.zoomEnabled||o.mapView)&&(m.group.attr(l),m.markerGroup&&(m.markerGroup.attr(l),m.markerGroup.clip(u?o.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(l))}),o.clipRect.attr(u||o.clipBox)},g.prototype.setDOMEvents=function(){var c=this,u=this.chart.container,o=u.ownerDocument;u.onmousedown=this.onContainerMouseDown.bind(this),u.onmousemove=this.onContainerMouseMove.bind(this),u.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(W(u,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(W(u,"mouseleave",this.onContainerMouseLeave.bind(this))),g.unbindDocumentMouseUp||(g.unbindDocumentMouseUp=W(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var m=this.chart.renderTo.parentElement;m&&"BODY"!==m.tagName;)this.eventsToUnbind.push(W(m,"scroll",function(){delete c.chartPosition})),m=m.parentElement;Y.hasTouch&&(this.eventsToUnbind.push(W(u,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(W(u,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),g.unbindDocumentTouchEnd||(g.unbindDocumentTouchEnd=W(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},g.prototype.setHoverChartIndex=function(){var c=this.chart,u=Y.charts[O(g.hoverChartIndex,-1)];u&&u!==c&&u.pointer.onContainerMouseLeave({relatedTarget:c.container}),u&&u.mouseIsDown||(g.hoverChartIndex=c.index)},g.prototype.touch=function(c,u){var o=this.chart;if(this.setHoverChartIndex(),1===c.touches.length)if(c=this.normalize(c),o.isInsidePlot(c.chartX-o.plotLeft,c.chartY-o.plotTop,{visiblePlotOnly:!0})&&!o.openMenu){if(u&&this.runPointActions(c),"touchmove"===c.type)var l=!!(u=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(u[0].chartX-c.chartX,2)+Math.pow(u[0].chartY-c.chartY,2));O(l,!0)&&this.pinch(c)}else u&&this.reset();else 2===c.touches.length&&this.pinch(c)},g.prototype.touchSelect=function(c){return!(!this.chart.options.chart.zoomBySingleTouch||!c.touches||1!==c.touches.length)},g.prototype.zoomOption=function(c){var u=this.chart,o=u.options.chart;u=u.inverted;var m=o.zoomType||"";/touch/.test(c.type)&&(m=O(o.pinchType,m)),this.zoomX=c=/x/.test(m),this.zoomY=o=/y/.test(m),this.zoomHor=c&&!u||o&&u,this.zoomVert=o&&!u||c&&u,this.hasZoom=c||o},g}()}),Mt($,"Core/MSPointer.js",[$["Core/Globals.js"],$["Core/Pointer.js"],$["Core/Utilities.js"]],function(X,Y,et){function rt(){var v=[];return v.item=function(k){return this[k]},y(M,function(k){v.push({pageX:k.pageX,pageY:k.pageY,target:k.target})}),v}function Q(v,k,O,P){var g=K[Y.hoverChartIndex||NaN];"touch"!==v.pointerType&&v.pointerType!==v.MSPOINTER_TYPE_TOUCH||!g||(g=g.pointer,P(v),g[k]({type:O,target:v.currentTarget,preventDefault:F,touches:rt()}))}var v,it=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)}),K=X.charts,W=X.doc,F=X.noop,I=X.win,L=et.addEvent,C=et.css,y=et.objectEach,S=et.removeEvent,M={},E=!!I.PointerEvent;return function(v){function k(){return null!==v&&v.apply(this,arguments)||this}return it(k,v),k.isRequired=function(){return!(X.hasTouch||!I.PointerEvent&&!I.MSPointerEvent)},k.prototype.batchMSEvents=function(O){O(this.chart.container,E?"pointerdown":"MSPointerDown",this.onContainerPointerDown),O(this.chart.container,E?"pointermove":"MSPointerMove",this.onContainerPointerMove),O(W,E?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},k.prototype.destroy=function(){this.batchMSEvents(S),v.prototype.destroy.call(this)},k.prototype.init=function(O,P){v.prototype.init.call(this,O,P),this.hasZoom&&C(O.container,{"-ms-touch-action":"none","touch-action":"none"})},k.prototype.onContainerPointerDown=function(O){Q(O,"onContainerTouchStart","touchstart",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY,target:P.currentTarget}})},k.prototype.onContainerPointerMove=function(O){Q(O,"onContainerTouchMove","touchmove",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY},M[P.pointerId].target||(M[P.pointerId].target=P.currentTarget)})},k.prototype.onDocumentPointerUp=function(O){Q(O,"onDocumentTouchEnd","touchend",function(P){delete M[P.pointerId]})},k.prototype.setDOMEvents=function(){v.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(L)},k}(Y)}),Mt($,"Core/Legend/Legend.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.animObject,W=X.setAnimation,F=Y.format;X=et.isFirefox;var I=et.marginNames;et=et.win;var L=Q.distribute,C=it.addEvent,y=it.createElement,S=it.css,M=it.defined,E=it.discardElement,v=it.find,k=it.fireEvent,O=it.isNumber,P=it.merge,g=it.pick,c=it.relativeLength,u=it.stableSort,o=it.syncTimeout;return Q=it.wrap,it=function(){function m(l,b){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options=void 0,this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=l,this.init(l,b)}return m.prototype.init=function(l,b){this.chart=l,this.setOptions(b),b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},m.prototype.setOptions=function(l){var b=g(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=P(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop||0,this.itemMarginBottom=l.itemMarginBottom||0,this.padding=b,this.initialItemY=b-5,this.symbolWidth=g(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0},m.prototype.update=function(l,b){var n=this.chart;this.setOptions(P(!0,this.options,l)),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,g(b,!0)&&n.redraw(),k(this,"afterUpdate")},m.prototype.colorizeItem=function(l,b){if(l.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var n=this.options,r=l.legendItem,f=l.legendLine,T=l.legendSymbol,w=this.itemHiddenStyle.color;n=b?n.itemStyle.color:w;var D=b&&l.color||w,d=l.options&&l.options.marker,R={fill:D};r&&r.css({fill:n,color:n}),f&&f.attr({stroke:D}),T&&(d&&T.isMarker&&(R=l.pointAttribs(),b||(R.stroke=R.fill=w)),T.attr(R))}k(this,"afterColorizeItem",{item:l,visible:b})},m.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},m.prototype.positionItem=function(l){var b=this,n=this.options,r=n.symbolPadding,f=!n.rtl,T=l._legendItemPos;n=T[0],T=T[1];var w=l.checkbox,D=l.legendGroup;D&&D.element&&(r={translateX:f?n:this.legendWidth-n-2*r-4,translateY:T},f=function(){k(b,"afterPositionItem",{item:l})},M(D.translateY)?D.animate(r,void 0,f):(D.attr(r),f())),w&&(w.x=n,w.y=T)},m.prototype.destroyItem=function(l){var b=l.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(n){l[n]&&(l[n]=l[n].destroy())}),b&&E(l.checkbox)},m.prototype.destroy=function(){function l(b){this[b]&&(this[b]=this[b].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(l,b)}),"clipRect up down pager nav box title group".split(" ").forEach(l,this),this.display=null},m.prototype.positionCheckboxes=function(){var l=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,n=this.titleHeight;if(l){var r=l.translateY;this.allItems.forEach(function(f){var T=f.checkbox;if(T){var w=r+n+T.y+(this.scrollOffset||0)+3;S(T,{left:l.translateX+f.checkboxOffset+T.x-20+"px",top:w+"px",display:this.proximate||w>r-6&&w<r+b-6?"":"none"})}},this)}},m.prototype.renderTitle=function(){var l=this.options,b=this.padding,n=l.title,r=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,b-3,b-4,void 0,void 0,void 0,l.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+"px"}),r=(l=this.title.getBBox()).height,this.offsetWidth=l.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r},m.prototype.setText=function(l){var b=this.options;l.legendItem.attr({text:b.labelFormat?F(b.labelFormat,l,this.chart):b.labelFormatter.call(l)})},m.prototype.renderItem=function(l){var b=this.chart,n=b.renderer,r=this.options,f=this.symbolWidth,T=r.symbolPadding||0,w=this.itemStyle,D=this.itemHiddenStyle,d="horizontal"===r.layout?g(r.itemDistance,20):0,R=!r.rtl,a=!l.series,h=!a&&l.series.drawLegendSymbol?l.series:l,A=h.options,j=this.createCheckboxForItem&&A&&A.showCheckbox,z=r.useHTML,H=l.options.className,p=l.legendItem;A=f+T+d+(j?20:0),p||(l.legendGroup=n.g("legend-item").addClass("highcharts-"+h.type+"-series highcharts-color-"+l.colorIndex+(H?" "+H:"")+(a?" highcharts-series-"+l.index:"")).attr({zIndex:1}).add(this.scrollGroup),l.legendItem=p=n.text("",R?f+T:-T,this.baseline||0,z),b.styledMode||p.css(P(l.visible?w:D)),p.attr({align:R?"left":"right",zIndex:2}).add(l.legendGroup),this.baseline||(this.fontMetrics=n.fontMetrics(b.styledMode?12:w.fontSize,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline),this.symbolHeight=r.symbolHeight||this.fontMetrics.f,r.squareSymbol&&(this.symbolWidth=g(r.symbolWidth,Math.max(this.symbolHeight,16)),A=this.symbolWidth+T+d+(j?20:0),R&&p.attr("x",this.symbolWidth+T))),h.drawLegendSymbol(this,l),this.setItemEvents&&this.setItemEvents(l,p,z)),j&&!l.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(l),this.colorizeItem(l,l.visible),!b.styledMode&&w.width||p.css({width:(r.itemWidth||this.widthOption||b.spacingBox.width)-A+"px"}),this.setText(l),b=p.getBBox(),n=this.fontMetrics&&this.fontMetrics.h||0,l.itemWidth=l.checkboxOffset=r.itemWidth||l.legendItemWidth||b.width+A,this.maxItemWidth=Math.max(this.maxItemWidth,l.itemWidth),this.totalItemWidth+=l.itemWidth,this.itemHeight=l.itemHeight=Math.round(l.legendItemHeight||(b.height>1.5*n?b.height:n))},m.prototype.layoutItem=function(l){var b=this.options,n=this.padding,r="horizontal"===b.layout,f=l.itemHeight,T=this.itemMarginBottom,w=this.itemMarginTop,D=r?g(b.itemDistance,20):0,d=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>d?this.maxItemWidth:l.itemWidth,r&&this.itemX-n+b>d&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=w+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=w+this.itemY+T,this.lastLineHeight=Math.max(f,this.lastLineHeight),l._legendItemPos=[this.itemX,this.itemY],r?this.itemX+=b:(this.itemY+=w+f+T,this.lastLineHeight=f),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(l.checkbox?0:D):b)+n,this.offsetWidth)},m.prototype.getAllItems=function(){var l=[];return this.chart.series.forEach(function(b){var n=b&&b.options;b&&g(n.showInLegend,!M(n.linkedTo)&&void 0,!0)&&(l=l.concat(b.legendItems||("point"===n.legendType?b.data:b)))}),k(this,"afterGetAllItems",{allItems:l}),l},m.prototype.getAlignment=function(){var l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)},m.prototype.adjustMargins=function(l,b){var n=this.chart,r=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,w){T.test(f)&&!M(l[w])&&(n[I[w]]=Math.max(n[I[w]],n.legend[(w+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][w]*r[w%2?"x":"y"]+g(r.margin,12)+b[w]+(n.titleOffset[w]||0)))})},m.prototype.proximatePositions=function(){var l=this.chart,b=[],n="left"===this.options.align;this.allItems.forEach(function(r){var f,T=n;if(r.yAxis){r.xAxis.options.reversed&&(T=!T),r.points&&(f=v(T?r.points:r.points.slice(0).reverse(),function(D){return O(D.plotY)})),T=this.itemMarginTop+r.legendItem.getBBox().height+this.itemMarginBottom;var w=r.yAxis.top-l.plotTop;r.visible?(f=f?f.plotY:r.yAxis.height,f+=w-.3*T):f=w+r.yAxis.height,b.push({target:f,size:T,item:r})}},this),L(b,l.plotHeight).forEach(function(r){r.item._legendItemPos&&(r.item._legendItemPos[1]=l.plotTop-l.spacing[0]+r.pos)})},m.prototype.render=function(){var l=this.chart,b=l.renderer,n=this.options,r=this.padding,f=this.getAllItems(),T=this.group,w=this.box;this.itemX=r,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=c(n.width,l.spacingBox.width-r);var D=l.spacingBox.width-2*r-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(D/=2),this.maxLegendWidth=this.widthOption||D,T||(this.group=T=b.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(T),this.scrollGroup=b.g().add(this.contentGroup)),this.renderTitle(),u(f,function(R,a){return(R.options&&R.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)}),n.reversed&&f.reverse(),this.allItems=f,this.display=D=!!f.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,f.forEach(this.renderItem,this),f.forEach(this.layoutItem,this),f=(this.widthOption||this.offsetWidth)+r;var d=this.lastItemY+this.lastLineHeight+this.titleHeight;d=this.handleOverflow(d),d+=r,w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(T)),l.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),0<f&&0<d&&w[w.placed?"animate":"attr"](w.crisp.call({},{x:0,y:0,width:f,height:d},w.strokeWidth())),w[D?"show":"hide"](),l.styledMode&&"none"===T.getStyle("display")&&(f=d=0),this.legendWidth=f,this.legendHeight=d,D&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")},m.prototype.align=function(l){void 0===l&&(l=this.chart.spacingBox);var b=this.chart,n=this.options,r=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<b.titleOffset[0]?r+=b.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<b.titleOffset[2]&&(r-=b.titleOffset[2]),r!==l.y&&(l=P(l,{y:r})),b.hasRendered||(this.group.placed=!1),this.group.align(P(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,l)},m.prototype.handleOverflow=function(l){var p,N,b=this,n=this.chart,r=n.renderer,f=this.options,T=f.y,w="top"===f.verticalAlign,D=this.padding,d=f.maxHeight,R=f.navigation,a=g(R.animation,!0),h=R.arrowSize||12,A=this.pages,j=this.allItems,z=function(U){"number"==typeof U?G.attr({height:U}):G&&(b.clipRect=G.destroy(),b.contentGroup.clip()),b.contentGroup.div&&(b.contentGroup.div.style.clip=U?"rect("+D+"px,9999px,"+(D+U)+"px,0)":"auto")},H=function(U){return b[U]=r.circle(0,0,1.3*h).translate(h/2,h/2).add(_),n.styledMode||b[U].attr("fill","rgba(0,0,0,0.0001)"),b[U]};T=n.spacingBox.height+(w?-T:T)-D;var _=this.nav,G=this.clipRect;return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(T/=2),d&&(T=Math.min(T,d)),A.length=0,l&&0<T&&l>T&&!1!==R.enabled?(this.clipHeight=p=Math.max(T-20-this.titleHeight-D,0),this.currentPage=g(this.currentPage,1),this.fullHeight=l,j.forEach(function(U,tt){var J=U._legendItemPos[1],ot=Math.round(U.legendItem.getBBox().height),at=A.length;(!at||J-A[at-1]>p&&(N||J)!==A[at-1])&&(A.push(N||J),at++),U.pageIx=at-1,N&&(j[tt-1].pageIx=at-1),tt===j.length-1&&J+ot-A[at-1]>p&&ot<=p&&(A.push(J),U.pageIx=at),J!==N&&(N=J)}),G||(G=b.clipRect=r.clipRect(0,D,9999,0),b.contentGroup.clip(G)),z(p),_||(this.nav=_=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,h,h).add(_),H("upTracker").on("click",function(){b.scroll(-1,a)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!n.styledMode&&R.style&&this.pager.css(R.style),this.pager.add(_),this.down=r.symbol("triangle-down",0,0,h,h).add(_),H("downTracker").on("click",function(){b.scroll(1,a)})),b.scroll(0),l=T):_&&(z(),this.nav=_.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l},m.prototype.scroll=function(l,b){var n=this,r=this.chart,f=this.pages,T=f.length,w=this.clipHeight,D=this.options.navigation,d=this.pager,R=this.padding,a=this.currentPage+l;a>T&&(a=T),0<a&&(void 0!==b&&W(b,r),this.nav.attr({translateX:R,translateY:w+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(h){h.attr({class:1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),d.attr({text:a+"/"+T}),[this.down,this.downTracker].forEach(function(h){h.attr({x:18+this.pager.getBBox().width,class:a===T?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),r.styledMode||(this.up.attr({fill:1===a?D.inactiveColor:D.activeColor}),this.upTracker.css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===T?D.inactiveColor:D.activeColor}),this.downTracker.css({cursor:a===T?"default":"pointer"})),this.scrollOffset=-f[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes(),l=K(g(b,r.renderer.globalAnimation,!0)),o(function(){k(n,"afterScroll",{currentPage:a})},l.duration))},m.prototype.setItemEvents=function(l,b,n){var r=this,f=r.chart.renderer.boxWrapper,T=l instanceof rt,w="highcharts-legend-"+(T?"point":"series")+"-active",D=r.chart.styledMode,d=function(R){r.allItems.forEach(function(a){l!==a&&[a].concat(a.linkedSeries||[]).forEach(function(h){h.setState(R,!T)})})};(n?[b,l.legendSymbol]:[l.legendGroup]).forEach(function(R){R&&R.on("mouseover",function(){l.visible&&d("inactive"),l.setState("hover"),l.visible&&f.addClass(w),D||b.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||b.css(P(l.visible?r.itemStyle:r.itemHiddenStyle)),d(""),f.removeClass(w),l.setState()}).on("click",function(a){var h=function(){l.setVisible&&l.setVisible(),d(l.visible?"inactive":"")};f.removeClass(w),a={browserEvent:a},l.firePointEvent?l.firePointEvent("legendItemClick",a,h):k(l,"legendItemClick",a,h)})})},m.prototype.createCheckboxForItem=function(l){l.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),C(l.checkbox,"click",function(b){k(l.series||l,"checkboxClick",{checked:b.target.checked,item:l},function(){l.select()})})},m}(),(/Trident\/7\.0/.test(et.navigator&&et.navigator.userAgent)||X)&&Q(it.prototype,"positionItem",function(m,l){var b=this,n=function(){l._legendItemPos&&m.call(b,l)};n(),b.bubbleLegend||setTimeout(n)}),it}),Mt($,"Core/Series/SeriesRegistry.js",[$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=Y.defaultOptions,it=rt.error,K=rt.extendClass,W=rt.merge;return function(I){function L(C,y){var S=Q.plotOptions||{},M=y.defaultOptions;y.prototype.pointClass||(y.prototype.pointClass=et),y.prototype.type=C,M&&(S[C]=M),I.seriesTypes[C]=y}I.seriesTypes=X.seriesTypes,I.getSeries=function(C,y){void 0===y&&(y={});var S=C.options.chart,M=I.seriesTypes[S=y.type||S.type||S.defaultSeriesType||""];return I||it(17,!0,C,{missingModuleFor:S}),"function"==typeof(S=new M).init&&S.init(C,y),S},I.registerSeriesType=L,I.seriesType=function(C,y,S,M,E){var v=Q.plotOptions||{};return v[C]=W(v[y=y||""],S),L(C,K(I.seriesTypes[y]||function(){},M)),I.seriesTypes[C].prototype.type=C,E&&(I.seriesTypes[C].prototype.pointClass=K(et,E)),I.seriesTypes[C]}}(F||(F={})),F}),Mt($,"Core/Chart/Chart.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/FormatUtilities.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/Legend.js"],$["Core/MSPointer.js"],$["Core/DefaultOptions.js"],$["Core/Pointer.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Time.js"],$["Core/Utilities.js"],$["Core/Renderer/HTML/AST.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M){var E=X.animate,v=X.animObject,k=X.setAnimation,O=et.numberFormat,P=rt.registerEventOptions,g=Q.charts,c=Q.doc,u=Q.marginNames,o=Q.svg,m=Q.win,l=W.defaultOptions,b=W.defaultTime,n=L.seriesTypes,r=S.addEvent,f=S.attr,T=S.cleanRecursively,w=S.createElement,D=S.css,d=S.defined,R=S.discardElement,a=S.erase,h=S.error,A=S.extend,j=S.find,z=S.fireEvent,H=S.getStyle,p=S.isArray,N=S.isNumber,_=S.isObject,G=S.isString,U=S.merge,tt=S.objectEach,J=S.pick,ot=S.pInt,at=S.relativeLength,ft=S.removeEvent,mt=S.splat,gt=S.syncTimeout,ut=S.uniqueKey;return X=function(){function ht(V,q,st){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(V,q,st)}return ht.chart=function(V,q,st){return new ht(V,q,st)},ht.prototype.getArgs=function(V,q,st){G(V)||V.nodeName?(this.renderTo=V,this.init(q,st)):this.init(V,q)},ht.prototype.init=function(V,q){var st=V.plotOptions||{};z(this,"init",{args:arguments},function(){var ct=U(l,V),dt=ct.chart;tt(ct.plotOptions,function(yt,xt){_(yt)&&(yt.tooltip=st[xt]&&U(st[xt].tooltip)||void 0)}),ct.tooltip.userOptions=V.chart&&V.chart.forExport&&V.tooltip.userOptions||V.tooltip,this.userOptions=V,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=q,this.isResizing=0,this.options=ct,this.axes=[],this.series=[],this.time=V.time&&Object.keys(V.time).length?new y(V.time):Q.time,this.numberFormatter=dt.numberFormatter||O,this.styledMode=dt.styledMode,this.hasCartesianSeries=dt.showAxes,this.index=g.length,g.push(this),Q.chartCount++,P(this,dt),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,z(this,"afterInit"),this.firstRender()})},ht.prototype.initSeries=function(V){var q=this.options.chart,st=n[q=V.type||q.type||q.defaultSeriesType];return st||h(17,!0,this,{missingModuleFor:q}),"function"==typeof(q=new st).init&&q.init(this,V),q},ht.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(V){V.points||V.data||!V.enabledDataSorting||V.setData(V.options.data,!1)})},ht.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(V,q){return V.linkedSeries.length||q.linkedSeries.length?q.linkedSeries.length-V.linkedSeries.length:0})},ht.prototype.orderSeries=function(V){var q=this.series;V=V||0;for(var st=q.length;V<st;++V)q[V]&&(q[V].index=V,q[V].name=q[V].getName())},ht.prototype.isInsidePlot=function(V,q,st){void 0===st&&(st={});var ct=this.inverted,dt=this.plotBox,yt=this.plotLeft,xt=this.plotTop,St=this.scrollablePlotBox,Et=0,kt=0;st.visiblePlotOnly&&this.scrollingContainer&&(Et=(kt=this.scrollingContainer).scrollLeft,kt=kt.scrollTop);var Ct=st.series;if(dt=st.visiblePlotOnly&&St||dt,V={x:St=st.inverted?q:V,y:q=st.inverted?V:q,isInsidePlot:!0},!st.ignoreX){var Ot=Ct&&(ct?Ct.yAxis:Ct.xAxis)||{pos:yt,len:1/0};(St=st.paneCoordinates?Ot.pos+St:yt+St)>=Math.max(Et+yt,Ot.pos)&&St<=Math.min(Et+yt+dt.width,Ot.pos+Ot.len)||(V.isInsidePlot=!1)}return!st.ignoreY&&V.isInsidePlot&&(ct=Ct&&(ct?Ct.xAxis:Ct.yAxis)||{pos:xt,len:1/0},(st=st.paneCoordinates?ct.pos+q:xt+q)>=Math.max(kt+xt,ct.pos)&&st<=Math.min(kt+xt+dt.height,ct.pos+ct.len)||(V.isInsidePlot=!1)),z(this,"afterIsInsidePlot",V),V.isInsidePlot},ht.prototype.redraw=function(V){z(this,"beforeRedraw");var q=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ct=this.pointer,dt=this.legend,yt=this.userOptions.legend,xt=this.renderer,St=xt.isHidden(),Et=[],kt=this.isDirtyBox,Ct=this.isDirtyLegend;for(this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&V,this),St&&this.temporaryDisplay(),this.layOutTitles(),V=st.length;V--;){var Ot=st[V];if(Ot.options.stacking||Ot.options.centerInCategory){var Pt=!0;if(Ot.isDirty){var Lt=!0;break}}}if(Lt)for(V=st.length;V--;)(Ot=st[V]).options.stacking&&(Ot.isDirty=!0);st.forEach(function(Tt){Tt.isDirty&&("point"===Tt.options.legendType?("function"==typeof Tt.updateTotals&&Tt.updateTotals(),Ct=!0):yt&&(yt.labelFormatter||yt.labelFormat)&&(Ct=!0)),Tt.isDirtyData&&z(Tt,"updatedData")}),Ct&&dt&&dt.options.enabled&&(dt.render(),this.isDirtyLegend=!1),Pt&&this.getStacks(),q.forEach(function(Tt){Tt.updateNames(),Tt.setScale()}),this.getMargins(),q.forEach(function(Tt){Tt.isDirty&&(kt=!0)}),q.forEach(function(Tt){var zt=Tt.min+","+Tt.max;Tt.extKey!==zt&&(Tt.extKey=zt,Et.push(function(){z(Tt,"afterSetExtremes",A(Tt.eventArgs,Tt.getExtremes())),delete Tt.eventArgs})),(kt||Pt)&&Tt.redraw()}),kt&&this.drawChartBox(),z(this,"predraw"),st.forEach(function(Tt){(kt||Tt.isDirty)&&Tt.visible&&Tt.redraw(),Tt.isDirtyData=!1}),ct&&ct.reset(!0),xt.draw(),z(this,"redraw"),z(this,"render"),St&&this.temporaryDisplay(!0),Et.forEach(function(Tt){Tt.call()})},ht.prototype.get=function(V){function q(yt){return yt.id===V||yt.options&&yt.options.id===V}for(var st=this.series,ct=j(this.axes,q)||j(this.series,q),dt=0;!ct&&dt<st.length;dt++)ct=j(st[dt].points||[],q);return ct},ht.prototype.getAxes=function(){var V=this,q=this.options,st=q.xAxis=mt(q.xAxis||{});q=q.yAxis=mt(q.yAxis||{}),z(this,"getAxes"),st.forEach(function(ct,dt){ct.index=dt,ct.isX=!0}),q.forEach(function(ct,dt){ct.index=dt}),st.concat(q).forEach(function(ct){new Y(V,ct)}),z(this,"afterGetAxes")},ht.prototype.getSelectedPoints=function(){return this.series.reduce(function(V,q){return q.getPointsCollection().forEach(function(st){J(st.selectedStaging,st.selected)&&V.push(st)}),V},[])},ht.prototype.getSelectedSeries=function(){return this.series.filter(function(V){return V.selected})},ht.prototype.setTitle=function(V,q,st){this.applyDescription("title",V),this.applyDescription("subtitle",q),this.applyDescription("caption",void 0),this.layOutTitles(st)},ht.prototype.applyDescription=function(V,q){var st=this,ct="title"===V?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};ct=this.options[V]=U(!this.styledMode&&{style:ct},this.options[V],q);var dt=this[V];dt&&q&&(this[V]=dt=dt.destroy()),ct&&!dt&&((dt=this.renderer.text(ct.text,0,0,ct.useHTML).attr({align:ct.align,class:"highcharts-"+V,zIndex:ct.zIndex||4}).add()).update=function(yt){st[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[V]](yt)},this.styledMode||dt.css(ct.style),this[V]=dt)},ht.prototype.layOutTitles=function(V){var q=[0,0,0],st=this.renderer,ct=this.spacingBox;["title","subtitle","caption"].forEach(function(yt){var kt,xt=this[yt],St=this.options[yt],Et=St.verticalAlign||"top";if(yt="title"===yt?"top"===Et?-3:0:"top"===Et?q[0]+2:0,xt){this.styledMode||(kt=St.style&&St.style.fontSize),kt=st.fontMetrics(kt,xt).b,xt.css({width:(St.width||ct.width+(St.widthAdjust||0))+"px"});var Ct=Math.round(xt.getBBox(St.useHTML).height);xt.align(A({y:"bottom"===Et?kt:yt+kt,height:Ct},St),!1,"spacingBox"),St.floating||("top"===Et?q[0]=Math.ceil(q[0]+Ct):"bottom"===Et&&(q[2]=Math.ceil(q[2]+Ct)))}},this),q[0]&&"top"===(this.options.title.verticalAlign||"top")&&(q[0]+=this.options.title.margin),q[2]&&"bottom"===this.options.caption.verticalAlign&&(q[2]+=this.options.caption.margin);var dt=!this.titleOffset||this.titleOffset.join(",")!==q.join(",");this.titleOffset=q,z(this,"afterLayOutTitles"),!this.isDirtyBox&&dt&&(this.isDirtyBox=this.isDirtyLegend=dt,this.hasRendered&&J(V,!0)&&this.isDirtyBox&&this.redraw())},ht.prototype.getChartSize=function(){var V=this.options.chart,q=V.width;V=V.height;var st=this.renderTo;d(q)||(this.containerWidth=H(st,"width")),d(V)||(this.containerHeight=H(st,"height")),this.chartWidth=Math.max(0,q||this.containerWidth||600),this.chartHeight=Math.max(0,at(V,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},ht.prototype.temporaryDisplay=function(V){var q=this.renderTo;if(V)for(;q&&q.style;)q.hcOrigStyle&&(D(q,q.hcOrigStyle),delete q.hcOrigStyle),q.hcOrigDetached&&(c.body.removeChild(q),q.hcOrigDetached=!1),q=q.parentNode;else for(;q&&q.style&&(c.body.contains(q)||q.parentNode||(q.hcOrigDetached=!0,c.body.appendChild(q)),("none"===H(q,"display",!1)||q.hcOricDetached)&&(q.hcOrigStyle={display:q.style.display,height:q.style.height,overflow:q.style.overflow},V={display:"block",overflow:"hidden"},q!==this.renderTo&&(V.height=0),D(q,V),q.offsetWidth||q.style.setProperty("display","block","important")),(q=q.parentNode)!==c.body););},ht.prototype.setClassName=function(V){this.container.className="highcharts-container "+(V||"")},ht.prototype.getContainer=function(){var ct,V=this.options,q=V.chart,st=ut(),dt=this.renderTo;dt||(this.renderTo=dt=q.renderTo),G(dt)&&(this.renderTo=dt=c.getElementById(dt)),dt||h(13,!0,this);var yt=ot(f(dt,"data-highcharts-chart"));N(yt)&&g[yt]&&g[yt].hasRendered&&g[yt].destroy(),f(dt,"data-highcharts-chart",this.index),dt.innerHTML=M.emptyHTML,q.skipClone||dt.offsetWidth||this.temporaryDisplay(),this.getChartSize(),yt=this.chartWidth;var xt=this.chartHeight;if(D(dt,{overflow:"hidden"}),this.styledMode||(ct=A({position:"relative",overflow:"hidden",width:yt+"px",height:xt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},q.style||{})),this.container=st=w("div",{id:st},ct,dt),this._cursor=st.style.cursor,this.renderer=new(q.renderer||!o?I.getRendererType(q.renderer):C)(st,yt,xt,void 0,q.forExport,V.exporting&&V.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(q.className),this.styledMode)for(var St in V.defs)this.renderer.definition(V.defs[St]);else this.renderer.setStyle(q.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")},ht.prototype.getMargins=function(V){var q=this.spacing,st=this.margin,ct=this.titleOffset;this.resetMargins(),ct[0]&&!d(st[0])&&(this.plotTop=Math.max(this.plotTop,ct[0]+q[0])),ct[2]&&!d(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ct[2]+q[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,q),z(this,"getMargins"),V||this.getAxisMargins()},ht.prototype.getAxisMargins=function(){var V=this,q=V.axisOffset=[0,0,0,0],st=V.colorAxis,ct=V.margin,dt=function(yt){yt.forEach(function(xt){xt.visible&&xt.getOffset()})};V.hasCartesianSeries?dt(V.axes):st&&st.length&&dt(st),u.forEach(function(yt,xt){d(ct[xt])||(V[yt]+=q[xt])}),V.setChartSize()},ht.prototype.reflow=function(V){var q=this,st=q.options.chart,ct=q.renderTo,dt=d(st.width)&&d(st.height),yt=st.width||H(ct,"width");st=st.height||H(ct,"height"),ct=V?V.target:m,delete q.pointer.chartPosition,!dt&&!q.isPrinting&&yt&&st&&(ct===m||ct===c)&&((yt!==q.containerWidth||st!==q.containerHeight)&&(S.clearTimeout(q.reflowTimeout),q.reflowTimeout=gt(function(){q.container&&q.setSize(void 0,void 0,!1)},V?100:0)),q.containerWidth=yt,q.containerHeight=st)},ht.prototype.setReflow=function(V){var q=this;!1===V||this.unbindReflow?!1===V&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=r(m,"resize",function(st){q.options&&q.reflow(st)}),r(this,"destroy",this.unbindReflow))},ht.prototype.setSize=function(V,q,st){var ct=this,dt=ct.renderer;ct.isResizing+=1,k(st,ct),st=dt.globalAnimation,ct.oldChartHeight=ct.chartHeight,ct.oldChartWidth=ct.chartWidth,void 0!==V&&(ct.options.chart.width=V),void 0!==q&&(ct.options.chart.height=q),ct.getChartSize(),ct.styledMode||(st?E:D)(ct.container,{width:ct.chartWidth+"px",height:ct.chartHeight+"px"},st),ct.setChartSize(!0),dt.setSize(ct.chartWidth,ct.chartHeight,st),ct.axes.forEach(function(yt){yt.isDirty=!0,yt.setScale()}),ct.isDirtyLegend=!0,ct.isDirtyBox=!0,ct.layOutTitles(),ct.getMargins(),ct.redraw(st),ct.oldChartHeight=null,z(ct,"resize"),gt(function(){ct&&z(ct,"endResize",null,function(){--ct.isResizing})},v(st).duration)},ht.prototype.setChartSize=function(V){var Et,kt,Ct,Ot,q=this.inverted,st=this.renderer,ct=this.chartWidth,dt=this.chartHeight,yt=this.options.chart,xt=this.spacing,St=this.clipOffset;this.plotLeft=Et=Math.round(this.plotLeft),this.plotTop=kt=Math.round(this.plotTop),this.plotWidth=Ct=Math.max(0,Math.round(ct-Et-this.marginRight)),this.plotHeight=Ot=Math.max(0,Math.round(dt-kt-this.marginBottom)),this.plotSizeX=q?Ot:Ct,this.plotSizeY=q?Ct:Ot,this.plotBorderWidth=yt.plotBorderWidth||0,this.spacingBox=st.spacingBox={x:xt[3],y:xt[0],width:ct-xt[3]-xt[1],height:dt-xt[0]-xt[2]},this.plotBox=st.plotBox={x:Et,y:kt,width:Ct,height:Ot},q=2*Math.floor(this.plotBorderWidth/2),ct=Math.ceil(Math.max(q,St[3])/2),dt=Math.ceil(Math.max(q,St[0])/2),this.clipBox={x:ct,y:dt,width:Math.floor(this.plotSizeX-Math.max(q,St[1])/2-ct),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(q,St[2])/2-dt))},V||(this.axes.forEach(function(Pt){Pt.setAxisSize(),Pt.setAxisTranslation()}),st.alignElements()),z(this,"afterSetChartSize",{skipAxes:V})},ht.prototype.resetMargins=function(){z(this,"resetMargins");var V=this,q=V.options.chart;["margin","spacing"].forEach(function(st){var ct=q[st],dt=_(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(yt,xt){V[st][xt]=J(q[st+yt],dt[xt])})}),u.forEach(function(st,ct){V[st]=J(V.margin[ct],V.spacing[ct])}),V.axisOffset=[0,0,0,0],V.clipOffset=[0,0,0,0]},ht.prototype.drawChartBox=function(){var ne,V=this.options.chart,q=this.renderer,st=this.chartWidth,ct=this.chartHeight,dt=this.styledMode,yt=this.plotBGImage,xt=V.backgroundColor,St=V.plotBackgroundColor,Et=V.plotBackgroundImage,kt=this.plotLeft,Ct=this.plotTop,Ot=this.plotWidth,Pt=this.plotHeight,Lt=this.plotBox,Tt=this.clipRect,zt=this.clipBox,Ht=this.chartBackground,Rt=this.plotBackground,Vt=this.plotBorder,Ft="animate";if(Ht||(this.chartBackground=Ht=q.rect().addClass("highcharts-background").add(),Ft="attr"),dt)var Zt=ne=Ht.strokeWidth();else ne=(Zt=V.borderWidth||0)+(V.shadow?8:0),xt={fill:xt||"none"},(Zt||Ht["stroke-width"])&&(xt.stroke=V.borderColor,xt["stroke-width"]=Zt),Ht.attr(xt).shadow(V.shadow);Ht[Ft]({x:ne/2,y:ne/2,width:st-ne-Zt%2,height:ct-ne-Zt%2,r:V.borderRadius}),Ft="animate",Rt||(Ft="attr",this.plotBackground=Rt=q.rect().addClass("highcharts-plot-background").add()),Rt[Ft](Lt),dt||(Rt.attr({fill:St||"none"}).shadow(V.plotShadow),Et&&(yt?(Et!==yt.attr("href")&&yt.attr("href",Et),yt.animate(Lt)):this.plotBGImage=q.image(Et,kt,Ct,Ot,Pt).add())),Tt?Tt.animate({width:zt.width,height:zt.height}):this.clipRect=q.clipRect(zt),Ft="animate",Vt||(Ft="attr",this.plotBorder=Vt=q.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),dt||Vt.attr({stroke:V.plotBorderColor,"stroke-width":V.plotBorderWidth||0,fill:"none"}),Vt[Ft](Vt.crisp({x:kt,y:Ct,width:Ot,height:Pt},-Vt.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")},ht.prototype.propFromSeries=function(){var ct,dt,yt,V=this,q=V.options.chart,st=V.options.series;["inverted","angular","polar"].forEach(function(xt){for(dt=n[q.type||q.defaultSeriesType],yt=q[xt]||dt&&dt.prototype[xt],ct=st&&st.length;!yt&&ct--;)(dt=n[st[ct].type])&&dt.prototype[xt]&&(yt=!0);V[xt]=yt})},ht.prototype.linkSeries=function(){var V=this,q=V.series;q.forEach(function(st){st.linkedSeries.length=0}),q.forEach(function(st){var ct=st.options.linkedTo;G(ct)&&(ct=":previous"===ct?V.series[st.index-1]:V.get(ct))&&ct.linkedParent!==st&&(ct.linkedSeries.push(st),st.linkedParent=ct,ct.enabledDataSorting&&st.setDataSortingOptions(),st.visible=J(st.options.visible,ct.options.visible,st.visible))}),z(this,"afterLinkSeries")},ht.prototype.renderSeries=function(){this.series.forEach(function(V){V.translate(),V.render()})},ht.prototype.renderLabels=function(){var V=this,q=V.options.labels;q.items&&q.items.forEach(function(st){var ct=A(q.style,st.style),dt=ot(ct.left)+V.plotLeft,yt=ot(ct.top)+V.plotTop+12;delete ct.left,delete ct.top,V.renderer.text(st.html,dt,yt).attr({zIndex:2}).css(ct).add()})},ht.prototype.render=function(){var V=this.axes,q=this.colorAxis,st=this.renderer,ct=this.options,dt=function(kt){kt.forEach(function(Ct){Ct.visible&&Ct.render()})},yt=0;this.setTitle(),this.legend=new it(this,ct.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),ct=this.plotWidth,V.some(function(kt){if(kt.horiz&&kt.visible&&kt.options.labels.enabled&&kt.series.length)return yt=21,!0});var xt=this.plotHeight=Math.max(this.plotHeight-yt,0);V.forEach(function(kt){kt.setScale()}),this.getAxisMargins();var St=1.1<ct/this.plotWidth,Et=1.05<xt/this.plotHeight;(St||Et)&&(V.forEach(function(kt){(kt.horiz&&St||!kt.horiz&&Et)&&kt.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?dt(V):q&&q.length&&dt(q),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},ht.prototype.addCredits=function(V){var q=this,st=U(!0,this.options.credits,V);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(m.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),q.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ct){q.credits=q.credits.destroy(),q.addCredits(ct)})},ht.prototype.destroy=function(){var yt,V=this,q=V.axes,st=V.series,ct=V.container,dt=ct&&ct.parentNode;for(z(V,"destroy"),V.renderer.forExport?a(g,V):g[V.index]=void 0,Q.chartCount--,V.renderTo.removeAttribute("data-highcharts-chart"),ft(V),yt=q.length;yt--;)q[yt]=q[yt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),yt=st.length;yt--;)st[yt]=st[yt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(xt){var St=V[xt];St&&St.destroy&&(V[xt]=St.destroy())}),ct&&(ct.innerHTML=M.emptyHTML,ft(ct),dt&&R(ct)),tt(V,function(xt,St){delete V[St]})},ht.prototype.firstRender=function(){var V=this,q=V.options;(!V.isReadyToRender||V.isReadyToRender())&&(V.getContainer(),V.resetMargins(),V.setChartSize(),V.propFromSeries(),V.getAxes(),(p(q.series)?q.series:[]).forEach(function(st){V.initSeries(st)}),V.linkSeries(),V.setSeriesData(),z(V,"beforeRender"),F&&(V.pointer=K.isRequired()?new K(V,q):new F(V,q)),V.render(),V.pointer.getChartPosition(),!V.renderer.imgCount&&!V.hasLoaded&&V.onload(),V.temporaryDisplay(!0))},ht.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(V){V&&void 0!==this.index&&V.apply(this,[this])},this),z(this,"load"),z(this,"render"),d(this.index)&&this.setReflow(this.options.chart.reflow),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},ht.prototype.warnIfA11yModuleNotLoaded=function(){var V=this;setTimeout(function(){var q=V&&V.options;!q||V.accessibility||q.accessibility&&!1===q.accessibility.enabled||h('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,V)},100)},ht.prototype.addSeries=function(V,q,st){var dt,ct=this;return V&&(q=J(q,!0),z(ct,"addSeries",{options:V},function(){dt=ct.initSeries(V),ct.isDirtyLegend=!0,ct.linkSeries(),dt.enabledDataSorting&&dt.setData(V.data,!1),z(ct,"afterAddSeries",{series:dt}),q&&ct.redraw(st)})),dt},ht.prototype.addAxis=function(V,q,st,ct){return this.createAxis(q?"xAxis":"yAxis",{axis:V,redraw:st,animation:ct})},ht.prototype.addColorAxis=function(V,q,st){return this.createAxis("colorAxis",{axis:V,redraw:q,animation:st})},ht.prototype.createAxis=function(V,q){return V=new Y(this,U(q.axis,{index:this[V].length,isX:"xAxis"===V})),J(q.redraw,!0)&&this.redraw(q.animation),V},ht.prototype.showLoading=function(V){var q=this,st=q.options,ct=st.loading,dt=function(){yt&&D(yt,{left:q.plotLeft+"px",top:q.plotTop+"px",width:q.plotWidth+"px",height:q.plotHeight+"px"})},yt=q.loadingDiv,xt=q.loadingSpan;yt||(q.loadingDiv=yt=w("div",{className:"highcharts-loading highcharts-loading-hidden"},null,q.container)),xt||(q.loadingSpan=xt=w("span",{className:"highcharts-loading-inner"},null,yt),r(q,"redraw",dt)),yt.className="highcharts-loading",M.setElementHTML(xt,J(V,st.lang.loading,"")),q.styledMode||(D(yt,A(ct.style,{zIndex:10})),D(xt,ct.labelStyle),q.loadingShown||(D(yt,{opacity:0,display:""}),E(yt,{opacity:ct.style.opacity||.5},{duration:ct.showDuration||0}))),q.loadingShown=!0,dt()},ht.prototype.hideLoading=function(){var V=this.options,q=this.loadingDiv;q&&(q.className="highcharts-loading highcharts-loading-hidden",this.styledMode||E(q,{opacity:0},{duration:V.loading.hideDuration||100,complete:function(){D(q,{display:"none"})}})),this.loadingShown=!1},ht.prototype.update=function(V,q,st,ct){var Et,kt,dt=this,yt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},xt=V.isResponsiveOptions,St=[];z(dt,"update",{options:V}),xt||dt.setResponsive(!1,!0),V=T(V,dt.options),dt.userOptions=U(dt.userOptions,V);var Ct=V.chart;if(Ct){if(U(!0,dt.options.chart,Ct),"className"in Ct&&dt.setClassName(Ct.className),"reflow"in Ct&&dt.setReflow(Ct.reflow),"inverted"in Ct||"polar"in Ct||"type"in Ct){dt.propFromSeries();var Ot=!0}"alignTicks"in Ct&&(Ot=!0),"events"in Ct&&P(this,Ct),tt(Ct,function(Pt,Lt){-1!==dt.propsRequireUpdateSeries.indexOf("chart."+Lt)&&(Et=!0),-1!==dt.propsRequireDirtyBox.indexOf(Lt)&&(dt.isDirtyBox=!0),-1!==dt.propsRequireReflow.indexOf(Lt)&&(xt?dt.isDirtyBox=!0:kt=!0)}),!dt.styledMode&&Ct.style&&dt.renderer.setStyle(dt.options.chart.style||{})}!dt.styledMode&&V.colors&&(this.options.colors=V.colors),V.time&&(this.time===b&&(this.time=new y(V.time)),U(!0,dt.options.time,V.time)),tt(V,function(Pt,Lt){dt[Lt]&&"function"==typeof dt[Lt].update?dt[Lt].update(Pt,!1):"function"==typeof dt[yt[Lt]]?dt[yt[Lt]](Pt):"colors"!==Lt&&-1===dt.collectionsWithUpdate.indexOf(Lt)&&U(!0,dt.options[Lt],V[Lt]),"chart"!==Lt&&-1!==dt.propsRequireUpdateSeries.indexOf(Lt)&&(Et=!0)}),this.collectionsWithUpdate.forEach(function(Pt){if(V[Pt]){var Lt=[];dt[Pt].forEach(function(Tt,zt){Tt.options.isInternal||Lt.push(J(Tt.options.index,zt))}),mt(V[Pt]).forEach(function(Tt,zt){var Rt,Ht=d(Tt.id);Ht&&(Rt=dt.get(Tt.id)),!Rt&&dt[Pt]&&(Rt=dt[Pt][Lt?Lt[zt]:zt])&&Ht&&d(Rt.options.id)&&(Rt=void 0),Rt&&Rt.coll===Pt&&(Rt.update(Tt,!1),st&&(Rt.touched=!0)),!Rt&&st&&dt.collectionsWithInit[Pt]&&(dt.collectionsWithInit[Pt][0].apply(dt,[Tt].concat(dt.collectionsWithInit[Pt][1]||[]).concat([!1])).touched=!0)}),st&&dt[Pt].forEach(function(Tt){Tt.touched||Tt.options.isInternal?delete Tt.touched:St.push(Tt)})}}),St.forEach(function(Pt){Pt.chart&&Pt.remove&&Pt.remove(!1)}),Ot&&dt.axes.forEach(function(Pt){Pt.update({},!1)}),Et&&dt.getSeriesOrderByLinks().forEach(function(Pt){Pt.chart&&Pt.update({},!1)},this),Ot=Ct&&Ct.width,Ct=Ct&&(G(Ct.height)?at(Ct.height,Ot||dt.chartWidth):Ct.height),kt||N(Ot)&&Ot!==dt.chartWidth||N(Ct)&&Ct!==dt.chartHeight?dt.setSize(Ot,Ct,ct):J(q,!0)&&dt.redraw(ct),z(dt,"afterUpdate",{options:V,redraw:q,animation:ct})},ht.prototype.setSubtitle=function(V,q){this.applyDescription("subtitle",V),this.layOutTitles(q)},ht.prototype.setCaption=function(V,q){this.applyDescription("caption",V),this.layOutTitles(q)},ht.prototype.showResetZoom=function(){function V(){q.zoomOut()}var q=this,st=l.lang,ct=q.options.chart.resetZoomButton,dt=ct.theme,yt="chart"===ct.relativeTo||"spacingBox"===ct.relativeTo?null:"scrollablePlotBox";z(this,"beforeShowResetZoom",null,function(){q.resetZoomButton=q.renderer.button(st.resetZoom,null,null,V,dt).attr({align:ct.position.align,title:st.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(ct.position,!1,yt)}),z(this,"afterShowResetZoom")},ht.prototype.zoomOut=function(){z(this,"selection",{resetSelection:!0},this.zoom)},ht.prototype.zoom=function(V){var yt,q=this,st=q.pointer,ct=q.inverted?st.mouseDownX:st.mouseDownY,dt=!1;!V||V.resetSelection?(q.axes.forEach(function(St){yt=St.zoom()}),st.initiated=!1):V.xAxis.concat(V.yAxis).forEach(function(St){var Et=St.axis,kt=q.inverted?Et.left:Et.top,Ot=Et.isXAxis,Pt=!1;(!Ot&&ct>=kt&&ct<=(q.inverted?kt+Et.width:kt+Et.height)||Ot||!d(ct))&&(Pt=!0),st[Ot?"zoomX":"zoomY"]&&Pt&&(yt=Et.zoom(St.min,St.max),Et.displayBtn&&(dt=!0))});var xt=q.resetZoomButton;dt&&!xt?q.showResetZoom():!dt&&_(xt)&&(q.resetZoomButton=xt.destroy()),yt&&q.redraw(J(q.options.chart.animation,V&&V.animation,100>q.pointCount))},ht.prototype.pan=function(V,q){var st=this,ct=st.hoverPoints;q="object"==typeof q?q:{enabled:q,type:"x"};var dt=st.options.chart,yt=st.options.mapNavigation&&st.options.mapNavigation.enabled;dt&&dt.panning&&(dt.panning=q);var St,xt=q.type;z(this,"pan",{originalEvent:V},function(){ct&&ct.forEach(function(Ct){Ct.setState()});var Et=st.xAxis;"xy"===xt?Et=Et.concat(st.yAxis):"y"===xt&&(Et=st.yAxis);var kt={};Et.forEach(function(Ct){if(Ct.options.panningEnabled&&!Ct.options.isInternal){var Ot=Ct.horiz,Pt=V[Ot?"chartX":"chartY"],Lt=st[Ot=Ot?"mouseDownX":"mouseDownY"],Tt=Ct.minPointOffset||0,zt=Ct.reversed&&!st.inverted||!Ct.reversed&&st.inverted?-1:1,Ht=Ct.getExtremes(),Rt=Ct.toValue(Lt-Pt,!0)+Tt*zt,Vt=Ct.toValue(Lt+Ct.len-Pt,!0)-(Tt*zt||Ct.isXAxis&&Ct.pointRangePadding||0),ne=Vt<Rt;zt=Ct.hasVerticalPanning(),Lt=ne?Vt:Rt,Rt=ne?Rt:Vt;var Ft=Ct.panningState;!zt||Ct.isXAxis||Ft&&!Ft.isDirty||Ct.series.forEach(function(Zt){var ue=Zt.getProcessedData(!0);ue=Zt.getExtremes(ue.yData,!0),Ft||(Ft={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),N(ue.dataMin)&&N(ue.dataMax)&&(Ft.startMin=Math.min(J(Zt.options.threshold,1/0),ue.dataMin,Ft.startMin),Ft.startMax=Math.max(J(Zt.options.threshold,-1/0),ue.dataMax,Ft.startMax))}),zt=Math.min(J(Ft&&Ft.startMin,Ht.dataMin),Tt?Ht.min:Ct.toValue(Ct.toPixels(Ht.min)-Ct.minPixelPadding)),Vt=Math.max(J(Ft&&Ft.startMax,Ht.dataMax),Tt?Ht.max:Ct.toValue(Ct.toPixels(Ht.max)+Ct.minPixelPadding)),Ct.panningState=Ft,Ct.isOrdinal||(0<(Tt=zt-Lt)&&(Rt+=Tt,Lt=zt),0<(Tt=Rt-Vt)&&(Rt=Vt,Lt-=Tt),Ct.series.length&&Lt!==Ht.min&&Rt!==Ht.max&&Lt>=zt&&Rt<=Vt&&(Ct.setExtremes(Lt,Rt,!1,!1,{trigger:"pan"}),st.resetZoomButton||yt||Lt===zt||Rt===Vt||!xt.match("y")||(st.showResetZoom(),Ct.displayBtn=!1),St=!0),kt[Ot]=Pt)}}),tt(kt,function(Ct,Ot){st[Ot]=Ct}),St&&st.redraw(!1),D(st.container,{cursor:"move"})})},ht}(),A(X.prototype,{callbacks:[],collectionsWithInit:{xAxis:[X.prototype.addAxis,[!0]],yAxis:[X.prototype.addAxis,[!1]],series:[X.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),X}),Mt($,"Core/Legend/LegendSymbol.js",[$["Core/Utilities.js"]],function(X){var rt,Q,Y=X.merge,et=X.pick;return(Q=rt||(rt={})).drawLineMarker=function(it){var K=this.options,W=it.symbolWidth,F=it.symbolHeight,I=F/2,L=this.chart.renderer,C=this.legendGroup;it=it.baseline-Math.round(.3*it.fontMetrics.b);var y={},S=K.marker;this.chart.styledMode||(y={"stroke-width":K.lineWidth||0},K.dashStyle&&(y.dashstyle=K.dashStyle)),this.legendLine=L.path([["M",0,it],["L",W,it]]).addClass("highcharts-graph").attr(y).add(C),S&&!1!==S.enabled&&W&&(K=Math.min(et(S.radius,I),I),0===this.symbol.indexOf("url")&&(S=Y(S,{width:F,height:F}),K=0),this.legendSymbol=W=L.symbol(this.symbol,W/2-K,it-K,2*K,2*K,S).addClass("highcharts-point").add(C),W.isMarker=!0)},Q.drawRectangle=function(it,K){var W=it.symbolHeight,F=it.options.squareSymbol;K.legendSymbol=this.chart.renderer.rect(F?(it.symbolWidth-W)/2:0,it.baseline-W+1,F?W:it.symbolWidth,W,et(it.options.symbolRadius,W/2)).addClass("highcharts-point").attr({zIndex:3}).add(K.legendGroup)},rt}),Mt($,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,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:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Mt($,"Core/Series/Series.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Point.js"],$["Core/Series/SeriesDefaults.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I){var L=X.animObject,C=X.setAnimation,y=Y.defaultOptions,S=et.registerEventOptions,M=rt.hasTouch,E=rt.svg,v=rt.win,k=W.seriesTypes,O=I.addEvent,P=I.arrayMax,g=I.arrayMin,c=I.clamp,u=I.cleanRecursively,o=I.correctFloat,m=I.defined,l=I.erase,b=I.error,n=I.extend,r=I.find,f=I.fireEvent,T=I.getNestedProperty,w=I.isArray,D=I.isNumber,d=I.isString,R=I.merge,a=I.objectEach,h=I.pick,A=I.removeEvent,j=I.splat,z=I.syncTimeout;return X=function(){function H(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return H.prototype.init=function(p,N){f(this,"init",{options:N});var _=this,G=p.series;this.eventsToUnbind=[],_.chart=p,_.options=_.setOptions(N),N=_.options,_.linkedSeries=[],_.bindAxes(),n(_,{name:N.name,state:"",visible:!1!==N.visible,selected:!0===N.selected}),S(this,N);var tt,U=N.events;(U&&U.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(p.runTrackerClick=!0),_.getColor(),_.getSymbol(),_.parallelArrays.forEach(function(J){_[J+"Data"]||(_[J+"Data"]=[])}),_.isCartesian&&(p.hasCartesianSeries=!0),G.length&&(tt=G[G.length-1]),_._i=h(tt&&tt._i,-1)+1,_.opacity=_.options.opacity,p.orderSeries(this.insert(G)),N.dataSorting&&N.dataSorting.enabled?_.setDataSortingOptions():_.points||_.data||_.setData(N.data,!1),f(this,"afterInit")},H.prototype.is=function(p){return k[p]&&this instanceof k[p]},H.prototype.insert=function(p){var _,N=this.options.index;if(D(N)){for(_=p.length;_--;)if(N>=h(p[_].options.index,p[_]._i)){p.splice(_+1,0,this);break}-1===_&&p.unshift(this),_+=1}else p.push(this);return h(_,p.length-1)},H.prototype.bindAxes=function(){var G,p=this,N=p.options,_=p.chart;f(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(U){var tt=0;_[U].forEach(function(J){G=J.options,(N[U]===tt&&!G.isInternal||void 0!==N[U]&&N[U]===G.id||void 0===N[U]&&0===G.index)&&(p.insert(J.series),p[U]=J,J.isDirty=!0),G.isInternal||tt++}),p[U]||p.optionalAxis===U||b(18,!0,_)})}),f(this,"afterBindAxes")},H.prototype.updateParallelArrays=function(p,N){var _=p.series,G=arguments,U=D(N)?function(tt){var J="y"===tt&&_.toYData?_.toYData(p):p[tt];_[tt+"Data"][N]=J}:function(tt){Array.prototype[N].apply(_[tt+"Data"],Array.prototype.slice.call(G,2))};_.parallelArrays.forEach(U)},H.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},H.prototype.autoIncrement=function(p){var J,N=this.options,_=N.pointIntervalUnit,G=N.relativeXValue,U=this.chart.time,tt=this.xIncrement;return tt=h(tt,N.pointStart,0),this.pointInterval=J=h(this.pointInterval,N.pointInterval,1),G&&D(p)&&(J*=p),_&&(N=new U.Date(tt),"day"===_?U.set("Date",N,U.get("Date",N)+J):"month"===_?U.set("Month",N,U.get("Month",N)+J):"year"===_&&U.set("FullYear",N,U.get("FullYear",N)+J),J=N.getTime()-tt),G&&D(p)?tt+J:(this.xIncrement=tt+J,tt)},H.prototype.setDataSortingOptions=function(){var p=this.options;n(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),m(p.pointRange)||(p.pointRange=1)},H.prototype.setOptions=function(p){var N=this.chart,_=N.options,G=_.plotOptions,U=N.userOptions||{};p=R(p),N=N.styledMode;var tt={plotOptions:G,userOptions:p};f(this,"setOptions",tt);var J=tt.plotOptions[this.type],ot=U.plotOptions||{};return this.userOptions=tt.userOptions,U=R(J,G.series,U.plotOptions&&U.plotOptions[this.type],p),this.tooltipOptions=R(y.tooltip,y.plotOptions.series&&y.plotOptions.series.tooltip,y.plotOptions[this.type].tooltip,_.tooltip.userOptions,G.series&&G.series.tooltip,G[this.type].tooltip,p.tooltip),this.stickyTracking=h(p.stickyTracking,ot[this.type]&&ot[this.type].stickyTracking,ot.series&&ot.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||U.stickyTracking),null===J.marker&&delete U.marker,this.zoneAxis=U.zoneAxis,G=this.zones=(U.zones||[]).slice(),!U.negativeColor&&!U.negativeFillColor||U.zones||(_={value:U[this.zoneAxis+"Threshold"]||U.threshold||0,className:"highcharts-negative"},N||(_.color=U.negativeColor,_.fillColor=U.negativeFillColor),G.push(_)),G.length&&m(G[G.length-1].value)&&G.push(N?{}:{color:this.color,fillColor:this.fillColor}),f(this,"afterSetOptions",{options:U}),U},H.prototype.getName=function(){return h(this.options.name,"Series "+(this.index+1))},H.prototype.getCyclic=function(p,N,_){var G=this.chart,U=this.userOptions,tt=p+"Index",J=p+"Counter",ot=_?_.length:h(G.options.chart[p+"Count"],G[p+"Count"]);if(!N){var at=h(U[tt],U["_"+tt]);m(at)||(G.series.length||(G[J]=0),U["_"+tt]=at=G[J]%ot,G[J]+=1),_&&(N=_[at])}void 0!==at&&(this[tt]=at),this[p]=N},H.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||y.plotOptions[this.type].color,this.chart.options.colors)},H.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},H.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},H.prototype.findPointIndex=function(p,N){var J,ot,_=p.id,G=p.x,U=this.points,tt=this.options.dataSorting;if(_)(tt=this.chart.get(_))instanceof it&&(J=tt);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(J=function(ft){return!ft.touched&&ft.index===p.index},tt&&tt.matchByName?J=function(ft){return!ft.touched&&ft.name===p.name}:this.options.relativeXValue&&(J=function(ft){return!ft.touched&&ft.options.x===p.x}),!(J=r(U,J))))return;if(J){var at=J&&J.index;void 0!==at&&(ot=!0)}return void 0===at&&D(G)&&(at=this.xData.indexOf(G,N)),-1!==at&&void 0!==at&&this.cropped&&(at=at>=this.cropStart?at-this.cropStart:at),!ot&&D(at)&&U[at]&&U[at].touched&&(at=void 0),at},H.prototype.updateData=function(p,N){var at,ft,mt,_=this.options,G=_.dataSorting,U=this.points,tt=[],J=this.requireSorting,ot=p.length===U.length,gt=!0;if(this.xIncrement=null,p.forEach(function(ut,ht){var V=m(ut)&&this.pointClass.prototype.optionsToObject.call({series:this},ut)||{};V.id||D(V.x)?(-1===(V=this.findPointIndex(V,mt))||void 0===V?tt.push(ut):U[V]&&ut!==_.data[V]?(U[V].update(ut,!1,null,!1),U[V].touched=!0,J&&(mt=V+1)):U[V]&&(U[V].touched=!0),(!ot||ht!==V||G&&G.enabled||this.hasDerivedData)&&(at=!0)):tt.push(ut)},this),at)for(p=U.length;p--;)(ft=U[p])&&!ft.touched&&ft.remove&&ft.remove(!1,N);else!ot||G&&G.enabled?gt=!1:(p.forEach(function(ut,ht){ut!==U[ht].y&&U[ht].update&&U[ht].update(ut,!1,null,!1)}),tt.length=0);return U.forEach(function(ut){ut&&(ut.touched=!1)}),!!gt&&(tt.forEach(function(ut){this.addPoint(ut,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=P(this.xData),this.autoIncrement()),!0)},H.prototype.setData=function(p,N,_,G){var U=this,tt=U.points,J=tt&&tt.length||0,ot=U.options,at=U.chart,ft=ot.dataSorting,mt=U.xAxis,gt=ot.turboThreshold,ut=this.xData,ht=this.yData,V=U.pointArrayMap;V=V&&V.length;var st,q=ot.keys,ct=0,dt=1,yt=null;if(!at.options.chart.allowMutatingData){ot.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data;var xt=R(!0,p)}if(xt=(p=xt||p||[]).length,N=h(N,!0),ft&&ft.enabled&&(p=this.sortData(p)),at.options.chart.allowMutatingData&&!1!==G&&xt&&J&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.isSeriesBoosting&&(st=this.updateData(p,_)),!st){if(U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(St){U[St+"Data"].length=0}),gt&&xt>gt)if(yt=U.getFirstValidPoint(p),D(yt))for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else if(w(yt))if(V)if(yt.length===V)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[0],ht[_]=G.slice(1,V+1);else if(q&&(ct=0<=(ct=q.indexOf("x"))?ct:0,dt=0<=(dt=q.indexOf("y"))?dt:1),1===yt.length&&(dt=0),ct===dt)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_][dt];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[ct],ht[_]=G[dt];else b(12,!1,at);else for(_=0;_<xt;_++)void 0!==p[_]&&(U.pointClass.prototype.applyOptions.apply(G={series:U},[p[_]]),U.updateParallelArrays(G,_));for(ht&&d(ht[0])&&b(14,!0,at),U.data=[],U.options.data=U.userOptions.data=p,_=J;_--;)tt[_]&&tt[_].destroy&&tt[_].destroy();mt&&(mt.minRange=mt.userMinRange),U.isDirty=at.isDirtyBox=!0,U.isDirtyData=!!tt,_=!1}"point"===ot.legendType&&(this.processData(),this.generatePoints()),N&&at.redraw(_)},H.prototype.sortData=function(p){var N=this,_=N.options.dataSorting.sortKey||"y",G=function(U,tt){return m(tt)&&U.pointClass.prototype.optionsToObject.call({series:U},tt)||{}};return p.forEach(function(U,tt){p[tt]=G(N,U),p[tt].index=tt},this),p.concat().sort(function(U,tt){return U=T(_,U),(tt=T(_,tt))<U?-1:tt>U?1:0}).forEach(function(U,tt){U.x=tt},this),N.linkedSeries&&N.linkedSeries.forEach(function(U){var tt=U.options,J=tt.data;tt.dataSorting&&tt.dataSorting.enabled||!J||(J.forEach(function(ot,at){J[at]=G(U,ot),p[at]&&(J[at].x=p[at].x,J[at].index=at)}),U.setData(J,!1))}),p},H.prototype.getProcessedData=function(p){var N=this.xAxis,_=this.options,G=_.cropThreshold,U=p||this.getExtremesFromAll||_.getExtremesFromAll,tt=this.isCartesian;p=N&&N.val2lin,_=!(!N||!N.logarithmic);var J=0,ot=this.xData,at=this.yData,ft=this.requireSorting,mt=!1,gt=ot.length;if(N){var ut=(mt=N.getExtremes()).min,ht=mt.max;mt=!(!N.categories||N.names.length)}if(tt&&this.sorted&&!U&&(!G||gt>G||this.forceCrop))if(ot[gt-1]<ut||ot[0]>ht)ot=[],at=[];else if(this.yData&&(ot[0]<ut||ot[gt-1]>ht)){var V=this.cropData(this.xData,this.yData,ut,ht);ot=V.xData,at=V.yData,J=V.start,V=!0}for(G=ot.length||1;--G;)if(0<(N=_?p(ot[G])-p(ot[G-1]):ot[G]-ot[G-1])&&(void 0===q||N<q))var q=N;else 0>N&&ft&&!mt&&(b(15,!1,this.chart),ft=!1);return{xData:ot,yData:at,cropped:V,cropStart:J,closestPointRange:q}},H.prototype.processData=function(p){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!p)return!1;p=this.getProcessedData(),this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,f(this,"afterProcessData")},H.prototype.cropData=function(p,N,_,G,U){var J,tt=p.length,ot=0,at=tt;for(U=h(U,this.cropShoulder),J=0;J<tt;J++)if(p[J]>=_){ot=Math.max(0,J-U);break}for(_=J;_<tt;_++)if(p[_]>G){at=_+U;break}return{xData:p.slice(ot,at),yData:N.slice(ot,at),start:ot,end:at}},H.prototype.generatePoints=function(){var p=this.options,N=this.processedData||p.data,_=this.processedXData,G=this.processedYData,U=this.pointClass,tt=_.length,J=this.cropStart||0,ot=this.hasGroupedData,at=p.keys,ft=[];p=p.dataGrouping&&p.dataGrouping.groupAll?J:0;var mt,gt,ut=this.data;if(!ut&&!ot){var ht=[];ht.length=N.length,ut=this.data=ht}for(at&&ot&&(this.options.keys=!1),gt=0;gt<tt;gt++){if(ht=J+gt,ot){var V=(new U).init(this,[_[gt]].concat(j(G[gt])));V.dataGroup=this.groupMap[p+gt],V.dataGroup.options&&(V.options=V.dataGroup.options,n(V,V.dataGroup.options),delete V.dataLabels)}else(V=ut[ht])||void 0===N[ht]||(ut[ht]=V=(new U).init(this,N[ht],_[gt]));V&&(V.index=ot?p+gt:ht,ft[gt]=V)}if(this.options.keys=at,ut&&(tt!==(mt=ut.length)||ot))for(gt=0;gt<mt;gt++)gt!==J||ot||(gt+=tt),ut[gt]&&(ut[gt].destroyElements(),ut[gt].plotX=void 0);this.data=ut,this.points=ft,f(this,"afterGeneratePoints")},H.prototype.getXExtremes=function(p){return{min:g(p),max:P(p)}},H.prototype.getExtremes=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.processedXData||this.xData,tt=[],J=this.requireSorting?this.cropShoulder:0;G=!!G&&G.positiveValuesOnly;var ot,at=0,ft=0,mt=0,gt=(p=p||this.stackedYData||this.processedYData||[]).length;if(_){var ut=_.getExtremes();at=ut.min,ft=ut.max}for(ot=0;ot<gt;ot++){var ht=U[ot],V=(D(ut=p[ot])||w(ut))&&(ut.length||0<ut||!G);if(ht=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!_||(U[ot+J]||ht)>=at&&(U[ot-J]||ht)<=ft,V&&ht)if(V=ut.length)for(;V--;)D(ut[V])&&(tt[mt++]=ut[V]);else tt[mt++]=ut}return p={activeYData:tt,dataMin:g(tt),dataMax:P(tt)},f(this,"afterGetExtremes",{dataExtremes:p}),p},H.prototype.applyExtremes=function(){var p=this.getExtremes();return this.dataMin=p.dataMin,this.dataMax=p.dataMax,p},H.prototype.getFirstValidPoint=function(p){for(var N=p.length,_=0,G=null;null===G&&_<N;)G=p[_],_++;return G},H.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var ht,V,p=this.options,N=p.stacking,_=this.xAxis,G=_.categories,U=this.enabledDataSorting,tt=this.yAxis,J=this.points,ot=J.length,at=this.pointPlacementToXValue(),ft=!!at,mt=p.threshold,gt=p.startFromThreshold?mt:0,ut=this.zoneAxis||"y",q=Number.MAX_VALUE;for(ht=0;ht<ot;ht++){var st=J[ht],ct=st.x,dt=void 0,yt=void 0,xt=st.y,St=st.low,Et=N&&tt.stacking&&tt.stacking.stacks[(this.negStacks&&xt<(gt?0:mt)?"-":"")+this.stackKey];if((tt.positiveValuesOnly&&!tt.validatePositiveValue(xt)||_.positiveValuesOnly&&!_.validatePositiveValue(ct))&&(st.isNull=!0),st.plotX=V=o(c(_.translate(ct,0,0,0,1,at,"flags"===this.type),-1e5,1e5)),N&&this.visible&&Et&&Et[ct]){var kt=this.getStackIndicator(kt,ct,this.index);st.isNull||(yt=(dt=Et[ct]).points[kt.key])}if(w(yt)&&(xt=yt[1],(St=yt[0])===gt&&kt.key===Et[ct].base&&(St=h(D(mt)&&mt,tt.min)),tt.positiveValuesOnly&&0>=St&&(St=null),st.total=st.stackTotal=dt.total,st.percentage=dt.total&&st.y/dt.total*100,st.stackY=xt,this.irregularWidths||dt.setOffset(this.pointXOffset||0,this.barW||0)),st.yBottom=m(St)?c(tt.translate(St,0,1,0,1),-1e5,1e5):null,this.dataModify&&(xt=this.dataModify.modifyValue(xt,ht)),st.plotY=void 0,D(xt)&&void 0!==(dt=tt.translate(xt,!1,!0,!1,!0))&&(st.plotY=c(dt,-1e5,1e5)),st.isInside=this.isPointInside(st),st.clientX=ft?o(_.translate(ct,0,0,0,1,at)):V,st.negative=st[ut]<(p[ut+"Threshold"]||mt||0),st.category=h(G&&G[st.x],st.x),!st.isNull&&!1!==st.visible){void 0!==Ct&&(q=Math.min(q,Math.abs(V-Ct)));var Ct=V}st.zone=this.zones.length?st.getZone():void 0,!st.graphic&&this.group&&U&&(st.isNew=!0)}this.closestPointRangePx=q,f(this,"afterTranslate")},H.prototype.getValidPoints=function(p,N,_){var G=this.chart;return(p||this.points||[]).filter(function(U){return!(N&&!G.isInsidePlot(U.plotX,U.plotY,{inverted:G.inverted}))&&!1!==U.visible&&(_||!U.isNull)})},H.prototype.getClipBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis,G=R(p.clipBox);return N&&N.len!==p.plotSizeX&&(G.width=N.len),_&&_.len!==p.plotSizeY&&(G.height=_.len),G},H.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)},H.prototype.setClip=function(){var p=this.chart,N=this.group,_=this.markerGroup,G=p.sharedClips;p=p.renderer;var U=this.getClipBox(),tt=this.getSharedClipKey(),J=G[tt];J?J.animate(U):G[tt]=J=p.clipRect(U),N&&N.clip(!1===this.options.clip?void 0:J),_&&_.clip()},H.prototype.animate=function(p){var N=this.chart,_=this.group,G=this.markerGroup,U=N.inverted,tt=L(this.options.animation),J=[this.getSharedClipKey(),tt.duration,tt.easing,tt.defer].join(),ot=N.sharedClips[J],at=N.sharedClips[J+"m"];if(p&&_)tt=this.getClipBox(),ot?ot.attr("height",tt.height):(tt.width=0,U&&(tt.x=N.plotHeight),ot=N.renderer.clipRect(tt),N.sharedClips[J]=ot,at=N.renderer.clipRect({x:U?(N.plotSizeX||0)+99:-99,y:U?-N.plotLeft:-N.plotTop,width:99,height:U?N.chartWidth:N.chartHeight}),N.sharedClips[J+"m"]=at),_.clip(ot),G&&G.clip(at);else if(ot&&!ot.hasClass("highcharts-animating")){N=this.getClipBox();var ft=tt.step;G&&G.element.childNodes.length&&(tt.step=function(mt,gt){ft&&ft.apply(gt,arguments),at&&at.element&&at.attr(gt.prop,"width"===gt.prop?mt+99:mt)}),ot.addClass("highcharts-animating").animate(N,tt)}},H.prototype.afterAnimate=function(){var p=this;this.setClip(),a(this.chart.sharedClips,function(N,_,G){N&&!p.chart.container.querySelector('[clip-path="url(#'+N.id+')"]')&&(N.destroy(),delete G[_])}),this.finishedAnimating=!0,f(this,"afterAnimate")},H.prototype.drawPoints=function(){var J,ot,p=this.points,N=this.chart,_=this.options.marker,G=this[this.specialGroup]||this.markerGroup,U=this.xAxis,tt=h(_.enabled,!(U&&!U.isRadial)||null,this.closestPointRangePx>=_.enabledThreshold*_.radius);if(!1!==_.enabled||this._hasPointMarkers)for(J=0;J<p.length;J++){var at=p[J],ft=(ot=at.graphic)?"animate":"attr",mt=at.marker||{},gt=!!at.marker;if((tt&&void 0===mt.enabled||mt.enabled)&&!at.isNull&&!1!==at.visible){var ut=h(mt.symbol,this.symbol,"rect"),ht=this.markerAttribs(at,at.selected&&"select");this.enabledDataSorting&&(at.startXPos=U.reversed?-(ht.width||0):U.width);var V=!1!==at.isInside;ot?ot[V?"show":"hide"](V).animate(ht):V&&(0<(ht.width||0)||at.hasImage)&&(at.graphic=ot=N.renderer.symbol(ut,ht.x,ht.y,ht.width,ht.height,gt?mt:_).add(G),this.enabledDataSorting&&N.hasRendered&&(ot.attr({x:at.startXPos}),ft="animate")),ot&&"animate"===ft&&ot[V?"show":"hide"](V).animate(ht),ot&&!N.styledMode&&ot[ft](this.pointAttribs(at,at.selected&&"select")),ot&&ot.addClass(at.getClassName(),!0)}else ot&&(at.graphic=ot.destroy())}},H.prototype.markerAttribs=function(p,N){var _=this.options,G=_.marker,U=p.marker||{},tt=U.symbol||G.symbol,J=h(U.radius,G&&G.radius);return N&&(G=G.states[N],J=h((N=U.states&&U.states[N])&&N.radius,G&&G.radius,J&&J+(G&&G.radiusPlus||0))),p.hasImage=tt&&0===tt.indexOf("url"),p.hasImage&&(J=0),p=D(J)?{x:_.crisp?Math.floor(p.plotX-J):p.plotX-J,y:p.plotY-J}:{},J&&(p.width=p.height=2*J),p},H.prototype.pointAttribs=function(p,N){var _=this.options.marker,G=p&&p.options,U=G&&G.marker||{},tt=G&&G.color,J=p&&p.color,ot=p&&p.zone&&p.zone.color,at=this.color;return p=h(U.lineWidth,_.lineWidth),G=1,at=tt||ot||J||at,tt=U.fillColor||_.fillColor||at,J=U.lineColor||_.lineColor||at,_=_.states[N=N||"normal"]||{},p=h((N=U.states&&U.states[N]||{}).lineWidth,_.lineWidth,p+h(N.lineWidthPlus,_.lineWidthPlus,0)),{stroke:J=N.lineColor||_.lineColor||J,"stroke-width":p,fill:tt=N.fillColor||_.fillColor||tt,opacity:G=h(N.opacity,_.opacity,G)}},H.prototype.destroy=function(p){var J,ot,at,N=this,_=N.chart,G=/AppleWebKit\/533/.test(v.navigator.userAgent),U=N.data||[];for(f(N,"destroy",{keepEventsForUpdate:p}),this.removeEvents(p),(N.axisTypes||[]).forEach(function(ft){(at=N[ft])&&at.series&&(l(at.series,N),at.isDirty=at.forceRedraw=!0)}),N.legendItem&&N.chart.legend.destroyItem(N),J=U.length;J--;)(ot=U[J])&&ot.destroy&&ot.destroy();N.clips&&N.clips.forEach(function(ft){return ft.destroy()}),I.clearTimeout(N.animationTimeout),a(N,function(ft,mt){ft instanceof F&&!ft.survive&&ft[G&&"group"===mt?"hide":"destroy"]()}),_.hoverSeries===N&&(_.hoverSeries=void 0),l(_.series,N),_.orderSeries(),a(N,function(ft,mt){p&&"hcEvents"===mt||delete N[mt]})},H.prototype.applyZones=function(){var mt,gt,ut,ht,V,q,st,ct,p=this,N=this.chart,_=N.renderer,G=this.zones,U=this.clips||[],tt=this.graph,J=this.area,ot=Math.max(N.chartWidth,N.chartHeight),at=this[(this.zoneAxis||"y")+"Axis"],ft=N.inverted,dt=!1;if(G.length&&(tt||J)&&at&&void 0!==at.min){var yt=at.reversed,xt=at.horiz;tt&&!this.showLine&&tt.hide(),J&&J.hide();var St=at.getExtremes();G.forEach(function(Et,kt){mt=yt?xt?N.plotWidth:0:xt?0:at.toPixels(St.min)||0,mt=c(h(gt,mt),0,ot),gt=c(Math.round(at.toPixels(h(Et.value,St.max),!0)||0),0,ot),dt&&(mt=gt=at.toPixels(St.max)),ht=Math.abs(mt-gt),V=Math.min(mt,gt),q=Math.max(mt,gt),at.isXAxis?(ut={x:ft?q:V,y:0,width:ht,height:ot},xt||(ut.x=N.plotHeight-ut.x)):(ut={x:0,y:ft?q:V,width:ot,height:ht},xt&&(ut.y=N.plotWidth-ut.y)),ft&&_.isVML&&(ut=at.isXAxis?{x:0,y:yt?V:q,height:ut.width,width:N.chartWidth}:{x:ut.y-N.plotLeft-N.spacingBox.x,y:0,width:ut.height,height:N.chartHeight}),U[kt]?U[kt].animate(ut):U[kt]=_.clipRect(ut),st=p["zone-area-"+kt],ct=p["zone-graph-"+kt],tt&&ct&&ct.clip(U[kt]),J&&st&&st.clip(U[kt]),dt=Et.value>St.max,p.resetZones&&0===gt&&(gt=void 0)}),this.clips=U}else p.visible&&(tt&&tt.show(),J&&J.show())},H.prototype.invertGroups=function(p){function N(){["group","markerGroup"].forEach(function(U){_[U]&&(G.renderer.isVML&&_[U].attr({width:_.yAxis.len,height:_.xAxis.len}),_[U].width=_.yAxis.len,_[U].height=_.xAxis.len,_[U].invert(!_.isRadialSeries&&p))})}var _=this,G=_.chart;_.xAxis&&(_.eventsToUnbind.push(O(G,"resize",N)),N(),_.invertGroups=N)},H.prototype.plotGroup=function(p,N,_,G,U){var tt=this[p],J=!tt;return _={visibility:_,zIndex:G||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(_.opacity=this.opacity),J&&(this[p]=tt=this.chart.renderer.g().add(U)),tt.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(m(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(tt.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),tt.attr(_)[J?"attr":"animate"](this.getPlotBox()),tt},H.prototype.getPlotBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis;return p.inverted&&(N=_,_=this.xAxis),{translateX:N?N.left:p.plotLeft,translateY:_?_.top:p.plotTop,scaleX:1,scaleY:1}},H.prototype.removeEvents=function(p){p||A(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(N){N()}),this.eventsToUnbind.length=0)},H.prototype.render=function(){var p=this,N=p.chart,_=p.options,G=L(_.animation),U=p.visible?"inherit":"hidden",tt=_.zIndex,J=p.hasRendered,ot=N.seriesGroup,at=N.inverted;N=!p.finishedAnimating&&N.renderer.isSVG?G.duration:0,f(this,"render");var ft=p.plotGroup("group","series",U,tt,ot);p.markerGroup=p.plotGroup("markerGroup","markers",U,tt,ot),!1!==_.clip&&p.setClip(),p.animate&&N&&p.animate(!0),ft.inverted=!!h(p.invertible,p.isCartesian)&&at,p.drawGraph&&(p.drawGraph(),p.applyZones()),p.visible&&p.drawPoints(),p.drawDataLabels&&p.drawDataLabels(),p.redrawPoints&&p.redrawPoints(),p.drawTracker&&!1!==p.options.enableMouseTracking&&p.drawTracker(),p.invertGroups(at),p.animate&&N&&p.animate(),J||(N&&G.defer&&(N+=G.defer),p.animationTimeout=z(function(){p.afterAnimate()},N||0)),p.isDirty=!1,p.hasRendered=!0,f(p,"afterRender")},H.prototype.redraw=function(){var p=this.chart,N=this.isDirty||this.isDirtyData,_=this.group,G=this.xAxis,U=this.yAxis;_&&(p.inverted&&_.attr({width:p.plotWidth,height:p.plotHeight}),_.animate({translateX:h(G&&G.left,p.plotLeft),translateY:h(U&&U.top,p.plotTop)})),this.translate(),this.render(),N&&delete this.kdTree},H.prototype.searchPoint=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.chart.inverted;return this.searchKDTree({clientX:U?_.len-p.chartY+_.pos:p.chartX-_.pos,plotY:U?G.len-p.chartX+G.pos:p.chartY-G.pos},N,p)},H.prototype.buildKDTree=function(p){function N(U,tt,J){var ot=U&&U.length;if(ot){var at=_.kdAxisArray[tt%J];return U.sort(function(ft,mt){return ft[at]-mt[at]}),{point:U[ot=Math.floor(ot/2)],left:N(U.slice(0,ot),tt+1,J),right:N(U.slice(ot+1),tt+1,J)}}}this.buildingKdTree=!0;var _=this,G=-1<_.options.findNearestPointBy.indexOf("y")?2:1;delete _.kdTree,z(function(){_.kdTree=N(_.getValidPoints(null,!_.directTouch),G,G),_.buildingKdTree=!1},_.options.kdNow||p&&"touchstart"===p.type?0:1)},H.prototype.searchKDTree=function(p,N,_){var U=this,tt=this.kdAxisArray[0],J=this.kdAxisArray[1],ot=N?"distX":"dist";if(N=-1<U.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(_),this.kdTree)return function G(at,ft,mt,gt){var ut=ft.point,ht=U.kdAxisArray[mt%gt],V=ut,q=m(at[tt])&&m(ut[tt])?Math.pow(at[tt]-ut[tt],2):null,st=m(at[J])&&m(ut[J])?Math.pow(at[J]-ut[J],2):null;return ut.dist=m(st=(q||0)+(st||0))?Math.sqrt(st):Number.MAX_VALUE,ut.distX=m(q)?Math.sqrt(q):Number.MAX_VALUE,q=0>(ht=at[ht]-ut[ht])?"right":"left",ft[st=0>ht?"left":"right"]&&(V=(st=G(at,ft[st],mt+1,gt))[ot]<V[ot]?st:ut),ft[q]&&Math.sqrt(ht*ht)<V[ot]&&(V=(at=G(at,ft[q],mt+1,gt))[ot]<V[ot]?at:V),V}(p,this.kdTree,N,N)},H.prototype.pointPlacementToXValue=function(){var p=this.options,N=p.pointRange,_=this.xAxis;return"between"===(p=p.pointPlacement)&&(p=_.reversed?-.5:.5),D(p)?p*(N||_.pointRange):0},H.prototype.isPointInside=function(p){var N=this.chart,_=this.xAxis,G=this.yAxis;return void 0!==p.plotY&&void 0!==p.plotX&&0<=p.plotY&&p.plotY<=(G?G.len:N.plotHeight)&&0<=p.plotX&&p.plotX<=(_?_.len:N.plotWidth)},H.prototype.drawTracker=function(){var p=this,N=p.options,_=N.trackByArea,G=[].concat(_?p.areaPath:p.graphPath),U=p.chart,tt=U.pointer,J=U.renderer,ot=U.options.tooltip.snap,at=p.tracker,ft=function(gt){U.hoverSeries!==p&&p.onMouseOver()},mt="rgba(192,192,192,"+(E?1e-4:.002)+")";at?at.attr({d:G}):p.graph&&(p.tracker=J.path(G).attr({visibility:p.visible?"inherit":"hidden",zIndex:2}).addClass(_?"highcharts-tracker-area":"highcharts-tracker-line").add(p.group),U.styledMode||p.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:mt,fill:_?mt:"none","stroke-width":p.graph.strokeWidth()+(_?0:2*ot)}),[p.tracker,p.markerGroup,p.dataLabelsGroup].forEach(function(gt){gt&&(gt.addClass("highcharts-tracker").on("mouseover",ft).on("mouseout",function(ut){tt.onTrackerMouseOut(ut)}),N.cursor&&!U.styledMode&&gt.css({cursor:N.cursor}),M)&&gt.on("touchstart",ft)})),f(this,"afterDrawTracker")},H.prototype.addPoint=function(p,N,_,G,U){var tt=this.options,J=this.data,ot=this.chart,at=this.xAxis;at=at&&at.hasNames&&at.names;var gt,ft=tt.data,mt=this.xData;N=h(N,!0);var ut={series:this};this.pointClass.prototype.applyOptions.apply(ut,[p]);var ht=ut.x,V=mt.length;if(this.requireSorting&&ht<mt[V-1])for(gt=!0;V&&mt[V-1]>ht;)V--;this.updateParallelArrays(ut,"splice",V,0,0),this.updateParallelArrays(ut,V),at&&ut.name&&(at[ht]=ut.name),ft.splice(V,0,p),(gt||this.processedData)&&(this.data.splice(V,0,null),this.processData()),"point"===tt.legendType&&this.generatePoints(),_&&(J[0]&&J[0].remove?J[0].remove(!1):(J.shift(),this.updateParallelArrays(ut,"shift"),ft.shift())),!1!==U&&f(this,"addPoint",{point:ut}),this.isDirtyData=this.isDirty=!0,N&&ot.redraw(G)},H.prototype.removePoint=function(p,N,_){var G=this,U=G.data,tt=U[p],J=G.points,ot=G.chart,at=function(){J&&J.length===U.length&&J.splice(p,1),U.splice(p,1),G.options.data.splice(p,1),G.updateParallelArrays(tt||{series:G},"splice",p,1),tt&&tt.destroy(),G.isDirty=!0,G.isDirtyData=!0,N&&ot.redraw()};C(_,ot),N=h(N,!0),tt?tt.firePointEvent("remove",null,at):at()},H.prototype.remove=function(p,N,_,G){function U(){tt.destroy(G),J.isDirtyLegend=J.isDirtyBox=!0,J.linkSeries(),h(p,!0)&&J.redraw(N)}var tt=this,J=tt.chart;!1!==_?f(tt,"remove",null,U):U()},H.prototype.update=function(p,N){p=u(p,this.userOptions),f(this,"update",{options:p});var mt,_=this,G=_.chart,U=_.userOptions,tt=_.initialType||_.type,J=G.options.plotOptions,ot=k[tt].prototype,at=_.finishedAnimating&&{animation:!1},ft={},gt=["eventOptions","navigatorSeries","baseSeries"],ut=p.type||U.type||G.options.chart.type,ht=!(this.hasDerivedData||ut&&ut!==this.type||void 0!==p.pointStart||void 0!==p.pointInterval||void 0!==p.relativeXValue||p.joinBy||p.mapData||_.hasOptionChanged("dataGrouping")||_.hasOptionChanged("pointStart")||_.hasOptionChanged("pointInterval")||_.hasOptionChanged("pointIntervalUnit")||_.hasOptionChanged("keys"));if(ut=ut||tt,ht&&(gt.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==p.visible&&gt.push("area","graph"),_.parallelArrays.forEach(function(q){gt.push(q+"Data")}),p.data&&(p.dataSorting&&n(_.options.dataSorting,p.dataSorting),this.setData(p.data,!1))),p=R(U,at,{index:void 0===U.index?_.index:U.index,pointStart:h(J&&J.series&&J.series.pointStart,U.pointStart,_.xData[0])},!ht&&{data:_.options.data},p),ht&&p.data&&(p.data=_.options.data),(gt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(gt)).forEach(function(q){gt[q]=_[q],delete _[q]}),J=!1,k[ut]){if(J=ut!==_.type,_.remove(!1,!1,!1,!0),J)if(Object.setPrototypeOf)Object.setPrototypeOf(_,k[ut].prototype);else{for(mt in at=Object.hasOwnProperty.call(_,"hcEvents")&&_.hcEvents,ot)_[mt]=void 0;n(_,k[ut].prototype),at?_.hcEvents=at:delete _.hcEvents}}else b(17,!0,G,{missingModuleFor:ut});if(gt.forEach(function(q){_[q]=gt[q]}),_.init(G,p),ht&&this.points){var V=_.options;!1===V.visible?(ft.graphic=1,ft.dataLabel=1):_._hasPointLabels||(ot=V.dataLabels,!(p=V.marker)||!1!==p.enabled&&(U.marker&&U.marker.symbol)===p.symbol||(ft.graphic=1),ot&&!1===ot.enabled&&(ft.dataLabel=1)),this.points.forEach(function(q){q&&q.series&&(q.resolveColor(),Object.keys(ft).length&&q.destroyElements(ft),!1===V.showInLegend&&q.legendItem&&G.legend.destroyItem(q))},this)}_.initialType=tt,G.linkSeries(),J&&_.linkedSeries.length&&(_.isDirtyData=!0),f(this,"afterUpdate"),h(N,!0)&&G.redraw(!!ht&&void 0)},H.prototype.setName=function(p){this.name=this.options.name=this.userOptions.name=p,this.chart.isDirtyLegend=!0},H.prototype.hasOptionChanged=function(p){var N=this.options[p],_=this.chart.options.plotOptions,G=this.userOptions[p];return G?N!==G:N!==h(_&&_[this.type]&&_[this.type][p],_&&_.series&&_.series[p],N)},H.prototype.onMouseOver=function(){var p=this.chart,N=p.hoverSeries;p.pointer.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&f(this,"mouseOver"),this.setState("hover"),p.hoverSeries=this},H.prototype.onMouseOut=function(){var p=this.options,N=this.chart,_=N.tooltip,G=N.hoverPoint;N.hoverSeries=null,G&&G.onMouseOut(),this&&p.events.mouseOut&&f(this,"mouseOut"),!_||this.stickyTracking||_.shared&&!this.noSharedTooltip||_.hide(),N.series.forEach(function(U){U.setState("",!0)})},H.prototype.setState=function(p,N){var _=this,G=_.options,U=_.graph,tt=G.inactiveOtherPoints,J=G.states,ot=h(J[p||"normal"]&&J[p||"normal"].animation,_.chart.options.chart.animation),at=G.lineWidth,ft=0,mt=G.opacity;if(_.state!==(p=p||"")&&([_.group,_.markerGroup,_.dataLabelsGroup].forEach(function(gt){gt&&(_.state&&gt.removeClass("highcharts-series-"+_.state),p&&gt.addClass("highcharts-series-"+p))}),_.state=p,!_.chart.styledMode)){if(J[p]&&!1===J[p].enabled)return;if(p&&(at=J[p].lineWidth||at+(J[p].lineWidthPlus||0),mt=h(J[p].opacity,mt)),U&&!U.dashstyle)for(U.animate(G={"stroke-width":at},ot);_["zone-graph-"+ft];)_["zone-graph-"+ft].animate(G,ot),ft+=1;tt||[_.group,_.markerGroup,_.dataLabelsGroup,_.labelBySeries].forEach(function(gt){gt&&gt.animate({opacity:mt},ot)})}N&&tt&&_.points&&_.setAllPointsToState(p||void 0)},H.prototype.setAllPointsToState=function(p){this.points.forEach(function(N){N.setState&&N.setState(p)})},H.prototype.setVisible=function(p,N){var _=this,G=_.chart,U=_.legendItem,tt=G.options.chart.ignoreHiddenSeries,ot=(_.visible=p=_.options.visible=_.userOptions.visible=void 0===p?!_.visible:p)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(at){_[at]&&_[at][ot]()}),(G.hoverSeries===_||(G.hoverPoint&&G.hoverPoint.series)===_)&&_.onMouseOut(),U&&G.legend.colorizeItem(_,p),_.isDirty=!0,_.options.stacking&&G.series.forEach(function(at){at.options.stacking&&at.visible&&(at.isDirty=!0)}),_.linkedSeries.forEach(function(at){at.setVisible(p,!1)}),tt&&(G.isDirtyBox=!0),f(_,ot),!1!==N&&G.redraw()},H.prototype.show=function(){this.setVisible(!0)},H.prototype.hide=function(){this.setVisible(!1)},H.prototype.select=function(p){this.selected=p=this.options.selected=void 0===p?!this.selected:p,this.checkbox&&(this.checkbox.checked=p),f(this,p?"select":"unselect")},H.prototype.shouldShowTooltip=function(p,N,_){return void 0===_&&(_={}),_.series=this,_.visiblePlotOnly=!0,this.chart.isInsidePlot(p,N,_)},H.defaultOptions=K,H}(),n(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:Q.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:it,requireSorting:!0,sorted:!0}),W.series=X,X}),Mt($,"Extensions/ScrollablePlotArea.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.stop,W=it.addEvent,F=it.createElement,I=it.merge,L=it.pick;W(et,"afterSetChartSize",function(C){var y=this.options.chart.scrollablePlotArea,S=y&&y.minWidth;if(y=y&&y.minHeight,!this.renderer.forExport){if(S){if(this.scrollablePixelsX=S=Math.max(0,S-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.width=this.plotWidth+=S,this.inverted?this.clipBox.height+=S:this.clipBox.width+=S;var M={1:{name:"right",value:S}}}}else y&&(this.scrollablePixelsY=S=Math.max(0,y-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.height=this.plotHeight+=S,this.inverted?this.clipBox.width+=S:this.clipBox.height+=S,M={2:{name:"bottom",value:S}});M&&!C.skipAxes&&this.axes.forEach(function(E){M[E.side]?E.getPlotLinePath=function(){var v=M[E.side].name,k=this[v];this[v]=k-M[E.side].value;var O=Y.prototype.getPlotLinePath.apply(this,arguments);return this[v]=k,O}:(E.setAxisSize(),E.setAxisTranslation())})}}),W(et,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),et.prototype.setUpScrolling=function(){var C=this,y={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(y.overflowX="auto"),this.scrollablePixelsY&&(y.overflowY="auto"),this.scrollingParent=F("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=F("div",{className:"highcharts-scrolling"},y,this.scrollingParent),W(this.scrollingContainer,"scroll",function(){C.pointer&&delete C.pointer.chartPosition}),this.innerContainer=F("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},et.prototype.moveFixedElements=function(){var M,C=this.container,y=this.fixedRenderer,S=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?M=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?M=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(M=".highcharts-yaxis"),M&&S.push(M+":not(.highcharts-radial-axis)",M+"-labels:not(.highcharts-radial-axis-labels)"),S.forEach(function(E){[].forEach.call(C.querySelectorAll(E),function(v){(v.namespaceURI===y.SVG_NS?y.box:y.box.parentNode).appendChild(v),v.style.pointerEvents="auto"})})},et.prototype.applyFixed=function(){var C=!this.fixedDiv,y=this.options.chart,S=y.scrollablePlotArea,M=Q.getRendererType();C?(this.fixedDiv=F("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(y.style&&y.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new M(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=y.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":L(S.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),W(this,"afterShowResetZoom",this.moveFixedElements),W(this,"afterApplyDrilldown",this.moveFixedElements),W(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||C)&&(this.scrollableDirty=!1,this.moveFixedElements()),y=this.chartWidth+(this.scrollablePixelsX||0),M=this.chartHeight+(this.scrollablePixelsY||0),K(this.container),this.container.style.width=y+"px",this.container.style.height=M+"px",this.renderer.boxWrapper.attr({width:y,height:M,viewBox:[0,0,y,M].join(" ")}),this.chartBackground.attr({width:y,height:M}),this.scrollingContainer.style.height=this.chartHeight+"px",C&&(S.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*S.scrollPositionX),S.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*S.scrollPositionY)),C=this.plotTop-(M=this.axisOffset)[0]-1,S=this.plotLeft-M[3]-1,y=this.plotTop+this.plotHeight+M[2]+1,M=this.plotLeft+this.plotWidth+M[1]+1;var E=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),v=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);C=this.scrollablePixelsX?[["M",0,C],["L",this.plotLeft-1,C],["L",this.plotLeft-1,y],["L",0,y],["Z"],["M",E,C],["L",this.chartWidth,C],["L",this.chartWidth,y],["L",E,y],["Z"]]:this.scrollablePixelsY?[["M",S,0],["L",S,this.plotTop-1],["L",M,this.plotTop-1],["L",M,0],["Z"],["M",S,v],["L",S,this.chartHeight],["L",M,this.chartHeight],["L",M,v],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:C})},W(Y,"afterInit",function(){this.chart.scrollableDirty=!0}),W(rt,"show",function(){this.chart.scrollableDirty=!0})}),Mt($,"Core/Axis/StackingAxis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Utilities.js"]],function(X,Y,et){var I,rt=X.getDeferredAnimation,Q=et.addEvent,it=et.destroyObjectProperties,K=et.fireEvent,W=et.isNumber,F=et.objectEach;return function(L){function C(){var E=this.stacking;if(E){var v=E.stacks;F(v,function(k,O){it(k),v[O]=null}),E&&E.stackTotalGroup&&E.stackTotalGroup.destroy()}}function y(){this.stacking||(this.stacking=new M(this))}var S=[];L.compose=function(E){return-1===S.indexOf(E)&&(S.push(E),Q(E,"init",y),Q(E,"destroy",C)),E};var M=function(){function E(v){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=v}return E.prototype.buildStacks=function(){var g,v=this.axis,k=v.series,O=v.options.reversedStacks,P=k.length;if(!v.isXAxis){for(this.usePercentage=!1,g=P;g--;){var c=k[O?g:P-g-1];c.setStackedPoints(),c.setGroupedPoints()}for(g=0;g<P;g++)k[g].modifyStacks();K(v,"afterBuildStacks")}},E.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var v=this.stacks=this.oldStacks;F(v,function(k){F(k,function(O){O.cumulative=O.total})})}},E.prototype.resetStacks=function(){var v=this;v.axis.isXAxis||F(v.stacks,function(O){F(O,function(P,g){W(P.touched)&&P.touched<v.stacksTouched?(P.destroy(),delete O[g]):(P.total=null,P.cumulative=null)})})},E.prototype.renderStackTotals=function(){var v=this.axis,k=v.chart,O=k.renderer,P=this.stacks;v=rt(k,v.options.stackLabels&&v.options.stackLabels.animation||!1);var g=this.stackTotalGroup=this.stackTotalGroup||O.g("stack-labels").attr({zIndex:6,opacity:0}).add();g.translate(k.plotLeft,k.plotTop),F(P,function(c){F(c,function(u){u.render(g)})}),g.animate({opacity:1},v)},E}();L.Additions=M}(I||(I={})),I}),Mt($,"Extensions/Stacking.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Axis/StackingAxis.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var W=et.format,F=K.correctFloat,I=K.defined,L=K.destroyObjectProperties,C=K.isArray,y=K.isNumber,S=K.objectEach,M=K.pick,E=function(){function v(k,O,P,g,c){var u=k.chart.inverted;this.axis=k,this.isNegative=P,this.options=O=O||{},this.x=g,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=c,this.rightCliff=this.leftCliff=0,this.alignOptions={align:O.align||(u?P?"left":"right":"center"),verticalAlign:O.verticalAlign||(u?"middle":P?"bottom":"top"),y:O.y,x:O.x},this.textAlign=O.textAlign||(u?P?"right":"left":"center")}return v.prototype.destroy=function(){L(this,this.axis)},v.prototype.render=function(k){var O=this.axis.chart,P=this.options,g=P.format;g=g?W(g,this,O):P.formatter.call(this),this.label?this.label.attr({text:g,visibility:"hidden"}):(this.label=O.renderer.label(g,null,null,P.shape,null,null,P.useHTML,!1,"stack-labels"),g={r:P.borderRadius||0,text:g,rotation:P.rotation,padding:M(P.padding,5),visibility:"hidden"},O.styledMode||(g.fill=P.backgroundColor,g.stroke=P.borderColor,g["stroke-width"]=P.borderWidth,this.label.css(P.style)),this.label.attr(g),this.label.added||this.label.add(k)),this.label.labelrank=O.plotSizeY},v.prototype.setOffset=function(k,O,P,g,c){var u=this.axis,o=u.chart;g=u.translate(u.stacking.usePercentage?100:g||this.total,0,0,0,1),P=u.translate(P||0),P=I(g)&&Math.abs(g-P),k=M(c,o.xAxis[0].translate(this.x))+k,u=I(g)&&this.getStackBox(o,this,k,g,O,P,u),O=this.label,P=this.isNegative,k="justify"===M(this.options.overflow,"justify");var m=this.textAlign;O&&u&&(c=O.getBBox(),g=O.padding,m="left"===m?o.inverted?-g:g:"right"===m?c.width:o.inverted&&"center"===m?c.width/2:o.inverted?P?c.width+g:-g:c.width/2,P=o.inverted?c.height/2:P?-g:c.height,this.alignOptions.x=M(this.options.x,0),this.alignOptions.y=M(this.options.y,0),u.x-=m,u.y-=P,O.align(this.alignOptions,null,u),o.isInsidePlot(O.alignAttr.x+m-this.alignOptions.x,O.alignAttr.y+P-this.alignOptions.y)?O.show():(O.hide(),k=!1),k&&Q.prototype.justifyDataLabel.call(this.axis,O,this.alignOptions,O.alignAttr,c,u),O.attr({x:O.alignAttr.x,y:O.alignAttr.y}),M(!k&&this.options.crop,!0)&&((o=y(O.x)&&y(O.y)&&o.isInsidePlot(O.x-g+O.width,O.y)&&o.isInsidePlot(O.x+g,O.y))||O.hide()))},v.prototype.getStackBox=function(k,O,P,g,c,u,o){var m=O.axis.reversed,l=k.inverted,b=o.height+o.pos-(l?k.plotLeft:k.plotTop);return O=O.isNegative&&!m||!O.isNegative&&m,{x:l?O?g-o.right:g-u+o.pos-k.plotLeft:P+k.xAxis[0].transB-k.plotLeft,y:l?o.height-P-c:O?b-g-u:b-g,width:l?u:c,height:l?c:u}},v}();return Y.prototype.getStacks=function(){var v=this,k=v.inverted;v.yAxis.forEach(function(O){O.stacking&&O.stacking.stacks&&O.hasVisibleSeries&&(O.stacking.oldStacks=O.stacking.stacks)}),v.series.forEach(function(O){var P=O.xAxis&&O.xAxis.options||{};!O.options.stacking||!0!==O.visible&&!1!==v.options.chart.ignoreHiddenSeries||(O.stackKey=[O.type,M(O.options.stack,""),k?P.top:P.left,k?P.height:P.width].join())})},it.compose(X),Q.prototype.setGroupedPoints=function(){var v=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?Q.prototype.setStackedPoints.call(this,"group"):v&&S(v.stacks,function(k,O){"group"===O.slice(-5)&&(S(k,function(P){return P.destroy()}),delete v.stacks[O])})},Q.prototype.setStackedPoints=function(v){var k=v||this.options.stacking;if(k&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var O=this.processedXData,P=this.processedYData,g=[],c=P.length,u=this.options,o=u.threshold,m=M(u.startFromThreshold&&o,0);u=u.stack;var T,w,l="-"+(v=v?this.type+","+k:this.stackKey),b=this.negStacks,n=this.yAxis,r=n.stacking.stacks,f=n.stacking.oldStacks;for(n.stacking.stacksTouched+=1,w=0;w<c;w++){var D=O[w],d=P[w],R=this.getStackIndicator(R,D,this.index),a=R.key,h=(T=b&&d<(m?0:o))?l:v;r[h]||(r[h]={}),r[h][D]||(f[h]&&f[h][D]?(r[h][D]=f[h][D],r[h][D].total=null):r[h][D]=new E(n,n.options.stackLabels,T,D,u)),h=r[h][D],null!==d?(h.points[a]=h.points[this.index]=[M(h.cumulative,m)],I(h.cumulative)||(h.base=a),h.touched=n.stacking.stacksTouched,0<R.index&&!1===this.singleStacks&&(h.points[a][0]=h.points[this.index+","+D+",0"][0])):h.points[a]=h.points[this.index]=null,"percent"===k?(T=T?v:l,h.total=b&&r[T]&&r[T][D]?(T=r[T][D]).total=Math.max(T.total,h.total)+Math.abs(d)||0:F(h.total+(Math.abs(d)||0))):"group"===k?(C(d)&&(d=d[0]),null!==d&&(h.total=(h.total||0)+1)):h.total=F(h.total+(d||0)),h.cumulative="group"===k?(h.total||1)-1:M(h.cumulative,m)+(d||0),null!==d&&(h.points[a].push(h.cumulative),g[w]=h.cumulative,h.hasValidPoints=!0)}"percent"===k&&(n.stacking.usePercentage=!0),"group"!==k&&(this.stackedYData=g),n.stacking.oldStacks={}}},Q.prototype.modifyStacks=function(){var g,v=this,k=v.stackKey,O=v.yAxis.stacking.stacks,P=v.processedXData,c=v.options.stacking;v[c+"Stacker"]&&[k,"-"+k].forEach(function(u){for(var m,l,o=P.length;o--;)g=v.getStackIndicator(g,m=P[o],v.index,u),(l=(m=O[u]&&O[u][m])&&m.points[g.key])&&v[c+"Stacker"](l,m,o)})},Q.prototype.percentStacker=function(v,k,O){v[0]=F(v[0]*(k=k.total?100/k.total:0)),v[1]=F(v[1]*k),this.stackedYData[O]=v[1]},Q.prototype.getStackIndicator=function(v,k,O,P){return!I(v)||v.x!==k||P&&v.stackKey!==P?v={x:k,index:0,key:P,stackKey:P}:v.index++,v.key=[O,k,v.index].join(),v},rt.StackItem=E,rt.StackItem}),Mt($,"Series/Line/LineSeries.js",[$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.defined,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.prototype.drawGraph=function(){var F=this,I=this.options,L=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode,y=[["graph","highcharts-graph"]];C||y[0].push(I.lineColor||this.color||"#cccccc",I.dashStyle),(y=F.getZonesGraphs(y)).forEach(function(S,M){var E=S[0],v=F[E],k=v?"animate":"attr";v?(v.endX=F.preventGraphAnimation?null:L.xMap,v.animate({d:L})):L.length&&(F[E]=v=F.chart.renderer.path(L).addClass(S[1]).attr({zIndex:1}).add(F.group)),v&&!C&&(E={stroke:S[2],"stroke-width":I.lineWidth,fill:F.fillGraph&&F.color||"none"},S[3]?E.dashstyle=S[3]:"square"!==I.linecap&&(E["stroke-linecap"]=E["stroke-linejoin"]="round"),v[k](E).shadow(2>M&&I.shadow)),v&&(v.startX=L.xMap,v.isArea=L.isArea)})},W.prototype.getGraphPath=function(F,I,L){var E,C=this,y=C.options,S=[],M=[],v=y.step,k=(F=F||C.points).reversed;return k&&F.reverse(),(v={right:1,center:2}[v]||v&&3)&&k&&(v=4-v),(F=this.getValidPoints(F,!1,!(y.connectNulls&&!I&&!L))).forEach(function(O,P){var g=O.plotX,c=O.plotY,u=F[P-1];(O.leftCliff||u&&u.rightCliff)&&!L&&(E=!0),O.isNull&&!Q(I)&&0<P?E=!y.connectNulls:O.isNull&&!I?E=!0:(0===P||E?P=[["M",O.plotX,O.plotY]]:C.getPointSpline?P=[C.getPointSpline(F,O,P)]:v?(P=1===v?[["L",u.plotX,c]]:2===v?[["L",(u.plotX+g)/2,u.plotY],["L",(u.plotX+g)/2,c]]:[["L",g,u.plotY]]).push(["L",g,c]):P=[["L",g,c]],M.push(O.x),v&&(M.push(O.x),2===v&&M.push(O.x)),S.push.apply(S,P),E=!1)}),S.xMap=M,C.graphPath=S},W.prototype.getZonesGraphs=function(F){return this.zones.forEach(function(I,L){L=["zone-graph-"+L,"highcharts-graph highcharts-zone-graph-"+L+" "+(I.className||"")],this.chart.styledMode||L.push(I.color||this.color,I.dashStyle||this.options.dashStyle),F.push(L)},this),F},W.defaultOptions=it(X.defaultOptions,{}),W}(X),Y.registerSeriesType("line",et),et}),Mt($,"Series/Area/AreaSeries.js",[$["Core/Color/Color.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var L,Q=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),it=X.parse,K=et.seriesTypes.line;X=rt.extend;var W=rt.merge,F=rt.objectEach,I=rt.pick;return rt=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return Q(C,L),C.prototype.drawGraph=function(){this.areaPath=[],L.prototype.drawGraph.apply(this);var y=this,S=this.areaPath,M=this.options,E=[["area","highcharts-area",this.color,M.fillColor]];this.zones.forEach(function(v,k){E.push(["zone-area-"+k,"highcharts-area highcharts-zone-area-"+k+" "+v.className,v.color||y.color,v.fillColor||M.fillColor])}),E.forEach(function(v){var k=v[0],O=y[k],P=O?"animate":"attr",g={};O?(O.endX=y.preventGraphAnimation?null:S.xMap,O.animate({d:S})):(g.zIndex=0,(O=y[k]=y.chart.renderer.path(S).addClass(v[1]).add(y.group)).isArea=!0),y.chart.styledMode||(g.fill=I(v[3],it(v[2]).setOpacity(I(M.fillOpacity,.75)).get())),O[P](g),O.startX=S.xMap,O.shiftUnit=M.step?2:1})},C.prototype.getGraphPath=function(y){var k,S=K.prototype.getGraphPath,M=this.options,E=M.stacking,v=this.yAxis,O=[],P=[],g=this.index,c=v.stacking.stacks[this.stackKey],u=M.threshold,o=Math.round(v.getThreshold(M.threshold));M=I(M.connectNulls,"percent"===E);var m=function(r,f,T){var w=y[r];r=E&&c[w.x].points[g];var D=w[T+"Null"]||0;if(T=w[T+"Cliff"]||0,w=!0,T||D){var d=(D?r[0]:r[1])+T,R=r[0]+T;w=!!D}else!E&&y[f]&&y[f].isNull&&(d=R=u);void 0!==d&&(P.push({plotX:b,plotY:null===d?o:v.getThreshold(d),isNull:w,isCliff:!0}),O.push({plotX:b,plotY:null===R?o:v.getThreshold(R),doCurve:!1}))};for(y=y||this.points,E&&(y=this.getStackPoints(y)),k=0;k<y.length;k++){E||(y[k].leftCliff=y[k].rightCliff=y[k].leftNull=y[k].rightNull=void 0);var l=y[k].isNull,b=I(y[k].rectPlotX,y[k].plotX),n=E?I(y[k].yBottom,o):o;(!l||M)&&(M||m(k,k-1,"left"),l&&!E&&M||(P.push(y[k]),O.push({x:k,plotX:b,plotY:n})),M||m(k,k+1,"right"))}return k=S.call(this,P,!0,!0),O.reversed=!0,(n=(l=S.call(this,O,!0,!0))[0])&&"M"===n[0]&&(l[0]=["L",n[1],n[2]]),(l=k.concat(l)).length&&l.push(["Z"]),S=S.call(this,P,!1,M),l.xMap=k.xMap,this.areaPath=l,S},C.prototype.getStackPoints=function(y){var S=this,M=[],E=[],v=this.xAxis,k=this.yAxis,O=k.stacking.stacks[this.stackKey],P={},g=k.series,c=g.length,u=k.options.reversedStacks?1:-1,o=g.indexOf(S);if(y=y||this.points,this.options.stacking){for(var m=0;m<y.length;m++)y[m].leftNull=y[m].rightNull=void 0,P[y[m].x]=y[m];F(O,function(b,n){null!==b.total&&E.push(n)}),E.sort(function(b,n){return b-n});var l=g.map(function(b){return b.visible});E.forEach(function(b,n){var f,T,r=0;if(P[b]&&!P[b].isNull)M.push(P[b]),[-1,1].forEach(function(D){var d=1===D?"rightNull":"leftNull",R=0,a=O[E[n+D]];if(a)for(var h=o;0<=h&&h<c;){var A=g[h].index;(f=a.points[A])||(A===S.index?P[b][d]=!0:l[h]&&(T=O[b].points[A])&&(R-=T[1]-T[0])),h+=u}P[b][1===D?"rightCliff":"leftCliff"]=R});else{for(var w=o;0<=w&&w<c;){if(f=O[b].points[g[w].index]){r=f[1];break}w+=u}r=I(r,0),r=k.translate(r,0,1,0,1),M.push({isNull:!0,plotX:v.translate(b,0,0,0,1),x:b,plotY:r,yBottom:r})}})}return M},C.defaultOptions=W(K.defaultOptions,{threshold:0}),C}(K),X(rt.prototype,{singleStacks:!1,drawLegendSymbol:Y.drawRectangle}),et.registerSeriesType("area",rt),rt}),Mt($,"Series/Spline/SplineSeries.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var K,et=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),rt=X.seriesTypes.line,Q=Y.merge,it=Y.pick;return Y=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return et(W,K),W.prototype.getPointSpline=function(F,I,L){var C=I.plotX||0,y=I.plotY||0,S=F[L-1];if(L=F[L+1],S&&!S.isNull&&!1!==S.doCurve&&!I.isCliff&&L&&!L.isNull&&!1!==L.doCurve&&!I.isCliff){var M=L.plotX||0,E=0,v=(1.5*C+(S.plotX||0))/2.5,k=(1.5*y+(F=S.plotY||0))/2.5,O=(1.5*y+(L=L.plotY||0))/2.5;(M=(1.5*C+M)/2.5)!==v&&(E=(O-k)*(M-C)/(M-v)+y-O),O+=E,(k+=E)>F&&k>y?O=2*y-(k=Math.max(F,y)):k<F&&k<y&&(O=2*y-(k=Math.min(F,y))),O>L&&O>y?k=2*y-(O=Math.max(L,y)):O<L&&O<y&&(k=2*y-(O=Math.min(L,y))),I.rightContX=M,I.rightContY=O}return I=["C",it(S.rightContX,S.plotX,0),it(S.rightContY,S.plotY,0),it(v,C,0),it(k,y,0),C,y],S.rightContX=S.rightContY=void 0,I},W.defaultOptions=Q(rt.defaultOptions),W}(rt),X.registerSeriesType("spline",Y),Y}),Mt($,"Series/AreaSpline/AreaSplineSeries.js",[$["Series/Area/AreaSeries.js"],$["Series/Spline/SplineSeries.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var I,it=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),K=X.prototype,W=Q.extend,F=Q.merge;return Q=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.data=void 0,C.points=void 0,C.options=void 0,C}return it(L,I),L.defaultOptions=F(Y.defaultOptions,X.defaultOptions),L}(Y),W(Q.prototype,{getGraphPath:K.getGraphPath,getStackPoints:K.getStackPoints,drawGraph:K.drawGraph,drawLegendSymbol:et.drawRectangle}),rt.registerSeriesType("areaspline",Q),Q}),Mt($,"Series/Column/ColumnSeries.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var c,W=this&&this.__extends||(c=function(u,o){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,l){m.__proto__=l}||function(m,l){for(var b in l)l.hasOwnProperty(b)&&(m[b]=l[b])})(u,o)},function(u,o){function m(){this.constructor=u}c(u,o),u.prototype=null===o?Object.create(o):(m.prototype=o.prototype,new m)}),F=X.animObject,I=Y.parse,L=et.hasTouch;X=et.noop;var C=K.clamp,y=K.css,S=K.defined,M=K.extend,E=K.fireEvent,v=K.isArray,k=K.isNumber,O=K.merge,P=K.pick,g=K.objectEach;return K=function(c){function u(){var o=null!==c&&c.apply(this,arguments)||this;return o.borderWidth=void 0,o.data=void 0,o.group=void 0,o.options=void 0,o.points=void 0,o}return W(u,c),u.prototype.animate=function(o){var m=this,l=this.yAxis,b=m.options,n=this.chart.inverted,r={},f=n?"translateX":"translateY";if(o)r.scaleY=.001,o=C(l.toPixels(b.threshold),l.pos,l.pos+l.len),n?r.translateX=o-l.len:r.translateY=o,m.clipBox&&m.setClip(),m.group.attr(r);else{var T=Number(m.group.attr(f));m.group.animate({scaleY:1},M(F(m.options.animation),{step:function(w,D){m.group&&(r[f]=T+D.pos*(l.pos-T),m.group.attr(r))}}))}},u.prototype.init=function(o,m){c.prototype.init.apply(this,arguments);var l=this;(o=l.chart).hasRendered&&o.series.forEach(function(b){b.type===l.type&&(b.isDirty=!0)})},u.prototype.getColumnMetrics=function(){var o=this,m=o.options,l=o.xAxis,b=o.yAxis,n=l.options.reversedStacks;n=l.reversed&&!n||!l.reversed&&n;var f,r={},T=0;!1===m.grouping?T=1:o.chart.series.forEach(function(R){var a=R.yAxis,h=R.options;if(R.type===o.type&&(R.visible||!o.chart.options.chart.ignoreHiddenSeries)&&b.len===a.len&&b.pos===a.pos){if(h.stacking&&"group"!==h.stacking){void 0===r[f=R.stackKey]&&(r[f]=T++);var A=r[f]}else!1!==h.grouping&&(A=T++);R.columnIndex=A}});var w=Math.min(Math.abs(l.transA)*(l.ordinal&&l.ordinal.slope||m.pointRange||l.closestPointRange||l.tickInterval||1),l.len),D=w*m.groupPadding,d=(w-2*D)/(T||1);return m=Math.min(m.maxPointWidth||l.len,P(m.pointWidth,d*(1-2*m.pointPadding))),o.columnMetrics={width:m,offset:(d-m)/2+(D+((o.columnIndex||0)+(n?1:0))*d-w/2)*(n?-1:1),paddedWidth:d,columnCount:T},o.columnMetrics},u.prototype.crispCol=function(o,m,l,b){var n=this.chart,r=this.borderWidth,f=-(r%2?.5:0);return r=r%2?.5:1,n.inverted&&n.renderer.isVML&&(r+=1),this.options.crisp&&(l=Math.round(o+l)+f,l-=o=Math.round(o)+f),b=Math.round(m+b)+r,f=.5>=Math.abs(m)&&.5<b,b-=m=Math.round(m)+r,f&&b&&(--m,b+=1),{x:o,y:m,width:l,height:b}},u.prototype.adjustForMissingColumns=function(o,m,l,b){var n=this,r=this.options.stacking;if(!l.isNull&&1<b.columnCount){var f=this.yAxis.options.reversedStacks,T=0,w=f?0:-b.columnCount;g(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(D){if("number"==typeof l.x&&(D=D[l.x.toString()])){var d=D.points[n.index],R=D.total;r?(d&&(T=w),D.hasValidPoints&&(f?w++:w--)):v(d)&&(T=d[1],w=R||0)}}),o=(l.plotX||0)+((w-1)*b.paddedWidth+m)/2-m-T*b.paddedWidth}return o},u.prototype.translate=function(){var o=this,m=o.chart,l=o.options,b=o.dense=2>o.closestPointRange*o.xAxis.transA;b=o.borderWidth=P(l.borderWidth,b?0:1);var n=o.xAxis,r=o.yAxis,f=l.threshold,T=o.translatedThreshold=r.getThreshold(f),w=P(l.minPointLength,5),D=o.getColumnMetrics(),d=D.width,R=o.pointXOffset=D.offset,a=o.dataMin,h=o.dataMax,A=o.barW=Math.max(d,1+2*b);m.inverted&&(T-=.5),l.pointPadding&&(A=Math.ceil(A)),Q.prototype.translate.apply(o),o.points.forEach(function(j){var z=P(j.yBottom,T),H=999+Math.abs(z),p=j.plotX||0;H=C(j.plotY,-H,r.len+H);var N=Math.min(H,z),_=Math.max(H,z)-N,G=d,U=p+R,tt=A;w&&Math.abs(_)<w&&(_=w,p=!r.reversed&&!j.negative||r.reversed&&j.negative,k(f)&&k(h)&&j.y===f&&h<=f&&(r.min||0)<f&&(a!==h||(r.max||0)<=f)&&(p=!p),N=Math.abs(N-T)>w?z-w:T-(p?w:0)),S(j.options.pointWidth)&&(G=tt=Math.ceil(j.options.pointWidth),U-=Math.round((G-d)/2)),l.centerInCategory&&(U=o.adjustForMissingColumns(U,G,j,D)),j.barX=U,j.pointWidth=G,j.tooltipPos=m.inverted?[C(r.len+r.pos-m.plotLeft-H,r.pos-m.plotLeft,r.len+r.pos-m.plotLeft),n.len+n.pos-m.plotTop-U-tt/2,_]:[n.left-m.plotLeft+U+tt/2,C(H+r.pos-m.plotTop,r.pos-m.plotTop,r.len+r.pos-m.plotTop),_],j.shapeType=o.pointClass.prototype.shapeType||"rect",j.shapeArgs=o.crispCol.apply(o,j.isNull?[U,T,tt,0]:[U,N,tt,_])})},u.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},u.prototype.pointAttribs=function(o,m){var l=this.options,b=this.pointAttrToOptions||{},n=b.stroke||"borderColor",r=b["stroke-width"]||"borderWidth",f=o&&o.color||this.color,T=o&&o[n]||l[n]||f;b=o&&o.options.dashStyle||l.dashStyle;var w=o&&o[r]||l[r]||this[r]||0,D=P(o&&o.opacity,l.opacity,1);if(o&&this.zones.length){var d=o.getZone();f=o.options.color||d&&(d.color||o.nonZonedColor)||this.color,d&&(T=d.borderColor||T,b=d.dashStyle||b,w=d.borderWidth||w)}return m&&o&&(m=(o=O(l.states[m],o.options.states&&o.options.states[m]||{})).brightness,f=o.color||void 0!==m&&I(f).brighten(o.brightness).get()||f,T=o[n]||T,w=o[r]||w,b=o.dashStyle||b,D=P(o.opacity,D)),n={fill:f,stroke:T,"stroke-width":w,opacity:D},b&&(n.dashstyle=b),n},u.prototype.drawPoints=function(){var r,o=this,m=this.chart,l=o.options,b=m.renderer,n=l.animationLimit||250;o.points.forEach(function(f){var T=f.graphic,w=!!T,D=T&&m.pointCount<n?"animate":"attr";k(f.plotY)&&null!==f.y?(r=f.shapeArgs,T&&f.hasNewShapeType()&&(T=T.destroy()),o.enabledDataSorting&&(f.startXPos=o.xAxis.reversed?-(r&&r.width||0):o.xAxis.width),T||(f.graphic=T=b[f.shapeType](r).add(f.group||o.group))&&o.enabledDataSorting&&m.hasRendered&&m.pointCount<n&&(T.attr({x:f.startXPos}),w=!0,D="animate"),T&&w&&T[D](O(r)),l.borderRadius&&T[D]({r:l.borderRadius}),m.styledMode||T[D](o.pointAttribs(f,f.selected&&"select")).shadow(!1!==f.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius),T&&(T.addClass(f.getClassName(),!0),T.attr({visibility:f.visible?"inherit":"hidden"}))):T&&(f.graphic=T.destroy())})},u.prototype.drawTracker=function(){var n,o=this,m=o.chart,l=m.pointer,b=function(r){var f=l.getPointFromEvent(r);void 0!==f&&(l.isDirectTouch=!0,f.onMouseOver(r))};o.points.forEach(function(r){n=v(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),n.forEach(function(f){f.div?f.div.point=r:f.element.point=r})}),o._hasTracking||(o.trackerGroups.forEach(function(r){o[r]&&(o[r].addClass("highcharts-tracker").on("mouseover",b).on("mouseout",function(f){l.onTrackerMouseOut(f)}),L&&o[r].on("touchstart",b),!m.styledMode&&o.options.cursor&&o[r].css(y).css({cursor:o.options.cursor}))}),o._hasTracking=!0),E(this,"afterDrawTracker")},u.prototype.remove=function(){var o=this,m=o.chart;m.hasRendered&&m.series.forEach(function(l){l.type===o.type&&(l.isDirty=!0)}),Q.prototype.remove.apply(o,arguments)},u.defaultOptions=O(Q.defaultOptions,{borderRadius:0,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),u}(Q),M(K.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:rt.drawRectangle,getSymbol:X,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("column",K),K}),Mt($,"Core/Series/DataLabel.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=X.getDeferredAnimation,Q=Y.format,it=et.defined,K=et.extend,W=et.fireEvent,F=et.isArray,I=et.merge,L=et.objectEach,C=et.pick,y=et.splat;return function(M){function E(u,o,m,l,b){var n=this,r=this.chart,f=this.isCartesian&&r.inverted,T=this.enabledDataSorting,w=C(u.dlBox&&u.dlBox.centerX,u.plotX),D=u.plotY,d=m.rotation,R=m.align,a=it(w)&&it(D)&&r.isInsidePlot(w,Math.round(D),{inverted:f,paneCoordinates:!0,series:n}),h=function(p){T&&n.xAxis&&!A&&n.setDataLabelStartPos(u,o,b,a,p)},A="justify"===C(m.overflow,T?"none":"justify"),j=this.visible&&!1!==u.visible&&(u.series.forceDL||T&&!A||a||C(m.inside,!!this.options.stacking)&&l&&r.isInsidePlot(w,f?l.x+1:l.y+l.height-1,{inverted:f,paneCoordinates:!0,series:n}));if(j&&it(w)&&it(D)){d&&o.attr({align:R}),R=o.getBBox(!0);var z=[0,0],H=r.renderer.fontMetrics(r.styledMode?void 0:m.style.fontSize,o).b;l=K({x:f?this.yAxis.len-D:w,y:Math.round(f?this.xAxis.len-w:D),width:0,height:0},l),K(m,{width:R.width,height:R.height}),d?(A=!1,z=r.renderer.rotCorr(H,d),w={x:l.x+(m.x||0)+l.width/2+z.x,y:l.y+(m.y||0)+{top:0,middle:.5,bottom:1}[m.verticalAlign]*l.height},z=[R.x-Number(o.attr("x")),R.y-Number(o.attr("y"))],h(w),o[b?"attr":"animate"](w)):(h(l),o.align(m,void 0,l),w=o.alignAttr),A&&0<=l.height?this.justifyDataLabel(o,m,w,R,l,b):C(m.crop,!0)&&(l=w.x,h=w.y,j=r.isInsidePlot(l+=z[0],h+=z[1],{paneCoordinates:!0,series:n})&&r.isInsidePlot(l+R.width,h+R.height,{paneCoordinates:!0,series:n})),m.shape&&!d&&o[b?"attr":"animate"]({anchorX:f?r.plotWidth-u.plotY:u.plotX,anchorY:f?r.plotHeight-u.plotX:u.plotY})}b&&T&&(o.placed=!1),j||T&&!A?o.show():(o.hide(),o.placed=!1)}function k(){var u=this,o=u.chart,m=u.options,l=u.points,b=u.hasRendered||0,n=o.renderer,r=m.dataLabels,T=r.animation;if(T=r.defer?rt(o,T,u):{defer:0,duration:0},r=P(P(o.options.plotOptions&&o.options.plotOptions.series&&o.options.plotOptions.series.dataLabels,o.options.plotOptions&&o.options.plotOptions[u.type]&&o.options.plotOptions[u.type].dataLabels),r),W(this,"drawDataLabels"),F(r)||r.enabled||u._hasPointLabels){var w=u.plotGroup("dataLabelsGroup","data-labels",b?"inherit":"hidden",r.zIndex||6);w.attr({opacity:+b}),!b&&(b=u.dataLabelsGroup)&&(u.visible&&w.show(),b[m.animation?"animate":"attr"]({opacity:1},T)),l.forEach(function(D){y(P(r,D.dlOptions||D.options&&D.options.dataLabels)).forEach(function(d,R){var a=d.enabled&&(!D.isNull||D.dataLabelOnNull)&&function v(u,o){var m=o.filter;return!m||(o=m.operator,u=u[m.property],m=m.value,">"===o&&u>m||"<"===o&&u<m||">="===o&&u>=m||"<="===o&&u<=m||"=="===o&&u==m||"==="===o&&u===m)}(D,d),h=D.connectors?D.connectors[R]:D.connector,A=D.dataLabels?D.dataLabels[R]:D.dataLabel,j=!A,z=C(d.distance,D.labelDistance);if(a){var H=D.getLabelConfig(),p=C(d[D.formatPrefix+"Format"],d.format);H=it(p)?Q(p,H,o):(d[D.formatPrefix+"Formatter"]||d.formatter).call(H,d),p=d.style;var N=d.rotation;o.styledMode||(p.color=C(d.color,p.color,u.color,"#000000"),"contrast"===p.color?(D.contrastColor=n.getContrast(D.color||u.color),p.color=!it(z)&&d.inside||0>z||m.stacking?D.contrastColor:"#000000"):delete D.contrastColor,m.cursor&&(p.cursor=m.cursor));var _={r:d.borderRadius||0,rotation:N,padding:d.padding,zIndex:1};o.styledMode||(_.fill=d.backgroundColor,_.stroke=d.borderColor,_["stroke-width"]=d.borderWidth),L(_,function(G,U){void 0===G&&delete _[U]})}!A||a&&it(H)&&!!A.div==!!d.useHTML&&(A.rotation&&d.rotation||A.rotation===d.rotation)||(j=!0,D.dataLabel=A=D.dataLabel&&D.dataLabel.destroy(),D.dataLabels&&(1===D.dataLabels.length?delete D.dataLabels:delete D.dataLabels[R]),R||delete D.dataLabel,h&&(D.connector=D.connector.destroy(),D.connectors&&(1===D.connectors.length?delete D.connectors:delete D.connectors[R]))),a&&it(H)?(A?_.text=H:(D.dataLabels=D.dataLabels||[],A=D.dataLabels[R]=N?n.text(H,0,0,d.useHTML).addClass("highcharts-data-label"):n.label(H,0,0,d.shape,null,null,d.useHTML,null,"data-label"),R||(D.dataLabel=A),A.addClass(" highcharts-data-label-color-"+D.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),A.options=d,A.attr(_),o.styledMode||A.css(p).shadow(d.shadow),A.added||A.add(w),d.textPath&&!d.useHTML&&(A.setTextPath(D.getDataLabelPath&&D.getDataLabelPath(A)||D.graphic,d.textPath),D.dataLabelPath&&!d.textPath.enabled&&(D.dataLabelPath=D.dataLabelPath.destroy())),u.alignDataLabel(D,A,d,null,j)):A&&A.hide()})})}W(this,"afterDrawDataLabels")}function O(u,o,m,l,b,n){var r=this.chart,f=o.align,T=o.verticalAlign,w=u.box?0:u.padding||0,D=o.x;D=void 0===D?0:D;var d=o.y;d=void 0===d?0:d;var R=(m.x||0)+w;if(0>R){"right"===f&&0<=D?(o.align="left",o.inside=!0):D-=R;var a=!0}return(R=(m.x||0)+l.width-w)>r.plotWidth&&("left"===f&&0>=D?(o.align="right",o.inside=!0):D+=r.plotWidth-R,a=!0),0>(R=m.y+w)&&("bottom"===T&&0<=d?(o.verticalAlign="top",o.inside=!0):d-=R,a=!0),(R=(m.y||0)+l.height-w)>r.plotHeight&&("top"===T&&0>=d?(o.verticalAlign="bottom",o.inside=!0):d+=r.plotHeight-R,a=!0),a&&(o.x=D,o.y=d,u.placed=!n,u.align(o,void 0,b)),a}function P(u,o){var l,m=[];if(F(u)&&!F(o))m=u.map(function(b){return I(b,o)});else if(F(o)&&!F(u))m=o.map(function(b){return I(u,b)});else if(F(u)||F(o))for(l=Math.max(u.length,o.length);l--;)m[l]=I(u[l],o[l]);else m=I(u,o);return m}function g(u,o,m,l,b){var n=this.chart,r=n.inverted,f=this.xAxis,T=f.reversed,w=r?o.height/2:o.width/2;u=(u=u.pointWidth)?u/2:0,o.startXPos=r?b.x:T?-w-u:f.width-w+u,o.startYPos=r?T?this.yAxis.height-w+u:-w-u:b.y,l?"hidden"===o.visibility&&(o.show(),o.attr({opacity:0}).animate({opacity:1})):o.attr({opacity:1}).animate({opacity:0},void 0,o.hide),n.hasRendered&&(m&&o.attr({x:o.startXPos,y:o.startYPos}),o.placed=!0)}var c=[];M.compose=function(u){if(-1===c.indexOf(u)){var o=u.prototype;c.push(u),o.alignDataLabel=E,o.drawDataLabels=k,o.justifyDataLabel=O,o.setDataLabelStartPos=g}}}(S||(S={})),S}),Mt($,"Series/Column/ColumnDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=Y.series,Q=et.merge,it=et.pick;return function(W){function F(L,C,y,S,M){var E=this.chart.inverted,v=L.series,k=(v.xAxis?v.xAxis.len:this.chart.plotSizeX)||0,O=L.dlBox||L.shapeArgs,P=it(L.below,L.plotY>it(this.translatedThreshold,v=(v.yAxis?v.yAxis.len:this.chart.plotSizeY)||0)),g=it(y.inside,!!this.options.stacking);O&&(0>(S=Q(O)).y&&(S.height+=S.y,S.y=0),0<(O=S.y+S.height-v)&&O<S.height&&(S.height-=O),E&&(S={x:v-S.y-S.height,y:k-S.x-S.width,width:S.height,height:S.width}),g||(E?(S.x+=P?0:S.width,S.width=0):(S.y+=P?S.height:0,S.height=0))),y.align=it(y.align,!E||g?"center":P?"right":"left"),y.verticalAlign=it(y.verticalAlign,E||g?"middle":P?"top":"bottom"),rt.prototype.alignDataLabel.call(this,L,C,y,S,M),y.inside&&L.contrastColor&&C.css({color:L.contrastColor})}var I=[];W.compose=function(L){X.compose(rt),-1===I.indexOf(L)&&(I.push(L),L.prototype.alignDataLabel=F)}}(K||(K={})),K}),Mt($,"Series/Bar/BarSeries.js",[$["Series/Column/ColumnSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.extend,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.defaultOptions=it(X.defaultOptions,{}),W}(X),Q(et.prototype,{inverted:!0}),Y.registerSeriesType("bar",et),et}),Mt($,"Series/Scatter/ScatterSeries.js",[$["Series/Column/ColumnSeries.js"],$["Series/Line/LineSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),it=rt.addEvent,K=rt.extend,W=rt.merge;return rt=function(F){function I(){var L=null!==F&&F.apply(this,arguments)||this;return L.data=void 0,L.options=void 0,L.points=void 0,L}return Q(I,F),I.prototype.applyJitter=function(){var L=this,C=this.options.jitter,y=this.points.length;C&&this.points.forEach(function(S,M){["x","y"].forEach(function(E,v){var k="plot"+E.toUpperCase();if(C[E]&&!S.isNull){var O=L[E+"Axis"],P=C[E]*O.transA;if(O&&!O.isLog){var g=Math.max(0,S[k]-P);O=Math.min(O.len,S[k]+P),v=1e4*Math.sin(M+v*y),S[k]=g+(O-g)*(v-Math.floor(v)),"x"===E&&(S.clientX=S.plotX)}}})})},I.prototype.drawGraph=function(){this.options.lineWidth?F.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},I.defaultOptions=W(Y.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),I}(Y),K(rt.prototype,{drawTracker:X.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),it(rt,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",rt),rt}),Mt($,"Series/CenteredUtilities.js",[$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,F,rt=X.deg2rad,Q=et.isNumber,it=et.pick,K=et.relativeLength;return(F=W||(W={})).getCenter=function(){var I=this.options,L=this.chart,C=2*(I.slicedOffset||0),y=L.plotWidth-2*C,S=L.plotHeight-2*C,M=I.center,E=Math.min(y,S),v=I.thickness,k=I.size,O=I.innerSize||0;for("string"==typeof k&&(k=parseFloat(k)),"string"==typeof O&&(O=parseFloat(O)),I=[it(M[0],"50%"),it(M[1],"50%"),it(k&&0>k?void 0:I.size,"100%"),it(O&&0>O?void 0:I.innerSize||0,"0%")],!L.angular||this instanceof Y||(I[3]=0),M=0;4>M;++M)k=I[M],L=2>M||2===M&&/%$/.test(k),I[M]=K(k,[y,S,E,I[2]][M])+(L?C:0);return I[3]>I[2]&&(I[3]=I[2]),Q(v)&&2*v<I[2]&&0<v&&(I[3]=I[2]-2*v),I},F.getStartAndEndRadians=function(I,L){return I=Q(I)?I:0,L=Q(L)&&L>I&&360>L-I?L:I+360,{start:rt*(I+-90),end:rt*(L+-90)}},W}),Mt($,"Series/Pie/PiePoint.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et){var L,rt=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),Q=X.setAnimation,it=et.addEvent,K=et.defined;X=et.extend;var W=et.isNumber,F=et.pick,I=et.relativeLength;return Y=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.labelDistance=void 0,y.options=void 0,y.series=void 0,y}return rt(C,L),C.prototype.getConnectorPath=function(){var y=this.labelPosition,S=this.series.options.dataLabels,M=this.connectorShapes,E=S.connectorShape;return M[E]&&(E=M[E]),E.call(this,{x:y.final.x,y:y.final.y,alignment:y.alignment},y.connectorPosition,S)},C.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},C.prototype.haloPath=function(y){var S=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(S.x,S.y,S.r+y,S.r+y,{innerR:S.r-1,start:S.start,end:S.end})},C.prototype.init=function(){var y=this;L.prototype.init.apply(this,arguments),this.name=F(this.name,"Slice");var S=function(M){y.slice("select"===M.type)};return it(this,"select",S),it(this,"unselect",S),this},C.prototype.isValid=function(){return W(this.y)&&0<=this.y},C.prototype.setVisible=function(y,S){var M=this,E=this.series,v=E.chart,k=E.options.ignoreHiddenPoint;S=F(S,k),y!==this.visible&&(this.visible=this.options.visible=y=void 0===y?!this.visible:y,E.options.data[E.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(O){M[O]&&M[O][y?"show":"hide"](y)}),this.legendItem&&v.legend.colorizeItem(this,y),y||"hover"!==this.state||this.setState(""),k&&(E.isDirty=!0),S&&v.redraw())},C.prototype.slice=function(y,S,M){var E=this.series;Q(M,E.chart),F(S,!0),this.sliced=this.options.sliced=K(y)?y:!this.sliced,E.options.data[E.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},C}(Y),X(Y.prototype,{connectorShapes:{fixedOffset:function(L,C,y){var S=C.breakAt;return C=C.touchingSliceAt,[["M",L.x,L.y],y.softConnector?["C",L.x+("left"===L.alignment?-5:5),L.y,2*S.x-C.x,2*S.y-C.y,S.x,S.y]:["L",S.x,S.y],["L",C.x,C.y]]},straight:function(L,C){return[["M",L.x,L.y],["L",(C=C.touchingSliceAt).x,C.y]]},crookedLine:function(L,C,y){C=C.touchingSliceAt;var S=this.series,M=S.center[0],E=S.chart.plotWidth,v=S.chart.plotLeft;S=L.alignment;var k=this.shapeArgs.r;return y=I(y.crookDistance,1),y=["L",E="left"===S?M+k+(E+v-M-k)*(1-y):v+(M-k)*y,L.y],M=!0,("left"===S?E>L.x||E<C.x:E<L.x||E>C.x)&&(M=!1),L=[["M",L.x,L.y]],M&&L.push(y),L.push(["L",C.x,C.y]),L}}}),Y}),Mt($,"Series/Pie/PieSeries.js",[$["Series/CenteredUtilities.js"],$["Series/Column/ColumnSeries.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Series/Pie/PiePoint.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var k,I=this&&this.__extends||(k=function(O,P){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,c){g.__proto__=c}||function(g,c){for(var u in c)c.hasOwnProperty(u)&&(g[u]=c[u])})(O,P)},function(O,P){function g(){this.constructor=O}k(O,P),O.prototype=null===P?Object.create(P):(g.prototype=P.prototype,new g)}),L=X.getStartAndEndRadians;et=et.noop;var C=F.clamp,y=F.extend,S=F.fireEvent,M=F.merge,E=F.pick,v=F.relativeLength;return F=function(k){function O(){var P=null!==k&&k.apply(this,arguments)||this;return P.center=void 0,P.data=void 0,P.maxLabelDistance=void 0,P.options=void 0,P.points=void 0,P}return I(O,k),O.prototype.animate=function(P){var g=this,u=g.startAngleRad;P||g.points.forEach(function(o){var m=o.graphic,l=o.shapeArgs;m&&l&&(m.attr({r:E(o.startR,g.center&&g.center[3]/2),start:u,end:u}),m.animate({r:l.r,start:l.start,end:l.end},g.options.animation))})},O.prototype.drawEmpty=function(){var P=this.startAngleRad,g=this.endAngleRad,c=this.options;if(0===this.total&&this.center){var u=this.center[0],o=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(u,o,this.center[1]/2,0,P,g).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:W.arc(u,o,this.center[2]/2,0,{start:P,end:g,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":c.borderWidth,fill:c.fillColor||"none",stroke:c.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},O.prototype.drawPoints=function(){var P=this.chart.renderer;this.points.forEach(function(g){g.graphic&&g.hasNewShapeType()&&(g.graphic=g.graphic.destroy()),g.graphic||(g.graphic=P[g.shapeType](g.shapeArgs).add(g.series.group),g.delayedRendering=!0)})},O.prototype.generatePoints=function(){k.prototype.generatePoints.call(this),this.updateTotals()},O.prototype.getX=function(P,g,c){var u=this.center,o=this.radii?this.radii[c.index]||0:u[2]/2;return P=Math.asin(C((P-u[1])/(o+c.labelDistance),-1,1)),u[0]+(g?-1:1)*Math.cos(P)*(o+c.labelDistance)+(0<c.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},O.prototype.hasData=function(){return!!this.processedXData.length},O.prototype.redrawPoints=function(){var o,m,l,b,P=this,g=P.chart,c=g.renderer,u=P.options.shadow;this.drawEmpty(),!u||P.shadowGroup||g.styledMode||(P.shadowGroup=c.g("shadow").attr({zIndex:-1}).add(P.group)),P.points.forEach(function(n){var r={};if(m=n.graphic,!n.isNull&&m){var f=void 0;b=n.shapeArgs,o=n.getTranslate(),g.styledMode||(f=n.shadowGroup,u&&!f&&(f=n.shadowGroup=c.g("shadow").add(P.shadowGroup)),f&&f.attr(o),l=P.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(m.setRadialReference(P.center).attr(b).attr(o),g.styledMode||m.attr(l).attr({"stroke-linejoin":"round"}).shadow(u,f),n.delayedRendering=!1):(m.setRadialReference(P.center),g.styledMode||M(!0,r,l),M(!0,r,b,o),m.animate(r)),m.attr({visibility:n.visible?"inherit":"hidden"}),m.addClass(n.getClassName(),!0)}else m&&(n.graphic=m.destroy())})},O.prototype.sortByAngle=function(P,g){P.sort(function(c,u){return void 0!==c.angle&&(u.angle-c.angle)*g})},O.prototype.translate=function(P){this.generatePoints();var g=this.options,c=g.slicedOffset,u=c+(g.borderWidth||0),o=L(g.startAngle,g.endAngle),m=this.startAngleRad=o.start;o=(this.endAngleRad=o.end)-m;var l=this.points,b=g.dataLabels.distance;g=g.ignoreHiddenPoint;var r,n=l.length,f=0;for(P||(this.center=P=this.getCenter()),r=0;r<n;r++){var T=l[r],w=m+f*o;!T.isValid()||g&&!T.visible||(f+=T.percentage/100);var D=m+f*o,d={x:P[0],y:P[1],r:P[2]/2,innerR:P[3]/2,start:Math.round(1e3*w)/1e3,end:Math.round(1e3*D)/1e3};T.shapeType="arc",T.shapeArgs=d,T.labelDistance=E(T.options.dataLabels&&T.options.dataLabels.distance,b),T.labelDistance=v(T.labelDistance,d.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,T.labelDistance),(D=(D+w)/2)>1.5*Math.PI?D-=2*Math.PI:D<-Math.PI/2&&(D+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(D)*c),translateY:Math.round(Math.sin(D)*c)},d=Math.cos(D)*P[2]/2;var R=Math.sin(D)*P[2]/2;T.tooltipPos=[P[0]+.7*d,P[1]+.7*R],T.half=D<-Math.PI/2||D>Math.PI/2?1:0,T.angle=D,w=Math.min(u,T.labelDistance/5),T.labelPosition={natural:{x:P[0]+d+Math.cos(D)*T.labelDistance,y:P[1]+R+Math.sin(D)*T.labelDistance},final:{},alignment:0>T.labelDistance?"center":T.half?"right":"left",connectorPosition:{breakAt:{x:P[0]+d+Math.cos(D)*w,y:P[1]+R+Math.sin(D)*w},touchingSliceAt:{x:P[0]+d,y:P[1]+R}}}}S(this,"afterTranslate")},O.prototype.updateTotals=function(){var u,P=this.points,g=P.length,c=this.options.ignoreHiddenPoint,o=0;for(u=0;u<g;u++){var m=P[u];!m.isValid()||c&&!m.visible||(o+=m.y)}for(this.total=o,u=0;u<g;u++)(m=P[u]).percentage=0<o&&(m.visible||!c)?m.y/o*100:0,m.total=o},O.defaultOptions=M(it.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),O}(it),y(F.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:rt.drawRectangle,drawTracker:Y.prototype.drawTracker,getCenter:X.getCenter,getSymbol:et,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Y.prototype.pointAttribs,pointClass:Q,requireSorting:!1,searchPoint:et,trackerGroups:["group","dataLabelsGroup"]}),K.registerSeriesType("pie",F),F}),Mt($,"Series/Pie/PieDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var M,it=Y.noop,K=et.distribute,W=rt.series,F=Q.arrayMax,I=Q.clamp,L=Q.defined,C=Q.merge,y=Q.pick,S=Q.relativeLength;return function(E){function v(){var h,A,j,z,H,p,N,_,G,U,tt,J,c=this,u=c.data,o=c.chart,m=c.options.dataLabels||{},l=m.connectorPadding,b=o.plotWidth,n=o.plotHeight,r=o.plotLeft,f=Math.round(o.chartWidth/3),T=c.center,w=T[2]/2,D=T[1],d=[[],[]],R=[0,0,0,0],a=c.dataLabelPositioners;c.visible&&(m.enabled||c._hasPointLabels)&&(u.forEach(function(ot){ot.dataLabel&&ot.visible&&ot.dataLabel.shortened&&(ot.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),ot.dataLabel.shortened=!1)}),W.prototype.drawDataLabels.apply(c),u.forEach(function(ot){ot.dataLabel&&(ot.visible?(d[ot.half].push(ot),ot.dataLabel._pos=null,!L(m.style.width)&&!L(ot.options.dataLabels&&ot.options.dataLabels.style&&ot.options.dataLabels.style.width)&&ot.dataLabel.getBBox().width>f&&(ot.dataLabel.css({width:Math.round(.7*f)+"px"}),ot.dataLabel.shortened=!0)):(ot.dataLabel=ot.dataLabel.destroy(),ot.dataLabels&&1===ot.dataLabels.length&&delete ot.dataLabels))}),d.forEach(function(ot,at){var gt,ft=ot.length,mt=[];if(ft){if(c.sortByAngle(ot,at-.5),0<c.maxLabelDistance){var ut=Math.max(0,D-w-c.maxLabelDistance),ht=Math.min(D+w+c.maxLabelDistance,o.plotHeight);ot.forEach(function(V){0<V.labelDistance&&V.dataLabel&&(V.top=Math.max(0,D-w-V.labelDistance),V.bottom=Math.min(D+w+V.labelDistance,o.plotHeight),gt=V.dataLabel.getBBox().height||21,V.distributeBox={target:V.labelPosition.natural.y-V.top+gt/2,size:gt,rank:V.y},mt.push(V.distributeBox))}),K(mt,ut=ht+gt-ut,ut/5)}for(tt=0;tt<ft;tt++){if(z=(h=ot[tt]).dataLabel,U=!1===h.visible?"hidden":"inherit",G=ut=(p=h.labelPosition).natural.y,mt&&L(h.distributeBox)&&(void 0===h.distributeBox.pos?U="hidden":(N=h.distributeBox.size,G=a.radialDistributionY(h))),delete h.positionIndex,m.justify)_=a.justify(h,w,T);else switch(m.alignTo){case"connectors":_=a.alignToConnectors(ot,at,b,r);break;case"plotEdges":_=a.alignToPlotEdges(z,at,b,r);break;default:_=a.radialDistributionX(c,h,G,ut)}z._attr={visibility:U,align:p.alignment},z._pos={x:_+y((J=h.options.dataLabels||{}).x,m.x)+({left:l,right:-l}[p.alignment]||0),y:G+y(J.y,m.y)-10},p.final.x=_,p.final.y=G,y(m.crop,!0)&&(H=z.getBBox().width,ut=null,_-H<l&&1===at?(ut=Math.round(H-_+l),R[3]=Math.max(ut,R[3])):_+H>b-l&&0===at&&(ut=Math.round(_+H-b+l),R[1]=Math.max(ut,R[1])),0>G-N/2?R[0]=Math.max(Math.round(N/2-G),R[0]):G+N/2>n&&(R[2]=Math.max(Math.round(G+N/2-n),R[2])),z.sideOverflow=ut)}}}),0===F(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),this.points.forEach(function(ot){var at;J=C(m,ot.options.dataLabels),(A=y(J.connectorWidth,1))&&(j=ot.connector,(z=ot.dataLabel)&&z._pos&&ot.visible&&0<ot.labelDistance?(U=z._attr.visibility,(at=!j)&&(ot.connector=j=o.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+ot.colorIndex+(ot.className?" "+ot.className:"")).add(c.dataLabelsGroup),o.styledMode||j.attr({"stroke-width":A,stroke:J.connectorColor||ot.color||"#666666"})),j[at?"attr":"animate"]({d:ot.getConnectorPath()}),j.attr("visibility",U)):j&&(ot.connector=j.destroy()))}))}function k(){this.points.forEach(function(c){var o,u=c.dataLabel;u&&c.visible&&((o=u._pos)?(u.sideOverflow&&(u._attr.width=Math.max(u.getBBox().width-u.sideOverflow,0),u.css({width:u._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),u.shortened=!0),u.attr(u._attr),u[u.moved?"animate":"attr"](o),u.moved=!0):u&&u.attr({y:-9999})),delete c.distributeBox},this)}function O(c){var u=this.center,o=this.options,m=o.center,l=o.minSize||80,b=null!==o.size;if(!b){if(null!==m[0])var n=Math.max(u[2]-Math.max(c[1],c[3]),l);else n=Math.max(u[2]-c[1]-c[3],l),u[0]+=(c[3]-c[1])/2;null!==m[1]?n=I(n,l,u[2]-Math.max(c[0],c[2])):(n=I(n,l,u[2]-c[0]-c[2]),u[1]+=(c[0]-c[2])/2),n<u[2]?(u[2]=n,u[3]=Math.min(o.thickness?Math.max(0,n-2*o.thickness):Math.max(0,S(o.innerSize||0,n)),n),this.translate(u),this.drawDataLabels&&this.drawDataLabels()):b=!0}return b}var P=[],g={radialDistributionY:function(c){return c.top+c.distributeBox.pos},radialDistributionX:function(c,u,o,m){return c.getX(o<u.top+2||o>u.bottom-2?m:o,u.half,u)},justify:function(c,u,o){return o[0]+(c.half?-1:1)*(u+c.labelDistance)},alignToPlotEdges:function(c,u,o,m){return c=c.getBBox().width,u?c+m:o-c-m},alignToConnectors:function(c,u,o,m){var b,l=0;return c.forEach(function(n){(b=n.dataLabel.getBBox().width)>l&&(l=b)}),u?l+m:o-l-m}};E.compose=function(c){X.compose(W),-1===P.indexOf(c)&&(P.push(c),(c=c.prototype).dataLabelPositioners=g,c.alignDataLabel=it,c.drawDataLabels=v,c.placeDataLabels=k,c.verifyDataLabelOverflow=O)}}(M||(M={})),M}),Mt($,"Extensions/OverlappingDataLabels.js",[$["Core/Chart/Chart.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L){var C=!1;if(I){var y=I.newOpacity;I.oldOpacity!==y&&(I.alignAttr&&I.placed?(I[y?"removeClass":"addClass"]("highcharts-data-label-hidden"),C=!0,I.alignAttr.opacity=y,I[I.isOld?"animate":"attr"](I.alignAttr,null,function(){L.styledMode||I.css({pointerEvents:y?"auto":"none"})}),Q(L,"afterHideOverlappingLabel")):I.attr({opacity:y})),I.isOld=!0}return C}var Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.objectEach,F=Y.pick;(0,Y.addEvent)(X,"render",function(){var I=this,L=[];(this.labelCollectors||[]).forEach(function(C){L=L.concat(C())}),(this.yAxis||[]).forEach(function(C){C.stacking&&C.options.stackLabels&&!C.options.stackLabels.allowOverlap&&W(C.stacking.stacks,function(y){W(y,function(S){S.label&&L.push(S.label)})})}),(this.series||[]).forEach(function(C){var y=C.options.dataLabels;C.visible&&(!1!==y.enabled||C._hasPointLabels)&&((y=function(S){return S.forEach(function(M){M.visible&&(it(M.dataLabels)?M.dataLabels:M.dataLabel?[M.dataLabel]:[]).forEach(function(E){var v=E.options;E.labelrank=F(v.labelrank,M.labelrank,M.shapeArgs&&M.shapeArgs.height),v.allowOverlap?(E.oldOpacity=E.opacity,E.newOpacity=1,et(E,I)):L.push(E)})})})(C.nodes||[]),y(C.points))}),this.hideOverlappingLabels(L)}),X.prototype.hideOverlappingLabels=function(I){var S,M,E,L=this,C=I.length,y=L.renderer,v=!1,k=function(g){var c,m,u=g.box?0:g.padding||0,o=c=0;if(g&&(!g.alignAttr||g.placed)){var l=g.alignAttr||{x:g.attr("x"),y:g.attr("y")},b=g.parentGroup;return g.width||(c=g.getBBox(),g.width=c.width,g.height=c.height,c=y.fontMetrics(null,g.element).h),(m={left:"0",center:"0.5",right:"1"}[g.alignValue])?o=+m*(g.width-2*u):K(g.x)&&Math.round(g.x)!==g.translateX&&(o=g.x-g.translateX),{x:l.x+(b.translateX||0)+u-(o||0),y:l.y+(b.translateY||0)+u-c,width:g.width-2*u,height:g.height-2*u}}};for(M=0;M<C;M++)(S=I[M])&&(S.oldOpacity=S.opacity,S.newOpacity=1,S.absoluteBox=k(S));for(I.sort(function(g,c){return(c.labelrank||0)-(g.labelrank||0)}),M=0;M<C;M++){var O=(k=I[M])&&k.absoluteBox;for(S=M+1;S<C;++S){var P=(E=I[S])&&E.absoluteBox;!O||!P||k===E||0===k.newOpacity||0===E.newOpacity||"hidden"===k.visibility||"hidden"===E.visibility||P.x>=O.x+O.width||P.x+P.width<=O.x||P.y>=O.y+O.height||P.y+P.height<=O.y||((k.labelrank<E.labelrank?k:E).newOpacity=0)}}I.forEach(function(g){et(g,L)&&(v=!0)}),v&&Q(L,"afterHideAllOverlappingLabels")}}),Mt($,"Core/Responsive.js",[$["Core/Utilities.js"]],function(X){var L,Y=X.extend,et=X.find,rt=X.isArray,Q=X.isObject,it=X.merge,K=X.objectEach,W=X.pick,F=X.splat,I=X.uniqueKey;return function(C){var y=[];C.compose=function(M){return-1===y.indexOf(M)&&(y.push(M),Y(M.prototype,S.prototype)),M};var S=function(){function M(){}return M.prototype.currentOptions=function(E){var k=this,O={};return function v(P,g,c,u){var o;K(P,function(m,l){if(!u&&-1<k.collectionsWithUpdate.indexOf(l)&&g[l])for(m=F(m),c[l]=[],o=0;o<Math.max(m.length,g[l].length);o++)g[l][o]&&(void 0===m[o]?c[l][o]=g[l][o]:(c[l][o]={},v(m[o],g[l][o],c[l][o],u+1)));else Q(m)?(c[l]=rt(m)?[]:{},v(m,g[l]||{},c[l],u+1)):c[l]=void 0===g[l]?null:g[l]})}(E,this.options,O,0),O},M.prototype.matchResponsiveRule=function(E,v){var k=E.condition;(k.callback||function(){return this.chartWidth<=W(k.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=W(k.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=W(k.minWidth,0)&&this.chartHeight>=W(k.minHeight,0)}).call(this)&&v.push(E._id)},M.prototype.setResponsive=function(E,v){var k=this,O=this.options.responsive,P=this.currentResponsive,g=[];!v&&O&&O.rules&&O.rules.forEach(function(c){void 0===c._id&&(c._id=I()),k.matchResponsiveRule(c,g)},this),(v=it.apply(void 0,g.map(function(c){return et((O||{}).rules||[],function(u){return u._id===c})}).map(function(c){return c&&c.chartOptions}))).isResponsiveOptions=!0,(g=g.toString()||void 0)!==(P&&P.ruleIds)&&(P&&this.update(P.undoOptions,E,!0),g?((P=this.currentOptions(v)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:g,mergedOptions:v,undoOptions:P},this.update(v,E,!0)):this.currentResponsive=void 0)},M}()}(L||(L={})),L}),Mt($,"masters/highcharts.src.js",[$["Core/Globals.js"],$["Core/Utilities.js"],$["Core/DefaultOptions.js"],$["Core/Animation/Fx.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/FormatUtilities.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Renderer/HTML/HTMLElement.js"],$["Core/Renderer/HTML/HTMLRenderer.js"],$["Core/Axis/Axis.js"],$["Core/Axis/DateTimeAxis.js"],$["Core/Axis/LogarithmicAxis.js"],$["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],$["Core/Axis/Tick.js"],$["Core/Tooltip.js"],$["Core/Series/Point.js"],$["Core/Pointer.js"],$["Core/MSPointer.js"],$["Core/Legend/Legend.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Series/Column/ColumnSeries.js"],$["Series/Column/ColumnDataLabel.js"],$["Series/Pie/PieSeries.js"],$["Series/Pie/PieDataLabel.js"],$["Core/Series/DataLabel.js"],$["Core/Responsive.js"],$["Core/Color/Color.js"],$["Core/Time.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M,E,v,k,O,P,g,c,u,o,m,l,b,n,r,f,T,w,D){return X.animate=Q.animate,X.animObject=Q.animObject,X.getDeferredAnimation=Q.getDeferredAnimation,X.setAnimation=Q.setAnimation,X.stop=Q.stop,X.timers=rt.timers,X.AST=it,X.Axis=y,X.Chart=u,X.chart=u.chart,X.Fx=rt,X.Legend=c,X.PlotLineOrBand=E,X.Point=O,X.Pointer=g.isRequired()?g:P,X.Series=o,X.SVGElement=F,X.SVGRenderer=I,X.Tick=v,X.Time=D,X.Tooltip=k,X.Color=w,X.color=w.parse,C.compose(I),L.compose(F),X.defaultOptions=et.defaultOptions,X.getOptions=et.getOptions,X.time=et.defaultTime,X.setOptions=et.setOptions,X.dateFormat=K.dateFormat,X.format=K.format,X.numberFormat=K.numberFormat,X.addEvent=Y.addEvent,X.arrayMax=Y.arrayMax,X.arrayMin=Y.arrayMin,X.attr=Y.attr,X.clearTimeout=Y.clearTimeout,X.correctFloat=Y.correctFloat,X.createElement=Y.createElement,X.css=Y.css,X.defined=Y.defined,X.destroyObjectProperties=Y.destroyObjectProperties,X.discardElement=Y.discardElement,X.distribute=W.distribute,X.erase=Y.erase,X.error=Y.error,X.extend=Y.extend,X.extendClass=Y.extendClass,X.find=Y.find,X.fireEvent=Y.fireEvent,X.getMagnitude=Y.getMagnitude,X.getStyle=Y.getStyle,X.inArray=Y.inArray,X.isArray=Y.isArray,X.isClass=Y.isClass,X.isDOMElement=Y.isDOMElement,X.isFunction=Y.isFunction,X.isNumber=Y.isNumber,X.isObject=Y.isObject,X.isString=Y.isString,X.keys=Y.keys,X.merge=Y.merge,X.normalizeTickInterval=Y.normalizeTickInterval,X.objectEach=Y.objectEach,X.offset=Y.offset,X.pad=Y.pad,X.pick=Y.pick,X.pInt=Y.pInt,X.relativeLength=Y.relativeLength,X.removeEvent=Y.removeEvent,X.seriesType=m.seriesType,X.splat=Y.splat,X.stableSort=Y.stableSort,X.syncTimeout=Y.syncTimeout,X.timeUnits=Y.timeUnits,X.uniqueKey=Y.uniqueKey,X.useSerialIds=Y.useSerialIds,X.wrap=Y.wrap,b.compose(l),f.compose(o),S.compose(y),M.compose(y),r.compose(n),E.compose(y),T.compose(u),X}),$["masters/highcharts.src.js"]._modules=$,$["masters/highcharts.src.js"]},Te.exports?(Mt.default=Mt,Te.exports=de.document?Mt(de):Mt):void 0!==(oe=function(){return Mt(de)}.call(hi,Ve,hi,Te))&&(Te.exports=oe)},220:function(Te,hi,Ve){var oe,de,Mt;de="undefined"!=typeof window?window:this,Mt=function(de){function Mt(X,Y,et,rt){X.hasOwnProperty(Y)||(X[Y]=rt.apply(null,et),"function"==typeof CustomEvent&&de.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:Y,module:X[Y]}})))}var $={};return Mt($,"Core/Globals.js",[],function(){var X,Y;return(Y=X||(X={})).SVG_NS="http://www.w3.org/2000/svg",Y.product="Highcharts",Y.version="10.1.0",Y.win=void 0!==de?de:{},Y.doc=Y.win.document,Y.svg=Y.doc&&Y.doc.createElementNS&&!!Y.doc.createElementNS(Y.SVG_NS,"svg").createSVGRect,Y.userAgent=Y.win.navigator&&Y.win.navigator.userAgent||"",Y.isChrome=-1!==Y.userAgent.indexOf("Chrome"),Y.isFirefox=-1!==Y.userAgent.indexOf("Firefox"),Y.isMS=/(edge|msie|trident)/i.test(Y.userAgent)&&!Y.win.opera,Y.isSafari=!Y.isChrome&&-1!==Y.userAgent.indexOf("Safari"),Y.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Y.userAgent),Y.isWebKit=-1!==Y.userAgent.indexOf("AppleWebKit"),Y.deg2rad=2*Math.PI/360,Y.hasBidiBug=Y.isFirefox&&4>parseInt(Y.userAgent.split("Firefox/")[1],10),Y.hasTouch=!!Y.win.TouchEvent,Y.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Y.noop=function(){},Y.supportsPassiveEvents=function(){var et=!1;if(!Y.isMS){var rt=Object.defineProperty({},"passive",{get:function(){et=!0}});Y.win.addEventListener&&Y.win.removeEventListener&&(Y.win.addEventListener("testPassive",Y.noop,rt),Y.win.removeEventListener("testPassive",Y.noop,rt))}return et}(),Y.charts=[],Y.dateFormats={},Y.seriesTypes={},Y.symbolSizes={},Y.chartCount=0,X}),Mt($,"Core/Utilities.js",[$["Core/Globals.js"]],function(X){function Y(n,r,f,T){var w=r?"Highcharts error":"Highcharts warning";32===n&&(n=w+": Deprecated member");var D=I(n),d=D?w+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();if(void 0!==T){var R="";D&&(d+="?"),O(T,function(a,h){R+="\n - "+h+": "+a,D&&(d+=encodeURI(h)+"="+encodeURI(a))}),d+=R}g(X,"displayError",{chart:f,code:n,message:d,params:T},function(){if(r)throw Error(d);o.console&&-1===Y.messages.indexOf(d)&&console.warn(d)}),Y.messages.push(d)}function rt(n,r){return parseInt(n,r||10)}function Q(n){return"string"==typeof n}function it(n){return"[object Array]"===(n=Object.prototype.toString.call(n))||"[object Array Iterator]"===n}function K(n,r){return!(!n||"object"!=typeof n||r&&it(n))}function W(n){return K(n)&&"number"==typeof n.nodeType}function F(n){var r=n&&n.constructor;return!(!K(n,!0)||W(n)||!r||!r.name||"Object"===r.name)}function I(n){return"number"==typeof n&&!isNaN(n)&&1/0>n&&-1/0<n}function L(n){return null!=n}function C(n,r,f){var w,T=Q(r)&&!L(f),D=function(d,R){L(d)?n.setAttribute(R,d):T?(w=n.getAttribute(R))||"class"!==R||(w=n.getAttribute(R+"Name")):n.removeAttribute(R)};return Q(r)?D(f,r):O(r,D),w}function y(n,r){var f;for(f in n||(n={}),r)n[f]=r[f];return n}function S(){for(var n=arguments,r=n.length,f=0;f<r;f++){var T=n[f];if(null!=T)return T}}function M(n,r){X.isMS&&!X.svg&&r&&L(r.opacity)&&(r.filter="alpha(opacity="+100*r.opacity+")"),y(n.style,r)}function E(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))}function v(n,r){return 1e14<n?n:parseFloat(n.toPrecision(r||14))}function O(n,r,f){for(var T in n)Object.hasOwnProperty.call(n,T)&&r.call(f||n[T],n[T],T,n)}function P(n,r,f){function T(R,a){var h=n.removeEventListener||X.removeEventListenerPolyfill;h&&h.call(n,R,a,!1)}function w(R){var a;if(n.nodeName){if(r){var h={};h[r]=!0}else h=R;O(h,function(A,j){if(R[j])for(a=R[j].length;a--;)T(j,R[j][a].fn)})}}var D="function"==typeof n&&n.prototype||n;if(Object.hasOwnProperty.call(D,"hcEvents")){var d=D.hcEvents;r?(D=d[r]||[],f?(d[r]=D.filter(function(R){return f!==R.fn}),T(r,f)):(w(d),d[r]=[])):(w(d),delete D.hcEvents)}}function g(n,r,f,T){if(f=f||{},u.createEvent&&(n.dispatchEvent||n.fireEvent&&n!==X)){var w=u.createEvent("Events");w.initEvent(r,!0,!0),f=y(w,f),n.dispatchEvent?n.dispatchEvent(f):n.fireEvent(r,f)}else if(n.hcEvents){f.target||y(f,{preventDefault:function(){f.defaultPrevented=!0},target:n,type:r}),w=[];for(var D=n,d=!1;D.hcEvents;)Object.hasOwnProperty.call(D,"hcEvents")&&D.hcEvents[r]&&(w.length&&(d=!0),w.unshift.apply(w,D.hcEvents[r])),D=Object.getPrototypeOf(D);d&&w.sort(function(R,a){return R.order-a.order}),w.forEach(function(R){!1===R.fn.call(n,f)&&f.preventDefault()})}T&&!f.defaultPrevented&&T.call(n,f)}var c=X.charts,u=X.doc,o=X.win;(Y||(Y={})).messages=[],Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var m=Array.prototype.find?function(n,r){return n.find(r)}:function(n,r){var f,T=n.length;for(f=0;f<T;f++)if(r(n[f],f))return n[f]};O({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(n,r){X[r]=function(f){var T;return Y(32,!1,void 0,((T={})["Highcharts."+r]="use Array."+n,T)),Array.prototype[n].apply(f,[].slice.call(arguments,1))}});var l,n,r,b=(n=Math.random().toString(36).substring(2,9)+"-",r=0,function(){return"highcharts-"+(l?"":n)+r++});return o.jQuery&&(o.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new(X[Q(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):c[C(this[0],"data-highcharts-chart")]}),m={addEvent:function(n,r,f,T){void 0===T&&(T={});var w="function"==typeof n&&n.prototype||n;Object.hasOwnProperty.call(w,"hcEvents")||(w.hcEvents={}),w=w.hcEvents,X.Point&&n instanceof X.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);var D=n.addEventListener||X.addEventListenerPolyfill;return D&&D.call(n,r,f,!!X.supportsPassiveEvents&&{passive:void 0===T.passive?-1!==r.indexOf("touch"):T.passive,capture:!1}),w[r]||(w[r]=[]),w[r].push({fn:f,order:"number"==typeof T.order?T.order:1/0}),w[r].sort(function(d,R){return d.order-R.order}),function(){P(n,r,f)}},arrayMax:function(n){for(var r=n.length,f=n[0];r--;)n[r]>f&&(f=n[r]);return f},arrayMin:function(n){for(var r=n.length,f=n[0];r--;)n[r]<f&&(f=n[r]);return f},attr:C,clamp:function(n,r,f){return n>r?n<f?n:f:r},cleanRecursively:function et(n,r){var f={};return O(n,function(T,w){K(n[w],!0)&&!n.nodeType&&r[w]?(T=et(n[w],r[w]),Object.keys(T).length&&(f[w]=T)):(K(n[w])||n[w]!==r[w]||w in n&&!(w in r))&&(f[w]=n[w])}),f},clearTimeout:function(n){L(n)&&clearTimeout(n)},correctFloat:v,createElement:function(n,r,f,T,w){return n=u.createElement(n),r&&y(n,r),w&&M(n,{padding:"0",border:"none",margin:"0"}),f&&M(n,f),T&&T.appendChild(n),n},css:M,defined:L,destroyObjectProperties:function(n,r){O(n,function(f,T){f&&f!==r&&f.destroy&&f.destroy(),delete n[T]})},discardElement:function(n){n&&n.parentElement&&n.parentElement.removeChild(n)},erase:function(n,r){for(var f=n.length;f--;)if(n[f]===r){n.splice(f,1);break}},error:Y,extend:y,extendClass:function(n,r){var f=function(){};return y(f.prototype=new n,r),f},find:m,fireEvent:g,getMagnitude:E,getNestedProperty:function(n,r){for(n=n.split(".");n.length&&L(r);){var f=n.shift();if(void 0===f||"__proto__"===f||!L(r=r[f])||"function"==typeof r||"number"==typeof r.nodeType||r===o)return}return r},getStyle:function k(n,r,f){var T=X.getStyle||k;if("width"===r)return r=Math.min(n.offsetWidth,n.scrollWidth),(f=n.getBoundingClientRect&&n.getBoundingClientRect().width)<r&&f>=r-1&&(r=Math.floor(f)),Math.max(0,r-(T(n,"padding-left",!0)||0)-(T(n,"padding-right",!0)||0));if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(T(n,"padding-top",!0)||0)-(T(n,"padding-bottom",!0)||0));if(o.getComputedStyle||Y(27,!0),n=o.getComputedStyle(n,void 0)){var w=n.getPropertyValue(r);S(f,"opacity"!==r)&&(w=rt(w))}return w},inArray:function(n,r,f){return Y(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(n,f)},isArray:it,isClass:F,isDOMElement:W,isFunction:function(n){return"function"==typeof n},isNumber:I,isObject:K,isString:Q,keys:function(n){return Y(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)},merge:function(){var n,r=arguments,f={},T=function(D,d){return"object"!=typeof D&&(D={}),O(d,function(R,a){"__proto__"!==a&&"constructor"!==a&&(D[a]=!K(R,!0)||F(R)||W(R)?d[a]:T(D[a]||{},R))}),D};!0===r[0]&&(f=r[1],r=Array.prototype.slice.call(r,2));var w=r.length;for(n=0;n<w;n++)f=T(f,r[n]);return f},normalizeTickInterval:function(n,r,f,T,w){var D=n,d=n/(f=S(f,E(n)));for(r||(r=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===T&&(1===f?r=r.filter(function(R){return R%1==0}):.1>=f&&(r=[1/f]))),T=0;T<r.length&&(D=r[T],!(w&&D*f>=n||!w&&d<=(r[T]+(r[T+1]||r[T]))/2));T++);return v(D*f,-Math.round(Math.log(.001)/Math.LN10))},objectEach:O,offset:function(n){var r=u.documentElement;return{top:(n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(o.pageYOffset||r.scrollTop)-(r.clientTop||0),left:n.left+(o.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:n.width,height:n.height}},pad:function(n,r,f){return Array((r||2)+1-String(n).replace("-","").length).join(f||"0")+n},pick:S,pInt:rt,relativeLength:function(n,r,f){return/%$/.test(n)?r*parseFloat(n)/100+(f||0):parseFloat(n)},removeEvent:P,splat:function(n){return it(n)?n:[n]},stableSort:function(n,r){var T,w,f=n.length;for(w=0;w<f;w++)n[w].safeI=w;for(n.sort(function(D,d){return 0===(T=r(D,d))?D.safeI-d.safeI:T}),w=0;w<f;w++)delete n[w].safeI},syncTimeout:function(n,r,f){return 0<r?setTimeout(n,r,f):(n.call(0,f),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:b,useSerialIds:function(n){return l=S(n,l)},wrap:function(n,r,f){var T=n[r];n[r]=function(){var w=Array.prototype.slice.call(arguments),D=arguments,d=this;return d.proceed=function(){T.apply(d,arguments.length?arguments:D)},w.unshift(T),w=f.apply(this,w),d.proceed=null,w}}},m}),Mt($,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Mt($,"Core/Color/Color.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.isNumber,rt=Y.merge,Q=Y.pInt;return function(){function it(K){this.rgba=[NaN,NaN,NaN,NaN],this.input=K;var W=X.Color;return W&&W!==it?new W(K):this instanceof it?void this.init(K):new it(K)}return it.parse=function(K){return K?new it(K):it.None},it.prototype.init=function(K){var W;if("object"==typeof K&&void 0!==K.stops)this.stops=K.stops.map(function(C){return new it(C[1])});else if("string"==typeof K){if(this.input=K=it.names[K.toLowerCase()]||K,"#"===K.charAt(0)){var F=K.length,I=parseInt(K.substr(1),16);7===F?W=[(16711680&I)>>16,(65280&I)>>8,255&I,1]:4===F&&(W=[(3840&I)>>4|(3840&I)>>8,(240&I)>>4|240&I,(15&I)<<4|15&I,1])}if(!W)for(I=it.parsers.length;I--&&!W;){var L=it.parsers[I];(F=L.regex.exec(K))&&(W=L.parse(F))}}W&&(this.rgba=W)},it.prototype.get=function(K){var W=this.input,F=this.rgba;if("object"==typeof W&&void 0!==this.stops){var I=rt(W);return I.stops=[].slice.call(I.stops),this.stops.forEach(function(L,C){I.stops[C]=[I.stops[C][0],L.get(K)]}),I}return F&&et(F[0])?"rgb"===K||!K&&1===F[3]?"rgb("+F[0]+","+F[1]+","+F[2]+")":"a"===K?""+F[3]:"rgba("+F.join(",")+")":W},it.prototype.brighten=function(K){var W=this.rgba;if(this.stops)this.stops.forEach(function(I){I.brighten(K)});else if(et(K)&&0!==K)for(var F=0;3>F;F++)W[F]+=Q(255*K),0>W[F]&&(W[F]=0),255<W[F]&&(W[F]=255);return this},it.prototype.setOpacity=function(K){return this.rgba[3]=K,this},it.prototype.tweenTo=function(K,W){var F=this.rgba,I=K.rgba;return et(F[0])&&et(I[0])?((K=1!==I[3]||1!==F[3])?"rgba(":"rgb(")+Math.round(I[0]+(F[0]-I[0])*(1-W))+","+Math.round(I[1]+(F[1]-I[1])*(1-W))+","+Math.round(I[2]+(F[2]-I[2])*(1-W))+(K?","+(I[3]+(F[3]-I[3])*(1-W)):"")+")":K.input||"none"},it.names={white:"#ffffff",black:"#000000"},it.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(K){return[Q(K[1]),Q(K[2]),Q(K[3]),parseFloat(K[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(K){return[Q(K[1]),Q(K[2]),Q(K[3]),1]}}],it.None=new it(""),it}()}),Mt($,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}}),Mt($,"Core/Time.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.win,rt=Y.defined,Q=Y.error,it=Y.extend,K=Y.isObject,W=Y.merge,F=Y.objectEach,I=Y.pad,L=Y.pick,C=Y.splat,y=Y.timeUnits,S=X.isSafari&&et.Intl&&et.Intl.DateTimeFormat.prototype.formatRange,M=X.isSafari&&et.Intl&&!et.Intl.DateTimeFormat.prototype.formatRange;return Y=function(){function E(v){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=et.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(v)}return E.prototype.get=function(v,k){if(this.variableTimezone||this.timezoneOffset){var O=k.getTime(),P=O-this.getTimezoneOffset(k);return k.setTime(P),v=k["getUTC"+v](),k.setTime(O),v}return this.useUTC?k["getUTC"+v]():k["get"+v]()},E.prototype.set=function(v,k,O){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===v||"Seconds"===v||"Minutes"===v&&this.getTimezoneOffset(k)%36e5==0)return k["setUTC"+v](O);var P=this.getTimezoneOffset(k);return P=k.getTime()-P,k.setTime(P),k["setUTC"+v](O),v=this.getTimezoneOffset(k),P=k.getTime()+v,k.setTime(P)}return this.useUTC||S&&"FullYear"===v?k["setUTC"+v](O):k["set"+v](O)},E.prototype.update=function(v){var k=L(v&&v.useUTC,!0);this.options=v=W(!0,this.options||{},v),this.Date=v.Date||et.Date||Date,this.timezoneOffset=(this.useUTC=k)&&v.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=k&&!(!v.getTimezoneOffset&&!v.timezone)},E.prototype.makeTime=function(v,k,O,P,g,c){if(this.useUTC){var u=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(u),m=this.getTimezoneOffset(u+=o);o!==m?u+=m-o:o-36e5!==this.getTimezoneOffset(u-36e5)||M||(u-=36e5)}else u=new this.Date(v,k,L(O,1),L(P,0),L(g,0),L(c,0)).getTime();return u},E.prototype.timezoneOffsetFunction=function(){var v=this,k=this.options,O=k.getTimezoneOffset,P=k.moment||et.moment;if(!this.useUTC)return function(g){return 6e4*new Date(g.toString()).getTimezoneOffset()};if(k.timezone){if(P)return function(g){return 6e4*-P.tz(g,k.timezone).utcOffset()};Q(25)}return this.useUTC&&O?function(g){return 6e4*O(g.valueOf())}:function(){return 6e4*(v.timezoneOffset||0)}},E.prototype.dateFormat=function(v,k,O){if(!rt(k)||isNaN(k))return X.defaultOptions.lang&&X.defaultOptions.lang.invalidDate||"";v=L(v,"%Y-%m-%d %H:%M:%S");var P=this,g=new this.Date(k),c=this.get("Hours",g),u=this.get("Day",g),o=this.get("Date",g),m=this.get("Month",g),l=this.get("FullYear",g),b=X.defaultOptions.lang,n=b&&b.weekdays,r=b&&b.shortWeekdays;return g=it({a:r?r[u]:n[u].substr(0,3),A:n[u],d:I(o),e:I(o,2," "),w:u,b:b.shortMonths[m],B:b.months[m],m:I(m+1),o:m+1,y:l.toString().substr(2,2),Y:l,H:I(c),k:c,I:I(c%12||12),l:c%12||12,M:I(this.get("Minutes",g)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:I(g.getSeconds()),L:I(Math.floor(k%1e3),3)},X.dateFormats),F(g,function(f,T){for(;-1!==v.indexOf("%"+T);)v=v.replace("%"+T,"function"==typeof f?f.call(P,k):f)}),O?v.substr(0,1).toUpperCase()+v.substr(1):v},E.prototype.resolveDTLFormat=function(v){return K(v,!0)?v:{main:(v=C(v))[0],from:v[1],to:v[2]}},E.prototype.getTimeTicks=function(v,k,O,P){var b,g=this,c=[],u={},o=new g.Date(k),m=v.unitRange,l=v.count||1;if(P=L(P,1),rt(k)){if(g.set("Milliseconds",o,m>=y.second?0:l*Math.floor(g.get("Milliseconds",o)/l)),m>=y.second&&g.set("Seconds",o,m>=y.minute?0:l*Math.floor(g.get("Seconds",o)/l)),m>=y.minute&&g.set("Minutes",o,m>=y.hour?0:l*Math.floor(g.get("Minutes",o)/l)),m>=y.hour&&g.set("Hours",o,m>=y.day?0:l*Math.floor(g.get("Hours",o)/l)),m>=y.day&&g.set("Date",o,m>=y.month?1:Math.max(1,l*Math.floor(g.get("Date",o)/l))),m>=y.month){g.set("Month",o,m>=y.year?0:l*Math.floor(g.get("Month",o)/l));var n=g.get("FullYear",o)}m>=y.year&&g.set("FullYear",o,n-n%l),m===y.week&&(n=g.get("Day",o),g.set("Date",o,g.get("Date",o)-n+P+(n<P?-7:0))),n=g.get("FullYear",o),P=g.get("Month",o);var r=g.get("Date",o),f=g.get("Hours",o);for(k=o.getTime(),!g.variableTimezone&&g.useUTC||!rt(O)||(b=O-k>4*y.month||g.getTimezoneOffset(k)!==g.getTimezoneOffset(O)),k=o.getTime(),o=1;k<O;)c.push(k),k=m===y.year?g.makeTime(n+o*l,0):m===y.month?g.makeTime(n,P+o*l):!b||m!==y.day&&m!==y.week?b&&m===y.hour&&1<l?g.makeTime(n,P,r,f+o*l):k+m*l:g.makeTime(n,P,r+o*l*(m===y.day?1:7)),o++;c.push(k),m<=y.hour&&1e4>c.length&&c.forEach(function(T){T%18e5==0&&"000000000"===g.dateFormat("%H%M%S%L",T)&&(u[T]="day")})}return c.info=it(v,{higherRanks:u,totalRange:m*l}),c},E.prototype.getDateFormat=function(v,k,O,P){var g=this.dateFormat("%m-%d %H:%M:%S.%L",k),c={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(o in y){if(v===y.week&&+this.dateFormat("%w",k)===O&&"00:00:00.000"===g.substr(6)){var o="week";break}if(y[o]>v){o=u;break}if(c[o]&&g.substr(c[o])!=="01-01 00:00:00.000".substr(c[o]))break;"week"!==o&&(u=o)}if(o)var m=this.resolveDTLFormat(P[o]).main;return m},E}(),Y}),Mt($,"Core/DefaultOptions.js",[$["Core/Chart/ChartDefaults.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Color/Palettes.js"],$["Core/Time.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){Y=Y.parse;var K=it.merge,W={colors:rt.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:X,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",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:et.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:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:et.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:Y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},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"}};W.chart.styledMode=!1;var F=new Q(K(W.global,W.time));return{defaultOptions:W,defaultTime:F,getOptions:function(){return W},setOptions:function(I){return K(!0,W,I),(I.time||I.global)&&(et.time?et.time.update(K(W.global,W.time,I.global,I.time)):et.time=F),W}}}),Mt($,"Core/Animation/Fx.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=X.parse,Q=Y.win,it=et.isNumber,K=et.objectEach;return function(){function W(F,I,L){this.pos=NaN,this.options=I,this.elem=F,this.prop=L}return W.prototype.dSetter=function(){var F=this.paths,I=F&&F[0];F=F&&F[1];var L=this.now||0,C=[];if(1!==L&&I&&F)if(I.length===F.length&&1>L)for(var y=0;y<F.length;y++){for(var S=I[y],M=F[y],E=[],v=0;v<M.length;v++){var k=S[v],O=M[v];E[v]=it(k)&&it(O)&&("A"!==M[0]||4!==v&&5!==v)?k+L*(O-k):O}C.push(E)}else C=F;else C=this.toD||[];this.elem.attr("d",C,void 0,!0)},W.prototype.update=function(){var F=this.elem,I=this.prop,L=this.now,C=this.options.step;this[I+"Setter"]?this[I+"Setter"]():F.attr?F.element&&F.attr(I,L,null,!0):F.style[I]=L+this.unit,C&&C.call(F,L,this)},W.prototype.run=function(F,I,L){var C=this,y=C.options,S=function(v){return!S.stopped&&C.step(v)},M=Q.requestAnimationFrame||function(v){setTimeout(v,13)},E=function(){for(var v=0;v<W.timers.length;v++)W.timers[v]()||W.timers.splice(v--,1);W.timers.length&&M(E)};F!==I||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=F,this.end=I,this.unit=L,this.now=this.start,this.pos=0,S.elem=this.elem,S.prop=this.prop,S()&&1===W.timers.push(S)&&M(E)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},W.prototype.step=function(F){var I=+new Date,L=this.options,C=this.elem,y=L.complete,S=L.duration,M=L.curAnim;if(C.attr&&!C.element)F=!1;else if(F||I>=S+this.startTime){this.now=this.end,this.pos=1,this.update();var E=M[this.prop]=!0;K(M,function(v){!0!==v&&(E=!1)}),E&&y&&y.call(C),F=!1}else this.pos=L.easing((I-this.startTime)/S),this.now=this.start+(this.end-this.start)*this.pos,this.update(),F=!0;return F},W.prototype.initPath=function(F,I,L){function C(g,c){for(;g.length<P;){var u=g[0],o=c[P-g.length];o&&"M"===u[0]&&(g[0]="C"===o[0]?["C",u[1],u[2],u[1],u[2],u[1],u[2]]:["L",u[1],u[2]]),g.unshift(u),E&&(u=g.pop(),g.push(g[g.length-1],u))}}function y(g,c){for(;g.length<P;)if("C"===(c=g[Math.floor(g.length/v)-1].slice())[0]&&(c[1]=c[5],c[2]=c[6]),E){var u=g[Math.floor(g.length/v)].slice();g.splice(g.length/2,0,c,u)}else g.push(c)}var S=F.startX,M=F.endX;L=L.slice();var E=F.isArea,v=E?2:1;if(!(I=I&&I.slice()))return[L,L];if(S&&M&&M.length){for(F=0;F<S.length;F++){if(S[F]===M[0]){var k=F;break}if(S[0]===M[M.length-S.length+F]){k=F;var O=!0;break}if(S[S.length-1]===M[M.length-S.length+F]){k=S.length-F;break}}void 0===k&&(I=[])}if(I.length&&it(k)){var P=L.length+k*v;O?(C(I,L),y(L,I)):(C(L,I),y(I,L))}return[I,L]},W.prototype.fillSetter=function(){W.prototype.strokeSetter.apply(this,arguments)},W.prototype.strokeSetter=function(){this.elem.attr(this.prop,rt(this.start).tweenTo(rt(this.end),this.pos),void 0,!0)},W.timers=[],W}()}),Mt($,"Core/Animation/AnimationUtilities.js",[$["Core/Animation/Fx.js"],$["Core/Utilities.js"]],function(X,Y){function et(y){return F(y)?I({duration:500,defer:0},y):{duration:y?500:0,defer:0}}function rt(y,S){for(var M=X.timers.length;M--;)X.timers[M].elem!==y||S&&S!==X.timers[M].prop||(X.timers[M].stopped=!0)}var Q=Y.defined,it=Y.getStyle,K=Y.isArray,W=Y.isNumber,F=Y.isObject,I=Y.merge,L=Y.objectEach,C=Y.pick;return{animate:function(y,S,M){var E,k,O,v="";if(!F(M)){var P=arguments;M={duration:P[2],easing:P[3],complete:P[4]}}W(M.duration)||(M.duration=400),M.easing="function"==typeof M.easing?M.easing:Math[M.easing]||Math.easeInOutSine,M.curAnim=I(S),L(S,function(g,c){rt(y,c),O=new X(y,M,c),k=void 0,"d"===c&&K(S.d)?(O.paths=O.initPath(y,y.pathArray,S.d),O.toD=S.d,E=0,k=1):y.attr?E=y.attr(c):(E=parseFloat(it(y,c))||0,"opacity"!==c&&(v="px")),k||(k=g),"string"==typeof k&&k.match("px")&&(k=k.replace(/px/g,"")),O.run(E,k,v)})},animObject:et,getDeferredAnimation:function(y,S,M){var E=et(S),v=0,k=0;return(M?[M]:y.series).forEach(function(O){O=et(O.options.animation),v=S&&Q(S.defer)?E.defer:Math.max(v,O.duration+O.defer),k=Math.min(E.duration,O.duration)}),y.renderer.forExport&&(v=0),{defer:Math.max(0,v-k),duration:Math.min(v,k)}},setAnimation:function(y,S){S.renderer.globalAnimation=C(y,S.options.chart.animation,!0)},stop:rt}}),Mt($,"Core/Renderer/HTML/AST.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.SVG_NS,rt=Y.attr,Q=Y.createElement,it=Y.css,K=Y.error,W=Y.isFunction,F=Y.isString,I=Y.objectEach,L=Y.splat,C=(Y=X.win.trustedTypes)&&W(Y.createPolicy)&&Y.createPolicy("highcharts",{createHTML:function(M){return M}}),y=C?C.createHTML(""):"";try{var S=!!(new DOMParser).parseFromString(y,"text/html")}catch(M){S=!1}return function(){function M(E){this.nodes="string"==typeof E?this.parseMarkup(E):E}return M.filterUserAttributes=function(E){return I(E,function(v,k){var O=!0;-1===M.allowedAttributes.indexOf(k)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(O=F(v)&&M.allowedReferences.some(function(P){return 0===v.indexOf(P)})),O||(K(33,!1,void 0,{"Invalid attribute in config":""+k}),delete E[k])}),E},M.parseStyle=function(E){return E.split(";").reduce(function(v,k){var O=(k=k.split(":").map(function(P){return P.trim()})).shift();return O&&k.length&&(v[O.replace(/-([a-z])/g,function(P){return P[1].toUpperCase()})]=k.join(":")),v},{})},M.setElementHTML=function(E,v){E.innerHTML=M.emptyHTML,v&&new M(v).addToDOM(E)},M.prototype.addToDOM=function(E){return function v(k,O){var P;return L(k).forEach(function(g){var c=g.tagName,u=g.textContent?X.doc.createTextNode(g.textContent):void 0,o=M.bypassHTMLFiltering;if(c)if("#text"===c)var m=u;else if(-1!==M.allowedTags.indexOf(c)||o){c=X.doc.createElementNS("svg"===c?et:O.namespaceURI||et,c);var l=g.attributes||{};I(g,function(b,n){"tagName"!==n&&"attributes"!==n&&"children"!==n&&"style"!==n&&"textContent"!==n&&(l[n]=b)}),rt(c,o?l:M.filterUserAttributes(l)),g.style&&it(c,g.style),u&&c.appendChild(u),v(g.children||[],c),m=c}else K(33,!1,void 0,{"Invalid tagName in config":c});m&&O.appendChild(m),P=m}),P}(this.nodes,E)},M.prototype.parseMarkup=function(E){var v=[];if(E=E.trim().replace(/ style="/g,' data-style="'),S)E=(new DOMParser).parseFromString(C?C.createHTML(E):E,"text/html");else{var k=Q("div");k.innerHTML=E,E={body:k}}var O=function(P,g){var c=P.nodeName.toLowerCase(),u={tagName:c};if("#text"===c&&(u.textContent=P.textContent||""),c=P.attributes){var o={};[].forEach.call(c,function(l){"data-style"===l.name?u.style=M.parseStyle(l.value):o[l.name]=l.value}),u.attributes=o}if(P.childNodes.length){var m=[];[].forEach.call(P.childNodes,function(l){O(l,m)}),m.length&&(u.children=m)}g.push(u)};return[].forEach.call(E.body.childNodes,function(P){return O(P,v)}),v},M.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align textAnchor textLength title type valign width x x1 x2 y y1 y2 zIndex".split(" "),M.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),M.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),M.emptyHTML=y,M.bypassHTMLFiltering=!1,M}()}),Mt($,"Core/FormatUtilities.js",[$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L,C,y){L=+L;var S=rt.lang,M=((I=+I||0).toString().split(".")[1]||"").split("e")[0].length,E=I.toString().split("e"),v=L;if(-1===L)L=Math.min(M,20);else if(K(L)){if(L&&E[1]&&0>E[1]){var k=L+ +E[1];0<=k?(E[0]=(+E[0]).toExponential(k).split("e")[0],L=k):(E[0]=E[0].split(".")[0]||0,I=20>L?(E[0]*Math.pow(10,E[1])).toFixed(L):0,E[1]=0)}}else L=2;k=(Math.abs(E[1]?E[0]:I)+Math.pow(10,-Math.max(L,M)-1)).toFixed(L);var O=3<(M=String(F(k))).length?M.length%3:0;return C=W(C,S.decimalPoint),y=W(y,S.thousandsSep),I=(0>I?"-":"")+(O?M.substr(0,O)+y:""),I=0>+E[1]&&!v?"0":I+M.substr(O).replace(/(\d{3})(?=\d)/g,"$1"+y),L&&(I+=C+k.slice(-L)),E[1]&&0!=+I&&(I+="e"+E[1]),I}var rt=X.defaultOptions,Q=X.defaultTime,it=Y.getNestedProperty,K=Y.isNumber,W=Y.pick,F=Y.pInt;return{dateFormat:function(I,L,C){return Q.dateFormat(I,L,C)},format:function(I,L,C){var y="{",S=!1,M=/f$/,E=/\.([0-9])/,v=rt.lang,k=C&&C.time||Q;C=C&&C.numberFormatter||et;for(var O=[];I;){var P=I.indexOf(y);if(-1===P)break;var g=I.slice(0,P);if(S){if(g=g.split(":"),y=it(g.shift()||"",L),g.length&&"number"==typeof y)if(g=g.join(":"),M.test(g)){var c=parseInt((g.match(E)||["","-1"])[1],10);null!==y&&(y=C(y,c,v.decimalPoint,-1<g.indexOf(",")?v.thousandsSep:""))}else y=k.dateFormat(g,y);O.push(y)}else O.push(g);I=I.slice(P+1),y=(S=!S)?"}":"{"}return O.push(I),O.join("")},numberFormat:et}}),Mt($,"Core/Renderer/RendererUtilities.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.clamp,et=X.pick,rt=X.stableSort;return(Q||(Q={})).distribute=function K(W,F,I){var M,L=W,C=L.reducedLen||F,y=function(O,P){return(P.rank||0)-(O.rank||0)},S=function(O,P){return O.target-P.target},E=!0,v=[],k=0;for(M=W.length;M--;)k+=W[M].size;if(k>C){for(rt(W,y),k=M=0;k<=C;)k+=W[M].size,M++;v=W.splice(M-1,W.length)}for(rt(W,S),W=W.map(function(O){return{size:O.size,targets:[O.target],align:et(O.align,.5)}});E;){for(M=W.length;M--;)C=W[M],y=(Math.min.apply(0,C.targets)+Math.max.apply(0,C.targets))/2,C.pos=Y(y-C.size*C.align,0,F-C.size);for(M=W.length,E=!1;M--;)0<M&&W[M-1].pos+W[M-1].size>W[M].pos&&(W[M-1].size+=W[M].size,W[M-1].targets=W[M-1].targets.concat(W[M].targets),W[M-1].align=.5,W[M-1].pos+W[M-1].size>F&&(W[M-1].pos=F-W[M-1].size),W.splice(M,1),E=!0)}return L.push.apply(L,v),M=0,W.some(function(O){var P=0;return(O.targets||[]).some(function(){return L[M].pos=O.pos+P,void 0!==I&&Math.abs(L[M].pos-L[M].target)>I?(L.slice(0,M+1).forEach(function(g){return delete g.pos}),L.reducedLen=(L.reducedLen||F)-.1*F,L.reducedLen>.1*F&&K(L,F,I),!0):(P+=L[M].size,M++,!1)})}),rt(L,S),L},Q}),Mt($,"Core/Renderer/SVG/SVGElement.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.animate,K=X.animObject,W=X.stop,F=rt.deg2rad,I=rt.doc,L=rt.noop,C=rt.svg,y=rt.SVG_NS,S=rt.win,M=Q.addEvent,E=Q.attr,v=Q.createElement,k=Q.css,O=Q.defined,P=Q.erase,g=Q.extend,c=Q.fireEvent,u=Q.isArray,o=Q.isFunction,m=Q.isNumber,l=Q.isString,b=Q.merge,n=Q.objectEach,r=Q.pick,f=Q.pInt,T=Q.syncTimeout,w=Q.uniqueKey;return X=function(){function D(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=y,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return D.prototype._defaultGetter=function(d){return d=r(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0),/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d)),d},D.prototype._defaultSetter=function(d,R,a){a.setAttribute(R,d)},D.prototype.add=function(d){var R=this.renderer,a=this.element;if(d&&(this.parentGroup=d),this.parentInverted=d&&d.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&R.buildText(this),this.added=!0,!d||d.handleZ||this.zIndex)var h=this.zIndexSetter();return h||(d?d.element:R.box).appendChild(a),this.onAdd&&this.onAdd(),this},D.prototype.addClass=function(d,R){var a=R?"":this.attr("class")||"";return(d=(d||"").split(/ /g).reduce(function(h,A){return-1===a.indexOf(A)&&h.push(A),h},a?[a]:[]).join(" "))!==a&&this.attr("class",d),this},D.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},D.prototype.align=function(d,R,a){var z,H,p,h={},A=this.renderer,j=A.alignedObjects;d?(this.alignOptions=d,this.alignByTranslate=R,(!a||l(a))&&(this.alignTo=z=a||"renderer",P(j,this),j.push(this),a=void 0)):(d=this.alignOptions,R=this.alignByTranslate,z=this.alignTo),a=r(a,A[z],"scrollablePlotBox"===z?A.plotBox:void 0,A);var N=d.verticalAlign;return A=(a.x||0)+(d.x||0),j=(a.y||0)+(d.y||0),"right"===(z=d.align)?H=1:"center"===z&&(H=2),H&&(A+=(a.width-(d.width||0))/H),h[R?"translateX":"x"]=Math.round(A),"bottom"===N?p=1:"middle"===N&&(p=2),p&&(j+=(a.height-(d.height||0))/p),h[R?"translateY":"y"]=Math.round(j),this[this.placed?"animate":"attr"](h),this.placed=!0,this.alignAttr=h,this},D.prototype.alignSetter=function(d){var R={left:"start",center:"middle",right:"end"};R[d]&&(this.alignValue=d,this.element.setAttribute("text-anchor",R[d]))},D.prototype.animate=function(d,R,a){var h=this,A=K(r(R,this.renderer.globalAnimation,!0));return R=A.defer,r(I.hidden,I.msHidden,I.webkitHidden,!1)&&(A.duration=0),0!==A.duration?(a&&(A.complete=a),T(function(){h.element&&it(h,d,A)},R)):(this.attr(d,void 0,a||A.complete),n(d,function(j,z){A.step&&A.step.call(this,j,{prop:z,pos:1,elem:this})},this)),this},D.prototype.applyTextOutline=function(d){var R=this.element;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));var a=d.split(" ");if(d=a[a.length-1],(a=a[0])&&"none"!==a&&rt.svg){this.fakeTS=!0,this.ySetter=this.xSetter,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(j,z,H){return 2*Number(z)+H}),this.removeTextOutline();var h=I.createElementNS(y,"tspan");E(h,{class:"highcharts-text-outline",fill:d,stroke:d,"stroke-width":a,"stroke-linejoin":"round"}),[].forEach.call(R.childNodes,function(j){var z=j.cloneNode(!0);z.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(H){return z.removeAttribute(H)}),h.appendChild(z)});var A=I.createElementNS(y,"tspan");A.textContent="\u200b",["x","y"].forEach(function(j){var z=R.getAttribute(j);z&&A.setAttribute(j,z)}),h.appendChild(A),R.insertBefore(h,R.firstChild)}},D.prototype.attr=function(d,R,a,h){var z,p,N,A=this.element,j=this.symbolCustomAttribs,H=this;if("string"==typeof d&&void 0!==R){var _=d;(d={})[_]=R}return"string"==typeof d?H=(this[d+"Getter"]||this._defaultGetter).call(this,d,A):(n(d,function(G,U){p=!1,h||W(this,U),this.symbolName&&-1!==j.indexOf(U)&&(z||(this.symbolAttr(d),z=!0),p=!0),!this.rotation||"x"!==U&&"y"!==U||(this.doTransform=!0),p||((N=this[U+"Setter"]||this._defaultSetter).call(this,G,U,A),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(U)&&this.updateShadows(U,G,N))},this),this.afterSetters()),a&&a.call(this),H},D.prototype.clip=function(d){return this.attr("clip-path",d?"url("+this.renderer.url+"#"+d.id+")":"none")},D.prototype.crisp=function(d,R){R=R||d.strokeWidth||0;var a=Math.round(R)%2/2;return d.x=Math.floor(d.x||this.x||0)+a,d.y=Math.floor(d.y||this.y||0)+a,d.width=Math.floor((d.width||this.width||0)-2*a),d.height=Math.floor((d.height||this.height||0)-2*a),O(d.strokeWidth)&&(d.strokeWidth=R),d},D.prototype.complexColor=function(d,R,a){var A,j,z,H,p,N,_,G,U,tt,ot,h=this.renderer,J=[];c(this.renderer,"complexColor",{args:arguments},function(){if(d.radialGradient?j="radialGradient":d.linearGradient&&(j="linearGradient"),j){if(p=h.gradients,N=d.stops,U=a.radialReference,u(z=d[j])&&(d[j]=z={x1:z[0],y1:z[1],x2:z[2],y2:z[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===j&&U&&!O(z.gradientUnits)&&(z=b(z,h.getRadialAttr(U,H=z),{gradientUnits:"userSpaceOnUse"})),n(z,function(ft,mt){"id"!==mt&&J.push(mt,ft)}),n(N,function(ft){J.push(ft)}),J=J.join(","),p[J])tt=p[J].attr("id");else{z.id=tt=w();var at=p[J]=h.createElement(j).attr(z).add(h.defs);at.radAttr=H,at.stops=[],N.forEach(function(ft){0===ft[1].indexOf("rgba")?(A=et.parse(ft[1]),_=A.get("rgb"),G=A.get("a")):(_=ft[1],G=1),ft=h.createElement("stop").attr({offset:ft[0],"stop-color":_,"stop-opacity":G}).add(at),at.stops.push(ft)})}a.setAttribute(R,ot="url("+h.url+"#"+tt+")"),a.gradient=J,d.toString=function(){return ot}}})},D.prototype.css=function(d){var R=this.styles,a={},h=this.element,A=!R;if(d.color&&(d.fill=d.color),R&&n(d,function(H,p){R&&R[p]!==H&&(a[p]=H,A=!0)}),A){if(R&&(d=g(R,a)),null===d.width||"auto"===d.width)delete this.textWidth;else if("text"===h.nodeName.toLowerCase()&&d.width)var j=this.textWidth=f(d.width);this.styles=d,j&&!C&&this.renderer.forExport&&delete d.width;var z=b(d);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(H){return z&&delete z[H]}),k(h,z),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),d.textOutline&&this.applyTextOutline(d.textOutline))}return this},D.prototype.dashstyleSetter=function(d){var R=this["stroke-width"];if("inherit"===R&&(R=1),d=d&&d.toLowerCase()){var a=d.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(d=a.length;d--;)a[d]=""+f(a[d])*r(R,NaN);d=a.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",d)}},D.prototype.destroy=function(){var d=this,R=d.element||{},a=d.renderer,h=R.ownerSVGElement,A=a.isSVG&&"SPAN"===R.nodeName&&d.parentGroup||void 0;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,W(d),d.clipPath&&h){var j=d.clipPath;[].forEach.call(h.querySelectorAll("[clip-path],[CLIP-PATH]"),function(z){-1<z.getAttribute("clip-path").indexOf(j.element.id)&&z.removeAttribute("clip-path")}),d.clipPath=j.destroy()}if(d.stops){for(h=0;h<d.stops.length;h++)d.stops[h].destroy();d.stops.length=0,d.stops=void 0}for(d.safeRemoveChild(R),a.styledMode||d.destroyShadows();A&&A.div&&0===A.div.childNodes.length;)R=A.parentGroup,d.safeRemoveChild(A.div),delete A.div,A=R;d.alignTo&&P(a.alignedObjects,d),n(d,function(z,H){d[H]&&d[H].parentGroup===d&&d[H].destroy&&d[H].destroy(),delete d[H]})},D.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(d){this.safeRemoveChild(d)},this),this.shadows=void 0},D.prototype.destroyTextPath=function(d,R){var a=d.getElementsByTagName("text")[0];if(a){if(a.removeAttribute("dx"),a.removeAttribute("dy"),R.element.setAttribute("id",""),this.textPathWrapper&&a.getElementsByTagName("textPath").length){for(d=this.textPathWrapper.element.childNodes;d.length;)a.appendChild(d[0]);a.removeChild(this.textPathWrapper.element)}}else(d.getAttribute("dx")||d.getAttribute("dy"))&&(d.removeAttribute("dx"),d.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},D.prototype.dSetter=function(d,R,a){u(d)&&("string"==typeof d[0]&&(d=this.renderer.pathToSegments(d)),this.pathArray=d,d=d.reduce(function(h,A,j){return A&&A.join?(j?h+" ":"")+A.join(" "):(A||"").toString()},"")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this[R]!==d&&(a.setAttribute(R,d),this[R]=d)},D.prototype.fadeOut=function(d){var R=this;R.animate({opacity:0},{duration:r(d,150),complete:function(){R.attr({y:-9999}).hide()}})},D.prototype.fillSetter=function(d,R,a){"string"==typeof d?a.setAttribute(R,d):d&&this.complexColor(d,R,a)},D.prototype.getBBox=function(d,R){var a=this.alignValue,h=this.element,A=this.renderer,j=this.styles,z=this.textStr,H=A.cache,p=A.cacheKeys,N=h.namespaceURI===this.SVG_NS;R=r(R,this.rotation,0);var G,_=A.styledMode?h&&D.prototype.getStyle.call(h,"font-size"):j&&j.fontSize;if(O(z)){var U=z.toString();-1===U.indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",R,_,this.textWidth,a,j&&j.textOverflow,j&&j.fontWeight].join()}if(U&&!d&&(G=H[U]),!G){if(N||A.forExport){try{var tt=this.fakeTS&&function(ot){var at=h.querySelector(".highcharts-text-outline");at&&k(at,{display:ot})};o(tt)&&tt("none"),G=h.getBBox?g({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},o(tt)&&tt("")}catch(ot){}(!G||0>G.width)&&(G={x:0,y:0,width:0,height:0})}else G=this.htmlGetBBox();if(A.isSVG&&(A=G.width,d=G.height,N&&(G.height=d={"11px,17":14,"13px,20":16}[(_||"")+","+Math.round(d)]||d),R)){N=Number(h.getAttribute("y")||0)-G.y,a={right:1,center:.5}[a||0]||0,j=R*F,_=(R-90)*F;var J=A*Math.cos(j);R=A*Math.sin(j),tt=Math.cos(_),j=Math.sin(_),J=(tt=(_=(A=G.x+a*(A-J)+N*tt)+J)-d*tt)-J,R=(d=(a=(N=G.y+N-a*R+N*j)+R)-d*j)-R,G.x=Math.min(A,_,tt,J),G.y=Math.min(N,a,d,R),G.width=Math.max(A,_,tt,J)-G.x,G.height=Math.max(N,a,d,R)-G.y}if(U&&(""===z||0<G.height)){for(;250<p.length;)delete H[p.shift()];H[U]||p.push(U),H[U]=G}}return G},D.prototype.getStyle=function(d){return S.getComputedStyle(this.element||this,"").getPropertyValue(d)},D.prototype.hasClass=function(d){return-1!==(""+this.attr("class")).split(" ").indexOf(d)},D.prototype.hide=function(){return this.attr({visibility:"hidden"})},D.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},D.prototype.init=function(d,R){this.element="span"===R?v(R):I.createElementNS(this.SVG_NS,R),this.renderer=d,c(this,"afterInit")},D.prototype.invert=function(d){return this.inverted=d,this.updateTransform(),this},D.prototype.on=function(d,R){var a=this.onEvents;return a[d]&&a[d](),a[d]=M(this.element,d,R),this},D.prototype.opacitySetter=function(d,R,a){this.opacity=d=Number(Number(d).toFixed(3)),a.setAttribute(R,d)},D.prototype.removeClass=function(d){return this.attr("class",(""+this.attr("class")).replace(l(d)?new RegExp("(^| )"+d+"( |$)"):d," ").replace(/ +/g," ").trim())},D.prototype.removeTextOutline=function(){var d=this.element.querySelector("tspan.highcharts-text-outline");d&&this.safeRemoveChild(d)},D.prototype.safeRemoveChild=function(d){var R=d.parentNode;R&&R.removeChild(d)},D.prototype.setRadialReference=function(d){var R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=d,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(d,R.radAttr)),this},D.prototype.setTextPath=function(d,R){var a=this.element,h=this.text?this.text.element:a,A={textAnchor:"text-anchor"},j=!1,z=this.textPathWrapper,H=!z;R=b(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},R);var p=Y.filterUserAttributes(R.attributes);if(d&&R&&R.enabled){z&&null===z.element.parentNode?(H=!0,z=z.destroy()):z&&this.removeTextOutline.call(z.parentGroup),this.options&&this.options.padding&&(p.dx=-this.options.padding),z||(this.textPathWrapper=z=this.renderer.createElement("textPath"),j=!0);var N=z.element;if((R=d.element.getAttribute("id"))||d.element.setAttribute("id",R=w()),H)for(h.setAttribute("y",0),m(p.dx)&&h.setAttribute("x",-p.dx),d=[].slice.call(h.childNodes),H=0;H<d.length;H++){var _=d[H];_.nodeType!==S.Node.TEXT_NODE&&"tspan"!==_.nodeName||N.appendChild(_)}j&&z&&z.add({element:h}),N.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+R),O(p.dy)&&(N.parentNode.setAttribute("dy",p.dy),delete p.dy),O(p.dx)&&(N.parentNode.setAttribute("dx",p.dx),delete p.dx),n(p,function(G,U){N.setAttribute(A[U]||U,G)}),a.removeAttribute("transform"),this.removeTextOutline.call(z),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=L}else z&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(a,d),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},D.prototype.shadow=function(d,R,a){var p,h=[],A=this.element,j=this.oldShadowOptions,z={color:"#000000",offsetX:this.parentInverted?-1:1,offsetY:this.parentInverted?-1:1,opacity:.15,width:3},H=!1;if(!0===d?p=z:"object"==typeof d&&(p=g(z,d)),p&&(p&&j&&n(p,function(tt,J){tt!==j[J]&&(H=!0)}),H&&this.destroyShadows(),this.oldShadowOptions=p),p){if(!this.shadows){var N=p.opacity/p.width,_=this.parentInverted?"translate("+p.offsetY+", "+p.offsetX+")":"translate("+p.offsetX+", "+p.offsetY+")";for(z=1;z<=p.width;z++){var G=A.cloneNode(!1),U=2*p.width+1-2*z;E(G,{stroke:d.color||"#000000","stroke-opacity":N*z,"stroke-width":U,transform:_,fill:"none"}),G.setAttribute("class",(G.getAttribute("class")||"")+" highcharts-shadow"),a&&(E(G,"height",Math.max(E(G,"height")-U,0)),G.cutHeight=U),R?R.element.appendChild(G):A.parentNode&&A.parentNode.insertBefore(G,A),h.push(G)}this.shadows=h}}else this.destroyShadows();return this},D.prototype.show=function(d){return void 0===d&&(d=!0),this.attr({visibility:d?"inherit":"visible"})},D.prototype.strokeSetter=function(d,R,a){this[R]=d,this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",a),a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===R&&0===d&&this.hasStroke?(a.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},D.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var d=this.getStyle("stroke-width"),R=0;if(d.indexOf("px")===d.length-2)R=f(d);else if(""!==d){var a=I.createElementNS(y,"rect");E(a,{width:d,"stroke-width":0}),this.element.parentNode.appendChild(a),R=a.getBBox().width,a.parentNode.removeChild(a)}return R},D.prototype.symbolAttr=function(d){var R=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(a){R[a]=r(d[a],R[a])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})},D.prototype.textSetter=function(d){d!==this.textStr&&(delete this.textPxLength,this.textStr=d,this.added&&this.renderer.buildText(this))},D.prototype.titleSetter=function(d){var R=this.element,a=R.getElementsByTagName("title")[0]||I.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(a,R.firstChild):R.appendChild(a),a.textContent=String(r(d,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},D.prototype.toFront=function(){var d=this.element;return d.parentNode.appendChild(d),this},D.prototype.translate=function(d,R){return this.attr({translateX:d,translateY:R})},D.prototype.updateShadows=function(d,R,a){var h=this.shadows;if(h)for(var A=h.length;A--;)a.call(h[A],"height"===d?Math.max(R-(h[A].cutHeight||0),0):"d"===d?this.d:R,d,h[A])},D.prototype.updateTransform=function(){var d=this.scaleX,R=this.scaleY,a=this.inverted,h=this.rotation,A=this.matrix,j=this.element,z=this.translateX||0,H=this.translateY||0;a&&(z+=this.width,H+=this.height),z=["translate("+z+","+H+")"],O(A)&&z.push("matrix("+A.join(",")+")"),a?z.push("rotate(90) scale(-1,1)"):h&&z.push("rotate("+h+" "+r(this.rotationOriginX,j.getAttribute("x"),0)+" "+r(this.rotationOriginY,j.getAttribute("y")||0)+")"),(O(d)||O(R))&&z.push("scale("+r(d,1)+" "+r(R,1)+")"),z.length&&j.setAttribute("transform",z.join(" "))},D.prototype.visibilitySetter=function(d,R,a){"inherit"===d?a.removeAttribute(R):this[R]!==d&&a.setAttribute(R,d),this[R]=d},D.prototype.xGetter=function(d){return"circle"===this.element.nodeName&&("x"===d?d="cx":"y"===d&&(d="cy")),this._defaultGetter(d)},D.prototype.zIndexSetter=function(d,R){var a=this.renderer,h=this.parentGroup,A=(h||a).element||a.box,j=this.element;a=A===a.box;var p,z=!1,H=this.added;if(O(d)?(j.setAttribute("data-z-index",d),this[R]===(d=+d)&&(H=!1)):O(this[R])&&j.removeAttribute("data-z-index"),this[R]=d,H){for((d=this.zIndex)&&h&&(h.handleZ=!0),p=(R=A.childNodes).length-1;0<=p&&!z;p--){H=(h=R[p]).getAttribute("data-z-index");var N=!O(H);h!==j&&(0>d&&N&&!a&&!p?(A.insertBefore(j,R[p]),z=!0):(f(H)<=d||N&&(!O(d)||0<=d))&&(A.insertBefore(j,R[p+1]||null),z=!0))}z||(A.insertBefore(j,R[a?3:0]||null),z=!0)}return z},D}(),X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter,X.prototype.yGetter=X.prototype.xGetter,X.prototype.matrixSetter=X.prototype.rotationOriginXSetter=X.prototype.rotationOriginYSetter=X.prototype.rotationSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter=X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.verticalAlignSetter=function(D,d){this[d]=D,this.doTransform=!0},X}),Mt($,"Core/Renderer/RendererRegistry.js",[$["Core/Globals.js"]],function(X){var Y,et,rt;return(et=Y||(Y={})).rendererTypes={},et.getRendererType=function(Q){return void 0===Q&&(Q=rt),et.rendererTypes[Q]||et.rendererTypes[rt]},et.registerRendererType=function(Q,it,K){et.rendererTypes[Q]=it,(!rt||K)&&(rt=Q,X.Renderer=it)},Y}),Mt($,"Core/Renderer/SVG/SVGLabel.js",[$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y){var I,et=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),rt=Y.defined,Q=Y.extend,it=Y.isNumber,K=Y.merge,W=Y.pick,F=Y.removeEvent;return function(I){function L(C,y,S,M,E,v,k,O,P,g){var u,c=I.call(this)||this;return c.paddingLeftSetter=c.paddingSetter,c.paddingRightSetter=c.paddingSetter,c.init(C,"g"),c.textStr=y,c.x=S,c.y=M,c.anchorX=v,c.anchorY=k,c.baseline=P,c.className=g,c.addClass("button"===g?"highcharts-no-tooltip":"highcharts-label"),g&&c.addClass("highcharts-"+g),c.text=C.text(void 0,0,0,O).attr({zIndex:1}),"string"==typeof E&&((u=/^url\((.*?)\)$/.test(E))||c.renderer.symbols[E])&&(c.symbolKey=E),c.bBox=L.emptyBBox,c.padding=3,c.baselineOffset=0,c.needsBox=C.styledMode||u,c.deferredAttr={},c.alignFactor=0,c}return et(L,I),L.prototype.alignSetter=function(C){(C={left:0,center:.5,right:1}[C])!==this.alignFactor&&(this.alignFactor=C,this.bBox&&it(this.xSetting)&&this.attr({x:this.xSetting}))},L.prototype.anchorXSetter=function(C,y){this.anchorX=C,this.boxAttr(y,Math.round(C)-this.getCrispAdjust()-this.xSetting)},L.prototype.anchorYSetter=function(C,y){this.anchorY=C,this.boxAttr(y,C-this.ySetting)},L.prototype.boxAttr=function(C,y){this.box?this.box.attr(C,y):this.deferredAttr[C]=y},L.prototype.css=function(C){if(C){var y={};C=K(C),L.textProps.forEach(function(M){void 0!==C[M]&&(y[M]=C[M],delete C[M])}),this.text.css(y);var S="width"in y;"fontSize"in y||"fontWeight"in y?this.updateTextPadding():S&&this.updateBoxSize()}return X.prototype.css.call(this,C)},L.prototype.destroy=function(){F(this.element,"mouseenter"),F(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),X.prototype.destroy.call(this)},L.prototype.fillSetter=function(C,y){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(y,C)},L.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var C=this.padding,y=W(this.paddingLeft,C);return{width:this.width,height:this.height,x:this.bBox.x-y,y:this.bBox.y-C}},L.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},L.prototype.heightSetter=function(C){this.heightSetting=C},L.prototype.onAdd=function(){var C=this.textStr;this.text.add(this),this.attr({text:rt(C)?C:"",x:this.x,y:this.y}),this.box&&rt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},L.prototype.paddingSetter=function(C,y){it(C)?C!==this[y]&&(this[y]=C,this.updateTextPadding()):this[y]=void 0},L.prototype.rSetter=function(C,y){this.boxAttr(y,C)},L.prototype.shadow=function(C){return C&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(C)),this},L.prototype.strokeSetter=function(C,y){this.stroke=C,this.boxAttr(y,C)},L.prototype["stroke-widthSetter"]=function(C,y){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(y,C)},L.prototype["text-alignSetter"]=function(C){this.textAlign=C},L.prototype.textSetter=function(C){void 0!==C&&this.text.attr({text:C}),this.updateTextPadding()},L.prototype.updateBoxSize=function(){var C=this.text.element.style,y={},S=this.padding,M=this.bBox=it(this.widthSetting)&&it(this.heightSetting)&&!this.textAlign||!rt(this.text.textStr)?L.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||M.height||0)+2*S,C=this.renderer.fontMetrics(C&&C.fontSize,this.text),this.baselineOffset=S+Math.min((this.text.firstLineMetrics||C).b,M.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-C.h)/2),this.needsBox&&(this.box||((S=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),S.add(this)),S=this.getCrispAdjust(),y.x=S,y.y=(this.baseline?-this.baselineOffset:0)+S,y.width=Math.round(this.width),y.height=Math.round(this.height),this.box.attr(Q(y,this.deferredAttr)),this.deferredAttr={})},L.prototype.updateTextPadding=function(){var C=this.text;this.updateBoxSize();var y=this.baseline?0:this.baselineOffset,S=W(this.paddingLeft,this.padding);rt(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(S+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(S!==C.x||y!==C.y)&&(C.attr("x",S),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),void 0!==y&&C.attr("y",y)),C.x=S,C.y=y},L.prototype.widthSetter=function(C){this.widthSetting=it(C)?C:void 0},L.prototype.getPaddedWidth=function(){var C=this.padding,y=W(this.paddingLeft,C);return C=W(this.paddingRight,C),(this.widthSetting||this.bBox.width||0)+y+C},L.prototype.xSetter=function(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)},L.prototype.ySetter=function(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)},L.emptyBBox={width:0,height:0,x:0,y:0},L.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),L}(X)}),Mt($,"Core/Renderer/SVG/Symbols.js",[$["Core/Utilities.js"]],function(X){function Y(W,F,I,L,C){var y=[];if(C){var S=C.start||0,M=K(C.r,I);I=K(C.r,L||I);var E=(C.end||0)-.001;L=C.innerR;var v=K(C.open,.001>Math.abs((C.end||0)-S-2*Math.PI)),k=Math.cos(S),O=Math.sin(S),P=Math.cos(E),g=Math.sin(E);S=K(C.longArc,.001>E-S-Math.PI?0:1),y.push(["M",W+M*k,F+I*O],["A",M,I,0,S,K(C.clockwise,1),W+M*P,F+I*g]),Q(L)&&y.push(v?["M",W+L*P,F+L*g]:["L",W+L*P,F+L*g],["A",L,L,0,S,Q(C.clockwise)?1-C.clockwise:0,W+L*k,F+L*O]),v||y.push(["Z"])}return y}function et(W,F,I,L,C){return C&&C.r?rt(W,F,I,L,C):[["M",W,F],["L",W+I,F],["L",W+I,F+L],["L",W,F+L],["Z"]]}function rt(W,F,I,L,C){return[["M",W+(C=C&&C.r||0),F],["L",W+I-C,F],["C",W+I,F,W+I,F,W+I,F+C],["L",W+I,F+L-C],["C",W+I,F+L,W+I,F+L,W+I-C,F+L],["L",W+C,F+L],["C",W,F+L,W,F+L,W,F+L-C],["L",W,F+C],["C",W,F,W,F,W+C,F]]}var Q=X.defined,it=X.isNumber,K=X.pick;return{arc:Y,callout:function(W,F,I,L,C){var y=Math.min(C&&C.r||0,I,L),S=y+6,M=C&&C.anchorX;C=C&&C.anchorY||0;var E=rt(W,F,I,L,{r:y});return it(M)&&(W+M>=I?C>F+S&&C<F+L-S?E.splice(3,1,["L",W+I,C-6],["L",W+I+6,C],["L",W+I,C+6],["L",W+I,F+L-y]):E.splice(3,1,["L",W+I,L/2],["L",M,C],["L",W+I,L/2],["L",W+I,F+L-y]):0>=W+M?C>F+S&&C<F+L-S?E.splice(7,1,["L",W,C+6],["L",W-6,C],["L",W,C-6],["L",W,F+y]):E.splice(7,1,["L",W,L/2],["L",M,C],["L",W,L/2],["L",W,F+y]):C&&C>L&&M>W+S&&M<W+I-S?E.splice(5,1,["L",M+6,F+L],["L",M,F+L+6],["L",M-6,F+L],["L",W+y,F+L]):C&&0>C&&M>W+S&&M<W+I-S&&E.splice(1,1,["L",M-6,F],["L",M,F-6],["L",M+6,F],["L",I-y,F])),E},circle:function(W,F,I,L){return Y(W+I/2,F+L/2,I/2,L/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L/2],["L",W+I/2,F+L],["L",W,F+L/2],["Z"]]},rect:et,roundedRect:rt,square:et,triangle:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L],["L",W,F+L],["Z"]]},"triangle-down":function(W,F,I,L){return[["M",W,F],["L",W+I,F],["L",W+I/2,F+L],["Z"]]}}}),Mt($,"Core/Renderer/SVG/TextBuilder.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.doc,Q=Y.SVG_NS,it=Y.win,K=et.attr,W=et.extend,F=et.isString,I=et.objectEach,L=et.pick;return function(){function C(y){var S=y.styles;this.renderer=y.renderer,this.svgElement=y,this.width=y.textWidth,this.textLineHeight=S&&S.lineHeight,this.textOutline=S&&S.textOutline,this.ellipsis=!(!S||"ellipsis"!==S.textOverflow),this.noWrap=!(!S||"nowrap"!==S.whiteSpace),this.fontSize=S&&S.fontSize}return C.prototype.buildSVG=function(){var y=this.svgElement,S=y.element,M=y.renderer,E=L(y.textStr,"").toString(),v=-1!==E.indexOf("<"),k=S.childNodes;M=this.width&&!y.added&&M.box;var P=[E,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(P!==y.textCache){for(y.textCache=P,delete y.actualWidth,P=k.length;P--;)S.removeChild(k[P]);v||this.ellipsis||this.width||-1!==E.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(E))?""!==E&&(M&&M.appendChild(S),E=new X(E),this.modifyTree(E.nodes),E.addToDOM(y.element),this.modifyDOM(),this.ellipsis&&-1!==(S.textContent||"").indexOf("\u2026")&&y.attr("title",this.unescapeEntities(y.textStr||"",["&lt;","&gt;"])),M&&M.removeChild(S)):S.appendChild(rt.createTextNode(this.unescapeEntities(E))),F(this.textOutline)&&y.applyTextOutline&&y.applyTextOutline(this.textOutline)}},C.prototype.modifyDOM=function(){var E,y=this,S=this.svgElement,M=K(S.element,"x");for(S.firstLineMetrics=void 0;(E=S.element.firstChild)&&/^[\s\u200B]*$/.test(E.textContent||" ");)S.element.removeChild(E);[].forEach.call(S.element.querySelectorAll("tspan.highcharts-br"),function(P,g){P.nextSibling&&P.previousSibling&&(0===g&&1===P.previousSibling.nodeType&&(S.firstLineMetrics=S.renderer.fontMetrics(void 0,P.previousSibling)),K(P,{dy:y.getLineHeight(P.nextSibling),x:M}))});var v=this.width||0;if(v){var O=function(P){[].slice.call(P.childNodes).forEach(function(g){g.nodeType===it.Node.TEXT_NODE?function(P,g){var c=P.textContent||"",u=c.replace(/([^\^])-/g,"$1- ").split(" "),o=!y.noWrap&&(1<u.length||1<S.element.childNodes.length),m=y.getLineHeight(g),l=0,b=S.actualWidth;if(y.ellipsis)c&&y.truncate(P,c,void 0,0,Math.max(0,v-parseInt(y.fontSize||12,10)),function(n,r){return n.substring(0,r)+"\u2026"});else if(o){for(c=[],o=[];g.firstChild&&g.firstChild!==P;)o.push(g.firstChild),g.removeChild(g.firstChild);for(;u.length;)u.length&&!y.noWrap&&0<l&&(c.push(P.textContent||""),P.textContent=u.join(" ").replace(/- /g,"-")),y.truncate(P,void 0,u,0===l&&b||0,v,function(n,r){return u.slice(0,r).join(" ").replace(/- /g,"-")}),b=S.actualWidth,l++;o.forEach(function(n){g.insertBefore(n,P)}),c.forEach(function(n){g.insertBefore(rt.createTextNode(n),P),(n=rt.createElementNS(Q,"tspan")).textContent="\u200b",K(n,{dy:m,x:M}),g.insertBefore(n,P)})}}(g,P):(-1!==g.className.baseVal.indexOf("highcharts-br")&&(S.actualWidth=0),O(g))})};O(S.element)}},C.prototype.getLineHeight=function(y){var S;return y=y.nodeType===it.Node.TEXT_NODE?y.parentElement:y,this.renderer.styledMode||(S=y&&/(px|em)$/.test(y.style.fontSize)?y.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(S,y||this.svgElement.element).h},C.prototype.modifyTree=function(y){var S=this,M=function(E,v){var k=E.attributes;k=void 0===k?{}:k;var O=E.children,P=E.style;P=void 0===P?{}:P;var g=E.tagName,c=S.renderer.styledMode;"b"===g||"strong"===g?c?k.class="highcharts-strong":P.fontWeight="bold":("i"===g||"em"===g)&&(c?k.class="highcharts-emphasized":P.fontStyle="italic"),P&&P.color&&(P.fill=P.color),"br"===g?(k.class="highcharts-br",E.textContent="\u200b",(v=y[v+1])&&v.textContent&&(v.textContent=v.textContent.replace(/^ +/gm,""))):"a"===g&&O&&O.some(function(u){return"#text"===u.tagName})&&(E.children=[{children:O,tagName:"tspan"}]),"#text"!==g&&"a"!==g&&(E.tagName="tspan"),W(E,{attributes:k,style:P}),O&&O.filter(function(u){return"#text"!==u.tagName}).forEach(M)};y.forEach(M)},C.prototype.truncate=function(y,S,M,E,v,k){var l,O=this.svgElement,P=O.renderer,g=O.rotation,c=[],u=M?1:0,o=(S||M||"").length,m=o,b=function(r,f){f=f||r;var T=y.parentNode;if(T&&void 0===c[f])if(T.getSubStringLength)try{c[f]=E+T.getSubStringLength(0,M?f+1:f)}catch(w){}else P.getSpanWidth&&(y.textContent=k(S||M,r),c[f]=E+P.getSpanWidth(O,y));return c[f]};O.rotation=0;var n=b(y.textContent.length);if(E+n>v){for(;u<=o;)m=Math.ceil((u+o)/2),M&&(l=k(M,m)),n=b(m,l&&l.length-1),u===o?u=o+1:n>v?o=m-1:u=m;0===o?y.textContent="":S&&o===S.length-1||(y.textContent=l||k(S||M,m))}M&&M.splice(0,m),O.actualWidth=n,O.rotation=g},C.prototype.unescapeEntities=function(y,S){return I(this.renderer.escapes,function(M,E){S&&-1!==S.indexOf(M)||(y=y.toString().replace(new RegExp(M,"g"),E))}),y},C}()}),Mt($,"Core/Renderer/SVG/SVGRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGLabel.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Renderer/SVG/TextBuilder.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var R,I=et.charts,L=et.deg2rad,C=et.doc,y=et.isFirefox,S=et.isMS,M=et.isWebKit,E=et.noop,v=et.SVG_NS,k=et.symbolSizes,O=et.win,P=F.addEvent,g=F.attr,c=F.createElement,u=F.css,o=F.defined,m=F.destroyObjectProperties,l=F.extend,b=F.isArray,n=F.isNumber,r=F.isObject,f=F.isString,T=F.merge,w=F.pick,D=F.pInt,d=F.uniqueKey;return et=function(){function a(h,A,j,z,H,p,N){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(h,A,j,z,H,p,N)}return a.prototype.init=function(h,A,j,z,H,p,N){var U,_=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),G=_.element;N||_.css(this.getStyle(z)),h.appendChild(G),g(h,"dir","ltr"),-1===h.innerHTML.indexOf("xmlns")&&g(G,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=G,this.boxWrapper=_,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 10.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(A,j,!1),y&&h.getBoundingClientRect&&((A=function(){u(h,{left:0,top:0}),U=h.getBoundingClientRect(),u(h,{left:Math.ceil(U.left)-U.left+"px",top:Math.ceil(U.top)-U.top+"px"})})(),this.unSubPixelFix=P(O,"resize",A))},a.prototype.definition=function(h){return new X([h]).addToDOM(this.defs.element)},a.prototype.getReferenceURL=function(){if((y||M)&&C.getElementsByTagName("base").length){if(!o(R)){var h=d();h=new X([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:h},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+h+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(C.body),u(h,{position:"fixed",top:0,left:0,zIndex:9e5});var A=C.elementFromPoint(6,6);R="hitme"===(A&&A.id),C.body.removeChild(h)}if(R)return O.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},a.prototype.getStyle=function(h){return this.style=l({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},h)},a.prototype.setStyle=function(h){this.boxWrapper.css(this.getStyle(h))},a.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},a.prototype.destroy=function(){var h=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),m(this.gradients||{}),this.gradients=null,h&&(this.defs=h.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},a.prototype.createElement=function(h){var A=new this.Element;return A.init(this,h),A},a.prototype.getRadialAttr=function(h,A){return{cx:h[0]-h[2]/2+(A.cx||0)*h[2],cy:h[1]-h[2]/2+(A.cy||0)*h[2],r:(A.r||0)*h[2]}},a.prototype.buildText=function(h){new W(h).buildSVG()},a.prototype.getContrast=function(h){return(h=Y.parse(h).rgba)[0]*=1,h[1]*=1.2,h[2]*=.5,459<h[0]+h[1]+h[2]?"#000000":"#FFFFFF"},a.prototype.button=function(h,A,j,z,H,p,N,_,G,U){var tt=this.label(h,A,j,G,void 0,void 0,U,void 0,"button"),J=this.styledMode;h=H&&H.states||{},H&&delete H.states;var ot=0,at=H?T(H):{},ft=T({color:"#333333",cursor:"pointer",fontWeight:"normal"},at.style);if(delete at.style,at=X.filterUserAttributes(at),tt.attr(T({padding:8,r:2},at)),!J){at=T({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},at);var mt=(p=T(at,{fill:"#e6e6e6"},X.filterUserAttributes(p||h.hover||{}))).style;delete p.style;var gt=(N=T(at,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},X.filterUserAttributes(N||h.select||{}))).style;delete N.style;var ut=(_=T(at,{style:{color:"#cccccc"}},X.filterUserAttributes(_||h.disabled||{}))).style;delete _.style}return P(tt.element,S?"mouseover":"mouseenter",function(){3!==ot&&tt.setState(1)}),P(tt.element,S?"mouseout":"mouseleave",function(){3!==ot&&tt.setState(ot)}),tt.setState=function(ht){1!==ht&&(tt.state=ot=ht),tt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][ht||0]),J||(tt.attr([at,p,N,_][ht||0]),r(ht=[ft,mt,gt,ut][ht||0])&&tt.css(ht))},J||tt.attr(at).css(l({cursor:"default"},ft)),tt.on("touchstart",function(ht){return ht.stopPropagation()}).on("click",function(ht){3!==ot&&z.call(tt,ht)})},a.prototype.crispLine=function(h,A,j){void 0===j&&(j="round");var z=h[0],H=h[1];return o(z[1])&&z[1]===H[1]&&(z[1]=H[1]=Math[j](z[1])-A%2/2),o(z[2])&&z[2]===H[2]&&(z[2]=H[2]=Math[j](z[2])+A%2/2),h},a.prototype.path=function(h){var A=this.styledMode?{}:{fill:"none"};return b(h)?A.d=h:r(h)&&l(A,h),this.createElement("path").attr(A)},a.prototype.circle=function(h,A,j){return h=r(h)?h:void 0===h?{}:{x:h,y:A,r:j},(A=this.createElement("circle")).xSetter=A.ySetter=function(z,H,p){p.setAttribute("c"+H,z)},A.attr(h)},a.prototype.arc=function(h,A,j,z,H,p){return r(h)?(A=(z=h).y,j=z.r,h=z.x):z={innerR:z,start:H,end:p},(h=this.symbol("arc",h,A,j,j,z)).r=j,h},a.prototype.rect=function(h,A,j,z,H,p){H=r(h)?h.r:H;var N=this.createElement("rect");return h=r(h)?h:void 0===h?{}:{x:h,y:A,width:Math.max(j,0),height:Math.max(z,0)},this.styledMode||(void 0!==p&&(h["stroke-width"]=p,h=N.crisp(h)),h.fill="none"),H&&(h.r=H),N.rSetter=function(_,G,U){N.r=_,g(U,{rx:_,ry:_})},N.rGetter=function(){return N.r||0},N.attr(h)},a.prototype.setSize=function(h,A,j){this.width=h,this.height=A,this.boxWrapper.animate({width:h,height:A},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(j,!0)?void 0:0}),this.alignElements()},a.prototype.g=function(h){var A=this.createElement("g");return h?A.attr({class:"highcharts-"+h}):A},a.prototype.image=function(h,A,j,z,H,p){var N={preserveAspectRatio:"none"},_=function(U,tt){U.setAttributeNS?U.setAttributeNS("http://www.w3.org/1999/xlink","href",tt):U.setAttribute("hc-svg-href",tt)};n(A)&&(N.x=A),n(j)&&(N.y=j),n(z)&&(N.width=z),n(H)&&(N.height=H);var G=this.createElement("image").attr(N);return A=function(U){_(G.element,h),p.call(G,U)},p?(_(G.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),j=new O.Image,P(j,"load",A),j.src=h,j.complete&&A({})):_(G.element,h),G},a.prototype.symbol=function(h,A,j,z,H,p){var J,N=this,_=/^url\((.*?)\)$/,G=_.test(h),U=!G&&(this.symbols[h]?h:"circle"),tt=U&&this.symbols[U];if(tt){"number"==typeof A&&(J=tt.call(this.symbols,Math.round(A||0),Math.round(j||0),z||0,H||0,p));var ot=this.path(J);N.styledMode||ot.attr("fill","none"),l(ot,{symbolName:U||void 0,x:A,y:j,width:z,height:H}),p&&l(ot,p)}else if(G){var at=h.match(_)[1],ft=ot=this.image(at);ft.imgwidth=w(k[at]&&k[at].width,p&&p.width),ft.imgheight=w(k[at]&&k[at].height,p&&p.height);var mt=function(gt){return gt.attr({width:gt.width,height:gt.height})};["width","height"].forEach(function(gt){ft[gt+"Setter"]=function(ut,ht){var V=this["img"+ht];this[ht]=ut,o(V)&&(p&&"within"===p.backgroundSize&&this.width&&this.height&&(V=Math.round(V*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(ht,V),this.alignByTranslate||(ut=((this[ht]||0)-V)/2,this.attr("width"===ht?{translateX:ut}:{translateY:ut})))}}),o(A)&&ft.attr({x:A,y:j}),ft.isImg=!0,o(ft.imgwidth)&&o(ft.imgheight)?mt(ft):(ft.attr({width:0,height:0}),c("img",{onload:function(){var gt=I[N.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),C.body.appendChild(this)),k[at]={width:this.width,height:this.height},ft.imgwidth=this.width,ft.imgheight=this.height,ft.element&&mt(ft),this.parentNode&&this.parentNode.removeChild(this),N.imgCount--,!N.imgCount&&gt&&!gt.hasLoaded&&gt.onload()},src:at}),this.imgCount++)}return ot},a.prototype.clipRect=function(h,A,j,z){var H=d()+"-",p=this.createElement("clipPath").attr({id:H}).add(this.defs);return(h=this.rect(h,A,j,z,0).add(p)).id=H,h.clipPath=p,h.count=0,h},a.prototype.text=function(h,A,j,z){var H={};return!z||!this.allowHTML&&this.forExport?(H.x=Math.round(A||0),j&&(H.y=Math.round(j)),o(h)&&(H.text=h),h=this.createElement("text").attr(H),(!z||this.forExport&&!this.allowHTML)&&(h.xSetter=function(p,N,_){for(var J,G=_.getElementsByTagName("tspan"),U=_.getAttribute(N),tt=0;tt<G.length;tt++)(J=G[tt]).getAttribute(N)===U&&J.setAttribute(N,p);_.setAttribute(N,p)}),h):this.html(h,A,j)},a.prototype.fontMetrics=function(h,A){return h=!this.styledMode&&/px/.test(h)||!O.getComputedStyle?h||A&&A.style&&A.style.fontSize||this.style&&this.style.fontSize:A&&Q.prototype.getStyle.call(A,"font-size"),{h:A=24>(h=/px/.test(h)?D(h):12)?h+3:Math.round(1.2*h),b:Math.round(.8*A),f:h}},a.prototype.rotCorr=function(h,A,j){var z=h;return A&&j&&(z=Math.max(z*Math.cos(A*L),4)),{x:-h/3*Math.sin(A*L),y:z}},a.prototype.pathToSegments=function(h){for(var A=[],j=[],z={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},H=0;H<h.length;H++)f(j[0])&&n(h[H])&&j.length===z[j[0].toUpperCase()]&&h.splice(H,0,j[0].replace("M","L").replace("m","l")),"string"==typeof h[H]&&(j.length&&A.push(j.slice(0)),j.length=0),j.push(h[H]);return A.push(j.slice(0)),A},a.prototype.label=function(h,A,j,z,H,p,N,_,G){return new it(this,h,A,j,z,H,p,N,_,G)},a.prototype.alignElements=function(){this.alignedObjects.forEach(function(h){return h.align()})},a}(),l(et.prototype,{Element:Q,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:K,draw:E}),rt.registerRendererType("svg",et,!0),et}),Mt($,"Core/Renderer/HTML/HTMLElement.js",[$["Core/Globals.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=this&&this.__extends||(S=function(M,E){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,k){v.__proto__=k}||function(v,k){for(var O in k)k.hasOwnProperty(O)&&(v[O]=k[O])})(M,E)},function(M,E){function v(){this.constructor=M}S(M,E),M.prototype=null===E?Object.create(E):(v.prototype=E.prototype,new v)}),Q=X.isFirefox,it=X.isMS,K=X.isWebKit,W=X.win,F=et.css,I=et.defined,L=et.extend,C=et.pick,y=et.pInt;return function(S){function M(){return null!==S&&S.apply(this,arguments)||this}return rt(M,S),M.compose=function(E){if(-1===M.composedClasses.indexOf(E)){M.composedClasses.push(E);var v=M.prototype,k=E.prototype;k.getSpanCorrection=v.getSpanCorrection,k.htmlCss=v.htmlCss,k.htmlGetBBox=v.htmlGetBBox,k.htmlUpdateTransform=v.htmlUpdateTransform,k.setSpanRotation=v.setSpanRotation}return E},M.prototype.getSpanCorrection=function(E,v,k){this.xCorr=-E*k,this.yCorr=-v},M.prototype.htmlCss=function(E){var v="SPAN"===this.element.tagName&&E&&"width"in E,k=C(v&&E.width,void 0);if(v){delete E.width,this.textWidth=k;var O=!0}return E&&"ellipsis"===E.textOverflow&&(E.whiteSpace="nowrap",E.overflow="hidden"),this.styles=L(this.styles,E),F(this.element,E),O&&this.htmlUpdateTransform(),this},M.prototype.htmlGetBBox=function(){var E=this.element;return{x:E.offsetLeft,y:E.offsetTop,width:E.offsetWidth,height:E.offsetHeight}},M.prototype.htmlUpdateTransform=function(){if(this.added){var E=this.renderer,v=this.element,k=this.translateX||0,O=this.translateY||0,P=this.x||0,g=this.y||0,c=this.textAlign||"left",u={left:0,center:.5,right:1}[c],o=this.styles;if(o=o&&o.whiteSpace,F(v,{marginLeft:k,marginTop:O}),!E.styledMode&&this.shadows&&this.shadows.forEach(function(f){F(f,{marginLeft:k+1,marginTop:O+1})}),this.inverted&&[].forEach.call(v.childNodes,function(f){E.invertChild(f,v)}),"SPAN"===v.tagName){var m=this.rotation,l=this.textWidth&&y(this.textWidth),b=[m,c,v.innerHTML,this.textWidth,this.textAlign].join(),n=void 0;if(n=!1,l!==this.oldTextWidth){if(this.textPxLength)var r=this.textPxLength;else F(v,{width:"",whiteSpace:o||"nowrap"}),r=v.offsetWidth;(l>this.oldTextWidth||r>l)&&(/[ \-]/.test(v.textContent||v.innerText)||"ellipsis"===v.style.textOverflow)&&(F(v,{width:r>l||m?l+"px":"auto",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=l,n=!0)}this.hasBoxWidthChanged=n,b!==this.cTT&&(n=E.fontMetrics(v.style.fontSize,v).b,!I(m)||m===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(m,u,n),this.getSpanCorrection(!I(m)&&this.textPxLength||v.offsetWidth,n,u,m,c)),F(v,{left:P+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"}),this.cTT=b,this.oldRotation=m,this.oldAlign=c}}else this.alignOnAdd=!0},M.prototype.setSpanRotation=function(E,v,k){var O={},P=it&&!/Edge/.test(W.navigator.userAgent)?"-ms-transform":K?"-webkit-transform":Q?"MozTransform":W.opera?"-o-transform":void 0;P&&(O[P]=O.transform="rotate("+E+"deg)",O[P+(Q?"Origin":"-origin")]=O.transformOrigin=100*v+"% "+k+"px",F(this.element,O))},M.composedClasses=[],M}(Y)}),Mt($,"Core/Renderer/HTML/HTMLRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var I,Q=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),it=rt.attr,K=rt.createElement,W=rt.extend,F=rt.pick;return function(I){function L(){return null!==I&&I.apply(this,arguments)||this}return Q(L,I),L.compose=function(C){return-1===L.composedClasses.indexOf(C)&&(L.composedClasses.push(C),C.prototype.html=L.prototype.html),C},L.prototype.html=function(C,y,S){var M=this.createElement("span"),E=M.element,v=M.renderer,k=v.isSVG,O=function(P,g){["opacity","visibility"].forEach(function(c){P[c+"Setter"]=function(u,o,m){var l=P.div?P.div.style:g;Y.prototype[c+"Setter"].call(this,u,o,m),l&&(l[o]=u)}}),P.addedSetters=!0};return M.textSetter=function(P){P!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,X.setElementHTML(this.element,F(P,"")),this.textStr=P,M.doTransform=!0)},k&&O(M,M.element.style),M.xSetter=M.ySetter=M.alignSetter=M.rotationSetter=function(P,g){"align"===g?M.alignValue=M.textAlign=P:M[g]=P,M.doTransform=!0},M.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},M.attr({text:C,x:Math.round(y),y:Math.round(S)}).css({position:"absolute"}),v.styledMode||M.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),E.style.whiteSpace="nowrap",M.css=M.htmlCss,k&&(M.add=function(P){var g=v.box.parentNode,c=[];if(this.parentGroup=P){var u=P.div;if(!u){for(;P;)c.push(P),P=P.parentGroup;c.reverse().forEach(function(o){function m(r,f){o[f]=r,"translateX"===f?n.left=r+"px":n.top=r+"px",o.doTransform=!0}var r,l=it(o.element,"class"),b=o.styles||{},n=(u=o.div=o.div||K("div",l?{className:l}:void 0,{position:"absolute",left:(o.translateX||0)+"px",top:(o.translateY||0)+"px",display:o.display,opacity:o.opacity,cursor:b.cursor,pointerEvents:b.pointerEvents,visibility:o.visibility},u||g)).style;W(o,{classSetter:(r=u,function(f){this.element.setAttribute("class",f),r.className=f}),on:function(){return c[0].div&&M.on.apply({element:c[0].div,onEvents:o.onEvents},arguments),o},translateXSetter:m,translateYSetter:m}),o.addedSetters||O(o)})}}else u=g;return u.appendChild(E),M.added=!0,M.alignOnAdd&&M.htmlUpdateTransform(),M}),M},L.composedClasses=[],L}(et)}),Mt($,"Core/Axis/AxisDefaults.js",[],function(){var X=(()=>{return(Y=X||(X={})).defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"},Y.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Y.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},Y.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},Y.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},Y.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},X;var Y})();return X}),Mt($,"Core/Foundation.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.isFunction,rt=X.objectEach,Q=X.removeEvent;return(it||(it={})).registerEventOptions=function(W,F){W.eventOptions=W.eventOptions||{},rt(F.events,function(I,L){W.eventOptions[L]!==I&&(W.eventOptions[L]&&(Q(W,L,W.eventOptions[L]),delete W.eventOptions[L]),et(I)&&(W.eventOptions[L]=I,Y(W,L,I)))})},it}),Mt($,"Core/Axis/Tick.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.deg2rad,Q=et.clamp,it=et.correctFloat,K=et.defined,W=et.destroyObjectProperties,F=et.extend,I=et.fireEvent,L=et.isNumber,C=et.merge,y=et.objectEach,S=et.pick;return function(){function M(E,v,k,O,P){this.isNewLabel=this.isNew=!0,this.axis=E,this.pos=v,this.type=k||"",this.parameters=P||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,I(this,"init"),k||O||this.addLabel()}return M.prototype.addLabel=function(){var E=this,v=E.axis,k=v.options,O=v.chart,P=v.categories,g=v.logarithmic,c=v.names,u=E.pos,o=S(E.options&&E.options.labels,k.labels),m=v.tickPositions,l=u===m[0],b=u===m[m.length-1],n=(!o.step||1===o.step)&&1===v.tickInterval;m=m.info;var f,r=E.label;if(P=this.parameters.category||(P?S(P[u],c[u],u):u),g&&L(P)&&(P=it(g.lin2log(P))),v.dateTime)if(m)var T=O.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&m.higherRanks[u]||m.unitName]),w=T.main;else L(P)&&(w=v.dateTime.getXDateFormat(P,k.dateTimeLabelFormats||{}));E.isFirst=l,E.isLast=b;var D={axis:v,chart:O,dateTimeLabelFormat:w,isFirst:l,isLast:b,pos:u,tick:E,tickPositionInfo:m,value:P};I(this,"labelFormat",D);var d=function(a){return o.formatter?o.formatter.call(a,a):o.format?(a.text=v.defaultLabelFormatter.call(a),X.format(o.format,a,O)):v.defaultLabelFormatter.call(a,a)};k=d.call(D,D);var R=T&&T.list;E.shortenLabel=R?function(){for(f=0;f<R.length;f++)if(F(D,{dateTimeLabelFormat:R[f]}),r.attr({text:d.call(D,D)}),r.getBBox().width<v.getSlotWidth(E)-2*o.padding)return;r.attr({text:""})}:void 0,n&&v._addedPlotLB&&E.moveLabel(k,o),K(r)||E.movedLabel?r&&r.textStr!==k&&!n&&(!r.textWidth||o.style.width||r.styles.width||r.css({width:null}),r.attr({text:k}),r.textPxLength=r.getBBox().width):(E.label=r=E.createLabel({x:0,y:0},k,o),E.rotation=0)},M.prototype.createLabel=function(E,v,k){var O=this.axis,P=O.chart;return(E=K(v)&&k.enabled?P.renderer.text(v,E.x,E.y,k.useHTML).add(O.labelGroup):null)&&(P.styledMode||E.css(C(k.style)),E.textPxLength=E.getBBox().width),E},M.prototype.destroy=function(){W(this,this.axis)},M.prototype.getPosition=function(E,v,k,O){var P=this.axis,g=P.chart,c=O&&g.oldChartHeight||g.chartHeight;return(E={x:E?it(P.translate(v+k,null,null,O)+P.transB):P.left+P.offset+(P.opposite?(O&&g.oldChartWidth||g.chartWidth)-P.right-P.left:0),y:E?c-P.bottom+P.offset-(P.opposite?P.height:0):it(c-P.translate(v+k,null,null,O)-P.transB)}).y=Q(E.y,-1e5,1e5),I(this,"afterGetPosition",{pos:E}),E},M.prototype.getLabelPosition=function(E,v,k,O,P,g,c,u){var o=this.axis,m=o.transA,l=o.isLinked&&o.linkedParent?o.linkedParent.reversed:o.reversed,b=o.staggerLines,n=o.tickRotCorr||{x:0,y:0},r=O||o.reserveSpaceDefault?0:-o.labelOffset*("center"===o.labelAlign?.5:1),f={},T=P.y;return K(T)||(T=0===o.side?k.rotation?-8:-k.getBBox().height:2===o.side?n.y+8:Math.cos(k.rotation*rt)*(n.y-k.getBBox(!1,0).height/2)),v=v+T-(g&&!O?g*m*(l?1:-1):0),b&&(k=c/(u||1)%b,o.opposite&&(k=b-k-1),v+=o.labelOffset/b*k),f.x=E=E+P.x+r+n.x-(g&&O?g*m*(l?-1:1):0),f.y=Math.round(v),I(this,"afterGetLabelPosition",{pos:f,tickmarkOffset:g,index:c}),f},M.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},M.prototype.getMarkPath=function(E,v,k,O,P,g){return g.crispLine([["M",E,v],["L",E+(P?0:-k),v+(P?k:0)]],O)},M.prototype.handleOverflow=function(E){var v=this.axis,k=v.options.labels,O=E.x,P=v.chart.chartWidth,g=v.chart.spacing,c=S(v.labelLeft,Math.min(v.pos,g[3]));g=S(v.labelRight,Math.max(v.isRadial?0:v.pos+v.len,P-g[1]));var T,u=this.label,o=this.rotation,m={left:0,center:.5,right:1}[v.labelAlign||u.attr("align")],l=u.getBBox().width,b=v.getSlotWidth(this),n={},r=b,f=1;o||"justify"!==k.overflow?0>o&&O-m*l<c?T=Math.round(O/Math.cos(o*rt)-c):0<o&&O+m*l>g&&(T=Math.round((P-O)/Math.cos(o*rt))):(P=O+(1-m)*l,O-m*l<c?r=E.x+r*(1-m)-c:P>g&&(r=g-E.x+r*m,f=-1),(r=Math.min(b,r))<b&&"center"===v.labelAlign&&(E.x+=f*(b-r-m*(b-Math.min(l,r)))),(l>r||v.autoRotation&&(u.styles||{}).width)&&(T=r)),T&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(T)+"px",(k.style||{}).textOverflow||(n.textOverflow="ellipsis"),u.css(n)))},M.prototype.moveLabel=function(E,v){var k=this,O=k.label,P=k.axis,g=P.reversed,c=!1;if(O&&O.textStr===E?(k.movedLabel=O,c=!0,delete k.label):y(P.ticks,function(o){c||o.isNew||o===k||!o.label||o.label.textStr!==E||(k.movedLabel=o.label,c=!0,o.labelPos=k.movedLabel.xy,delete o.label)}),!c&&(k.labelPos||O)){var u=k.labelPos||O.xy;k.movedLabel=k.createLabel({x:O=P.horiz?g?0:P.width+P.left:u.x,y:P=P.horiz?u.y:g?P.width+P.left:0},E,v),k.movedLabel&&k.movedLabel.attr({opacity:0})}},M.prototype.render=function(E,v,k){var O=this.axis,P=O.horiz,g=this.pos,c=S(this.tickmarkOffset,O.tickmarkOffset);c=(g=this.getPosition(P,g,c,v)).x,O=P&&c===O.pos+O.len||!P&&g.y===O.pos?-1:1,P=S(k,this.label&&this.label.newOpacity,1),k=S(k,1),this.isActive=!0,this.renderGridLine(v,k,O),this.renderMark(g,k,O),this.renderLabel(g,v,P,E),this.isNew=!1,I(this,"afterRender")},M.prototype.renderGridLine=function(E,v,k){var O=this.axis,P=O.options,g={},c=this.pos,u=this.type,o=S(this.tickmarkOffset,O.tickmarkOffset),m=O.chart.renderer,l=this.gridLine,b=P.gridLineWidth,n=P.gridLineColor,r=P.gridLineDashStyle;"minor"===this.type&&(b=P.minorGridLineWidth,n=P.minorGridLineColor,r=P.minorGridLineDashStyle),l||(O.chart.styledMode||(g.stroke=n,g["stroke-width"]=b||0,g.dashstyle=r),u||(g.zIndex=1),E&&(v=0),this.gridLine=l=m.path().attr(g).addClass("highcharts-"+(u?u+"-":"")+"grid-line").add(O.gridGroup)),l&&(k=O.getPlotLinePath({value:c+o,lineWidth:l.strokeWidth()*k,force:"pass",old:E}))&&l[E||this.isNew?"attr":"animate"]({d:k,opacity:v})},M.prototype.renderMark=function(E,v,k){var O=this.axis,P=O.options,g=O.chart.renderer,c=this.type,u=O.tickSize(c?c+"Tick":"tick"),o=E.x;E=E.y;var m=S(P["minor"!==c?"tickWidth":"minorTickWidth"],!c&&O.isXAxis?1:0);P=P["minor"!==c?"tickColor":"minorTickColor"];var l=this.mark,b=!l;u&&(O.opposite&&(u[0]=-u[0]),l||(this.mark=l=g.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(O.axisGroup),O.chart.styledMode||l.attr({stroke:P,"stroke-width":m})),l[b?"attr":"animate"]({d:this.getMarkPath(o,E,u[0],l.strokeWidth()*k,O.horiz,g),opacity:v}))},M.prototype.renderLabel=function(E,v,k,O){var P=this.axis,g=P.horiz,c=P.options,u=this.label,o=c.labels,m=o.step;P=S(this.tickmarkOffset,P.tickmarkOffset);var l=E.x;E=E.y;var b=!0;u&&L(l)&&(u.xy=E=this.getLabelPosition(l,E,u,g,o,P,O,m),this.isFirst&&!this.isLast&&!c.showFirstLabel||this.isLast&&!this.isFirst&&!c.showLastLabel?b=!1:!g||o.step||o.rotation||v||0===k||this.handleOverflow(E),m&&O%m&&(b=!1),b&&L(E.y)?(E.opacity=k,u[this.isNewLabel?"attr":"animate"](E).show(!0),this.isNewLabel=!1):(u.hide(),this.isNewLabel=!0))},M.prototype.replaceMovedLabel=function(){var E=this.label,v=this.axis,k=v.reversed;E&&!this.isNew&&(E.animate({x:v.horiz?k?v.left:v.width+v.left:E.xy.x,y:k=v.horiz?E.xy.y:k?v.width+v.top:v.top,opacity:0},void 0,E.destroy),delete this.label),v.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},M}()}),Mt($,"Core/Axis/Axis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/AxisDefaults.js"],$["Core/Color/Color.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Axis/Tick.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var F=X.animObject,I=rt.defaultOptions,L=Q.registerEventOptions,C=it.deg2rad,y=W.arrayMax,S=W.arrayMin,M=W.clamp,E=W.correctFloat,v=W.defined,k=W.destroyObjectProperties,O=W.erase,P=W.error,g=W.extend,c=W.fireEvent,u=W.isArray,o=W.isNumber,m=W.isString,l=W.merge,b=W.normalizeTickInterval,n=W.objectEach,r=W.pick,f=W.relativeLength,T=W.removeEvent,w=W.splat,D=W.syncTimeout,d=function(R,a){return b(a,void 0,void 0,r(R.options.allowDecimals,.5>a||void 0!==R.tickAmount),!!R.tickAmount)};return function(){function R(a,h){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(a,h)}return R.prototype.init=function(a,h){var A=h.isX;this.chart=a,this.horiz=a.inverted&&!this.isZAxis?!A:A,this.isXAxis=A,this.coll=this.coll||(A?"xAxis":"yAxis"),c(this,"init",{userOptions:h}),this.opposite=r(h.opposite,this.opposite),this.side=r(h.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(h);var j=this.options,z=j.labels,H=j.type;this.userOptions=h,this.minPixelPadding=0,this.reversed=r(j.reversed,this.reversed),this.visible=j.visible,this.zoomEnabled=j.zoomEnabled,this.hasNames="category"===H||!0===j.categories,this.categories=j.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(j.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=j.minRange||j.maxZoom,this.range=j.range,this.offset=j.offset||0,this.min=this.max=null,h=r(j.crosshair,w(a.options.tooltip.crosshairs)[A?0:1]),this.crosshair=!0===h?{}:h,-1===a.axes.indexOf(this)&&(A?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this)),this.series=this.series||[],a.inverted&&!this.isZAxis&&A&&void 0===this.reversed&&(this.reversed=!0),this.labelRotation=o(z.rotation)?z.rotation:void 0,L(this,j),c(this,"afterInit")},R.prototype.setOptions=function(a){this.options=l(Y.defaultXAxisOptions,"yAxis"===this.coll&&Y.defaultYAxisOptions,[Y.defaultTopAxisOptions,Y.defaultRightAxisOptions,Y.defaultBottomAxisOptions,Y.defaultLeftAxisOptions][this.side],l(I[this.coll],a)),c(this,"afterSetOptions",{userOptions:a})},R.prototype.defaultLabelFormatter=function(a){var h=this.axis;a=this.chart.numberFormatter;var A=o(this.value)?this.value:NaN,j=h.chart.time,z=this.dateTimeLabelFormat,H=I.lang,p=H.numericSymbols;H=H.numericSymbolMagnitude||1e3;var N=h.logarithmic?Math.abs(A):h.tickInterval,_=p&&p.length;if(h.categories)var G=""+this.value;else if(z)G=j.dateFormat(z,A);else if(_&&1e3<=N)for(;_--&&void 0===G;)N>=(h=Math.pow(H,_+1))&&10*A%h==0&&null!==p[_]&&0!==A&&(G=a(A/h,-1)+p[_]);return void 0===G&&(G=1e4<=Math.abs(A)?a(A,-1):a(A,-1,void 0,"")),G},R.prototype.getSeriesExtremes=function(){var A,a=this,h=a.chart;c(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1,a.dataMin=a.dataMax=a.threshold=null,a.softThreshold=!a.isXAxis,a.stacking&&a.stacking.buildStacks(),a.series.forEach(function(j){if(j.visible||!h.options.chart.ignoreHiddenSeries){var z=j.options,H=z.threshold;if(a.hasVisibleSeries=!0,a.positiveValuesOnly&&0>=H&&(H=null),a.isXAxis){if((z=j.xData).length){z=a.logarithmic?z.filter(a.validatePositiveValue):z;var p=(A=j.getXExtremes(z)).min,N=A.max;o(p)||p instanceof Date||(z=z.filter(o),p=(A=j.getXExtremes(z)).min,N=A.max),z.length&&(a.dataMin=Math.min(r(a.dataMin,p),p),a.dataMax=Math.max(r(a.dataMax,N),N))}}else j=j.applyExtremes(),o(j.dataMin)&&(p=j.dataMin,a.dataMin=Math.min(r(a.dataMin,p),p)),o(j.dataMax)&&(N=j.dataMax,a.dataMax=Math.max(r(a.dataMax,N),N)),v(H)&&(a.threshold=H),(!z.softThreshold||a.positiveValuesOnly)&&(a.softThreshold=!1)}})}),c(this,"afterGetSeriesExtremes")},R.prototype.translate=function(a,h,A,j,z,H){var p=this.linkedParent||this,N=j&&p.old?p.old.min:p.min,_=p.minPixelPadding;z=(p.isOrdinal||p.brokenAxis&&p.brokenAxis.hasBreaks||p.logarithmic&&z)&&p.lin2val;var G=1,U=0;return(j=j&&p.old?p.old.transA:p.transA)||(j=p.transA),A&&(G*=-1,U=p.len),p.reversed&&(U-=(G*=-1)*(p.sector||p.len)),h?(H=(a*G+U-_)/j+N,z&&(H=p.lin2val(H))):(z&&(a=p.val2lin(a)),a=G*(a-N)*j,H=o(N)?(p.isRadial?a:E(a))+U+G*_+(o(H)?j*H:0):void 0),H},R.prototype.toPixels=function(a,h){return this.translate(a,!1,!this.horiz,null,!0)+(h?0:this.pos)},R.prototype.toValue=function(a,h){return this.translate(a-(h?0:this.pos),!0,!this.horiz,null,!0)},R.prototype.getPlotLinePath=function(a){function h(ht,V,q){return("pass"!==ot&&ht<V||ht>q)&&(ot?ht=M(ht,V,q):ut=!0),ht}var at,ft,mt,gt,ut,A=this,j=A.chart,z=A.left,H=A.top,p=a.old,N=a.value,_=a.lineWidth,G=p&&j.oldChartHeight||j.chartHeight,U=p&&j.oldChartWidth||j.chartWidth,tt=A.transB,J=a.translatedValue,ot=a.force;return c(this,"getPlotLinePath",a={value:N,lineWidth:_,old:p,force:ot,acrossPanes:a.acrossPanes,translatedValue:J},function(ht){J=r(J,A.translate(N,null,null,p)),J=M(J,-1e5,1e5),at=mt=Math.round(J+tt),ft=gt=Math.round(G-J-tt),o(J)?A.horiz?(ft=H,gt=G-A.bottom,at=mt=h(at,z,z+A.width)):(at=z,mt=U-A.right,ft=gt=h(ft,H,H+A.height)):(ut=!0,ot=!1),ht.path=ut&&!ot?null:j.renderer.crispLine([["M",at,ft],["L",mt,gt]],_||1)}),a.path},R.prototype.getLinearTickPositions=function(a,h,A){var j=E(Math.floor(h/a)*a);A=E(Math.ceil(A/a)*a);var H,z=[];if(E(j+a)===j&&(H=20),this.single)return[h];for(h=j;h<=A&&(z.push(h),(h=E(h+a,H))!==p);)var p=h;return z},R.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?r(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},R.prototype.getMinorTickPositions=function(){var a=this.options,h=this.tickPositions,A=this.minorTickInterval,j=this.pointRangePadding||0,z=this.min-j,H=(j=this.max+j)-z,p=[];if(H&&H/A<this.len/3){var N=this.logarithmic;if(N)this.paddedTicks.forEach(function(_,G,U){G&&p.push.apply(p,N.getLogTickPositions(A,U[G-1],U[G],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())p=p.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(A),z,j,a.startOfWeek));else for(a=z+(h[0]-z)%A;a<=j&&a!==p[0];a+=A)p.push(a)}return 0!==p.length&&this.trimTicks(p),p},R.prototype.adjustForMinRange=function(){var H,p,N,_,a=this.options,h=this.logarithmic,A=this.min,j=this.max,z=0;if(this.isXAxis&&void 0===this.minRange&&!h&&(v(a.min)||v(a.max)||v(a.floor)||v(a.ceiling)?this.minRange=null:(this.series.forEach(function(J){if(N=J.xData,_=J.xIncrement?1:N.length-1,1<N.length)for(H=_;0<H;H--)p=N[H]-N[H-1],(!z||p<z)&&(z=p)}),this.minRange=Math.min(5*z,this.dataMax-this.dataMin))),j-A<this.minRange){var G=this.dataMax-this.dataMin>=this.minRange,U=this.minRange,tt=(U-j+A)/2;tt=[A-tt,r(a.min,A-tt)],G&&(tt[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),j=[(A=y(tt))+U,r(a.max,A+U)],G&&(j[2]=h?h.log2lin(this.dataMax):this.dataMax),(j=S(j))-A<U&&(tt[0]=j-U,tt[1]=r(a.min,j-U),A=y(tt))}this.min=A,this.max=j},R.prototype.getClosest=function(){var a;return this.categories?a=1:this.series.forEach(function(h){var A=h.closestPointRange,j=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&v(A)&&j&&(a=v(a)?Math.min(a,A):A)}),a},R.prototype.nameToX=function(a){var h=u(this.options.categories),A=h?this.categories:this.names,j=a.options.x;if(a.series.requireSorting=!1,v(j)||(j=this.options.uniqueNames&&A?h?A.indexOf(a.name):r(A.keys[a.name],-1):a.series.autoIncrement()),-1===j){if(!h&&A)var z=A.length}else z=j;return void 0!==z&&(this.names[z]=a.name,this.names.keys[a.name]=z),z},R.prototype.updateNames=function(){var a=this,h=this.names;0<h.length&&(Object.keys(h.keys).forEach(function(A){delete h.keys[A]}),h.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(A){A.xIncrement=null,(!A.points||A.isDirtyData)&&(a.max=Math.max(a.max,A.xData.length-1),A.processData(),A.generatePoints()),A.data.forEach(function(j,z){if(j&&j.options&&void 0!==j.name){var H=a.nameToX(j);void 0!==H&&H!==j.x&&(j.x=H,A.xData[z]=H)}})}))},R.prototype.setAxisTranslation=function(){var _,a=this,h=a.max-a.min,A=a.linkedParent,j=!!a.categories,z=a.isXAxis,H=a.axisPointRange||0,p=0,N=0;if(z||j||H){var G=a.getClosest();A?(p=A.minPointOffset,N=A.pointRangePadding):a.series.forEach(function(U){var tt=j?1:z?r(U.options.pointRange,G,0):a.axisPointRange||0,J=U.options.pointPlacement;H=Math.max(H,tt),(!a.single||j)&&(U=U.is("xrange")?!z:z,p=Math.max(p,U&&m(J)?0:tt/2),N=Math.max(N,U&&"on"===J?0:tt))}),a.minPointOffset=p*=A=a.ordinal&&a.ordinal.slope&&G?a.ordinal.slope/G:1,a.pointRangePadding=N*=A,a.pointRange=Math.min(H,a.single&&j?1:h),z&&(a.closestPointRange=G)}a.translationSlope=a.transA=_=a.staticScale||a.len/(h+N||1),a.transB=a.horiz?a.left:a.bottom,a.minPixelPadding=_*p,c(this,"afterSetAxisTranslation")},R.prototype.minFromRange=function(){return this.max-this.range},R.prototype.setTickInterval=function(a){var h=this.chart,A=this.logarithmic,j=this.options,z=this.isXAxis,H=this.isLinked,p=j.tickPixelInterval,N=this.categories,_=this.softThreshold,G=j.maxPadding,U=j.minPadding,tt=o(j.tickInterval)&&0<=j.tickInterval?j.tickInterval:void 0,J=o(this.threshold)?this.threshold:null;this.dateTime||N||H||this.getTickAmount();var ot=r(this.userMin,j.min),at=r(this.userMax,j.max);if(H){this.linkedParent=h[this.coll][j.linkedTo];var ft=this.linkedParent.getExtremes();this.min=r(ft.min,ft.dataMin),this.max=r(ft.max,ft.dataMax),j.type!==this.linkedParent.options.type&&P(11,1,h)}else{if(_&&v(J))if(this.dataMin>=J)ft=J,U=0;else if(this.dataMax<=J){var mt=J;G=0}this.min=r(ot,ft,this.dataMin),this.max=r(at,mt,this.dataMax)}if(A&&(this.positiveValuesOnly&&!a&&0>=Math.min(this.min,r(this.dataMin,this.min))&&P(10,1,h),this.min=E(A.log2lin(this.min),16),this.max=E(A.log2lin(this.max),16)),this.range&&v(this.max)&&(this.userMin=this.min=ot=Math.max(this.dataMin,this.minFromRange()),this.userMax=at=this.max,this.range=null),c(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!(N||this.axisPointRange||this.stacking&&this.stacking.usePercentage||H)&&v(this.min)&&v(this.max)&&(h=this.max-this.min)&&(!v(ot)&&U&&(this.min-=h*U),!v(at)&&G&&(this.max+=h*G)),o(this.userMin)||(o(j.softMin)&&j.softMin<this.min&&(this.min=ot=j.softMin),o(j.floor)&&(this.min=Math.max(this.min,j.floor))),o(this.userMax)||(o(j.softMax)&&j.softMax>this.max&&(this.max=at=j.softMax),o(j.ceiling)&&(this.max=Math.min(this.max,j.ceiling))),_&&v(this.dataMin)&&(J=J||0,!v(ot)&&this.min<J&&this.dataMin>=J?this.min=this.options.minRange?Math.min(J,this.max-this.minRange):J:!v(at)&&this.max>J&&this.dataMax<=J&&(this.max=this.options.minRange?Math.max(J,this.min+this.minRange):J)),o(this.min)&&o(this.max)&&!this.chart.polar&&this.min>this.max&&(v(this.options.min)?this.max=this.min:v(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||void 0===this.min||void 0===this.max?1:H&&this.linkedParent&&!tt&&p===this.linkedParent.options.tickPixelInterval?tt=this.linkedParent.tickInterval:r(tt,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,N?1:(this.max-this.min)*p/Math.max(this.len,p)),z&&!a){var gt=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(ut){ut.forceCrop=ut.forceCropping&&ut.forceCropping(),ut.processData(gt)}),c(this,"postProcessData",{hasExtemesChanged:gt})}this.setAxisTranslation(),c(this,"initialAxisTranslation"),this.pointRange&&!tt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),a=r(j.minTickInterval,this.dateTime&&!this.series.some(function(ut){return ut.noSharedTooltip})?this.closestPointRange:0),!tt&&this.tickInterval<a&&(this.tickInterval=a),this.dateTime||this.logarithmic||tt||(this.tickInterval=d(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()},R.prototype.setTickPositions=function(){var a=this.options,h=a.tickPositions,A=this.getMinorTickInterval(),j=this.hasVerticalPanning(),z="colorAxis"===this.coll,H=(z||!j)&&a.startOnTick;if(j=(z||!j)&&a.endOnTick,z=a.tickPositioner,this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===A&&this.tickInterval?this.tickInterval/5:A,this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals),this.tickPositions=A=h&&h.slice(),!A){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)A=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)A=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var p=a=this.tickInterval;p<=2*a&&(A=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&A.length>this.tickAmount);)this.tickInterval=d(this,p*=1.1);else A=[this.min,this.max],P(19,!1,this.chart);A.length>this.len&&(A=[A[0],A.pop()])[0]===A[1]&&(A.length=1),this.tickPositions=A,z&&(z=z.apply(this,[this.min,this.max]))&&(this.tickPositions=A=z)}this.paddedTicks=A.slice(0),this.trimTicks(A,H,j),this.isLinked||(this.single&&2>A.length&&!this.categories&&!this.series.some(function(N){return N.is("heatmap")&&"between"===N.options.pointPlacement})&&(this.min-=.5,this.max+=.5),h||z||this.adjustTickAmount()),c(this,"afterSetTickPositions")},R.prototype.trimTicks=function(a,h,A){var j=a[0],z=a[a.length-1],H=!this.isOrdinal&&this.minPointOffset||0;if(c(this,"trimTicks"),!this.isLinked){if(h&&j!==-1/0)this.min=j;else for(;this.min-H>a[0];)a.shift();if(A)this.max=z;else for(;this.max+H<a[a.length-1];)a.pop();0===a.length&&v(j)&&!this.options.tickPositions&&a.push((z+j)/2)}},R.prototype.alignToOthers=function(){var H,a=this,h=[this],A=a.options,j="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,z=[];if(a.thresholdAlignment=void 0,(!1!==this.chart.options.chart.alignTicks&&A.alignTicks||j)&&!1!==A.startOnTick&&!1!==A.endOnTick&&!a.logarithmic){var p=function(G){var U=G.options;return[G.horiz?U.left:U.top,U.width,U.height,U.pane].join()},N=p(this);this.chart[this.coll].forEach(function(G){var U=G.series;U.length&&U.some(function(tt){return tt.visible})&&G!==a&&p(G)===N&&(H=!0,h.push(G))})}if(H&&j){h.forEach(function(G){G=G.getThresholdAlignment(a),o(G)&&z.push(G)});var _=1<z.length?z.reduce(function(G,U){return G+U},0)/z.length:void 0;h.forEach(function(G){G.thresholdAlignment=_})}return H},R.prototype.getThresholdAlignment=function(a){if((!o(this.dataMin)||this!==a&&this.series.some(function(h){return h.isDirty||h.isDirtyData}))&&this.getSeriesExtremes(),o(this.threshold))return a=M((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(a=1-a),a},R.prototype.getTickAmount=function(){var a=this.options,h=a.tickPixelInterval,A=a.tickAmount;!v(a.tickInterval)&&!A&&this.len<h&&!this.isRadial&&!this.logarithmic&&a.startOnTick&&a.endOnTick&&(A=2),!A&&this.alignToOthers()&&(A=Math.ceil(this.len/h)+1),4>A&&(this.finalTickAmt=A,A=5),this.tickAmount=A},R.prototype.adjustTickAmount=function(){var a=this,h=a.finalTickAmt,A=a.max,j=a.min,z=a.options,H=a.tickPositions,p=a.tickAmount,N=a.thresholdAlignment,_=H&&H.length,G=r(a.threshold,a.softThreshold?0:null),U=a.tickInterval;if(o(N)){var tt=.5>N?Math.ceil(N*(p-1)):Math.floor(N*(p-1));z.reversed&&(tt=p-1-tt)}if(a.hasData()&&o(j)&&o(A)){if(N=function(){a.transA*=(_-1)/(p-1),a.min=z.startOnTick?H[0]:Math.min(j,H[0]),a.max=z.endOnTick?H[H.length-1]:Math.max(A,H[H.length-1])},o(tt)&&o(a.threshold)){for(;H[tt]!==G||H.length!==p||H[0]>j||H[H.length-1]<A;){for(H.length=0,H.push(a.threshold);H.length<p;)void 0===H[tt]||H[tt]>a.threshold?H.unshift(E(H[0]-U)):H.push(E(H[H.length-1]+U));if(U>8*a.tickInterval)break;U*=2}N()}else if(_<p){for(;H.length<p;)H.length%2||j===G?H.push(E(H[H.length-1]+U)):H.unshift(E(H[0]-U));N()}if(v(h)){for(U=G=H.length;U--;)(3===h&&U%2==1||2>=h&&0<U&&U<G-1)&&H.splice(U,1);a.finalTickAmt=void 0}}},R.prototype.setScale=function(){var a=!1,h=!1;this.series.forEach(function(j){a=a||j.isDirtyData||j.isDirty,h=h||j.xAxis&&j.xAxis.isDirty||!1}),this.setAxisSize();var A=this.len!==(this.old&&this.old.len);A||a||h||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=A||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),a&&this.panningState&&(this.panningState.isDirty=!0),c(this,"afterSetScale")},R.prototype.setExtremes=function(a,h,A,j,z){var H=this,p=H.chart;A=r(A,!0),H.series.forEach(function(N){delete N.kdTree}),z=g(z,{min:a,max:h}),c(H,"setExtremes",z,function(){H.userMin=a,H.userMax=h,H.eventArgs=z,A&&p.redraw(j)})},R.prototype.zoom=function(a,h){var A=this,j=this.dataMin,z=this.dataMax,H=this.options,p=Math.min(j,r(H.min,j)),N=Math.max(z,r(H.max,z));return c(this,"zoom",a={newMin:a,newMax:h},function(_){var G=_.newMin,U=_.newMax;(G!==A.min||U!==A.max)&&(A.allowZoomOutside||(v(j)&&(G<p&&(G=p),G>N&&(G=N)),v(z)&&(U<p&&(U=p),U>N&&(U=N))),A.displayBtn=void 0!==G||void 0!==U,A.setExtremes(G,U,!1,void 0,{trigger:"zoom"})),_.zoomed=!0}),a.zoomed},R.prototype.setAxisSize=function(){var a=this.chart,h=this.options,A=h.offsets||[0,0,0,0],j=this.horiz,z=this.width=Math.round(f(r(h.width,a.plotWidth-A[3]+A[1]),a.plotWidth)),H=this.height=Math.round(f(r(h.height,a.plotHeight-A[0]+A[2]),a.plotHeight)),p=this.top=Math.round(f(r(h.top,a.plotTop+A[0]),a.plotHeight,a.plotTop));h=this.left=Math.round(f(r(h.left,a.plotLeft+A[3]),a.plotWidth,a.plotLeft)),this.bottom=a.chartHeight-H-p,this.right=a.chartWidth-z-h,this.len=Math.max(j?z:H,0),this.pos=j?h:p},R.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?E(a.lin2log(this.min)):this.min,max:a?E(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},R.prototype.getThreshold=function(a){var h=this.logarithmic,A=h?h.lin2log(this.min):this.min;return h=h?h.lin2log(this.max):this.max,null===a||a===-1/0?a=A:a===1/0?a=h:A>a?a=A:h<a&&(a=h),this.translate(a,0,1,0,1)},R.prototype.autoLabelAlign=function(a){var h=(r(a,0)-90*this.side+720)%360;return c(this,"autoLabelAlign",a={align:"center"},function(A){15<h&&165>h?A.align="right":195<h&&345>h&&(A.align="left")}),a.align},R.prototype.tickSize=function(a){var h=this.options,A=r(h["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0),j=h["tick"===a?"tickLength":"minorTickLength"];if(A&&j){"inside"===h[a+"Position"]&&(j=-j);var z=[j,A]}return c(this,"afterTickSize",a={tickSize:z}),a.tickSize},R.prototype.labelMetrics=function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},R.prototype.unsquish=function(){var G,U,a=this.options.labels,h=this.horiz,A=this.tickInterval,j=this.len/(((this.categories?1:0)+this.max-this.min)/A),z=a.rotation,H=this.labelMetrics(),p=Math.max(this.max-this.min,0),N=function(ot){var at=ot/(j||1);return(at=1<at?Math.ceil(at):1)*A>p&&ot!==1/0&&j!==1/0&&p&&(at=Math.ceil(p/A)),E(at*A)},_=A,tt=Number.MAX_VALUE;if(h){if(!a.staggerLines&&!a.step)if(o(z))var J=[z];else j<a.autoRotationLimit&&(J=a.autoRotation);J&&J.forEach(function(ot){if(ot===z||ot&&-90<=ot&&90>=ot){var at=(U=N(Math.abs(H.h/Math.sin(C*ot))))+Math.abs(ot/360);at<tt&&(tt=at,G=ot,_=U)}})}else a.step||(_=N(H.h));return this.autoRotation=J,this.labelRotation=r(G,o(z)?z:0),_},R.prototype.getSlotWidth=function(a){var h=this.chart,A=this.horiz,j=this.options.labels,z=Math.max(this.tickPositions.length-(this.categories?0:1),1),H=h.margin[3];if(a&&o(a.slotWidth))return a.slotWidth;if(A&&2>j.step)return j.rotation?0:(this.staggerLines||1)*this.len/z;if(!A){if(void 0!==(a=j.style.width))return parseInt(String(a),10);if(H)return H-h.spacing[3]}return.33*h.chartWidth},R.prototype.renderUnsquish=function(){var a=this.chart,h=a.renderer,A=this.tickPositions,j=this.ticks,z=this.options.labels,H=z.style,p=this.horiz,N=this.getSlotWidth(),_=Math.max(1,Math.round(N-2*z.padding)),G={},U=this.labelMetrics(),tt=H.textOverflow,J=0;if(m(z.rotation)||(G.rotation=z.rotation||0),A.forEach(function(mt){(mt=j[mt]).movedLabel&&mt.replaceMovedLabel(),mt&&mt.label&&mt.label.textPxLength>J&&(J=mt.label.textPxLength)}),this.maxLabelLength=J,this.autoRotation)J>_&&J>U.h?G.rotation=this.labelRotation:this.labelRotation=0;else if(N){var ot=_;if(!tt){var at="clip";for(_=A.length;!p&&_--;){var ft=A[_];(ft=j[ft].label)&&(ft.styles&&"ellipsis"===ft.styles.textOverflow?ft.css({textOverflow:"clip"}):ft.textPxLength>N&&ft.css({width:N+"px"}),ft.getBBox().height>this.len/A.length-(U.h-U.f)&&(ft.specificTextOverflow="ellipsis"))}}}G.rotation&&(ot=J>.5*a.chartHeight?.33*a.chartHeight:J,tt||(at="ellipsis")),(this.labelAlign=z.align||this.autoLabelAlign(this.labelRotation))&&(G.align=this.labelAlign),A.forEach(function(mt){var gt=(mt=j[mt])&&mt.label,ut=H.width,ht={};gt&&(gt.attr(G),mt.shortenLabel?mt.shortenLabel():ot&&!ut&&"nowrap"!==H.whiteSpace&&(ot<gt.textPxLength||"SPAN"===gt.element.tagName)?(ht.width=ot+"px",tt||(ht.textOverflow=gt.specificTextOverflow||at),gt.css(ht)):gt.styles&&gt.styles.width&&!ht.width&&!ut&&gt.css({width:null}),delete gt.specificTextOverflow,mt.rotation=G.rotation)},this),this.tickRotCorr=h.rotCorr(U.b,this.labelRotation||0,0!==this.side)},R.prototype.hasData=function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&v(this.min)&&v(this.max)},R.prototype.addTitle=function(a){var p,j=this.opposite,z=this.options.title,H=this.chart.styledMode;this.axisTitle||((p=z.textAlign)||(p=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:j?"right":"left",middle:"center",high:j?"left":"right"})[z.align]),this.axisTitle=this.chart.renderer.text(z.text||"",0,0,z.useHTML).attr({zIndex:7,rotation:z.rotation,align:p}).addClass("highcharts-axis-title"),H||this.axisTitle.css(l(z.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),H||z.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[a?"show":"hide"](a)},R.prototype.generateTick=function(a){var h=this.ticks;h[a]?h[a].addLabel():h[a]=new K(this,a)},R.prototype.getOffset=function(){var a=this,h=this,A=h.chart,j=h.horiz,z=h.options,H=h.side,p=h.ticks,N=h.tickPositions,_=h.coll,G=h.axisParent,U=A.renderer,tt=A.inverted&&!h.isZAxis?[1,0,3,2][H]:H,J=h.hasData(),ot=z.title,at=z.labels,ft=A.axisOffset;A=A.clipOffset;var ut,mt=[-1,1,1,-1][H],gt=z.className,ht=0,V=0,q=0;if(h.showAxis=ut=J||z.showEmpty,h.staggerLines=h.horiz&&at.staggerLines||void 0,!h.axisGroup){var st=function(dt,yt,xt){return U.g(dt).attr({zIndex:xt}).addClass("highcharts-"+_.toLowerCase()+yt+" "+(a.isRadial?"highcharts-radial-axis"+yt+" ":"")+(gt||"")).add(G)};h.gridGroup=st("grid","-grid",z.gridZIndex),h.axisGroup=st("axis","",z.zIndex),h.labelGroup=st("axis-labels","-labels",at.zIndex)}if(J||h.isLinked?(N.forEach(function(dt){h.generateTick(dt)}),h.renderUnsquish(),h.reserveSpaceDefault=0===H||2===H||{1:"left",3:"right"}[H]===h.labelAlign,r(at.reserveSpace,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&N.forEach(function(dt){q=Math.max(p[dt].getLabelSize(),q)}),h.staggerLines&&(q*=h.staggerLines),h.labelOffset=q*(h.opposite?-1:1)):n(p,function(dt,yt){dt.destroy(),delete p[yt]}),ot&&ot.text&&!1!==ot.enabled&&(h.addTitle(ut),ut&&!1!==ot.reserveSpace)){h.titleOffset=ht=h.axisTitle.getBBox()[j?"height":"width"];var ct=ot.offset;V=v(ct)?0:r(ot.margin,j?5:10)}h.renderLine(),h.offset=mt*r(z.offset,ft[H]?ft[H]+(z.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},ot=0===H?-h.labelMetrics().h:2===H?h.tickRotCorr.y:0,J=Math.abs(q)+V,q&&(J=J-ot+mt*(j?r(at.y,h.tickRotCorr.y+8*mt):at.x)),h.axisTitleMargin=r(ct,J),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(p,N)),"colorAxis"!==_&&(j=this.tickSize("tick"),ft[H]=Math.max(ft[H],(h.axisTitleMargin||0)+ht+mt*h.offset,J,N&&N.length&&j?j[0]+mt*h.offset:0),z=!h.axisLine||z.offset?0:2*Math.floor(h.axisLine.strokeWidth()/2),A[tt]=Math.max(A[tt],z)),c(this,"afterGetOffset")},R.prototype.getLinePath=function(a){var h=this.chart,A=this.opposite,j=this.offset,z=this.horiz,H=this.left+(A?this.width:0)+j;return j=h.chartHeight-this.bottom-(A?this.height:0)+j,A&&(a*=-1),h.renderer.crispLine([["M",z?this.left:H,z?j:this.top],["L",z?h.chartWidth-this.right:H,z?j:h.chartHeight-this.bottom]],a)},R.prototype.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}))},R.prototype.getTitlePosition=function(){var a=this.horiz,h=this.left,A=this.top,j=this.len,z=this.options.title,H=a?h:A,p=this.opposite,N=this.offset,_=z.x,G=z.y,U=this.axisTitle,tt=this.chart.renderer.fontMetrics(z.style.fontSize,U);return U=U?Math.max(U.getBBox(!1,0).height-tt.h-1,0):0,j={low:H+(a?0:j),middle:H+j/2,high:H+(a?j:0)}[z.align],h=(a?A+this.height:h)+(a?1:-1)*(p?-1:1)*(this.axisTitleMargin||0)+[-U,U,tt.f,-U][this.side],c(this,"afterGetTitlePosition",{titlePosition:a={x:a?j+_:h+(p?this.width:0)+N+_,y:a?h+G-(p?this.height:0)+N:j+G}}),a},R.prototype.renderMinorTick=function(a,h){var A=this.minorTicks;A[a]||(A[a]=new K(this,a,"minor")),h&&A[a].isNew&&A[a].render(null,!0),A[a].render(null,!1,1)},R.prototype.renderTick=function(a,h,A){var j=this.ticks;(!this.isLinked||a>=this.min&&a<=this.max||this.grid&&this.grid.isColumn)&&(j[a]||(j[a]=new K(this,a)),A&&j[a].isNew&&j[a].render(h,!0,-1),j[a].render(h))},R.prototype.render=function(){var mt,gt,a=this,h=a.chart,A=a.logarithmic,j=a.options,z=a.isLinked,H=a.tickPositions,p=a.axisTitle,N=a.ticks,_=a.minorTicks,G=a.alternateBands,U=j.stackLabels,tt=j.alternateGridColor,J=a.tickmarkOffset,ot=a.axisLine,at=a.showAxis,ft=F(h.renderer.globalAnimation);if(a.labelEdge.length=0,a.overlap=!1,[N,_,G].forEach(function(ht){n(ht,function(V){V.isActive=!1})}),a.hasData()||z){var ut=a.chart.hasRendered&&a.old&&o(a.old.min);a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(ht){a.renderMinorTick(ht,ut)}),H.length&&(H.forEach(function(ht,V){a.renderTick(ht,V,ut)}),J&&(0===a.min||a.single)&&(N[-1]||(N[-1]=new K(a,-1,null,!0)),N[-1].render(-1))),tt&&H.forEach(function(ht,V){gt=void 0!==H[V+1]?H[V+1]+J:a.max-J,V%2==0&&ht<a.max&&gt<=a.max+(h.polar?-J:J)&&(G[ht]||(G[ht]=new it.PlotLineOrBand(a)),mt=ht+J,G[ht].options={from:A?A.lin2log(mt):mt,to:A?A.lin2log(gt):gt,color:tt,className:"highcharts-alternate-grid"},G[ht].render(),G[ht].isActive=!0)}),a._addedPlotLB||(a._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(ht){a.addPlotBandOrLine(ht)}))}[N,_,G].forEach(function(ht){var V=[],q=ft.duration;n(ht,function(st,ct){st.isActive||(st.render(ct,!1,0),st.isActive=!1,V.push(ct))}),D(function(){for(var st=V.length;st--;)ht[V[st]]&&!ht[V[st]].isActive&&(ht[V[st]].destroy(),delete ht[V[st]])},ht!==G&&h.hasRendered&&q?q:0)}),ot&&(ot[ot.isPlaced?"animate":"attr"]({d:this.getLinePath(ot.strokeWidth())}),ot.isPlaced=!0,ot[at?"show":"hide"](at)),p&&at&&(j=a.getTitlePosition(),p[p.isNew?"attr":"animate"](j),p.isNew=!1),U&&U.enabled&&a.stacking&&a.stacking.renderStackTotals(),a.old={len:a.len,max:a.max,min:a.min,transA:a.transA,userMax:a.userMax,userMin:a.userMin},a.isDirty=!1,c(this,"afterRender")},R.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()})),this.series.forEach(function(a){a.isDirty=!0})},R.prototype.getKeepProps=function(){return this.keepProps||R.keepProps},R.prototype.destroy=function(a){var h=this,A=h.plotLinesAndBands,j=this.eventOptions;if(c(this,"destroy",{keepEvents:a}),a||T(h),[h.ticks,h.minorTicks,h.alternateBands].forEach(function(H){k(H)}),A)for(a=A.length;a--;)A[a].destroy();for(var z in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(H){h[H]&&(h[H]=h[H].destroy())}),h.plotLinesAndBandsGroups)h.plotLinesAndBandsGroups[z]=h.plotLinesAndBandsGroups[z].destroy();n(h,function(H,p){-1===h.getKeepProps().indexOf(p)&&delete h[p]}),this.eventOptions=j},R.prototype.drawCrosshair=function(a,h){var H,A=this.crosshair,j=r(A&&A.snap,!0),z=this.chart,p=this.cross;if(c(this,"drawCrosshair",{e:a,point:h}),a||(a=this.cross&&this.cross.e),A&&!1!==(v(h)||!j)){if(j?v(h)&&(H=r("colorAxis"!==this.coll?h.crosshairPos:null,this.isXAxis?h.plotX:this.len-h.plotY)):H=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),v(H)){var N={value:h&&(this.isXAxis?h.x:r(h.stackY,h.y)),translatedValue:H};z.polar&&g(N,{isCrosshair:!0,chartX:a&&a.chartX,chartY:a&&a.chartY,point:h}),N=this.getPlotLinePath(N)||null}if(!v(N))return void this.hideCrosshair();j=this.categories&&!this.isRadial,p||(this.cross=p=z.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(j?"category ":"thin ")+(A.className||"")).attr({zIndex:r(A.zIndex,2)}).add(),z.styledMode||(p.attr({stroke:A.color||(j?et.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":r(A.width,1)}).css({"pointer-events":"none"}),A.dashStyle&&p.attr({dashstyle:A.dashStyle}))),p.show().attr({d:N}),j&&!A.width&&p.attr({"stroke-width":this.transA}),this.cross.e=a}else this.hideCrosshair();c(this,"afterDrawCrosshair",{e:a,point:h})},R.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),c(this,"afterHideCrosshair")},R.prototype.hasVerticalPanning=function(){var a=this.chart.options.chart.panning;return!!(a&&a.enabled&&/y/.test(a.type))},R.prototype.validatePositiveValue=function(a){return o(a)&&0<a},R.prototype.update=function(a,h){var A=this.chart;a=l(this.userOptions,a),this.destroy(!0),this.init(A,a),A.isDirtyBox=!0,r(h,!0)&&A.redraw()},R.prototype.remove=function(a){for(var h=this.chart,A=this.coll,j=this.series,z=j.length;z--;)j[z]&&j[z].remove(!1);O(h.axes,this),O(h[A],this),h[A].forEach(function(H,p){H.options.index=H.userOptions.index=p}),this.destroy(),h.isDirtyBox=!0,r(a,!0)&&h.redraw()},R.prototype.setTitle=function(a,h){this.update({title:a},h)},R.prototype.setCategories=function(a,h){this.update({categories:a},h)},R.defaultOptions=Y.defaultXAxisOptions,R.keepProps="extKey hcEvents names series userMax userMin".split(" "),R}()}),Mt($,"Core/Axis/DateTimeAxis.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.getMagnitude,rt=X.normalizeTickInterval,Q=X.timeUnits;return function(K){function W(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(C){"datetime"!==C.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new L(this))}var I=[];K.compose=function(C){return-1===I.indexOf(C)&&(I.push(C),C.keepProps.push("dateTime"),C.prototype.getTimeTicks=W,Y(C,"init",F)),C};var L=function(){function C(y){this.axis=y}return C.prototype.normalizeTimeTickInterval=function(y,S){var k,M=S||[["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]],E=Q[(S=M[M.length-1])[0]],v=S[1];for(k=0;k<M.length&&(E=Q[(S=M[k])[0]],v=S[1],!(M[k+1]&&y<=(E*v[v.length-1]+Q[M[k+1][0]])/2));k++);return E===Q.year&&y<5*E&&(v=[1,2,5]),{unitRange:E,count:y=rt(y/E,v,"year"===S[0]?Math.max(et(y/E),1):1),unitName:S[0]}},C.prototype.getXDateFormat=function(y,S){var M=this.axis;return M.closestPointRange?M.chart.time.getDateFormat(M.closestPointRange,y,M.options.startOfWeek,S)||S.year:S.day},C}();K.Additions=L}(it||(it={})),it}),Mt($,"Core/Axis/LogarithmicAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.addEvent,et=X.normalizeTickInterval,rt=X.pick;return function(it){function K(L){var C=this.logarithmic;"logarithmic"!==L.userOptions.type?this.logarithmic=void 0:C||(this.logarithmic=new I(this))}function W(){var L=this.logarithmic;L&&(this.lin2val=function(C){return L.lin2log(C)},this.val2lin=function(C){return L.log2lin(C)})}var F=[];it.compose=function(L){return-1===F.indexOf(L)&&(F.push(L),L.keepProps.push("logarithmic"),Y(L,"init",K),Y(L,"afterInit",W)),L};var I=function(){function L(C){this.axis=C}return L.prototype.getLogTickPositions=function(C,y,S,M){var E=this.axis,v=E.len,k=E.options,O=[];if(M||(this.minorAutoInterval=void 0),.5<=C)C=Math.round(C),O=E.getLinearTickPositions(C,y,S);else if(.08<=C){var g,P=Math.floor(y),c=k=void 0;for(v=.3<C?[1,2,4]:.15<C?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];P<S+1&&!c;P++){var u=v.length;for(g=0;g<u&&!c;g++){var o=this.log2lin(this.lin2log(P)*v[g]);o>y&&(!M||k<=S)&&void 0!==k&&O.push(k),k>S&&(c=!0),k=o}}}else y=this.lin2log(y),S=this.lin2log(S),C=M?E.getMinorTickInterval():k.tickInterval,C=rt("auto"===C?null:C,this.minorAutoInterval,k.tickPixelInterval/(M?5:1)*(S-y)/((M?v/E.tickPositions.length:v)||1)),C=et(C),O=E.getLinearTickPositions(C,y,S).map(this.log2lin),M||(this.minorAutoInterval=C/5);return M||(E.tickInterval=C),O},L.prototype.lin2log=function(C){return Math.pow(10,C)},L.prototype.log2lin=function(C){return Math.log(C)/Math.LN10},L}();it.Additions=I}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.erase,et=X.extend,rt=X.isNumber;return function(it){var W,K=[];it.compose=function(I,L){return W||(W=I),-1===K.indexOf(L)&&(K.push(L),et(L.prototype,F.prototype)),L};var F=function(){function I(){}return I.prototype.getPlotBandPath=function(L,C,y){void 0===y&&(y=this.options);var S=this.getPlotLinePath({value:C,force:!0,acrossPanes:y.acrossPanes}),M=[],E=this.horiz;if(C=!rt(this.min)||!rt(this.max)||L<this.min&&C<this.min||L>this.max&&C>this.max,L=this.getPlotLinePath({value:L,force:!0,acrossPanes:y.acrossPanes}),y=1,L&&S){if(C){var v=L.toString()===S.toString();y=0}for(C=0;C<L.length;C+=2){var k=L[C],O=L[C+1],P=S[C],g=S[C+1];"M"!==k[0]&&"L"!==k[0]||"M"!==O[0]&&"L"!==O[0]||"M"!==P[0]&&"L"!==P[0]||"M"!==g[0]&&"L"!==g[0]||(E&&P[1]===k[1]?(P[1]+=y,g[1]+=y):E||P[2]!==k[2]||(P[2]+=y,g[2]+=y),M.push(["M",k[1],k[2]],["L",O[1],O[2]],["L",g[1],g[2]],["L",P[1],P[2]],["Z"])),M.isFlat=v}}return M},I.prototype.addPlotBand=function(L){return this.addPlotBandOrLine(L,"plotBands")},I.prototype.addPlotLine=function(L){return this.addPlotBandOrLine(L,"plotLines")},I.prototype.addPlotBandOrLine=function(L,C){var y=this,S=this.userOptions,M=new W(this,L);if(this.visible&&(M=M.render()),M){if(this._addedPlotLB||(this._addedPlotLB=!0,(S.plotLines||[]).concat(S.plotBands||[]).forEach(function(v){y.addPlotBandOrLine(v)})),C){var E=S[C]||[];E.push(L),S[C]=E}this.plotLinesAndBands.push(M)}return M},I.prototype.removePlotBandOrLine=function(L){var C=this.plotLinesAndBands,y=this.options,S=this.userOptions;if(C){for(var M=C.length;M--;)C[M].id===L&&C[M].destroy();[y.plotLines||[],S.plotLines||[],y.plotBands||[],S.plotBands||[]].forEach(function(E){for(M=E.length;M--;)(E[M]||{}).id===L&&Y(E,E[M])})}},I.prototype.removePlotBand=function(L){this.removePlotBandOrLine(L)},I.prototype.removePlotLine=function(L){this.removePlotBandOrLine(L)},I}()}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[$["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.arrayMax,rt=Y.arrayMin,Q=Y.defined,it=Y.destroyObjectProperties,K=Y.erase,W=Y.fireEvent,F=Y.merge,I=Y.objectEach,L=Y.pick;return function(){function C(y,S){this.axis=y,S&&(this.options=S,this.id=S.id)}return C.compose=function(y){return X.compose(C,y)},C.prototype.render=function(){W(this,"render");var y=this,S=y.axis,M=S.horiz,E=S.logarithmic,v=y.options,k=v.color,O=L(v.zIndex,0),P=v.events,g={},c=S.chart.renderer,u=v.label,o=y.label,m=v.to,l=v.from,b=v.value,n=y.svgElem,r=[],f=Q(l)&&Q(m);r=Q(b);var T=!n,w={class:"highcharts-plot-"+(f?"band ":"line ")+(v.className||"")},D=f?"bands":"lines";if(E&&(l=E.log2lin(l),m=E.log2lin(m),b=E.log2lin(b)),S.chart.styledMode||(r?(w.stroke=k||"#999999",w["stroke-width"]=L(v.width,1),v.dashStyle&&(w.dashstyle=v.dashStyle)):f&&(w.fill=k||"#e6ebf5",v.borderWidth&&(w.stroke=v.borderColor,w["stroke-width"]=v.borderWidth))),g.zIndex=O,(E=S.plotLinesAndBandsGroups[D+="-"+O])||(S.plotLinesAndBandsGroups[D]=E=c.g("plot-"+D).attr(g).add()),T&&(y.svgElem=n=c.path().attr(w).add(E)),r)r=S.getPlotLinePath({value:b,lineWidth:n.strokeWidth(),acrossPanes:v.acrossPanes});else{if(!f)return;r=S.getPlotBandPath(l,m,v)}return!y.eventsAdded&&P&&(I(P,function(d,R){n.on(R,function(a){P[R].apply(y,[a])})}),y.eventsAdded=!0),(T||!n.d)&&r&&r.length?n.attr({d:r}):n&&(r?(n.show(),n.animate({d:r})):n.d&&(n.hide(),o&&(y.label=o=o.destroy()))),u&&(Q(u.text)||Q(u.formatter))&&r&&r.length&&0<S.width&&0<S.height&&!r.isFlat?(u=F({align:M&&f&&"center",x:M?!f&&4:10,verticalAlign:!M&&f&&"middle",y:M?f?16:10:f?6:-4,rotation:M&&!f&&90},u),this.renderLabel(u,r,f,O)):o&&o.hide(),y},C.prototype.renderLabel=function(y,S,M,E){var v=this.axis,k=v.chart.renderer,O=this.label;O||(this.label=O=k.text(this.getLabelText(y),0,0,y.useHTML).attr({align:y.textAlign||y.align,rotation:y.rotation,class:"highcharts-plot-"+(M?"band":"line")+"-label "+(y.className||""),zIndex:E}).add(),v.chart.styledMode||O.css(F({textOverflow:"ellipsis"},y.style))),E=S.xBounds||[S[0][1],S[1][1],M?S[2][1]:S[0][1]],S=S.yBounds||[S[0][2],S[1][2],M?S[2][2]:S[0][2]],M=rt(E),k=rt(S),O.align(y,!1,{x:M,y:k,width:et(E)-M,height:et(S)-k}),O.alignValue&&"left"!==O.alignValue||O.css({width:(90===O.rotation?v.height-(O.alignAttr.y-v.top):v.width-(O.alignAttr.x-v.left))+"px"}),O.show(!0)},C.prototype.getLabelText=function(y){return Q(y.formatter)?y.formatter.call(this):y.text},C.prototype.destroy=function(){K(this.axis.plotLinesAndBands,this),delete this.axis,it(this)},C}()}),Mt($,"Core/Tooltip.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.format,K=Y.doc,W=et.distribute,F=Q.addEvent,I=Q.clamp,L=Q.css,C=Q.defined,y=Q.discardElement,S=Q.extend,M=Q.fireEvent,E=Q.isArray,v=Q.isNumber,k=Q.isString,O=Q.merge,P=Q.pick,g=Q.splat,c=Q.syncTimeout;return function(){function u(o,m){this.allowShared=!0,this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=o,this.init(o,m)}return u.prototype.applyFilter=function(){var o=this.chart;o.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+o.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]})},u.prototype.bodyFormatter=function(o){return o.map(function(m){var l=m.series.tooltipOptions;return(l[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,l[(m.point.formatPrefix||"point")+"Format"]||"")})},u.prototype.cleanSplit=function(o){this.chart.series.forEach(function(m){var l=m&&m.tt;l&&(!l.isActive||o?m.tt=l.destroy():l.isActive=!1)})},u.prototype.defaultFormatter=function(o){var m=this.points||g(this),l=[o.tooltipFooterHeaderFormatter(m[0])];return(l=l.concat(o.bodyFormatter(m))).push(o.tooltipFooterHeaderFormatter(m[0],!0)),l},u.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(!0),this.tt=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),y(this.container)),Q.clearTimeout(this.hideTimer),Q.clearTimeout(this.tooltipTimeout)},u.prototype.getAnchor=function(o,m){var T,w,l=this.chart,b=l.pointer,n=l.inverted,r=l.plotTop,f=l.plotLeft,D=0,d=0;return o=g(o),this.followPointer&&m?(void 0===m.chartX&&(m=b.normalize(m)),b=[m.chartX-f,m.chartY-r]):o[0].tooltipPos?b=o[0].tooltipPos:(o.forEach(function(R){T=R.series.yAxis,D+=R.plotX||0,d+=R.plotLow?(R.plotLow+(R.plotHigh||0))/2:R.plotY||0,(w=R.series.xAxis)&&T&&(n?(D+=r+l.plotHeight-w.len-w.pos,d+=f+l.plotWidth-T.len-T.pos):(D+=w.pos-f,d+=T.pos-r))}),D/=o.length,d/=o.length,b=[n?l.plotWidth-d:D,n?l.plotHeight-D:d],this.shared&&1<o.length&&m&&(n?b[0]=m.chartX-f:b[1]=m.chartY-r)),b.map(Math.round)},u.prototype.getLabel=function(){var w,o=this,m=this.chart.styledMode,l=this.options,b=this.split&&this.allowShared,n="tooltip"+(C(l.className)?" "+l.className:""),r=l.style.pointerEvents||(!this.followPointer&&l.stickOnContact?"auto":"none"),f=function(){o.inContact=!0},T=function(j){var z=o.chart.hoverSeries;o.inContact=o.shouldStickOnContact()&&o.chart.pointer.inClass(j.relatedTarget,"highcharts-tooltip"),!o.inContact&&z&&z.onMouseOut&&z.onMouseOut()},D=this.chart.renderer;if(o.label){var d=!o.label.hasClass("highcharts-label");(b&&!d||!b&&d)&&o.destroy()}if(!this.label){if(this.outside){d=this.chart.options.chart.style;var R=rt.getRendererType();this.container=w=Y.doc.createElement("div"),w.className="highcharts-tooltip-container",L(w,{position:"absolute",top:"1px",pointerEvents:r,zIndex:Math.max(this.options.style.zIndex||0,(d&&d.zIndex||0)+3)}),F(w,"mouseenter",f),F(w,"mouseleave",T),Y.doc.body.appendChild(w),this.renderer=D=new R(w,0,0,d,void 0,void 0,D.styledMode)}if(b?this.label=D.g(n):(this.label=D.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,n).attr({padding:l.padding,r:l.borderRadius}),m||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth}).css(l.style).css({pointerEvents:r}).shadow(l.shadow)),m&&l.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"})),o.outside&&!o.split){var a=this.label,h=a.xSetter,A=a.ySetter;a.xSetter=function(j){h.call(a,o.distance),w.style.left=j+"px"},a.ySetter=function(j){A.call(a,o.distance),w.style.top=j+"px"}}this.label.on("mouseenter",f).on("mouseleave",T).attr({zIndex:8}).add()}return this.label},u.prototype.getPosition=function(o,m,l){var A,b=this.chart,n=this.distance,r={},f=b.inverted&&l.h||0,T=this.outside,w=T?K.documentElement.clientWidth-2*n:b.chartWidth,D=T?Math.max(K.body.scrollHeight,K.documentElement.scrollHeight,K.body.offsetHeight,K.documentElement.offsetHeight,K.documentElement.clientHeight):b.chartHeight,d=b.pointer.getChartPosition(),R=function(_){var G="x"===_;return[_,G?w:D,G?o:m].concat(T?[G?o*d.scaleX:m*d.scaleY,G?d.left-n+(l.plotX+b.plotLeft)*d.scaleX:d.top-n+(l.plotY+b.plotTop)*d.scaleY,0,G?w:D]:[G?o:m,G?l.plotX+b.plotLeft:l.plotY+b.plotTop,G?b.plotLeft:b.plotTop,G?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},a=R("y"),h=R("x");R=!!l.negative,!b.polar&&b.hoverSeries&&b.hoverSeries.yAxis&&b.hoverSeries.yAxis.reversed&&(R=!R);var j=!this.followPointer&&P(l.ttBelow,!b.inverted===R),z=function(_,G,U,tt,J,ot,at){var ft=T?"y"===_?n*d.scaleY:n*d.scaleX:n,mt=(U-tt)/2,gt=tt<J-n,ut=J+n+tt<G,ht=J-ft-U+mt;if(J=J+ft-mt,j&&ut)r[_]=J;else if(!j&&gt)r[_]=ht;else if(gt)r[_]=Math.min(at-tt,0>ht-f?ht:ht-f);else{if(!ut)return!1;r[_]=Math.max(ot,J+f+U>G?J:J+f)}},H=function(_,G,U,tt,J){var ot;return J<n||J>G-n?ot=!1:r[_]=J<U/2?1:J>G-tt/2?G-tt-2:J-U/2,ot},p=function(_){var G=a;a=h,h=G,A=_},N=function(){!1!==z.apply(0,a)?!1!==H.apply(0,h)||A||(p(!0),N()):A?r.x=r.y=0:(p(!0),N())};return(b.inverted||1<this.len)&&p(),N(),r},u.prototype.hide=function(o){var m=this;Q.clearTimeout(this.hideTimer),o=P(o,this.options.hideDelay),this.isHidden||(this.hideTimer=c(function(){m.getLabel().fadeOut(o&&void 0),m.isHidden=!0},o))},u.prototype.init=function(o,m){this.chart=o,this.options=m,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=m.split&&!o.inverted&&!o.polar,this.shared=m.shared||this.split,this.outside=P(m.outside,!(!o.scrollablePixelsX&&!o.scrollablePixelsY))},u.prototype.shouldStickOnContact=function(){return!(this.followPointer||!this.options.stickOnContact)},u.prototype.isStickyOnContact=function(){return!(!this.shouldStickOnContact()||!this.inContact)},u.prototype.move=function(o,m,l,b){var n=this,r=n.now,f=!1!==n.options.animation&&!n.isHidden&&(1<Math.abs(o-r.x)||1<Math.abs(m-r.y)),T=n.followPointer||1<n.len;S(r,{x:f?(2*r.x+o)/3:o,y:f?(r.y+m)/2:m,anchorX:T?void 0:f?(2*r.anchorX+l)/3:l,anchorY:T?void 0:f?(r.anchorY+b)/2:b}),n.getLabel().attr(r),n.drawTracker(),f&&(Q.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){n&&n.move(o,m,l,b)},32))},u.prototype.refresh=function(o,m){var l=this.chart,b=this.options,n=g(o),r=n[0],f=[],T=b.formatter||this.defaultFormatter,w=this.shared,D=l.styledMode,d={};if(b.enabled&&r.series){Q.clearTimeout(this.hideTimer),this.allowShared=!(!E(o)&&o.series&&o.series.noSharedTooltip),this.followPointer=!this.split&&r.series.tooltipOptions.followPointer;var R=(o=this.getAnchor(o,m))[0],a=o[1];if(w&&this.allowShared?(l.pointer.applyInactiveState(n),n.forEach(function(j){j.setState("hover"),f.push(j.getLabelConfig())}),(d={x:r.category,y:r.y}).points=f):d=r.getLabelConfig(),this.len=f.length,T=T.call(d,this),this.distance=P((w=r.series).tooltipOptions.distance,16),!1===T)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(T,n);else{var h=R,A=a;if(m&&l.pointer.isDirectTouch&&(h=m.chartX-l.plotLeft,A=m.chartY-l.plotTop),!l.polar&&!1!==w.options.clip&&!n.some(function(j){return j.series.shouldShowTooltip(h,A)}))return void this.hide();m=this.getLabel(),b.style.width&&!D||m.css({width:this.chart.spacingBox.width+"px"}),m.attr({text:T&&T.join?T.join(""):T}),m.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+P(r.colorIndex,w.colorIndex)),D||m.attr({stroke:b.borderColor||r.color||w.color||"#666666"}),this.updatePosition({plotX:R,plotY:a,negative:r.negative,ttBelow:r.ttBelow,h:o[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}M(this,"refresh")}},u.prototype.renderSplit=function(o,m){function l(ut,ht,V,q,st){return void 0===st&&(st=!0),V?(ht=tt?0:ft,ut=I(ut-q/2,_.left,_.right-q-(b.outside?J:0))):(ht-=ot,ut=I(ut=st?ut-q-H:ut+H,st?ut:_.left,_.right)),{x:ut,y:ht}}var b=this,n=b.chart,r=b.chart,f=r.chartWidth,T=r.chartHeight,w=r.plotHeight,D=r.plotLeft,d=r.plotTop,R=r.pointer,a=r.scrollablePixelsY;a=void 0===a?0:a;var A=r.scrollingContainer,j=(A=void 0===A?{scrollLeft:0,scrollTop:0}:A).scrollLeft;A=A.scrollTop;var z=r.styledMode,H=b.distance,p=b.options,N=b.options.positioner,_=b.outside&&"number"!=typeof r.scrollablePixelsX?K.documentElement.getBoundingClientRect():{left:j,right:j+f,top:A,bottom:A+T},G=b.getLabel(),U=this.renderer||n.renderer,tt=!(!n.xAxis[0]||!n.xAxis[0].opposite),J=(n=R.getChartPosition()).left;n=n.top;var ot=d+A,at=0,ft=w-a;k(o)&&(o=[!1,o]),o=o.slice(0,m.length+1).reduce(function(ut,ht,V){if(!1!==ht&&""!==ht){var q=(V=m[V-1]||{isHeader:!0,plotX:m[0].plotX,plotY:w,series:{}}).isHeader,st=q?b:V.series;ht=ht.toString();var ct=st.tt,dt=V.isHeader,yt=V.series,xt="highcharts-color-"+P(V.colorIndex,yt.colorIndex,"none");if(ct||(ct={padding:p.padding,r:p.borderRadius},z||(ct.fill=p.backgroundColor,ct["stroke-width"]=p.borderWidth),ct=U.label("",0,0,p[dt?"headerShape":"shape"],void 0,void 0,p.useHTML).addClass((dt?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+xt).attr(ct).add(G)),ct.isActive=!0,ct.attr({text:ht}),z||ct.css(p.style).shadow(p.shadow).attr({stroke:p.borderColor||V.color||yt.color||"#333333"}),ht=(dt=(st=st.tt=ct).getBBox()).width+st.strokeWidth(),q&&(ft+=at=dt.height,tt&&(ot-=at)),yt=void 0===(yt=V.plotX)?0:yt,xt=void 0===(xt=V.plotY)?0:xt,ct=V.series,V.isHeader){yt=D+yt;var St=d+w/2}else{var Et=ct.xAxis,kt=ct.yAxis;yt=Et.pos+I(yt,-H,Et.len+H),ct.shouldShowTooltip(0,kt.pos-d+xt,{ignoreX:!0})&&(St=kt.pos+xt)}yt=I(yt,_.left-H,_.right+H),"number"==typeof St?(dt=dt.height+1,xt=N?N.call(b,ht,dt,V):l(yt,St,q,ht),ut.push({align:N?0:void 0,anchorX:yt,anchorY:St,boxWidth:ht,point:V,rank:P(xt.rank,q?1:0),size:dt,target:xt.y,tt:st,x:xt.x})):st.isActive=!1}return ut},[]),!N&&o.some(function(ut){var ht=(b.outside?J:0)+ut.anchorX;return ht<_.left&&ht+ut.boxWidth<_.right||ht<J-_.left+ut.boxWidth&&_.right-ht>ht})&&(o=o.map(function(ut){var ht=l(ut.anchorX,ut.anchorY,ut.point.isHeader,ut.boxWidth,!1);return S(ut,{target:ht.y,x:ht.x})})),b.cleanSplit(),W(o,ft);var mt=J,gt=J;o.forEach(function(ut){var ht=ut.x,V=ut.boxWidth;(ut=ut.isHeader)||(b.outside&&J+ht<mt&&(mt=J+ht),!ut&&b.outside&&mt+V>gt&&(gt=J+ht))}),o.forEach(function(ut){var ht=ut.x,V=ut.anchorX,q=ut.pos,st=ut.point.isHeader;if(q={visibility:void 0===q?"hidden":"inherit",x:ht,y:q+ot,anchorX:V,anchorY:ut.anchorY},b.outside&&ht<V){var ct=J-mt;0<ct&&(st||(q.x=ht+ct,q.anchorX=V+ct),st&&(q.x=(gt-mt)/2,q.anchorX=V+ct))}ut.tt.attr(q)}),o=b.container,a=b.renderer,b.outside&&o&&a&&(r=G.getBBox(),a.setSize(r.width+r.x,r.height+r.y,!1),o.style.left=mt+"px",o.style.top=n+"px")},u.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var o=this.chart,m=this.label,l=this.shared?o.hoverPoints:o.hoverPoint;if(m&&l){var b={x:0,y:0,width:0,height:0};l=this.getAnchor(l);var n=m.getBBox();l[0]+=o.plotLeft-m.translateX,l[1]+=o.plotTop-m.translateY,b.x=Math.min(0,l[0]),b.y=Math.min(0,l[1]),b.width=0>l[0]?Math.max(Math.abs(l[0]),n.width-l[0]):Math.max(Math.abs(l[0]),n.width),b.height=0>l[1]?Math.max(Math.abs(l[1]),n.height-Math.abs(l[1])):Math.max(Math.abs(l[1]),n.height),this.tracker?this.tracker.attr(b):(this.tracker=m.renderer.rect(b).addClass("highcharts-tracker").add(m),o.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},u.prototype.styledModeFormat=function(o){return o.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},u.prototype.tooltipFooterHeaderFormatter=function(o,m){var l=o.series,b=l.tooltipOptions,n=l.xAxis,r=n&&n.dateTime,f=b.xDateFormat,T=b[m?"footerFormat":"headerFormat"];return M(this,"headerFormatter",n={isFooter:m,labelConfig:o},function(w){r&&!f&&v(o.key)&&(f=r.getXDateFormat(o.key,b.dateTimeLabelFormats)),r&&f&&(o.point&&o.point.tooltipDateKeys||["key"]).forEach(function(D){T=T.replace("{point."+D+"}","{point."+D+":"+f+"}")}),l.chart.styledMode&&(T=this.styledModeFormat(T)),w.text=it(T,{point:o,series:l},this.chart)}),n.text},u.prototype.update=function(o){this.destroy(),O(!0,this.chart.options.tooltip.userOptions,o),this.init(this.chart,O(!0,this.options,o))},u.prototype.updatePosition=function(o){var m=this.chart,l=this.options,b=m.pointer,n=this.getLabel();b=b.getChartPosition();var r=(l.positioner||this.getPosition).call(this,n.width,n.height,o),f=o.plotX+m.plotLeft;o=o.plotY+m.plotTop,this.outside&&(this.renderer.setSize(n.width+(l=l.borderWidth+2*this.distance),n.height+l,!1),(1!==b.scaleX||1!==b.scaleY)&&(L(this.container,{transform:"scale("+b.scaleX+", "+b.scaleY+")"}),f*=b.scaleX,o*=b.scaleY),f+=b.left-r.x,o+=b.top-r.y),this.move(Math.round(r.x),Math.round(r.y||0),f,o)},u}()}),Mt($,"Core/Series/Point.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=Y.animObject,K=et.defaultOptions,W=rt.format,F=Q.addEvent,I=Q.defined,L=Q.erase,C=Q.extend,y=Q.fireEvent,S=Q.getNestedProperty,M=Q.isArray,E=Q.isFunction,v=Q.isNumber,k=Q.isObject,O=Q.merge,P=Q.objectEach,g=Q.pick,c=Q.syncTimeout,u=Q.removeEvent,o=Q.uniqueKey;return function(){function m(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return m.prototype.animateBeforeDestroy=function(){var l=this,b={x:l.startXPos,opacity:0},n=l.getGraphicalProps();n.singular.forEach(function(r){l[r]=l[r].animate("dataLabel"===r?{x:l[r].startXPos,y:l[r].startYPos,opacity:0}:b)}),n.plural.forEach(function(r){l[r].forEach(function(f){f.element&&f.animate(C({x:l.startXPos},f.startYPos?{x:f.startXPos,y:f.startYPos}:{}))})})},m.prototype.applyOptions=function(l,b){var n=this.series,r=n.options.pointValKey||n.pointValKey;return l=m.prototype.optionsToObject.call(this,l),C(this,l),this.options=this.options?C(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,r&&(this.y=m.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=g(this.isValid&&!this.isValid(),null===this.x||!v(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===b&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),void 0===this.x&&n?this.x=void 0===b?n.autoIncrement():b:v(l.x)&&n.options.relativeXValue&&(this.x=n.autoIncrement(l.x)),this},m.prototype.destroy=function(){function l(){for(w in(b.graphic||b.dataLabel||b.dataLabels)&&(u(b),b.destroyElements()),b)b[w]=null}var b=this,n=b.series,r=n.chart;n=n.options.dataSorting;var w,f=r.hoverPoints,T=it(b.series.chart.renderer.globalAnimation);b.legendItem&&r.legend.destroyItem(b),f&&(b.setState(),L(f,b),f.length||(r.hoverPoints=null)),b===r.hoverPoint&&b.onMouseOut(),n&&n.enabled?(this.animateBeforeDestroy(),c(l,T.duration)):l(),r.pointCount--},m.prototype.destroyElements=function(l){var b=this;(l=b.getGraphicalProps(l)).singular.forEach(function(n){b[n]=b[n].destroy()}),l.plural.forEach(function(n){b[n].forEach(function(r){r.element&&r.destroy()}),delete b[n]})},m.prototype.firePointEvent=function(l,b,n){var r=this,f=this.series.options;(f.point.events[l]||r.options&&r.options.events&&r.options.events[l])&&r.importEvents(),"click"===l&&f.allowPointSelect&&(n=function(T){r.select&&r.select(null,T.ctrlKey||T.metaKey||T.shiftKey)}),y(r,l,b,n)},m.prototype.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",""):"")},m.prototype.getGraphicalProps=function(l){var f,b=this,n=[],r={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","upperGraphic","shadowGroup"),l.dataLabel&&n.push("dataLabel","dataLabelUpper","connector"),f=n.length;f--;){var T=n[f];b[T]&&r.singular.push(T)}return["dataLabel","connector"].forEach(function(w){var D=w+"s";l[w]&&b[D]&&r.plural.push(D)}),r},m.prototype.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}},m.prototype.getNestedProperty=function(l){if(l)return 0===l.indexOf("custom.")?S(l,this.options):this[l]},m.prototype.getZone=function(){var l=this.series,b=l.zones;l=l.zoneAxis||"y";var n,r=0;for(n=b[r];this[l]>=n.value;)n=b[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},m.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},m.prototype.init=function(l,b,n){return this.series=l,this.applyOptions(b,n),this.id=I(this.id)?this.id:o(),this.resolveColor(),l.chart.pointCount++,y(this,"afterInit"),this},m.prototype.optionsToObject=function(l){var b=this.series,n=b.options.keys,r=n||b.pointArrayMap||["y"],f=r.length,T={},w=0,D=0;if(v(l)||null===l)T[r[0]]=l;else if(M(l))for(!n&&l.length>f&&("string"==(b=typeof l[0])?T.name=l[0]:"number"===b&&(T.x=l[0]),w++);D<f;)n&&void 0===l[w]||(0<r[D].indexOf(".")?m.prototype.setNestedProperty(T,l[w],r[D]):T[r[D]]=l[w]),w++,D++;else"object"==typeof l&&(T=l,l.dataLabels&&(b._hasPointLabels=!0),l.marker&&(b._hasPointMarkers=!0));return T},m.prototype.resolveColor=function(){var l=this.series,b=l.chart.styledMode,n=l.chart.options.chart.colorCount;if(delete this.nonZonedColor,l.options.colorByPoint){if(!b){var r=(n=l.options.colors||l.chart.options.colors)[l.colorCounter];n=n.length}b=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)}else b||(r=l.color),b=l.colorIndex;this.colorIndex=g(this.options.colorIndex,b),this.color=g(this.options.color,r)},m.prototype.setNestedProperty=function(l,b,n){return n.split(".").reduce(function(r,f,T,w){return r[f]=w.length-1===T?b:k(r[f],!0)?r[f]:{},r[f]},l),l},m.prototype.tooltipFormatter=function(l){var b=this.series,n=b.tooltipOptions,r=g(n.valueDecimals,""),f=n.valuePrefix||"",T=n.valueSuffix||"";return b.chart.styledMode&&(l=b.chart.tooltip.styledModeFormat(l)),(b.pointArrayMap||["y"]).forEach(function(w){w="{point."+w,(f||T)&&(l=l.replace(RegExp(w+"}","g"),f+w+"}"+T)),l=l.replace(RegExp(w+"}","g"),w+":,."+r+"f}")}),W(l,{point:this,series:this.series},b.chart)},m.prototype.update=function(l,b,n,r){function f(){T.applyOptions(l);var h=D&&T.hasDummyGraphic;h=null===T.y?!h:h,D&&h&&(T.graphic=D.destroy(),delete T.hasDummyGraphic),k(l,!0)&&(D&&D.element&&l&&l.marker&&void 0!==l.marker.symbol&&(T.graphic=D.destroy()),l&&l.dataLabels&&T.dataLabel&&(T.dataLabel=T.dataLabel.destroy()),T.connector&&(T.connector=T.connector.destroy())),w.updateParallelArrays(T,a=T.index),R.data[a]=k(R.data[a],!0)||k(l,!0)?T.options:g(l,R.data[a]),w.isDirty=w.isDirtyData=!0,!w.fixedBox&&w.hasCartesianSeries&&(d.isDirtyBox=!0),"point"===R.legendType&&(d.isDirtyLegend=!0),b&&d.redraw(n)}var a,T=this,w=T.series,D=T.graphic,d=w.chart,R=w.options;b=g(b,!0),!1===r?f():T.firePointEvent("update",{options:l},f)},m.prototype.remove=function(l,b){this.series.removePoint(this.series.data.indexOf(this),l,b)},m.prototype.select=function(l,b){var n=this,r=n.series,f=r.chart;this.selectedStaging=l=g(l,!n.selected),n.firePointEvent(l?"select":"unselect",{accumulate:b},function(){n.selected=n.options.selected=l,r.options.data[r.data.indexOf(n)]=n.options,n.setState(l&&"select"),b||f.getSelectedPoints().forEach(function(T){var w=T.series;T.selected&&T!==n&&(T.selected=T.options.selected=!1,w.options.data[w.data.indexOf(T)]=T.options,T.setState(f.hoverPoints&&w.options.inactiveOtherPoints?"inactive":""),T.firePointEvent("unselect"))})}),delete this.selectedStaging},m.prototype.onMouseOver=function(l){var b=this.series.chart,n=b.pointer;l=l?n.normalize(l):n.getChartCoordinatesFromPoint(this,b.inverted),n.runPointActions(l,this)},m.prototype.onMouseOut=function(){var l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(b){b.setState()}),l.hoverPoints=l.hoverPoint=null},m.prototype.importEvents=function(){if(!this.hasImportedEvents){var l=this,b=O(l.series.options.point,l.options).events;l.events=b,P(b,function(n,r){E(n)&&F(l,r,n)}),this.hasImportedEvents=!0}},m.prototype.setState=function(l,b){var j,n=this.series,r=this.state,f=n.options.states[l||"normal"]||{},T=K.plotOptions[n.type].marker&&n.options.marker,D=T&&T.states&&T.states[l||"normal"]||{},R=this.marker||{},a=n.chart,h=T&&n.markerAttribs,A=n.halo,z=n.stateMarkerGraphic;if(!((l=l||"")===this.state&&!b||this.selected&&"select"!==l||!1===f.enabled||l&&(!1===D.enabled||T&&!1===T.enabled&&!1===D.enabled)||l&&R.states&&R.states[l]&&!1===R.states[l].enabled)){if(this.state=l,h&&(j=n.markerAttribs(this,l)),this.graphic&&!this.hasDummyGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),l&&this.graphic.addClass("highcharts-point-"+l),!a.styledMode){var H=n.pointAttribs(this,l),p=g(a.options.chart.animation,f.animation);n.options.inactiveOtherPoints&&v(H.opacity)&&((this.dataLabels||[]).forEach(function(N){N&&N.animate({opacity:H.opacity},p)}),this.connector&&this.connector.animate({opacity:H.opacity},p)),this.graphic.animate(H,p)}j&&this.graphic.animate(j,g(a.options.chart.animation,D.animation,T.animation)),z&&z.hide()}else l&&D&&(r=R.symbol||n.symbol,z&&z.currentSymbol!==r&&(z=z.destroy()),j&&(z?z[b?"animate":"attr"]({x:j.x,y:j.y}):r&&(n.stateMarkerGraphic=z=a.renderer.symbol(r,j.x,j.y,j.width,j.height).add(n.markerGroup),z.currentSymbol=r)),!a.styledMode&&z&&"inactive"!==this.state&&z.attr(n.pointAttribs(this,l))),z&&(z[l&&this.isInside?"show":"hide"](),z.element.point=this,z.addClass(this.getClassName(),!0));j=(z=this.graphic||z)&&z.visibility||"inherit",(f=f.halo)&&f.size&&z&&"hidden"!==j&&!this.isCluster?(A||(n.halo=A=a.renderer.path().add(z.parentGroup)),A.show()[b?"animate":"attr"]({d:this.haloPath(f.size)}),A.attr({class:"highcharts-halo highcharts-color-"+g(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:j,zIndex:-1}),A.point=this,a.styledMode||A.attr(C({fill:this.color||n.color,"fill-opacity":f.opacity},X.filterUserAttributes(f.attributes||{})))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.hide),y(this,"afterSetState",{state:l})}},m.prototype.haloPath=function(l){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-l,this.plotY-l,2*l,2*l)},m}()}),Mt($,"Core/Pointer.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Tooltip.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var Q=X.parse,it=Y.charts,K=Y.noop,W=rt.addEvent,F=rt.attr,I=rt.css,L=rt.defined,C=rt.extend,y=rt.find,S=rt.fireEvent,M=rt.isNumber,E=rt.isObject,v=rt.objectEach,k=rt.offset,O=rt.pick,P=rt.splat;return function(){function g(c,u){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=c,this.hasDragged=!1,this.options=u,this.init(c,u)}return g.prototype.applyInactiveState=function(c){var o,u=[];(c||[]).forEach(function(m){u.push(o=m.series),o.linkedParent&&u.push(o.linkedParent),o.linkedSeries&&(u=u.concat(o.linkedSeries)),o.navigatorSeries&&u.push(o.navigatorSeries)}),this.chart.series.forEach(function(m){-1===u.indexOf(m)?m.setState("inactive",!0):m.options.inactiveOtherPoints&&m.setAllPointsToState("inactive")})},g.prototype.destroy=function(){var c=this;this.eventsToUnbind.forEach(function(u){return u()}),this.eventsToUnbind=[],Y.chartCount||(g.unbindDocumentMouseUp&&(g.unbindDocumentMouseUp=g.unbindDocumentMouseUp()),g.unbindDocumentTouchEnd&&(g.unbindDocumentTouchEnd=g.unbindDocumentTouchEnd())),clearInterval(c.tooltipTimeout),v(c,function(u,o){c[o]=void 0})},g.prototype.drag=function(c){var u=this.chart,o=u.options.chart,m=this.zoomHor,l=this.zoomVert,b=u.plotLeft,n=u.plotTop,r=u.plotWidth,f=u.plotHeight,T=this.mouseDownX||0,w=this.mouseDownY||0,D=E(o.panning)?o.panning&&o.panning.enabled:o.panning,d=o.panKey&&c[o.panKey+"Key"],R=c.chartX,a=c.chartY,h=this.selectionMarker;if((!h||!h.touch)&&(R<b?R=b:R>b+r&&(R=b+r),a<n?a=n:a>n+f&&(a=n+f),this.hasDragged=Math.sqrt(Math.pow(T-R,2)+Math.pow(w-a,2)),10<this.hasDragged)){var A=u.isInsidePlot(T-b,w-n,{visiblePlotOnly:!0});!u.hasCartesianSeries&&!u.mapView||!this.zoomX&&!this.zoomY||!A||d||h||(this.selectionMarker=h=u.renderer.rect(b,n,m?1:r,l?1:f,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||h.attr({fill:o.selectionMarkerFill||Q("#335cad").setOpacity(.25).get()})),h&&m&&(m=R-T,h.attr({width:Math.abs(m),x:(0<m?0:m)+T})),h&&l&&(m=a-w,h.attr({height:Math.abs(m),y:(0<m?0:m)+w})),A&&!h&&D&&u.pan(c,o.panning)}},g.prototype.dragStart=function(c){var u=this.chart;u.mouseIsDown=c.type,u.cancelClick=!1,u.mouseDownX=this.mouseDownX=c.chartX,u.mouseDownY=this.mouseDownY=c.chartY},g.prototype.drop=function(c){var u=this,o=this.chart,m=this.hasPinched;if(this.selectionMarker){var l=this.selectionMarker,b=l.attr?l.attr("x"):l.x,n=l.attr?l.attr("y"):l.y,r=l.attr?l.attr("width"):l.width,f=l.attr?l.attr("height"):l.height,T={originalEvent:c,xAxis:[],yAxis:[],x:b,y:n,width:r,height:f},w=!!o.mapView;(this.hasDragged||m)&&(o.axes.forEach(function(D){if(D.zoomEnabled&&L(D.min)&&(m||u[{xAxis:"zoomX",yAxis:"zoomY"}[D.coll]])&&M(b)&&M(n)){var d=D.horiz,R="touchend"===c.type?D.minPixelPadding:0,a=D.toValue((d?b:n)+R);d=D.toValue((d?b+r:n+f)-R),T[D.coll].push({axis:D,min:Math.min(a,d),max:Math.max(a,d)}),w=!0}}),w&&S(o,"selection",T,function(D){o.zoom(C(D,m?{animation:!1}:null))})),M(o.index)&&(this.selectionMarker=this.selectionMarker.destroy()),m&&this.scaleGroups()}o&&M(o.index)&&(I(o.container,{cursor:o._cursor}),o.cancelClick=10<this.hasDragged,o.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},g.prototype.findNearestKDPoint=function(c,u,o){var b,m=this.chart,l=m.hoverPoint;return m=m.tooltip,l&&m&&m.isStickyOnContact()?l:(c.forEach(function(n){var r=!(n.noSharedTooltip&&u)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(o,r),(r=E(n,!0)&&n.series)&&!(r=!E(b,!0))){var f=b.dist-n.dist,T=(n.series.group&&n.series.group.zIndex)-(b.series.group&&b.series.group.zIndex);r=0<(0!=(r=b.distX-n.distX)&&u?r:0!==f?f:0!==T?T:b.series.index>n.series.index?-1:1)}r&&(b=n)}),b)},g.prototype.getChartCoordinatesFromPoint=function(c,u){var o=c.series,m=o.xAxis;o=o.yAxis;var l=c.shapeArgs;if(m&&o){var b=O(c.clientX,c.plotX),n=c.plotY||0;return c.isNode&&l&&M(l.x)&&M(l.y)&&(b=l.x,n=l.y),u?{chartX:o.len+o.pos-n,chartY:m.len+m.pos-b}:{chartX:b+m.pos,chartY:n+o.pos}}if(l&&l.x&&l.y)return{chartX:l.x,chartY:l.y}},g.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,u=k(c);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};var o=c.offsetWidth;return c=c.offsetHeight,2<o&&2<c&&(this.chartPosition.scaleX=u.width/o,this.chartPosition.scaleY=u.height/c),this.chartPosition},g.prototype.getCoordinates=function(c){var u={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(o){u[o.isXAxis?"xAxis":"yAxis"].push({axis:o,value:o.toValue(c[o.horiz?"chartX":"chartY"])})}),u},g.prototype.getHoverData=function(c,u,o,m,l,b){var n=[];m=!(!m||!c);var r={chartX:b?b.chartX:void 0,chartY:b?b.chartY:void 0,shared:l};S(this,"beforeGetHoverData",r);var f=u&&!u.stickyTracking?[u]:o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&w.stickyTracking}),T=m||!b?c:this.findNearestKDPoint(f,l,b);return u=T&&T.series,T&&(l&&!u.noSharedTooltip?(f=o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&!w.noSharedTooltip})).forEach(function(w){var D=y(w.points,function(d){return d.x===T.x&&!d.isNull});E(D)&&(w.chart.isBoosting&&(D=w.getPoint(D)),n.push(D))}):n.push(T)),S(this,"afterGetHoverData",r={hoverPoint:T}),{hoverPoint:r.hoverPoint,hoverSeries:u,hoverPoints:n}},g.prototype.getPointFromEvent=function(c){c=c.target;for(var u;c&&!u;)u=c.point,c=c.parentNode;return u},g.prototype.onTrackerMouseOut=function(c){c=c.relatedTarget||c.toElement;var u=this.chart.hoverSeries;this.isDirectTouch=!1,!u||!c||u.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+u.index)&&this.inClass(c,"highcharts-tracker")||u.onMouseOut()},g.prototype.inClass=function(c,u){for(var o;c;){if(o=F(c,"class")){if(-1!==o.indexOf(u))return!0;if(-1!==o.indexOf("highcharts-container"))return!1}c=c.parentElement}},g.prototype.init=function(c,u){this.options=u,this.chart=c,this.runChartClick=!(!u.chart.events||!u.chart.events.click),this.pinchDown=[],this.lastValidTouch={},et&&(c.tooltip=new et(c,u.tooltip),this.followTouchMove=O(u.tooltip.followTouchMove,!0)),this.setDOMEvents()},g.prototype.normalize=function(c,u){var o=c.touches,m=o?o.length?o.item(0):O(o.changedTouches,c.changedTouches)[0]:c;return u||(u=this.getChartPosition()),o=m.pageX-u.left,m=m.pageY-u.top,o/=u.scaleX,m/=u.scaleY,C(c,{chartX:Math.round(o),chartY:Math.round(m)})},g.prototype.onContainerClick=function(c){var u=this.chart,o=u.hoverPoint;c=this.normalize(c);var m=u.plotLeft,l=u.plotTop;u.cancelClick||(o&&this.inClass(c.target,"highcharts-tracker")?(S(o.series,"click",C(c,{point:o})),u.hoverPoint&&o.firePointEvent("click",c)):(C(c,this.getCoordinates(c)),u.isInsidePlot(c.chartX-m,c.chartY-l,{visiblePlotOnly:!0})&&S(u,"click",c)))},g.prototype.onContainerMouseDown=function(c){var u=1==(1&(c.buttons||c.button));c=this.normalize(c),Y.isFirefox&&0!==c.button&&this.onContainerMouseMove(c),(void 0===c.button||u)&&(this.zoomOption(c),u&&c.preventDefault&&c.preventDefault(),this.dragStart(c))},g.prototype.onContainerMouseLeave=function(c){var u=it[O(g.hoverChartIndex,-1)],o=this.chart.tooltip;o&&o.shouldStickOnContact()&&this.inClass(c.relatedTarget,"highcharts-tooltip-container")||(c=this.normalize(c),u&&(c.relatedTarget||c.toElement)&&(u.pointer.reset(),u.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset())},g.prototype.onContainerMouseEnter=function(c){delete this.chartPosition},g.prototype.onContainerMouseMove=function(c){var u=this.chart;c=this.normalize(c),this.setHoverChartIndex(),c.preventDefault||(c.returnValue=!1),("mousedown"===u.mouseIsDown||this.touchSelect(c))&&this.drag(c),u.openMenu||!this.inClass(c.target,"highcharts-tracker")&&!u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||(this.inClass(c.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(c))},g.prototype.onDocumentTouchEnd=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.onContainerTouchMove=function(c){this.touchSelect(c)?this.onContainerMouseMove(c):this.touch(c)},g.prototype.onContainerTouchStart=function(c){this.touchSelect(c)?this.onContainerMouseDown(c):(this.zoomOption(c),this.touch(c,!0))},g.prototype.onDocumentMouseMove=function(c){var u=this.chart,o=this.chartPosition;c=this.normalize(c,o);var m=u.tooltip;!o||m&&m.isStickyOnContact()||u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||this.inClass(c.target,"highcharts-tracker")||this.reset()},g.prototype.onDocumentMouseUp=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.pinch=function(c){var u=this,o=u.chart,m=u.pinchDown,l=c.touches||[],b=l.length,n=u.lastValidTouch,r=u.hasZoom,f={},T=1===b&&(u.inClass(c.target,"highcharts-tracker")&&o.runTrackerClick||u.runChartClick),w={},D=u.selectionMarker;1<b?u.initiated=!0:1===b&&this.followTouchMove&&(u.initiated=!1),r&&u.initiated&&!T&&!1!==c.cancelable&&c.preventDefault(),[].map.call(l,function(d){return u.normalize(d)}),"touchstart"===c.type?([].forEach.call(l,function(d,R){m[R]={chartX:d.chartX,chartY:d.chartY}}),n.x=[m[0].chartX,m[1]&&m[1].chartX],n.y=[m[0].chartY,m[1]&&m[1].chartY],o.axes.forEach(function(d){if(d.zoomEnabled){var R=o.bounds[d.horiz?"h":"v"],a=d.minPixelPadding,h=d.toPixels(Math.min(O(d.options.min,d.dataMin),d.dataMin)),A=d.toPixels(Math.max(O(d.options.max,d.dataMax),d.dataMax)),j=Math.max(h,A);R.min=Math.min(d.pos,Math.min(h,A)-a),R.max=Math.max(d.pos+d.len,j+a)}}),u.res=!0):u.followTouchMove&&1===b?this.runPointActions(u.normalize(c)):m.length&&(S(o,"touchpan",{originalEvent:c},function(){D||(u.selectionMarker=D=C({destroy:K,touch:!0},o.plotBox)),u.pinchTranslate(m,l,f,D,w,n),u.hasPinched=r,u.scaleGroups(f,w)}),u.res&&(u.res=!1,this.reset(!1,0)))},g.prototype.pinchTranslate=function(c,u,o,m,l,b){this.zoomHor&&this.pinchTranslateDirection(!0,c,u,o,m,l,b),this.zoomVert&&this.pinchTranslateDirection(!1,c,u,o,m,l,b)},g.prototype.pinchTranslateDirection=function(c,u,o,m,l,b,n,r){var f=this.chart,T=c?"x":"y",w=c?"X":"Y",D="chart"+w,d=c?"width":"height",R=f["plot"+(c?"Left":"Top")],a=f.inverted,h=f.bounds[c?"h":"v"],A=1===u.length,j=u[0][D],z=!A&&u[1][D];u=function(){"number"==typeof G&&20<Math.abs(j-z)&&(N=r||Math.abs(_-G)/Math.abs(j-z)),p=(R-_)/N+j,H=f["plot"+(c?"Width":"Height")]/N};var H,p,N=r||1,_=o[0][D],G=!A&&o[1][D];if(u(),(o=p)<h.min){o=h.min;var U=!0}else o+H>h.max&&(o=h.max-H,U=!0);U?(_-=.8*(_-n[T][0]),"number"==typeof G&&(G-=.8*(G-n[T][1])),u()):n[T]=[_,G],a||(b[T]=p-R,b[d]=H),b=a?1/N:N,l[d]=H,l[T]=o,m[a?c?"scaleY":"scaleX":"scale"+w]=N,m["translate"+w]=b*R+(_-b*j)},g.prototype.reset=function(c,u){var o=this.chart,m=o.hoverSeries,l=o.hoverPoint,b=o.hoverPoints,n=o.tooltip,r=n&&n.shared?b:l;c&&r&&P(r).forEach(function(f){f.series.isCartesian&&void 0===f.plotX&&(c=!1)}),c?n&&r&&P(r).length&&(n.refresh(r),n.shared&&b?b.forEach(function(f){f.setState(f.state,!0),f.series.isCartesian&&(f.series.xAxis.crosshair&&f.series.xAxis.drawCrosshair(null,f),f.series.yAxis.crosshair&&f.series.yAxis.drawCrosshair(null,f))}):l&&(l.setState(l.state,!0),o.axes.forEach(function(f){f.crosshair&&l.series[f.coll]===f&&f.drawCrosshair(null,l)}))):(l&&l.onMouseOut(),b&&b.forEach(function(f){f.setState()}),m&&m.onMouseOut(),n&&n.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),o.axes.forEach(function(f){f.hideCrosshair()}),this.hoverX=o.hoverPoints=o.hoverPoint=null)},g.prototype.runPointActions=function(c,u){var o=this.chart,m=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,l=!!m&&m.shared,b=u||o.hoverPoint,n=b&&b.series||o.hoverSeries;u=this.getHoverData(b,n,o.series,(!c||"touchmove"!==c.type)&&(!!u||n&&n.directTouch&&this.isDirectTouch),l,c),b=u.hoverPoint;var r=u.hoverPoints;u=(n=u.hoverSeries)&&n.tooltipOptions.followPointer&&!n.tooltipOptions.split;var f=l&&n&&!n.noSharedTooltip;if(b&&(b!==o.hoverPoint||m&&m.isHidden)){if((o.hoverPoints||[]).forEach(function(T){-1===r.indexOf(T)&&T.setState()}),o.hoverSeries!==n&&n.onMouseOver(),this.applyInactiveState(r),(r||[]).forEach(function(T){T.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!b.series)return;o.hoverPoints=r,o.hoverPoint=b,b.firePointEvent("mouseOver",void 0,function(){m&&b&&m.refresh(f?r:b,c)})}else u&&m&&!m.isHidden&&(l=m.getAnchor([{}],c),o.isInsidePlot(l[0],l[1],{visiblePlotOnly:!0})&&m.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=W(o.container.ownerDocument,"mousemove",function(T){var w=it[g.hoverChartIndex];w&&w.pointer.onDocumentMouseMove(T)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(T){var D,w=O((T.crosshair||{}).snap,!0);w&&((D=o.hoverPoint)&&D.series[T.coll]===T||(D=y(r,function(d){return d.series&&d.series[T.coll]===T}))),D||!w?T.drawCrosshair(c,D):T.hideCrosshair()})},g.prototype.scaleGroups=function(c,u){var o=this.chart;o.series.forEach(function(m){var l=c||m.getPlotBox();m.group&&(m.xAxis&&m.xAxis.zoomEnabled||o.mapView)&&(m.group.attr(l),m.markerGroup&&(m.markerGroup.attr(l),m.markerGroup.clip(u?o.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(l))}),o.clipRect.attr(u||o.clipBox)},g.prototype.setDOMEvents=function(){var c=this,u=this.chart.container,o=u.ownerDocument;u.onmousedown=this.onContainerMouseDown.bind(this),u.onmousemove=this.onContainerMouseMove.bind(this),u.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(W(u,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(W(u,"mouseleave",this.onContainerMouseLeave.bind(this))),g.unbindDocumentMouseUp||(g.unbindDocumentMouseUp=W(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var m=this.chart.renderTo.parentElement;m&&"BODY"!==m.tagName;)this.eventsToUnbind.push(W(m,"scroll",function(){delete c.chartPosition})),m=m.parentElement;Y.hasTouch&&(this.eventsToUnbind.push(W(u,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(W(u,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),g.unbindDocumentTouchEnd||(g.unbindDocumentTouchEnd=W(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},g.prototype.setHoverChartIndex=function(){var c=this.chart,u=Y.charts[O(g.hoverChartIndex,-1)];u&&u!==c&&u.pointer.onContainerMouseLeave({relatedTarget:c.container}),u&&u.mouseIsDown||(g.hoverChartIndex=c.index)},g.prototype.touch=function(c,u){var o=this.chart;if(this.setHoverChartIndex(),1===c.touches.length)if(c=this.normalize(c),o.isInsidePlot(c.chartX-o.plotLeft,c.chartY-o.plotTop,{visiblePlotOnly:!0})&&!o.openMenu){if(u&&this.runPointActions(c),"touchmove"===c.type)var l=!!(u=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(u[0].chartX-c.chartX,2)+Math.pow(u[0].chartY-c.chartY,2));O(l,!0)&&this.pinch(c)}else u&&this.reset();else 2===c.touches.length&&this.pinch(c)},g.prototype.touchSelect=function(c){return!(!this.chart.options.chart.zoomBySingleTouch||!c.touches||1!==c.touches.length)},g.prototype.zoomOption=function(c){var u=this.chart,o=u.options.chart;u=u.inverted;var m=o.zoomType||"";/touch/.test(c.type)&&(m=O(o.pinchType,m)),this.zoomX=c=/x/.test(m),this.zoomY=o=/y/.test(m),this.zoomHor=c&&!u||o&&u,this.zoomVert=o&&!u||c&&u,this.hasZoom=c||o},g}()}),Mt($,"Core/MSPointer.js",[$["Core/Globals.js"],$["Core/Pointer.js"],$["Core/Utilities.js"]],function(X,Y,et){function rt(){var v=[];return v.item=function(k){return this[k]},y(M,function(k){v.push({pageX:k.pageX,pageY:k.pageY,target:k.target})}),v}function Q(v,k,O,P){var g=K[Y.hoverChartIndex||NaN];"touch"!==v.pointerType&&v.pointerType!==v.MSPOINTER_TYPE_TOUCH||!g||(g=g.pointer,P(v),g[k]({type:O,target:v.currentTarget,preventDefault:F,touches:rt()}))}var v,it=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)}),K=X.charts,W=X.doc,F=X.noop,I=X.win,L=et.addEvent,C=et.css,y=et.objectEach,S=et.removeEvent,M={},E=!!I.PointerEvent;return function(v){function k(){return null!==v&&v.apply(this,arguments)||this}return it(k,v),k.isRequired=function(){return!(X.hasTouch||!I.PointerEvent&&!I.MSPointerEvent)},k.prototype.batchMSEvents=function(O){O(this.chart.container,E?"pointerdown":"MSPointerDown",this.onContainerPointerDown),O(this.chart.container,E?"pointermove":"MSPointerMove",this.onContainerPointerMove),O(W,E?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},k.prototype.destroy=function(){this.batchMSEvents(S),v.prototype.destroy.call(this)},k.prototype.init=function(O,P){v.prototype.init.call(this,O,P),this.hasZoom&&C(O.container,{"-ms-touch-action":"none","touch-action":"none"})},k.prototype.onContainerPointerDown=function(O){Q(O,"onContainerTouchStart","touchstart",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY,target:P.currentTarget}})},k.prototype.onContainerPointerMove=function(O){Q(O,"onContainerTouchMove","touchmove",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY},M[P.pointerId].target||(M[P.pointerId].target=P.currentTarget)})},k.prototype.onDocumentPointerUp=function(O){Q(O,"onDocumentTouchEnd","touchend",function(P){delete M[P.pointerId]})},k.prototype.setDOMEvents=function(){v.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(L)},k}(Y)}),Mt($,"Core/Legend/Legend.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.animObject,W=X.setAnimation,F=Y.format;X=et.isFirefox;var I=et.marginNames;et=et.win;var L=Q.distribute,C=it.addEvent,y=it.createElement,S=it.css,M=it.defined,E=it.discardElement,v=it.find,k=it.fireEvent,O=it.isNumber,P=it.merge,g=it.pick,c=it.relativeLength,u=it.stableSort,o=it.syncTimeout;return Q=it.wrap,it=function(){function m(l,b){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options=void 0,this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=l,this.init(l,b)}return m.prototype.init=function(l,b){this.chart=l,this.setOptions(b),b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},m.prototype.setOptions=function(l){var b=g(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=P(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop||0,this.itemMarginBottom=l.itemMarginBottom||0,this.padding=b,this.initialItemY=b-5,this.symbolWidth=g(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0},m.prototype.update=function(l,b){var n=this.chart;this.setOptions(P(!0,this.options,l)),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,g(b,!0)&&n.redraw(),k(this,"afterUpdate")},m.prototype.colorizeItem=function(l,b){if(l.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var n=this.options,r=l.legendItem,f=l.legendLine,T=l.legendSymbol,w=this.itemHiddenStyle.color;n=b?n.itemStyle.color:w;var D=b&&l.color||w,d=l.options&&l.options.marker,R={fill:D};r&&r.css({fill:n,color:n}),f&&f.attr({stroke:D}),T&&(d&&T.isMarker&&(R=l.pointAttribs(),b||(R.stroke=R.fill=w)),T.attr(R))}k(this,"afterColorizeItem",{item:l,visible:b})},m.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},m.prototype.positionItem=function(l){var b=this,n=this.options,r=n.symbolPadding,f=!n.rtl,T=l._legendItemPos;n=T[0],T=T[1];var w=l.checkbox,D=l.legendGroup;D&&D.element&&(r={translateX:f?n:this.legendWidth-n-2*r-4,translateY:T},f=function(){k(b,"afterPositionItem",{item:l})},M(D.translateY)?D.animate(r,void 0,f):(D.attr(r),f())),w&&(w.x=n,w.y=T)},m.prototype.destroyItem=function(l){var b=l.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(n){l[n]&&(l[n]=l[n].destroy())}),b&&E(l.checkbox)},m.prototype.destroy=function(){function l(b){this[b]&&(this[b]=this[b].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(l,b)}),"clipRect up down pager nav box title group".split(" ").forEach(l,this),this.display=null},m.prototype.positionCheckboxes=function(){var l=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,n=this.titleHeight;if(l){var r=l.translateY;this.allItems.forEach(function(f){var T=f.checkbox;if(T){var w=r+n+T.y+(this.scrollOffset||0)+3;S(T,{left:l.translateX+f.checkboxOffset+T.x-20+"px",top:w+"px",display:this.proximate||w>r-6&&w<r+b-6?"":"none"})}},this)}},m.prototype.renderTitle=function(){var l=this.options,b=this.padding,n=l.title,r=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,b-3,b-4,void 0,void 0,void 0,l.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+"px"}),r=(l=this.title.getBBox()).height,this.offsetWidth=l.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r},m.prototype.setText=function(l){var b=this.options;l.legendItem.attr({text:b.labelFormat?F(b.labelFormat,l,this.chart):b.labelFormatter.call(l)})},m.prototype.renderItem=function(l){var b=this.chart,n=b.renderer,r=this.options,f=this.symbolWidth,T=r.symbolPadding||0,w=this.itemStyle,D=this.itemHiddenStyle,d="horizontal"===r.layout?g(r.itemDistance,20):0,R=!r.rtl,a=!l.series,h=!a&&l.series.drawLegendSymbol?l.series:l,A=h.options,j=this.createCheckboxForItem&&A&&A.showCheckbox,z=r.useHTML,H=l.options.className,p=l.legendItem;A=f+T+d+(j?20:0),p||(l.legendGroup=n.g("legend-item").addClass("highcharts-"+h.type+"-series highcharts-color-"+l.colorIndex+(H?" "+H:"")+(a?" highcharts-series-"+l.index:"")).attr({zIndex:1}).add(this.scrollGroup),l.legendItem=p=n.text("",R?f+T:-T,this.baseline||0,z),b.styledMode||p.css(P(l.visible?w:D)),p.attr({align:R?"left":"right",zIndex:2}).add(l.legendGroup),this.baseline||(this.fontMetrics=n.fontMetrics(b.styledMode?12:w.fontSize,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline),this.symbolHeight=r.symbolHeight||this.fontMetrics.f,r.squareSymbol&&(this.symbolWidth=g(r.symbolWidth,Math.max(this.symbolHeight,16)),A=this.symbolWidth+T+d+(j?20:0),R&&p.attr("x",this.symbolWidth+T))),h.drawLegendSymbol(this,l),this.setItemEvents&&this.setItemEvents(l,p,z)),j&&!l.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(l),this.colorizeItem(l,l.visible),!b.styledMode&&w.width||p.css({width:(r.itemWidth||this.widthOption||b.spacingBox.width)-A+"px"}),this.setText(l),b=p.getBBox(),n=this.fontMetrics&&this.fontMetrics.h||0,l.itemWidth=l.checkboxOffset=r.itemWidth||l.legendItemWidth||b.width+A,this.maxItemWidth=Math.max(this.maxItemWidth,l.itemWidth),this.totalItemWidth+=l.itemWidth,this.itemHeight=l.itemHeight=Math.round(l.legendItemHeight||(b.height>1.5*n?b.height:n))},m.prototype.layoutItem=function(l){var b=this.options,n=this.padding,r="horizontal"===b.layout,f=l.itemHeight,T=this.itemMarginBottom,w=this.itemMarginTop,D=r?g(b.itemDistance,20):0,d=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>d?this.maxItemWidth:l.itemWidth,r&&this.itemX-n+b>d&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=w+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=w+this.itemY+T,this.lastLineHeight=Math.max(f,this.lastLineHeight),l._legendItemPos=[this.itemX,this.itemY],r?this.itemX+=b:(this.itemY+=w+f+T,this.lastLineHeight=f),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(l.checkbox?0:D):b)+n,this.offsetWidth)},m.prototype.getAllItems=function(){var l=[];return this.chart.series.forEach(function(b){var n=b&&b.options;b&&g(n.showInLegend,!M(n.linkedTo)&&void 0,!0)&&(l=l.concat(b.legendItems||("point"===n.legendType?b.data:b)))}),k(this,"afterGetAllItems",{allItems:l}),l},m.prototype.getAlignment=function(){var l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)},m.prototype.adjustMargins=function(l,b){var n=this.chart,r=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,w){T.test(f)&&!M(l[w])&&(n[I[w]]=Math.max(n[I[w]],n.legend[(w+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][w]*r[w%2?"x":"y"]+g(r.margin,12)+b[w]+(n.titleOffset[w]||0)))})},m.prototype.proximatePositions=function(){var l=this.chart,b=[],n="left"===this.options.align;this.allItems.forEach(function(r){var f,T=n;if(r.yAxis){r.xAxis.options.reversed&&(T=!T),r.points&&(f=v(T?r.points:r.points.slice(0).reverse(),function(D){return O(D.plotY)})),T=this.itemMarginTop+r.legendItem.getBBox().height+this.itemMarginBottom;var w=r.yAxis.top-l.plotTop;r.visible?(f=f?f.plotY:r.yAxis.height,f+=w-.3*T):f=w+r.yAxis.height,b.push({target:f,size:T,item:r})}},this),L(b,l.plotHeight).forEach(function(r){r.item._legendItemPos&&(r.item._legendItemPos[1]=l.plotTop-l.spacing[0]+r.pos)})},m.prototype.render=function(){var l=this.chart,b=l.renderer,n=this.options,r=this.padding,f=this.getAllItems(),T=this.group,w=this.box;this.itemX=r,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=c(n.width,l.spacingBox.width-r);var D=l.spacingBox.width-2*r-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(D/=2),this.maxLegendWidth=this.widthOption||D,T||(this.group=T=b.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(T),this.scrollGroup=b.g().add(this.contentGroup)),this.renderTitle(),u(f,function(R,a){return(R.options&&R.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)}),n.reversed&&f.reverse(),this.allItems=f,this.display=D=!!f.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,f.forEach(this.renderItem,this),f.forEach(this.layoutItem,this),f=(this.widthOption||this.offsetWidth)+r;var d=this.lastItemY+this.lastLineHeight+this.titleHeight;d=this.handleOverflow(d),d+=r,w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(T)),l.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),0<f&&0<d&&w[w.placed?"animate":"attr"](w.crisp.call({},{x:0,y:0,width:f,height:d},w.strokeWidth())),w[D?"show":"hide"](),l.styledMode&&"none"===T.getStyle("display")&&(f=d=0),this.legendWidth=f,this.legendHeight=d,D&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")},m.prototype.align=function(l){void 0===l&&(l=this.chart.spacingBox);var b=this.chart,n=this.options,r=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<b.titleOffset[0]?r+=b.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<b.titleOffset[2]&&(r-=b.titleOffset[2]),r!==l.y&&(l=P(l,{y:r})),b.hasRendered||(this.group.placed=!1),this.group.align(P(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,l)},m.prototype.handleOverflow=function(l){var p,N,b=this,n=this.chart,r=n.renderer,f=this.options,T=f.y,w="top"===f.verticalAlign,D=this.padding,d=f.maxHeight,R=f.navigation,a=g(R.animation,!0),h=R.arrowSize||12,A=this.pages,j=this.allItems,z=function(U){"number"==typeof U?G.attr({height:U}):G&&(b.clipRect=G.destroy(),b.contentGroup.clip()),b.contentGroup.div&&(b.contentGroup.div.style.clip=U?"rect("+D+"px,9999px,"+(D+U)+"px,0)":"auto")},H=function(U){return b[U]=r.circle(0,0,1.3*h).translate(h/2,h/2).add(_),n.styledMode||b[U].attr("fill","rgba(0,0,0,0.0001)"),b[U]};T=n.spacingBox.height+(w?-T:T)-D;var _=this.nav,G=this.clipRect;return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(T/=2),d&&(T=Math.min(T,d)),A.length=0,l&&0<T&&l>T&&!1!==R.enabled?(this.clipHeight=p=Math.max(T-20-this.titleHeight-D,0),this.currentPage=g(this.currentPage,1),this.fullHeight=l,j.forEach(function(U,tt){var J=U._legendItemPos[1],ot=Math.round(U.legendItem.getBBox().height),at=A.length;(!at||J-A[at-1]>p&&(N||J)!==A[at-1])&&(A.push(N||J),at++),U.pageIx=at-1,N&&(j[tt-1].pageIx=at-1),tt===j.length-1&&J+ot-A[at-1]>p&&ot<=p&&(A.push(J),U.pageIx=at),J!==N&&(N=J)}),G||(G=b.clipRect=r.clipRect(0,D,9999,0),b.contentGroup.clip(G)),z(p),_||(this.nav=_=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,h,h).add(_),H("upTracker").on("click",function(){b.scroll(-1,a)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!n.styledMode&&R.style&&this.pager.css(R.style),this.pager.add(_),this.down=r.symbol("triangle-down",0,0,h,h).add(_),H("downTracker").on("click",function(){b.scroll(1,a)})),b.scroll(0),l=T):_&&(z(),this.nav=_.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l},m.prototype.scroll=function(l,b){var n=this,r=this.chart,f=this.pages,T=f.length,w=this.clipHeight,D=this.options.navigation,d=this.pager,R=this.padding,a=this.currentPage+l;a>T&&(a=T),0<a&&(void 0!==b&&W(b,r),this.nav.attr({translateX:R,translateY:w+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(h){h.attr({class:1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),d.attr({text:a+"/"+T}),[this.down,this.downTracker].forEach(function(h){h.attr({x:18+this.pager.getBBox().width,class:a===T?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),r.styledMode||(this.up.attr({fill:1===a?D.inactiveColor:D.activeColor}),this.upTracker.css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===T?D.inactiveColor:D.activeColor}),this.downTracker.css({cursor:a===T?"default":"pointer"})),this.scrollOffset=-f[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes(),l=K(g(b,r.renderer.globalAnimation,!0)),o(function(){k(n,"afterScroll",{currentPage:a})},l.duration))},m.prototype.setItemEvents=function(l,b,n){var r=this,f=r.chart.renderer.boxWrapper,T=l instanceof rt,w="highcharts-legend-"+(T?"point":"series")+"-active",D=r.chart.styledMode,d=function(R){r.allItems.forEach(function(a){l!==a&&[a].concat(a.linkedSeries||[]).forEach(function(h){h.setState(R,!T)})})};(n?[b,l.legendSymbol]:[l.legendGroup]).forEach(function(R){R&&R.on("mouseover",function(){l.visible&&d("inactive"),l.setState("hover"),l.visible&&f.addClass(w),D||b.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||b.css(P(l.visible?r.itemStyle:r.itemHiddenStyle)),d(""),f.removeClass(w),l.setState()}).on("click",function(a){var h=function(){l.setVisible&&l.setVisible(),d(l.visible?"inactive":"")};f.removeClass(w),a={browserEvent:a},l.firePointEvent?l.firePointEvent("legendItemClick",a,h):k(l,"legendItemClick",a,h)})})},m.prototype.createCheckboxForItem=function(l){l.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),C(l.checkbox,"click",function(b){k(l.series||l,"checkboxClick",{checked:b.target.checked,item:l},function(){l.select()})})},m}(),(/Trident\/7\.0/.test(et.navigator&&et.navigator.userAgent)||X)&&Q(it.prototype,"positionItem",function(m,l){var b=this,n=function(){l._legendItemPos&&m.call(b,l)};n(),b.bubbleLegend||setTimeout(n)}),it}),Mt($,"Core/Series/SeriesRegistry.js",[$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=Y.defaultOptions,it=rt.error,K=rt.extendClass,W=rt.merge;return function(I){function L(C,y){var S=Q.plotOptions||{},M=y.defaultOptions;y.prototype.pointClass||(y.prototype.pointClass=et),y.prototype.type=C,M&&(S[C]=M),I.seriesTypes[C]=y}I.seriesTypes=X.seriesTypes,I.getSeries=function(C,y){void 0===y&&(y={});var S=C.options.chart,M=I.seriesTypes[S=y.type||S.type||S.defaultSeriesType||""];return I||it(17,!0,C,{missingModuleFor:S}),"function"==typeof(S=new M).init&&S.init(C,y),S},I.registerSeriesType=L,I.seriesType=function(C,y,S,M,E){var v=Q.plotOptions||{};return v[C]=W(v[y=y||""],S),L(C,K(I.seriesTypes[y]||function(){},M)),I.seriesTypes[C].prototype.type=C,E&&(I.seriesTypes[C].prototype.pointClass=K(et,E)),I.seriesTypes[C]}}(F||(F={})),F}),Mt($,"Core/Chart/Chart.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/FormatUtilities.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/Legend.js"],$["Core/MSPointer.js"],$["Core/DefaultOptions.js"],$["Core/Pointer.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Time.js"],$["Core/Utilities.js"],$["Core/Renderer/HTML/AST.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M){var E=X.animate,v=X.animObject,k=X.setAnimation,O=et.numberFormat,P=rt.registerEventOptions,g=Q.charts,c=Q.doc,u=Q.marginNames,o=Q.svg,m=Q.win,l=W.defaultOptions,b=W.defaultTime,n=L.seriesTypes,r=S.addEvent,f=S.attr,T=S.cleanRecursively,w=S.createElement,D=S.css,d=S.defined,R=S.discardElement,a=S.erase,h=S.error,A=S.extend,j=S.find,z=S.fireEvent,H=S.getStyle,p=S.isArray,N=S.isNumber,_=S.isObject,G=S.isString,U=S.merge,tt=S.objectEach,J=S.pick,ot=S.pInt,at=S.relativeLength,ft=S.removeEvent,mt=S.splat,gt=S.syncTimeout,ut=S.uniqueKey;return X=function(){function ht(V,q,st){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(V,q,st)}return ht.chart=function(V,q,st){return new ht(V,q,st)},ht.prototype.getArgs=function(V,q,st){G(V)||V.nodeName?(this.renderTo=V,this.init(q,st)):this.init(V,q)},ht.prototype.init=function(V,q){var st=V.plotOptions||{};z(this,"init",{args:arguments},function(){var ct=U(l,V),dt=ct.chart;tt(ct.plotOptions,function(yt,xt){_(yt)&&(yt.tooltip=st[xt]&&U(st[xt].tooltip)||void 0)}),ct.tooltip.userOptions=V.chart&&V.chart.forExport&&V.tooltip.userOptions||V.tooltip,this.userOptions=V,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=q,this.isResizing=0,this.options=ct,this.axes=[],this.series=[],this.time=V.time&&Object.keys(V.time).length?new y(V.time):Q.time,this.numberFormatter=dt.numberFormatter||O,this.styledMode=dt.styledMode,this.hasCartesianSeries=dt.showAxes,this.index=g.length,g.push(this),Q.chartCount++,P(this,dt),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,z(this,"afterInit"),this.firstRender()})},ht.prototype.initSeries=function(V){var q=this.options.chart,st=n[q=V.type||q.type||q.defaultSeriesType];return st||h(17,!0,this,{missingModuleFor:q}),"function"==typeof(q=new st).init&&q.init(this,V),q},ht.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(V){V.points||V.data||!V.enabledDataSorting||V.setData(V.options.data,!1)})},ht.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(V,q){return V.linkedSeries.length||q.linkedSeries.length?q.linkedSeries.length-V.linkedSeries.length:0})},ht.prototype.orderSeries=function(V){var q=this.series;V=V||0;for(var st=q.length;V<st;++V)q[V]&&(q[V].index=V,q[V].name=q[V].getName())},ht.prototype.isInsidePlot=function(V,q,st){void 0===st&&(st={});var ct=this.inverted,dt=this.plotBox,yt=this.plotLeft,xt=this.plotTop,St=this.scrollablePlotBox,Et=0,kt=0;st.visiblePlotOnly&&this.scrollingContainer&&(Et=(kt=this.scrollingContainer).scrollLeft,kt=kt.scrollTop);var Ct=st.series;if(dt=st.visiblePlotOnly&&St||dt,V={x:St=st.inverted?q:V,y:q=st.inverted?V:q,isInsidePlot:!0},!st.ignoreX){var Ot=Ct&&(ct?Ct.yAxis:Ct.xAxis)||{pos:yt,len:1/0};(St=st.paneCoordinates?Ot.pos+St:yt+St)>=Math.max(Et+yt,Ot.pos)&&St<=Math.min(Et+yt+dt.width,Ot.pos+Ot.len)||(V.isInsidePlot=!1)}return!st.ignoreY&&V.isInsidePlot&&(ct=Ct&&(ct?Ct.xAxis:Ct.yAxis)||{pos:xt,len:1/0},(st=st.paneCoordinates?ct.pos+q:xt+q)>=Math.max(kt+xt,ct.pos)&&st<=Math.min(kt+xt+dt.height,ct.pos+ct.len)||(V.isInsidePlot=!1)),z(this,"afterIsInsidePlot",V),V.isInsidePlot},ht.prototype.redraw=function(V){z(this,"beforeRedraw");var q=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ct=this.pointer,dt=this.legend,yt=this.userOptions.legend,xt=this.renderer,St=xt.isHidden(),Et=[],kt=this.isDirtyBox,Ct=this.isDirtyLegend;for(this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&V,this),St&&this.temporaryDisplay(),this.layOutTitles(),V=st.length;V--;){var Ot=st[V];if(Ot.options.stacking||Ot.options.centerInCategory){var Pt=!0;if(Ot.isDirty){var Lt=!0;break}}}if(Lt)for(V=st.length;V--;)(Ot=st[V]).options.stacking&&(Ot.isDirty=!0);st.forEach(function(Tt){Tt.isDirty&&("point"===Tt.options.legendType?("function"==typeof Tt.updateTotals&&Tt.updateTotals(),Ct=!0):yt&&(yt.labelFormatter||yt.labelFormat)&&(Ct=!0)),Tt.isDirtyData&&z(Tt,"updatedData")}),Ct&&dt&&dt.options.enabled&&(dt.render(),this.isDirtyLegend=!1),Pt&&this.getStacks(),q.forEach(function(Tt){Tt.updateNames(),Tt.setScale()}),this.getMargins(),q.forEach(function(Tt){Tt.isDirty&&(kt=!0)}),q.forEach(function(Tt){var zt=Tt.min+","+Tt.max;Tt.extKey!==zt&&(Tt.extKey=zt,Et.push(function(){z(Tt,"afterSetExtremes",A(Tt.eventArgs,Tt.getExtremes())),delete Tt.eventArgs})),(kt||Pt)&&Tt.redraw()}),kt&&this.drawChartBox(),z(this,"predraw"),st.forEach(function(Tt){(kt||Tt.isDirty)&&Tt.visible&&Tt.redraw(),Tt.isDirtyData=!1}),ct&&ct.reset(!0),xt.draw(),z(this,"redraw"),z(this,"render"),St&&this.temporaryDisplay(!0),Et.forEach(function(Tt){Tt.call()})},ht.prototype.get=function(V){function q(yt){return yt.id===V||yt.options&&yt.options.id===V}for(var st=this.series,ct=j(this.axes,q)||j(this.series,q),dt=0;!ct&&dt<st.length;dt++)ct=j(st[dt].points||[],q);return ct},ht.prototype.getAxes=function(){var V=this,q=this.options,st=q.xAxis=mt(q.xAxis||{});q=q.yAxis=mt(q.yAxis||{}),z(this,"getAxes"),st.forEach(function(ct,dt){ct.index=dt,ct.isX=!0}),q.forEach(function(ct,dt){ct.index=dt}),st.concat(q).forEach(function(ct){new Y(V,ct)}),z(this,"afterGetAxes")},ht.prototype.getSelectedPoints=function(){return this.series.reduce(function(V,q){return q.getPointsCollection().forEach(function(st){J(st.selectedStaging,st.selected)&&V.push(st)}),V},[])},ht.prototype.getSelectedSeries=function(){return this.series.filter(function(V){return V.selected})},ht.prototype.setTitle=function(V,q,st){this.applyDescription("title",V),this.applyDescription("subtitle",q),this.applyDescription("caption",void 0),this.layOutTitles(st)},ht.prototype.applyDescription=function(V,q){var st=this,ct="title"===V?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};ct=this.options[V]=U(!this.styledMode&&{style:ct},this.options[V],q);var dt=this[V];dt&&q&&(this[V]=dt=dt.destroy()),ct&&!dt&&((dt=this.renderer.text(ct.text,0,0,ct.useHTML).attr({align:ct.align,class:"highcharts-"+V,zIndex:ct.zIndex||4}).add()).update=function(yt){st[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[V]](yt)},this.styledMode||dt.css(ct.style),this[V]=dt)},ht.prototype.layOutTitles=function(V){var q=[0,0,0],st=this.renderer,ct=this.spacingBox;["title","subtitle","caption"].forEach(function(yt){var kt,xt=this[yt],St=this.options[yt],Et=St.verticalAlign||"top";if(yt="title"===yt?"top"===Et?-3:0:"top"===Et?q[0]+2:0,xt){this.styledMode||(kt=St.style&&St.style.fontSize),kt=st.fontMetrics(kt,xt).b,xt.css({width:(St.width||ct.width+(St.widthAdjust||0))+"px"});var Ct=Math.round(xt.getBBox(St.useHTML).height);xt.align(A({y:"bottom"===Et?kt:yt+kt,height:Ct},St),!1,"spacingBox"),St.floating||("top"===Et?q[0]=Math.ceil(q[0]+Ct):"bottom"===Et&&(q[2]=Math.ceil(q[2]+Ct)))}},this),q[0]&&"top"===(this.options.title.verticalAlign||"top")&&(q[0]+=this.options.title.margin),q[2]&&"bottom"===this.options.caption.verticalAlign&&(q[2]+=this.options.caption.margin);var dt=!this.titleOffset||this.titleOffset.join(",")!==q.join(",");this.titleOffset=q,z(this,"afterLayOutTitles"),!this.isDirtyBox&&dt&&(this.isDirtyBox=this.isDirtyLegend=dt,this.hasRendered&&J(V,!0)&&this.isDirtyBox&&this.redraw())},ht.prototype.getChartSize=function(){var V=this.options.chart,q=V.width;V=V.height;var st=this.renderTo;d(q)||(this.containerWidth=H(st,"width")),d(V)||(this.containerHeight=H(st,"height")),this.chartWidth=Math.max(0,q||this.containerWidth||600),this.chartHeight=Math.max(0,at(V,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},ht.prototype.temporaryDisplay=function(V){var q=this.renderTo;if(V)for(;q&&q.style;)q.hcOrigStyle&&(D(q,q.hcOrigStyle),delete q.hcOrigStyle),q.hcOrigDetached&&(c.body.removeChild(q),q.hcOrigDetached=!1),q=q.parentNode;else for(;q&&q.style&&(c.body.contains(q)||q.parentNode||(q.hcOrigDetached=!0,c.body.appendChild(q)),("none"===H(q,"display",!1)||q.hcOricDetached)&&(q.hcOrigStyle={display:q.style.display,height:q.style.height,overflow:q.style.overflow},V={display:"block",overflow:"hidden"},q!==this.renderTo&&(V.height=0),D(q,V),q.offsetWidth||q.style.setProperty("display","block","important")),(q=q.parentNode)!==c.body););},ht.prototype.setClassName=function(V){this.container.className="highcharts-container "+(V||"")},ht.prototype.getContainer=function(){var ct,V=this.options,q=V.chart,st=ut(),dt=this.renderTo;dt||(this.renderTo=dt=q.renderTo),G(dt)&&(this.renderTo=dt=c.getElementById(dt)),dt||h(13,!0,this);var yt=ot(f(dt,"data-highcharts-chart"));N(yt)&&g[yt]&&g[yt].hasRendered&&g[yt].destroy(),f(dt,"data-highcharts-chart",this.index),dt.innerHTML=M.emptyHTML,q.skipClone||dt.offsetWidth||this.temporaryDisplay(),this.getChartSize(),yt=this.chartWidth;var xt=this.chartHeight;if(D(dt,{overflow:"hidden"}),this.styledMode||(ct=A({position:"relative",overflow:"hidden",width:yt+"px",height:xt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},q.style||{})),this.container=st=w("div",{id:st},ct,dt),this._cursor=st.style.cursor,this.renderer=new(q.renderer||!o?I.getRendererType(q.renderer):C)(st,yt,xt,void 0,q.forExport,V.exporting&&V.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(q.className),this.styledMode)for(var St in V.defs)this.renderer.definition(V.defs[St]);else this.renderer.setStyle(q.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")},ht.prototype.getMargins=function(V){var q=this.spacing,st=this.margin,ct=this.titleOffset;this.resetMargins(),ct[0]&&!d(st[0])&&(this.plotTop=Math.max(this.plotTop,ct[0]+q[0])),ct[2]&&!d(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ct[2]+q[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,q),z(this,"getMargins"),V||this.getAxisMargins()},ht.prototype.getAxisMargins=function(){var V=this,q=V.axisOffset=[0,0,0,0],st=V.colorAxis,ct=V.margin,dt=function(yt){yt.forEach(function(xt){xt.visible&&xt.getOffset()})};V.hasCartesianSeries?dt(V.axes):st&&st.length&&dt(st),u.forEach(function(yt,xt){d(ct[xt])||(V[yt]+=q[xt])}),V.setChartSize()},ht.prototype.reflow=function(V){var q=this,st=q.options.chart,ct=q.renderTo,dt=d(st.width)&&d(st.height),yt=st.width||H(ct,"width");st=st.height||H(ct,"height"),ct=V?V.target:m,delete q.pointer.chartPosition,!dt&&!q.isPrinting&&yt&&st&&(ct===m||ct===c)&&((yt!==q.containerWidth||st!==q.containerHeight)&&(S.clearTimeout(q.reflowTimeout),q.reflowTimeout=gt(function(){q.container&&q.setSize(void 0,void 0,!1)},V?100:0)),q.containerWidth=yt,q.containerHeight=st)},ht.prototype.setReflow=function(V){var q=this;!1===V||this.unbindReflow?!1===V&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=r(m,"resize",function(st){q.options&&q.reflow(st)}),r(this,"destroy",this.unbindReflow))},ht.prototype.setSize=function(V,q,st){var ct=this,dt=ct.renderer;ct.isResizing+=1,k(st,ct),st=dt.globalAnimation,ct.oldChartHeight=ct.chartHeight,ct.oldChartWidth=ct.chartWidth,void 0!==V&&(ct.options.chart.width=V),void 0!==q&&(ct.options.chart.height=q),ct.getChartSize(),ct.styledMode||(st?E:D)(ct.container,{width:ct.chartWidth+"px",height:ct.chartHeight+"px"},st),ct.setChartSize(!0),dt.setSize(ct.chartWidth,ct.chartHeight,st),ct.axes.forEach(function(yt){yt.isDirty=!0,yt.setScale()}),ct.isDirtyLegend=!0,ct.isDirtyBox=!0,ct.layOutTitles(),ct.getMargins(),ct.redraw(st),ct.oldChartHeight=null,z(ct,"resize"),gt(function(){ct&&z(ct,"endResize",null,function(){--ct.isResizing})},v(st).duration)},ht.prototype.setChartSize=function(V){var Et,kt,Ct,Ot,q=this.inverted,st=this.renderer,ct=this.chartWidth,dt=this.chartHeight,yt=this.options.chart,xt=this.spacing,St=this.clipOffset;this.plotLeft=Et=Math.round(this.plotLeft),this.plotTop=kt=Math.round(this.plotTop),this.plotWidth=Ct=Math.max(0,Math.round(ct-Et-this.marginRight)),this.plotHeight=Ot=Math.max(0,Math.round(dt-kt-this.marginBottom)),this.plotSizeX=q?Ot:Ct,this.plotSizeY=q?Ct:Ot,this.plotBorderWidth=yt.plotBorderWidth||0,this.spacingBox=st.spacingBox={x:xt[3],y:xt[0],width:ct-xt[3]-xt[1],height:dt-xt[0]-xt[2]},this.plotBox=st.plotBox={x:Et,y:kt,width:Ct,height:Ot},q=2*Math.floor(this.plotBorderWidth/2),ct=Math.ceil(Math.max(q,St[3])/2),dt=Math.ceil(Math.max(q,St[0])/2),this.clipBox={x:ct,y:dt,width:Math.floor(this.plotSizeX-Math.max(q,St[1])/2-ct),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(q,St[2])/2-dt))},V||(this.axes.forEach(function(Pt){Pt.setAxisSize(),Pt.setAxisTranslation()}),st.alignElements()),z(this,"afterSetChartSize",{skipAxes:V})},ht.prototype.resetMargins=function(){z(this,"resetMargins");var V=this,q=V.options.chart;["margin","spacing"].forEach(function(st){var ct=q[st],dt=_(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(yt,xt){V[st][xt]=J(q[st+yt],dt[xt])})}),u.forEach(function(st,ct){V[st]=J(V.margin[ct],V.spacing[ct])}),V.axisOffset=[0,0,0,0],V.clipOffset=[0,0,0,0]},ht.prototype.drawChartBox=function(){var ne,V=this.options.chart,q=this.renderer,st=this.chartWidth,ct=this.chartHeight,dt=this.styledMode,yt=this.plotBGImage,xt=V.backgroundColor,St=V.plotBackgroundColor,Et=V.plotBackgroundImage,kt=this.plotLeft,Ct=this.plotTop,Ot=this.plotWidth,Pt=this.plotHeight,Lt=this.plotBox,Tt=this.clipRect,zt=this.clipBox,Ht=this.chartBackground,Rt=this.plotBackground,Vt=this.plotBorder,Ft="animate";if(Ht||(this.chartBackground=Ht=q.rect().addClass("highcharts-background").add(),Ft="attr"),dt)var Zt=ne=Ht.strokeWidth();else ne=(Zt=V.borderWidth||0)+(V.shadow?8:0),xt={fill:xt||"none"},(Zt||Ht["stroke-width"])&&(xt.stroke=V.borderColor,xt["stroke-width"]=Zt),Ht.attr(xt).shadow(V.shadow);Ht[Ft]({x:ne/2,y:ne/2,width:st-ne-Zt%2,height:ct-ne-Zt%2,r:V.borderRadius}),Ft="animate",Rt||(Ft="attr",this.plotBackground=Rt=q.rect().addClass("highcharts-plot-background").add()),Rt[Ft](Lt),dt||(Rt.attr({fill:St||"none"}).shadow(V.plotShadow),Et&&(yt?(Et!==yt.attr("href")&&yt.attr("href",Et),yt.animate(Lt)):this.plotBGImage=q.image(Et,kt,Ct,Ot,Pt).add())),Tt?Tt.animate({width:zt.width,height:zt.height}):this.clipRect=q.clipRect(zt),Ft="animate",Vt||(Ft="attr",this.plotBorder=Vt=q.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),dt||Vt.attr({stroke:V.plotBorderColor,"stroke-width":V.plotBorderWidth||0,fill:"none"}),Vt[Ft](Vt.crisp({x:kt,y:Ct,width:Ot,height:Pt},-Vt.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")},ht.prototype.propFromSeries=function(){var ct,dt,yt,V=this,q=V.options.chart,st=V.options.series;["inverted","angular","polar"].forEach(function(xt){for(dt=n[q.type||q.defaultSeriesType],yt=q[xt]||dt&&dt.prototype[xt],ct=st&&st.length;!yt&&ct--;)(dt=n[st[ct].type])&&dt.prototype[xt]&&(yt=!0);V[xt]=yt})},ht.prototype.linkSeries=function(){var V=this,q=V.series;q.forEach(function(st){st.linkedSeries.length=0}),q.forEach(function(st){var ct=st.options.linkedTo;G(ct)&&(ct=":previous"===ct?V.series[st.index-1]:V.get(ct))&&ct.linkedParent!==st&&(ct.linkedSeries.push(st),st.linkedParent=ct,ct.enabledDataSorting&&st.setDataSortingOptions(),st.visible=J(st.options.visible,ct.options.visible,st.visible))}),z(this,"afterLinkSeries")},ht.prototype.renderSeries=function(){this.series.forEach(function(V){V.translate(),V.render()})},ht.prototype.renderLabels=function(){var V=this,q=V.options.labels;q.items&&q.items.forEach(function(st){var ct=A(q.style,st.style),dt=ot(ct.left)+V.plotLeft,yt=ot(ct.top)+V.plotTop+12;delete ct.left,delete ct.top,V.renderer.text(st.html,dt,yt).attr({zIndex:2}).css(ct).add()})},ht.prototype.render=function(){var V=this.axes,q=this.colorAxis,st=this.renderer,ct=this.options,dt=function(kt){kt.forEach(function(Ct){Ct.visible&&Ct.render()})},yt=0;this.setTitle(),this.legend=new it(this,ct.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),ct=this.plotWidth,V.some(function(kt){if(kt.horiz&&kt.visible&&kt.options.labels.enabled&&kt.series.length)return yt=21,!0});var xt=this.plotHeight=Math.max(this.plotHeight-yt,0);V.forEach(function(kt){kt.setScale()}),this.getAxisMargins();var St=1.1<ct/this.plotWidth,Et=1.05<xt/this.plotHeight;(St||Et)&&(V.forEach(function(kt){(kt.horiz&&St||!kt.horiz&&Et)&&kt.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?dt(V):q&&q.length&&dt(q),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},ht.prototype.addCredits=function(V){var q=this,st=U(!0,this.options.credits,V);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(m.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),q.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ct){q.credits=q.credits.destroy(),q.addCredits(ct)})},ht.prototype.destroy=function(){var yt,V=this,q=V.axes,st=V.series,ct=V.container,dt=ct&&ct.parentNode;for(z(V,"destroy"),V.renderer.forExport?a(g,V):g[V.index]=void 0,Q.chartCount--,V.renderTo.removeAttribute("data-highcharts-chart"),ft(V),yt=q.length;yt--;)q[yt]=q[yt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),yt=st.length;yt--;)st[yt]=st[yt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(xt){var St=V[xt];St&&St.destroy&&(V[xt]=St.destroy())}),ct&&(ct.innerHTML=M.emptyHTML,ft(ct),dt&&R(ct)),tt(V,function(xt,St){delete V[St]})},ht.prototype.firstRender=function(){var V=this,q=V.options;(!V.isReadyToRender||V.isReadyToRender())&&(V.getContainer(),V.resetMargins(),V.setChartSize(),V.propFromSeries(),V.getAxes(),(p(q.series)?q.series:[]).forEach(function(st){V.initSeries(st)}),V.linkSeries(),V.setSeriesData(),z(V,"beforeRender"),F&&(V.pointer=K.isRequired()?new K(V,q):new F(V,q)),V.render(),V.pointer.getChartPosition(),!V.renderer.imgCount&&!V.hasLoaded&&V.onload(),V.temporaryDisplay(!0))},ht.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(V){V&&void 0!==this.index&&V.apply(this,[this])},this),z(this,"load"),z(this,"render"),d(this.index)&&this.setReflow(this.options.chart.reflow),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},ht.prototype.warnIfA11yModuleNotLoaded=function(){var V=this;setTimeout(function(){var q=V&&V.options;!q||V.accessibility||q.accessibility&&!1===q.accessibility.enabled||h('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,V)},100)},ht.prototype.addSeries=function(V,q,st){var dt,ct=this;return V&&(q=J(q,!0),z(ct,"addSeries",{options:V},function(){dt=ct.initSeries(V),ct.isDirtyLegend=!0,ct.linkSeries(),dt.enabledDataSorting&&dt.setData(V.data,!1),z(ct,"afterAddSeries",{series:dt}),q&&ct.redraw(st)})),dt},ht.prototype.addAxis=function(V,q,st,ct){return this.createAxis(q?"xAxis":"yAxis",{axis:V,redraw:st,animation:ct})},ht.prototype.addColorAxis=function(V,q,st){return this.createAxis("colorAxis",{axis:V,redraw:q,animation:st})},ht.prototype.createAxis=function(V,q){return V=new Y(this,U(q.axis,{index:this[V].length,isX:"xAxis"===V})),J(q.redraw,!0)&&this.redraw(q.animation),V},ht.prototype.showLoading=function(V){var q=this,st=q.options,ct=st.loading,dt=function(){yt&&D(yt,{left:q.plotLeft+"px",top:q.plotTop+"px",width:q.plotWidth+"px",height:q.plotHeight+"px"})},yt=q.loadingDiv,xt=q.loadingSpan;yt||(q.loadingDiv=yt=w("div",{className:"highcharts-loading highcharts-loading-hidden"},null,q.container)),xt||(q.loadingSpan=xt=w("span",{className:"highcharts-loading-inner"},null,yt),r(q,"redraw",dt)),yt.className="highcharts-loading",M.setElementHTML(xt,J(V,st.lang.loading,"")),q.styledMode||(D(yt,A(ct.style,{zIndex:10})),D(xt,ct.labelStyle),q.loadingShown||(D(yt,{opacity:0,display:""}),E(yt,{opacity:ct.style.opacity||.5},{duration:ct.showDuration||0}))),q.loadingShown=!0,dt()},ht.prototype.hideLoading=function(){var V=this.options,q=this.loadingDiv;q&&(q.className="highcharts-loading highcharts-loading-hidden",this.styledMode||E(q,{opacity:0},{duration:V.loading.hideDuration||100,complete:function(){D(q,{display:"none"})}})),this.loadingShown=!1},ht.prototype.update=function(V,q,st,ct){var Et,kt,dt=this,yt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},xt=V.isResponsiveOptions,St=[];z(dt,"update",{options:V}),xt||dt.setResponsive(!1,!0),V=T(V,dt.options),dt.userOptions=U(dt.userOptions,V);var Ct=V.chart;if(Ct){if(U(!0,dt.options.chart,Ct),"className"in Ct&&dt.setClassName(Ct.className),"reflow"in Ct&&dt.setReflow(Ct.reflow),"inverted"in Ct||"polar"in Ct||"type"in Ct){dt.propFromSeries();var Ot=!0}"alignTicks"in Ct&&(Ot=!0),"events"in Ct&&P(this,Ct),tt(Ct,function(Pt,Lt){-1!==dt.propsRequireUpdateSeries.indexOf("chart."+Lt)&&(Et=!0),-1!==dt.propsRequireDirtyBox.indexOf(Lt)&&(dt.isDirtyBox=!0),-1!==dt.propsRequireReflow.indexOf(Lt)&&(xt?dt.isDirtyBox=!0:kt=!0)}),!dt.styledMode&&Ct.style&&dt.renderer.setStyle(dt.options.chart.style||{})}!dt.styledMode&&V.colors&&(this.options.colors=V.colors),V.time&&(this.time===b&&(this.time=new y(V.time)),U(!0,dt.options.time,V.time)),tt(V,function(Pt,Lt){dt[Lt]&&"function"==typeof dt[Lt].update?dt[Lt].update(Pt,!1):"function"==typeof dt[yt[Lt]]?dt[yt[Lt]](Pt):"colors"!==Lt&&-1===dt.collectionsWithUpdate.indexOf(Lt)&&U(!0,dt.options[Lt],V[Lt]),"chart"!==Lt&&-1!==dt.propsRequireUpdateSeries.indexOf(Lt)&&(Et=!0)}),this.collectionsWithUpdate.forEach(function(Pt){if(V[Pt]){var Lt=[];dt[Pt].forEach(function(Tt,zt){Tt.options.isInternal||Lt.push(J(Tt.options.index,zt))}),mt(V[Pt]).forEach(function(Tt,zt){var Rt,Ht=d(Tt.id);Ht&&(Rt=dt.get(Tt.id)),!Rt&&dt[Pt]&&(Rt=dt[Pt][Lt?Lt[zt]:zt])&&Ht&&d(Rt.options.id)&&(Rt=void 0),Rt&&Rt.coll===Pt&&(Rt.update(Tt,!1),st&&(Rt.touched=!0)),!Rt&&st&&dt.collectionsWithInit[Pt]&&(dt.collectionsWithInit[Pt][0].apply(dt,[Tt].concat(dt.collectionsWithInit[Pt][1]||[]).concat([!1])).touched=!0)}),st&&dt[Pt].forEach(function(Tt){Tt.touched||Tt.options.isInternal?delete Tt.touched:St.push(Tt)})}}),St.forEach(function(Pt){Pt.chart&&Pt.remove&&Pt.remove(!1)}),Ot&&dt.axes.forEach(function(Pt){Pt.update({},!1)}),Et&&dt.getSeriesOrderByLinks().forEach(function(Pt){Pt.chart&&Pt.update({},!1)},this),Ot=Ct&&Ct.width,Ct=Ct&&(G(Ct.height)?at(Ct.height,Ot||dt.chartWidth):Ct.height),kt||N(Ot)&&Ot!==dt.chartWidth||N(Ct)&&Ct!==dt.chartHeight?dt.setSize(Ot,Ct,ct):J(q,!0)&&dt.redraw(ct),z(dt,"afterUpdate",{options:V,redraw:q,animation:ct})},ht.prototype.setSubtitle=function(V,q){this.applyDescription("subtitle",V),this.layOutTitles(q)},ht.prototype.setCaption=function(V,q){this.applyDescription("caption",V),this.layOutTitles(q)},ht.prototype.showResetZoom=function(){function V(){q.zoomOut()}var q=this,st=l.lang,ct=q.options.chart.resetZoomButton,dt=ct.theme,yt="chart"===ct.relativeTo||"spacingBox"===ct.relativeTo?null:"scrollablePlotBox";z(this,"beforeShowResetZoom",null,function(){q.resetZoomButton=q.renderer.button(st.resetZoom,null,null,V,dt).attr({align:ct.position.align,title:st.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(ct.position,!1,yt)}),z(this,"afterShowResetZoom")},ht.prototype.zoomOut=function(){z(this,"selection",{resetSelection:!0},this.zoom)},ht.prototype.zoom=function(V){var yt,q=this,st=q.pointer,ct=q.inverted?st.mouseDownX:st.mouseDownY,dt=!1;!V||V.resetSelection?(q.axes.forEach(function(St){yt=St.zoom()}),st.initiated=!1):V.xAxis.concat(V.yAxis).forEach(function(St){var Et=St.axis,kt=q.inverted?Et.left:Et.top,Ot=Et.isXAxis,Pt=!1;(!Ot&&ct>=kt&&ct<=(q.inverted?kt+Et.width:kt+Et.height)||Ot||!d(ct))&&(Pt=!0),st[Ot?"zoomX":"zoomY"]&&Pt&&(yt=Et.zoom(St.min,St.max),Et.displayBtn&&(dt=!0))});var xt=q.resetZoomButton;dt&&!xt?q.showResetZoom():!dt&&_(xt)&&(q.resetZoomButton=xt.destroy()),yt&&q.redraw(J(q.options.chart.animation,V&&V.animation,100>q.pointCount))},ht.prototype.pan=function(V,q){var st=this,ct=st.hoverPoints;q="object"==typeof q?q:{enabled:q,type:"x"};var dt=st.options.chart,yt=st.options.mapNavigation&&st.options.mapNavigation.enabled;dt&&dt.panning&&(dt.panning=q);var St,xt=q.type;z(this,"pan",{originalEvent:V},function(){ct&&ct.forEach(function(Ct){Ct.setState()});var Et=st.xAxis;"xy"===xt?Et=Et.concat(st.yAxis):"y"===xt&&(Et=st.yAxis);var kt={};Et.forEach(function(Ct){if(Ct.options.panningEnabled&&!Ct.options.isInternal){var Ot=Ct.horiz,Pt=V[Ot?"chartX":"chartY"],Lt=st[Ot=Ot?"mouseDownX":"mouseDownY"],Tt=Ct.minPointOffset||0,zt=Ct.reversed&&!st.inverted||!Ct.reversed&&st.inverted?-1:1,Ht=Ct.getExtremes(),Rt=Ct.toValue(Lt-Pt,!0)+Tt*zt,Vt=Ct.toValue(Lt+Ct.len-Pt,!0)-(Tt*zt||Ct.isXAxis&&Ct.pointRangePadding||0),ne=Vt<Rt;zt=Ct.hasVerticalPanning(),Lt=ne?Vt:Rt,Rt=ne?Rt:Vt;var Ft=Ct.panningState;!zt||Ct.isXAxis||Ft&&!Ft.isDirty||Ct.series.forEach(function(Zt){var ue=Zt.getProcessedData(!0);ue=Zt.getExtremes(ue.yData,!0),Ft||(Ft={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),N(ue.dataMin)&&N(ue.dataMax)&&(Ft.startMin=Math.min(J(Zt.options.threshold,1/0),ue.dataMin,Ft.startMin),Ft.startMax=Math.max(J(Zt.options.threshold,-1/0),ue.dataMax,Ft.startMax))}),zt=Math.min(J(Ft&&Ft.startMin,Ht.dataMin),Tt?Ht.min:Ct.toValue(Ct.toPixels(Ht.min)-Ct.minPixelPadding)),Vt=Math.max(J(Ft&&Ft.startMax,Ht.dataMax),Tt?Ht.max:Ct.toValue(Ct.toPixels(Ht.max)+Ct.minPixelPadding)),Ct.panningState=Ft,Ct.isOrdinal||(0<(Tt=zt-Lt)&&(Rt+=Tt,Lt=zt),0<(Tt=Rt-Vt)&&(Rt=Vt,Lt-=Tt),Ct.series.length&&Lt!==Ht.min&&Rt!==Ht.max&&Lt>=zt&&Rt<=Vt&&(Ct.setExtremes(Lt,Rt,!1,!1,{trigger:"pan"}),st.resetZoomButton||yt||Lt===zt||Rt===Vt||!xt.match("y")||(st.showResetZoom(),Ct.displayBtn=!1),St=!0),kt[Ot]=Pt)}}),tt(kt,function(Ct,Ot){st[Ot]=Ct}),St&&st.redraw(!1),D(st.container,{cursor:"move"})})},ht}(),A(X.prototype,{callbacks:[],collectionsWithInit:{xAxis:[X.prototype.addAxis,[!0]],yAxis:[X.prototype.addAxis,[!1]],series:[X.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),X}),Mt($,"Core/Legend/LegendSymbol.js",[$["Core/Utilities.js"]],function(X){var rt,Q,Y=X.merge,et=X.pick;return(Q=rt||(rt={})).drawLineMarker=function(it){var K=this.options,W=it.symbolWidth,F=it.symbolHeight,I=F/2,L=this.chart.renderer,C=this.legendGroup;it=it.baseline-Math.round(.3*it.fontMetrics.b);var y={},S=K.marker;this.chart.styledMode||(y={"stroke-width":K.lineWidth||0},K.dashStyle&&(y.dashstyle=K.dashStyle)),this.legendLine=L.path([["M",0,it],["L",W,it]]).addClass("highcharts-graph").attr(y).add(C),S&&!1!==S.enabled&&W&&(K=Math.min(et(S.radius,I),I),0===this.symbol.indexOf("url")&&(S=Y(S,{width:F,height:F}),K=0),this.legendSymbol=W=L.symbol(this.symbol,W/2-K,it-K,2*K,2*K,S).addClass("highcharts-point").add(C),W.isMarker=!0)},Q.drawRectangle=function(it,K){var W=it.symbolHeight,F=it.options.squareSymbol;K.legendSymbol=this.chart.renderer.rect(F?(it.symbolWidth-W)/2:0,it.baseline-W+1,F?W:it.symbolWidth,W,et(it.options.symbolRadius,W/2)).addClass("highcharts-point").attr({zIndex:3}).add(K.legendGroup)},rt}),Mt($,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,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:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Mt($,"Core/Series/Series.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Point.js"],$["Core/Series/SeriesDefaults.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I){var L=X.animObject,C=X.setAnimation,y=Y.defaultOptions,S=et.registerEventOptions,M=rt.hasTouch,E=rt.svg,v=rt.win,k=W.seriesTypes,O=I.addEvent,P=I.arrayMax,g=I.arrayMin,c=I.clamp,u=I.cleanRecursively,o=I.correctFloat,m=I.defined,l=I.erase,b=I.error,n=I.extend,r=I.find,f=I.fireEvent,T=I.getNestedProperty,w=I.isArray,D=I.isNumber,d=I.isString,R=I.merge,a=I.objectEach,h=I.pick,A=I.removeEvent,j=I.splat,z=I.syncTimeout;return X=function(){function H(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return H.prototype.init=function(p,N){f(this,"init",{options:N});var _=this,G=p.series;this.eventsToUnbind=[],_.chart=p,_.options=_.setOptions(N),N=_.options,_.linkedSeries=[],_.bindAxes(),n(_,{name:N.name,state:"",visible:!1!==N.visible,selected:!0===N.selected}),S(this,N);var tt,U=N.events;(U&&U.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(p.runTrackerClick=!0),_.getColor(),_.getSymbol(),_.parallelArrays.forEach(function(J){_[J+"Data"]||(_[J+"Data"]=[])}),_.isCartesian&&(p.hasCartesianSeries=!0),G.length&&(tt=G[G.length-1]),_._i=h(tt&&tt._i,-1)+1,_.opacity=_.options.opacity,p.orderSeries(this.insert(G)),N.dataSorting&&N.dataSorting.enabled?_.setDataSortingOptions():_.points||_.data||_.setData(N.data,!1),f(this,"afterInit")},H.prototype.is=function(p){return k[p]&&this instanceof k[p]},H.prototype.insert=function(p){var _,N=this.options.index;if(D(N)){for(_=p.length;_--;)if(N>=h(p[_].options.index,p[_]._i)){p.splice(_+1,0,this);break}-1===_&&p.unshift(this),_+=1}else p.push(this);return h(_,p.length-1)},H.prototype.bindAxes=function(){var G,p=this,N=p.options,_=p.chart;f(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(U){var tt=0;_[U].forEach(function(J){G=J.options,(N[U]===tt&&!G.isInternal||void 0!==N[U]&&N[U]===G.id||void 0===N[U]&&0===G.index)&&(p.insert(J.series),p[U]=J,J.isDirty=!0),G.isInternal||tt++}),p[U]||p.optionalAxis===U||b(18,!0,_)})}),f(this,"afterBindAxes")},H.prototype.updateParallelArrays=function(p,N){var _=p.series,G=arguments,U=D(N)?function(tt){var J="y"===tt&&_.toYData?_.toYData(p):p[tt];_[tt+"Data"][N]=J}:function(tt){Array.prototype[N].apply(_[tt+"Data"],Array.prototype.slice.call(G,2))};_.parallelArrays.forEach(U)},H.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},H.prototype.autoIncrement=function(p){var J,N=this.options,_=N.pointIntervalUnit,G=N.relativeXValue,U=this.chart.time,tt=this.xIncrement;return tt=h(tt,N.pointStart,0),this.pointInterval=J=h(this.pointInterval,N.pointInterval,1),G&&D(p)&&(J*=p),_&&(N=new U.Date(tt),"day"===_?U.set("Date",N,U.get("Date",N)+J):"month"===_?U.set("Month",N,U.get("Month",N)+J):"year"===_&&U.set("FullYear",N,U.get("FullYear",N)+J),J=N.getTime()-tt),G&&D(p)?tt+J:(this.xIncrement=tt+J,tt)},H.prototype.setDataSortingOptions=function(){var p=this.options;n(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),m(p.pointRange)||(p.pointRange=1)},H.prototype.setOptions=function(p){var N=this.chart,_=N.options,G=_.plotOptions,U=N.userOptions||{};p=R(p),N=N.styledMode;var tt={plotOptions:G,userOptions:p};f(this,"setOptions",tt);var J=tt.plotOptions[this.type],ot=U.plotOptions||{};return this.userOptions=tt.userOptions,U=R(J,G.series,U.plotOptions&&U.plotOptions[this.type],p),this.tooltipOptions=R(y.tooltip,y.plotOptions.series&&y.plotOptions.series.tooltip,y.plotOptions[this.type].tooltip,_.tooltip.userOptions,G.series&&G.series.tooltip,G[this.type].tooltip,p.tooltip),this.stickyTracking=h(p.stickyTracking,ot[this.type]&&ot[this.type].stickyTracking,ot.series&&ot.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||U.stickyTracking),null===J.marker&&delete U.marker,this.zoneAxis=U.zoneAxis,G=this.zones=(U.zones||[]).slice(),!U.negativeColor&&!U.negativeFillColor||U.zones||(_={value:U[this.zoneAxis+"Threshold"]||U.threshold||0,className:"highcharts-negative"},N||(_.color=U.negativeColor,_.fillColor=U.negativeFillColor),G.push(_)),G.length&&m(G[G.length-1].value)&&G.push(N?{}:{color:this.color,fillColor:this.fillColor}),f(this,"afterSetOptions",{options:U}),U},H.prototype.getName=function(){return h(this.options.name,"Series "+(this.index+1))},H.prototype.getCyclic=function(p,N,_){var G=this.chart,U=this.userOptions,tt=p+"Index",J=p+"Counter",ot=_?_.length:h(G.options.chart[p+"Count"],G[p+"Count"]);if(!N){var at=h(U[tt],U["_"+tt]);m(at)||(G.series.length||(G[J]=0),U["_"+tt]=at=G[J]%ot,G[J]+=1),_&&(N=_[at])}void 0!==at&&(this[tt]=at),this[p]=N},H.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||y.plotOptions[this.type].color,this.chart.options.colors)},H.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},H.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},H.prototype.findPointIndex=function(p,N){var J,ot,_=p.id,G=p.x,U=this.points,tt=this.options.dataSorting;if(_)(tt=this.chart.get(_))instanceof it&&(J=tt);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(J=function(ft){return!ft.touched&&ft.index===p.index},tt&&tt.matchByName?J=function(ft){return!ft.touched&&ft.name===p.name}:this.options.relativeXValue&&(J=function(ft){return!ft.touched&&ft.options.x===p.x}),!(J=r(U,J))))return;if(J){var at=J&&J.index;void 0!==at&&(ot=!0)}return void 0===at&&D(G)&&(at=this.xData.indexOf(G,N)),-1!==at&&void 0!==at&&this.cropped&&(at=at>=this.cropStart?at-this.cropStart:at),!ot&&D(at)&&U[at]&&U[at].touched&&(at=void 0),at},H.prototype.updateData=function(p,N){var at,ft,mt,_=this.options,G=_.dataSorting,U=this.points,tt=[],J=this.requireSorting,ot=p.length===U.length,gt=!0;if(this.xIncrement=null,p.forEach(function(ut,ht){var V=m(ut)&&this.pointClass.prototype.optionsToObject.call({series:this},ut)||{};V.id||D(V.x)?(-1===(V=this.findPointIndex(V,mt))||void 0===V?tt.push(ut):U[V]&&ut!==_.data[V]?(U[V].update(ut,!1,null,!1),U[V].touched=!0,J&&(mt=V+1)):U[V]&&(U[V].touched=!0),(!ot||ht!==V||G&&G.enabled||this.hasDerivedData)&&(at=!0)):tt.push(ut)},this),at)for(p=U.length;p--;)(ft=U[p])&&!ft.touched&&ft.remove&&ft.remove(!1,N);else!ot||G&&G.enabled?gt=!1:(p.forEach(function(ut,ht){ut!==U[ht].y&&U[ht].update&&U[ht].update(ut,!1,null,!1)}),tt.length=0);return U.forEach(function(ut){ut&&(ut.touched=!1)}),!!gt&&(tt.forEach(function(ut){this.addPoint(ut,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=P(this.xData),this.autoIncrement()),!0)},H.prototype.setData=function(p,N,_,G){var U=this,tt=U.points,J=tt&&tt.length||0,ot=U.options,at=U.chart,ft=ot.dataSorting,mt=U.xAxis,gt=ot.turboThreshold,ut=this.xData,ht=this.yData,V=U.pointArrayMap;V=V&&V.length;var st,q=ot.keys,ct=0,dt=1,yt=null;if(!at.options.chart.allowMutatingData){ot.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data;var xt=R(!0,p)}if(xt=(p=xt||p||[]).length,N=h(N,!0),ft&&ft.enabled&&(p=this.sortData(p)),at.options.chart.allowMutatingData&&!1!==G&&xt&&J&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.isSeriesBoosting&&(st=this.updateData(p,_)),!st){if(U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(St){U[St+"Data"].length=0}),gt&&xt>gt)if(yt=U.getFirstValidPoint(p),D(yt))for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else if(w(yt))if(V)if(yt.length===V)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[0],ht[_]=G.slice(1,V+1);else if(q&&(ct=0<=(ct=q.indexOf("x"))?ct:0,dt=0<=(dt=q.indexOf("y"))?dt:1),1===yt.length&&(dt=0),ct===dt)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_][dt];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[ct],ht[_]=G[dt];else b(12,!1,at);else for(_=0;_<xt;_++)void 0!==p[_]&&(U.pointClass.prototype.applyOptions.apply(G={series:U},[p[_]]),U.updateParallelArrays(G,_));for(ht&&d(ht[0])&&b(14,!0,at),U.data=[],U.options.data=U.userOptions.data=p,_=J;_--;)tt[_]&&tt[_].destroy&&tt[_].destroy();mt&&(mt.minRange=mt.userMinRange),U.isDirty=at.isDirtyBox=!0,U.isDirtyData=!!tt,_=!1}"point"===ot.legendType&&(this.processData(),this.generatePoints()),N&&at.redraw(_)},H.prototype.sortData=function(p){var N=this,_=N.options.dataSorting.sortKey||"y",G=function(U,tt){return m(tt)&&U.pointClass.prototype.optionsToObject.call({series:U},tt)||{}};return p.forEach(function(U,tt){p[tt]=G(N,U),p[tt].index=tt},this),p.concat().sort(function(U,tt){return U=T(_,U),(tt=T(_,tt))<U?-1:tt>U?1:0}).forEach(function(U,tt){U.x=tt},this),N.linkedSeries&&N.linkedSeries.forEach(function(U){var tt=U.options,J=tt.data;tt.dataSorting&&tt.dataSorting.enabled||!J||(J.forEach(function(ot,at){J[at]=G(U,ot),p[at]&&(J[at].x=p[at].x,J[at].index=at)}),U.setData(J,!1))}),p},H.prototype.getProcessedData=function(p){var N=this.xAxis,_=this.options,G=_.cropThreshold,U=p||this.getExtremesFromAll||_.getExtremesFromAll,tt=this.isCartesian;p=N&&N.val2lin,_=!(!N||!N.logarithmic);var J=0,ot=this.xData,at=this.yData,ft=this.requireSorting,mt=!1,gt=ot.length;if(N){var ut=(mt=N.getExtremes()).min,ht=mt.max;mt=!(!N.categories||N.names.length)}if(tt&&this.sorted&&!U&&(!G||gt>G||this.forceCrop))if(ot[gt-1]<ut||ot[0]>ht)ot=[],at=[];else if(this.yData&&(ot[0]<ut||ot[gt-1]>ht)){var V=this.cropData(this.xData,this.yData,ut,ht);ot=V.xData,at=V.yData,J=V.start,V=!0}for(G=ot.length||1;--G;)if(0<(N=_?p(ot[G])-p(ot[G-1]):ot[G]-ot[G-1])&&(void 0===q||N<q))var q=N;else 0>N&&ft&&!mt&&(b(15,!1,this.chart),ft=!1);return{xData:ot,yData:at,cropped:V,cropStart:J,closestPointRange:q}},H.prototype.processData=function(p){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!p)return!1;p=this.getProcessedData(),this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,f(this,"afterProcessData")},H.prototype.cropData=function(p,N,_,G,U){var J,tt=p.length,ot=0,at=tt;for(U=h(U,this.cropShoulder),J=0;J<tt;J++)if(p[J]>=_){ot=Math.max(0,J-U);break}for(_=J;_<tt;_++)if(p[_]>G){at=_+U;break}return{xData:p.slice(ot,at),yData:N.slice(ot,at),start:ot,end:at}},H.prototype.generatePoints=function(){var p=this.options,N=this.processedData||p.data,_=this.processedXData,G=this.processedYData,U=this.pointClass,tt=_.length,J=this.cropStart||0,ot=this.hasGroupedData,at=p.keys,ft=[];p=p.dataGrouping&&p.dataGrouping.groupAll?J:0;var mt,gt,ut=this.data;if(!ut&&!ot){var ht=[];ht.length=N.length,ut=this.data=ht}for(at&&ot&&(this.options.keys=!1),gt=0;gt<tt;gt++){if(ht=J+gt,ot){var V=(new U).init(this,[_[gt]].concat(j(G[gt])));V.dataGroup=this.groupMap[p+gt],V.dataGroup.options&&(V.options=V.dataGroup.options,n(V,V.dataGroup.options),delete V.dataLabels)}else(V=ut[ht])||void 0===N[ht]||(ut[ht]=V=(new U).init(this,N[ht],_[gt]));V&&(V.index=ot?p+gt:ht,ft[gt]=V)}if(this.options.keys=at,ut&&(tt!==(mt=ut.length)||ot))for(gt=0;gt<mt;gt++)gt!==J||ot||(gt+=tt),ut[gt]&&(ut[gt].destroyElements(),ut[gt].plotX=void 0);this.data=ut,this.points=ft,f(this,"afterGeneratePoints")},H.prototype.getXExtremes=function(p){return{min:g(p),max:P(p)}},H.prototype.getExtremes=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.processedXData||this.xData,tt=[],J=this.requireSorting?this.cropShoulder:0;G=!!G&&G.positiveValuesOnly;var ot,at=0,ft=0,mt=0,gt=(p=p||this.stackedYData||this.processedYData||[]).length;if(_){var ut=_.getExtremes();at=ut.min,ft=ut.max}for(ot=0;ot<gt;ot++){var ht=U[ot],V=(D(ut=p[ot])||w(ut))&&(ut.length||0<ut||!G);if(ht=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!_||(U[ot+J]||ht)>=at&&(U[ot-J]||ht)<=ft,V&&ht)if(V=ut.length)for(;V--;)D(ut[V])&&(tt[mt++]=ut[V]);else tt[mt++]=ut}return p={activeYData:tt,dataMin:g(tt),dataMax:P(tt)},f(this,"afterGetExtremes",{dataExtremes:p}),p},H.prototype.applyExtremes=function(){var p=this.getExtremes();return this.dataMin=p.dataMin,this.dataMax=p.dataMax,p},H.prototype.getFirstValidPoint=function(p){for(var N=p.length,_=0,G=null;null===G&&_<N;)G=p[_],_++;return G},H.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var ht,V,p=this.options,N=p.stacking,_=this.xAxis,G=_.categories,U=this.enabledDataSorting,tt=this.yAxis,J=this.points,ot=J.length,at=this.pointPlacementToXValue(),ft=!!at,mt=p.threshold,gt=p.startFromThreshold?mt:0,ut=this.zoneAxis||"y",q=Number.MAX_VALUE;for(ht=0;ht<ot;ht++){var st=J[ht],ct=st.x,dt=void 0,yt=void 0,xt=st.y,St=st.low,Et=N&&tt.stacking&&tt.stacking.stacks[(this.negStacks&&xt<(gt?0:mt)?"-":"")+this.stackKey];if((tt.positiveValuesOnly&&!tt.validatePositiveValue(xt)||_.positiveValuesOnly&&!_.validatePositiveValue(ct))&&(st.isNull=!0),st.plotX=V=o(c(_.translate(ct,0,0,0,1,at,"flags"===this.type),-1e5,1e5)),N&&this.visible&&Et&&Et[ct]){var kt=this.getStackIndicator(kt,ct,this.index);st.isNull||(yt=(dt=Et[ct]).points[kt.key])}if(w(yt)&&(xt=yt[1],(St=yt[0])===gt&&kt.key===Et[ct].base&&(St=h(D(mt)&&mt,tt.min)),tt.positiveValuesOnly&&0>=St&&(St=null),st.total=st.stackTotal=dt.total,st.percentage=dt.total&&st.y/dt.total*100,st.stackY=xt,this.irregularWidths||dt.setOffset(this.pointXOffset||0,this.barW||0)),st.yBottom=m(St)?c(tt.translate(St,0,1,0,1),-1e5,1e5):null,this.dataModify&&(xt=this.dataModify.modifyValue(xt,ht)),st.plotY=void 0,D(xt)&&void 0!==(dt=tt.translate(xt,!1,!0,!1,!0))&&(st.plotY=c(dt,-1e5,1e5)),st.isInside=this.isPointInside(st),st.clientX=ft?o(_.translate(ct,0,0,0,1,at)):V,st.negative=st[ut]<(p[ut+"Threshold"]||mt||0),st.category=h(G&&G[st.x],st.x),!st.isNull&&!1!==st.visible){void 0!==Ct&&(q=Math.min(q,Math.abs(V-Ct)));var Ct=V}st.zone=this.zones.length?st.getZone():void 0,!st.graphic&&this.group&&U&&(st.isNew=!0)}this.closestPointRangePx=q,f(this,"afterTranslate")},H.prototype.getValidPoints=function(p,N,_){var G=this.chart;return(p||this.points||[]).filter(function(U){return!(N&&!G.isInsidePlot(U.plotX,U.plotY,{inverted:G.inverted}))&&!1!==U.visible&&(_||!U.isNull)})},H.prototype.getClipBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis,G=R(p.clipBox);return N&&N.len!==p.plotSizeX&&(G.width=N.len),_&&_.len!==p.plotSizeY&&(G.height=_.len),G},H.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)},H.prototype.setClip=function(){var p=this.chart,N=this.group,_=this.markerGroup,G=p.sharedClips;p=p.renderer;var U=this.getClipBox(),tt=this.getSharedClipKey(),J=G[tt];J?J.animate(U):G[tt]=J=p.clipRect(U),N&&N.clip(!1===this.options.clip?void 0:J),_&&_.clip()},H.prototype.animate=function(p){var N=this.chart,_=this.group,G=this.markerGroup,U=N.inverted,tt=L(this.options.animation),J=[this.getSharedClipKey(),tt.duration,tt.easing,tt.defer].join(),ot=N.sharedClips[J],at=N.sharedClips[J+"m"];if(p&&_)tt=this.getClipBox(),ot?ot.attr("height",tt.height):(tt.width=0,U&&(tt.x=N.plotHeight),ot=N.renderer.clipRect(tt),N.sharedClips[J]=ot,at=N.renderer.clipRect({x:U?(N.plotSizeX||0)+99:-99,y:U?-N.plotLeft:-N.plotTop,width:99,height:U?N.chartWidth:N.chartHeight}),N.sharedClips[J+"m"]=at),_.clip(ot),G&&G.clip(at);else if(ot&&!ot.hasClass("highcharts-animating")){N=this.getClipBox();var ft=tt.step;G&&G.element.childNodes.length&&(tt.step=function(mt,gt){ft&&ft.apply(gt,arguments),at&&at.element&&at.attr(gt.prop,"width"===gt.prop?mt+99:mt)}),ot.addClass("highcharts-animating").animate(N,tt)}},H.prototype.afterAnimate=function(){var p=this;this.setClip(),a(this.chart.sharedClips,function(N,_,G){N&&!p.chart.container.querySelector('[clip-path="url(#'+N.id+')"]')&&(N.destroy(),delete G[_])}),this.finishedAnimating=!0,f(this,"afterAnimate")},H.prototype.drawPoints=function(){var J,ot,p=this.points,N=this.chart,_=this.options.marker,G=this[this.specialGroup]||this.markerGroup,U=this.xAxis,tt=h(_.enabled,!(U&&!U.isRadial)||null,this.closestPointRangePx>=_.enabledThreshold*_.radius);if(!1!==_.enabled||this._hasPointMarkers)for(J=0;J<p.length;J++){var at=p[J],ft=(ot=at.graphic)?"animate":"attr",mt=at.marker||{},gt=!!at.marker;if((tt&&void 0===mt.enabled||mt.enabled)&&!at.isNull&&!1!==at.visible){var ut=h(mt.symbol,this.symbol,"rect"),ht=this.markerAttribs(at,at.selected&&"select");this.enabledDataSorting&&(at.startXPos=U.reversed?-(ht.width||0):U.width);var V=!1!==at.isInside;ot?ot[V?"show":"hide"](V).animate(ht):V&&(0<(ht.width||0)||at.hasImage)&&(at.graphic=ot=N.renderer.symbol(ut,ht.x,ht.y,ht.width,ht.height,gt?mt:_).add(G),this.enabledDataSorting&&N.hasRendered&&(ot.attr({x:at.startXPos}),ft="animate")),ot&&"animate"===ft&&ot[V?"show":"hide"](V).animate(ht),ot&&!N.styledMode&&ot[ft](this.pointAttribs(at,at.selected&&"select")),ot&&ot.addClass(at.getClassName(),!0)}else ot&&(at.graphic=ot.destroy())}},H.prototype.markerAttribs=function(p,N){var _=this.options,G=_.marker,U=p.marker||{},tt=U.symbol||G.symbol,J=h(U.radius,G&&G.radius);return N&&(G=G.states[N],J=h((N=U.states&&U.states[N])&&N.radius,G&&G.radius,J&&J+(G&&G.radiusPlus||0))),p.hasImage=tt&&0===tt.indexOf("url"),p.hasImage&&(J=0),p=D(J)?{x:_.crisp?Math.floor(p.plotX-J):p.plotX-J,y:p.plotY-J}:{},J&&(p.width=p.height=2*J),p},H.prototype.pointAttribs=function(p,N){var _=this.options.marker,G=p&&p.options,U=G&&G.marker||{},tt=G&&G.color,J=p&&p.color,ot=p&&p.zone&&p.zone.color,at=this.color;return p=h(U.lineWidth,_.lineWidth),G=1,at=tt||ot||J||at,tt=U.fillColor||_.fillColor||at,J=U.lineColor||_.lineColor||at,_=_.states[N=N||"normal"]||{},p=h((N=U.states&&U.states[N]||{}).lineWidth,_.lineWidth,p+h(N.lineWidthPlus,_.lineWidthPlus,0)),{stroke:J=N.lineColor||_.lineColor||J,"stroke-width":p,fill:tt=N.fillColor||_.fillColor||tt,opacity:G=h(N.opacity,_.opacity,G)}},H.prototype.destroy=function(p){var J,ot,at,N=this,_=N.chart,G=/AppleWebKit\/533/.test(v.navigator.userAgent),U=N.data||[];for(f(N,"destroy",{keepEventsForUpdate:p}),this.removeEvents(p),(N.axisTypes||[]).forEach(function(ft){(at=N[ft])&&at.series&&(l(at.series,N),at.isDirty=at.forceRedraw=!0)}),N.legendItem&&N.chart.legend.destroyItem(N),J=U.length;J--;)(ot=U[J])&&ot.destroy&&ot.destroy();N.clips&&N.clips.forEach(function(ft){return ft.destroy()}),I.clearTimeout(N.animationTimeout),a(N,function(ft,mt){ft instanceof F&&!ft.survive&&ft[G&&"group"===mt?"hide":"destroy"]()}),_.hoverSeries===N&&(_.hoverSeries=void 0),l(_.series,N),_.orderSeries(),a(N,function(ft,mt){p&&"hcEvents"===mt||delete N[mt]})},H.prototype.applyZones=function(){var mt,gt,ut,ht,V,q,st,ct,p=this,N=this.chart,_=N.renderer,G=this.zones,U=this.clips||[],tt=this.graph,J=this.area,ot=Math.max(N.chartWidth,N.chartHeight),at=this[(this.zoneAxis||"y")+"Axis"],ft=N.inverted,dt=!1;if(G.length&&(tt||J)&&at&&void 0!==at.min){var yt=at.reversed,xt=at.horiz;tt&&!this.showLine&&tt.hide(),J&&J.hide();var St=at.getExtremes();G.forEach(function(Et,kt){mt=yt?xt?N.plotWidth:0:xt?0:at.toPixels(St.min)||0,mt=c(h(gt,mt),0,ot),gt=c(Math.round(at.toPixels(h(Et.value,St.max),!0)||0),0,ot),dt&&(mt=gt=at.toPixels(St.max)),ht=Math.abs(mt-gt),V=Math.min(mt,gt),q=Math.max(mt,gt),at.isXAxis?(ut={x:ft?q:V,y:0,width:ht,height:ot},xt||(ut.x=N.plotHeight-ut.x)):(ut={x:0,y:ft?q:V,width:ot,height:ht},xt&&(ut.y=N.plotWidth-ut.y)),ft&&_.isVML&&(ut=at.isXAxis?{x:0,y:yt?V:q,height:ut.width,width:N.chartWidth}:{x:ut.y-N.plotLeft-N.spacingBox.x,y:0,width:ut.height,height:N.chartHeight}),U[kt]?U[kt].animate(ut):U[kt]=_.clipRect(ut),st=p["zone-area-"+kt],ct=p["zone-graph-"+kt],tt&&ct&&ct.clip(U[kt]),J&&st&&st.clip(U[kt]),dt=Et.value>St.max,p.resetZones&&0===gt&&(gt=void 0)}),this.clips=U}else p.visible&&(tt&&tt.show(),J&&J.show())},H.prototype.invertGroups=function(p){function N(){["group","markerGroup"].forEach(function(U){_[U]&&(G.renderer.isVML&&_[U].attr({width:_.yAxis.len,height:_.xAxis.len}),_[U].width=_.yAxis.len,_[U].height=_.xAxis.len,_[U].invert(!_.isRadialSeries&&p))})}var _=this,G=_.chart;_.xAxis&&(_.eventsToUnbind.push(O(G,"resize",N)),N(),_.invertGroups=N)},H.prototype.plotGroup=function(p,N,_,G,U){var tt=this[p],J=!tt;return _={visibility:_,zIndex:G||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(_.opacity=this.opacity),J&&(this[p]=tt=this.chart.renderer.g().add(U)),tt.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(m(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(tt.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),tt.attr(_)[J?"attr":"animate"](this.getPlotBox()),tt},H.prototype.getPlotBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis;return p.inverted&&(N=_,_=this.xAxis),{translateX:N?N.left:p.plotLeft,translateY:_?_.top:p.plotTop,scaleX:1,scaleY:1}},H.prototype.removeEvents=function(p){p||A(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(N){N()}),this.eventsToUnbind.length=0)},H.prototype.render=function(){var p=this,N=p.chart,_=p.options,G=L(_.animation),U=p.visible?"inherit":"hidden",tt=_.zIndex,J=p.hasRendered,ot=N.seriesGroup,at=N.inverted;N=!p.finishedAnimating&&N.renderer.isSVG?G.duration:0,f(this,"render");var ft=p.plotGroup("group","series",U,tt,ot);p.markerGroup=p.plotGroup("markerGroup","markers",U,tt,ot),!1!==_.clip&&p.setClip(),p.animate&&N&&p.animate(!0),ft.inverted=!!h(p.invertible,p.isCartesian)&&at,p.drawGraph&&(p.drawGraph(),p.applyZones()),p.visible&&p.drawPoints(),p.drawDataLabels&&p.drawDataLabels(),p.redrawPoints&&p.redrawPoints(),p.drawTracker&&!1!==p.options.enableMouseTracking&&p.drawTracker(),p.invertGroups(at),p.animate&&N&&p.animate(),J||(N&&G.defer&&(N+=G.defer),p.animationTimeout=z(function(){p.afterAnimate()},N||0)),p.isDirty=!1,p.hasRendered=!0,f(p,"afterRender")},H.prototype.redraw=function(){var p=this.chart,N=this.isDirty||this.isDirtyData,_=this.group,G=this.xAxis,U=this.yAxis;_&&(p.inverted&&_.attr({width:p.plotWidth,height:p.plotHeight}),_.animate({translateX:h(G&&G.left,p.plotLeft),translateY:h(U&&U.top,p.plotTop)})),this.translate(),this.render(),N&&delete this.kdTree},H.prototype.searchPoint=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.chart.inverted;return this.searchKDTree({clientX:U?_.len-p.chartY+_.pos:p.chartX-_.pos,plotY:U?G.len-p.chartX+G.pos:p.chartY-G.pos},N,p)},H.prototype.buildKDTree=function(p){function N(U,tt,J){var ot=U&&U.length;if(ot){var at=_.kdAxisArray[tt%J];return U.sort(function(ft,mt){return ft[at]-mt[at]}),{point:U[ot=Math.floor(ot/2)],left:N(U.slice(0,ot),tt+1,J),right:N(U.slice(ot+1),tt+1,J)}}}this.buildingKdTree=!0;var _=this,G=-1<_.options.findNearestPointBy.indexOf("y")?2:1;delete _.kdTree,z(function(){_.kdTree=N(_.getValidPoints(null,!_.directTouch),G,G),_.buildingKdTree=!1},_.options.kdNow||p&&"touchstart"===p.type?0:1)},H.prototype.searchKDTree=function(p,N,_){var U=this,tt=this.kdAxisArray[0],J=this.kdAxisArray[1],ot=N?"distX":"dist";if(N=-1<U.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(_),this.kdTree)return function G(at,ft,mt,gt){var ut=ft.point,ht=U.kdAxisArray[mt%gt],V=ut,q=m(at[tt])&&m(ut[tt])?Math.pow(at[tt]-ut[tt],2):null,st=m(at[J])&&m(ut[J])?Math.pow(at[J]-ut[J],2):null;return ut.dist=m(st=(q||0)+(st||0))?Math.sqrt(st):Number.MAX_VALUE,ut.distX=m(q)?Math.sqrt(q):Number.MAX_VALUE,q=0>(ht=at[ht]-ut[ht])?"right":"left",ft[st=0>ht?"left":"right"]&&(V=(st=G(at,ft[st],mt+1,gt))[ot]<V[ot]?st:ut),ft[q]&&Math.sqrt(ht*ht)<V[ot]&&(V=(at=G(at,ft[q],mt+1,gt))[ot]<V[ot]?at:V),V}(p,this.kdTree,N,N)},H.prototype.pointPlacementToXValue=function(){var p=this.options,N=p.pointRange,_=this.xAxis;return"between"===(p=p.pointPlacement)&&(p=_.reversed?-.5:.5),D(p)?p*(N||_.pointRange):0},H.prototype.isPointInside=function(p){var N=this.chart,_=this.xAxis,G=this.yAxis;return void 0!==p.plotY&&void 0!==p.plotX&&0<=p.plotY&&p.plotY<=(G?G.len:N.plotHeight)&&0<=p.plotX&&p.plotX<=(_?_.len:N.plotWidth)},H.prototype.drawTracker=function(){var p=this,N=p.options,_=N.trackByArea,G=[].concat(_?p.areaPath:p.graphPath),U=p.chart,tt=U.pointer,J=U.renderer,ot=U.options.tooltip.snap,at=p.tracker,ft=function(gt){U.hoverSeries!==p&&p.onMouseOver()},mt="rgba(192,192,192,"+(E?1e-4:.002)+")";at?at.attr({d:G}):p.graph&&(p.tracker=J.path(G).attr({visibility:p.visible?"inherit":"hidden",zIndex:2}).addClass(_?"highcharts-tracker-area":"highcharts-tracker-line").add(p.group),U.styledMode||p.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:mt,fill:_?mt:"none","stroke-width":p.graph.strokeWidth()+(_?0:2*ot)}),[p.tracker,p.markerGroup,p.dataLabelsGroup].forEach(function(gt){gt&&(gt.addClass("highcharts-tracker").on("mouseover",ft).on("mouseout",function(ut){tt.onTrackerMouseOut(ut)}),N.cursor&&!U.styledMode&&gt.css({cursor:N.cursor}),M)&&gt.on("touchstart",ft)})),f(this,"afterDrawTracker")},H.prototype.addPoint=function(p,N,_,G,U){var tt=this.options,J=this.data,ot=this.chart,at=this.xAxis;at=at&&at.hasNames&&at.names;var gt,ft=tt.data,mt=this.xData;N=h(N,!0);var ut={series:this};this.pointClass.prototype.applyOptions.apply(ut,[p]);var ht=ut.x,V=mt.length;if(this.requireSorting&&ht<mt[V-1])for(gt=!0;V&&mt[V-1]>ht;)V--;this.updateParallelArrays(ut,"splice",V,0,0),this.updateParallelArrays(ut,V),at&&ut.name&&(at[ht]=ut.name),ft.splice(V,0,p),(gt||this.processedData)&&(this.data.splice(V,0,null),this.processData()),"point"===tt.legendType&&this.generatePoints(),_&&(J[0]&&J[0].remove?J[0].remove(!1):(J.shift(),this.updateParallelArrays(ut,"shift"),ft.shift())),!1!==U&&f(this,"addPoint",{point:ut}),this.isDirtyData=this.isDirty=!0,N&&ot.redraw(G)},H.prototype.removePoint=function(p,N,_){var G=this,U=G.data,tt=U[p],J=G.points,ot=G.chart,at=function(){J&&J.length===U.length&&J.splice(p,1),U.splice(p,1),G.options.data.splice(p,1),G.updateParallelArrays(tt||{series:G},"splice",p,1),tt&&tt.destroy(),G.isDirty=!0,G.isDirtyData=!0,N&&ot.redraw()};C(_,ot),N=h(N,!0),tt?tt.firePointEvent("remove",null,at):at()},H.prototype.remove=function(p,N,_,G){function U(){tt.destroy(G),J.isDirtyLegend=J.isDirtyBox=!0,J.linkSeries(),h(p,!0)&&J.redraw(N)}var tt=this,J=tt.chart;!1!==_?f(tt,"remove",null,U):U()},H.prototype.update=function(p,N){p=u(p,this.userOptions),f(this,"update",{options:p});var mt,_=this,G=_.chart,U=_.userOptions,tt=_.initialType||_.type,J=G.options.plotOptions,ot=k[tt].prototype,at=_.finishedAnimating&&{animation:!1},ft={},gt=["eventOptions","navigatorSeries","baseSeries"],ut=p.type||U.type||G.options.chart.type,ht=!(this.hasDerivedData||ut&&ut!==this.type||void 0!==p.pointStart||void 0!==p.pointInterval||void 0!==p.relativeXValue||p.joinBy||p.mapData||_.hasOptionChanged("dataGrouping")||_.hasOptionChanged("pointStart")||_.hasOptionChanged("pointInterval")||_.hasOptionChanged("pointIntervalUnit")||_.hasOptionChanged("keys"));if(ut=ut||tt,ht&&(gt.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==p.visible&&gt.push("area","graph"),_.parallelArrays.forEach(function(q){gt.push(q+"Data")}),p.data&&(p.dataSorting&&n(_.options.dataSorting,p.dataSorting),this.setData(p.data,!1))),p=R(U,at,{index:void 0===U.index?_.index:U.index,pointStart:h(J&&J.series&&J.series.pointStart,U.pointStart,_.xData[0])},!ht&&{data:_.options.data},p),ht&&p.data&&(p.data=_.options.data),(gt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(gt)).forEach(function(q){gt[q]=_[q],delete _[q]}),J=!1,k[ut]){if(J=ut!==_.type,_.remove(!1,!1,!1,!0),J)if(Object.setPrototypeOf)Object.setPrototypeOf(_,k[ut].prototype);else{for(mt in at=Object.hasOwnProperty.call(_,"hcEvents")&&_.hcEvents,ot)_[mt]=void 0;n(_,k[ut].prototype),at?_.hcEvents=at:delete _.hcEvents}}else b(17,!0,G,{missingModuleFor:ut});if(gt.forEach(function(q){_[q]=gt[q]}),_.init(G,p),ht&&this.points){var V=_.options;!1===V.visible?(ft.graphic=1,ft.dataLabel=1):_._hasPointLabels||(ot=V.dataLabels,!(p=V.marker)||!1!==p.enabled&&(U.marker&&U.marker.symbol)===p.symbol||(ft.graphic=1),ot&&!1===ot.enabled&&(ft.dataLabel=1)),this.points.forEach(function(q){q&&q.series&&(q.resolveColor(),Object.keys(ft).length&&q.destroyElements(ft),!1===V.showInLegend&&q.legendItem&&G.legend.destroyItem(q))},this)}_.initialType=tt,G.linkSeries(),J&&_.linkedSeries.length&&(_.isDirtyData=!0),f(this,"afterUpdate"),h(N,!0)&&G.redraw(!!ht&&void 0)},H.prototype.setName=function(p){this.name=this.options.name=this.userOptions.name=p,this.chart.isDirtyLegend=!0},H.prototype.hasOptionChanged=function(p){var N=this.options[p],_=this.chart.options.plotOptions,G=this.userOptions[p];return G?N!==G:N!==h(_&&_[this.type]&&_[this.type][p],_&&_.series&&_.series[p],N)},H.prototype.onMouseOver=function(){var p=this.chart,N=p.hoverSeries;p.pointer.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&f(this,"mouseOver"),this.setState("hover"),p.hoverSeries=this},H.prototype.onMouseOut=function(){var p=this.options,N=this.chart,_=N.tooltip,G=N.hoverPoint;N.hoverSeries=null,G&&G.onMouseOut(),this&&p.events.mouseOut&&f(this,"mouseOut"),!_||this.stickyTracking||_.shared&&!this.noSharedTooltip||_.hide(),N.series.forEach(function(U){U.setState("",!0)})},H.prototype.setState=function(p,N){var _=this,G=_.options,U=_.graph,tt=G.inactiveOtherPoints,J=G.states,ot=h(J[p||"normal"]&&J[p||"normal"].animation,_.chart.options.chart.animation),at=G.lineWidth,ft=0,mt=G.opacity;if(_.state!==(p=p||"")&&([_.group,_.markerGroup,_.dataLabelsGroup].forEach(function(gt){gt&&(_.state&&gt.removeClass("highcharts-series-"+_.state),p&&gt.addClass("highcharts-series-"+p))}),_.state=p,!_.chart.styledMode)){if(J[p]&&!1===J[p].enabled)return;if(p&&(at=J[p].lineWidth||at+(J[p].lineWidthPlus||0),mt=h(J[p].opacity,mt)),U&&!U.dashstyle)for(U.animate(G={"stroke-width":at},ot);_["zone-graph-"+ft];)_["zone-graph-"+ft].animate(G,ot),ft+=1;tt||[_.group,_.markerGroup,_.dataLabelsGroup,_.labelBySeries].forEach(function(gt){gt&&gt.animate({opacity:mt},ot)})}N&&tt&&_.points&&_.setAllPointsToState(p||void 0)},H.prototype.setAllPointsToState=function(p){this.points.forEach(function(N){N.setState&&N.setState(p)})},H.prototype.setVisible=function(p,N){var _=this,G=_.chart,U=_.legendItem,tt=G.options.chart.ignoreHiddenSeries,ot=(_.visible=p=_.options.visible=_.userOptions.visible=void 0===p?!_.visible:p)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(at){_[at]&&_[at][ot]()}),(G.hoverSeries===_||(G.hoverPoint&&G.hoverPoint.series)===_)&&_.onMouseOut(),U&&G.legend.colorizeItem(_,p),_.isDirty=!0,_.options.stacking&&G.series.forEach(function(at){at.options.stacking&&at.visible&&(at.isDirty=!0)}),_.linkedSeries.forEach(function(at){at.setVisible(p,!1)}),tt&&(G.isDirtyBox=!0),f(_,ot),!1!==N&&G.redraw()},H.prototype.show=function(){this.setVisible(!0)},H.prototype.hide=function(){this.setVisible(!1)},H.prototype.select=function(p){this.selected=p=this.options.selected=void 0===p?!this.selected:p,this.checkbox&&(this.checkbox.checked=p),f(this,p?"select":"unselect")},H.prototype.shouldShowTooltip=function(p,N,_){return void 0===_&&(_={}),_.series=this,_.visiblePlotOnly=!0,this.chart.isInsidePlot(p,N,_)},H.defaultOptions=K,H}(),n(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:Q.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:it,requireSorting:!0,sorted:!0}),W.series=X,X}),Mt($,"Extensions/ScrollablePlotArea.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.stop,W=it.addEvent,F=it.createElement,I=it.merge,L=it.pick;W(et,"afterSetChartSize",function(C){var y=this.options.chart.scrollablePlotArea,S=y&&y.minWidth;if(y=y&&y.minHeight,!this.renderer.forExport){if(S){if(this.scrollablePixelsX=S=Math.max(0,S-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.width=this.plotWidth+=S,this.inverted?this.clipBox.height+=S:this.clipBox.width+=S;var M={1:{name:"right",value:S}}}}else y&&(this.scrollablePixelsY=S=Math.max(0,y-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.height=this.plotHeight+=S,this.inverted?this.clipBox.width+=S:this.clipBox.height+=S,M={2:{name:"bottom",value:S}});M&&!C.skipAxes&&this.axes.forEach(function(E){M[E.side]?E.getPlotLinePath=function(){var v=M[E.side].name,k=this[v];this[v]=k-M[E.side].value;var O=Y.prototype.getPlotLinePath.apply(this,arguments);return this[v]=k,O}:(E.setAxisSize(),E.setAxisTranslation())})}}),W(et,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),et.prototype.setUpScrolling=function(){var C=this,y={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(y.overflowX="auto"),this.scrollablePixelsY&&(y.overflowY="auto"),this.scrollingParent=F("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=F("div",{className:"highcharts-scrolling"},y,this.scrollingParent),W(this.scrollingContainer,"scroll",function(){C.pointer&&delete C.pointer.chartPosition}),this.innerContainer=F("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},et.prototype.moveFixedElements=function(){var M,C=this.container,y=this.fixedRenderer,S=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?M=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?M=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(M=".highcharts-yaxis"),M&&S.push(M+":not(.highcharts-radial-axis)",M+"-labels:not(.highcharts-radial-axis-labels)"),S.forEach(function(E){[].forEach.call(C.querySelectorAll(E),function(v){(v.namespaceURI===y.SVG_NS?y.box:y.box.parentNode).appendChild(v),v.style.pointerEvents="auto"})})},et.prototype.applyFixed=function(){var C=!this.fixedDiv,y=this.options.chart,S=y.scrollablePlotArea,M=Q.getRendererType();C?(this.fixedDiv=F("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(y.style&&y.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new M(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=y.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":L(S.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),W(this,"afterShowResetZoom",this.moveFixedElements),W(this,"afterApplyDrilldown",this.moveFixedElements),W(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||C)&&(this.scrollableDirty=!1,this.moveFixedElements()),y=this.chartWidth+(this.scrollablePixelsX||0),M=this.chartHeight+(this.scrollablePixelsY||0),K(this.container),this.container.style.width=y+"px",this.container.style.height=M+"px",this.renderer.boxWrapper.attr({width:y,height:M,viewBox:[0,0,y,M].join(" ")}),this.chartBackground.attr({width:y,height:M}),this.scrollingContainer.style.height=this.chartHeight+"px",C&&(S.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*S.scrollPositionX),S.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*S.scrollPositionY)),C=this.plotTop-(M=this.axisOffset)[0]-1,S=this.plotLeft-M[3]-1,y=this.plotTop+this.plotHeight+M[2]+1,M=this.plotLeft+this.plotWidth+M[1]+1;var E=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),v=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);C=this.scrollablePixelsX?[["M",0,C],["L",this.plotLeft-1,C],["L",this.plotLeft-1,y],["L",0,y],["Z"],["M",E,C],["L",this.chartWidth,C],["L",this.chartWidth,y],["L",E,y],["Z"]]:this.scrollablePixelsY?[["M",S,0],["L",S,this.plotTop-1],["L",M,this.plotTop-1],["L",M,0],["Z"],["M",S,v],["L",S,this.chartHeight],["L",M,this.chartHeight],["L",M,v],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:C})},W(Y,"afterInit",function(){this.chart.scrollableDirty=!0}),W(rt,"show",function(){this.chart.scrollableDirty=!0})}),Mt($,"Core/Axis/StackingAxis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Utilities.js"]],function(X,Y,et){var I,rt=X.getDeferredAnimation,Q=et.addEvent,it=et.destroyObjectProperties,K=et.fireEvent,W=et.isNumber,F=et.objectEach;return function(L){function C(){var E=this.stacking;if(E){var v=E.stacks;F(v,function(k,O){it(k),v[O]=null}),E&&E.stackTotalGroup&&E.stackTotalGroup.destroy()}}function y(){this.stacking||(this.stacking=new M(this))}var S=[];L.compose=function(E){return-1===S.indexOf(E)&&(S.push(E),Q(E,"init",y),Q(E,"destroy",C)),E};var M=function(){function E(v){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=v}return E.prototype.buildStacks=function(){var g,v=this.axis,k=v.series,O=v.options.reversedStacks,P=k.length;if(!v.isXAxis){for(this.usePercentage=!1,g=P;g--;){var c=k[O?g:P-g-1];c.setStackedPoints(),c.setGroupedPoints()}for(g=0;g<P;g++)k[g].modifyStacks();K(v,"afterBuildStacks")}},E.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var v=this.stacks=this.oldStacks;F(v,function(k){F(k,function(O){O.cumulative=O.total})})}},E.prototype.resetStacks=function(){var v=this;v.axis.isXAxis||F(v.stacks,function(O){F(O,function(P,g){W(P.touched)&&P.touched<v.stacksTouched?(P.destroy(),delete O[g]):(P.total=null,P.cumulative=null)})})},E.prototype.renderStackTotals=function(){var v=this.axis,k=v.chart,O=k.renderer,P=this.stacks;v=rt(k,v.options.stackLabels&&v.options.stackLabels.animation||!1);var g=this.stackTotalGroup=this.stackTotalGroup||O.g("stack-labels").attr({zIndex:6,opacity:0}).add();g.translate(k.plotLeft,k.plotTop),F(P,function(c){F(c,function(u){u.render(g)})}),g.animate({opacity:1},v)},E}();L.Additions=M}(I||(I={})),I}),Mt($,"Extensions/Stacking.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Axis/StackingAxis.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var W=et.format,F=K.correctFloat,I=K.defined,L=K.destroyObjectProperties,C=K.isArray,y=K.isNumber,S=K.objectEach,M=K.pick,E=function(){function v(k,O,P,g,c){var u=k.chart.inverted;this.axis=k,this.isNegative=P,this.options=O=O||{},this.x=g,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=c,this.rightCliff=this.leftCliff=0,this.alignOptions={align:O.align||(u?P?"left":"right":"center"),verticalAlign:O.verticalAlign||(u?"middle":P?"bottom":"top"),y:O.y,x:O.x},this.textAlign=O.textAlign||(u?P?"right":"left":"center")}return v.prototype.destroy=function(){L(this,this.axis)},v.prototype.render=function(k){var O=this.axis.chart,P=this.options,g=P.format;g=g?W(g,this,O):P.formatter.call(this),this.label?this.label.attr({text:g,visibility:"hidden"}):(this.label=O.renderer.label(g,null,null,P.shape,null,null,P.useHTML,!1,"stack-labels"),g={r:P.borderRadius||0,text:g,rotation:P.rotation,padding:M(P.padding,5),visibility:"hidden"},O.styledMode||(g.fill=P.backgroundColor,g.stroke=P.borderColor,g["stroke-width"]=P.borderWidth,this.label.css(P.style)),this.label.attr(g),this.label.added||this.label.add(k)),this.label.labelrank=O.plotSizeY},v.prototype.setOffset=function(k,O,P,g,c){var u=this.axis,o=u.chart;g=u.translate(u.stacking.usePercentage?100:g||this.total,0,0,0,1),P=u.translate(P||0),P=I(g)&&Math.abs(g-P),k=M(c,o.xAxis[0].translate(this.x))+k,u=I(g)&&this.getStackBox(o,this,k,g,O,P,u),O=this.label,P=this.isNegative,k="justify"===M(this.options.overflow,"justify");var m=this.textAlign;O&&u&&(c=O.getBBox(),g=O.padding,m="left"===m?o.inverted?-g:g:"right"===m?c.width:o.inverted&&"center"===m?c.width/2:o.inverted?P?c.width+g:-g:c.width/2,P=o.inverted?c.height/2:P?-g:c.height,this.alignOptions.x=M(this.options.x,0),this.alignOptions.y=M(this.options.y,0),u.x-=m,u.y-=P,O.align(this.alignOptions,null,u),o.isInsidePlot(O.alignAttr.x+m-this.alignOptions.x,O.alignAttr.y+P-this.alignOptions.y)?O.show():(O.hide(),k=!1),k&&Q.prototype.justifyDataLabel.call(this.axis,O,this.alignOptions,O.alignAttr,c,u),O.attr({x:O.alignAttr.x,y:O.alignAttr.y}),M(!k&&this.options.crop,!0)&&((o=y(O.x)&&y(O.y)&&o.isInsidePlot(O.x-g+O.width,O.y)&&o.isInsidePlot(O.x+g,O.y))||O.hide()))},v.prototype.getStackBox=function(k,O,P,g,c,u,o){var m=O.axis.reversed,l=k.inverted,b=o.height+o.pos-(l?k.plotLeft:k.plotTop);return O=O.isNegative&&!m||!O.isNegative&&m,{x:l?O?g-o.right:g-u+o.pos-k.plotLeft:P+k.xAxis[0].transB-k.plotLeft,y:l?o.height-P-c:O?b-g-u:b-g,width:l?u:c,height:l?c:u}},v}();return Y.prototype.getStacks=function(){var v=this,k=v.inverted;v.yAxis.forEach(function(O){O.stacking&&O.stacking.stacks&&O.hasVisibleSeries&&(O.stacking.oldStacks=O.stacking.stacks)}),v.series.forEach(function(O){var P=O.xAxis&&O.xAxis.options||{};!O.options.stacking||!0!==O.visible&&!1!==v.options.chart.ignoreHiddenSeries||(O.stackKey=[O.type,M(O.options.stack,""),k?P.top:P.left,k?P.height:P.width].join())})},it.compose(X),Q.prototype.setGroupedPoints=function(){var v=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?Q.prototype.setStackedPoints.call(this,"group"):v&&S(v.stacks,function(k,O){"group"===O.slice(-5)&&(S(k,function(P){return P.destroy()}),delete v.stacks[O])})},Q.prototype.setStackedPoints=function(v){var k=v||this.options.stacking;if(k&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var O=this.processedXData,P=this.processedYData,g=[],c=P.length,u=this.options,o=u.threshold,m=M(u.startFromThreshold&&o,0);u=u.stack;var T,w,l="-"+(v=v?this.type+","+k:this.stackKey),b=this.negStacks,n=this.yAxis,r=n.stacking.stacks,f=n.stacking.oldStacks;for(n.stacking.stacksTouched+=1,w=0;w<c;w++){var D=O[w],d=P[w],R=this.getStackIndicator(R,D,this.index),a=R.key,h=(T=b&&d<(m?0:o))?l:v;r[h]||(r[h]={}),r[h][D]||(f[h]&&f[h][D]?(r[h][D]=f[h][D],r[h][D].total=null):r[h][D]=new E(n,n.options.stackLabels,T,D,u)),h=r[h][D],null!==d?(h.points[a]=h.points[this.index]=[M(h.cumulative,m)],I(h.cumulative)||(h.base=a),h.touched=n.stacking.stacksTouched,0<R.index&&!1===this.singleStacks&&(h.points[a][0]=h.points[this.index+","+D+",0"][0])):h.points[a]=h.points[this.index]=null,"percent"===k?(T=T?v:l,h.total=b&&r[T]&&r[T][D]?(T=r[T][D]).total=Math.max(T.total,h.total)+Math.abs(d)||0:F(h.total+(Math.abs(d)||0))):"group"===k?(C(d)&&(d=d[0]),null!==d&&(h.total=(h.total||0)+1)):h.total=F(h.total+(d||0)),h.cumulative="group"===k?(h.total||1)-1:M(h.cumulative,m)+(d||0),null!==d&&(h.points[a].push(h.cumulative),g[w]=h.cumulative,h.hasValidPoints=!0)}"percent"===k&&(n.stacking.usePercentage=!0),"group"!==k&&(this.stackedYData=g),n.stacking.oldStacks={}}},Q.prototype.modifyStacks=function(){var g,v=this,k=v.stackKey,O=v.yAxis.stacking.stacks,P=v.processedXData,c=v.options.stacking;v[c+"Stacker"]&&[k,"-"+k].forEach(function(u){for(var m,l,o=P.length;o--;)g=v.getStackIndicator(g,m=P[o],v.index,u),(l=(m=O[u]&&O[u][m])&&m.points[g.key])&&v[c+"Stacker"](l,m,o)})},Q.prototype.percentStacker=function(v,k,O){v[0]=F(v[0]*(k=k.total?100/k.total:0)),v[1]=F(v[1]*k),this.stackedYData[O]=v[1]},Q.prototype.getStackIndicator=function(v,k,O,P){return!I(v)||v.x!==k||P&&v.stackKey!==P?v={x:k,index:0,key:P,stackKey:P}:v.index++,v.key=[O,k,v.index].join(),v},rt.StackItem=E,rt.StackItem}),Mt($,"Series/Line/LineSeries.js",[$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.defined,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.prototype.drawGraph=function(){var F=this,I=this.options,L=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode,y=[["graph","highcharts-graph"]];C||y[0].push(I.lineColor||this.color||"#cccccc",I.dashStyle),(y=F.getZonesGraphs(y)).forEach(function(S,M){var E=S[0],v=F[E],k=v?"animate":"attr";v?(v.endX=F.preventGraphAnimation?null:L.xMap,v.animate({d:L})):L.length&&(F[E]=v=F.chart.renderer.path(L).addClass(S[1]).attr({zIndex:1}).add(F.group)),v&&!C&&(E={stroke:S[2],"stroke-width":I.lineWidth,fill:F.fillGraph&&F.color||"none"},S[3]?E.dashstyle=S[3]:"square"!==I.linecap&&(E["stroke-linecap"]=E["stroke-linejoin"]="round"),v[k](E).shadow(2>M&&I.shadow)),v&&(v.startX=L.xMap,v.isArea=L.isArea)})},W.prototype.getGraphPath=function(F,I,L){var E,C=this,y=C.options,S=[],M=[],v=y.step,k=(F=F||C.points).reversed;return k&&F.reverse(),(v={right:1,center:2}[v]||v&&3)&&k&&(v=4-v),(F=this.getValidPoints(F,!1,!(y.connectNulls&&!I&&!L))).forEach(function(O,P){var g=O.plotX,c=O.plotY,u=F[P-1];(O.leftCliff||u&&u.rightCliff)&&!L&&(E=!0),O.isNull&&!Q(I)&&0<P?E=!y.connectNulls:O.isNull&&!I?E=!0:(0===P||E?P=[["M",O.plotX,O.plotY]]:C.getPointSpline?P=[C.getPointSpline(F,O,P)]:v?(P=1===v?[["L",u.plotX,c]]:2===v?[["L",(u.plotX+g)/2,u.plotY],["L",(u.plotX+g)/2,c]]:[["L",g,u.plotY]]).push(["L",g,c]):P=[["L",g,c]],M.push(O.x),v&&(M.push(O.x),2===v&&M.push(O.x)),S.push.apply(S,P),E=!1)}),S.xMap=M,C.graphPath=S},W.prototype.getZonesGraphs=function(F){return this.zones.forEach(function(I,L){L=["zone-graph-"+L,"highcharts-graph highcharts-zone-graph-"+L+" "+(I.className||"")],this.chart.styledMode||L.push(I.color||this.color,I.dashStyle||this.options.dashStyle),F.push(L)},this),F},W.defaultOptions=it(X.defaultOptions,{}),W}(X),Y.registerSeriesType("line",et),et}),Mt($,"Series/Area/AreaSeries.js",[$["Core/Color/Color.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var L,Q=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),it=X.parse,K=et.seriesTypes.line;X=rt.extend;var W=rt.merge,F=rt.objectEach,I=rt.pick;return rt=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return Q(C,L),C.prototype.drawGraph=function(){this.areaPath=[],L.prototype.drawGraph.apply(this);var y=this,S=this.areaPath,M=this.options,E=[["area","highcharts-area",this.color,M.fillColor]];this.zones.forEach(function(v,k){E.push(["zone-area-"+k,"highcharts-area highcharts-zone-area-"+k+" "+v.className,v.color||y.color,v.fillColor||M.fillColor])}),E.forEach(function(v){var k=v[0],O=y[k],P=O?"animate":"attr",g={};O?(O.endX=y.preventGraphAnimation?null:S.xMap,O.animate({d:S})):(g.zIndex=0,(O=y[k]=y.chart.renderer.path(S).addClass(v[1]).add(y.group)).isArea=!0),y.chart.styledMode||(g.fill=I(v[3],it(v[2]).setOpacity(I(M.fillOpacity,.75)).get())),O[P](g),O.startX=S.xMap,O.shiftUnit=M.step?2:1})},C.prototype.getGraphPath=function(y){var k,S=K.prototype.getGraphPath,M=this.options,E=M.stacking,v=this.yAxis,O=[],P=[],g=this.index,c=v.stacking.stacks[this.stackKey],u=M.threshold,o=Math.round(v.getThreshold(M.threshold));M=I(M.connectNulls,"percent"===E);var m=function(r,f,T){var w=y[r];r=E&&c[w.x].points[g];var D=w[T+"Null"]||0;if(T=w[T+"Cliff"]||0,w=!0,T||D){var d=(D?r[0]:r[1])+T,R=r[0]+T;w=!!D}else!E&&y[f]&&y[f].isNull&&(d=R=u);void 0!==d&&(P.push({plotX:b,plotY:null===d?o:v.getThreshold(d),isNull:w,isCliff:!0}),O.push({plotX:b,plotY:null===R?o:v.getThreshold(R),doCurve:!1}))};for(y=y||this.points,E&&(y=this.getStackPoints(y)),k=0;k<y.length;k++){E||(y[k].leftCliff=y[k].rightCliff=y[k].leftNull=y[k].rightNull=void 0);var l=y[k].isNull,b=I(y[k].rectPlotX,y[k].plotX),n=E?I(y[k].yBottom,o):o;(!l||M)&&(M||m(k,k-1,"left"),l&&!E&&M||(P.push(y[k]),O.push({x:k,plotX:b,plotY:n})),M||m(k,k+1,"right"))}return k=S.call(this,P,!0,!0),O.reversed=!0,(n=(l=S.call(this,O,!0,!0))[0])&&"M"===n[0]&&(l[0]=["L",n[1],n[2]]),(l=k.concat(l)).length&&l.push(["Z"]),S=S.call(this,P,!1,M),l.xMap=k.xMap,this.areaPath=l,S},C.prototype.getStackPoints=function(y){var S=this,M=[],E=[],v=this.xAxis,k=this.yAxis,O=k.stacking.stacks[this.stackKey],P={},g=k.series,c=g.length,u=k.options.reversedStacks?1:-1,o=g.indexOf(S);if(y=y||this.points,this.options.stacking){for(var m=0;m<y.length;m++)y[m].leftNull=y[m].rightNull=void 0,P[y[m].x]=y[m];F(O,function(b,n){null!==b.total&&E.push(n)}),E.sort(function(b,n){return b-n});var l=g.map(function(b){return b.visible});E.forEach(function(b,n){var f,T,r=0;if(P[b]&&!P[b].isNull)M.push(P[b]),[-1,1].forEach(function(D){var d=1===D?"rightNull":"leftNull",R=0,a=O[E[n+D]];if(a)for(var h=o;0<=h&&h<c;){var A=g[h].index;(f=a.points[A])||(A===S.index?P[b][d]=!0:l[h]&&(T=O[b].points[A])&&(R-=T[1]-T[0])),h+=u}P[b][1===D?"rightCliff":"leftCliff"]=R});else{for(var w=o;0<=w&&w<c;){if(f=O[b].points[g[w].index]){r=f[1];break}w+=u}r=I(r,0),r=k.translate(r,0,1,0,1),M.push({isNull:!0,plotX:v.translate(b,0,0,0,1),x:b,plotY:r,yBottom:r})}})}return M},C.defaultOptions=W(K.defaultOptions,{threshold:0}),C}(K),X(rt.prototype,{singleStacks:!1,drawLegendSymbol:Y.drawRectangle}),et.registerSeriesType("area",rt),rt}),Mt($,"Series/Spline/SplineSeries.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var K,et=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),rt=X.seriesTypes.line,Q=Y.merge,it=Y.pick;return Y=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return et(W,K),W.prototype.getPointSpline=function(F,I,L){var C=I.plotX||0,y=I.plotY||0,S=F[L-1];if(L=F[L+1],S&&!S.isNull&&!1!==S.doCurve&&!I.isCliff&&L&&!L.isNull&&!1!==L.doCurve&&!I.isCliff){var M=L.plotX||0,E=0,v=(1.5*C+(S.plotX||0))/2.5,k=(1.5*y+(F=S.plotY||0))/2.5,O=(1.5*y+(L=L.plotY||0))/2.5;(M=(1.5*C+M)/2.5)!==v&&(E=(O-k)*(M-C)/(M-v)+y-O),O+=E,(k+=E)>F&&k>y?O=2*y-(k=Math.max(F,y)):k<F&&k<y&&(O=2*y-(k=Math.min(F,y))),O>L&&O>y?k=2*y-(O=Math.max(L,y)):O<L&&O<y&&(k=2*y-(O=Math.min(L,y))),I.rightContX=M,I.rightContY=O}return I=["C",it(S.rightContX,S.plotX,0),it(S.rightContY,S.plotY,0),it(v,C,0),it(k,y,0),C,y],S.rightContX=S.rightContY=void 0,I},W.defaultOptions=Q(rt.defaultOptions),W}(rt),X.registerSeriesType("spline",Y),Y}),Mt($,"Series/AreaSpline/AreaSplineSeries.js",[$["Series/Area/AreaSeries.js"],$["Series/Spline/SplineSeries.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var I,it=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),K=X.prototype,W=Q.extend,F=Q.merge;return Q=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.data=void 0,C.points=void 0,C.options=void 0,C}return it(L,I),L.defaultOptions=F(Y.defaultOptions,X.defaultOptions),L}(Y),W(Q.prototype,{getGraphPath:K.getGraphPath,getStackPoints:K.getStackPoints,drawGraph:K.drawGraph,drawLegendSymbol:et.drawRectangle}),rt.registerSeriesType("areaspline",Q),Q}),Mt($,"Series/Column/ColumnSeries.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var c,W=this&&this.__extends||(c=function(u,o){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,l){m.__proto__=l}||function(m,l){for(var b in l)l.hasOwnProperty(b)&&(m[b]=l[b])})(u,o)},function(u,o){function m(){this.constructor=u}c(u,o),u.prototype=null===o?Object.create(o):(m.prototype=o.prototype,new m)}),F=X.animObject,I=Y.parse,L=et.hasTouch;X=et.noop;var C=K.clamp,y=K.css,S=K.defined,M=K.extend,E=K.fireEvent,v=K.isArray,k=K.isNumber,O=K.merge,P=K.pick,g=K.objectEach;return K=function(c){function u(){var o=null!==c&&c.apply(this,arguments)||this;return o.borderWidth=void 0,o.data=void 0,o.group=void 0,o.options=void 0,o.points=void 0,o}return W(u,c),u.prototype.animate=function(o){var m=this,l=this.yAxis,b=m.options,n=this.chart.inverted,r={},f=n?"translateX":"translateY";if(o)r.scaleY=.001,o=C(l.toPixels(b.threshold),l.pos,l.pos+l.len),n?r.translateX=o-l.len:r.translateY=o,m.clipBox&&m.setClip(),m.group.attr(r);else{var T=Number(m.group.attr(f));m.group.animate({scaleY:1},M(F(m.options.animation),{step:function(w,D){m.group&&(r[f]=T+D.pos*(l.pos-T),m.group.attr(r))}}))}},u.prototype.init=function(o,m){c.prototype.init.apply(this,arguments);var l=this;(o=l.chart).hasRendered&&o.series.forEach(function(b){b.type===l.type&&(b.isDirty=!0)})},u.prototype.getColumnMetrics=function(){var o=this,m=o.options,l=o.xAxis,b=o.yAxis,n=l.options.reversedStacks;n=l.reversed&&!n||!l.reversed&&n;var f,r={},T=0;!1===m.grouping?T=1:o.chart.series.forEach(function(R){var a=R.yAxis,h=R.options;if(R.type===o.type&&(R.visible||!o.chart.options.chart.ignoreHiddenSeries)&&b.len===a.len&&b.pos===a.pos){if(h.stacking&&"group"!==h.stacking){void 0===r[f=R.stackKey]&&(r[f]=T++);var A=r[f]}else!1!==h.grouping&&(A=T++);R.columnIndex=A}});var w=Math.min(Math.abs(l.transA)*(l.ordinal&&l.ordinal.slope||m.pointRange||l.closestPointRange||l.tickInterval||1),l.len),D=w*m.groupPadding,d=(w-2*D)/(T||1);return m=Math.min(m.maxPointWidth||l.len,P(m.pointWidth,d*(1-2*m.pointPadding))),o.columnMetrics={width:m,offset:(d-m)/2+(D+((o.columnIndex||0)+(n?1:0))*d-w/2)*(n?-1:1),paddedWidth:d,columnCount:T},o.columnMetrics},u.prototype.crispCol=function(o,m,l,b){var n=this.chart,r=this.borderWidth,f=-(r%2?.5:0);return r=r%2?.5:1,n.inverted&&n.renderer.isVML&&(r+=1),this.options.crisp&&(l=Math.round(o+l)+f,l-=o=Math.round(o)+f),b=Math.round(m+b)+r,f=.5>=Math.abs(m)&&.5<b,b-=m=Math.round(m)+r,f&&b&&(--m,b+=1),{x:o,y:m,width:l,height:b}},u.prototype.adjustForMissingColumns=function(o,m,l,b){var n=this,r=this.options.stacking;if(!l.isNull&&1<b.columnCount){var f=this.yAxis.options.reversedStacks,T=0,w=f?0:-b.columnCount;g(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(D){if("number"==typeof l.x&&(D=D[l.x.toString()])){var d=D.points[n.index],R=D.total;r?(d&&(T=w),D.hasValidPoints&&(f?w++:w--)):v(d)&&(T=d[1],w=R||0)}}),o=(l.plotX||0)+((w-1)*b.paddedWidth+m)/2-m-T*b.paddedWidth}return o},u.prototype.translate=function(){var o=this,m=o.chart,l=o.options,b=o.dense=2>o.closestPointRange*o.xAxis.transA;b=o.borderWidth=P(l.borderWidth,b?0:1);var n=o.xAxis,r=o.yAxis,f=l.threshold,T=o.translatedThreshold=r.getThreshold(f),w=P(l.minPointLength,5),D=o.getColumnMetrics(),d=D.width,R=o.pointXOffset=D.offset,a=o.dataMin,h=o.dataMax,A=o.barW=Math.max(d,1+2*b);m.inverted&&(T-=.5),l.pointPadding&&(A=Math.ceil(A)),Q.prototype.translate.apply(o),o.points.forEach(function(j){var z=P(j.yBottom,T),H=999+Math.abs(z),p=j.plotX||0;H=C(j.plotY,-H,r.len+H);var N=Math.min(H,z),_=Math.max(H,z)-N,G=d,U=p+R,tt=A;w&&Math.abs(_)<w&&(_=w,p=!r.reversed&&!j.negative||r.reversed&&j.negative,k(f)&&k(h)&&j.y===f&&h<=f&&(r.min||0)<f&&(a!==h||(r.max||0)<=f)&&(p=!p),N=Math.abs(N-T)>w?z-w:T-(p?w:0)),S(j.options.pointWidth)&&(G=tt=Math.ceil(j.options.pointWidth),U-=Math.round((G-d)/2)),l.centerInCategory&&(U=o.adjustForMissingColumns(U,G,j,D)),j.barX=U,j.pointWidth=G,j.tooltipPos=m.inverted?[C(r.len+r.pos-m.plotLeft-H,r.pos-m.plotLeft,r.len+r.pos-m.plotLeft),n.len+n.pos-m.plotTop-U-tt/2,_]:[n.left-m.plotLeft+U+tt/2,C(H+r.pos-m.plotTop,r.pos-m.plotTop,r.len+r.pos-m.plotTop),_],j.shapeType=o.pointClass.prototype.shapeType||"rect",j.shapeArgs=o.crispCol.apply(o,j.isNull?[U,T,tt,0]:[U,N,tt,_])})},u.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},u.prototype.pointAttribs=function(o,m){var l=this.options,b=this.pointAttrToOptions||{},n=b.stroke||"borderColor",r=b["stroke-width"]||"borderWidth",f=o&&o.color||this.color,T=o&&o[n]||l[n]||f;b=o&&o.options.dashStyle||l.dashStyle;var w=o&&o[r]||l[r]||this[r]||0,D=P(o&&o.opacity,l.opacity,1);if(o&&this.zones.length){var d=o.getZone();f=o.options.color||d&&(d.color||o.nonZonedColor)||this.color,d&&(T=d.borderColor||T,b=d.dashStyle||b,w=d.borderWidth||w)}return m&&o&&(m=(o=O(l.states[m],o.options.states&&o.options.states[m]||{})).brightness,f=o.color||void 0!==m&&I(f).brighten(o.brightness).get()||f,T=o[n]||T,w=o[r]||w,b=o.dashStyle||b,D=P(o.opacity,D)),n={fill:f,stroke:T,"stroke-width":w,opacity:D},b&&(n.dashstyle=b),n},u.prototype.drawPoints=function(){var r,o=this,m=this.chart,l=o.options,b=m.renderer,n=l.animationLimit||250;o.points.forEach(function(f){var T=f.graphic,w=!!T,D=T&&m.pointCount<n?"animate":"attr";k(f.plotY)&&null!==f.y?(r=f.shapeArgs,T&&f.hasNewShapeType()&&(T=T.destroy()),o.enabledDataSorting&&(f.startXPos=o.xAxis.reversed?-(r&&r.width||0):o.xAxis.width),T||(f.graphic=T=b[f.shapeType](r).add(f.group||o.group))&&o.enabledDataSorting&&m.hasRendered&&m.pointCount<n&&(T.attr({x:f.startXPos}),w=!0,D="animate"),T&&w&&T[D](O(r)),l.borderRadius&&T[D]({r:l.borderRadius}),m.styledMode||T[D](o.pointAttribs(f,f.selected&&"select")).shadow(!1!==f.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius),T&&(T.addClass(f.getClassName(),!0),T.attr({visibility:f.visible?"inherit":"hidden"}))):T&&(f.graphic=T.destroy())})},u.prototype.drawTracker=function(){var n,o=this,m=o.chart,l=m.pointer,b=function(r){var f=l.getPointFromEvent(r);void 0!==f&&(l.isDirectTouch=!0,f.onMouseOver(r))};o.points.forEach(function(r){n=v(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),n.forEach(function(f){f.div?f.div.point=r:f.element.point=r})}),o._hasTracking||(o.trackerGroups.forEach(function(r){o[r]&&(o[r].addClass("highcharts-tracker").on("mouseover",b).on("mouseout",function(f){l.onTrackerMouseOut(f)}),L&&o[r].on("touchstart",b),!m.styledMode&&o.options.cursor&&o[r].css(y).css({cursor:o.options.cursor}))}),o._hasTracking=!0),E(this,"afterDrawTracker")},u.prototype.remove=function(){var o=this,m=o.chart;m.hasRendered&&m.series.forEach(function(l){l.type===o.type&&(l.isDirty=!0)}),Q.prototype.remove.apply(o,arguments)},u.defaultOptions=O(Q.defaultOptions,{borderRadius:0,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),u}(Q),M(K.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:rt.drawRectangle,getSymbol:X,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("column",K),K}),Mt($,"Core/Series/DataLabel.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=X.getDeferredAnimation,Q=Y.format,it=et.defined,K=et.extend,W=et.fireEvent,F=et.isArray,I=et.merge,L=et.objectEach,C=et.pick,y=et.splat;return function(M){function E(u,o,m,l,b){var n=this,r=this.chart,f=this.isCartesian&&r.inverted,T=this.enabledDataSorting,w=C(u.dlBox&&u.dlBox.centerX,u.plotX),D=u.plotY,d=m.rotation,R=m.align,a=it(w)&&it(D)&&r.isInsidePlot(w,Math.round(D),{inverted:f,paneCoordinates:!0,series:n}),h=function(p){T&&n.xAxis&&!A&&n.setDataLabelStartPos(u,o,b,a,p)},A="justify"===C(m.overflow,T?"none":"justify"),j=this.visible&&!1!==u.visible&&(u.series.forceDL||T&&!A||a||C(m.inside,!!this.options.stacking)&&l&&r.isInsidePlot(w,f?l.x+1:l.y+l.height-1,{inverted:f,paneCoordinates:!0,series:n}));if(j&&it(w)&&it(D)){d&&o.attr({align:R}),R=o.getBBox(!0);var z=[0,0],H=r.renderer.fontMetrics(r.styledMode?void 0:m.style.fontSize,o).b;l=K({x:f?this.yAxis.len-D:w,y:Math.round(f?this.xAxis.len-w:D),width:0,height:0},l),K(m,{width:R.width,height:R.height}),d?(A=!1,z=r.renderer.rotCorr(H,d),w={x:l.x+(m.x||0)+l.width/2+z.x,y:l.y+(m.y||0)+{top:0,middle:.5,bottom:1}[m.verticalAlign]*l.height},z=[R.x-Number(o.attr("x")),R.y-Number(o.attr("y"))],h(w),o[b?"attr":"animate"](w)):(h(l),o.align(m,void 0,l),w=o.alignAttr),A&&0<=l.height?this.justifyDataLabel(o,m,w,R,l,b):C(m.crop,!0)&&(l=w.x,h=w.y,j=r.isInsidePlot(l+=z[0],h+=z[1],{paneCoordinates:!0,series:n})&&r.isInsidePlot(l+R.width,h+R.height,{paneCoordinates:!0,series:n})),m.shape&&!d&&o[b?"attr":"animate"]({anchorX:f?r.plotWidth-u.plotY:u.plotX,anchorY:f?r.plotHeight-u.plotX:u.plotY})}b&&T&&(o.placed=!1),j||T&&!A?o.show():(o.hide(),o.placed=!1)}function k(){var u=this,o=u.chart,m=u.options,l=u.points,b=u.hasRendered||0,n=o.renderer,r=m.dataLabels,T=r.animation;if(T=r.defer?rt(o,T,u):{defer:0,duration:0},r=P(P(o.options.plotOptions&&o.options.plotOptions.series&&o.options.plotOptions.series.dataLabels,o.options.plotOptions&&o.options.plotOptions[u.type]&&o.options.plotOptions[u.type].dataLabels),r),W(this,"drawDataLabels"),F(r)||r.enabled||u._hasPointLabels){var w=u.plotGroup("dataLabelsGroup","data-labels",b?"inherit":"hidden",r.zIndex||6);w.attr({opacity:+b}),!b&&(b=u.dataLabelsGroup)&&(u.visible&&w.show(),b[m.animation?"animate":"attr"]({opacity:1},T)),l.forEach(function(D){y(P(r,D.dlOptions||D.options&&D.options.dataLabels)).forEach(function(d,R){var a=d.enabled&&(!D.isNull||D.dataLabelOnNull)&&function v(u,o){var m=o.filter;return!m||(o=m.operator,u=u[m.property],m=m.value,">"===o&&u>m||"<"===o&&u<m||">="===o&&u>=m||"<="===o&&u<=m||"=="===o&&u==m||"==="===o&&u===m)}(D,d),h=D.connectors?D.connectors[R]:D.connector,A=D.dataLabels?D.dataLabels[R]:D.dataLabel,j=!A,z=C(d.distance,D.labelDistance);if(a){var H=D.getLabelConfig(),p=C(d[D.formatPrefix+"Format"],d.format);H=it(p)?Q(p,H,o):(d[D.formatPrefix+"Formatter"]||d.formatter).call(H,d),p=d.style;var N=d.rotation;o.styledMode||(p.color=C(d.color,p.color,u.color,"#000000"),"contrast"===p.color?(D.contrastColor=n.getContrast(D.color||u.color),p.color=!it(z)&&d.inside||0>z||m.stacking?D.contrastColor:"#000000"):delete D.contrastColor,m.cursor&&(p.cursor=m.cursor));var _={r:d.borderRadius||0,rotation:N,padding:d.padding,zIndex:1};o.styledMode||(_.fill=d.backgroundColor,_.stroke=d.borderColor,_["stroke-width"]=d.borderWidth),L(_,function(G,U){void 0===G&&delete _[U]})}!A||a&&it(H)&&!!A.div==!!d.useHTML&&(A.rotation&&d.rotation||A.rotation===d.rotation)||(j=!0,D.dataLabel=A=D.dataLabel&&D.dataLabel.destroy(),D.dataLabels&&(1===D.dataLabels.length?delete D.dataLabels:delete D.dataLabels[R]),R||delete D.dataLabel,h&&(D.connector=D.connector.destroy(),D.connectors&&(1===D.connectors.length?delete D.connectors:delete D.connectors[R]))),a&&it(H)?(A?_.text=H:(D.dataLabels=D.dataLabels||[],A=D.dataLabels[R]=N?n.text(H,0,0,d.useHTML).addClass("highcharts-data-label"):n.label(H,0,0,d.shape,null,null,d.useHTML,null,"data-label"),R||(D.dataLabel=A),A.addClass(" highcharts-data-label-color-"+D.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),A.options=d,A.attr(_),o.styledMode||A.css(p).shadow(d.shadow),A.added||A.add(w),d.textPath&&!d.useHTML&&(A.setTextPath(D.getDataLabelPath&&D.getDataLabelPath(A)||D.graphic,d.textPath),D.dataLabelPath&&!d.textPath.enabled&&(D.dataLabelPath=D.dataLabelPath.destroy())),u.alignDataLabel(D,A,d,null,j)):A&&A.hide()})})}W(this,"afterDrawDataLabels")}function O(u,o,m,l,b,n){var r=this.chart,f=o.align,T=o.verticalAlign,w=u.box?0:u.padding||0,D=o.x;D=void 0===D?0:D;var d=o.y;d=void 0===d?0:d;var R=(m.x||0)+w;if(0>R){"right"===f&&0<=D?(o.align="left",o.inside=!0):D-=R;var a=!0}return(R=(m.x||0)+l.width-w)>r.plotWidth&&("left"===f&&0>=D?(o.align="right",o.inside=!0):D+=r.plotWidth-R,a=!0),0>(R=m.y+w)&&("bottom"===T&&0<=d?(o.verticalAlign="top",o.inside=!0):d-=R,a=!0),(R=(m.y||0)+l.height-w)>r.plotHeight&&("top"===T&&0>=d?(o.verticalAlign="bottom",o.inside=!0):d+=r.plotHeight-R,a=!0),a&&(o.x=D,o.y=d,u.placed=!n,u.align(o,void 0,b)),a}function P(u,o){var l,m=[];if(F(u)&&!F(o))m=u.map(function(b){return I(b,o)});else if(F(o)&&!F(u))m=o.map(function(b){return I(u,b)});else if(F(u)||F(o))for(l=Math.max(u.length,o.length);l--;)m[l]=I(u[l],o[l]);else m=I(u,o);return m}function g(u,o,m,l,b){var n=this.chart,r=n.inverted,f=this.xAxis,T=f.reversed,w=r?o.height/2:o.width/2;u=(u=u.pointWidth)?u/2:0,o.startXPos=r?b.x:T?-w-u:f.width-w+u,o.startYPos=r?T?this.yAxis.height-w+u:-w-u:b.y,l?"hidden"===o.visibility&&(o.show(),o.attr({opacity:0}).animate({opacity:1})):o.attr({opacity:1}).animate({opacity:0},void 0,o.hide),n.hasRendered&&(m&&o.attr({x:o.startXPos,y:o.startYPos}),o.placed=!0)}var c=[];M.compose=function(u){if(-1===c.indexOf(u)){var o=u.prototype;c.push(u),o.alignDataLabel=E,o.drawDataLabels=k,o.justifyDataLabel=O,o.setDataLabelStartPos=g}}}(S||(S={})),S}),Mt($,"Series/Column/ColumnDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=Y.series,Q=et.merge,it=et.pick;return function(W){function F(L,C,y,S,M){var E=this.chart.inverted,v=L.series,k=(v.xAxis?v.xAxis.len:this.chart.plotSizeX)||0,O=L.dlBox||L.shapeArgs,P=it(L.below,L.plotY>it(this.translatedThreshold,v=(v.yAxis?v.yAxis.len:this.chart.plotSizeY)||0)),g=it(y.inside,!!this.options.stacking);O&&(0>(S=Q(O)).y&&(S.height+=S.y,S.y=0),0<(O=S.y+S.height-v)&&O<S.height&&(S.height-=O),E&&(S={x:v-S.y-S.height,y:k-S.x-S.width,width:S.height,height:S.width}),g||(E?(S.x+=P?0:S.width,S.width=0):(S.y+=P?S.height:0,S.height=0))),y.align=it(y.align,!E||g?"center":P?"right":"left"),y.verticalAlign=it(y.verticalAlign,E||g?"middle":P?"top":"bottom"),rt.prototype.alignDataLabel.call(this,L,C,y,S,M),y.inside&&L.contrastColor&&C.css({color:L.contrastColor})}var I=[];W.compose=function(L){X.compose(rt),-1===I.indexOf(L)&&(I.push(L),L.prototype.alignDataLabel=F)}}(K||(K={})),K}),Mt($,"Series/Bar/BarSeries.js",[$["Series/Column/ColumnSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.extend,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.defaultOptions=it(X.defaultOptions,{}),W}(X),Q(et.prototype,{inverted:!0}),Y.registerSeriesType("bar",et),et}),Mt($,"Series/Scatter/ScatterSeries.js",[$["Series/Column/ColumnSeries.js"],$["Series/Line/LineSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),it=rt.addEvent,K=rt.extend,W=rt.merge;return rt=function(F){function I(){var L=null!==F&&F.apply(this,arguments)||this;return L.data=void 0,L.options=void 0,L.points=void 0,L}return Q(I,F),I.prototype.applyJitter=function(){var L=this,C=this.options.jitter,y=this.points.length;C&&this.points.forEach(function(S,M){["x","y"].forEach(function(E,v){var k="plot"+E.toUpperCase();if(C[E]&&!S.isNull){var O=L[E+"Axis"],P=C[E]*O.transA;if(O&&!O.isLog){var g=Math.max(0,S[k]-P);O=Math.min(O.len,S[k]+P),v=1e4*Math.sin(M+v*y),S[k]=g+(O-g)*(v-Math.floor(v)),"x"===E&&(S.clientX=S.plotX)}}})})},I.prototype.drawGraph=function(){this.options.lineWidth?F.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},I.defaultOptions=W(Y.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),I}(Y),K(rt.prototype,{drawTracker:X.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),it(rt,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",rt),rt}),Mt($,"Series/CenteredUtilities.js",[$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,F,rt=X.deg2rad,Q=et.isNumber,it=et.pick,K=et.relativeLength;return(F=W||(W={})).getCenter=function(){var I=this.options,L=this.chart,C=2*(I.slicedOffset||0),y=L.plotWidth-2*C,S=L.plotHeight-2*C,M=I.center,E=Math.min(y,S),v=I.thickness,k=I.size,O=I.innerSize||0;for("string"==typeof k&&(k=parseFloat(k)),"string"==typeof O&&(O=parseFloat(O)),I=[it(M[0],"50%"),it(M[1],"50%"),it(k&&0>k?void 0:I.size,"100%"),it(O&&0>O?void 0:I.innerSize||0,"0%")],!L.angular||this instanceof Y||(I[3]=0),M=0;4>M;++M)k=I[M],L=2>M||2===M&&/%$/.test(k),I[M]=K(k,[y,S,E,I[2]][M])+(L?C:0);return I[3]>I[2]&&(I[3]=I[2]),Q(v)&&2*v<I[2]&&0<v&&(I[3]=I[2]-2*v),I},F.getStartAndEndRadians=function(I,L){return I=Q(I)?I:0,L=Q(L)&&L>I&&360>L-I?L:I+360,{start:rt*(I+-90),end:rt*(L+-90)}},W}),Mt($,"Series/Pie/PiePoint.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et){var L,rt=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),Q=X.setAnimation,it=et.addEvent,K=et.defined;X=et.extend;var W=et.isNumber,F=et.pick,I=et.relativeLength;return Y=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.labelDistance=void 0,y.options=void 0,y.series=void 0,y}return rt(C,L),C.prototype.getConnectorPath=function(){var y=this.labelPosition,S=this.series.options.dataLabels,M=this.connectorShapes,E=S.connectorShape;return M[E]&&(E=M[E]),E.call(this,{x:y.final.x,y:y.final.y,alignment:y.alignment},y.connectorPosition,S)},C.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},C.prototype.haloPath=function(y){var S=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(S.x,S.y,S.r+y,S.r+y,{innerR:S.r-1,start:S.start,end:S.end})},C.prototype.init=function(){var y=this;L.prototype.init.apply(this,arguments),this.name=F(this.name,"Slice");var S=function(M){y.slice("select"===M.type)};return it(this,"select",S),it(this,"unselect",S),this},C.prototype.isValid=function(){return W(this.y)&&0<=this.y},C.prototype.setVisible=function(y,S){var M=this,E=this.series,v=E.chart,k=E.options.ignoreHiddenPoint;S=F(S,k),y!==this.visible&&(this.visible=this.options.visible=y=void 0===y?!this.visible:y,E.options.data[E.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(O){M[O]&&M[O][y?"show":"hide"](y)}),this.legendItem&&v.legend.colorizeItem(this,y),y||"hover"!==this.state||this.setState(""),k&&(E.isDirty=!0),S&&v.redraw())},C.prototype.slice=function(y,S,M){var E=this.series;Q(M,E.chart),F(S,!0),this.sliced=this.options.sliced=K(y)?y:!this.sliced,E.options.data[E.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},C}(Y),X(Y.prototype,{connectorShapes:{fixedOffset:function(L,C,y){var S=C.breakAt;return C=C.touchingSliceAt,[["M",L.x,L.y],y.softConnector?["C",L.x+("left"===L.alignment?-5:5),L.y,2*S.x-C.x,2*S.y-C.y,S.x,S.y]:["L",S.x,S.y],["L",C.x,C.y]]},straight:function(L,C){return[["M",L.x,L.y],["L",(C=C.touchingSliceAt).x,C.y]]},crookedLine:function(L,C,y){C=C.touchingSliceAt;var S=this.series,M=S.center[0],E=S.chart.plotWidth,v=S.chart.plotLeft;S=L.alignment;var k=this.shapeArgs.r;return y=I(y.crookDistance,1),y=["L",E="left"===S?M+k+(E+v-M-k)*(1-y):v+(M-k)*y,L.y],M=!0,("left"===S?E>L.x||E<C.x:E<L.x||E>C.x)&&(M=!1),L=[["M",L.x,L.y]],M&&L.push(y),L.push(["L",C.x,C.y]),L}}}),Y}),Mt($,"Series/Pie/PieSeries.js",[$["Series/CenteredUtilities.js"],$["Series/Column/ColumnSeries.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Series/Pie/PiePoint.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var k,I=this&&this.__extends||(k=function(O,P){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,c){g.__proto__=c}||function(g,c){for(var u in c)c.hasOwnProperty(u)&&(g[u]=c[u])})(O,P)},function(O,P){function g(){this.constructor=O}k(O,P),O.prototype=null===P?Object.create(P):(g.prototype=P.prototype,new g)}),L=X.getStartAndEndRadians;et=et.noop;var C=F.clamp,y=F.extend,S=F.fireEvent,M=F.merge,E=F.pick,v=F.relativeLength;return F=function(k){function O(){var P=null!==k&&k.apply(this,arguments)||this;return P.center=void 0,P.data=void 0,P.maxLabelDistance=void 0,P.options=void 0,P.points=void 0,P}return I(O,k),O.prototype.animate=function(P){var g=this,u=g.startAngleRad;P||g.points.forEach(function(o){var m=o.graphic,l=o.shapeArgs;m&&l&&(m.attr({r:E(o.startR,g.center&&g.center[3]/2),start:u,end:u}),m.animate({r:l.r,start:l.start,end:l.end},g.options.animation))})},O.prototype.drawEmpty=function(){var P=this.startAngleRad,g=this.endAngleRad,c=this.options;if(0===this.total&&this.center){var u=this.center[0],o=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(u,o,this.center[1]/2,0,P,g).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:W.arc(u,o,this.center[2]/2,0,{start:P,end:g,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":c.borderWidth,fill:c.fillColor||"none",stroke:c.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},O.prototype.drawPoints=function(){var P=this.chart.renderer;this.points.forEach(function(g){g.graphic&&g.hasNewShapeType()&&(g.graphic=g.graphic.destroy()),g.graphic||(g.graphic=P[g.shapeType](g.shapeArgs).add(g.series.group),g.delayedRendering=!0)})},O.prototype.generatePoints=function(){k.prototype.generatePoints.call(this),this.updateTotals()},O.prototype.getX=function(P,g,c){var u=this.center,o=this.radii?this.radii[c.index]||0:u[2]/2;return P=Math.asin(C((P-u[1])/(o+c.labelDistance),-1,1)),u[0]+(g?-1:1)*Math.cos(P)*(o+c.labelDistance)+(0<c.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},O.prototype.hasData=function(){return!!this.processedXData.length},O.prototype.redrawPoints=function(){var o,m,l,b,P=this,g=P.chart,c=g.renderer,u=P.options.shadow;this.drawEmpty(),!u||P.shadowGroup||g.styledMode||(P.shadowGroup=c.g("shadow").attr({zIndex:-1}).add(P.group)),P.points.forEach(function(n){var r={};if(m=n.graphic,!n.isNull&&m){var f=void 0;b=n.shapeArgs,o=n.getTranslate(),g.styledMode||(f=n.shadowGroup,u&&!f&&(f=n.shadowGroup=c.g("shadow").add(P.shadowGroup)),f&&f.attr(o),l=P.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(m.setRadialReference(P.center).attr(b).attr(o),g.styledMode||m.attr(l).attr({"stroke-linejoin":"round"}).shadow(u,f),n.delayedRendering=!1):(m.setRadialReference(P.center),g.styledMode||M(!0,r,l),M(!0,r,b,o),m.animate(r)),m.attr({visibility:n.visible?"inherit":"hidden"}),m.addClass(n.getClassName(),!0)}else m&&(n.graphic=m.destroy())})},O.prototype.sortByAngle=function(P,g){P.sort(function(c,u){return void 0!==c.angle&&(u.angle-c.angle)*g})},O.prototype.translate=function(P){this.generatePoints();var g=this.options,c=g.slicedOffset,u=c+(g.borderWidth||0),o=L(g.startAngle,g.endAngle),m=this.startAngleRad=o.start;o=(this.endAngleRad=o.end)-m;var l=this.points,b=g.dataLabels.distance;g=g.ignoreHiddenPoint;var r,n=l.length,f=0;for(P||(this.center=P=this.getCenter()),r=0;r<n;r++){var T=l[r],w=m+f*o;!T.isValid()||g&&!T.visible||(f+=T.percentage/100);var D=m+f*o,d={x:P[0],y:P[1],r:P[2]/2,innerR:P[3]/2,start:Math.round(1e3*w)/1e3,end:Math.round(1e3*D)/1e3};T.shapeType="arc",T.shapeArgs=d,T.labelDistance=E(T.options.dataLabels&&T.options.dataLabels.distance,b),T.labelDistance=v(T.labelDistance,d.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,T.labelDistance),(D=(D+w)/2)>1.5*Math.PI?D-=2*Math.PI:D<-Math.PI/2&&(D+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(D)*c),translateY:Math.round(Math.sin(D)*c)},d=Math.cos(D)*P[2]/2;var R=Math.sin(D)*P[2]/2;T.tooltipPos=[P[0]+.7*d,P[1]+.7*R],T.half=D<-Math.PI/2||D>Math.PI/2?1:0,T.angle=D,w=Math.min(u,T.labelDistance/5),T.labelPosition={natural:{x:P[0]+d+Math.cos(D)*T.labelDistance,y:P[1]+R+Math.sin(D)*T.labelDistance},final:{},alignment:0>T.labelDistance?"center":T.half?"right":"left",connectorPosition:{breakAt:{x:P[0]+d+Math.cos(D)*w,y:P[1]+R+Math.sin(D)*w},touchingSliceAt:{x:P[0]+d,y:P[1]+R}}}}S(this,"afterTranslate")},O.prototype.updateTotals=function(){var u,P=this.points,g=P.length,c=this.options.ignoreHiddenPoint,o=0;for(u=0;u<g;u++){var m=P[u];!m.isValid()||c&&!m.visible||(o+=m.y)}for(this.total=o,u=0;u<g;u++)(m=P[u]).percentage=0<o&&(m.visible||!c)?m.y/o*100:0,m.total=o},O.defaultOptions=M(it.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),O}(it),y(F.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:rt.drawRectangle,drawTracker:Y.prototype.drawTracker,getCenter:X.getCenter,getSymbol:et,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Y.prototype.pointAttribs,pointClass:Q,requireSorting:!1,searchPoint:et,trackerGroups:["group","dataLabelsGroup"]}),K.registerSeriesType("pie",F),F}),Mt($,"Series/Pie/PieDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var M,it=Y.noop,K=et.distribute,W=rt.series,F=Q.arrayMax,I=Q.clamp,L=Q.defined,C=Q.merge,y=Q.pick,S=Q.relativeLength;return function(E){function v(){var h,A,j,z,H,p,N,_,G,U,tt,J,c=this,u=c.data,o=c.chart,m=c.options.dataLabels||{},l=m.connectorPadding,b=o.plotWidth,n=o.plotHeight,r=o.plotLeft,f=Math.round(o.chartWidth/3),T=c.center,w=T[2]/2,D=T[1],d=[[],[]],R=[0,0,0,0],a=c.dataLabelPositioners;c.visible&&(m.enabled||c._hasPointLabels)&&(u.forEach(function(ot){ot.dataLabel&&ot.visible&&ot.dataLabel.shortened&&(ot.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),ot.dataLabel.shortened=!1)}),W.prototype.drawDataLabels.apply(c),u.forEach(function(ot){ot.dataLabel&&(ot.visible?(d[ot.half].push(ot),ot.dataLabel._pos=null,!L(m.style.width)&&!L(ot.options.dataLabels&&ot.options.dataLabels.style&&ot.options.dataLabels.style.width)&&ot.dataLabel.getBBox().width>f&&(ot.dataLabel.css({width:Math.round(.7*f)+"px"}),ot.dataLabel.shortened=!0)):(ot.dataLabel=ot.dataLabel.destroy(),ot.dataLabels&&1===ot.dataLabels.length&&delete ot.dataLabels))}),d.forEach(function(ot,at){var gt,ft=ot.length,mt=[];if(ft){if(c.sortByAngle(ot,at-.5),0<c.maxLabelDistance){var ut=Math.max(0,D-w-c.maxLabelDistance),ht=Math.min(D+w+c.maxLabelDistance,o.plotHeight);ot.forEach(function(V){0<V.labelDistance&&V.dataLabel&&(V.top=Math.max(0,D-w-V.labelDistance),V.bottom=Math.min(D+w+V.labelDistance,o.plotHeight),gt=V.dataLabel.getBBox().height||21,V.distributeBox={target:V.labelPosition.natural.y-V.top+gt/2,size:gt,rank:V.y},mt.push(V.distributeBox))}),K(mt,ut=ht+gt-ut,ut/5)}for(tt=0;tt<ft;tt++){if(z=(h=ot[tt]).dataLabel,U=!1===h.visible?"hidden":"inherit",G=ut=(p=h.labelPosition).natural.y,mt&&L(h.distributeBox)&&(void 0===h.distributeBox.pos?U="hidden":(N=h.distributeBox.size,G=a.radialDistributionY(h))),delete h.positionIndex,m.justify)_=a.justify(h,w,T);else switch(m.alignTo){case"connectors":_=a.alignToConnectors(ot,at,b,r);break;case"plotEdges":_=a.alignToPlotEdges(z,at,b,r);break;default:_=a.radialDistributionX(c,h,G,ut)}z._attr={visibility:U,align:p.alignment},z._pos={x:_+y((J=h.options.dataLabels||{}).x,m.x)+({left:l,right:-l}[p.alignment]||0),y:G+y(J.y,m.y)-10},p.final.x=_,p.final.y=G,y(m.crop,!0)&&(H=z.getBBox().width,ut=null,_-H<l&&1===at?(ut=Math.round(H-_+l),R[3]=Math.max(ut,R[3])):_+H>b-l&&0===at&&(ut=Math.round(_+H-b+l),R[1]=Math.max(ut,R[1])),0>G-N/2?R[0]=Math.max(Math.round(N/2-G),R[0]):G+N/2>n&&(R[2]=Math.max(Math.round(G+N/2-n),R[2])),z.sideOverflow=ut)}}}),0===F(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),this.points.forEach(function(ot){var at;J=C(m,ot.options.dataLabels),(A=y(J.connectorWidth,1))&&(j=ot.connector,(z=ot.dataLabel)&&z._pos&&ot.visible&&0<ot.labelDistance?(U=z._attr.visibility,(at=!j)&&(ot.connector=j=o.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+ot.colorIndex+(ot.className?" "+ot.className:"")).add(c.dataLabelsGroup),o.styledMode||j.attr({"stroke-width":A,stroke:J.connectorColor||ot.color||"#666666"})),j[at?"attr":"animate"]({d:ot.getConnectorPath()}),j.attr("visibility",U)):j&&(ot.connector=j.destroy()))}))}function k(){this.points.forEach(function(c){var o,u=c.dataLabel;u&&c.visible&&((o=u._pos)?(u.sideOverflow&&(u._attr.width=Math.max(u.getBBox().width-u.sideOverflow,0),u.css({width:u._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),u.shortened=!0),u.attr(u._attr),u[u.moved?"animate":"attr"](o),u.moved=!0):u&&u.attr({y:-9999})),delete c.distributeBox},this)}function O(c){var u=this.center,o=this.options,m=o.center,l=o.minSize||80,b=null!==o.size;if(!b){if(null!==m[0])var n=Math.max(u[2]-Math.max(c[1],c[3]),l);else n=Math.max(u[2]-c[1]-c[3],l),u[0]+=(c[3]-c[1])/2;null!==m[1]?n=I(n,l,u[2]-Math.max(c[0],c[2])):(n=I(n,l,u[2]-c[0]-c[2]),u[1]+=(c[0]-c[2])/2),n<u[2]?(u[2]=n,u[3]=Math.min(o.thickness?Math.max(0,n-2*o.thickness):Math.max(0,S(o.innerSize||0,n)),n),this.translate(u),this.drawDataLabels&&this.drawDataLabels()):b=!0}return b}var P=[],g={radialDistributionY:function(c){return c.top+c.distributeBox.pos},radialDistributionX:function(c,u,o,m){return c.getX(o<u.top+2||o>u.bottom-2?m:o,u.half,u)},justify:function(c,u,o){return o[0]+(c.half?-1:1)*(u+c.labelDistance)},alignToPlotEdges:function(c,u,o,m){return c=c.getBBox().width,u?c+m:o-c-m},alignToConnectors:function(c,u,o,m){var b,l=0;return c.forEach(function(n){(b=n.dataLabel.getBBox().width)>l&&(l=b)}),u?l+m:o-l-m}};E.compose=function(c){X.compose(W),-1===P.indexOf(c)&&(P.push(c),(c=c.prototype).dataLabelPositioners=g,c.alignDataLabel=it,c.drawDataLabels=v,c.placeDataLabels=k,c.verifyDataLabelOverflow=O)}}(M||(M={})),M}),Mt($,"Extensions/OverlappingDataLabels.js",[$["Core/Chart/Chart.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L){var C=!1;if(I){var y=I.newOpacity;I.oldOpacity!==y&&(I.alignAttr&&I.placed?(I[y?"removeClass":"addClass"]("highcharts-data-label-hidden"),C=!0,I.alignAttr.opacity=y,I[I.isOld?"animate":"attr"](I.alignAttr,null,function(){L.styledMode||I.css({pointerEvents:y?"auto":"none"})}),Q(L,"afterHideOverlappingLabel")):I.attr({opacity:y})),I.isOld=!0}return C}var Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.objectEach,F=Y.pick;(0,Y.addEvent)(X,"render",function(){var I=this,L=[];(this.labelCollectors||[]).forEach(function(C){L=L.concat(C())}),(this.yAxis||[]).forEach(function(C){C.stacking&&C.options.stackLabels&&!C.options.stackLabels.allowOverlap&&W(C.stacking.stacks,function(y){W(y,function(S){S.label&&L.push(S.label)})})}),(this.series||[]).forEach(function(C){var y=C.options.dataLabels;C.visible&&(!1!==y.enabled||C._hasPointLabels)&&((y=function(S){return S.forEach(function(M){M.visible&&(it(M.dataLabels)?M.dataLabels:M.dataLabel?[M.dataLabel]:[]).forEach(function(E){var v=E.options;E.labelrank=F(v.labelrank,M.labelrank,M.shapeArgs&&M.shapeArgs.height),v.allowOverlap?(E.oldOpacity=E.opacity,E.newOpacity=1,et(E,I)):L.push(E)})})})(C.nodes||[]),y(C.points))}),this.hideOverlappingLabels(L)}),X.prototype.hideOverlappingLabels=function(I){var S,M,E,L=this,C=I.length,y=L.renderer,v=!1,k=function(g){var c,m,u=g.box?0:g.padding||0,o=c=0;if(g&&(!g.alignAttr||g.placed)){var l=g.alignAttr||{x:g.attr("x"),y:g.attr("y")},b=g.parentGroup;return g.width||(c=g.getBBox(),g.width=c.width,g.height=c.height,c=y.fontMetrics(null,g.element).h),(m={left:"0",center:"0.5",right:"1"}[g.alignValue])?o=+m*(g.width-2*u):K(g.x)&&Math.round(g.x)!==g.translateX&&(o=g.x-g.translateX),{x:l.x+(b.translateX||0)+u-(o||0),y:l.y+(b.translateY||0)+u-c,width:g.width-2*u,height:g.height-2*u}}};for(M=0;M<C;M++)(S=I[M])&&(S.oldOpacity=S.opacity,S.newOpacity=1,S.absoluteBox=k(S));for(I.sort(function(g,c){return(c.labelrank||0)-(g.labelrank||0)}),M=0;M<C;M++){var O=(k=I[M])&&k.absoluteBox;for(S=M+1;S<C;++S){var P=(E=I[S])&&E.absoluteBox;!O||!P||k===E||0===k.newOpacity||0===E.newOpacity||"hidden"===k.visibility||"hidden"===E.visibility||P.x>=O.x+O.width||P.x+P.width<=O.x||P.y>=O.y+O.height||P.y+P.height<=O.y||((k.labelrank<E.labelrank?k:E).newOpacity=0)}}I.forEach(function(g){et(g,L)&&(v=!0)}),v&&Q(L,"afterHideAllOverlappingLabels")}}),Mt($,"Core/Responsive.js",[$["Core/Utilities.js"]],function(X){var L,Y=X.extend,et=X.find,rt=X.isArray,Q=X.isObject,it=X.merge,K=X.objectEach,W=X.pick,F=X.splat,I=X.uniqueKey;return function(C){var y=[];C.compose=function(M){return-1===y.indexOf(M)&&(y.push(M),Y(M.prototype,S.prototype)),M};var S=function(){function M(){}return M.prototype.currentOptions=function(E){var k=this,O={};return function v(P,g,c,u){var o;K(P,function(m,l){if(!u&&-1<k.collectionsWithUpdate.indexOf(l)&&g[l])for(m=F(m),c[l]=[],o=0;o<Math.max(m.length,g[l].length);o++)g[l][o]&&(void 0===m[o]?c[l][o]=g[l][o]:(c[l][o]={},v(m[o],g[l][o],c[l][o],u+1)));else Q(m)?(c[l]=rt(m)?[]:{},v(m,g[l]||{},c[l],u+1)):c[l]=void 0===g[l]?null:g[l]})}(E,this.options,O,0),O},M.prototype.matchResponsiveRule=function(E,v){var k=E.condition;(k.callback||function(){return this.chartWidth<=W(k.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=W(k.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=W(k.minWidth,0)&&this.chartHeight>=W(k.minHeight,0)}).call(this)&&v.push(E._id)},M.prototype.setResponsive=function(E,v){var k=this,O=this.options.responsive,P=this.currentResponsive,g=[];!v&&O&&O.rules&&O.rules.forEach(function(c){void 0===c._id&&(c._id=I()),k.matchResponsiveRule(c,g)},this),(v=it.apply(void 0,g.map(function(c){return et((O||{}).rules||[],function(u){return u._id===c})}).map(function(c){return c&&c.chartOptions}))).isResponsiveOptions=!0,(g=g.toString()||void 0)!==(P&&P.ruleIds)&&(P&&this.update(P.undoOptions,E,!0),g?((P=this.currentOptions(v)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:g,mergedOptions:v,undoOptions:P},this.update(v,E,!0)):this.currentResponsive=void 0)},M}()}(L||(L={})),L}),Mt($,"masters/highcharts.src.js",[$["Core/Globals.js"],$["Core/Utilities.js"],$["Core/DefaultOptions.js"],$["Core/Animation/Fx.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/FormatUtilities.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Renderer/HTML/HTMLElement.js"],$["Core/Renderer/HTML/HTMLRenderer.js"],$["Core/Axis/Axis.js"],$["Core/Axis/DateTimeAxis.js"],$["Core/Axis/LogarithmicAxis.js"],$["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],$["Core/Axis/Tick.js"],$["Core/Tooltip.js"],$["Core/Series/Point.js"],$["Core/Pointer.js"],$["Core/MSPointer.js"],$["Core/Legend/Legend.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Series/Column/ColumnSeries.js"],$["Series/Column/ColumnDataLabel.js"],$["Series/Pie/PieSeries.js"],$["Series/Pie/PieDataLabel.js"],$["Core/Series/DataLabel.js"],$["Core/Responsive.js"],$["Core/Color/Color.js"],$["Core/Time.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M,E,v,k,O,P,g,c,u,o,m,l,b,n,r,f,T,w,D){return X.animate=Q.animate,X.animObject=Q.animObject,X.getDeferredAnimation=Q.getDeferredAnimation,X.setAnimation=Q.setAnimation,X.stop=Q.stop,X.timers=rt.timers,X.AST=it,X.Axis=y,X.Chart=u,X.chart=u.chart,X.Fx=rt,X.Legend=c,X.PlotLineOrBand=E,X.Point=O,X.Pointer=g.isRequired()?g:P,X.Series=o,X.SVGElement=F,X.SVGRenderer=I,X.Tick=v,X.Time=D,X.Tooltip=k,X.Color=w,X.color=w.parse,C.compose(I),L.compose(F),X.defaultOptions=et.defaultOptions,X.getOptions=et.getOptions,X.time=et.defaultTime,X.setOptions=et.setOptions,X.dateFormat=K.dateFormat,X.format=K.format,X.numberFormat=K.numberFormat,X.addEvent=Y.addEvent,X.arrayMax=Y.arrayMax,X.arrayMin=Y.arrayMin,X.attr=Y.attr,X.clearTimeout=Y.clearTimeout,X.correctFloat=Y.correctFloat,X.createElement=Y.createElement,X.css=Y.css,X.defined=Y.defined,X.destroyObjectProperties=Y.destroyObjectProperties,X.discardElement=Y.discardElement,X.distribute=W.distribute,X.erase=Y.erase,X.error=Y.error,X.extend=Y.extend,X.extendClass=Y.extendClass,X.find=Y.find,X.fireEvent=Y.fireEvent,X.getMagnitude=Y.getMagnitude,X.getStyle=Y.getStyle,X.inArray=Y.inArray,X.isArray=Y.isArray,X.isClass=Y.isClass,X.isDOMElement=Y.isDOMElement,X.isFunction=Y.isFunction,X.isNumber=Y.isNumber,X.isObject=Y.isObject,X.isString=Y.isString,X.keys=Y.keys,X.merge=Y.merge,X.normalizeTickInterval=Y.normalizeTickInterval,X.objectEach=Y.objectEach,X.offset=Y.offset,X.pad=Y.pad,X.pick=Y.pick,X.pInt=Y.pInt,X.relativeLength=Y.relativeLength,X.removeEvent=Y.removeEvent,X.seriesType=m.seriesType,X.splat=Y.splat,X.stableSort=Y.stableSort,X.syncTimeout=Y.syncTimeout,X.timeUnits=Y.timeUnits,X.uniqueKey=Y.uniqueKey,X.useSerialIds=Y.useSerialIds,X.wrap=Y.wrap,b.compose(l),f.compose(o),S.compose(y),M.compose(y),r.compose(n),E.compose(y),T.compose(u),X}),Mt($,"Core/Axis/Color/ColorAxisComposition.js",[$["Core/Color/Color.js"],$["Core/Utilities.js"]],function(X,Y){var F,et=X.parse,rt=Y.addEvent,Q=Y.extend,it=Y.merge,K=Y.pick,W=Y.splat;return function(I){function L(){var o=this,m=this.options;this.colorAxis=[],m.colorAxis&&(m.colorAxis=W(m.colorAxis),m.colorAxis.forEach(function(l,b){l.index=b,new u(o,l)}))}function C(o){var n,r,m=this,l=function(f){-1!==(f=o.allItems.indexOf(f))&&(m.destroyItem(o.allItems[f]),o.allItems.splice(f,1))},b=[];for((this.chart.colorAxis||[]).forEach(function(f){(n=f.options)&&n.showInLegend&&(n.dataClasses&&n.visible?b=b.concat(f.getDataClassLegendSymbols()):n.visible&&b.push(f),f.series.forEach(function(T){(!T.options.showInLegend||n.dataClasses)&&("point"===T.options.legendType?T.points.forEach(function(w){l(w)}):l(T))}))}),r=b.length;r--;)o.allItems.unshift(b[r])}function y(o){o.visible&&o.item.legendColor&&o.item.legendSymbol.attr({fill:o.item.legendColor})}function S(){var o=this.chart.colorAxis;o&&o.forEach(function(m,l,b){m.update({},b)})}function M(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function E(){var o=this.axisTypes;o?-1===o.indexOf("colorAxis")&&o.push("colorAxis"):this.axisTypes=["colorAxis"]}function v(o){var m=this,l=o?"show":"hide";m.visible=m.options.visible=!!o,["graphic","dataLabel"].forEach(function(b){m[b]&&m[b][l]()}),this.series.buildKDTree()}function k(){var o=this,m=this.options.nullColor,l=this.colorAxis,b=this.colorKey;(this.data.length?this.data:this.points).forEach(function(n){var r=n.getNestedProperty(b);(r=n.options.color||(n.isNull||null===n.value?m:l&&void 0!==r?l.toColor(r,n):n.color||o.color))&&n.color!==r&&(n.color=r,"point"===o.options.legendType&&n.legendItem&&o.chart.legend.colorizeItem(n,n.visible))})}function P(){this.elem.attr("fill",et(this.start).tweenTo(et(this.end),this.pos),void 0,!0)}function g(){this.elem.attr("stroke",et(this.start).tweenTo(et(this.end),this.pos),void 0,!0)}var u,c=[];I.compose=function(o,m,l,b,n){u||(u=o),-1===c.indexOf(m)&&(c.push(m),(o=m.prototype).collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],rt(m,"afterGetAxes",L),function O(o){var m=o.prototype.createAxis;o.prototype.createAxis=function(l,b){if("colorAxis"!==l)return m.apply(this,arguments);var n=new u(this,it(b.axis,{index:this[l].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(function(r){r.series=[]}),this.series.forEach(function(r){r.bindAxes(),r.isDirtyData=!0}),K(b.redraw,!0)&&this.redraw(b.animation),n}}(m)),-1===c.indexOf(l)&&(c.push(l),(m=l.prototype).fillSetter=P,m.strokeSetter=g),-1===c.indexOf(b)&&(c.push(b),rt(b,"afterGetAllItems",C),rt(b,"afterColorizeItem",y),rt(b,"afterUpdate",S)),-1===c.indexOf(n)&&(c.push(n),Q(n.prototype,{optionalAxis:"colorAxis",translateColors:k}),Q(n.prototype.pointClass.prototype,{setVisible:v}),rt(n,"afterTranslate",M),rt(n,"bindAxes",E))},I.pointSetVisible=v}(F||(F={})),F}),Mt($,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{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}}),Mt($,"Core/Axis/Color/ColorAxis.js",[$["Core/Axis/Axis.js"],$["Core/Color/Color.js"],$["Core/Axis/Color/ColorAxisComposition.js"],$["Core/Axis/Color/ColorAxisDefaults.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var v,F=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)}),I=Y.parse,L=Q.noop,C=K.series,y=W.extend,S=W.isNumber,M=W.merge,E=W.pick;return Y=function(v){function k(O,P){var g=v.call(this,O,P)||this;return g.beforePadding=!1,g.chart=void 0,g.coll="colorAxis",g.dataClasses=void 0,g.legendItem=void 0,g.legendItems=void 0,g.name="",g.options=void 0,g.stops=void 0,g.visible=!0,g.init(O,P),g}return F(k,v),k.compose=function(O,P,g,c){et.compose(k,O,P,g,c)},k.prototype.init=function(O,P){var g=O.options.legend||{},c=P.layout?"vertical"!==P.layout:"vertical"!==g.layout,u=P.visible;g=M(k.defaultColorAxisOptions,P,{showEmpty:!1,title:null,visible:g.enabled&&!1!==u}),this.coll="colorAxis",this.side=P.side||c?2:1,this.reversed=P.reversed||!c,this.opposite=!c,v.prototype.init.call(this,O,g),this.userOptions.visible=u,P.dataClasses&&this.initDataClasses(P),this.initStops(),this.horiz=c,this.zoomEnabled=!1},k.prototype.initDataClasses=function(O){var u,P=this.chart,g=this.options,c=O.dataClasses.length,o=0,m=P.options.chart.colorCount;this.dataClasses=u=[],this.legendItems=[],(O.dataClasses||[]).forEach(function(l,b){l=M(l),u.push(l),(P.styledMode||!l.color)&&("category"===g.dataClassColor?(P.styledMode||(m=(b=P.options.colors).length,l.color=b[o]),l.colorIndex=o,++o===m&&(o=0)):l.color=I(g.minColor).tweenTo(I(g.maxColor),2>c?.5:b/(c-1)))})},k.prototype.hasData=function(){return!!(this.tickPositions||[]).length},k.prototype.setTickPositions=function(){if(!this.dataClasses)return v.prototype.setTickPositions.call(this)},k.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]],this.stops.forEach(function(O){O.color=I(O[1])})},k.prototype.setOptions=function(O){v.prototype.setOptions.call(this,O),this.options.crosshair=this.options.marker},k.prototype.setAxisSize=function(){var c,u,O=this.legendSymbol,P=this.chart,g=P.options.legend||{};O?(this.left=g=O.attr("x"),this.top=c=O.attr("y"),this.width=u=O.attr("width"),this.height=O=O.attr("height"),this.right=P.chartWidth-g-u,this.bottom=P.chartHeight-c-O,this.len=this.horiz?u:O,this.pos=this.horiz?g:c):this.len=(this.horiz?g.symbolWidth:g.symbolHeight)||k.defaultLegendLength},k.prototype.normalizedValue=function(O){return this.logarithmic&&(O=this.logarithmic.log2lin(O)),1-(this.max-O)/(this.max-this.min||1)},k.prototype.toColor=function(O,P){var u,g=this.dataClasses,c=this.stops;if(g)for(u=g.length;u--;){var o=g[u],m=o.from;if(c=o.to,(void 0===m||O>=m)&&(void 0===c||O<=c)){var l=o.color;P&&(P.dataClass=u,P.colorIndex=o.colorIndex);break}}else{for(O=this.normalizedValue(O),u=c.length;u--&&!(O>c[u][0]););l=(m=c[u]||c[u+1]).color.tweenTo((c=c[u+1]||m).color,O=1-(c[0]-O)/(c[0]-m[0]||1))}return l},k.prototype.getOffset=function(){var O=this.legendGroup,P=this.chart.axisOffset[this.side];if(O){this.axisParent=O,v.prototype.getOffset.call(this);var g=this.chart.legend;g.allItems.forEach(function(c){c instanceof k&&c.drawLegendSymbol(g,c)}),g.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=P}},k.prototype.setLegendColor=function(){var O=this.reversed,P=O?1:0;O=O?0:1,this.legendColor={linearGradient:{x1:(P=this.horiz?[P,0,O,0]:[0,O,0,P])[0],y1:P[1],x2:P[2],y2:P[3]},stops:this.stops}},k.prototype.drawLegendSymbol=function(O,P){var g=O.padding,c=O.options,u=this.horiz,o=E(c.symbolWidth,u?k.defaultLegendLength:12),m=E(c.symbolHeight,u?12:k.defaultLegendLength),l=E(c.labelPadding,u?16:30);c=E(c.itemDistance,10),this.setLegendColor(),P.legendSymbol||(P.legendSymbol=this.chart.renderer.rect(0,O.baseline-11,o,m).attr({zIndex:1}).add(P.legendGroup)),this.legendItemWidth=o+g+(u?c:this.options.labels.x+this.maxLabelLength),this.legendItemHeight=m+g+(u?l:0)},k.prototype.setState=function(O){this.series.forEach(function(P){P.setState(O)})},k.prototype.setVisible=function(){},k.prototype.getSeriesExtremes=function(){var g,O=this.series,P=O.length;for(this.dataMin=1/0,this.dataMax=-1/0;P--;){var c=O[P],u=c.colorKey=E(c.options.colorKey,c.colorKey,c.pointValKey,c.zoneAxis,"y"),o=c.pointArrayMap,m=c[u+"Min"]&&c[u+"Max"];if(c[u+"Data"])var l=c[u+"Data"];else if(o){l=[],o=o.indexOf(u);var b=c.yData;if(0<=o&&b)for(g=0;g<b.length;g++)l.push(E(b[g][o],b[g]))}else l=c.yData;m?(c.minColorValue=c[u+"Min"],c.maxColorValue=c[u+"Max"]):(l=C.prototype.getExtremes.call(c,l),c.minColorValue=l.dataMin,c.maxColorValue=l.dataMax),void 0!==c.minColorValue&&(this.dataMin=Math.min(this.dataMin,c.minColorValue),this.dataMax=Math.max(this.dataMax,c.maxColorValue)),m||C.prototype.applyExtremes.call(c)}},k.prototype.drawCrosshair=function(O,P){var g=P&&P.plotX,c=P&&P.plotY,u=this.pos,o=this.len;if(P){var m=this.toPixels(P.getNestedProperty(P.series.colorKey));m<u?m=u-2:m>u+o&&(m=u+o+2),P.plotX=m,P.plotY=this.len-m,v.prototype.drawCrosshair.call(this,O,P),P.plotX=g,P.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||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}},k.prototype.getPlotLinePath=function(O){var P=this.left,g=O.translatedValue,c=this.top;return S(g)?this.horiz?[["M",g-4,c-6],["L",g+4,c-6],["L",g,c],["Z"]]:[["M",P,g],["L",P-6,g+6],["L",P-6,g-6],["Z"]]:v.prototype.getPlotLinePath.call(this,O)},k.prototype.update=function(O,P){var g=this.chart.legend;this.series.forEach(function(c){c.isDirtyData=!0}),(O.dataClasses&&g.allItems||this.dataClasses)&&this.destroyItems(),v.prototype.update.call(this,O,P),this.legendItem&&(this.setLegendColor(),g.colorizeItem(this,!0))},k.prototype.destroyItems=function(){var O=this.chart;this.legendItem?O.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(P){O.legend.destroyItem(P)}),O.isDirtyLegend=!0},k.prototype.destroy=function(){this.chart.isDirtyLegend=!0,this.destroyItems(),v.prototype.destroy.apply(this,[].slice.call(arguments))},k.prototype.remove=function(O){this.destroyItems(),v.prototype.remove.call(this,O)},k.prototype.getDataClassLegendSymbols=function(){var m,O=this,P=O.chart,g=O.legendItems,c=P.options.legend,u=c.valueDecimals,o=c.valueSuffix||"";return g.length||O.dataClasses.forEach(function(l,b){var n=l.from,r=l.to,f=P.numberFormatter,T=!0;m="",void 0===n?m="< ":void 0===r&&(m="> "),void 0!==n&&(m+=f(n,u)+o),void 0!==n&&void 0!==r&&(m+=" - "),void 0!==r&&(m+=f(r,u)+o),g.push(y({chart:P,name:m,options:{},drawLegendSymbol:it.drawRectangle,visible:!0,setState:L,isDataClass:!0,setVisible:function(){T=O.visible=!T,O.series.forEach(function(w){w.points.forEach(function(D){D.dataClass===b&&D.setVisible(T)})}),P.legend.colorizeItem(this,T)}},l))}),g},k.defaultColorAxisOptions=rt,k.defaultLegendLength=200,k.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"],k}(X),Array.prototype.push.apply(X.keepProps,Y.keepProps),Y}),Mt($,"Maps/MapNavigationOptionsDefault.js",[$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y){return(Y=Y.extend)(X.defaultOptions.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"}),X.defaultOptions.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}}),Mt($,"Maps/MapNavigation.js",[$["Core/Chart/Chart.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){function rt(y){y&&(y.preventDefault&&y.preventDefault(),y.stopPropagation&&y.stopPropagation(),y.cancelBubble=!0)}function Q(y){this.navButtons=[],this.init(y)}var it=Y.doc,K=et.addEvent,W=et.extend,F=et.isNumber,I=et.merge,L=et.objectEach,C=et.pick;Q.prototype.init=function(y){this.chart=y},Q.prototype.update=function(y){var v,S=this,M=this.chart,E=M.options.mapNavigation,k=function(P){this.handler.call(M,P),rt(P)},O=S.navButtons;for(y&&(E=M.options.mapNavigation=I(M.options.mapNavigation,y));O.length;)O.pop().destroy();C(E.enableButtons,E.enabled)&&!M.renderer.forExport&&(S.navButtonsGroup||(S.navButtonsGroup=M.renderer.g().attr({zIndex:4}).add()),L(E.buttons,function(P,g){P=I(E.buttonOptions,P),!M.styledMode&&P.theme&&((v=P.theme).style=I(P.theme.style,P.style));var c=M.renderer.button(P.text||"",0,0,k,v,void 0,void 0,void 0,"zoomIn"===g?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[g]).attr({width:P.width,height:P.height,title:M.options.lang[g],padding:P.padding,zIndex:5}).add(S.navButtonsGroup);if(c.handler=P.onclick,K(c.element,"dblclick",rt),O.push(c),W(P,{width:c.width,height:2*c.height}),M.hasLoaded)c.align(P,!1,P.alignTo);else var u=K(M,"load",function(){c.element&&c.align(P,!1,P.alignTo),u()})}),y=function(){var P=M.exportingGroup&&M.exportingGroup.getBBox();if(P){var g=S.navButtonsGroup.getBBox();if(!(g.x>=P.x+P.width||g.x+g.width<=P.x||g.y>=P.y+P.height||g.y+g.height<=P.y)){var c=-g.y-g.height+P.y-5;P=P.y+P.height-g.y+5,S.navButtonsGroup.attr({translateY:"bottom"===(E.buttonOptions&&E.buttonOptions.verticalAlign)?c:P})}}},M.hasLoaded||K(M,"render",y)),this.updateEvents(E)},Q.prototype.updateEvents=function(y){var S=this.chart;C(y.enableDoubleClickZoom,y.enabled)||y.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||K(S.container,"dblclick",function(M){S.pointer.onContainerDblClick(M)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),C(y.enableMouseWheelZoom,y.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||K(S.container,void 0!==it.onwheel?"wheel":void 0!==it.onmousewheel?"mousewheel":"DOMMouseScroll",function(M){return S.pointer.inClass(M.target,"highcharts-no-mousewheel")||(S.pointer.onContainerMouseWheel(M),rt(M)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())},W(X.prototype,{fitToBox:function(y,S){return[["x","width"],["y","height"]].forEach(function(M){var E=M[0];y[E]+y[M=M[1]]>S[E]+S[M]&&(y[M]>S[M]?(y[M]=S[M],y[E]=S[E]):y[E]=S[E]+S[M]-y[M]),y[M]>S[M]&&(y[M]=S[M]),y[E]<S[E]&&(y[E]=S[E])}),y},mapZoom:function(y,S,M,E,v){this.mapView&&(F(y)&&(y=Math.log(y)/Math.log(.5)),this.mapView.zoomBy(y,F(S)&&F(M)?this.mapView.projection.inverse([S,M]):void 0,F(E)&&F(v)?[E,v]:void 0))}}),K(X,"beforeRender",function(){this.mapNavigation=new Q(this),this.mapNavigation.update()}),Y.MapNavigation=Q}),Mt($,"Maps/MapPointer.js",[$["Core/Pointer.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.defined,rt=Y.extend,Q=Y.pick;Y=Y.wrap;var W,it=X.prototype.normalize,K=0;rt(X.prototype,{normalize:function(F,I){var L=this.chart;return F=it.call(this,F,I),L&&L.mapView&&(I=L.mapView.pixelsToLonLat({x:F.chartX-L.plotLeft,y:F.chartY-L.plotTop}))&&rt(F,I),F},onContainerDblClick:function(F){var I=this.chart;F=this.normalize(F),I.options.mapNavigation.enableDoubleClickZoomTo?I.pointer.inClass(F.target,"highcharts-tracker")&&I.hoverPoint&&I.hoverPoint.zoomTo():I.isInsidePlot(F.chartX-I.plotLeft,F.chartY-I.plotTop)&&I.mapZoom(.5,void 0,void 0,F.chartX,F.chartY)},onContainerMouseWheel:function(F){var I=this.chart;F=this.normalize(F);var L=et(F.wheelDelta)&&-F.wheelDelta/120||F.deltaY||F.detail;1<=Math.abs(L)&&(K+=Math.abs(L),W&&clearTimeout(W),W=setTimeout(function(){K=0},50)),10>K&&I.isInsidePlot(F.chartX-I.plotLeft,F.chartY-I.plotTop)&&I.mapView&&I.mapView.zoomBy((I.options.mapNavigation.mouseWheelSensitivity-1)*-L,void 0,[F.chartX,F.chartY],!(1>Math.abs(L))&&void 0)}}),Y(X.prototype,"zoomOption",function(F){var I=this.chart.options.mapNavigation;Q(I.enableTouchZoom,I.enabled)&&(this.chart.options.chart.pinchType="xy"),F.apply(this,[].slice.call(arguments,1))}),Y(X.prototype,"pinchTranslate",function(F,I,L,C,y,S,M){F.call(this,I,L,C,y,S,M),"map"===this.chart.options.chart.type&&this.hasZoom&&this.pinchTranslateDirection(!(F=C.scaleX>C.scaleY),I,L,C,y,S,M,F?C.scaleX:C.scaleY)})}),Mt($,"Series/ColorMapMixin.js",[$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=X.noop;X=X.seriesTypes;var Q=et.defined;return(et=et.addEvent)(Y,"afterSetState",function(it){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:it&&"hover"===it.state?1:0})}),{PointMixin:{dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0}},SeriesMixin:{pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:rt,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:X.column.prototype.pointAttribs,colorAttribs:function(it){var K={};return!Q(it.color)||it.state&&"normal"!==it.state||(K[this.colorProp||"fill"]=it.color),K}}}}),Mt($,"Maps/MapSymbols.js",[$["Core/Renderer/SVG/SVGRenderer.js"]],function(X){function Y(et,rt,Q,it,K,W,F,I){return[["M",et+K,rt],["L",et+Q-W,rt],["C",et+Q-W/2,rt,et+Q,rt+W/2,et+Q,rt+W],["L",et+Q,rt+it-F],["C",et+Q,rt+it-F/2,et+Q-F/2,rt+it,et+Q-F,rt+it],["L",et+I,rt+it],["C",et+I/2,rt+it,et,rt+it-I/2,et,rt+it-I],["L",et,rt+K],["C",et,rt+K/2,et+K/2,rt,et+K,rt],["Z"]]}return(X=X.prototype.symbols).bottombutton=function(et,rt,Q,it,K){return Y(et-1,rt-1,Q,it,0,0,K=K&&K.r||0,K)},X.topbutton=function(et,rt,Q,it,K){return Y(et-1,rt-1,Q,it,K=K&&K.r||0,K,0,0)},X}),Mt($,"Core/Chart/MapChart.js",[$["Core/Chart/Chart.js"],$["Core/DefaultOptions.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),it=Y.getOptions,K=rt.merge,W=rt.pick;return X=function(F){function I(){return null!==F&&F.apply(this,arguments)||this}return Q(I,F),I.prototype.init=function(L,C){var y=it().credits;L=K({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:W(y.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:W(y.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},L),F.prototype.init.call(this,L,C)},I}(X),function(F){F.maps={},F.mapChart=function(I,L,C){return new F(I,L,C)},F.splitPath=function(I){return"string"==typeof I&&(I=(I=I.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(function(L){return/[A-za-z]/.test(L)?L:parseFloat(L)})),et.prototype.pathToSegments(I)}}(X||(X={})),X}),Mt($,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(X){var it,Y=-Number.MAX_VALUE,et=Number.MAX_VALUE,rt=-Number.MAX_VALUE,Q=Number.MAX_VALUE;if(X.forEach(function(K){var W=K[K.length-2];K=K[K.length-1],"number"==typeof W&&"number"==typeof K&&(et=Math.min(et,W),Y=Math.max(Y,W),Q=Math.min(Q,K),rt=Math.max(rt,K),it=!0)}),it)return{x1:et,y1:Q,x2:Y,y2:rt}},pointInPolygon:function(X,Y){var et,rt=!1,Q=X.x,it=X.y;for(X=0,et=Y.length-1;X<Y.length;et=X++)Y[X][1]>it!=Y[et][1]>it&&Q<(Y[et][0]-Y[X][0])*(it-Y[X][1])/(Y[et][1]-Y[X][1])+Y[X][0]&&(rt=!rt);return rt}}}),Mt($,"Series/Map/MapPoint.js",[$["Series/ColorMapMixin.js"],$["Maps/MapUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var I,Q=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),it=Y.boundsFromPath,K=rt.extend,W=rt.isNumber,F=rt.pick;return Y=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.options=void 0,C.path=void 0,C.series=void 0,C}return Q(L,I),L.getProjectedPath=function(C,y){return C.projectedPath||(y&&C.geometry?(y.hasCoordinates=!0,C.projectedPath=y.path(C.geometry)):C.projectedPath=C.path),C.projectedPath||[]},L.prototype.applyOptions=function(C,y){var S=this.series;return C=I.prototype.applyOptions.call(this,C,y),y=S.joinBy,S.mapData&&S.mapMap&&((S=void 0!==(y=I.prototype.getNestedProperty.call(C,y[1]))&&S.mapMap[y])?K(C,S):C.value=C.value||null),C},L.prototype.getProjectedBounds=function(C){C=L.getProjectedPath(this,C),C=it(C);var y=this.properties;if(C){var S=y&&y["hc-middle-x"];return y=y&&y["hc-middle-y"],C.midX=C.x1+(C.x2-C.x1)*F(this.middleX,W(S)?S:.5),S=F(this.middleY,W(y)?y:.5),this.geometry||(S=1-S),C.midY=C.y2-(C.y2-C.y1)*S,C}},L.prototype.onMouseOver=function(C){rt.clearTimeout(this.colorInterval),null!==this.value||this.series.options.nullInteraction?I.prototype.onMouseOver.call(this,C):this.series.onMouseOut(C)},L.prototype.zoomTo=function(){var C=this.series.chart;C.mapView&&this.bounds&&(C.mapView.fitToBounds(this.bounds,void 0,!1),this.series.isDirty=!0,C.redraw())},L}(et.seriesTypes.scatter.prototype.pointClass),K(Y.prototype,{dataLabelOnNull:X.PointMixin.dataLabelOnNull,isValid:X.PointMixin.isValid,moveToTopOnHover:X.PointMixin.moveToTopOnHover}),Y}),Mt($,"Maps/MapViewOptionsDefault.js",[],function(){return{center:[0,0],maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0}}),Mt($,"Maps/MapViewInsetsOptionsDefault.js",[],function(){return{borderColor:"#cccccc",borderWidth:1,center:[0,0],padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}),Mt($,"Extensions/GeoJSON.js",[$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Maps/MapUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){function it(y,S){if(S||(S=Object.keys(y.objects)[0]),(S=y.objects[S])["hc-decoded-geojson"])return S["hc-decoded-geojson"];var M=y.arcs;if(y.transform){var E=y.transform,v=E.scale,k=E.translate;M=y.arcs.map(function(P){var g=0,c=0;return P.map(function(u){return(u=u.slice())[0]=(g+=u[0])*v[0]+k[0],u[1]=(c+=u[1])*v[1]+k[1],u})})}var O=function(P){return"number"==typeof P[0]?P.reduce(function(g,c,u){var o=0>c?M[~c]:M[c];return 0>c?(o=o.slice(0,0===u?o.length:o.length-1)).reverse():u&&(o=o.slice(1)),g.concat(o)},[]):P.map(O)};return E=S.geometries.map(function(P){return{type:"Feature",properties:P.properties,geometry:{type:P.type,coordinates:P.coordinates||O(P.arcs)}}}),S["hc-decoded-geojson"]={type:"FeatureCollection",copyright:y.copyright,copyrightShort:y.copyrightShort,copyrightUrl:y.copyrightUrl,features:E,"hc-recommended-mapview":S["hc-recommended-mapview"],bbox:y.bbox,title:y.title}}function K(y,S,M){void 0===S&&(S="map");var E=[];return(y="Topology"===y.type?it(y):y).features.forEach(function(v){var P,k=v.geometry||{},O=k.type;k=k.coordinates,v=v.properties,("map"!==S&&"mapbubble"!==S||"Polygon"!==O&&"MultiPolygon"!==O)&&("mapline"!==S||"LineString"!==O&&"MultiLineString"!==O)?"mappoint"===S&&"Point"===O&&k.length&&(P={geometry:{coordinates:k,type:O}}):k.length&&(P={geometry:{coordinates:k,type:O}}),P&&E.push(L(P,{name:"string"==typeof(O=v&&(v.name||v.NAME))?O:void 0,properties:v}))}),M&&y.copyrightShort&&(M.chart.mapCredits=W(M.chart.options.credits.mapText,{geojson:y}),M.chart.mapCreditsFull=W(M.chart.options.credits.mapTextFull,{geojson:y})),E}var W=Y.format,F=et.win,I=Q.error,L=Q.extend,C=Q.merge;return Y=Q.wrap,X.prototype.transformFromLatLon=function(y,S){var M=this.options.chart.proj4||F.proj4;if(M){var E=S.jsonmarginX;E=void 0===E?0:E;var v=S.jsonmarginY;v=void 0===v?0:v;var k=S.jsonres;k=void 0===k?1:k;var O=S.scale;O=void 0===O?1:O;var P=S.xoffset;P=void 0===P?0:P;var g=S.xpan;g=void 0===g?0:g;var c=S.yoffset;c=void 0===c?0:c;var u=S.ypan;u=void 0===u?0:u,y=M(S.crs,[y.lon,y.lat]),M=S.cosAngle||S.rotation&&Math.cos(S.rotation);var o=S.sinAngle||S.rotation&&Math.sin(S.rotation);return{x:(((S=S.rotation?[y[0]*M+y[1]*o,-y[0]*o+y[1]*M]:y)[0]-P)*O+g)*k+E,y:-(((c-S[1])*O+u)*k-v)}}I(21,!1,this)},X.prototype.transformToLatLon=function(y,S){var M=this.options.chart.proj4||F.proj4;if(M){if(null!==y.y){var E=S.jsonmarginX,v=S.jsonmarginY,k=S.jsonres,O=S.scale,P=S.xoffset,g=S.xpan,c=S.yoffset,u=S.ypan;return y={x:((y.x-(void 0===E?0:E))/(k=void 0===k?1:k)-(void 0===g?0:g))/(O=void 0===O?1:O)+(void 0===P?0:P),y:((y.y-(void 0===v?0:v))/k+(void 0===u?0:u))/O+(void 0===c?0:c)},E=S.cosAngle||S.rotation&&Math.cos(S.rotation),v=S.sinAngle||S.rotation&&Math.sin(S.rotation),{lat:(S=M(S.crs,"WGS84",S.rotation?{x:y.x*E+y.y*-v,y:y.x*v+y.y*E}:y)).y,lon:S.x}}}else I(21,!1,this)},X.prototype.fromPointToLatLon=function(y){return this.mapView&&this.mapView.projectedUnitsToLonLat(y)},X.prototype.fromLatLonToPoint=function(y){return this.mapView&&this.mapView.lonLatToProjectedUnits(y)},Y(X.prototype,"addCredits",function(y,S){S=C(!0,this.options.credits,S),this.mapCredits&&(S.href=null),y.call(this,S),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}),et.geojson=K,{geojson:K,topo2geo:it}}),Mt($,"Core/Geometry/PolygonClip.js",[],function(){var et,rt,X=function(rt,Q,it){return(Q[0]-rt[0])*(it[1]-rt[1])>(Q[1]-rt[1])*(it[0]-rt[0])},Y=function(rt,Q,it,K){var W=[rt[0]-Q[0],rt[1]-Q[1]],F=[it[0]-K[0],it[1]-K[1]];return(W=[((rt=rt[0]*Q[1]-rt[1]*Q[0])*F[0]-(it=it[0]*K[1]-it[1]*K[0])*W[0])*(K=1/(W[0]*F[1]-W[1]*F[0])),(rt*F[1]-it*W[1])*K]).isIntersection=!0,W};return(rt=et||(et={})).clipLineString=function(Q,it){var K=[];for(Q=rt.clipPolygon(Q,it,!1),it=1;it<Q.length;it++)Q[it].isIntersection&&Q[it-1].isIntersection&&(K.push(Q.splice(0,it)),it=0),it===Q.length-1&&K.push(Q);return K},rt.clipPolygon=function(Q,it,K){void 0===K&&(K=!0);for(var F,I,W=it[it.length-1],L=Q,C=0;C<it.length;C++){var y=L;Q=it[C],L=[],F=K?y[y.length-1]:y[0];for(var S=0;S<y.length;S++)X(W,Q,I=y[S])?(X(W,Q,F)||L.push(Y(W,Q,F,I)),L.push(I)):X(W,Q,F)&&L.push(Y(W,Q,F,I)),F=I;W=Q}return L},et}),Mt($,"Maps/Projections/LambertConformalConic.js",[],function(){var X=Math.sign||function(rt){return 0===rt?0:0<rt?1:-1},Y=Math.PI/180,et=Math.PI/2;return function(){function rt(Q){var it,K=(Q.parallels||[]).map(function(F){return F*Y}),W=K[0]||0;K=null!==(it=K[1])&&void 0!==it?it:W,it=Math.cos(W),"object"==typeof Q.projectedBounds&&(this.projectedBounds=Q.projectedBounds),Q=W===K?Math.sin(W):Math.log(it/Math.cos(K))/Math.log(Math.tan((et+K)/2)/Math.tan((et+W)/2)),1e-10>Math.abs(Q)&&(Q=1e-10*(X(Q)||1)),this.n=Q,this.c=it*Math.pow(Math.tan((et+W)/2),Q)/Q}return rt.prototype.forward=function(Q){var it=Q[0]*Y,K=this.c,W=this.n,F=this.projectedBounds;Q=Q[1]*Y,0<K?Q<1e-6-et&&(Q=1e-6-et):Q>et-1e-6&&(Q=et-1e-6);var I=K/Math.pow(Math.tan((et+Q)/2),W);return K=[Q=I*Math.sin(W*it)*63.78137,it=63.78137*(K-I*Math.cos(W*it))],F&&(Q<F.x1||Q>F.x2||it<F.y1||it>F.y2)&&(K.outside=!0),K},rt.prototype.inverse=function(Q){var it=Q[0]/63.78137,K=this.c,W=this.n;Q=K-Q[1]/63.78137;var F=X(W)*Math.sqrt(it*it+Q*Q),I=Math.atan2(it,Math.abs(Q))*X(Q);return 0>Q*W&&(I-=Math.PI*X(it)*X(Q)),[I/W/Y,(2*Math.atan(Math.pow(K/F,1/W))-et)/Y]},rt}()}),Mt($,"Maps/Projections/EqualEarth.js",[],function(){var X=Math.sqrt(3)/2;return function(){function Y(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}return Y.prototype.forward=function(et){var rt=Math.PI/180,Q=Math.asin(X*Math.sin(et[1]*rt)),it=Q*Q,K=it*it*it;return[et[0]*rt*Math.cos(Q)*74.03120656864502/(X*(1.340264+3*-.081106*it+K*(7*893e-6+.034164*it))),74.03120656864502*Q*(1.340264+-.081106*it+K*(893e-6+.003796*it))]},Y.prototype.inverse=function(et){var rt=et[0]/74.03120656864502;et=et[1]/74.03120656864502;var K,Q=180/Math.PI,it=et;for(K=0;12>K;++K){var W=it*it,F=W*W*W,I=it*(1.340264+-.081106*W+F*(893e-6+.003796*W))-et;if(it-=I/=W=1.340264+3*-.081106*W+F*(7*893e-6+.034164*W),1e-9>Math.abs(I))break}return[Q*X*rt*(1.340264+3*-.081106*(W=it*it)+W*W*W*(7*893e-6+.034164*W))/Math.cos(it),Q*Math.asin(Math.sin(it)/X)]},Y}()}),Mt($,"Maps/Projections/Miller.js",[],function(){var X=Math.PI/4,Y=Math.PI/180;return function(){function et(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}return et.prototype.forward=function(rt){return[rt[0]*Y*63.78137,79.7267125*Math.log(Math.tan(X+.4*rt[1]*Y))]},et.prototype.inverse=function(rt){return[rt[0]/63.78137/Y,2.5*(Math.atan(Math.exp(rt[1]/63.78137*.8))-X)/Y]},et}()}),Mt($,"Maps/Projections/Orthographic.js",[],function(){var X=Math.PI/180;return function(){function Y(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}return Y.prototype.forward=function(et){var rt=et[0];return et=et[1]*X,et=[Math.cos(et)*Math.sin(rt*X)*63.78460826781007,63.78460826781007*Math.sin(et)],(-90>rt||90<rt)&&(et.outside=!0),et},Y.prototype.inverse=function(et){var rt=et[0]/63.78460826781007;et=et[1]/63.78460826781007;var Q=Math.sqrt(rt*rt+et*et),it=Math.asin(Q),K=Math.sin(it);return[Math.atan2(rt*K,Q*Math.cos(it))/X,Math.asin(Q&&et*K/Q)/X]},Y}()}),Mt($,"Maps/Projections/WebMercator.js",[],function(){var X=Math.PI/180;return function(){function Y(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}return Y.prototype.forward=function(et){var rt=Math.sin(et[1]*X);return rt=[63.78137*et[0]*X,63.78137*Math.log((1+rt)/(1-rt))/2],85.0511287798<Math.abs(et[1])&&(rt.outside=!0),rt},Y.prototype.inverse=function(et){return[et[0]/(63.78137*X),(2*Math.atan(Math.exp(et[1]/63.78137))-Math.PI/2)/X]},Y}()}),Mt($,"Maps/Projections/ProjectionRegistry.js",[$["Maps/Projections/LambertConformalConic.js"],$["Maps/Projections/EqualEarth.js"],$["Maps/Projections/Miller.js"],$["Maps/Projections/Orthographic.js"],$["Maps/Projections/WebMercator.js"]],function(X,Y,et,rt,Q){return{EqualEarth:Y,LambertConformalConic:X,Miller:et,Orthographic:rt,WebMercator:Q}}),Mt($,"Maps/Projection.js",[$["Core/Geometry/PolygonClip.js"],$["Maps/Projections/ProjectionRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=this&&this.__spreadArrays||function(){for(var L=0,C=0,y=arguments.length;C<y;C++)L+=arguments[C].length;L=Array(L);var S=0;for(C=0;C<y;C++)for(var M=arguments[C],E=0,v=M.length;E<v;E++,S++)L[S]=M[E];return L},Q=X.clipLineString,it=X.clipPolygon,K=et.clamp,W=et.erase,F=2*Math.PI/360,I=function(L){return-180>L&&(L+=360),180<L&&(L-=360),L};return function(){function L(C){void 0===C&&(C={}),this.hasGeoProjection=this.hasCoordinates=!1,this.maxLatitude=90,this.options=C;var y=C.name,S=C.projectedBounds,M=C.rotation;this.rotator=M?this.getRotator(M):void 0,(y=y?L.registry[y]:void 0)&&(this.def=new y(C));var E=this.def,v=this.rotator;E&&(this.maxLatitude=E.maxLatitude||90,this.hasGeoProjection=!0),v&&E?(this.forward=function(k){return E.forward(v.forward(k))},this.inverse=function(k){return v.inverse(E.inverse(k))}):E?(this.forward=function(k){return E.forward(k)},this.inverse=function(k){return E.inverse(k)}):v&&(this.forward=v.forward,this.inverse=v.inverse),this.bounds="world"===S?E&&E.bounds:S}return L.add=function(C,y){L.registry[C]=y},L.greatCircle=function(C,y,S){var M=Math.atan2,E=Math.cos,v=Math.sin,k=Math.sqrt,O=C[1]*F,P=C[0]*F,g=y[1]*F,c=y[0]*F,u=g-O,o=c-P;u=2*M(k(u=v(u/2)*v(u/2)+E(O)*E(g)*v(o/2)*v(o/2)),k(1-u));var m=Math.round(6371e3*u/5e5);if(o=[],S&&o.push(C),1<m)for(m=C=1/m;.999>m;m+=C){var l=v((1-m)*u)/v(u),b=v(m*u)/v(u),n=l*E(O)*E(P)+b*E(g)*E(c),r=l*E(O)*v(P)+b*E(g)*v(c);l=M(l=l*v(O)+b*v(g),k(n*n+r*r)),n=M(r,n),o.push([n/F,l/F])}return S&&o.push(y),o},L.insertGreatCircles=function(C){for(var y=C.length-1;y--;)if(10<Math.max(Math.abs(C[y][0]-C[y+1][0]),Math.abs(C[y][1]-C[y+1][1]))){var S=L.greatCircle(C[y],C[y+1]);S.length&&C.splice.apply(C,rt([y+1,0],S))}},L.toString=function(C){var y=(C=C||{}).rotation;return[C.name,y&&y.join(",")].join(";")},L.prototype.lineIntersectsBounds=function(C){var y=this.bounds||{},S=y.x2,M=y.y1,E=y.y2,v=function(O,P,g){var c=O[0];O=O[1];var u=P?0:1;if("number"==typeof g&&c[P]>=g!=O[P]>=g)return c=c[u]+(g-c[P])/(O[P]-c[P])*(O[u]-c[u]),P?[c,g]:[g,c]},k=C[0];return((y=v(C,0,y.x1))||(y=v(C,0,S)))&&(k=y,C[1]=y),((y=v(C,1,M))||(y=v(C,1,E)))&&(k=y),k},L.prototype.getRotator=function(C){var y=C[0]*F,S=(C[1]||0)*F;C=(C[2]||0)*F;var M=Math.cos(S),E=Math.sin(S),v=Math.cos(C),k=Math.sin(C);if(0!==y||0!==S||0!==C)return{forward:function(O){var P=O[0]*F+y,g=O[1]*F,c=Math.cos(g);return O=Math.cos(P)*c,P=Math.sin(P)*c,c=(g=Math.sin(g))*M+O*E,[Math.atan2(P*v-c*k,O*M-g*E)/F,Math.asin(c*v+P*k)/F]},inverse:function(O){var P=O[0]*F,g=O[1]*F,c=Math.cos(g);return O=Math.cos(P)*c,P=Math.sin(P)*c,c=(g=Math.sin(g))*v-P*k,[(Math.atan2(P*v+g*k,O*M+c*E)-y)/F,Math.asin(c*M-O*E)/F]}}},L.prototype.forward=function(C){return C},L.prototype.inverse=function(C){return C},L.prototype.cutOnAntimeridian=function(C,y){var S=[],M=[C];if(C.forEach(function(o,m){var l=C[m-1];if(!m){if(!y)return;l=C[C.length-1]}var b=l[0],n=o[0];(-90>b||90<b)&&(-90>n||90<n)&&0<b!=0<n&&(n=K((180-(b+360)%360)/((n+360)%360-(b+360)%360),0,1),S.push({i:m,lat:l[1]+n*(o[1]-l[1]),direction:0>b?1:-1,previousLonLat:l,lonLat:o}))}),S.length)if(y){if(S.length%2==1){var E=S.slice().sort(function(o,m){return Math.abs(m.lat)-Math.abs(o.lat)})[0];W(S,E)}for(var v=S.length-2;0<=v;){var k=S[v].i,O=I(180+1e-6*S[v].direction),P=I(180-1e-6*S[v].direction);(k=C.splice.apply(C,rt([k,S[v+1].i-k],L.greatCircle([O,S[v].lat],[O,S[v+1].lat],!0)))).push.apply(k,L.greatCircle([P,S[v+1].lat],[P,S[v].lat],!0)),M.push(k),v-=2}if(E)for(O=0;O<M.length;O++){v=E.direction;var g=E.lat;if(-1<(k=(P=M[O]).indexOf(E.lonLat))){O=(0>g?-1:1)*this.maxLatitude;var c=I(180+1e-6*v),u=I(180-1e-6*v);for(g=L.greatCircle([c,g],[c,O],!0),c+=120*v;-180<c&&180>c;c+=120*v)g.push([c,O]);g.push.apply(g,L.greatCircle([u,O],[u,E.lat],!0)),P.splice.apply(P,rt([k,0],g));break}}}else for(v=S.length;v--;)(k=C.splice(k=S[v].i,C.length,[I(180+1e-6*S[v].direction),S[v].lat])).unshift([I(180-1e-6*S[v].direction),S[v].lat]),M.push(k);return M},L.prototype.path=function(C){var u,y=this,S=this.bounds,M=this.def,v=[],k="Polygon"===C.type||"MultiPolygon"===C.type,O=this.hasGeoProjection,P=!M||!1!==M.antimeridianCutting,g=P?this.rotator:void 0,c=P&&M||this;S&&(u=[[S.x1,S.y1],[S.x2,S.y1],[S.x2,S.y2],[S.x1,S.y2]]);var o=function(m){var l=[m=m.map(function(b){if(P){g&&(b=g.forward(b));var n=b[0];1e-6>Math.abs(n-180)&&(n=180>n?179.999999:180.000001),b=[n,b[1]]}return b})];O&&(L.insertGreatCircles(m),P&&(l=y.cutOnAntimeridian(m,k))),l.forEach(function(b){if(!(2>b.length)){var n=!1,r=!1,f=function(j){n?v.push(["L",j[0],j[1]]):(v.push(["M",j[0],j[1]]),n=!0)},T=!1,w=!1,D=b.map(function(j){return(j=c.forward(j)).outside?T=!0:w=!0,j[1]===1/0?j[1]=1e10:j[1]===-1/0&&(j[1]=-1e10),j});if(P){if(k&&D.push(D[0]),T){if(!w)return;if(u)if(k)D=it(D,u);else if(S)return void Q(D,u).forEach(function(j){n=!1,j.forEach(f)})}D.forEach(f)}else for(var d=0;d<D.length;d++){var R=b[d],a=D[d];if(a.outside)r=!0;else{if(k&&!h){var h=R;b.push(R),D.push(a)}r&&A&&(k&&O?L.greatCircle(A,R).forEach(function(j){return f(c.forward(j))}):n=!1),f(a);var A=R;r=!1}}}})};return"LineString"===C.type?o(C.coordinates):"MultiLineString"===C.type?C.coordinates.forEach(function(m){return o(m)}):"Polygon"===C.type?(C.coordinates.forEach(function(m){return o(m)}),v.length&&v.push(["Z"])):"MultiPolygon"===C.type&&(C.coordinates.forEach(function(m){m.forEach(function(l){return o(l)})}),v.length&&v.push(["Z"])),v},L.registry=Y,L}()}),Mt($,"Maps/MapView.js",[$["Maps/MapViewOptionsDefault.js"],$["Maps/MapViewInsetsOptionsDefault.js"],$["Extensions/GeoJSON.js"],$["Core/Chart/MapChart.js"],$["Maps/MapUtilities.js"],$["Maps/Projection.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var b,W=this&&this.__extends||(b=function(n,r){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,T){f.__proto__=T}||function(f,T){for(var w in T)T.hasOwnProperty(w)&&(f[w]=T[w])})(n,r)},function(n,r){function f(){this.constructor=n}b(n,r),n.prototype=null===r?Object.create(r):(f.prototype=r.prototype,new f)}),F=this&&this.__spreadArrays||function(){for(var b=0,n=0,r=arguments.length;n<r;n++)b+=arguments[n].length;b=Array(b);var f=0;for(n=0;n<r;n++)for(var T=arguments[n],w=0,D=T.length;w<D;w++,f++)b[f]=T[w];return b},I=et.topo2geo,L=rt.maps,C=Q.boundsFromPath,y=Q.pointInPolygon,S=K.addEvent,M=K.clamp,E=K.fireEvent,v=K.isArray,k=K.isNumber,O=K.isObject,P=K.isString,g=K.merge,c=K.pick,u=K.relativeLength,o=function(b,n){return Math.log(400.979322/Math.max((b.x2-b.x1)/(n.width/256),(b.y2-b.y1)/(n.height/256)))/Math.log(2)},m=function(){function b(n,r){var T,f=this;if(this.insets=[],this.padding=[0,0,0,0],this.eventsToUnbind=[],!(this instanceof l)){var w=F([n.options.chart.map],(n.options.series||[]).map(function(A){return A.mapData})).map(function(A){return f.getGeoMap(A)}),D=[];w.forEach(function(A){A&&(T||(T=A["hc-recommended-mapview"]),A.bbox&&D.push({x1:(A=A.bbox)[0],y1:A[1],x2:A[2],y2:A[3]}))});var d=D.length&&b.compositeBounds(D);if(d){var R=d.x1,a=d.y1,h=d.x2;d=d.y2,R=180<h-R&&90<d-a?{name:"EqualEarth"}:{name:"LambertConformalConic",parallels:[a,d],rotation:[-(R+h)/2]}}this.geoMap=w[0]}this.userOptions=r||{},w=g(X,{projection:R},T,r),r=r&&r.insets,(d=T&&T.insets)&&r&&(w.insets=b.mergeInsets(d,r)),this.chart=n,this.center=w.center,this.options=w,this.projection=new it(w.projection),this.playingField=n.plotBox,this.zoom=w.zoom||0,this.createInsets(),this.eventsToUnbind.push(S(n,"afterSetChartSize",function(){f.playingField=f.getField(),(void 0===f.minZoom||f.minZoom===f.zoom)&&(f.fitToBounds(void 0,void 0,!1),!f.chart.hasRendered&&k(f.userOptions.zoom)&&(f.zoom=f.userOptions.zoom),f.userOptions.center&&g(!0,f.center,f.userOptions.center))})),this.setUpEvents()}return b.mergeInsets=function(n,r){var f=function(w){var D={};return w.forEach(function(d,R){D[d&&d.id||"i"+R]=d}),D},T=g(f(n),f(r));return Object.keys(T).map(function(w){return T[w]})},b.prototype.createInsets=function(){var n=this,r=this.options,f=r.insets;f&&f.forEach(function(T){T=new l(n,g(r.insetOptions,T)),n.insets.push(T)})},b.prototype.fitToBounds=function(n,r,f,T){void 0===f&&(f=!0);var w=n||this.getProjectedBounds();if(w){var D=c(r,n?0:this.options.padding);r=this.getField(!1),D=v(D)?D:[D,D,D,D],this.padding=[u(D[0],r.height),u(D[1],r.width),u(D[2],r.height),u(D[3],r.width)],this.playingField=this.getField(),r=o(w,this.playingField),n||(this.minZoom=r),n=this.projection.inverse([(w.x2+w.x1)/2,(w.y2+w.y1)/2]),this.setView(n,r,f,T)}},b.prototype.getField=function(n){return void 0===n&&(n=!0),{x:(n=n?this.padding:[0,0,0,0])[3],y:n[0],width:this.chart.plotWidth-n[1]-n[3],height:this.chart.plotHeight-n[0]-n[2]}},b.prototype.getGeoMap=function(n){if(P(n))return L[n];if(O(n,!0)){if("FeatureCollection"===n.type)return n;if("Topology"===n.type)return I(n)}},b.prototype.getMapBBox=function(){var n=this.getProjectedBounds(),r=this.getScale();if(n){var f=this.padding,T=this.projectedUnitsToPixels({x:n.x1,y:n.y2});return{width:(n.x2-n.x1)*r+f[1]+f[3],height:(n.y2-n.y1)*r+f[0]+f[2],x:T.x-f[3],y:T.y-f[0]}}},b.prototype.getProjectedBounds=function(){var n=this.chart.series.reduce(function(r,f){var T=f.getProjectedBounds&&f.getProjectedBounds();return T&&!1!==f.options.affectsMapView&&r.push(T),r},[]);return this.projection.bounds||b.compositeBounds(n)},b.prototype.getScale=function(){return 256/400.979322*Math.pow(2,this.zoom)},b.prototype.getSVGTransform=function(){var n=this.playingField,r=n.x,f=n.y,T=n.width;n=n.height;var w=this.projection.forward(this.center),D=this.projection.hasCoordinates?-1:1,d=this.getScale();return{scaleX:d,scaleY:D*=d,translateX:r+T/2-w[0]*d,translateY:f+n/2-w[1]*D}},b.prototype.lonLatToPixels=function(n){if(n=this.lonLatToProjectedUnits(n))return this.projectedUnitsToPixels(n)},b.prototype.lonLatToProjectedUnits=function(n){var r=this.chart,f=r.mapTransforms;if(f){for(var T in f)if(Object.hasOwnProperty.call(f,T)&&f[T].hitZone){var w=r.transformFromLatLon(n,f[T]);if(w&&y(w,f[T].hitZone.coordinates[0]))return w}return r.transformFromLatLon(n,f.default)}for(f=0,T=this.insets;f<T.length;f++)if((r=T[f]).options.geoBounds&&y({x:n.lon,y:n.lat},r.options.geoBounds.coordinates[0]))return n=r.projection.forward([n.lon,n.lat]),n=r.projectedUnitsToPixels({x:n[0],y:n[1]}),this.pixelsToProjectedUnits(n);if(!(n=this.projection.forward([n.lon,n.lat])).outside)return{x:n[0],y:n[1]}},b.prototype.projectedUnitsToLonLat=function(n){var r=this.chart,f=r.mapTransforms;if(f){for(var T in f)if(Object.hasOwnProperty.call(f,T)&&f[T].hitZone&&y(n,f[T].hitZone.coordinates[0]))return r.transformToLatLon(n,f[T]);return r.transformToLatLon(n,f.default)}f=this.projectedUnitsToPixels(n),T=0;for(var w=this.insets;T<w.length;T++)if((r=w[T]).hitZone&&y(f,r.hitZone.coordinates[0]))return n=r.pixelsToProjectedUnits(f),{lon:(n=r.projection.inverse([n.x,n.y]))[0],lat:n[1]};return{lon:(n=this.projection.inverse([n.x,n.y]))[0],lat:n[1]}},b.prototype.redraw=function(n){this.chart.series.forEach(function(r){r.useMapGeometry&&(r.isDirty=!0)}),this.chart.redraw(n)},b.prototype.setView=function(n,r,f,T){void 0===f&&(f=!0),n&&(this.center=n),"number"==typeof r&&("number"==typeof this.minZoom&&(r=Math.max(r,this.minZoom)),"number"==typeof this.options.maxZoom&&(r=Math.min(r,this.options.maxZoom)),this.zoom=r);var w=this.getProjectedBounds();if(w){n=this.projection.forward(this.center);var D=this.playingField;r=D.x;var d=D.y,R=D.width;D=D.height;var a=this.getScale(),h=this.projectedUnitsToPixels({x:w.x1,y:w.y1}),A=this.projectedUnitsToPixels({x:w.x2,y:w.y2});w=[(w.x1+w.x2)/2,(w.y1+w.y2)/2];var j=h.x,z=A.y;h=h.y,(A=A.x)-j<R?n[0]=w[0]:j<r&&A<r+R?n[0]+=Math.max(j-r,A-R-r)/a:A>r+R&&j>r&&(n[0]+=Math.min(A-R-r,j-r)/a),h-z<D?n[1]=w[1]:z<d&&h<d+D?n[1]-=Math.max(z-d,h-D-d)/a:h>d+D&&z>d&&(n[1]-=Math.min(h-D-d,z-d)/a),this.center=this.projection.inverse(n),this.insets.forEach(function(H){H.options.field&&(H.hitZone=H.getHitZone(),H.playingField=H.getField())}),this.render()}E(this,"afterSetView"),f&&this.redraw(T)},b.prototype.projectedUnitsToPixels=function(n){var r=this.getScale(),f=this.projection.forward(this.center),T=this.playingField;return{x:T.x+T.width/2-r*(f[0]-n.x),y:T.y+T.height/2+r*(f[1]-n.y)}},b.prototype.pixelsToLonLat=function(n){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(n))},b.prototype.pixelsToProjectedUnits=function(n){var r=n.x;n=n.y;var f=this.getScale(),T=this.projection.forward(this.center),w=this.playingField;return{x:T[0]+(r-(w.x+w.width/2))/f,y:T[1]-(n-(w.y+w.height/2))/f}},b.prototype.setUpEvents=function(){var f,T,w,n=this,r=this.chart,D=function(d){var R=r.pointer.pinchDown,a=n.projection,h=r.mouseDownX,A=r.mouseDownY;if(1===R.length&&(h=R[0].chartX,A=R[0].chartY),"number"==typeof h&&"number"==typeof A){var j=h+","+A,z=d.originalEvent;R=z.chartX,z=z.chartY,j!==T&&(T=j,f=n.projection.forward(n.center),w=(n.projection.options.rotation||[0,0]).slice()),j=(j=a.def&&a.def.bounds)&&o(j,n.playingField)||-1/0,"Orthographic"===a.options.name&&(n.minZoom||1/0)<1.1*j?(a=440/(n.getScale()*Math.min(r.plotWidth,r.plotHeight)),w&&(h=(h-R)*a-w[0],A=M(-w[1]-(A-z)*a,-80,80),R=n.zoom,n.update({projection:{rotation:[-h,-A]}},!1),n.zoom=R,r.redraw(!1))):(a=n.getScale(),A=n.projection.inverse([f[0]+(h-R)/a,f[1]-(A-z)/a]),n.setView(A,void 0,!0,!1)),d.preventDefault()}};S(r,"pan",D),S(r,"touchpan",D),S(r,"selection",function(d){if(d.resetSelection)n.zoomBy();else{var R=d.x-r.plotLeft,a=d.y-r.plotTop,h=n.pixelsToProjectedUnits({x:R,y:a}),A=h.y;h=h.x,R=n.pixelsToProjectedUnits({x:R+d.width,y:a+d.height}),n.fitToBounds({x1:h,y1:A,x2:R.x,y2:R.y},void 0,!0,!d.originalEvent.touches&&void 0),/^touch/.test(d.originalEvent.type)||r.showResetZoom(),d.preventDefault()}})},b.prototype.render=function(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())},b.prototype.update=function(n,r,f){void 0===r&&(r=!0);var T=n.projection;T=T&&it.toString(T)!==it.toString(this.options.projection);var w=!1;g(!0,this.userOptions,n),g(!0,this.options,n),"insets"in n&&(this.insets.forEach(function(D){return D.destroy()}),this.insets.length=0,w=!0),(T||w)&&(this.chart.series.forEach(function(D){var d=D.transformGroups;if(D.clearBounds&&D.clearBounds(),D.isDirty=!0,D.isDirtyData=!0,w&&d)for(;1<d.length;)(D=d.pop())&&D.destroy()}),T&&(this.projection=new it(this.options.projection)),w&&this.createInsets(),n.center||k(n.zoom)||this.fitToBounds(void 0,void 0,!1)),(n.center||k(n.zoom))&&this.setView(this.options.center,n.zoom,!1),r&&this.chart.redraw(f)},b.prototype.zoomBy=function(n,r,f,T){var w=this.chart,D=this.projection.forward(this.center),d=(r=r?this.projection.forward(r):[])[0],R=r[1];"number"==typeof n?(n=this.zoom+n,r=void 0,f&&(d=f[0],R=f[1],f=this.getScale(),d=D[0]+(d=d-w.plotLeft-w.plotWidth/2)/f,R=D[1]+(w=R-w.plotTop-w.plotHeight/2)/f),"number"==typeof d&&"number"==typeof R&&(f=1-Math.pow(2,this.zoom)/Math.pow(2,n),w=D[1]-R,D[0]-=(d=D[0]-d)*f,D[1]+=w*f,r=this.projection.inverse(D)),this.setView(r,n,void 0,T)):this.fitToBounds(void 0,void 0,void 0,T)},b.compositeBounds=function(n){if(n.length)return n.slice(1).reduce(function(r,f){return r.x1=Math.min(r.x1,f.x1),r.y1=Math.min(r.y1,f.y1),r.x2=Math.max(r.x2,f.x2),r.y2=Math.max(r.y2,f.y2),r},g(n[0]))},b}(),l=function(b){function n(r,f){var T=b.call(this,r.chart,f)||this;return T.id=f.id,T.mapView=r,T.options=g(Y,f),T.allBounds=[],T.options.geoBounds&&(r=r.projection.path(T.options.geoBounds),T.geoBoundsProjectedBox=C(r),T.geoBoundsProjectedPolygon=r.map(function(w){return[w[1]||0,w[2]||0]})),T}return W(n,b),n.prototype.getField=function(r){void 0===r&&(r=!0);var f=this.hitZone;if(f){var T=r?this.padding:[0,0,0,0],w=(f=f.coordinates[0]).map(function(R){return R[0]}),D=f.map(function(R){return R[1]});f=Math.min.apply(0,w)+T[3],w=Math.max.apply(0,w)-T[1];var d=Math.min.apply(0,D)+T[0];if(T=Math.max.apply(0,D)-T[2],k(f)&&k(d))return{x:f,y:d,width:w-f,height:T-d}}return b.prototype.getField.call(this,r)},n.prototype.getHitZone=function(){var r=this.chart,T=this.options,w=(T.field||{}).coordinates;if(w){if(w=w[0],"percent"===T.units){var D="mapBoundingBox"===T.relativeTo&&this.mapView.getMapBBox()||g(r.plotBox,{x:0,y:0});w=w.map(function(d){return[u(d[0]+"%",D.width,D.x),u(d[1]+"%",D.height,D.y)]})}return{type:"Polygon",coordinates:[w]}}},n.prototype.getProjectedBounds=function(){return m.compositeBounds(this.allBounds)},n.prototype.isInside=function(r){var f=this.geoBoundsProjectedBox,T=this.geoBoundsProjectedPolygon;return!!(f&&r.x>=f.x1&&r.x<=f.x2&&r.y>=f.y1&&r.y<=f.y2&&T&&y(r,T))},n.prototype.render=function(){var r=this.chart,f=this.mapView,T=this.options,w=T.borderPath||T.field;if(w&&f.group){var D=!0;this.border||(this.border=r.renderer.path().addClass("highcharts-mapview-inset-border").add(f.group),D=!1),r.styledMode||this.border.attr({stroke:T.borderColor,"stroke-width":T.borderWidth});var d=Math.round(this.border.strokeWidth())%2/2,R="mapBoundingBox"===T.relativeTo&&f.getMapBBox()||f.playingField;f=(w.coordinates||[]).reduce(function(a,h){return h.reduce(function(A,j,z){var H=j[0];return j=j[1],"percent"===T.units&&(H=r.plotLeft+u(H+"%",R.width,R.x),j=r.plotTop+u(j+"%",R.height,R.y)),H=Math.floor(H)+d,j=Math.floor(j)+d,A.push(0===z?["M",H,j]:["L",H,j]),A},a)},[]),this.border[D?"animate":"attr"]({d:f})}},n.prototype.destroy=function(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(function(r){return r()})},n.prototype.setUpEvents=function(){},n}(m);return S(rt,"afterInit",function(){this.mapView=new m(this,this.options.mapView)}),m}),Mt($,"Series/Map/MapSeries.js",[$["Core/Animation/AnimationUtilities.js"],$["Series/ColorMapMixin.js"],$["Series/CenteredUtilities.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Chart/MapChart.js"],$["Series/Map/MapPoint.js"],$["Maps/MapView.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C){var n,y=this&&this.__extends||(n=function(r,f){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,w){T.__proto__=w}||function(T,w){for(var D in w)w.hasOwnProperty(D)&&(T[D]=w[D])})(r,f)},function(r,f){function T(){this.constructor=r}n(r,f),r.prototype=null===f?Object.create(f):(T.prototype=f.prototype,new T)}),S=X.animObject;X=rt.noop;var M=it.splitPath,E=(it=I.seriesTypes).column,v=it.scatter;it=C.extend;var k=C.find,O=C.fireEvent,P=C.getNestedProperty,g=C.isArray,c=C.isNumber,u=C.isObject,o=C.merge,m=C.objectEach,l=C.pick,b=C.splat;return C=function(n){function r(){var f=null!==n&&n.apply(this,arguments)||this;return f.chart=void 0,f.data=void 0,f.group=void 0,f.joinBy=void 0,f.options=void 0,f.points=void 0,f.processedData=[],f}return y(r,n),r.prototype.animate=function(f){var T=this.chart,w=this.group,D=S(this.options.animation);T.renderer.isSVG&&(f?w.attr({translateX:T.plotLeft+T.plotWidth/2,translateY:T.plotTop+T.plotHeight/2,scaleX:.001,scaleY:.001}):w.animate({translateX:T.plotLeft,translateY:T.plotTop,scaleX:1,scaleY:1},D))},r.prototype.animateDrilldown=function(f){var T=this.chart,w=this.group;T.renderer.isSVG&&(f?w.attr({translateX:T.plotLeft+T.plotWidth/2,translateY:T.plotTop+T.plotHeight/2,scaleX:.1,scaleY:.1,opacity:.01}):(w.animate({translateX:T.plotLeft,translateY:T.plotTop,scaleX:1,scaleY:1,opacity:1},this.chart.options.drilldown.animation),T.drilldown&&T.drilldown.fadeInGroup(this.dataLabelsGroup)))},r.prototype.animateDrillupFrom=function(){var f=this.chart;f.renderer.isSVG&&this.group.animate({translateX:f.plotLeft+f.plotWidth/2,translateY:f.plotTop+f.plotHeight/2,scaleX:.1,scaleY:.1,opacity:.01})},r.prototype.animateDrillupTo=function(f){E.prototype.animateDrillupTo.call(this,f)},r.prototype.clearBounds=function(){this.points.forEach(function(f){delete f.bounds,delete f.insetIndex,delete f.projectedPath}),delete this.bounds},r.prototype.doFullTranslate=function(){return!(!(this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML)&&this.hasRendered)},r.prototype.drawMapDataLabels=function(){F.prototype.drawDataLabels.call(this),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},r.prototype.drawPoints=function(){var f=this,T=this.chart,w=this.group,D=this.transformGroups,d=void 0===D?[]:D,R=T.mapView,a=T.renderer;R&&(this.transformGroups=d,d[0]||(d[0]=a.g().add(w)),R.insets.forEach(function(h,A){d[A+1]||d.push(a.g().add(w))}),this.doFullTranslate()&&(this.points.forEach(function(h){var A=h.graphic,j=h.shapeArgs;h.group=d["number"==typeof h.insetIndex?h.insetIndex+1:0],A&&A.parentGroup!==h.group&&A.add(h.group),j&&T.hasRendered&&!T.styledMode&&(j.fill=f.pointAttribs(h,h.state).fill)}),E.prototype.drawPoints.apply(this),this.points.forEach(function(h){if(h.graphic){var A="";h.name&&(A+="highcharts-name-"+h.name.replace(/ /g,"-").toLowerCase()),h.properties&&h.properties["hc-key"]&&(A+=" highcharts-key-"+h.properties["hc-key"].toString().toLowerCase()),A&&h.graphic.addClass(A),T.styledMode&&h.graphic.css(f.pointAttribs(h,h.selected?"select":void 0))}})),d.forEach(function(h,A){var j=(0===A?R:R.insets[A-1]).getSVGTransform(),z=l(f.options[f.pointAttrToOptions&&f.pointAttrToOptions["stroke-width"]||"borderWidth"],1),H=j.scaleX,p=0<j.scaleY?1:-1;if(a.globalAnimation&&T.hasRendered){var N=Number(h.attr("translateX")),_=Number(h.attr("translateY")),G=Number(h.attr("scaleX"));h.attr({animator:0}).animate({animator:1},{step:function(U,tt){h.attr({translateX:N+(j.translateX-N)*tt.pos,translateY:_+(j.translateY-_)*tt.pos,scaleX:U=G+(H-G)*tt.pos,scaleY:U*p}),h.element.setAttribute("stroke-width",z/U)}})}else h.attr(j),h.element.setAttribute("stroke-width",z/H)}),this.drawMapDataLabels())},r.prototype.getProjectedBounds=function(){if(!this.bounds&&this.chart.mapView){var f=this.chart.mapView,T=f.insets,w=f.projection,D=[];(this.points||[]).forEach(function(d){if(d.path||d.geometry){if("string"==typeof d.path?d.path=M(d.path):g(d.path)&&"M"===d.path[0]&&(d.path=L.prototype.pathToSegments(d.path)),!d.bounds){var R=d.getProjectedBounds(w);if(R){d.labelrank=l(d.labelrank,(R.x2-R.x1)*(R.y2-R.y1));var a=R.midX,h=R.midY;if(T&&c(a)&&c(h)){var A=k(T,function(j){return j.isInside({x:a,y:h})});A&&(delete d.projectedPath,(R=d.getProjectedBounds(A.projection))&&A.allBounds.push(R),d.insetIndex=T.indexOf(A))}d.bounds=R}}d.bounds&&void 0===d.insetIndex&&D.push(d.bounds)}}),this.bounds=W.compositeBounds(D)}return this.bounds},r.prototype.hasData=function(){return!!this.processedXData.length},r.prototype.pointAttribs=function(f,T){var w=f.series.chart,D=w.mapView;return T=w.styledMode?this.colorAttribs(f):E.prototype.pointAttribs.call(this,f,T),(f=f.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"])&&D&&(f/=D.getScale()),T.dashstyle&&D&&this.options.borderWidth&&(f=this.options.borderWidth/D.getScale()),T["stroke-width"]=l(f,"inherit"),T},r.prototype.updateData=function(){return!this.processedData&&n.prototype.updateData.apply(this,arguments)},r.prototype.setData=function(){n.prototype.setData.apply(this,arguments),this.processData(),this.generatePoints()},r.prototype.processData=function(){var f=this.options,T=f.data,w=this.chart.options.chart,D=this.joinBy,d=f.keys||this.pointArrayMap,R=[],a={},h=this.chart.mapView;h=h&&(u(f.mapData,!0)?h.getGeoMap(f.mapData):h.geoMap);var A=this.chart.mapTransforms;if((this.chart.mapTransforms=A=w.mapTransforms||h&&h["hc-transform"]||A)&&m(A,function(_){_.rotation&&(_.cosAngle=Math.cos(_.rotation),_.sinAngle=Math.sin(_.rotation))}),g(f.mapData))var j=f.mapData;else h&&"FeatureCollection"===h.type&&(this.mapTitle=h.title,j=rt.geojson(h,this.type,this));var z=this.processedData=[];if(T&&T.forEach(function(_,G){var U=0;if(c(_))z[G]={value:_};else if(g(_)){z[G]={},!f.keys&&_.length>d.length&&"string"==typeof _[0]&&(z[G]["hc-key"]=_[0],++U);for(var tt=0;tt<d.length;++tt,++U)d[tt]&&void 0!==_[U]&&(0<d[tt].indexOf(".")?K.prototype.setNestedProperty(z[G],_[U],d[tt]):z[G][d[tt]]=_[U])}else z[G]=T[G];D&&"_i"===D[0]&&(z[G]._i=G)}),j){for(this.mapData=j,this.mapMap={},A=0;A<j.length;A++)h=(w=j[A]).properties,w._i=A,D[0]&&h&&h[D[0]]&&(w[D[0]]=h[D[0]]),a[w[D[0]]]=w;if(this.mapMap=a,D[1]){var H=D[1];z.forEach(function(_){_=P(H,_),a[_]&&R.push(a[_])})}if(f.allAreas){if(D[1]){var p=D[1];z.forEach(function(_){R.push(P(p,_))})}var N="|"+R.map(function(_){return _&&_[D[0]]}).join("|")+"|";j.forEach(function(_){D[0]&&-1!==N.indexOf("|"+_[D[0]]+"|")||z.push(o(_,{value:null}))})}}this.processedXData=Array(z.length)},r.prototype.setOptions=function(f){var T=(f=F.prototype.setOptions.call(this,f)).joinBy;return null===T&&(T="_i"),(T=this.joinBy=b(T))[1]||(T[1]=T[0]),f},r.prototype.translate=function(){var f=this.doFullTranslate(),T=this.chart.mapView,w=T&&T.projection;if(!this.chart.hasRendered||!this.isDirtyData&&this.hasRendered||(this.processData(),this.generatePoints(),delete this.bounds,this.getProjectedBounds()),T){var D=T.getSVGTransform();this.points.forEach(function(d){var R=c(d.insetIndex)&&T.insets[d.insetIndex].getSVGTransform()||D;R&&d.bounds&&c(d.bounds.midX)&&c(d.bounds.midY)&&(d.plotX=d.bounds.midX*R.scaleX+R.translateX,d.plotY=d.bounds.midY*R.scaleY+R.translateY),f&&(d.shapeType="path",d.shapeArgs={d:K.getProjectedPath(d,w)})})}O(this,"afterTranslate")},r.defaultOptions=o(v.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){var f=this.series.chart.numberFormatter,T=this.point.value;return c(T)?f(T,-1):""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"},inactive:{opacity:1}}}),r}(v),it(C.prototype,{type:"map",axisTypes:Y.SeriesMixin.axisTypes,colorAttribs:Y.SeriesMixin.colorAttribs,colorKey:Y.SeriesMixin.colorKey,directTouch:!0,drawDataLabels:X,drawGraph:X,drawLegendSymbol:Q.drawRectangle,forceDL:!0,getCenter:et.getCenter,getExtremesFromAll:!0,getSymbol:Y.SeriesMixin.getSymbol,isCartesian:!1,parallelArrays:Y.SeriesMixin.parallelArrays,pointArrayMap:Y.SeriesMixin.pointArrayMap,pointClass:K,preserveAspectRatio:!0,searchPoint:X,trackerGroups:Y.SeriesMixin.trackerGroups,useMapGeometry:!0}),I.registerSeriesType("map",C),C}),Mt($,"Series/MapLine/MapLineSeries.js",[$["Series/Map/MapSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,rt=this&&this.__extends||(W=function(F,I){return(W=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(L,C){L.__proto__=C}||function(L,C){for(var y in C)C.hasOwnProperty(y)&&(L[y]=C[y])})(F,I)},function(F,I){function L(){this.constructor=F}W(F,I),F.prototype=null===I?Object.create(I):(L.prototype=I.prototype,new L)}),Q=Y.series,it=et.extend,K=et.merge;return et=function(W){function F(){var I=null!==W&&W.apply(this,arguments)||this;return I.data=void 0,I.options=void 0,I.points=void 0,I}return rt(F,W),F.prototype.pointAttribs=function(I,L){return(I=X.prototype.pointAttribs.call(this,I,L)).fill=this.options.fillColor,I},F.defaultOptions=K(X.defaultOptions,{lineWidth:1,fillColor:"none"}),F}(X),it(et.prototype,{type:"mapline",colorProp:"stroke",drawLegendSymbol:Q.prototype.drawLegendSymbol,pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),Y.registerSeriesType("mapline",et),et}),Mt($,"Series/MapPoint/MapPointPoint.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var Q,et=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)}),rt=Y.isNumber;return function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.options=void 0,K.series=void 0,K}return et(it,Q),it.prototype.isValid=function(){return!!(this.options.geometry||rt(this.x)&&rt(this.y)||rt(this.options.lon)&&rt(this.options.lat))},it}(X.seriesTypes.scatter.prototype.pointClass)}),Mt($,"Series/MapPoint/MapPointSeries.js",[$["Core/Globals.js"],$["Series/MapPoint/MapPointPoint.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var L,Q=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)});X=X.noop;var it=et.seriesTypes.scatter,K=rt.extend,W=rt.fireEvent,F=rt.isNumber,I=rt.merge;return rt=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.chart=void 0,y.data=void 0,y.options=void 0,y.points=void 0,y}return Q(C,L),C.prototype.drawDataLabels=function(){L.prototype.drawDataLabels.call(this),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},C.prototype.projectPoint=function(y){var S=this.chart.mapView;if(S){var M=y.geometry,E=y.lon;if(y=y.lat,M=M&&"Point"===M.type&&M.coordinates,F(E)&&F(y)&&(M=[E,y]),M)return S.lonLatToProjectedUnits({lon:M[0],lat:M[1]})}},C.prototype.translate=function(){var y=this,S=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),S){var M=S.projection.hasCoordinates;this.points.forEach(function(E){var v=E.x;v=void 0===v?void 0:v;var k=E.y;k=void 0===k?void 0:k;var O=y.projectPoint(E.options);O?(v=O.x,k=O.y):E.bounds&&(v=E.bounds.midX,k=E.bounds.midY),F(v)&&F(k)?(v=S.projectedUnitsToPixels({x:v,y:k}),E.plotX=v.x,E.plotY=M?v.y:y.chart.plotHeight-v.y):E.y=E.plotX=E.plotY=void 0,E.isInside=y.isPointInside(E),E.zone=y.zones.length?E.getZone():void 0})}W(this,"afterTranslate")},C.defaultOptions=I(it.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}}}),C}(it),K(rt.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:Y,searchPoint:X,useMapGeometry:!0}),et.registerSeriesType("mappoint",rt),rt}),Mt($,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{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:"10px",color:"#000000"},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}}),Mt($,"Series/Bubble/BubbleLegendItem.js",[$["Core/Color/Color.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var Q=X.parse,it=et.noop,K=rt.arrayMax,W=rt.arrayMin,F=rt.isNumber,I=rt.merge,L=rt.pick,C=rt.stableSort;return function(){function y(S,M){this.options=this.symbols=this.visible=this.selected=this.ranges=this.movementX=this.maxLabel=this.legendSymbol=this.legendItemWidth=this.legendItemHeight=this.legendItem=this.legendGroup=this.legend=this.fontMetrics=this.chart=void 0,this.setState=it,this.init(S,M)}return y.prototype.init=function(S,M){this.options=S,this.visible=!0,this.chart=M.chart,this.legend=M},y.prototype.addToLegend=function(S){S.splice(this.options.legendIndex,0,this)},y.prototype.drawLegendSymbol=function(S){var M=this.chart,E=this.options,v=L(S.options.itemDistance,20),k=E.ranges,O=E.connectorDistance;this.fontMetrics=M.renderer.fontMetrics(E.labels.style.fontSize),k&&k.length&&F(k[0].value)?(C(k,function(P,g){return g.value-P.value}),this.ranges=k,this.setOptions(),this.render(),S=this.getMaxLabelSize(),M=2*(k=this.ranges[0].radius),O=0<(O=O-k+S.width)?O:0,this.maxLabel=S,this.movementX="left"===E.labels.align?O:0,this.legendItemWidth=M+O+v,this.legendItemHeight=M+this.fontMetrics.h/2):S.options.bubbleLegend.autoRanges=!0},y.prototype.setOptions=function(){var S=this.ranges,M=this.options,E=this.chart.series[M.seriesIndex],v=this.legend.baseline,k={zIndex:M.zIndex,"stroke-width":M.borderWidth},O={zIndex:M.zIndex,"stroke-width":M.connectorWidth},P={align:this.legend.options.rtl||"left"===M.labels.align?"right":"left",zIndex:M.zIndex},g=E.options.marker.fillOpacity,c=this.chart.styledMode;S.forEach(function(u,o){c||(k.stroke=L(u.borderColor,M.borderColor,E.color),k.fill=L(u.color,M.color,1!==g?Q(E.color).setOpacity(g).get("rgba"):E.color),O.stroke=L(u.connectorColor,M.connectorColor,E.color)),S[o].radius=this.getRangeRadius(u.value),S[o]=I(S[o],{center:S[0].radius-S[o].radius+v}),c||I(!0,S[o],{bubbleAttribs:I(k),connectorAttribs:I(O),labelAttribs:P})},this)},y.prototype.getRangeRadius=function(S){var M=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,M.ranges[M.ranges.length-1].value,M.ranges[0].value,M.minSize,M.maxSize,S)},y.prototype.render=function(){var S=this.chart.renderer,M=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),this.legendSymbol=S.g("bubble-legend"),this.legendItem=S.g("bubble-legend-item"),this.legendSymbol.translateX=0,this.legendSymbol.translateY=0,this.ranges.forEach(function(E){E.value>=M&&this.renderRange(E)},this),this.legendSymbol.add(this.legendItem),this.legendItem.add(this.legendGroup),this.hideOverlappingLabels()},y.prototype.renderRange=function(S){var M=this.options,E=M.labels,v=this.chart,k=v.series[M.seriesIndex],O=v.renderer,P=this.symbols;v=P.labels;var g=S.center,c=Math.abs(S.radius),u=M.connectorDistance||0,o=E.align,m=M.connectorWidth,l=this.ranges[0].radius||0,b=g-c-M.borderWidth/2+m/2,n=this.fontMetrics;n=n.f/2-(n.h-n.f)/2;var r=O.styledMode;u=this.legend.options.rtl||"left"===o?-u:u,"center"===o&&(u=0,M.connectorDistance=0,S.labelAttribs.align="center"),o=b+M.labels.y;var f=l+u+M.labels.x;P.bubbleItems.push(O.circle(l,g+((b%1?1:.5)-(m%2?0:.5)),c).attr(r?{}:S.bubbleAttribs).addClass((r?"highcharts-color-"+k.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(M.className||"")).add(this.legendSymbol)),P.connectors.push(O.path(O.crispLine([["M",l,b],["L",l+u,b]],M.connectorWidth)).attr(r?{}:S.connectorAttribs).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(M.connectorClassName||"")).add(this.legendSymbol)),S=O.text(this.formatLabel(S),f,o+n).attr(r?{}:S.labelAttribs).css(r?{}:E.style).addClass("highcharts-bubble-legend-labels "+(M.labels.className||"")).add(this.legendSymbol),v.push(S),S.placed=!0,S.alignAttr={x:f,y:o+n}},y.prototype.getMaxLabelSize=function(){var S,M;return this.symbols.labels.forEach(function(E){M=E.getBBox(!0),S=S?M.width>S.width?M:S:M}),S||{}},y.prototype.formatLabel=function(S){var M=this.options,E=M.labels.formatter,v=this.chart.numberFormatter;return(M=M.labels.format)?Y.format(M,S):E?E.call(S):v(S.value,1)},y.prototype.hideOverlappingLabels=function(){var M=this.symbols;!this.options.labels.allowOverlap&&M&&(this.chart.hideOverlappingLabels(M.labels),M.labels.forEach(function(E,v){E.newOpacity?E.newOpacity!==E.oldOpacity&&M.connectors[v].show():M.connectors[v].hide()}))},y.prototype.getRanges=function(){var E,S=this.legend.bubbleLegend,M=S.options.ranges,v=Number.MAX_VALUE,k=-Number.MAX_VALUE;S.chart.series.forEach(function(P){P.isBubble&&!P.ignoreSeries&&(E=P.zData.filter(F)).length&&(v=L(P.options.zMin,Math.min(v,Math.max(W(E),!1===P.options.displayNegative?P.options.zThreshold:-Number.MAX_VALUE))),k=L(P.options.zMax,Math.max(k,K(E))))});var O=v===k?[{value:k}]:[{value:v},{value:(v+k)/2},{value:k,autoRanges:!0}];return M.length&&M[0].radius&&O.reverse(),O.forEach(function(P,g){M&&M[g]&&(O[g]=I(M[g],P))}),O},y.prototype.predictBubbleSizes=function(){var S=this.chart,M=this.fontMetrics,E=S.legend.options,v=E.floating,k=(E="horizontal"===E.layout)?S.legend.lastLineHeight:0,O=S.plotSizeX,P=S.plotSizeY,g=S.series[this.options.seriesIndex],c=g.getPxExtremes();S=Math.ceil(c.minPxSize),c=Math.ceil(c.maxPxSize);var u=Math.min(P,O);return g=g.options.maxSize,v||!/%$/.test(g)?M=c:(g=parseFloat(g),M=(u+k-M.h/2)*g/100/(g/100+1),(E&&P-M>=O||!E&&O-M>=P)&&(M=c)),[S,Math.ceil(M)]},y.prototype.updateRanges=function(S,M){var E=this.legend.options.bubbleLegend;E.minSize=S,E.maxSize=M,E.ranges=this.getRanges()},y.prototype.correctSizes=function(){var S=this.legend,M=this.chart.series[this.options.seriesIndex].getPxExtremes();1<Math.abs(Math.ceil(M.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,M.maxPxSize),S.render())},y}()}),Mt($,"Series/Bubble/BubbleLegendComposition.js",[$["Series/Bubble/BubbleLegendDefaults.js"],$["Series/Bubble/BubbleLegendItem.js"],$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=et.setOptions,it=rt.addEvent,K=rt.objectEach,W=rt.wrap;return function(I){function L(k,O,P){var g=this.legend,c=0<=C(this);if(g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&c){var u=g.bubbleLegend.options;c=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(c[0],c[1]),u.placed||(g.group.placed=!1,g.allItems.forEach(function(o){o.legendGroup.translateY=null})),g.render(),this.getMargins(),this.axes.forEach(function(o){o.visible&&o.render(),u.placed||(o.setScale(),o.updateNames(),K(o.ticks,function(m){m.isNew=!0,m.isNewLabel=!0}))}),u.placed=!0,this.getMargins(),k.call(this,O,P),g.bubbleLegend.correctSizes(),E(g,y(g))}else k.call(this,O,P),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),E(g,y(g)))}function C(k){k=k.series;for(var O=0;O<k.length;){if(k[O]&&k[O].isBubble&&k[O].visible&&k[O].zData.length)return O;O++}return-1}function y(k){var g,O=[],P=(k=k.allItems).length,c=0;for(g=0;g<P;g++)if(k[g].legendItemHeight&&(k[g].itemHeight=k[g].legendItemHeight),k[g]===k[P-1]||k[g+1]&&k[g]._legendItemPos[1]!==k[g+1]._legendItemPos[1]){O.push({height:0});for(var u=O[O.length-1];c<=g;c++)k[c].itemHeight>u.height&&(u.height=k[c].itemHeight);u.step=g}return O}function S(k){var O=this.bubbleLegend,P=this.options,g=P.bubbleLegend,c=C(this.chart);O&&O.ranges&&O.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),this.destroyItem(O)),0<=c&&P.enabled&&g.enabled&&(g.seriesIndex=c,this.bubbleLegend=new Y(g,this),this.bubbleLegend.addToLegend(k.allItems))}function M(){var k=this.chart,O=this.visible,P=this.chart.legend;P&&P.bubbleLegend&&(this.visible=!O,this.ignoreSeries=O,k=0<=C(k),P.bubbleLegend.visible!==k&&(P.update({bubbleLegend:{enabled:k}}),P.bubbleLegend.visible=k),this.visible=O)}function E(k,O){var g,c,u,P=k.options.rtl,o=0;k.allItems.forEach(function(m,l){g=m.legendGroup.translateX,c=m._legendItemPos[1],((u=m.movementX)||P&&m.ranges)&&m.legendGroup.attr({translateX:u=P?g-m.options.maxSize/2:g+u}),l>O[o].step&&o++,m.legendGroup.attr({translateY:Math.round(c+O[o].height/2)}),m._legendItemPos[1]=c+O[o].height/2})}var v=[];I.compose=function(k,O,P){-1===v.indexOf(k)&&(v.push(k),Q({legend:{bubbleLegend:X}}),W(k.prototype,"drawChartBox",L)),-1===v.indexOf(O)&&(v.push(O),it(O,"afterGetAllItems",S)),-1===v.indexOf(P)&&(v.push(P),it(P,"legendItemClick",M))}}(F||(F={})),F}),Mt($,"Series/Bubble/BubblePoint.js",[$["Core/Series/Point.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var Q,rt=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)});return et=et.extend,Y=function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.options=void 0,K.series=void 0,K}return rt(it,Q),it.prototype.haloPath=function(K){return X.prototype.haloPath.call(this,0===K?0:(this.marker&&this.marker.radius||0)+K)},it}(Y.seriesTypes.scatter.prototype.pointClass),et(Y.prototype,{ttBelow:!1}),Y}),Mt($,"Series/Bubble/BubbleSeries.js",[$["Core/Axis/Axis.js"],$["Series/Bubble/BubbleLegendComposition.js"],$["Series/Bubble/BubblePoint.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var P,F=this&&this.__extends||(P=function(g,c){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,o){u.__proto__=o}||function(u,o){for(var m in o)o.hasOwnProperty(m)&&(u[m]=o[m])})(g,c)},function(g,c){function u(){this.constructor=g}P(g,c),g.prototype=null===c?Object.create(c):(u.prototype=c.prototype,new u)}),I=rt.parse;rt=Q.noop;var L=K.seriesTypes;Q=L.column;var C=L.scatter;L=W.addEvent;var y=W.arrayMax,S=W.arrayMin,M=W.clamp,E=W.extend,v=W.isNumber,k=W.merge,O=W.pick;return W=function(P){function g(){var c=null!==P&&P.apply(this,arguments)||this;return c.data=void 0,c.maxPxSize=void 0,c.minPxSize=void 0,c.options=void 0,c.points=void 0,c.radii=void 0,c.yData=void 0,c.zData=void 0,c}return F(g,P),g.prototype.animate=function(c){!c&&this.points.length<this.options.animationLimit&&this.points.forEach(function(u){var o=u.graphic;o&&o.width&&(this.hasRendered||o.attr({x:u.plotX,y:u.plotY,width:1,height:1}),o.animate(this.markerAttribs(u),this.options.animation))},this)},g.prototype.getRadii=function(){var c=this,u=this.zData,o=this.yData,m=[],l=this.chart.bubbleZExtremes,b=this.getPxExtremes(),n=b.minPxSize,r=b.maxPxSize;if(!l){var w,f=Number.MAX_VALUE,T=-Number.MAX_VALUE;this.chart.series.forEach(function(R){R.bubblePadding&&(R.visible||!c.chart.options.chart.ignoreHiddenSeries)&&(R=R.getZExtremes())&&(f=Math.min(f||R.zMin,R.zMin),T=Math.max(T||R.zMax,R.zMax),w=!0)}),w?this.chart.bubbleZExtremes=l={zMin:f,zMax:T}:l={zMin:0,zMax:0}}var D=0;for(b=u.length;D<b;D++)m.push(this.getRadius(l.zMin,l.zMax,n,r,u[D],o[D]));this.radii=m},g.prototype.getRadius=function(c,u,o,m,l,b){var n=this.options,r="width"!==n.sizeBy,f=n.zThreshold,T=u-c,w=.5;if(null===b||null===l)return null;if(v(l)){if(n.sizeByAbsoluteValue&&(l=Math.abs(l-f),T=Math.max(u-f,Math.abs(c-f)),c=0),l<c)return o/2-1;0<T&&(w=(l-c)/T)}return r&&0<=w&&(w=Math.sqrt(w)),Math.ceil(o+w*(m-o))/2},g.prototype.hasData=function(){return!!this.processedXData.length},g.prototype.pointAttribs=function(c,u){var o=this.options.marker.fillOpacity;return c=it.prototype.pointAttribs.call(this,c,u),1!==o&&(c.fill=I(c.fill).setOpacity(o).get("rgba")),c},g.prototype.translate=function(){P.prototype.translate.call(this),this.getRadii(),this.translateBubble()},g.prototype.translateBubble=function(){for(var c=this.data,u=this.radii,o=this.getPxExtremes().minPxSize,m=c.length;m--;){var l=c[m],b=u?u[m]:0;v(b)&&b>=o/2?(l.marker=E(l.marker,{radius:b,width:2*b,height:2*b}),l.dlBox={x:l.plotX-b,y:l.plotY-b,width:2*b,height:2*b}):l.shapeArgs=l.plotY=l.dlBox=void 0}},g.prototype.getPxExtremes=function(){var c=Math.min(this.chart.plotWidth,this.chart.plotHeight),u=function(m){if("string"==typeof m){var l=/%$/.test(m);m=parseInt(m,10)}return l?c*m/100:m},o=u(O(this.options.minSize,8));return{minPxSize:o,maxPxSize:u=Math.max(u(O(this.options.maxSize,"20%")),o)}},g.prototype.getZExtremes=function(){var c=this.options,u=(this.zData||[]).filter(v);if(u.length){var o=O(c.zMin,M(S(u),!1===c.displayNegative?c.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE));if(c=O(c.zMax,y(u)),v(o)&&v(c))return{zMin:o,zMax:c}}},g.compose=Y.compose,g.defaultOptions=k(C.defaultOptions,{dataLabels:{formatter:function(){var c=this.series.chart.numberFormatter,u=this.point.z;return v(u)?c(u,-1):""},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"}),g}(C),E(W.prototype,{alignDataLabel:Q.prototype.alignDataLabel,applyZones:rt,bubblePadding:!0,buildKDTree:rt,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:et,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),L(W,"updatedData",function(P){delete P.target.chart.bubbleZExtremes}),X.prototype.beforePadding=function(){var f,P=this,g=this.len,c=this.chart,u=0,o=g,m=this.isXAxis,l=m?"xData":"yData",b=this.min,n=this.max-b,r=g/n;this.series.forEach(function(T){if(T.bubblePadding&&(T.visible||!c.options.chart.ignoreHiddenSeries)){f=P.allowZoomOutside=!0;var w=T[l];if(m&&T.getRadii(0,0,T),0<n)for(var D=w.length;D--;)if(v(w[D])&&P.dataMin<=w[D]&&w[D]<=P.max){var d=T.radii&&T.radii[D]||0;u=Math.min((w[D]-b)*r-d,u),o=Math.max((w[D]-b)*r+d,o)}}}),f&&0<n&&!this.logarithmic&&(o-=g,r*=(g+Math.max(0,u)-Math.min(o,g))/g,[["min","userMin",u],["max","userMax",o]].forEach(function(T){void 0===O(P.options[T[0]],P[T[1]])&&(P[T[0]]+=T[2]/r)}))},K.registerSeriesType("bubble",W),W}),Mt($,"Series/MapBubble/MapBubblePoint.js",[$["Series/Map/MapPoint.js"],$["Core/Series/SeriesRegistry.js"]],function(X,Y){var Q,et=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)}),rt=(Y=Y.seriesTypes).map;return function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.applyOptions=rt.prototype.pointClass.prototype.applyOptions,K.getProjectedBounds=X.prototype.getProjectedBounds,K}return et(it,Q),it.prototype.isValid=function(){return"number"==typeof this.z},it}(Y.bubble.prototype.pointClass)}),Mt($,"Series/MapBubble/MapBubbleSeries.js",[$["Series/Bubble/BubbleSeries.js"],$["Series/MapBubble/MapBubblePoint.js"],$["Series/Map/MapSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var I,it=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),K=rt.seriesTypes.mappoint,W=Q.extend,F=Q.merge;return Q=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.data=void 0,C.options=void 0,C.points=void 0,C}return it(L,I),L.prototype.searchPoint=function(C,y){return this.searchKDTree({clientX:C.chartX-this.chart.plotLeft,plotY:C.chartY-this.chart.plotTop},y,C)},L.prototype.translate=function(){K.prototype.translate.call(this),this.getRadii(),this.translateBubble()},L.compose=X.compose,L.defaultOptions=F(X.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),L}(X),W(Q.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:et.prototype.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:Y,processData:et.prototype.processData,projectPoint:K.prototype.projectPoint,setData:et.prototype.setData,setOptions:et.prototype.setOptions,updateData:et.prototype.updateData,useMapGeometry:!0,xyFromShape:!0}),rt.registerSeriesType("mapbubble",Q),Q}),Mt($,"Series/Heatmap/HeatmapPoint.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var W,et=this&&this.__extends||(W=function(F,I){return(W=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(L,C){L.__proto__=C}||function(L,C){for(var y in C)C.hasOwnProperty(y)&&(L[y]=C[y])})(F,I)},function(F,I){function L(){this.constructor=F}W(F,I),F.prototype=null===I?Object.create(I):(L.prototype=I.prototype,new L)}),rt=Y.clamp,Q=Y.defined,it=Y.extend,K=Y.pick;return X=function(W){function F(){var I=null!==W&&W.apply(this,arguments)||this;return I.options=void 0,I.series=void 0,I.value=void 0,I.x=void 0,I.y=void 0,I}return et(F,W),F.prototype.applyOptions=function(I,L){return(I=W.prototype.applyOptions.call(this,I,L)).formatPrefix=I.isNull||null===I.value?"null":"point",I},F.prototype.getCellAttributes=function(){var I=this.series,L=I.options,C=(L.colsize||1)/2,y=(L.rowsize||1)/2,S=I.xAxis,M=I.yAxis,E=this.options.marker||I.options.marker;I=I.pointPlacementToXValue();var v=K(this.pointPadding,L.pointPadding,0),k={x1:rt(Math.round(S.len-(S.translate(this.x-C,!1,!0,!1,!0,-I)||0)),-S.len,2*S.len),x2:rt(Math.round(S.len-(S.translate(this.x+C,!1,!0,!1,!0,-I)||0)),-S.len,2*S.len),y1:rt(Math.round(M.translate(this.y-y,!1,!0,!1,!0)||0),-M.len,2*M.len),y2:rt(Math.round(M.translate(this.y+y,!1,!0,!1,!0)||0),-M.len,2*M.len)};return[["width","x"],["height","y"]].forEach(function(O){var P=O[0],g=(O=O[1])+"1",c=O+"2",u=Math.abs(k[g]-k[c]),o=E&&E.lineWidth||0,m=Math.abs(k[g]+k[c])/2;Q(P=E&&E[P])&&P<u&&(k[g]=m-(P=P/2+o/2),k[c]=m+P),v&&("y"===O&&(g=c,c=O+"1"),k[g]+=v,k[c]-=v)}),k},F.prototype.haloPath=function(I){if(!I)return[];var L=this.shapeArgs;return["M",L.x-I,L.y-I,"L",L.x-I,L.y+L.height+I,L.x+L.width+I,L.y+L.height+I,L.x+L.width+I,L.y-I,"Z"]},F.prototype.isValid=function(){return this.value!==1/0&&this.value!==-1/0},F}(X.seriesTypes.scatter.prototype.pointClass),it(X.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1}),X}),Mt($,"Series/Heatmap/HeatmapSeries.js",[$["Core/Color/Color.js"],$["Series/ColorMapMixin.js"],$["Series/Heatmap/HeatmapPoint.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var O,W=this&&this.__extends||(O=function(P,g){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var o in u)u.hasOwnProperty(o)&&(c[o]=u[o])})(P,g)},function(P,g){function c(){this.constructor=P}O(P,g),P.prototype=null===g?Object.create(g):(c.prototype=g.prototype,new c)}),F=Q.series,I=Q.seriesTypes,L=I.column,C=I.scatter,y=it.prototype.symbols,S=K.extend,M=K.fireEvent,E=K.isNumber,v=K.merge,k=K.pick;return it=function(O){function P(){var g=null!==O&&O.apply(this,arguments)||this;return g.colorAxis=void 0,g.data=void 0,g.options=void 0,g.points=void 0,g.valueMax=NaN,g.valueMin=NaN,g}return W(P,O),P.prototype.drawPoints=function(){var g=this;((this.options.marker||{}).enabled||this._hasPointMarkers)&&(F.prototype.drawPoints.call(this),this.points.forEach(function(c){c.graphic&&(c.graphic[g.chart.styledMode?"css":"animate"](g.colorAttribs(c)),null===c.value&&c.graphic.addClass("highcharts-null-point"))}))},P.prototype.getExtremes=function(){var g=F.prototype.getExtremes.call(this,this.valueData),c=g.dataMin;return g=g.dataMax,E(c)&&(this.valueMin=c),E(g)&&(this.valueMax=g),F.prototype.getExtremes.call(this)},P.prototype.getValidPoints=function(g,c){return F.prototype.getValidPoints.call(this,g,c,!0)},P.prototype.hasData=function(){return!!this.processedXData.length},P.prototype.init=function(){F.prototype.init.apply(this,arguments);var g=this.options;g.pointRange=k(g.pointRange,g.colsize||1),this.yAxis.axisPointRange=g.rowsize||1,y.ellipse=y.circle,g.marker&&(g.marker.r=g.borderRadius)},P.prototype.markerAttribs=function(g,c){var u=g.marker||{},m=g.shapeArgs||{},l={};if(g.hasImage)return{x:g.plotX,y:g.plotY};if(c){var b=(this.options.marker||{}).states[c]||{},n=u.states&&u.states[c]||{};[["width","x"],["height","y"]].forEach(function(r){l[r[0]]=(n[r[0]]||b[r[0]]||m[r[0]])+(n[r[0]+"Plus"]||b[r[0]+"Plus"]||0),l[r[1]]=m[r[1]]+(m[r[0]]-l[r[0]])/2})}return c?l:m},P.prototype.pointAttribs=function(g,c){var u=F.prototype.pointAttribs.call(this,g,c),o=this.options||{},m=this.chart.options.plotOptions||{},l=m.series||{},b=m.heatmap||{};return m=g&&g.options.borderColor||o.borderColor||b.borderColor||l.borderColor,l=g&&g.options.borderWidth||o.borderWidth||b.borderWidth||l.borderWidth||u["stroke-width"],u.stroke=g&&g.marker&&g.marker.lineColor||o.marker&&o.marker.lineColor||m||this.color,u["stroke-width"]=l,c&&(c=(g=v(o.states[c],o.marker&&o.marker.states[c],g&&g.options.states&&g.options.states[c]||{})).brightness,u.fill=g.color||X.parse(u.fill).brighten(c||0).get(),u.stroke=g.lineColor),u},P.prototype.setClip=function(g){var c=this.chart;F.prototype.setClip.apply(this,arguments),(!1!==this.options.clip||g)&&this.markerGroup.clip((g||this.clipBox)&&this.sharedClipKey?c.sharedClips[this.sharedClipKey]:c.clipRect)},P.prototype.translate=function(){var g=this.options,c=g.marker&&g.marker.symbol||"rect",u=y[c]?c:"rect",o=-1!==["circle","square"].indexOf(u);this.generatePoints(),this.points.forEach(function(m){var l=m.getCellAttributes(),b={};b.x=Math.min(l.x1,l.x2),b.y=Math.min(l.y1,l.y2),b.width=Math.max(Math.abs(l.x2-l.x1),0),b.height=Math.max(Math.abs(l.y2-l.y1),0);var n=m.hasImage=0===(m.marker&&m.marker.symbol||c||"").indexOf("url");if(o){var r=Math.abs(b.width-b.height);b.x=Math.min(l.x1,l.x2)+(b.width<b.height?0:r/2),b.y=Math.min(l.y1,l.y2)+(b.width<b.height?r/2:0),b.width=b.height=Math.min(b.width,b.height)}r={plotX:(l.x1+l.x2)/2,plotY:(l.y1+l.y2)/2,clientX:(l.x1+l.x2)/2,shapeType:"path",shapeArgs:v(!0,b,{d:y[u](b.x,b.y,b.width,b.height,{r:g.borderRadius})})},n&&(m.marker={width:b.width,height:b.height}),S(m,r)}),M(this,"afterTranslate")},P.defaultOptions=v(C.defaultOptions,{animation:!1,borderRadius:0,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){var g=this.series.chart.numberFormatter,c=this.point.value;return E(c)?g(c,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}}}),P}(C),S(it.prototype,{alignDataLabel:L.prototype.alignDataLabel,axisTypes:Y.SeriesMixin.axisTypes,colorAttribs:Y.SeriesMixin.colorAttribs,colorKey:Y.SeriesMixin.colorKey,directTouch:!0,drawLegendSymbol:rt.drawRectangle,getExtremesFromAll:!0,getSymbol:F.prototype.getSymbol,parallelArrays:Y.SeriesMixin.parallelArrays,pointArrayMap:["y","value"],pointClass:et,trackerGroups:Y.SeriesMixin.trackerGroups}),Q.registerSeriesType("heatmap",it),it}),Mt($,"masters/modules/map.src.js",[$["Core/Globals.js"],$["Core/Axis/Color/ColorAxis.js"],$["Series/MapBubble/MapBubbleSeries.js"],$["Core/Chart/MapChart.js"],$["Maps/MapView.js"],$["Maps/Projection.js"]],function(X,Y,et,rt,Q,it){X.ColorAxis=Y,X.MapChart=rt,X.mapChart=X.Map=rt.mapChart,X.MapView=Q,X.maps=rt.maps,X.Projection=it,Y.compose(X.Chart,X.Fx,X.Legend,X.Series),et.compose(X.Chart,X.Legend,X.Series)}),Mt($,"masters/highmaps.src.js",[$["masters/highcharts.src.js"]],function(X){return X.product="Highmaps",X}),$["masters/highmaps.src.js"]._modules=$,$["masters/highmaps.src.js"]},Te.exports?(Mt.default=Mt,Te.exports=de.document?Mt(de):Mt):void 0!==(oe=function(){return Mt(de)}.call(hi,Ve,hi,Te))&&(Te.exports=oe)},150:function(Te,hi,Ve){var oe,de,Mt;de="undefined"!=typeof window?window:this,Mt=function(de){function Mt(X,Y,et,rt){X.hasOwnProperty(Y)||(X[Y]=rt.apply(null,et),"function"==typeof CustomEvent&&de.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:Y,module:X[Y]}})))}var $={};return Mt($,"Core/Globals.js",[],function(){var X,Y;return(Y=X||(X={})).SVG_NS="http://www.w3.org/2000/svg",Y.product="Highcharts",Y.version="10.1.0",Y.win=void 0!==de?de:{},Y.doc=Y.win.document,Y.svg=Y.doc&&Y.doc.createElementNS&&!!Y.doc.createElementNS(Y.SVG_NS,"svg").createSVGRect,Y.userAgent=Y.win.navigator&&Y.win.navigator.userAgent||"",Y.isChrome=-1!==Y.userAgent.indexOf("Chrome"),Y.isFirefox=-1!==Y.userAgent.indexOf("Firefox"),Y.isMS=/(edge|msie|trident)/i.test(Y.userAgent)&&!Y.win.opera,Y.isSafari=!Y.isChrome&&-1!==Y.userAgent.indexOf("Safari"),Y.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Y.userAgent),Y.isWebKit=-1!==Y.userAgent.indexOf("AppleWebKit"),Y.deg2rad=2*Math.PI/360,Y.hasBidiBug=Y.isFirefox&&4>parseInt(Y.userAgent.split("Firefox/")[1],10),Y.hasTouch=!!Y.win.TouchEvent,Y.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Y.noop=function(){},Y.supportsPassiveEvents=function(){var et=!1;if(!Y.isMS){var rt=Object.defineProperty({},"passive",{get:function(){et=!0}});Y.win.addEventListener&&Y.win.removeEventListener&&(Y.win.addEventListener("testPassive",Y.noop,rt),Y.win.removeEventListener("testPassive",Y.noop,rt))}return et}(),Y.charts=[],Y.dateFormats={},Y.seriesTypes={},Y.symbolSizes={},Y.chartCount=0,X}),Mt($,"Core/Utilities.js",[$["Core/Globals.js"]],function(X){function Y(n,r,f,T){var w=r?"Highcharts error":"Highcharts warning";32===n&&(n=w+": Deprecated member");var D=I(n),d=D?w+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();if(void 0!==T){var R="";D&&(d+="?"),O(T,function(a,h){R+="\n - "+h+": "+a,D&&(d+=encodeURI(h)+"="+encodeURI(a))}),d+=R}g(X,"displayError",{chart:f,code:n,message:d,params:T},function(){if(r)throw Error(d);o.console&&-1===Y.messages.indexOf(d)&&console.warn(d)}),Y.messages.push(d)}function rt(n,r){return parseInt(n,r||10)}function Q(n){return"string"==typeof n}function it(n){return"[object Array]"===(n=Object.prototype.toString.call(n))||"[object Array Iterator]"===n}function K(n,r){return!(!n||"object"!=typeof n||r&&it(n))}function W(n){return K(n)&&"number"==typeof n.nodeType}function F(n){var r=n&&n.constructor;return!(!K(n,!0)||W(n)||!r||!r.name||"Object"===r.name)}function I(n){return"number"==typeof n&&!isNaN(n)&&1/0>n&&-1/0<n}function L(n){return null!=n}function C(n,r,f){var w,T=Q(r)&&!L(f),D=function(d,R){L(d)?n.setAttribute(R,d):T?(w=n.getAttribute(R))||"class"!==R||(w=n.getAttribute(R+"Name")):n.removeAttribute(R)};return Q(r)?D(f,r):O(r,D),w}function y(n,r){var f;for(f in n||(n={}),r)n[f]=r[f];return n}function S(){for(var n=arguments,r=n.length,f=0;f<r;f++){var T=n[f];if(null!=T)return T}}function M(n,r){X.isMS&&!X.svg&&r&&L(r.opacity)&&(r.filter="alpha(opacity="+100*r.opacity+")"),y(n.style,r)}function E(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))}function v(n,r){return 1e14<n?n:parseFloat(n.toPrecision(r||14))}function O(n,r,f){for(var T in n)Object.hasOwnProperty.call(n,T)&&r.call(f||n[T],n[T],T,n)}function P(n,r,f){function T(R,a){var h=n.removeEventListener||X.removeEventListenerPolyfill;h&&h.call(n,R,a,!1)}function w(R){var a;if(n.nodeName){if(r){var h={};h[r]=!0}else h=R;O(h,function(A,j){if(R[j])for(a=R[j].length;a--;)T(j,R[j][a].fn)})}}var D="function"==typeof n&&n.prototype||n;if(Object.hasOwnProperty.call(D,"hcEvents")){var d=D.hcEvents;r?(D=d[r]||[],f?(d[r]=D.filter(function(R){return f!==R.fn}),T(r,f)):(w(d),d[r]=[])):(w(d),delete D.hcEvents)}}function g(n,r,f,T){if(f=f||{},u.createEvent&&(n.dispatchEvent||n.fireEvent&&n!==X)){var w=u.createEvent("Events");w.initEvent(r,!0,!0),f=y(w,f),n.dispatchEvent?n.dispatchEvent(f):n.fireEvent(r,f)}else if(n.hcEvents){f.target||y(f,{preventDefault:function(){f.defaultPrevented=!0},target:n,type:r}),w=[];for(var D=n,d=!1;D.hcEvents;)Object.hasOwnProperty.call(D,"hcEvents")&&D.hcEvents[r]&&(w.length&&(d=!0),w.unshift.apply(w,D.hcEvents[r])),D=Object.getPrototypeOf(D);d&&w.sort(function(R,a){return R.order-a.order}),w.forEach(function(R){!1===R.fn.call(n,f)&&f.preventDefault()})}T&&!f.defaultPrevented&&T.call(n,f)}var c=X.charts,u=X.doc,o=X.win;(Y||(Y={})).messages=[],Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var m=Array.prototype.find?function(n,r){return n.find(r)}:function(n,r){var f,T=n.length;for(f=0;f<T;f++)if(r(n[f],f))return n[f]};O({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(n,r){X[r]=function(f){var T;return Y(32,!1,void 0,((T={})["Highcharts."+r]="use Array."+n,T)),Array.prototype[n].apply(f,[].slice.call(arguments,1))}});var l,n,r,b=(n=Math.random().toString(36).substring(2,9)+"-",r=0,function(){return"highcharts-"+(l?"":n)+r++});return o.jQuery&&(o.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new(X[Q(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):c[C(this[0],"data-highcharts-chart")]}),m={addEvent:function(n,r,f,T){void 0===T&&(T={});var w="function"==typeof n&&n.prototype||n;Object.hasOwnProperty.call(w,"hcEvents")||(w.hcEvents={}),w=w.hcEvents,X.Point&&n instanceof X.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);var D=n.addEventListener||X.addEventListenerPolyfill;return D&&D.call(n,r,f,!!X.supportsPassiveEvents&&{passive:void 0===T.passive?-1!==r.indexOf("touch"):T.passive,capture:!1}),w[r]||(w[r]=[]),w[r].push({fn:f,order:"number"==typeof T.order?T.order:1/0}),w[r].sort(function(d,R){return d.order-R.order}),function(){P(n,r,f)}},arrayMax:function(n){for(var r=n.length,f=n[0];r--;)n[r]>f&&(f=n[r]);return f},arrayMin:function(n){for(var r=n.length,f=n[0];r--;)n[r]<f&&(f=n[r]);return f},attr:C,clamp:function(n,r,f){return n>r?n<f?n:f:r},cleanRecursively:function et(n,r){var f={};return O(n,function(T,w){K(n[w],!0)&&!n.nodeType&&r[w]?(T=et(n[w],r[w]),Object.keys(T).length&&(f[w]=T)):(K(n[w])||n[w]!==r[w]||w in n&&!(w in r))&&(f[w]=n[w])}),f},clearTimeout:function(n){L(n)&&clearTimeout(n)},correctFloat:v,createElement:function(n,r,f,T,w){return n=u.createElement(n),r&&y(n,r),w&&M(n,{padding:"0",border:"none",margin:"0"}),f&&M(n,f),T&&T.appendChild(n),n},css:M,defined:L,destroyObjectProperties:function(n,r){O(n,function(f,T){f&&f!==r&&f.destroy&&f.destroy(),delete n[T]})},discardElement:function(n){n&&n.parentElement&&n.parentElement.removeChild(n)},erase:function(n,r){for(var f=n.length;f--;)if(n[f]===r){n.splice(f,1);break}},error:Y,extend:y,extendClass:function(n,r){var f=function(){};return y(f.prototype=new n,r),f},find:m,fireEvent:g,getMagnitude:E,getNestedProperty:function(n,r){for(n=n.split(".");n.length&&L(r);){var f=n.shift();if(void 0===f||"__proto__"===f||!L(r=r[f])||"function"==typeof r||"number"==typeof r.nodeType||r===o)return}return r},getStyle:function k(n,r,f){var T=X.getStyle||k;if("width"===r)return r=Math.min(n.offsetWidth,n.scrollWidth),(f=n.getBoundingClientRect&&n.getBoundingClientRect().width)<r&&f>=r-1&&(r=Math.floor(f)),Math.max(0,r-(T(n,"padding-left",!0)||0)-(T(n,"padding-right",!0)||0));if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(T(n,"padding-top",!0)||0)-(T(n,"padding-bottom",!0)||0));if(o.getComputedStyle||Y(27,!0),n=o.getComputedStyle(n,void 0)){var w=n.getPropertyValue(r);S(f,"opacity"!==r)&&(w=rt(w))}return w},inArray:function(n,r,f){return Y(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(n,f)},isArray:it,isClass:F,isDOMElement:W,isFunction:function(n){return"function"==typeof n},isNumber:I,isObject:K,isString:Q,keys:function(n){return Y(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)},merge:function(){var n,r=arguments,f={},T=function(D,d){return"object"!=typeof D&&(D={}),O(d,function(R,a){"__proto__"!==a&&"constructor"!==a&&(D[a]=!K(R,!0)||F(R)||W(R)?d[a]:T(D[a]||{},R))}),D};!0===r[0]&&(f=r[1],r=Array.prototype.slice.call(r,2));var w=r.length;for(n=0;n<w;n++)f=T(f,r[n]);return f},normalizeTickInterval:function(n,r,f,T,w){var D=n,d=n/(f=S(f,E(n)));for(r||(r=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===T&&(1===f?r=r.filter(function(R){return R%1==0}):.1>=f&&(r=[1/f]))),T=0;T<r.length&&(D=r[T],!(w&&D*f>=n||!w&&d<=(r[T]+(r[T+1]||r[T]))/2));T++);return v(D*f,-Math.round(Math.log(.001)/Math.LN10))},objectEach:O,offset:function(n){var r=u.documentElement;return{top:(n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(o.pageYOffset||r.scrollTop)-(r.clientTop||0),left:n.left+(o.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:n.width,height:n.height}},pad:function(n,r,f){return Array((r||2)+1-String(n).replace("-","").length).join(f||"0")+n},pick:S,pInt:rt,relativeLength:function(n,r,f){return/%$/.test(n)?r*parseFloat(n)/100+(f||0):parseFloat(n)},removeEvent:P,splat:function(n){return it(n)?n:[n]},stableSort:function(n,r){var T,w,f=n.length;for(w=0;w<f;w++)n[w].safeI=w;for(n.sort(function(D,d){return 0===(T=r(D,d))?D.safeI-d.safeI:T}),w=0;w<f;w++)delete n[w].safeI},syncTimeout:function(n,r,f){return 0<r?setTimeout(n,r,f):(n.call(0,f),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:b,useSerialIds:function(n){return l=S(n,l)},wrap:function(n,r,f){var T=n[r];n[r]=function(){var w=Array.prototype.slice.call(arguments),D=arguments,d=this;return d.proceed=function(){T.apply(d,arguments.length?arguments:D)},w.unshift(T),w=f.apply(this,w),d.proceed=null,w}}},m}),Mt($,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Mt($,"Core/Color/Color.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.isNumber,rt=Y.merge,Q=Y.pInt;return function(){function it(K){this.rgba=[NaN,NaN,NaN,NaN],this.input=K;var W=X.Color;return W&&W!==it?new W(K):this instanceof it?void this.init(K):new it(K)}return it.parse=function(K){return K?new it(K):it.None},it.prototype.init=function(K){var W;if("object"==typeof K&&void 0!==K.stops)this.stops=K.stops.map(function(C){return new it(C[1])});else if("string"==typeof K){if(this.input=K=it.names[K.toLowerCase()]||K,"#"===K.charAt(0)){var F=K.length,I=parseInt(K.substr(1),16);7===F?W=[(16711680&I)>>16,(65280&I)>>8,255&I,1]:4===F&&(W=[(3840&I)>>4|(3840&I)>>8,(240&I)>>4|240&I,(15&I)<<4|15&I,1])}if(!W)for(I=it.parsers.length;I--&&!W;){var L=it.parsers[I];(F=L.regex.exec(K))&&(W=L.parse(F))}}W&&(this.rgba=W)},it.prototype.get=function(K){var W=this.input,F=this.rgba;if("object"==typeof W&&void 0!==this.stops){var I=rt(W);return I.stops=[].slice.call(I.stops),this.stops.forEach(function(L,C){I.stops[C]=[I.stops[C][0],L.get(K)]}),I}return F&&et(F[0])?"rgb"===K||!K&&1===F[3]?"rgb("+F[0]+","+F[1]+","+F[2]+")":"a"===K?""+F[3]:"rgba("+F.join(",")+")":W},it.prototype.brighten=function(K){var W=this.rgba;if(this.stops)this.stops.forEach(function(I){I.brighten(K)});else if(et(K)&&0!==K)for(var F=0;3>F;F++)W[F]+=Q(255*K),0>W[F]&&(W[F]=0),255<W[F]&&(W[F]=255);return this},it.prototype.setOpacity=function(K){return this.rgba[3]=K,this},it.prototype.tweenTo=function(K,W){var F=this.rgba,I=K.rgba;return et(F[0])&&et(I[0])?((K=1!==I[3]||1!==F[3])?"rgba(":"rgb(")+Math.round(I[0]+(F[0]-I[0])*(1-W))+","+Math.round(I[1]+(F[1]-I[1])*(1-W))+","+Math.round(I[2]+(F[2]-I[2])*(1-W))+(K?","+(I[3]+(F[3]-I[3])*(1-W)):"")+")":K.input||"none"},it.names={white:"#ffffff",black:"#000000"},it.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(K){return[Q(K[1]),Q(K[2]),Q(K[3]),parseFloat(K[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(K){return[Q(K[1]),Q(K[2]),Q(K[3]),1]}}],it.None=new it(""),it}()}),Mt($,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}}),Mt($,"Core/Time.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.win,rt=Y.defined,Q=Y.error,it=Y.extend,K=Y.isObject,W=Y.merge,F=Y.objectEach,I=Y.pad,L=Y.pick,C=Y.splat,y=Y.timeUnits,S=X.isSafari&&et.Intl&&et.Intl.DateTimeFormat.prototype.formatRange,M=X.isSafari&&et.Intl&&!et.Intl.DateTimeFormat.prototype.formatRange;return Y=function(){function E(v){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=et.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(v)}return E.prototype.get=function(v,k){if(this.variableTimezone||this.timezoneOffset){var O=k.getTime(),P=O-this.getTimezoneOffset(k);return k.setTime(P),v=k["getUTC"+v](),k.setTime(O),v}return this.useUTC?k["getUTC"+v]():k["get"+v]()},E.prototype.set=function(v,k,O){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===v||"Seconds"===v||"Minutes"===v&&this.getTimezoneOffset(k)%36e5==0)return k["setUTC"+v](O);var P=this.getTimezoneOffset(k);return P=k.getTime()-P,k.setTime(P),k["setUTC"+v](O),v=this.getTimezoneOffset(k),P=k.getTime()+v,k.setTime(P)}return this.useUTC||S&&"FullYear"===v?k["setUTC"+v](O):k["set"+v](O)},E.prototype.update=function(v){var k=L(v&&v.useUTC,!0);this.options=v=W(!0,this.options||{},v),this.Date=v.Date||et.Date||Date,this.timezoneOffset=(this.useUTC=k)&&v.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=k&&!(!v.getTimezoneOffset&&!v.timezone)},E.prototype.makeTime=function(v,k,O,P,g,c){if(this.useUTC){var u=this.Date.UTC.apply(0,arguments),o=this.getTimezoneOffset(u),m=this.getTimezoneOffset(u+=o);o!==m?u+=m-o:o-36e5!==this.getTimezoneOffset(u-36e5)||M||(u-=36e5)}else u=new this.Date(v,k,L(O,1),L(P,0),L(g,0),L(c,0)).getTime();return u},E.prototype.timezoneOffsetFunction=function(){var v=this,k=this.options,O=k.getTimezoneOffset,P=k.moment||et.moment;if(!this.useUTC)return function(g){return 6e4*new Date(g.toString()).getTimezoneOffset()};if(k.timezone){if(P)return function(g){return 6e4*-P.tz(g,k.timezone).utcOffset()};Q(25)}return this.useUTC&&O?function(g){return 6e4*O(g.valueOf())}:function(){return 6e4*(v.timezoneOffset||0)}},E.prototype.dateFormat=function(v,k,O){if(!rt(k)||isNaN(k))return X.defaultOptions.lang&&X.defaultOptions.lang.invalidDate||"";v=L(v,"%Y-%m-%d %H:%M:%S");var P=this,g=new this.Date(k),c=this.get("Hours",g),u=this.get("Day",g),o=this.get("Date",g),m=this.get("Month",g),l=this.get("FullYear",g),b=X.defaultOptions.lang,n=b&&b.weekdays,r=b&&b.shortWeekdays;return g=it({a:r?r[u]:n[u].substr(0,3),A:n[u],d:I(o),e:I(o,2," "),w:u,b:b.shortMonths[m],B:b.months[m],m:I(m+1),o:m+1,y:l.toString().substr(2,2),Y:l,H:I(c),k:c,I:I(c%12||12),l:c%12||12,M:I(this.get("Minutes",g)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:I(g.getSeconds()),L:I(Math.floor(k%1e3),3)},X.dateFormats),F(g,function(f,T){for(;-1!==v.indexOf("%"+T);)v=v.replace("%"+T,"function"==typeof f?f.call(P,k):f)}),O?v.substr(0,1).toUpperCase()+v.substr(1):v},E.prototype.resolveDTLFormat=function(v){return K(v,!0)?v:{main:(v=C(v))[0],from:v[1],to:v[2]}},E.prototype.getTimeTicks=function(v,k,O,P){var b,g=this,c=[],u={},o=new g.Date(k),m=v.unitRange,l=v.count||1;if(P=L(P,1),rt(k)){if(g.set("Milliseconds",o,m>=y.second?0:l*Math.floor(g.get("Milliseconds",o)/l)),m>=y.second&&g.set("Seconds",o,m>=y.minute?0:l*Math.floor(g.get("Seconds",o)/l)),m>=y.minute&&g.set("Minutes",o,m>=y.hour?0:l*Math.floor(g.get("Minutes",o)/l)),m>=y.hour&&g.set("Hours",o,m>=y.day?0:l*Math.floor(g.get("Hours",o)/l)),m>=y.day&&g.set("Date",o,m>=y.month?1:Math.max(1,l*Math.floor(g.get("Date",o)/l))),m>=y.month){g.set("Month",o,m>=y.year?0:l*Math.floor(g.get("Month",o)/l));var n=g.get("FullYear",o)}m>=y.year&&g.set("FullYear",o,n-n%l),m===y.week&&(n=g.get("Day",o),g.set("Date",o,g.get("Date",o)-n+P+(n<P?-7:0))),n=g.get("FullYear",o),P=g.get("Month",o);var r=g.get("Date",o),f=g.get("Hours",o);for(k=o.getTime(),!g.variableTimezone&&g.useUTC||!rt(O)||(b=O-k>4*y.month||g.getTimezoneOffset(k)!==g.getTimezoneOffset(O)),k=o.getTime(),o=1;k<O;)c.push(k),k=m===y.year?g.makeTime(n+o*l,0):m===y.month?g.makeTime(n,P+o*l):!b||m!==y.day&&m!==y.week?b&&m===y.hour&&1<l?g.makeTime(n,P,r,f+o*l):k+m*l:g.makeTime(n,P,r+o*l*(m===y.day?1:7)),o++;c.push(k),m<=y.hour&&1e4>c.length&&c.forEach(function(T){T%18e5==0&&"000000000"===g.dateFormat("%H%M%S%L",T)&&(u[T]="day")})}return c.info=it(v,{higherRanks:u,totalRange:m*l}),c},E.prototype.getDateFormat=function(v,k,O,P){var g=this.dateFormat("%m-%d %H:%M:%S.%L",k),c={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(o in y){if(v===y.week&&+this.dateFormat("%w",k)===O&&"00:00:00.000"===g.substr(6)){var o="week";break}if(y[o]>v){o=u;break}if(c[o]&&g.substr(c[o])!=="01-01 00:00:00.000".substr(c[o]))break;"week"!==o&&(u=o)}if(o)var m=this.resolveDTLFormat(P[o]).main;return m},E}(),Y}),Mt($,"Core/DefaultOptions.js",[$["Core/Chart/ChartDefaults.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Color/Palettes.js"],$["Core/Time.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){Y=Y.parse;var K=it.merge,W={colors:rt.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:X,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",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:et.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:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:et.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:Y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},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"}};W.chart.styledMode=!1;var F=new Q(K(W.global,W.time));return{defaultOptions:W,defaultTime:F,getOptions:function(){return W},setOptions:function(I){return K(!0,W,I),(I.time||I.global)&&(et.time?et.time.update(K(W.global,W.time,I.global,I.time)):et.time=F),W}}}),Mt($,"Core/Animation/Fx.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=X.parse,Q=Y.win,it=et.isNumber,K=et.objectEach;return function(){function W(F,I,L){this.pos=NaN,this.options=I,this.elem=F,this.prop=L}return W.prototype.dSetter=function(){var F=this.paths,I=F&&F[0];F=F&&F[1];var L=this.now||0,C=[];if(1!==L&&I&&F)if(I.length===F.length&&1>L)for(var y=0;y<F.length;y++){for(var S=I[y],M=F[y],E=[],v=0;v<M.length;v++){var k=S[v],O=M[v];E[v]=it(k)&&it(O)&&("A"!==M[0]||4!==v&&5!==v)?k+L*(O-k):O}C.push(E)}else C=F;else C=this.toD||[];this.elem.attr("d",C,void 0,!0)},W.prototype.update=function(){var F=this.elem,I=this.prop,L=this.now,C=this.options.step;this[I+"Setter"]?this[I+"Setter"]():F.attr?F.element&&F.attr(I,L,null,!0):F.style[I]=L+this.unit,C&&C.call(F,L,this)},W.prototype.run=function(F,I,L){var C=this,y=C.options,S=function(v){return!S.stopped&&C.step(v)},M=Q.requestAnimationFrame||function(v){setTimeout(v,13)},E=function(){for(var v=0;v<W.timers.length;v++)W.timers[v]()||W.timers.splice(v--,1);W.timers.length&&M(E)};F!==I||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=F,this.end=I,this.unit=L,this.now=this.start,this.pos=0,S.elem=this.elem,S.prop=this.prop,S()&&1===W.timers.push(S)&&M(E)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},W.prototype.step=function(F){var I=+new Date,L=this.options,C=this.elem,y=L.complete,S=L.duration,M=L.curAnim;if(C.attr&&!C.element)F=!1;else if(F||I>=S+this.startTime){this.now=this.end,this.pos=1,this.update();var E=M[this.prop]=!0;K(M,function(v){!0!==v&&(E=!1)}),E&&y&&y.call(C),F=!1}else this.pos=L.easing((I-this.startTime)/S),this.now=this.start+(this.end-this.start)*this.pos,this.update(),F=!0;return F},W.prototype.initPath=function(F,I,L){function C(g,c){for(;g.length<P;){var u=g[0],o=c[P-g.length];o&&"M"===u[0]&&(g[0]="C"===o[0]?["C",u[1],u[2],u[1],u[2],u[1],u[2]]:["L",u[1],u[2]]),g.unshift(u),E&&(u=g.pop(),g.push(g[g.length-1],u))}}function y(g,c){for(;g.length<P;)if("C"===(c=g[Math.floor(g.length/v)-1].slice())[0]&&(c[1]=c[5],c[2]=c[6]),E){var u=g[Math.floor(g.length/v)].slice();g.splice(g.length/2,0,c,u)}else g.push(c)}var S=F.startX,M=F.endX;L=L.slice();var E=F.isArea,v=E?2:1;if(!(I=I&&I.slice()))return[L,L];if(S&&M&&M.length){for(F=0;F<S.length;F++){if(S[F]===M[0]){var k=F;break}if(S[0]===M[M.length-S.length+F]){k=F;var O=!0;break}if(S[S.length-1]===M[M.length-S.length+F]){k=S.length-F;break}}void 0===k&&(I=[])}if(I.length&&it(k)){var P=L.length+k*v;O?(C(I,L),y(L,I)):(C(L,I),y(I,L))}return[I,L]},W.prototype.fillSetter=function(){W.prototype.strokeSetter.apply(this,arguments)},W.prototype.strokeSetter=function(){this.elem.attr(this.prop,rt(this.start).tweenTo(rt(this.end),this.pos),void 0,!0)},W.timers=[],W}()}),Mt($,"Core/Animation/AnimationUtilities.js",[$["Core/Animation/Fx.js"],$["Core/Utilities.js"]],function(X,Y){function et(y){return F(y)?I({duration:500,defer:0},y):{duration:y?500:0,defer:0}}function rt(y,S){for(var M=X.timers.length;M--;)X.timers[M].elem!==y||S&&S!==X.timers[M].prop||(X.timers[M].stopped=!0)}var Q=Y.defined,it=Y.getStyle,K=Y.isArray,W=Y.isNumber,F=Y.isObject,I=Y.merge,L=Y.objectEach,C=Y.pick;return{animate:function(y,S,M){var E,k,O,v="";if(!F(M)){var P=arguments;M={duration:P[2],easing:P[3],complete:P[4]}}W(M.duration)||(M.duration=400),M.easing="function"==typeof M.easing?M.easing:Math[M.easing]||Math.easeInOutSine,M.curAnim=I(S),L(S,function(g,c){rt(y,c),O=new X(y,M,c),k=void 0,"d"===c&&K(S.d)?(O.paths=O.initPath(y,y.pathArray,S.d),O.toD=S.d,E=0,k=1):y.attr?E=y.attr(c):(E=parseFloat(it(y,c))||0,"opacity"!==c&&(v="px")),k||(k=g),"string"==typeof k&&k.match("px")&&(k=k.replace(/px/g,"")),O.run(E,k,v)})},animObject:et,getDeferredAnimation:function(y,S,M){var E=et(S),v=0,k=0;return(M?[M]:y.series).forEach(function(O){O=et(O.options.animation),v=S&&Q(S.defer)?E.defer:Math.max(v,O.duration+O.defer),k=Math.min(E.duration,O.duration)}),y.renderer.forExport&&(v=0),{defer:Math.max(0,v-k),duration:Math.min(v,k)}},setAnimation:function(y,S){S.renderer.globalAnimation=C(y,S.options.chart.animation,!0)},stop:rt}}),Mt($,"Core/Renderer/HTML/AST.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.SVG_NS,rt=Y.attr,Q=Y.createElement,it=Y.css,K=Y.error,W=Y.isFunction,F=Y.isString,I=Y.objectEach,L=Y.splat,C=(Y=X.win.trustedTypes)&&W(Y.createPolicy)&&Y.createPolicy("highcharts",{createHTML:function(M){return M}}),y=C?C.createHTML(""):"";try{var S=!!(new DOMParser).parseFromString(y,"text/html")}catch(M){S=!1}return function(){function M(E){this.nodes="string"==typeof E?this.parseMarkup(E):E}return M.filterUserAttributes=function(E){return I(E,function(v,k){var O=!0;-1===M.allowedAttributes.indexOf(k)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(O=F(v)&&M.allowedReferences.some(function(P){return 0===v.indexOf(P)})),O||(K(33,!1,void 0,{"Invalid attribute in config":""+k}),delete E[k])}),E},M.parseStyle=function(E){return E.split(";").reduce(function(v,k){var O=(k=k.split(":").map(function(P){return P.trim()})).shift();return O&&k.length&&(v[O.replace(/-([a-z])/g,function(P){return P[1].toUpperCase()})]=k.join(":")),v},{})},M.setElementHTML=function(E,v){E.innerHTML=M.emptyHTML,v&&new M(v).addToDOM(E)},M.prototype.addToDOM=function(E){return function v(k,O){var P;return L(k).forEach(function(g){var c=g.tagName,u=g.textContent?X.doc.createTextNode(g.textContent):void 0,o=M.bypassHTMLFiltering;if(c)if("#text"===c)var m=u;else if(-1!==M.allowedTags.indexOf(c)||o){c=X.doc.createElementNS("svg"===c?et:O.namespaceURI||et,c);var l=g.attributes||{};I(g,function(b,n){"tagName"!==n&&"attributes"!==n&&"children"!==n&&"style"!==n&&"textContent"!==n&&(l[n]=b)}),rt(c,o?l:M.filterUserAttributes(l)),g.style&&it(c,g.style),u&&c.appendChild(u),v(g.children||[],c),m=c}else K(33,!1,void 0,{"Invalid tagName in config":c});m&&O.appendChild(m),P=m}),P}(this.nodes,E)},M.prototype.parseMarkup=function(E){var v=[];if(E=E.trim().replace(/ style="/g,' data-style="'),S)E=(new DOMParser).parseFromString(C?C.createHTML(E):E,"text/html");else{var k=Q("div");k.innerHTML=E,E={body:k}}var O=function(P,g){var c=P.nodeName.toLowerCase(),u={tagName:c};if("#text"===c&&(u.textContent=P.textContent||""),c=P.attributes){var o={};[].forEach.call(c,function(l){"data-style"===l.name?u.style=M.parseStyle(l.value):o[l.name]=l.value}),u.attributes=o}if(P.childNodes.length){var m=[];[].forEach.call(P.childNodes,function(l){O(l,m)}),m.length&&(u.children=m)}g.push(u)};return[].forEach.call(E.body.childNodes,function(P){return O(P,v)}),v},M.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align textAnchor textLength title type valign width x x1 x2 y y1 y2 zIndex".split(" "),M.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),M.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),M.emptyHTML=y,M.bypassHTMLFiltering=!1,M}()}),Mt($,"Core/FormatUtilities.js",[$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L,C,y){L=+L;var S=rt.lang,M=((I=+I||0).toString().split(".")[1]||"").split("e")[0].length,E=I.toString().split("e"),v=L;if(-1===L)L=Math.min(M,20);else if(K(L)){if(L&&E[1]&&0>E[1]){var k=L+ +E[1];0<=k?(E[0]=(+E[0]).toExponential(k).split("e")[0],L=k):(E[0]=E[0].split(".")[0]||0,I=20>L?(E[0]*Math.pow(10,E[1])).toFixed(L):0,E[1]=0)}}else L=2;k=(Math.abs(E[1]?E[0]:I)+Math.pow(10,-Math.max(L,M)-1)).toFixed(L);var O=3<(M=String(F(k))).length?M.length%3:0;return C=W(C,S.decimalPoint),y=W(y,S.thousandsSep),I=(0>I?"-":"")+(O?M.substr(0,O)+y:""),I=0>+E[1]&&!v?"0":I+M.substr(O).replace(/(\d{3})(?=\d)/g,"$1"+y),L&&(I+=C+k.slice(-L)),E[1]&&0!=+I&&(I+="e"+E[1]),I}var rt=X.defaultOptions,Q=X.defaultTime,it=Y.getNestedProperty,K=Y.isNumber,W=Y.pick,F=Y.pInt;return{dateFormat:function(I,L,C){return Q.dateFormat(I,L,C)},format:function(I,L,C){var y="{",S=!1,M=/f$/,E=/\.([0-9])/,v=rt.lang,k=C&&C.time||Q;C=C&&C.numberFormatter||et;for(var O=[];I;){var P=I.indexOf(y);if(-1===P)break;var g=I.slice(0,P);if(S){if(g=g.split(":"),y=it(g.shift()||"",L),g.length&&"number"==typeof y)if(g=g.join(":"),M.test(g)){var c=parseInt((g.match(E)||["","-1"])[1],10);null!==y&&(y=C(y,c,v.decimalPoint,-1<g.indexOf(",")?v.thousandsSep:""))}else y=k.dateFormat(g,y);O.push(y)}else O.push(g);I=I.slice(P+1),y=(S=!S)?"}":"{"}return O.push(I),O.join("")},numberFormat:et}}),Mt($,"Core/Renderer/RendererUtilities.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.clamp,et=X.pick,rt=X.stableSort;return(Q||(Q={})).distribute=function K(W,F,I){var M,L=W,C=L.reducedLen||F,y=function(O,P){return(P.rank||0)-(O.rank||0)},S=function(O,P){return O.target-P.target},E=!0,v=[],k=0;for(M=W.length;M--;)k+=W[M].size;if(k>C){for(rt(W,y),k=M=0;k<=C;)k+=W[M].size,M++;v=W.splice(M-1,W.length)}for(rt(W,S),W=W.map(function(O){return{size:O.size,targets:[O.target],align:et(O.align,.5)}});E;){for(M=W.length;M--;)C=W[M],y=(Math.min.apply(0,C.targets)+Math.max.apply(0,C.targets))/2,C.pos=Y(y-C.size*C.align,0,F-C.size);for(M=W.length,E=!1;M--;)0<M&&W[M-1].pos+W[M-1].size>W[M].pos&&(W[M-1].size+=W[M].size,W[M-1].targets=W[M-1].targets.concat(W[M].targets),W[M-1].align=.5,W[M-1].pos+W[M-1].size>F&&(W[M-1].pos=F-W[M-1].size),W.splice(M,1),E=!0)}return L.push.apply(L,v),M=0,W.some(function(O){var P=0;return(O.targets||[]).some(function(){return L[M].pos=O.pos+P,void 0!==I&&Math.abs(L[M].pos-L[M].target)>I?(L.slice(0,M+1).forEach(function(g){return delete g.pos}),L.reducedLen=(L.reducedLen||F)-.1*F,L.reducedLen>.1*F&&K(L,F,I),!0):(P+=L[M].size,M++,!1)})}),rt(L,S),L},Q}),Mt($,"Core/Renderer/SVG/SVGElement.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.animate,K=X.animObject,W=X.stop,F=rt.deg2rad,I=rt.doc,L=rt.noop,C=rt.svg,y=rt.SVG_NS,S=rt.win,M=Q.addEvent,E=Q.attr,v=Q.createElement,k=Q.css,O=Q.defined,P=Q.erase,g=Q.extend,c=Q.fireEvent,u=Q.isArray,o=Q.isFunction,m=Q.isNumber,l=Q.isString,b=Q.merge,n=Q.objectEach,r=Q.pick,f=Q.pInt,T=Q.syncTimeout,w=Q.uniqueKey;return X=function(){function D(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=y,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return D.prototype._defaultGetter=function(d){return d=r(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0),/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d)),d},D.prototype._defaultSetter=function(d,R,a){a.setAttribute(R,d)},D.prototype.add=function(d){var R=this.renderer,a=this.element;if(d&&(this.parentGroup=d),this.parentInverted=d&&d.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&R.buildText(this),this.added=!0,!d||d.handleZ||this.zIndex)var h=this.zIndexSetter();return h||(d?d.element:R.box).appendChild(a),this.onAdd&&this.onAdd(),this},D.prototype.addClass=function(d,R){var a=R?"":this.attr("class")||"";return(d=(d||"").split(/ /g).reduce(function(h,A){return-1===a.indexOf(A)&&h.push(A),h},a?[a]:[]).join(" "))!==a&&this.attr("class",d),this},D.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},D.prototype.align=function(d,R,a){var z,H,p,h={},A=this.renderer,j=A.alignedObjects;d?(this.alignOptions=d,this.alignByTranslate=R,(!a||l(a))&&(this.alignTo=z=a||"renderer",P(j,this),j.push(this),a=void 0)):(d=this.alignOptions,R=this.alignByTranslate,z=this.alignTo),a=r(a,A[z],"scrollablePlotBox"===z?A.plotBox:void 0,A);var N=d.verticalAlign;return A=(a.x||0)+(d.x||0),j=(a.y||0)+(d.y||0),"right"===(z=d.align)?H=1:"center"===z&&(H=2),H&&(A+=(a.width-(d.width||0))/H),h[R?"translateX":"x"]=Math.round(A),"bottom"===N?p=1:"middle"===N&&(p=2),p&&(j+=(a.height-(d.height||0))/p),h[R?"translateY":"y"]=Math.round(j),this[this.placed?"animate":"attr"](h),this.placed=!0,this.alignAttr=h,this},D.prototype.alignSetter=function(d){var R={left:"start",center:"middle",right:"end"};R[d]&&(this.alignValue=d,this.element.setAttribute("text-anchor",R[d]))},D.prototype.animate=function(d,R,a){var h=this,A=K(r(R,this.renderer.globalAnimation,!0));return R=A.defer,r(I.hidden,I.msHidden,I.webkitHidden,!1)&&(A.duration=0),0!==A.duration?(a&&(A.complete=a),T(function(){h.element&&it(h,d,A)},R)):(this.attr(d,void 0,a||A.complete),n(d,function(j,z){A.step&&A.step.call(this,j,{prop:z,pos:1,elem:this})},this)),this},D.prototype.applyTextOutline=function(d){var R=this.element;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));var a=d.split(" ");if(d=a[a.length-1],(a=a[0])&&"none"!==a&&rt.svg){this.fakeTS=!0,this.ySetter=this.xSetter,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(j,z,H){return 2*Number(z)+H}),this.removeTextOutline();var h=I.createElementNS(y,"tspan");E(h,{class:"highcharts-text-outline",fill:d,stroke:d,"stroke-width":a,"stroke-linejoin":"round"}),[].forEach.call(R.childNodes,function(j){var z=j.cloneNode(!0);z.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(H){return z.removeAttribute(H)}),h.appendChild(z)});var A=I.createElementNS(y,"tspan");A.textContent="\u200b",["x","y"].forEach(function(j){var z=R.getAttribute(j);z&&A.setAttribute(j,z)}),h.appendChild(A),R.insertBefore(h,R.firstChild)}},D.prototype.attr=function(d,R,a,h){var z,p,N,A=this.element,j=this.symbolCustomAttribs,H=this;if("string"==typeof d&&void 0!==R){var _=d;(d={})[_]=R}return"string"==typeof d?H=(this[d+"Getter"]||this._defaultGetter).call(this,d,A):(n(d,function(G,U){p=!1,h||W(this,U),this.symbolName&&-1!==j.indexOf(U)&&(z||(this.symbolAttr(d),z=!0),p=!0),!this.rotation||"x"!==U&&"y"!==U||(this.doTransform=!0),p||((N=this[U+"Setter"]||this._defaultSetter).call(this,G,U,A),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(U)&&this.updateShadows(U,G,N))},this),this.afterSetters()),a&&a.call(this),H},D.prototype.clip=function(d){return this.attr("clip-path",d?"url("+this.renderer.url+"#"+d.id+")":"none")},D.prototype.crisp=function(d,R){R=R||d.strokeWidth||0;var a=Math.round(R)%2/2;return d.x=Math.floor(d.x||this.x||0)+a,d.y=Math.floor(d.y||this.y||0)+a,d.width=Math.floor((d.width||this.width||0)-2*a),d.height=Math.floor((d.height||this.height||0)-2*a),O(d.strokeWidth)&&(d.strokeWidth=R),d},D.prototype.complexColor=function(d,R,a){var A,j,z,H,p,N,_,G,U,tt,ot,h=this.renderer,J=[];c(this.renderer,"complexColor",{args:arguments},function(){if(d.radialGradient?j="radialGradient":d.linearGradient&&(j="linearGradient"),j){if(p=h.gradients,N=d.stops,U=a.radialReference,u(z=d[j])&&(d[j]=z={x1:z[0],y1:z[1],x2:z[2],y2:z[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===j&&U&&!O(z.gradientUnits)&&(z=b(z,h.getRadialAttr(U,H=z),{gradientUnits:"userSpaceOnUse"})),n(z,function(ft,mt){"id"!==mt&&J.push(mt,ft)}),n(N,function(ft){J.push(ft)}),J=J.join(","),p[J])tt=p[J].attr("id");else{z.id=tt=w();var at=p[J]=h.createElement(j).attr(z).add(h.defs);at.radAttr=H,at.stops=[],N.forEach(function(ft){0===ft[1].indexOf("rgba")?(A=et.parse(ft[1]),_=A.get("rgb"),G=A.get("a")):(_=ft[1],G=1),ft=h.createElement("stop").attr({offset:ft[0],"stop-color":_,"stop-opacity":G}).add(at),at.stops.push(ft)})}a.setAttribute(R,ot="url("+h.url+"#"+tt+")"),a.gradient=J,d.toString=function(){return ot}}})},D.prototype.css=function(d){var R=this.styles,a={},h=this.element,A=!R;if(d.color&&(d.fill=d.color),R&&n(d,function(H,p){R&&R[p]!==H&&(a[p]=H,A=!0)}),A){if(R&&(d=g(R,a)),null===d.width||"auto"===d.width)delete this.textWidth;else if("text"===h.nodeName.toLowerCase()&&d.width)var j=this.textWidth=f(d.width);this.styles=d,j&&!C&&this.renderer.forExport&&delete d.width;var z=b(d);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(H){return z&&delete z[H]}),k(h,z),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),d.textOutline&&this.applyTextOutline(d.textOutline))}return this},D.prototype.dashstyleSetter=function(d){var R=this["stroke-width"];if("inherit"===R&&(R=1),d=d&&d.toLowerCase()){var a=d.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(d=a.length;d--;)a[d]=""+f(a[d])*r(R,NaN);d=a.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",d)}},D.prototype.destroy=function(){var d=this,R=d.element||{},a=d.renderer,h=R.ownerSVGElement,A=a.isSVG&&"SPAN"===R.nodeName&&d.parentGroup||void 0;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,W(d),d.clipPath&&h){var j=d.clipPath;[].forEach.call(h.querySelectorAll("[clip-path],[CLIP-PATH]"),function(z){-1<z.getAttribute("clip-path").indexOf(j.element.id)&&z.removeAttribute("clip-path")}),d.clipPath=j.destroy()}if(d.stops){for(h=0;h<d.stops.length;h++)d.stops[h].destroy();d.stops.length=0,d.stops=void 0}for(d.safeRemoveChild(R),a.styledMode||d.destroyShadows();A&&A.div&&0===A.div.childNodes.length;)R=A.parentGroup,d.safeRemoveChild(A.div),delete A.div,A=R;d.alignTo&&P(a.alignedObjects,d),n(d,function(z,H){d[H]&&d[H].parentGroup===d&&d[H].destroy&&d[H].destroy(),delete d[H]})},D.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(d){this.safeRemoveChild(d)},this),this.shadows=void 0},D.prototype.destroyTextPath=function(d,R){var a=d.getElementsByTagName("text")[0];if(a){if(a.removeAttribute("dx"),a.removeAttribute("dy"),R.element.setAttribute("id",""),this.textPathWrapper&&a.getElementsByTagName("textPath").length){for(d=this.textPathWrapper.element.childNodes;d.length;)a.appendChild(d[0]);a.removeChild(this.textPathWrapper.element)}}else(d.getAttribute("dx")||d.getAttribute("dy"))&&(d.removeAttribute("dx"),d.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},D.prototype.dSetter=function(d,R,a){u(d)&&("string"==typeof d[0]&&(d=this.renderer.pathToSegments(d)),this.pathArray=d,d=d.reduce(function(h,A,j){return A&&A.join?(j?h+" ":"")+A.join(" "):(A||"").toString()},"")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this[R]!==d&&(a.setAttribute(R,d),this[R]=d)},D.prototype.fadeOut=function(d){var R=this;R.animate({opacity:0},{duration:r(d,150),complete:function(){R.attr({y:-9999}).hide()}})},D.prototype.fillSetter=function(d,R,a){"string"==typeof d?a.setAttribute(R,d):d&&this.complexColor(d,R,a)},D.prototype.getBBox=function(d,R){var a=this.alignValue,h=this.element,A=this.renderer,j=this.styles,z=this.textStr,H=A.cache,p=A.cacheKeys,N=h.namespaceURI===this.SVG_NS;R=r(R,this.rotation,0);var G,_=A.styledMode?h&&D.prototype.getStyle.call(h,"font-size"):j&&j.fontSize;if(O(z)){var U=z.toString();-1===U.indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",R,_,this.textWidth,a,j&&j.textOverflow,j&&j.fontWeight].join()}if(U&&!d&&(G=H[U]),!G){if(N||A.forExport){try{var tt=this.fakeTS&&function(ot){var at=h.querySelector(".highcharts-text-outline");at&&k(at,{display:ot})};o(tt)&&tt("none"),G=h.getBBox?g({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},o(tt)&&tt("")}catch(ot){}(!G||0>G.width)&&(G={x:0,y:0,width:0,height:0})}else G=this.htmlGetBBox();if(A.isSVG&&(A=G.width,d=G.height,N&&(G.height=d={"11px,17":14,"13px,20":16}[(_||"")+","+Math.round(d)]||d),R)){N=Number(h.getAttribute("y")||0)-G.y,a={right:1,center:.5}[a||0]||0,j=R*F,_=(R-90)*F;var J=A*Math.cos(j);R=A*Math.sin(j),tt=Math.cos(_),j=Math.sin(_),J=(tt=(_=(A=G.x+a*(A-J)+N*tt)+J)-d*tt)-J,R=(d=(a=(N=G.y+N-a*R+N*j)+R)-d*j)-R,G.x=Math.min(A,_,tt,J),G.y=Math.min(N,a,d,R),G.width=Math.max(A,_,tt,J)-G.x,G.height=Math.max(N,a,d,R)-G.y}if(U&&(""===z||0<G.height)){for(;250<p.length;)delete H[p.shift()];H[U]||p.push(U),H[U]=G}}return G},D.prototype.getStyle=function(d){return S.getComputedStyle(this.element||this,"").getPropertyValue(d)},D.prototype.hasClass=function(d){return-1!==(""+this.attr("class")).split(" ").indexOf(d)},D.prototype.hide=function(){return this.attr({visibility:"hidden"})},D.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},D.prototype.init=function(d,R){this.element="span"===R?v(R):I.createElementNS(this.SVG_NS,R),this.renderer=d,c(this,"afterInit")},D.prototype.invert=function(d){return this.inverted=d,this.updateTransform(),this},D.prototype.on=function(d,R){var a=this.onEvents;return a[d]&&a[d](),a[d]=M(this.element,d,R),this},D.prototype.opacitySetter=function(d,R,a){this.opacity=d=Number(Number(d).toFixed(3)),a.setAttribute(R,d)},D.prototype.removeClass=function(d){return this.attr("class",(""+this.attr("class")).replace(l(d)?new RegExp("(^| )"+d+"( |$)"):d," ").replace(/ +/g," ").trim())},D.prototype.removeTextOutline=function(){var d=this.element.querySelector("tspan.highcharts-text-outline");d&&this.safeRemoveChild(d)},D.prototype.safeRemoveChild=function(d){var R=d.parentNode;R&&R.removeChild(d)},D.prototype.setRadialReference=function(d){var R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=d,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(d,R.radAttr)),this},D.prototype.setTextPath=function(d,R){var a=this.element,h=this.text?this.text.element:a,A={textAnchor:"text-anchor"},j=!1,z=this.textPathWrapper,H=!z;R=b(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},R);var p=Y.filterUserAttributes(R.attributes);if(d&&R&&R.enabled){z&&null===z.element.parentNode?(H=!0,z=z.destroy()):z&&this.removeTextOutline.call(z.parentGroup),this.options&&this.options.padding&&(p.dx=-this.options.padding),z||(this.textPathWrapper=z=this.renderer.createElement("textPath"),j=!0);var N=z.element;if((R=d.element.getAttribute("id"))||d.element.setAttribute("id",R=w()),H)for(h.setAttribute("y",0),m(p.dx)&&h.setAttribute("x",-p.dx),d=[].slice.call(h.childNodes),H=0;H<d.length;H++){var _=d[H];_.nodeType!==S.Node.TEXT_NODE&&"tspan"!==_.nodeName||N.appendChild(_)}j&&z&&z.add({element:h}),N.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+R),O(p.dy)&&(N.parentNode.setAttribute("dy",p.dy),delete p.dy),O(p.dx)&&(N.parentNode.setAttribute("dx",p.dx),delete p.dx),n(p,function(G,U){N.setAttribute(A[U]||U,G)}),a.removeAttribute("transform"),this.removeTextOutline.call(z),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=L}else z&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(a,d),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},D.prototype.shadow=function(d,R,a){var p,h=[],A=this.element,j=this.oldShadowOptions,z={color:"#000000",offsetX:this.parentInverted?-1:1,offsetY:this.parentInverted?-1:1,opacity:.15,width:3},H=!1;if(!0===d?p=z:"object"==typeof d&&(p=g(z,d)),p&&(p&&j&&n(p,function(tt,J){tt!==j[J]&&(H=!0)}),H&&this.destroyShadows(),this.oldShadowOptions=p),p){if(!this.shadows){var N=p.opacity/p.width,_=this.parentInverted?"translate("+p.offsetY+", "+p.offsetX+")":"translate("+p.offsetX+", "+p.offsetY+")";for(z=1;z<=p.width;z++){var G=A.cloneNode(!1),U=2*p.width+1-2*z;E(G,{stroke:d.color||"#000000","stroke-opacity":N*z,"stroke-width":U,transform:_,fill:"none"}),G.setAttribute("class",(G.getAttribute("class")||"")+" highcharts-shadow"),a&&(E(G,"height",Math.max(E(G,"height")-U,0)),G.cutHeight=U),R?R.element.appendChild(G):A.parentNode&&A.parentNode.insertBefore(G,A),h.push(G)}this.shadows=h}}else this.destroyShadows();return this},D.prototype.show=function(d){return void 0===d&&(d=!0),this.attr({visibility:d?"inherit":"visible"})},D.prototype.strokeSetter=function(d,R,a){this[R]=d,this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",a),a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===R&&0===d&&this.hasStroke?(a.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(a.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},D.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var d=this.getStyle("stroke-width"),R=0;if(d.indexOf("px")===d.length-2)R=f(d);else if(""!==d){var a=I.createElementNS(y,"rect");E(a,{width:d,"stroke-width":0}),this.element.parentNode.appendChild(a),R=a.getBBox().width,a.parentNode.removeChild(a)}return R},D.prototype.symbolAttr=function(d){var R=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(a){R[a]=r(d[a],R[a])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})},D.prototype.textSetter=function(d){d!==this.textStr&&(delete this.textPxLength,this.textStr=d,this.added&&this.renderer.buildText(this))},D.prototype.titleSetter=function(d){var R=this.element,a=R.getElementsByTagName("title")[0]||I.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(a,R.firstChild):R.appendChild(a),a.textContent=String(r(d,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},D.prototype.toFront=function(){var d=this.element;return d.parentNode.appendChild(d),this},D.prototype.translate=function(d,R){return this.attr({translateX:d,translateY:R})},D.prototype.updateShadows=function(d,R,a){var h=this.shadows;if(h)for(var A=h.length;A--;)a.call(h[A],"height"===d?Math.max(R-(h[A].cutHeight||0),0):"d"===d?this.d:R,d,h[A])},D.prototype.updateTransform=function(){var d=this.scaleX,R=this.scaleY,a=this.inverted,h=this.rotation,A=this.matrix,j=this.element,z=this.translateX||0,H=this.translateY||0;a&&(z+=this.width,H+=this.height),z=["translate("+z+","+H+")"],O(A)&&z.push("matrix("+A.join(",")+")"),a?z.push("rotate(90) scale(-1,1)"):h&&z.push("rotate("+h+" "+r(this.rotationOriginX,j.getAttribute("x"),0)+" "+r(this.rotationOriginY,j.getAttribute("y")||0)+")"),(O(d)||O(R))&&z.push("scale("+r(d,1)+" "+r(R,1)+")"),z.length&&j.setAttribute("transform",z.join(" "))},D.prototype.visibilitySetter=function(d,R,a){"inherit"===d?a.removeAttribute(R):this[R]!==d&&a.setAttribute(R,d),this[R]=d},D.prototype.xGetter=function(d){return"circle"===this.element.nodeName&&("x"===d?d="cx":"y"===d&&(d="cy")),this._defaultGetter(d)},D.prototype.zIndexSetter=function(d,R){var a=this.renderer,h=this.parentGroup,A=(h||a).element||a.box,j=this.element;a=A===a.box;var p,z=!1,H=this.added;if(O(d)?(j.setAttribute("data-z-index",d),this[R]===(d=+d)&&(H=!1)):O(this[R])&&j.removeAttribute("data-z-index"),this[R]=d,H){for((d=this.zIndex)&&h&&(h.handleZ=!0),p=(R=A.childNodes).length-1;0<=p&&!z;p--){H=(h=R[p]).getAttribute("data-z-index");var N=!O(H);h!==j&&(0>d&&N&&!a&&!p?(A.insertBefore(j,R[p]),z=!0):(f(H)<=d||N&&(!O(d)||0<=d))&&(A.insertBefore(j,R[p+1]||null),z=!0))}z||(A.insertBefore(j,R[a?3:0]||null),z=!0)}return z},D}(),X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter,X.prototype.yGetter=X.prototype.xGetter,X.prototype.matrixSetter=X.prototype.rotationOriginXSetter=X.prototype.rotationOriginYSetter=X.prototype.rotationSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter=X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.verticalAlignSetter=function(D,d){this[d]=D,this.doTransform=!0},X}),Mt($,"Core/Renderer/RendererRegistry.js",[$["Core/Globals.js"]],function(X){var Y,et,rt;return(et=Y||(Y={})).rendererTypes={},et.getRendererType=function(Q){return void 0===Q&&(Q=rt),et.rendererTypes[Q]||et.rendererTypes[rt]},et.registerRendererType=function(Q,it,K){et.rendererTypes[Q]=it,(!rt||K)&&(rt=Q,X.Renderer=it)},Y}),Mt($,"Core/Renderer/SVG/SVGLabel.js",[$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y){var I,et=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),rt=Y.defined,Q=Y.extend,it=Y.isNumber,K=Y.merge,W=Y.pick,F=Y.removeEvent;return function(I){function L(C,y,S,M,E,v,k,O,P,g){var u,c=I.call(this)||this;return c.paddingLeftSetter=c.paddingSetter,c.paddingRightSetter=c.paddingSetter,c.init(C,"g"),c.textStr=y,c.x=S,c.y=M,c.anchorX=v,c.anchorY=k,c.baseline=P,c.className=g,c.addClass("button"===g?"highcharts-no-tooltip":"highcharts-label"),g&&c.addClass("highcharts-"+g),c.text=C.text(void 0,0,0,O).attr({zIndex:1}),"string"==typeof E&&((u=/^url\((.*?)\)$/.test(E))||c.renderer.symbols[E])&&(c.symbolKey=E),c.bBox=L.emptyBBox,c.padding=3,c.baselineOffset=0,c.needsBox=C.styledMode||u,c.deferredAttr={},c.alignFactor=0,c}return et(L,I),L.prototype.alignSetter=function(C){(C={left:0,center:.5,right:1}[C])!==this.alignFactor&&(this.alignFactor=C,this.bBox&&it(this.xSetting)&&this.attr({x:this.xSetting}))},L.prototype.anchorXSetter=function(C,y){this.anchorX=C,this.boxAttr(y,Math.round(C)-this.getCrispAdjust()-this.xSetting)},L.prototype.anchorYSetter=function(C,y){this.anchorY=C,this.boxAttr(y,C-this.ySetting)},L.prototype.boxAttr=function(C,y){this.box?this.box.attr(C,y):this.deferredAttr[C]=y},L.prototype.css=function(C){if(C){var y={};C=K(C),L.textProps.forEach(function(M){void 0!==C[M]&&(y[M]=C[M],delete C[M])}),this.text.css(y);var S="width"in y;"fontSize"in y||"fontWeight"in y?this.updateTextPadding():S&&this.updateBoxSize()}return X.prototype.css.call(this,C)},L.prototype.destroy=function(){F(this.element,"mouseenter"),F(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),X.prototype.destroy.call(this)},L.prototype.fillSetter=function(C,y){C&&(this.needsBox=!0),this.fill=C,this.boxAttr(y,C)},L.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var C=this.padding,y=W(this.paddingLeft,C);return{width:this.width,height:this.height,x:this.bBox.x-y,y:this.bBox.y-C}},L.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},L.prototype.heightSetter=function(C){this.heightSetting=C},L.prototype.onAdd=function(){var C=this.textStr;this.text.add(this),this.attr({text:rt(C)?C:"",x:this.x,y:this.y}),this.box&&rt(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},L.prototype.paddingSetter=function(C,y){it(C)?C!==this[y]&&(this[y]=C,this.updateTextPadding()):this[y]=void 0},L.prototype.rSetter=function(C,y){this.boxAttr(y,C)},L.prototype.shadow=function(C){return C&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(C)),this},L.prototype.strokeSetter=function(C,y){this.stroke=C,this.boxAttr(y,C)},L.prototype["stroke-widthSetter"]=function(C,y){C&&(this.needsBox=!0),this["stroke-width"]=C,this.boxAttr(y,C)},L.prototype["text-alignSetter"]=function(C){this.textAlign=C},L.prototype.textSetter=function(C){void 0!==C&&this.text.attr({text:C}),this.updateTextPadding()},L.prototype.updateBoxSize=function(){var C=this.text.element.style,y={},S=this.padding,M=this.bBox=it(this.widthSetting)&&it(this.heightSetting)&&!this.textAlign||!rt(this.text.textStr)?L.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||M.height||0)+2*S,C=this.renderer.fontMetrics(C&&C.fontSize,this.text),this.baselineOffset=S+Math.min((this.text.firstLineMetrics||C).b,M.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-C.h)/2),this.needsBox&&(this.box||((S=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),S.add(this)),S=this.getCrispAdjust(),y.x=S,y.y=(this.baseline?-this.baselineOffset:0)+S,y.width=Math.round(this.width),y.height=Math.round(this.height),this.box.attr(Q(y,this.deferredAttr)),this.deferredAttr={})},L.prototype.updateTextPadding=function(){var C=this.text;this.updateBoxSize();var y=this.baseline?0:this.baselineOffset,S=W(this.paddingLeft,this.padding);rt(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(S+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(S!==C.x||y!==C.y)&&(C.attr("x",S),C.hasBoxWidthChanged&&(this.bBox=C.getBBox(!0)),void 0!==y&&C.attr("y",y)),C.x=S,C.y=y},L.prototype.widthSetter=function(C){this.widthSetting=it(C)?C:void 0},L.prototype.getPaddedWidth=function(){var C=this.padding,y=W(this.paddingLeft,C);return C=W(this.paddingRight,C),(this.widthSetting||this.bBox.width||0)+y+C},L.prototype.xSetter=function(C){this.x=C,this.alignFactor&&(C-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(C),this.attr("translateX",this.xSetting)},L.prototype.ySetter=function(C){this.ySetting=this.y=Math.round(C),this.attr("translateY",this.ySetting)},L.emptyBBox={width:0,height:0,x:0,y:0},L.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),L}(X)}),Mt($,"Core/Renderer/SVG/Symbols.js",[$["Core/Utilities.js"]],function(X){function Y(W,F,I,L,C){var y=[];if(C){var S=C.start||0,M=K(C.r,I);I=K(C.r,L||I);var E=(C.end||0)-.001;L=C.innerR;var v=K(C.open,.001>Math.abs((C.end||0)-S-2*Math.PI)),k=Math.cos(S),O=Math.sin(S),P=Math.cos(E),g=Math.sin(E);S=K(C.longArc,.001>E-S-Math.PI?0:1),y.push(["M",W+M*k,F+I*O],["A",M,I,0,S,K(C.clockwise,1),W+M*P,F+I*g]),Q(L)&&y.push(v?["M",W+L*P,F+L*g]:["L",W+L*P,F+L*g],["A",L,L,0,S,Q(C.clockwise)?1-C.clockwise:0,W+L*k,F+L*O]),v||y.push(["Z"])}return y}function et(W,F,I,L,C){return C&&C.r?rt(W,F,I,L,C):[["M",W,F],["L",W+I,F],["L",W+I,F+L],["L",W,F+L],["Z"]]}function rt(W,F,I,L,C){return[["M",W+(C=C&&C.r||0),F],["L",W+I-C,F],["C",W+I,F,W+I,F,W+I,F+C],["L",W+I,F+L-C],["C",W+I,F+L,W+I,F+L,W+I-C,F+L],["L",W+C,F+L],["C",W,F+L,W,F+L,W,F+L-C],["L",W,F+C],["C",W,F,W,F,W+C,F]]}var Q=X.defined,it=X.isNumber,K=X.pick;return{arc:Y,callout:function(W,F,I,L,C){var y=Math.min(C&&C.r||0,I,L),S=y+6,M=C&&C.anchorX;C=C&&C.anchorY||0;var E=rt(W,F,I,L,{r:y});return it(M)&&(W+M>=I?C>F+S&&C<F+L-S?E.splice(3,1,["L",W+I,C-6],["L",W+I+6,C],["L",W+I,C+6],["L",W+I,F+L-y]):E.splice(3,1,["L",W+I,L/2],["L",M,C],["L",W+I,L/2],["L",W+I,F+L-y]):0>=W+M?C>F+S&&C<F+L-S?E.splice(7,1,["L",W,C+6],["L",W-6,C],["L",W,C-6],["L",W,F+y]):E.splice(7,1,["L",W,L/2],["L",M,C],["L",W,L/2],["L",W,F+y]):C&&C>L&&M>W+S&&M<W+I-S?E.splice(5,1,["L",M+6,F+L],["L",M,F+L+6],["L",M-6,F+L],["L",W+y,F+L]):C&&0>C&&M>W+S&&M<W+I-S&&E.splice(1,1,["L",M-6,F],["L",M,F-6],["L",M+6,F],["L",I-y,F])),E},circle:function(W,F,I,L){return Y(W+I/2,F+L/2,I/2,L/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L/2],["L",W+I/2,F+L],["L",W,F+L/2],["Z"]]},rect:et,roundedRect:rt,square:et,triangle:function(W,F,I,L){return[["M",W+I/2,F],["L",W+I,F+L],["L",W,F+L],["Z"]]},"triangle-down":function(W,F,I,L){return[["M",W,F],["L",W+I,F],["L",W+I/2,F+L],["Z"]]}}}),Mt($,"Core/Renderer/SVG/TextBuilder.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.doc,Q=Y.SVG_NS,it=Y.win,K=et.attr,W=et.extend,F=et.isString,I=et.objectEach,L=et.pick;return function(){function C(y){var S=y.styles;this.renderer=y.renderer,this.svgElement=y,this.width=y.textWidth,this.textLineHeight=S&&S.lineHeight,this.textOutline=S&&S.textOutline,this.ellipsis=!(!S||"ellipsis"!==S.textOverflow),this.noWrap=!(!S||"nowrap"!==S.whiteSpace),this.fontSize=S&&S.fontSize}return C.prototype.buildSVG=function(){var y=this.svgElement,S=y.element,M=y.renderer,E=L(y.textStr,"").toString(),v=-1!==E.indexOf("<"),k=S.childNodes;M=this.width&&!y.added&&M.box;var P=[E,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(P!==y.textCache){for(y.textCache=P,delete y.actualWidth,P=k.length;P--;)S.removeChild(k[P]);v||this.ellipsis||this.width||-1!==E.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(E))?""!==E&&(M&&M.appendChild(S),E=new X(E),this.modifyTree(E.nodes),E.addToDOM(y.element),this.modifyDOM(),this.ellipsis&&-1!==(S.textContent||"").indexOf("\u2026")&&y.attr("title",this.unescapeEntities(y.textStr||"",["&lt;","&gt;"])),M&&M.removeChild(S)):S.appendChild(rt.createTextNode(this.unescapeEntities(E))),F(this.textOutline)&&y.applyTextOutline&&y.applyTextOutline(this.textOutline)}},C.prototype.modifyDOM=function(){var E,y=this,S=this.svgElement,M=K(S.element,"x");for(S.firstLineMetrics=void 0;(E=S.element.firstChild)&&/^[\s\u200B]*$/.test(E.textContent||" ");)S.element.removeChild(E);[].forEach.call(S.element.querySelectorAll("tspan.highcharts-br"),function(P,g){P.nextSibling&&P.previousSibling&&(0===g&&1===P.previousSibling.nodeType&&(S.firstLineMetrics=S.renderer.fontMetrics(void 0,P.previousSibling)),K(P,{dy:y.getLineHeight(P.nextSibling),x:M}))});var v=this.width||0;if(v){var O=function(P){[].slice.call(P.childNodes).forEach(function(g){g.nodeType===it.Node.TEXT_NODE?function(P,g){var c=P.textContent||"",u=c.replace(/([^\^])-/g,"$1- ").split(" "),o=!y.noWrap&&(1<u.length||1<S.element.childNodes.length),m=y.getLineHeight(g),l=0,b=S.actualWidth;if(y.ellipsis)c&&y.truncate(P,c,void 0,0,Math.max(0,v-parseInt(y.fontSize||12,10)),function(n,r){return n.substring(0,r)+"\u2026"});else if(o){for(c=[],o=[];g.firstChild&&g.firstChild!==P;)o.push(g.firstChild),g.removeChild(g.firstChild);for(;u.length;)u.length&&!y.noWrap&&0<l&&(c.push(P.textContent||""),P.textContent=u.join(" ").replace(/- /g,"-")),y.truncate(P,void 0,u,0===l&&b||0,v,function(n,r){return u.slice(0,r).join(" ").replace(/- /g,"-")}),b=S.actualWidth,l++;o.forEach(function(n){g.insertBefore(n,P)}),c.forEach(function(n){g.insertBefore(rt.createTextNode(n),P),(n=rt.createElementNS(Q,"tspan")).textContent="\u200b",K(n,{dy:m,x:M}),g.insertBefore(n,P)})}}(g,P):(-1!==g.className.baseVal.indexOf("highcharts-br")&&(S.actualWidth=0),O(g))})};O(S.element)}},C.prototype.getLineHeight=function(y){var S;return y=y.nodeType===it.Node.TEXT_NODE?y.parentElement:y,this.renderer.styledMode||(S=y&&/(px|em)$/.test(y.style.fontSize)?y.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(S,y||this.svgElement.element).h},C.prototype.modifyTree=function(y){var S=this,M=function(E,v){var k=E.attributes;k=void 0===k?{}:k;var O=E.children,P=E.style;P=void 0===P?{}:P;var g=E.tagName,c=S.renderer.styledMode;"b"===g||"strong"===g?c?k.class="highcharts-strong":P.fontWeight="bold":("i"===g||"em"===g)&&(c?k.class="highcharts-emphasized":P.fontStyle="italic"),P&&P.color&&(P.fill=P.color),"br"===g?(k.class="highcharts-br",E.textContent="\u200b",(v=y[v+1])&&v.textContent&&(v.textContent=v.textContent.replace(/^ +/gm,""))):"a"===g&&O&&O.some(function(u){return"#text"===u.tagName})&&(E.children=[{children:O,tagName:"tspan"}]),"#text"!==g&&"a"!==g&&(E.tagName="tspan"),W(E,{attributes:k,style:P}),O&&O.filter(function(u){return"#text"!==u.tagName}).forEach(M)};y.forEach(M)},C.prototype.truncate=function(y,S,M,E,v,k){var l,O=this.svgElement,P=O.renderer,g=O.rotation,c=[],u=M?1:0,o=(S||M||"").length,m=o,b=function(r,f){f=f||r;var T=y.parentNode;if(T&&void 0===c[f])if(T.getSubStringLength)try{c[f]=E+T.getSubStringLength(0,M?f+1:f)}catch(w){}else P.getSpanWidth&&(y.textContent=k(S||M,r),c[f]=E+P.getSpanWidth(O,y));return c[f]};O.rotation=0;var n=b(y.textContent.length);if(E+n>v){for(;u<=o;)m=Math.ceil((u+o)/2),M&&(l=k(M,m)),n=b(m,l&&l.length-1),u===o?u=o+1:n>v?o=m-1:u=m;0===o?y.textContent="":S&&o===S.length-1||(y.textContent=l||k(S||M,m))}M&&M.splice(0,m),O.actualWidth=n,O.rotation=g},C.prototype.unescapeEntities=function(y,S){return I(this.renderer.escapes,function(M,E){S&&-1!==S.indexOf(M)||(y=y.toString().replace(new RegExp(M,"g"),E))}),y},C}()}),Mt($,"Core/Renderer/SVG/SVGRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGLabel.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Renderer/SVG/TextBuilder.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var R,I=et.charts,L=et.deg2rad,C=et.doc,y=et.isFirefox,S=et.isMS,M=et.isWebKit,E=et.noop,v=et.SVG_NS,k=et.symbolSizes,O=et.win,P=F.addEvent,g=F.attr,c=F.createElement,u=F.css,o=F.defined,m=F.destroyObjectProperties,l=F.extend,b=F.isArray,n=F.isNumber,r=F.isObject,f=F.isString,T=F.merge,w=F.pick,D=F.pInt,d=F.uniqueKey;return et=function(){function a(h,A,j,z,H,p,N){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(h,A,j,z,H,p,N)}return a.prototype.init=function(h,A,j,z,H,p,N){var U,_=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),G=_.element;N||_.css(this.getStyle(z)),h.appendChild(G),g(h,"dir","ltr"),-1===h.innerHTML.indexOf("xmlns")&&g(G,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=G,this.boxWrapper=_,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 10.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=p,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(A,j,!1),y&&h.getBoundingClientRect&&((A=function(){u(h,{left:0,top:0}),U=h.getBoundingClientRect(),u(h,{left:Math.ceil(U.left)-U.left+"px",top:Math.ceil(U.top)-U.top+"px"})})(),this.unSubPixelFix=P(O,"resize",A))},a.prototype.definition=function(h){return new X([h]).addToDOM(this.defs.element)},a.prototype.getReferenceURL=function(){if((y||M)&&C.getElementsByTagName("base").length){if(!o(R)){var h=d();h=new X([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:h},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+h+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(C.body),u(h,{position:"fixed",top:0,left:0,zIndex:9e5});var A=C.elementFromPoint(6,6);R="hitme"===(A&&A.id),C.body.removeChild(h)}if(R)return O.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},a.prototype.getStyle=function(h){return this.style=l({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},h)},a.prototype.setStyle=function(h){this.boxWrapper.css(this.getStyle(h))},a.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},a.prototype.destroy=function(){var h=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),m(this.gradients||{}),this.gradients=null,h&&(this.defs=h.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},a.prototype.createElement=function(h){var A=new this.Element;return A.init(this,h),A},a.prototype.getRadialAttr=function(h,A){return{cx:h[0]-h[2]/2+(A.cx||0)*h[2],cy:h[1]-h[2]/2+(A.cy||0)*h[2],r:(A.r||0)*h[2]}},a.prototype.buildText=function(h){new W(h).buildSVG()},a.prototype.getContrast=function(h){return(h=Y.parse(h).rgba)[0]*=1,h[1]*=1.2,h[2]*=.5,459<h[0]+h[1]+h[2]?"#000000":"#FFFFFF"},a.prototype.button=function(h,A,j,z,H,p,N,_,G,U){var tt=this.label(h,A,j,G,void 0,void 0,U,void 0,"button"),J=this.styledMode;h=H&&H.states||{},H&&delete H.states;var ot=0,at=H?T(H):{},ft=T({color:"#333333",cursor:"pointer",fontWeight:"normal"},at.style);if(delete at.style,at=X.filterUserAttributes(at),tt.attr(T({padding:8,r:2},at)),!J){at=T({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},at);var mt=(p=T(at,{fill:"#e6e6e6"},X.filterUserAttributes(p||h.hover||{}))).style;delete p.style;var gt=(N=T(at,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},X.filterUserAttributes(N||h.select||{}))).style;delete N.style;var ut=(_=T(at,{style:{color:"#cccccc"}},X.filterUserAttributes(_||h.disabled||{}))).style;delete _.style}return P(tt.element,S?"mouseover":"mouseenter",function(){3!==ot&&tt.setState(1)}),P(tt.element,S?"mouseout":"mouseleave",function(){3!==ot&&tt.setState(ot)}),tt.setState=function(ht){1!==ht&&(tt.state=ot=ht),tt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][ht||0]),J||(tt.attr([at,p,N,_][ht||0]),r(ht=[ft,mt,gt,ut][ht||0])&&tt.css(ht))},J||tt.attr(at).css(l({cursor:"default"},ft)),tt.on("touchstart",function(ht){return ht.stopPropagation()}).on("click",function(ht){3!==ot&&z.call(tt,ht)})},a.prototype.crispLine=function(h,A,j){void 0===j&&(j="round");var z=h[0],H=h[1];return o(z[1])&&z[1]===H[1]&&(z[1]=H[1]=Math[j](z[1])-A%2/2),o(z[2])&&z[2]===H[2]&&(z[2]=H[2]=Math[j](z[2])+A%2/2),h},a.prototype.path=function(h){var A=this.styledMode?{}:{fill:"none"};return b(h)?A.d=h:r(h)&&l(A,h),this.createElement("path").attr(A)},a.prototype.circle=function(h,A,j){return h=r(h)?h:void 0===h?{}:{x:h,y:A,r:j},(A=this.createElement("circle")).xSetter=A.ySetter=function(z,H,p){p.setAttribute("c"+H,z)},A.attr(h)},a.prototype.arc=function(h,A,j,z,H,p){return r(h)?(A=(z=h).y,j=z.r,h=z.x):z={innerR:z,start:H,end:p},(h=this.symbol("arc",h,A,j,j,z)).r=j,h},a.prototype.rect=function(h,A,j,z,H,p){H=r(h)?h.r:H;var N=this.createElement("rect");return h=r(h)?h:void 0===h?{}:{x:h,y:A,width:Math.max(j,0),height:Math.max(z,0)},this.styledMode||(void 0!==p&&(h["stroke-width"]=p,h=N.crisp(h)),h.fill="none"),H&&(h.r=H),N.rSetter=function(_,G,U){N.r=_,g(U,{rx:_,ry:_})},N.rGetter=function(){return N.r||0},N.attr(h)},a.prototype.setSize=function(h,A,j){this.width=h,this.height=A,this.boxWrapper.animate({width:h,height:A},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(j,!0)?void 0:0}),this.alignElements()},a.prototype.g=function(h){var A=this.createElement("g");return h?A.attr({class:"highcharts-"+h}):A},a.prototype.image=function(h,A,j,z,H,p){var N={preserveAspectRatio:"none"},_=function(U,tt){U.setAttributeNS?U.setAttributeNS("http://www.w3.org/1999/xlink","href",tt):U.setAttribute("hc-svg-href",tt)};n(A)&&(N.x=A),n(j)&&(N.y=j),n(z)&&(N.width=z),n(H)&&(N.height=H);var G=this.createElement("image").attr(N);return A=function(U){_(G.element,h),p.call(G,U)},p?(_(G.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),j=new O.Image,P(j,"load",A),j.src=h,j.complete&&A({})):_(G.element,h),G},a.prototype.symbol=function(h,A,j,z,H,p){var J,N=this,_=/^url\((.*?)\)$/,G=_.test(h),U=!G&&(this.symbols[h]?h:"circle"),tt=U&&this.symbols[U];if(tt){"number"==typeof A&&(J=tt.call(this.symbols,Math.round(A||0),Math.round(j||0),z||0,H||0,p));var ot=this.path(J);N.styledMode||ot.attr("fill","none"),l(ot,{symbolName:U||void 0,x:A,y:j,width:z,height:H}),p&&l(ot,p)}else if(G){var at=h.match(_)[1],ft=ot=this.image(at);ft.imgwidth=w(k[at]&&k[at].width,p&&p.width),ft.imgheight=w(k[at]&&k[at].height,p&&p.height);var mt=function(gt){return gt.attr({width:gt.width,height:gt.height})};["width","height"].forEach(function(gt){ft[gt+"Setter"]=function(ut,ht){var V=this["img"+ht];this[ht]=ut,o(V)&&(p&&"within"===p.backgroundSize&&this.width&&this.height&&(V=Math.round(V*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(ht,V),this.alignByTranslate||(ut=((this[ht]||0)-V)/2,this.attr("width"===ht?{translateX:ut}:{translateY:ut})))}}),o(A)&&ft.attr({x:A,y:j}),ft.isImg=!0,o(ft.imgwidth)&&o(ft.imgheight)?mt(ft):(ft.attr({width:0,height:0}),c("img",{onload:function(){var gt=I[N.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),C.body.appendChild(this)),k[at]={width:this.width,height:this.height},ft.imgwidth=this.width,ft.imgheight=this.height,ft.element&&mt(ft),this.parentNode&&this.parentNode.removeChild(this),N.imgCount--,!N.imgCount&&gt&&!gt.hasLoaded&&gt.onload()},src:at}),this.imgCount++)}return ot},a.prototype.clipRect=function(h,A,j,z){var H=d()+"-",p=this.createElement("clipPath").attr({id:H}).add(this.defs);return(h=this.rect(h,A,j,z,0).add(p)).id=H,h.clipPath=p,h.count=0,h},a.prototype.text=function(h,A,j,z){var H={};return!z||!this.allowHTML&&this.forExport?(H.x=Math.round(A||0),j&&(H.y=Math.round(j)),o(h)&&(H.text=h),h=this.createElement("text").attr(H),(!z||this.forExport&&!this.allowHTML)&&(h.xSetter=function(p,N,_){for(var J,G=_.getElementsByTagName("tspan"),U=_.getAttribute(N),tt=0;tt<G.length;tt++)(J=G[tt]).getAttribute(N)===U&&J.setAttribute(N,p);_.setAttribute(N,p)}),h):this.html(h,A,j)},a.prototype.fontMetrics=function(h,A){return h=!this.styledMode&&/px/.test(h)||!O.getComputedStyle?h||A&&A.style&&A.style.fontSize||this.style&&this.style.fontSize:A&&Q.prototype.getStyle.call(A,"font-size"),{h:A=24>(h=/px/.test(h)?D(h):12)?h+3:Math.round(1.2*h),b:Math.round(.8*A),f:h}},a.prototype.rotCorr=function(h,A,j){var z=h;return A&&j&&(z=Math.max(z*Math.cos(A*L),4)),{x:-h/3*Math.sin(A*L),y:z}},a.prototype.pathToSegments=function(h){for(var A=[],j=[],z={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},H=0;H<h.length;H++)f(j[0])&&n(h[H])&&j.length===z[j[0].toUpperCase()]&&h.splice(H,0,j[0].replace("M","L").replace("m","l")),"string"==typeof h[H]&&(j.length&&A.push(j.slice(0)),j.length=0),j.push(h[H]);return A.push(j.slice(0)),A},a.prototype.label=function(h,A,j,z,H,p,N,_,G){return new it(this,h,A,j,z,H,p,N,_,G)},a.prototype.alignElements=function(){this.alignedObjects.forEach(function(h){return h.align()})},a}(),l(et.prototype,{Element:Q,SVG_NS:v,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:K,draw:E}),rt.registerRendererType("svg",et,!0),et}),Mt($,"Core/Renderer/HTML/HTMLElement.js",[$["Core/Globals.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=this&&this.__extends||(S=function(M,E){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,k){v.__proto__=k}||function(v,k){for(var O in k)k.hasOwnProperty(O)&&(v[O]=k[O])})(M,E)},function(M,E){function v(){this.constructor=M}S(M,E),M.prototype=null===E?Object.create(E):(v.prototype=E.prototype,new v)}),Q=X.isFirefox,it=X.isMS,K=X.isWebKit,W=X.win,F=et.css,I=et.defined,L=et.extend,C=et.pick,y=et.pInt;return function(S){function M(){return null!==S&&S.apply(this,arguments)||this}return rt(M,S),M.compose=function(E){if(-1===M.composedClasses.indexOf(E)){M.composedClasses.push(E);var v=M.prototype,k=E.prototype;k.getSpanCorrection=v.getSpanCorrection,k.htmlCss=v.htmlCss,k.htmlGetBBox=v.htmlGetBBox,k.htmlUpdateTransform=v.htmlUpdateTransform,k.setSpanRotation=v.setSpanRotation}return E},M.prototype.getSpanCorrection=function(E,v,k){this.xCorr=-E*k,this.yCorr=-v},M.prototype.htmlCss=function(E){var v="SPAN"===this.element.tagName&&E&&"width"in E,k=C(v&&E.width,void 0);if(v){delete E.width,this.textWidth=k;var O=!0}return E&&"ellipsis"===E.textOverflow&&(E.whiteSpace="nowrap",E.overflow="hidden"),this.styles=L(this.styles,E),F(this.element,E),O&&this.htmlUpdateTransform(),this},M.prototype.htmlGetBBox=function(){var E=this.element;return{x:E.offsetLeft,y:E.offsetTop,width:E.offsetWidth,height:E.offsetHeight}},M.prototype.htmlUpdateTransform=function(){if(this.added){var E=this.renderer,v=this.element,k=this.translateX||0,O=this.translateY||0,P=this.x||0,g=this.y||0,c=this.textAlign||"left",u={left:0,center:.5,right:1}[c],o=this.styles;if(o=o&&o.whiteSpace,F(v,{marginLeft:k,marginTop:O}),!E.styledMode&&this.shadows&&this.shadows.forEach(function(f){F(f,{marginLeft:k+1,marginTop:O+1})}),this.inverted&&[].forEach.call(v.childNodes,function(f){E.invertChild(f,v)}),"SPAN"===v.tagName){var m=this.rotation,l=this.textWidth&&y(this.textWidth),b=[m,c,v.innerHTML,this.textWidth,this.textAlign].join(),n=void 0;if(n=!1,l!==this.oldTextWidth){if(this.textPxLength)var r=this.textPxLength;else F(v,{width:"",whiteSpace:o||"nowrap"}),r=v.offsetWidth;(l>this.oldTextWidth||r>l)&&(/[ \-]/.test(v.textContent||v.innerText)||"ellipsis"===v.style.textOverflow)&&(F(v,{width:r>l||m?l+"px":"auto",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=l,n=!0)}this.hasBoxWidthChanged=n,b!==this.cTT&&(n=E.fontMetrics(v.style.fontSize,v).b,!I(m)||m===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(m,u,n),this.getSpanCorrection(!I(m)&&this.textPxLength||v.offsetWidth,n,u,m,c)),F(v,{left:P+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"}),this.cTT=b,this.oldRotation=m,this.oldAlign=c}}else this.alignOnAdd=!0},M.prototype.setSpanRotation=function(E,v,k){var O={},P=it&&!/Edge/.test(W.navigator.userAgent)?"-ms-transform":K?"-webkit-transform":Q?"MozTransform":W.opera?"-o-transform":void 0;P&&(O[P]=O.transform="rotate("+E+"deg)",O[P+(Q?"Origin":"-origin")]=O.transformOrigin=100*v+"% "+k+"px",F(this.element,O))},M.composedClasses=[],M}(Y)}),Mt($,"Core/Renderer/HTML/HTMLRenderer.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var I,Q=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),it=rt.attr,K=rt.createElement,W=rt.extend,F=rt.pick;return function(I){function L(){return null!==I&&I.apply(this,arguments)||this}return Q(L,I),L.compose=function(C){return-1===L.composedClasses.indexOf(C)&&(L.composedClasses.push(C),C.prototype.html=L.prototype.html),C},L.prototype.html=function(C,y,S){var M=this.createElement("span"),E=M.element,v=M.renderer,k=v.isSVG,O=function(P,g){["opacity","visibility"].forEach(function(c){P[c+"Setter"]=function(u,o,m){var l=P.div?P.div.style:g;Y.prototype[c+"Setter"].call(this,u,o,m),l&&(l[o]=u)}}),P.addedSetters=!0};return M.textSetter=function(P){P!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,X.setElementHTML(this.element,F(P,"")),this.textStr=P,M.doTransform=!0)},k&&O(M,M.element.style),M.xSetter=M.ySetter=M.alignSetter=M.rotationSetter=function(P,g){"align"===g?M.alignValue=M.textAlign=P:M[g]=P,M.doTransform=!0},M.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},M.attr({text:C,x:Math.round(y),y:Math.round(S)}).css({position:"absolute"}),v.styledMode||M.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),E.style.whiteSpace="nowrap",M.css=M.htmlCss,k&&(M.add=function(P){var g=v.box.parentNode,c=[];if(this.parentGroup=P){var u=P.div;if(!u){for(;P;)c.push(P),P=P.parentGroup;c.reverse().forEach(function(o){function m(r,f){o[f]=r,"translateX"===f?n.left=r+"px":n.top=r+"px",o.doTransform=!0}var r,l=it(o.element,"class"),b=o.styles||{},n=(u=o.div=o.div||K("div",l?{className:l}:void 0,{position:"absolute",left:(o.translateX||0)+"px",top:(o.translateY||0)+"px",display:o.display,opacity:o.opacity,cursor:b.cursor,pointerEvents:b.pointerEvents,visibility:o.visibility},u||g)).style;W(o,{classSetter:(r=u,function(f){this.element.setAttribute("class",f),r.className=f}),on:function(){return c[0].div&&M.on.apply({element:c[0].div,onEvents:o.onEvents},arguments),o},translateXSetter:m,translateYSetter:m}),o.addedSetters||O(o)})}}else u=g;return u.appendChild(E),M.added=!0,M.alignOnAdd&&M.htmlUpdateTransform(),M}),M},L.composedClasses=[],L}(et)}),Mt($,"Core/Axis/AxisDefaults.js",[],function(){var X=(()=>{return(Y=X||(X={})).defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"},Y.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Y.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},Y.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},Y.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},Y.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},X;var Y})();return X}),Mt($,"Core/Foundation.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.isFunction,rt=X.objectEach,Q=X.removeEvent;return(it||(it={})).registerEventOptions=function(W,F){W.eventOptions=W.eventOptions||{},rt(F.events,function(I,L){W.eventOptions[L]!==I&&(W.eventOptions[L]&&(Q(W,L,W.eventOptions[L]),delete W.eventOptions[L]),et(I)&&(W.eventOptions[L]=I,Y(W,L,I)))})},it}),Mt($,"Core/Axis/Tick.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y,et){var rt=Y.deg2rad,Q=et.clamp,it=et.correctFloat,K=et.defined,W=et.destroyObjectProperties,F=et.extend,I=et.fireEvent,L=et.isNumber,C=et.merge,y=et.objectEach,S=et.pick;return function(){function M(E,v,k,O,P){this.isNewLabel=this.isNew=!0,this.axis=E,this.pos=v,this.type=k||"",this.parameters=P||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,I(this,"init"),k||O||this.addLabel()}return M.prototype.addLabel=function(){var E=this,v=E.axis,k=v.options,O=v.chart,P=v.categories,g=v.logarithmic,c=v.names,u=E.pos,o=S(E.options&&E.options.labels,k.labels),m=v.tickPositions,l=u===m[0],b=u===m[m.length-1],n=(!o.step||1===o.step)&&1===v.tickInterval;m=m.info;var f,r=E.label;if(P=this.parameters.category||(P?S(P[u],c[u],u):u),g&&L(P)&&(P=it(g.lin2log(P))),v.dateTime)if(m)var T=O.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&m.higherRanks[u]||m.unitName]),w=T.main;else L(P)&&(w=v.dateTime.getXDateFormat(P,k.dateTimeLabelFormats||{}));E.isFirst=l,E.isLast=b;var D={axis:v,chart:O,dateTimeLabelFormat:w,isFirst:l,isLast:b,pos:u,tick:E,tickPositionInfo:m,value:P};I(this,"labelFormat",D);var d=function(a){return o.formatter?o.formatter.call(a,a):o.format?(a.text=v.defaultLabelFormatter.call(a),X.format(o.format,a,O)):v.defaultLabelFormatter.call(a,a)};k=d.call(D,D);var R=T&&T.list;E.shortenLabel=R?function(){for(f=0;f<R.length;f++)if(F(D,{dateTimeLabelFormat:R[f]}),r.attr({text:d.call(D,D)}),r.getBBox().width<v.getSlotWidth(E)-2*o.padding)return;r.attr({text:""})}:void 0,n&&v._addedPlotLB&&E.moveLabel(k,o),K(r)||E.movedLabel?r&&r.textStr!==k&&!n&&(!r.textWidth||o.style.width||r.styles.width||r.css({width:null}),r.attr({text:k}),r.textPxLength=r.getBBox().width):(E.label=r=E.createLabel({x:0,y:0},k,o),E.rotation=0)},M.prototype.createLabel=function(E,v,k){var O=this.axis,P=O.chart;return(E=K(v)&&k.enabled?P.renderer.text(v,E.x,E.y,k.useHTML).add(O.labelGroup):null)&&(P.styledMode||E.css(C(k.style)),E.textPxLength=E.getBBox().width),E},M.prototype.destroy=function(){W(this,this.axis)},M.prototype.getPosition=function(E,v,k,O){var P=this.axis,g=P.chart,c=O&&g.oldChartHeight||g.chartHeight;return(E={x:E?it(P.translate(v+k,null,null,O)+P.transB):P.left+P.offset+(P.opposite?(O&&g.oldChartWidth||g.chartWidth)-P.right-P.left:0),y:E?c-P.bottom+P.offset-(P.opposite?P.height:0):it(c-P.translate(v+k,null,null,O)-P.transB)}).y=Q(E.y,-1e5,1e5),I(this,"afterGetPosition",{pos:E}),E},M.prototype.getLabelPosition=function(E,v,k,O,P,g,c,u){var o=this.axis,m=o.transA,l=o.isLinked&&o.linkedParent?o.linkedParent.reversed:o.reversed,b=o.staggerLines,n=o.tickRotCorr||{x:0,y:0},r=O||o.reserveSpaceDefault?0:-o.labelOffset*("center"===o.labelAlign?.5:1),f={},T=P.y;return K(T)||(T=0===o.side?k.rotation?-8:-k.getBBox().height:2===o.side?n.y+8:Math.cos(k.rotation*rt)*(n.y-k.getBBox(!1,0).height/2)),v=v+T-(g&&!O?g*m*(l?1:-1):0),b&&(k=c/(u||1)%b,o.opposite&&(k=b-k-1),v+=o.labelOffset/b*k),f.x=E=E+P.x+r+n.x-(g&&O?g*m*(l?-1:1):0),f.y=Math.round(v),I(this,"afterGetLabelPosition",{pos:f,tickmarkOffset:g,index:c}),f},M.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},M.prototype.getMarkPath=function(E,v,k,O,P,g){return g.crispLine([["M",E,v],["L",E+(P?0:-k),v+(P?k:0)]],O)},M.prototype.handleOverflow=function(E){var v=this.axis,k=v.options.labels,O=E.x,P=v.chart.chartWidth,g=v.chart.spacing,c=S(v.labelLeft,Math.min(v.pos,g[3]));g=S(v.labelRight,Math.max(v.isRadial?0:v.pos+v.len,P-g[1]));var T,u=this.label,o=this.rotation,m={left:0,center:.5,right:1}[v.labelAlign||u.attr("align")],l=u.getBBox().width,b=v.getSlotWidth(this),n={},r=b,f=1;o||"justify"!==k.overflow?0>o&&O-m*l<c?T=Math.round(O/Math.cos(o*rt)-c):0<o&&O+m*l>g&&(T=Math.round((P-O)/Math.cos(o*rt))):(P=O+(1-m)*l,O-m*l<c?r=E.x+r*(1-m)-c:P>g&&(r=g-E.x+r*m,f=-1),(r=Math.min(b,r))<b&&"center"===v.labelAlign&&(E.x+=f*(b-r-m*(b-Math.min(l,r)))),(l>r||v.autoRotation&&(u.styles||{}).width)&&(T=r)),T&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(T)+"px",(k.style||{}).textOverflow||(n.textOverflow="ellipsis"),u.css(n)))},M.prototype.moveLabel=function(E,v){var k=this,O=k.label,P=k.axis,g=P.reversed,c=!1;if(O&&O.textStr===E?(k.movedLabel=O,c=!0,delete k.label):y(P.ticks,function(o){c||o.isNew||o===k||!o.label||o.label.textStr!==E||(k.movedLabel=o.label,c=!0,o.labelPos=k.movedLabel.xy,delete o.label)}),!c&&(k.labelPos||O)){var u=k.labelPos||O.xy;k.movedLabel=k.createLabel({x:O=P.horiz?g?0:P.width+P.left:u.x,y:P=P.horiz?u.y:g?P.width+P.left:0},E,v),k.movedLabel&&k.movedLabel.attr({opacity:0})}},M.prototype.render=function(E,v,k){var O=this.axis,P=O.horiz,g=this.pos,c=S(this.tickmarkOffset,O.tickmarkOffset);c=(g=this.getPosition(P,g,c,v)).x,O=P&&c===O.pos+O.len||!P&&g.y===O.pos?-1:1,P=S(k,this.label&&this.label.newOpacity,1),k=S(k,1),this.isActive=!0,this.renderGridLine(v,k,O),this.renderMark(g,k,O),this.renderLabel(g,v,P,E),this.isNew=!1,I(this,"afterRender")},M.prototype.renderGridLine=function(E,v,k){var O=this.axis,P=O.options,g={},c=this.pos,u=this.type,o=S(this.tickmarkOffset,O.tickmarkOffset),m=O.chart.renderer,l=this.gridLine,b=P.gridLineWidth,n=P.gridLineColor,r=P.gridLineDashStyle;"minor"===this.type&&(b=P.minorGridLineWidth,n=P.minorGridLineColor,r=P.minorGridLineDashStyle),l||(O.chart.styledMode||(g.stroke=n,g["stroke-width"]=b||0,g.dashstyle=r),u||(g.zIndex=1),E&&(v=0),this.gridLine=l=m.path().attr(g).addClass("highcharts-"+(u?u+"-":"")+"grid-line").add(O.gridGroup)),l&&(k=O.getPlotLinePath({value:c+o,lineWidth:l.strokeWidth()*k,force:"pass",old:E}))&&l[E||this.isNew?"attr":"animate"]({d:k,opacity:v})},M.prototype.renderMark=function(E,v,k){var O=this.axis,P=O.options,g=O.chart.renderer,c=this.type,u=O.tickSize(c?c+"Tick":"tick"),o=E.x;E=E.y;var m=S(P["minor"!==c?"tickWidth":"minorTickWidth"],!c&&O.isXAxis?1:0);P=P["minor"!==c?"tickColor":"minorTickColor"];var l=this.mark,b=!l;u&&(O.opposite&&(u[0]=-u[0]),l||(this.mark=l=g.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(O.axisGroup),O.chart.styledMode||l.attr({stroke:P,"stroke-width":m})),l[b?"attr":"animate"]({d:this.getMarkPath(o,E,u[0],l.strokeWidth()*k,O.horiz,g),opacity:v}))},M.prototype.renderLabel=function(E,v,k,O){var P=this.axis,g=P.horiz,c=P.options,u=this.label,o=c.labels,m=o.step;P=S(this.tickmarkOffset,P.tickmarkOffset);var l=E.x;E=E.y;var b=!0;u&&L(l)&&(u.xy=E=this.getLabelPosition(l,E,u,g,o,P,O,m),this.isFirst&&!this.isLast&&!c.showFirstLabel||this.isLast&&!this.isFirst&&!c.showLastLabel?b=!1:!g||o.step||o.rotation||v||0===k||this.handleOverflow(E),m&&O%m&&(b=!1),b&&L(E.y)?(E.opacity=k,u[this.isNewLabel?"attr":"animate"](E).show(!0),this.isNewLabel=!1):(u.hide(),this.isNewLabel=!0))},M.prototype.replaceMovedLabel=function(){var E=this.label,v=this.axis,k=v.reversed;E&&!this.isNew&&(E.animate({x:v.horiz?k?v.left:v.width+v.left:E.xy.x,y:k=v.horiz?E.xy.y:k?v.width+v.top:v.top,opacity:0},void 0,E.destroy),delete this.label),v.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},M}()}),Mt($,"Core/Axis/Axis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/AxisDefaults.js"],$["Core/Color/Color.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Axis/Tick.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){var F=X.animObject,I=rt.defaultOptions,L=Q.registerEventOptions,C=it.deg2rad,y=W.arrayMax,S=W.arrayMin,M=W.clamp,E=W.correctFloat,v=W.defined,k=W.destroyObjectProperties,O=W.erase,P=W.error,g=W.extend,c=W.fireEvent,u=W.isArray,o=W.isNumber,m=W.isString,l=W.merge,b=W.normalizeTickInterval,n=W.objectEach,r=W.pick,f=W.relativeLength,T=W.removeEvent,w=W.splat,D=W.syncTimeout,d=function(R,a){return b(a,void 0,void 0,r(R.options.allowDecimals,.5>a||void 0!==R.tickAmount),!!R.tickAmount)};return function(){function R(a,h){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0,this.init(a,h)}return R.prototype.init=function(a,h){var A=h.isX;this.chart=a,this.horiz=a.inverted&&!this.isZAxis?!A:A,this.isXAxis=A,this.coll=this.coll||(A?"xAxis":"yAxis"),c(this,"init",{userOptions:h}),this.opposite=r(h.opposite,this.opposite),this.side=r(h.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(h);var j=this.options,z=j.labels,H=j.type;this.userOptions=h,this.minPixelPadding=0,this.reversed=r(j.reversed,this.reversed),this.visible=j.visible,this.zoomEnabled=j.zoomEnabled,this.hasNames="category"===H||!0===j.categories,this.categories=j.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=v(j.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=j.minRange||j.maxZoom,this.range=j.range,this.offset=j.offset||0,this.min=this.max=null,h=r(j.crosshair,w(a.options.tooltip.crosshairs)[A?0:1]),this.crosshair=!0===h?{}:h,-1===a.axes.indexOf(this)&&(A?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this)),this.series=this.series||[],a.inverted&&!this.isZAxis&&A&&void 0===this.reversed&&(this.reversed=!0),this.labelRotation=o(z.rotation)?z.rotation:void 0,L(this,j),c(this,"afterInit")},R.prototype.setOptions=function(a){this.options=l(Y.defaultXAxisOptions,"yAxis"===this.coll&&Y.defaultYAxisOptions,[Y.defaultTopAxisOptions,Y.defaultRightAxisOptions,Y.defaultBottomAxisOptions,Y.defaultLeftAxisOptions][this.side],l(I[this.coll],a)),c(this,"afterSetOptions",{userOptions:a})},R.prototype.defaultLabelFormatter=function(a){var h=this.axis;a=this.chart.numberFormatter;var A=o(this.value)?this.value:NaN,j=h.chart.time,z=this.dateTimeLabelFormat,H=I.lang,p=H.numericSymbols;H=H.numericSymbolMagnitude||1e3;var N=h.logarithmic?Math.abs(A):h.tickInterval,_=p&&p.length;if(h.categories)var G=""+this.value;else if(z)G=j.dateFormat(z,A);else if(_&&1e3<=N)for(;_--&&void 0===G;)N>=(h=Math.pow(H,_+1))&&10*A%h==0&&null!==p[_]&&0!==A&&(G=a(A/h,-1)+p[_]);return void 0===G&&(G=1e4<=Math.abs(A)?a(A,-1):a(A,-1,void 0,"")),G},R.prototype.getSeriesExtremes=function(){var A,a=this,h=a.chart;c(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1,a.dataMin=a.dataMax=a.threshold=null,a.softThreshold=!a.isXAxis,a.stacking&&a.stacking.buildStacks(),a.series.forEach(function(j){if(j.visible||!h.options.chart.ignoreHiddenSeries){var z=j.options,H=z.threshold;if(a.hasVisibleSeries=!0,a.positiveValuesOnly&&0>=H&&(H=null),a.isXAxis){if((z=j.xData).length){z=a.logarithmic?z.filter(a.validatePositiveValue):z;var p=(A=j.getXExtremes(z)).min,N=A.max;o(p)||p instanceof Date||(z=z.filter(o),p=(A=j.getXExtremes(z)).min,N=A.max),z.length&&(a.dataMin=Math.min(r(a.dataMin,p),p),a.dataMax=Math.max(r(a.dataMax,N),N))}}else j=j.applyExtremes(),o(j.dataMin)&&(p=j.dataMin,a.dataMin=Math.min(r(a.dataMin,p),p)),o(j.dataMax)&&(N=j.dataMax,a.dataMax=Math.max(r(a.dataMax,N),N)),v(H)&&(a.threshold=H),(!z.softThreshold||a.positiveValuesOnly)&&(a.softThreshold=!1)}})}),c(this,"afterGetSeriesExtremes")},R.prototype.translate=function(a,h,A,j,z,H){var p=this.linkedParent||this,N=j&&p.old?p.old.min:p.min,_=p.minPixelPadding;z=(p.isOrdinal||p.brokenAxis&&p.brokenAxis.hasBreaks||p.logarithmic&&z)&&p.lin2val;var G=1,U=0;return(j=j&&p.old?p.old.transA:p.transA)||(j=p.transA),A&&(G*=-1,U=p.len),p.reversed&&(U-=(G*=-1)*(p.sector||p.len)),h?(H=(a*G+U-_)/j+N,z&&(H=p.lin2val(H))):(z&&(a=p.val2lin(a)),a=G*(a-N)*j,H=o(N)?(p.isRadial?a:E(a))+U+G*_+(o(H)?j*H:0):void 0),H},R.prototype.toPixels=function(a,h){return this.translate(a,!1,!this.horiz,null,!0)+(h?0:this.pos)},R.prototype.toValue=function(a,h){return this.translate(a-(h?0:this.pos),!0,!this.horiz,null,!0)},R.prototype.getPlotLinePath=function(a){function h(ht,V,q){return("pass"!==ot&&ht<V||ht>q)&&(ot?ht=M(ht,V,q):ut=!0),ht}var at,ft,mt,gt,ut,A=this,j=A.chart,z=A.left,H=A.top,p=a.old,N=a.value,_=a.lineWidth,G=p&&j.oldChartHeight||j.chartHeight,U=p&&j.oldChartWidth||j.chartWidth,tt=A.transB,J=a.translatedValue,ot=a.force;return c(this,"getPlotLinePath",a={value:N,lineWidth:_,old:p,force:ot,acrossPanes:a.acrossPanes,translatedValue:J},function(ht){J=r(J,A.translate(N,null,null,p)),J=M(J,-1e5,1e5),at=mt=Math.round(J+tt),ft=gt=Math.round(G-J-tt),o(J)?A.horiz?(ft=H,gt=G-A.bottom,at=mt=h(at,z,z+A.width)):(at=z,mt=U-A.right,ft=gt=h(ft,H,H+A.height)):(ut=!0,ot=!1),ht.path=ut&&!ot?null:j.renderer.crispLine([["M",at,ft],["L",mt,gt]],_||1)}),a.path},R.prototype.getLinearTickPositions=function(a,h,A){var j=E(Math.floor(h/a)*a);A=E(Math.ceil(A/a)*a);var H,z=[];if(E(j+a)===j&&(H=20),this.single)return[h];for(h=j;h<=A&&(z.push(h),(h=E(h+a,H))!==p);)var p=h;return z},R.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?r(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},R.prototype.getMinorTickPositions=function(){var a=this.options,h=this.tickPositions,A=this.minorTickInterval,j=this.pointRangePadding||0,z=this.min-j,H=(j=this.max+j)-z,p=[];if(H&&H/A<this.len/3){var N=this.logarithmic;if(N)this.paddedTicks.forEach(function(_,G,U){G&&p.push.apply(p,N.getLogTickPositions(A,U[G-1],U[G],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())p=p.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(A),z,j,a.startOfWeek));else for(a=z+(h[0]-z)%A;a<=j&&a!==p[0];a+=A)p.push(a)}return 0!==p.length&&this.trimTicks(p),p},R.prototype.adjustForMinRange=function(){var H,p,N,_,a=this.options,h=this.logarithmic,A=this.min,j=this.max,z=0;if(this.isXAxis&&void 0===this.minRange&&!h&&(v(a.min)||v(a.max)||v(a.floor)||v(a.ceiling)?this.minRange=null:(this.series.forEach(function(J){if(N=J.xData,_=J.xIncrement?1:N.length-1,1<N.length)for(H=_;0<H;H--)p=N[H]-N[H-1],(!z||p<z)&&(z=p)}),this.minRange=Math.min(5*z,this.dataMax-this.dataMin))),j-A<this.minRange){var G=this.dataMax-this.dataMin>=this.minRange,U=this.minRange,tt=(U-j+A)/2;tt=[A-tt,r(a.min,A-tt)],G&&(tt[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),j=[(A=y(tt))+U,r(a.max,A+U)],G&&(j[2]=h?h.log2lin(this.dataMax):this.dataMax),(j=S(j))-A<U&&(tt[0]=j-U,tt[1]=r(a.min,j-U),A=y(tt))}this.min=A,this.max=j},R.prototype.getClosest=function(){var a;return this.categories?a=1:this.series.forEach(function(h){var A=h.closestPointRange,j=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&v(A)&&j&&(a=v(a)?Math.min(a,A):A)}),a},R.prototype.nameToX=function(a){var h=u(this.options.categories),A=h?this.categories:this.names,j=a.options.x;if(a.series.requireSorting=!1,v(j)||(j=this.options.uniqueNames&&A?h?A.indexOf(a.name):r(A.keys[a.name],-1):a.series.autoIncrement()),-1===j){if(!h&&A)var z=A.length}else z=j;return void 0!==z&&(this.names[z]=a.name,this.names.keys[a.name]=z),z},R.prototype.updateNames=function(){var a=this,h=this.names;0<h.length&&(Object.keys(h.keys).forEach(function(A){delete h.keys[A]}),h.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(A){A.xIncrement=null,(!A.points||A.isDirtyData)&&(a.max=Math.max(a.max,A.xData.length-1),A.processData(),A.generatePoints()),A.data.forEach(function(j,z){if(j&&j.options&&void 0!==j.name){var H=a.nameToX(j);void 0!==H&&H!==j.x&&(j.x=H,A.xData[z]=H)}})}))},R.prototype.setAxisTranslation=function(){var _,a=this,h=a.max-a.min,A=a.linkedParent,j=!!a.categories,z=a.isXAxis,H=a.axisPointRange||0,p=0,N=0;if(z||j||H){var G=a.getClosest();A?(p=A.minPointOffset,N=A.pointRangePadding):a.series.forEach(function(U){var tt=j?1:z?r(U.options.pointRange,G,0):a.axisPointRange||0,J=U.options.pointPlacement;H=Math.max(H,tt),(!a.single||j)&&(U=U.is("xrange")?!z:z,p=Math.max(p,U&&m(J)?0:tt/2),N=Math.max(N,U&&"on"===J?0:tt))}),a.minPointOffset=p*=A=a.ordinal&&a.ordinal.slope&&G?a.ordinal.slope/G:1,a.pointRangePadding=N*=A,a.pointRange=Math.min(H,a.single&&j?1:h),z&&(a.closestPointRange=G)}a.translationSlope=a.transA=_=a.staticScale||a.len/(h+N||1),a.transB=a.horiz?a.left:a.bottom,a.minPixelPadding=_*p,c(this,"afterSetAxisTranslation")},R.prototype.minFromRange=function(){return this.max-this.range},R.prototype.setTickInterval=function(a){var h=this.chart,A=this.logarithmic,j=this.options,z=this.isXAxis,H=this.isLinked,p=j.tickPixelInterval,N=this.categories,_=this.softThreshold,G=j.maxPadding,U=j.minPadding,tt=o(j.tickInterval)&&0<=j.tickInterval?j.tickInterval:void 0,J=o(this.threshold)?this.threshold:null;this.dateTime||N||H||this.getTickAmount();var ot=r(this.userMin,j.min),at=r(this.userMax,j.max);if(H){this.linkedParent=h[this.coll][j.linkedTo];var ft=this.linkedParent.getExtremes();this.min=r(ft.min,ft.dataMin),this.max=r(ft.max,ft.dataMax),j.type!==this.linkedParent.options.type&&P(11,1,h)}else{if(_&&v(J))if(this.dataMin>=J)ft=J,U=0;else if(this.dataMax<=J){var mt=J;G=0}this.min=r(ot,ft,this.dataMin),this.max=r(at,mt,this.dataMax)}if(A&&(this.positiveValuesOnly&&!a&&0>=Math.min(this.min,r(this.dataMin,this.min))&&P(10,1,h),this.min=E(A.log2lin(this.min),16),this.max=E(A.log2lin(this.max),16)),this.range&&v(this.max)&&(this.userMin=this.min=ot=Math.max(this.dataMin,this.minFromRange()),this.userMax=at=this.max,this.range=null),c(this,"foundExtremes"),this.beforePadding&&this.beforePadding(),this.adjustForMinRange(),!(N||this.axisPointRange||this.stacking&&this.stacking.usePercentage||H)&&v(this.min)&&v(this.max)&&(h=this.max-this.min)&&(!v(ot)&&U&&(this.min-=h*U),!v(at)&&G&&(this.max+=h*G)),o(this.userMin)||(o(j.softMin)&&j.softMin<this.min&&(this.min=ot=j.softMin),o(j.floor)&&(this.min=Math.max(this.min,j.floor))),o(this.userMax)||(o(j.softMax)&&j.softMax>this.max&&(this.max=at=j.softMax),o(j.ceiling)&&(this.max=Math.min(this.max,j.ceiling))),_&&v(this.dataMin)&&(J=J||0,!v(ot)&&this.min<J&&this.dataMin>=J?this.min=this.options.minRange?Math.min(J,this.max-this.minRange):J:!v(at)&&this.max>J&&this.dataMax<=J&&(this.max=this.options.minRange?Math.max(J,this.min+this.minRange):J)),o(this.min)&&o(this.max)&&!this.chart.polar&&this.min>this.max&&(v(this.options.min)?this.max=this.min:v(this.options.max)&&(this.min=this.max)),this.tickInterval=this.min===this.max||void 0===this.min||void 0===this.max?1:H&&this.linkedParent&&!tt&&p===this.linkedParent.options.tickPixelInterval?tt=this.linkedParent.tickInterval:r(tt,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,N?1:(this.max-this.min)*p/Math.max(this.len,p)),z&&!a){var gt=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(ut){ut.forceCrop=ut.forceCropping&&ut.forceCropping(),ut.processData(gt)}),c(this,"postProcessData",{hasExtemesChanged:gt})}this.setAxisTranslation(),c(this,"initialAxisTranslation"),this.pointRange&&!tt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)),a=r(j.minTickInterval,this.dateTime&&!this.series.some(function(ut){return ut.noSharedTooltip})?this.closestPointRange:0),!tt&&this.tickInterval<a&&(this.tickInterval=a),this.dateTime||this.logarithmic||tt||(this.tickInterval=d(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()},R.prototype.setTickPositions=function(){var a=this.options,h=a.tickPositions,A=this.getMinorTickInterval(),j=this.hasVerticalPanning(),z="colorAxis"===this.coll,H=(z||!j)&&a.startOnTick;if(j=(z||!j)&&a.endOnTick,z=a.tickPositioner,this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===A&&this.tickInterval?this.tickInterval/5:A,this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals),this.tickPositions=A=h&&h.slice(),!A){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)A=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)A=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var p=a=this.tickInterval;p<=2*a&&(A=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&A.length>this.tickAmount);)this.tickInterval=d(this,p*=1.1);else A=[this.min,this.max],P(19,!1,this.chart);A.length>this.len&&(A=[A[0],A.pop()])[0]===A[1]&&(A.length=1),this.tickPositions=A,z&&(z=z.apply(this,[this.min,this.max]))&&(this.tickPositions=A=z)}this.paddedTicks=A.slice(0),this.trimTicks(A,H,j),this.isLinked||(this.single&&2>A.length&&!this.categories&&!this.series.some(function(N){return N.is("heatmap")&&"between"===N.options.pointPlacement})&&(this.min-=.5,this.max+=.5),h||z||this.adjustTickAmount()),c(this,"afterSetTickPositions")},R.prototype.trimTicks=function(a,h,A){var j=a[0],z=a[a.length-1],H=!this.isOrdinal&&this.minPointOffset||0;if(c(this,"trimTicks"),!this.isLinked){if(h&&j!==-1/0)this.min=j;else for(;this.min-H>a[0];)a.shift();if(A)this.max=z;else for(;this.max+H<a[a.length-1];)a.pop();0===a.length&&v(j)&&!this.options.tickPositions&&a.push((z+j)/2)}},R.prototype.alignToOthers=function(){var H,a=this,h=[this],A=a.options,j="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,z=[];if(a.thresholdAlignment=void 0,(!1!==this.chart.options.chart.alignTicks&&A.alignTicks||j)&&!1!==A.startOnTick&&!1!==A.endOnTick&&!a.logarithmic){var p=function(G){var U=G.options;return[G.horiz?U.left:U.top,U.width,U.height,U.pane].join()},N=p(this);this.chart[this.coll].forEach(function(G){var U=G.series;U.length&&U.some(function(tt){return tt.visible})&&G!==a&&p(G)===N&&(H=!0,h.push(G))})}if(H&&j){h.forEach(function(G){G=G.getThresholdAlignment(a),o(G)&&z.push(G)});var _=1<z.length?z.reduce(function(G,U){return G+U},0)/z.length:void 0;h.forEach(function(G){G.thresholdAlignment=_})}return H},R.prototype.getThresholdAlignment=function(a){if((!o(this.dataMin)||this!==a&&this.series.some(function(h){return h.isDirty||h.isDirtyData}))&&this.getSeriesExtremes(),o(this.threshold))return a=M((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(a=1-a),a},R.prototype.getTickAmount=function(){var a=this.options,h=a.tickPixelInterval,A=a.tickAmount;!v(a.tickInterval)&&!A&&this.len<h&&!this.isRadial&&!this.logarithmic&&a.startOnTick&&a.endOnTick&&(A=2),!A&&this.alignToOthers()&&(A=Math.ceil(this.len/h)+1),4>A&&(this.finalTickAmt=A,A=5),this.tickAmount=A},R.prototype.adjustTickAmount=function(){var a=this,h=a.finalTickAmt,A=a.max,j=a.min,z=a.options,H=a.tickPositions,p=a.tickAmount,N=a.thresholdAlignment,_=H&&H.length,G=r(a.threshold,a.softThreshold?0:null),U=a.tickInterval;if(o(N)){var tt=.5>N?Math.ceil(N*(p-1)):Math.floor(N*(p-1));z.reversed&&(tt=p-1-tt)}if(a.hasData()&&o(j)&&o(A)){if(N=function(){a.transA*=(_-1)/(p-1),a.min=z.startOnTick?H[0]:Math.min(j,H[0]),a.max=z.endOnTick?H[H.length-1]:Math.max(A,H[H.length-1])},o(tt)&&o(a.threshold)){for(;H[tt]!==G||H.length!==p||H[0]>j||H[H.length-1]<A;){for(H.length=0,H.push(a.threshold);H.length<p;)void 0===H[tt]||H[tt]>a.threshold?H.unshift(E(H[0]-U)):H.push(E(H[H.length-1]+U));if(U>8*a.tickInterval)break;U*=2}N()}else if(_<p){for(;H.length<p;)H.length%2||j===G?H.push(E(H[H.length-1]+U)):H.unshift(E(H[0]-U));N()}if(v(h)){for(U=G=H.length;U--;)(3===h&&U%2==1||2>=h&&0<U&&U<G-1)&&H.splice(U,1);a.finalTickAmt=void 0}}},R.prototype.setScale=function(){var a=!1,h=!1;this.series.forEach(function(j){a=a||j.isDirtyData||j.isDirty,h=h||j.xAxis&&j.xAxis.isDirty||!1}),this.setAxisSize();var A=this.len!==(this.old&&this.old.len);A||a||h||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=A||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),a&&this.panningState&&(this.panningState.isDirty=!0),c(this,"afterSetScale")},R.prototype.setExtremes=function(a,h,A,j,z){var H=this,p=H.chart;A=r(A,!0),H.series.forEach(function(N){delete N.kdTree}),z=g(z,{min:a,max:h}),c(H,"setExtremes",z,function(){H.userMin=a,H.userMax=h,H.eventArgs=z,A&&p.redraw(j)})},R.prototype.zoom=function(a,h){var A=this,j=this.dataMin,z=this.dataMax,H=this.options,p=Math.min(j,r(H.min,j)),N=Math.max(z,r(H.max,z));return c(this,"zoom",a={newMin:a,newMax:h},function(_){var G=_.newMin,U=_.newMax;(G!==A.min||U!==A.max)&&(A.allowZoomOutside||(v(j)&&(G<p&&(G=p),G>N&&(G=N)),v(z)&&(U<p&&(U=p),U>N&&(U=N))),A.displayBtn=void 0!==G||void 0!==U,A.setExtremes(G,U,!1,void 0,{trigger:"zoom"})),_.zoomed=!0}),a.zoomed},R.prototype.setAxisSize=function(){var a=this.chart,h=this.options,A=h.offsets||[0,0,0,0],j=this.horiz,z=this.width=Math.round(f(r(h.width,a.plotWidth-A[3]+A[1]),a.plotWidth)),H=this.height=Math.round(f(r(h.height,a.plotHeight-A[0]+A[2]),a.plotHeight)),p=this.top=Math.round(f(r(h.top,a.plotTop+A[0]),a.plotHeight,a.plotTop));h=this.left=Math.round(f(r(h.left,a.plotLeft+A[3]),a.plotWidth,a.plotLeft)),this.bottom=a.chartHeight-H-p,this.right=a.chartWidth-z-h,this.len=Math.max(j?z:H,0),this.pos=j?h:p},R.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?E(a.lin2log(this.min)):this.min,max:a?E(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},R.prototype.getThreshold=function(a){var h=this.logarithmic,A=h?h.lin2log(this.min):this.min;return h=h?h.lin2log(this.max):this.max,null===a||a===-1/0?a=A:a===1/0?a=h:A>a?a=A:h<a&&(a=h),this.translate(a,0,1,0,1)},R.prototype.autoLabelAlign=function(a){var h=(r(a,0)-90*this.side+720)%360;return c(this,"autoLabelAlign",a={align:"center"},function(A){15<h&&165>h?A.align="right":195<h&&345>h&&(A.align="left")}),a.align},R.prototype.tickSize=function(a){var h=this.options,A=r(h["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0),j=h["tick"===a?"tickLength":"minorTickLength"];if(A&&j){"inside"===h[a+"Position"]&&(j=-j);var z=[j,A]}return c(this,"afterTickSize",a={tickSize:z}),a.tickSize},R.prototype.labelMetrics=function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},R.prototype.unsquish=function(){var G,U,a=this.options.labels,h=this.horiz,A=this.tickInterval,j=this.len/(((this.categories?1:0)+this.max-this.min)/A),z=a.rotation,H=this.labelMetrics(),p=Math.max(this.max-this.min,0),N=function(ot){var at=ot/(j||1);return(at=1<at?Math.ceil(at):1)*A>p&&ot!==1/0&&j!==1/0&&p&&(at=Math.ceil(p/A)),E(at*A)},_=A,tt=Number.MAX_VALUE;if(h){if(!a.staggerLines&&!a.step)if(o(z))var J=[z];else j<a.autoRotationLimit&&(J=a.autoRotation);J&&J.forEach(function(ot){if(ot===z||ot&&-90<=ot&&90>=ot){var at=(U=N(Math.abs(H.h/Math.sin(C*ot))))+Math.abs(ot/360);at<tt&&(tt=at,G=ot,_=U)}})}else a.step||(_=N(H.h));return this.autoRotation=J,this.labelRotation=r(G,o(z)?z:0),_},R.prototype.getSlotWidth=function(a){var h=this.chart,A=this.horiz,j=this.options.labels,z=Math.max(this.tickPositions.length-(this.categories?0:1),1),H=h.margin[3];if(a&&o(a.slotWidth))return a.slotWidth;if(A&&2>j.step)return j.rotation?0:(this.staggerLines||1)*this.len/z;if(!A){if(void 0!==(a=j.style.width))return parseInt(String(a),10);if(H)return H-h.spacing[3]}return.33*h.chartWidth},R.prototype.renderUnsquish=function(){var a=this.chart,h=a.renderer,A=this.tickPositions,j=this.ticks,z=this.options.labels,H=z.style,p=this.horiz,N=this.getSlotWidth(),_=Math.max(1,Math.round(N-2*z.padding)),G={},U=this.labelMetrics(),tt=H.textOverflow,J=0;if(m(z.rotation)||(G.rotation=z.rotation||0),A.forEach(function(mt){(mt=j[mt]).movedLabel&&mt.replaceMovedLabel(),mt&&mt.label&&mt.label.textPxLength>J&&(J=mt.label.textPxLength)}),this.maxLabelLength=J,this.autoRotation)J>_&&J>U.h?G.rotation=this.labelRotation:this.labelRotation=0;else if(N){var ot=_;if(!tt){var at="clip";for(_=A.length;!p&&_--;){var ft=A[_];(ft=j[ft].label)&&(ft.styles&&"ellipsis"===ft.styles.textOverflow?ft.css({textOverflow:"clip"}):ft.textPxLength>N&&ft.css({width:N+"px"}),ft.getBBox().height>this.len/A.length-(U.h-U.f)&&(ft.specificTextOverflow="ellipsis"))}}}G.rotation&&(ot=J>.5*a.chartHeight?.33*a.chartHeight:J,tt||(at="ellipsis")),(this.labelAlign=z.align||this.autoLabelAlign(this.labelRotation))&&(G.align=this.labelAlign),A.forEach(function(mt){var gt=(mt=j[mt])&&mt.label,ut=H.width,ht={};gt&&(gt.attr(G),mt.shortenLabel?mt.shortenLabel():ot&&!ut&&"nowrap"!==H.whiteSpace&&(ot<gt.textPxLength||"SPAN"===gt.element.tagName)?(ht.width=ot+"px",tt||(ht.textOverflow=gt.specificTextOverflow||at),gt.css(ht)):gt.styles&&gt.styles.width&&!ht.width&&!ut&&gt.css({width:null}),delete gt.specificTextOverflow,mt.rotation=G.rotation)},this),this.tickRotCorr=h.rotCorr(U.b,this.labelRotation||0,0!==this.side)},R.prototype.hasData=function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&v(this.min)&&v(this.max)},R.prototype.addTitle=function(a){var p,j=this.opposite,z=this.options.title,H=this.chart.styledMode;this.axisTitle||((p=z.textAlign)||(p=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:j?"right":"left",middle:"center",high:j?"left":"right"})[z.align]),this.axisTitle=this.chart.renderer.text(z.text||"",0,0,z.useHTML).attr({zIndex:7,rotation:z.rotation,align:p}).addClass("highcharts-axis-title"),H||this.axisTitle.css(l(z.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),H||z.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[a?"show":"hide"](a)},R.prototype.generateTick=function(a){var h=this.ticks;h[a]?h[a].addLabel():h[a]=new K(this,a)},R.prototype.getOffset=function(){var a=this,h=this,A=h.chart,j=h.horiz,z=h.options,H=h.side,p=h.ticks,N=h.tickPositions,_=h.coll,G=h.axisParent,U=A.renderer,tt=A.inverted&&!h.isZAxis?[1,0,3,2][H]:H,J=h.hasData(),ot=z.title,at=z.labels,ft=A.axisOffset;A=A.clipOffset;var ut,mt=[-1,1,1,-1][H],gt=z.className,ht=0,V=0,q=0;if(h.showAxis=ut=J||z.showEmpty,h.staggerLines=h.horiz&&at.staggerLines||void 0,!h.axisGroup){var st=function(dt,yt,xt){return U.g(dt).attr({zIndex:xt}).addClass("highcharts-"+_.toLowerCase()+yt+" "+(a.isRadial?"highcharts-radial-axis"+yt+" ":"")+(gt||"")).add(G)};h.gridGroup=st("grid","-grid",z.gridZIndex),h.axisGroup=st("axis","",z.zIndex),h.labelGroup=st("axis-labels","-labels",at.zIndex)}if(J||h.isLinked?(N.forEach(function(dt){h.generateTick(dt)}),h.renderUnsquish(),h.reserveSpaceDefault=0===H||2===H||{1:"left",3:"right"}[H]===h.labelAlign,r(at.reserveSpace,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&N.forEach(function(dt){q=Math.max(p[dt].getLabelSize(),q)}),h.staggerLines&&(q*=h.staggerLines),h.labelOffset=q*(h.opposite?-1:1)):n(p,function(dt,yt){dt.destroy(),delete p[yt]}),ot&&ot.text&&!1!==ot.enabled&&(h.addTitle(ut),ut&&!1!==ot.reserveSpace)){h.titleOffset=ht=h.axisTitle.getBBox()[j?"height":"width"];var ct=ot.offset;V=v(ct)?0:r(ot.margin,j?5:10)}h.renderLine(),h.offset=mt*r(z.offset,ft[H]?ft[H]+(z.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},ot=0===H?-h.labelMetrics().h:2===H?h.tickRotCorr.y:0,J=Math.abs(q)+V,q&&(J=J-ot+mt*(j?r(at.y,h.tickRotCorr.y+8*mt):at.x)),h.axisTitleMargin=r(ct,J),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(p,N)),"colorAxis"!==_&&(j=this.tickSize("tick"),ft[H]=Math.max(ft[H],(h.axisTitleMargin||0)+ht+mt*h.offset,J,N&&N.length&&j?j[0]+mt*h.offset:0),z=!h.axisLine||z.offset?0:2*Math.floor(h.axisLine.strokeWidth()/2),A[tt]=Math.max(A[tt],z)),c(this,"afterGetOffset")},R.prototype.getLinePath=function(a){var h=this.chart,A=this.opposite,j=this.offset,z=this.horiz,H=this.left+(A?this.width:0)+j;return j=h.chartHeight-this.bottom-(A?this.height:0)+j,A&&(a*=-1),h.renderer.crispLine([["M",z?this.left:H,z?j:this.top],["L",z?h.chartWidth-this.right:H,z?j:h.chartHeight-this.bottom]],a)},R.prototype.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}))},R.prototype.getTitlePosition=function(){var a=this.horiz,h=this.left,A=this.top,j=this.len,z=this.options.title,H=a?h:A,p=this.opposite,N=this.offset,_=z.x,G=z.y,U=this.axisTitle,tt=this.chart.renderer.fontMetrics(z.style.fontSize,U);return U=U?Math.max(U.getBBox(!1,0).height-tt.h-1,0):0,j={low:H+(a?0:j),middle:H+j/2,high:H+(a?j:0)}[z.align],h=(a?A+this.height:h)+(a?1:-1)*(p?-1:1)*(this.axisTitleMargin||0)+[-U,U,tt.f,-U][this.side],c(this,"afterGetTitlePosition",{titlePosition:a={x:a?j+_:h+(p?this.width:0)+N+_,y:a?h+G-(p?this.height:0)+N:j+G}}),a},R.prototype.renderMinorTick=function(a,h){var A=this.minorTicks;A[a]||(A[a]=new K(this,a,"minor")),h&&A[a].isNew&&A[a].render(null,!0),A[a].render(null,!1,1)},R.prototype.renderTick=function(a,h,A){var j=this.ticks;(!this.isLinked||a>=this.min&&a<=this.max||this.grid&&this.grid.isColumn)&&(j[a]||(j[a]=new K(this,a)),A&&j[a].isNew&&j[a].render(h,!0,-1),j[a].render(h))},R.prototype.render=function(){var mt,gt,a=this,h=a.chart,A=a.logarithmic,j=a.options,z=a.isLinked,H=a.tickPositions,p=a.axisTitle,N=a.ticks,_=a.minorTicks,G=a.alternateBands,U=j.stackLabels,tt=j.alternateGridColor,J=a.tickmarkOffset,ot=a.axisLine,at=a.showAxis,ft=F(h.renderer.globalAnimation);if(a.labelEdge.length=0,a.overlap=!1,[N,_,G].forEach(function(ht){n(ht,function(V){V.isActive=!1})}),a.hasData()||z){var ut=a.chart.hasRendered&&a.old&&o(a.old.min);a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(ht){a.renderMinorTick(ht,ut)}),H.length&&(H.forEach(function(ht,V){a.renderTick(ht,V,ut)}),J&&(0===a.min||a.single)&&(N[-1]||(N[-1]=new K(a,-1,null,!0)),N[-1].render(-1))),tt&&H.forEach(function(ht,V){gt=void 0!==H[V+1]?H[V+1]+J:a.max-J,V%2==0&&ht<a.max&&gt<=a.max+(h.polar?-J:J)&&(G[ht]||(G[ht]=new it.PlotLineOrBand(a)),mt=ht+J,G[ht].options={from:A?A.lin2log(mt):mt,to:A?A.lin2log(gt):gt,color:tt,className:"highcharts-alternate-grid"},G[ht].render(),G[ht].isActive=!0)}),a._addedPlotLB||(a._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(ht){a.addPlotBandOrLine(ht)}))}[N,_,G].forEach(function(ht){var V=[],q=ft.duration;n(ht,function(st,ct){st.isActive||(st.render(ct,!1,0),st.isActive=!1,V.push(ct))}),D(function(){for(var st=V.length;st--;)ht[V[st]]&&!ht[V[st]].isActive&&(ht[V[st]].destroy(),delete ht[V[st]])},ht!==G&&h.hasRendered&&q?q:0)}),ot&&(ot[ot.isPlaced?"animate":"attr"]({d:this.getLinePath(ot.strokeWidth())}),ot.isPlaced=!0,ot[at?"show":"hide"](at)),p&&at&&(j=a.getTitlePosition(),p[p.isNew?"attr":"animate"](j),p.isNew=!1),U&&U.enabled&&a.stacking&&a.stacking.renderStackTotals(),a.old={len:a.len,max:a.max,min:a.min,transA:a.transA,userMax:a.userMax,userMin:a.userMin},a.isDirty=!1,c(this,"afterRender")},R.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()})),this.series.forEach(function(a){a.isDirty=!0})},R.prototype.getKeepProps=function(){return this.keepProps||R.keepProps},R.prototype.destroy=function(a){var h=this,A=h.plotLinesAndBands,j=this.eventOptions;if(c(this,"destroy",{keepEvents:a}),a||T(h),[h.ticks,h.minorTicks,h.alternateBands].forEach(function(H){k(H)}),A)for(a=A.length;a--;)A[a].destroy();for(var z in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(H){h[H]&&(h[H]=h[H].destroy())}),h.plotLinesAndBandsGroups)h.plotLinesAndBandsGroups[z]=h.plotLinesAndBandsGroups[z].destroy();n(h,function(H,p){-1===h.getKeepProps().indexOf(p)&&delete h[p]}),this.eventOptions=j},R.prototype.drawCrosshair=function(a,h){var H,A=this.crosshair,j=r(A&&A.snap,!0),z=this.chart,p=this.cross;if(c(this,"drawCrosshair",{e:a,point:h}),a||(a=this.cross&&this.cross.e),A&&!1!==(v(h)||!j)){if(j?v(h)&&(H=r("colorAxis"!==this.coll?h.crosshairPos:null,this.isXAxis?h.plotX:this.len-h.plotY)):H=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),v(H)){var N={value:h&&(this.isXAxis?h.x:r(h.stackY,h.y)),translatedValue:H};z.polar&&g(N,{isCrosshair:!0,chartX:a&&a.chartX,chartY:a&&a.chartY,point:h}),N=this.getPlotLinePath(N)||null}if(!v(N))return void this.hideCrosshair();j=this.categories&&!this.isRadial,p||(this.cross=p=z.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(j?"category ":"thin ")+(A.className||"")).attr({zIndex:r(A.zIndex,2)}).add(),z.styledMode||(p.attr({stroke:A.color||(j?et.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":r(A.width,1)}).css({"pointer-events":"none"}),A.dashStyle&&p.attr({dashstyle:A.dashStyle}))),p.show().attr({d:N}),j&&!A.width&&p.attr({"stroke-width":this.transA}),this.cross.e=a}else this.hideCrosshair();c(this,"afterDrawCrosshair",{e:a,point:h})},R.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),c(this,"afterHideCrosshair")},R.prototype.hasVerticalPanning=function(){var a=this.chart.options.chart.panning;return!!(a&&a.enabled&&/y/.test(a.type))},R.prototype.validatePositiveValue=function(a){return o(a)&&0<a},R.prototype.update=function(a,h){var A=this.chart;a=l(this.userOptions,a),this.destroy(!0),this.init(A,a),A.isDirtyBox=!0,r(h,!0)&&A.redraw()},R.prototype.remove=function(a){for(var h=this.chart,A=this.coll,j=this.series,z=j.length;z--;)j[z]&&j[z].remove(!1);O(h.axes,this),O(h[A],this),h[A].forEach(function(H,p){H.options.index=H.userOptions.index=p}),this.destroy(),h.isDirtyBox=!0,r(a,!0)&&h.redraw()},R.prototype.setTitle=function(a,h){this.update({title:a},h)},R.prototype.setCategories=function(a,h){this.update({categories:a},h)},R.defaultOptions=Y.defaultXAxisOptions,R.keepProps="extKey hcEvents names series userMax userMin".split(" "),R}()}),Mt($,"Core/Axis/DateTimeAxis.js",[$["Core/Utilities.js"]],function(X){var it,Y=X.addEvent,et=X.getMagnitude,rt=X.normalizeTickInterval,Q=X.timeUnits;return function(K){function W(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(C){"datetime"!==C.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new L(this))}var I=[];K.compose=function(C){return-1===I.indexOf(C)&&(I.push(C),C.keepProps.push("dateTime"),C.prototype.getTimeTicks=W,Y(C,"init",F)),C};var L=function(){function C(y){this.axis=y}return C.prototype.normalizeTimeTickInterval=function(y,S){var k,M=S||[["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]],E=Q[(S=M[M.length-1])[0]],v=S[1];for(k=0;k<M.length&&(E=Q[(S=M[k])[0]],v=S[1],!(M[k+1]&&y<=(E*v[v.length-1]+Q[M[k+1][0]])/2));k++);return E===Q.year&&y<5*E&&(v=[1,2,5]),{unitRange:E,count:y=rt(y/E,v,"year"===S[0]?Math.max(et(y/E),1):1),unitName:S[0]}},C.prototype.getXDateFormat=function(y,S){var M=this.axis;return M.closestPointRange?M.chart.time.getDateFormat(M.closestPointRange,y,M.options.startOfWeek,S)||S.year:S.day},C}();K.Additions=L}(it||(it={})),it}),Mt($,"Core/Axis/LogarithmicAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.addEvent,et=X.normalizeTickInterval,rt=X.pick;return function(it){function K(L){var C=this.logarithmic;"logarithmic"!==L.userOptions.type?this.logarithmic=void 0:C||(this.logarithmic=new I(this))}function W(){var L=this.logarithmic;L&&(this.lin2val=function(C){return L.lin2log(C)},this.val2lin=function(C){return L.log2lin(C)})}var F=[];it.compose=function(L){return-1===F.indexOf(L)&&(F.push(L),L.keepProps.push("logarithmic"),Y(L,"init",K),Y(L,"afterInit",W)),L};var I=function(){function L(C){this.axis=C}return L.prototype.getLogTickPositions=function(C,y,S,M){var E=this.axis,v=E.len,k=E.options,O=[];if(M||(this.minorAutoInterval=void 0),.5<=C)C=Math.round(C),O=E.getLinearTickPositions(C,y,S);else if(.08<=C){var g,P=Math.floor(y),c=k=void 0;for(v=.3<C?[1,2,4]:.15<C?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];P<S+1&&!c;P++){var u=v.length;for(g=0;g<u&&!c;g++){var o=this.log2lin(this.lin2log(P)*v[g]);o>y&&(!M||k<=S)&&void 0!==k&&O.push(k),k>S&&(c=!0),k=o}}}else y=this.lin2log(y),S=this.lin2log(S),C=M?E.getMinorTickInterval():k.tickInterval,C=rt("auto"===C?null:C,this.minorAutoInterval,k.tickPixelInterval/(M?5:1)*(S-y)/((M?v/E.tickPositions.length:v)||1)),C=et(C),O=E.getLinearTickPositions(C,y,S).map(this.log2lin),M||(this.minorAutoInterval=C/5);return M||(E.tickInterval=C),O},L.prototype.lin2log=function(C){return Math.pow(10,C)},L.prototype.log2lin=function(C){return Math.log(C)/Math.LN10},L}();it.Additions=I}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[$["Core/Utilities.js"]],function(X){var Q,Y=X.erase,et=X.extend,rt=X.isNumber;return function(it){var W,K=[];it.compose=function(I,L){return W||(W=I),-1===K.indexOf(L)&&(K.push(L),et(L.prototype,F.prototype)),L};var F=function(){function I(){}return I.prototype.getPlotBandPath=function(L,C,y){void 0===y&&(y=this.options);var S=this.getPlotLinePath({value:C,force:!0,acrossPanes:y.acrossPanes}),M=[],E=this.horiz;if(C=!rt(this.min)||!rt(this.max)||L<this.min&&C<this.min||L>this.max&&C>this.max,L=this.getPlotLinePath({value:L,force:!0,acrossPanes:y.acrossPanes}),y=1,L&&S){if(C){var v=L.toString()===S.toString();y=0}for(C=0;C<L.length;C+=2){var k=L[C],O=L[C+1],P=S[C],g=S[C+1];"M"!==k[0]&&"L"!==k[0]||"M"!==O[0]&&"L"!==O[0]||"M"!==P[0]&&"L"!==P[0]||"M"!==g[0]&&"L"!==g[0]||(E&&P[1]===k[1]?(P[1]+=y,g[1]+=y):E||P[2]!==k[2]||(P[2]+=y,g[2]+=y),M.push(["M",k[1],k[2]],["L",O[1],O[2]],["L",g[1],g[2]],["L",P[1],P[2]],["Z"])),M.isFlat=v}}return M},I.prototype.addPlotBand=function(L){return this.addPlotBandOrLine(L,"plotBands")},I.prototype.addPlotLine=function(L){return this.addPlotBandOrLine(L,"plotLines")},I.prototype.addPlotBandOrLine=function(L,C){var y=this,S=this.userOptions,M=new W(this,L);if(this.visible&&(M=M.render()),M){if(this._addedPlotLB||(this._addedPlotLB=!0,(S.plotLines||[]).concat(S.plotBands||[]).forEach(function(v){y.addPlotBandOrLine(v)})),C){var E=S[C]||[];E.push(L),S[C]=E}this.plotLinesAndBands.push(M)}return M},I.prototype.removePlotBandOrLine=function(L){var C=this.plotLinesAndBands,y=this.options,S=this.userOptions;if(C){for(var M=C.length;M--;)C[M].id===L&&C[M].destroy();[y.plotLines||[],S.plotLines||[],y.plotBands||[],S.plotBands||[]].forEach(function(E){for(M=E.length;M--;)(E[M]||{}).id===L&&Y(E,E[M])})}},I.prototype.removePlotBand=function(L){this.removePlotBandOrLine(L)},I.prototype.removePlotLine=function(L){this.removePlotBandOrLine(L)},I}()}(Q||(Q={})),Q}),Mt($,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[$["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],$["Core/Utilities.js"]],function(X,Y){var et=Y.arrayMax,rt=Y.arrayMin,Q=Y.defined,it=Y.destroyObjectProperties,K=Y.erase,W=Y.fireEvent,F=Y.merge,I=Y.objectEach,L=Y.pick;return function(){function C(y,S){this.axis=y,S&&(this.options=S,this.id=S.id)}return C.compose=function(y){return X.compose(C,y)},C.prototype.render=function(){W(this,"render");var y=this,S=y.axis,M=S.horiz,E=S.logarithmic,v=y.options,k=v.color,O=L(v.zIndex,0),P=v.events,g={},c=S.chart.renderer,u=v.label,o=y.label,m=v.to,l=v.from,b=v.value,n=y.svgElem,r=[],f=Q(l)&&Q(m);r=Q(b);var T=!n,w={class:"highcharts-plot-"+(f?"band ":"line ")+(v.className||"")},D=f?"bands":"lines";if(E&&(l=E.log2lin(l),m=E.log2lin(m),b=E.log2lin(b)),S.chart.styledMode||(r?(w.stroke=k||"#999999",w["stroke-width"]=L(v.width,1),v.dashStyle&&(w.dashstyle=v.dashStyle)):f&&(w.fill=k||"#e6ebf5",v.borderWidth&&(w.stroke=v.borderColor,w["stroke-width"]=v.borderWidth))),g.zIndex=O,(E=S.plotLinesAndBandsGroups[D+="-"+O])||(S.plotLinesAndBandsGroups[D]=E=c.g("plot-"+D).attr(g).add()),T&&(y.svgElem=n=c.path().attr(w).add(E)),r)r=S.getPlotLinePath({value:b,lineWidth:n.strokeWidth(),acrossPanes:v.acrossPanes});else{if(!f)return;r=S.getPlotBandPath(l,m,v)}return!y.eventsAdded&&P&&(I(P,function(d,R){n.on(R,function(a){P[R].apply(y,[a])})}),y.eventsAdded=!0),(T||!n.d)&&r&&r.length?n.attr({d:r}):n&&(r?(n.show(),n.animate({d:r})):n.d&&(n.hide(),o&&(y.label=o=o.destroy()))),u&&(Q(u.text)||Q(u.formatter))&&r&&r.length&&0<S.width&&0<S.height&&!r.isFlat?(u=F({align:M&&f&&"center",x:M?!f&&4:10,verticalAlign:!M&&f&&"middle",y:M?f?16:10:f?6:-4,rotation:M&&!f&&90},u),this.renderLabel(u,r,f,O)):o&&o.hide(),y},C.prototype.renderLabel=function(y,S,M,E){var v=this.axis,k=v.chart.renderer,O=this.label;O||(this.label=O=k.text(this.getLabelText(y),0,0,y.useHTML).attr({align:y.textAlign||y.align,rotation:y.rotation,class:"highcharts-plot-"+(M?"band":"line")+"-label "+(y.className||""),zIndex:E}).add(),v.chart.styledMode||O.css(F({textOverflow:"ellipsis"},y.style))),E=S.xBounds||[S[0][1],S[1][1],M?S[2][1]:S[0][1]],S=S.yBounds||[S[0][2],S[1][2],M?S[2][2]:S[0][2]],M=rt(E),k=rt(S),O.align(y,!1,{x:M,y:k,width:et(E)-M,height:et(S)-k}),O.alignValue&&"left"!==O.alignValue||O.css({width:(90===O.rotation?v.height-(O.alignAttr.y-v.top):v.width-(O.alignAttr.x-v.left))+"px"}),O.show(!0)},C.prototype.getLabelText=function(y){return Q(y.formatter)?y.formatter.call(this):y.text},C.prototype.destroy=function(){K(this.axis.plotLinesAndBands,this),delete this.axis,it(this)},C}()}),Mt($,"Core/Tooltip.js",[$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.format,K=Y.doc,W=et.distribute,F=Q.addEvent,I=Q.clamp,L=Q.css,C=Q.defined,y=Q.discardElement,S=Q.extend,M=Q.fireEvent,E=Q.isArray,v=Q.isNumber,k=Q.isString,O=Q.merge,P=Q.pick,g=Q.splat,c=Q.syncTimeout;return function(){function u(o,m){this.allowShared=!0,this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=o,this.init(o,m)}return u.prototype.applyFilter=function(){var o=this.chart;o.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+o.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]})},u.prototype.bodyFormatter=function(o){return o.map(function(m){var l=m.series.tooltipOptions;return(l[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,l[(m.point.formatPrefix||"point")+"Format"]||"")})},u.prototype.cleanSplit=function(o){this.chart.series.forEach(function(m){var l=m&&m.tt;l&&(!l.isActive||o?m.tt=l.destroy():l.isActive=!1)})},u.prototype.defaultFormatter=function(o){var m=this.points||g(this),l=[o.tooltipFooterHeaderFormatter(m[0])];return(l=l.concat(o.bodyFormatter(m))).push(o.tooltipFooterHeaderFormatter(m[0],!0)),l},u.prototype.destroy=function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(!0),this.tt=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),y(this.container)),Q.clearTimeout(this.hideTimer),Q.clearTimeout(this.tooltipTimeout)},u.prototype.getAnchor=function(o,m){var T,w,l=this.chart,b=l.pointer,n=l.inverted,r=l.plotTop,f=l.plotLeft,D=0,d=0;return o=g(o),this.followPointer&&m?(void 0===m.chartX&&(m=b.normalize(m)),b=[m.chartX-f,m.chartY-r]):o[0].tooltipPos?b=o[0].tooltipPos:(o.forEach(function(R){T=R.series.yAxis,D+=R.plotX||0,d+=R.plotLow?(R.plotLow+(R.plotHigh||0))/2:R.plotY||0,(w=R.series.xAxis)&&T&&(n?(D+=r+l.plotHeight-w.len-w.pos,d+=f+l.plotWidth-T.len-T.pos):(D+=w.pos-f,d+=T.pos-r))}),D/=o.length,d/=o.length,b=[n?l.plotWidth-d:D,n?l.plotHeight-D:d],this.shared&&1<o.length&&m&&(n?b[0]=m.chartX-f:b[1]=m.chartY-r)),b.map(Math.round)},u.prototype.getLabel=function(){var w,o=this,m=this.chart.styledMode,l=this.options,b=this.split&&this.allowShared,n="tooltip"+(C(l.className)?" "+l.className:""),r=l.style.pointerEvents||(!this.followPointer&&l.stickOnContact?"auto":"none"),f=function(){o.inContact=!0},T=function(j){var z=o.chart.hoverSeries;o.inContact=o.shouldStickOnContact()&&o.chart.pointer.inClass(j.relatedTarget,"highcharts-tooltip"),!o.inContact&&z&&z.onMouseOut&&z.onMouseOut()},D=this.chart.renderer;if(o.label){var d=!o.label.hasClass("highcharts-label");(b&&!d||!b&&d)&&o.destroy()}if(!this.label){if(this.outside){d=this.chart.options.chart.style;var R=rt.getRendererType();this.container=w=Y.doc.createElement("div"),w.className="highcharts-tooltip-container",L(w,{position:"absolute",top:"1px",pointerEvents:r,zIndex:Math.max(this.options.style.zIndex||0,(d&&d.zIndex||0)+3)}),F(w,"mouseenter",f),F(w,"mouseleave",T),Y.doc.body.appendChild(w),this.renderer=D=new R(w,0,0,d,void 0,void 0,D.styledMode)}if(b?this.label=D.g(n):(this.label=D.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,n).attr({padding:l.padding,r:l.borderRadius}),m||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth}).css(l.style).css({pointerEvents:r}).shadow(l.shadow)),m&&l.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"})),o.outside&&!o.split){var a=this.label,h=a.xSetter,A=a.ySetter;a.xSetter=function(j){h.call(a,o.distance),w.style.left=j+"px"},a.ySetter=function(j){A.call(a,o.distance),w.style.top=j+"px"}}this.label.on("mouseenter",f).on("mouseleave",T).attr({zIndex:8}).add()}return this.label},u.prototype.getPosition=function(o,m,l){var A,b=this.chart,n=this.distance,r={},f=b.inverted&&l.h||0,T=this.outside,w=T?K.documentElement.clientWidth-2*n:b.chartWidth,D=T?Math.max(K.body.scrollHeight,K.documentElement.scrollHeight,K.body.offsetHeight,K.documentElement.offsetHeight,K.documentElement.clientHeight):b.chartHeight,d=b.pointer.getChartPosition(),R=function(_){var G="x"===_;return[_,G?w:D,G?o:m].concat(T?[G?o*d.scaleX:m*d.scaleY,G?d.left-n+(l.plotX+b.plotLeft)*d.scaleX:d.top-n+(l.plotY+b.plotTop)*d.scaleY,0,G?w:D]:[G?o:m,G?l.plotX+b.plotLeft:l.plotY+b.plotTop,G?b.plotLeft:b.plotTop,G?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},a=R("y"),h=R("x");R=!!l.negative,!b.polar&&b.hoverSeries&&b.hoverSeries.yAxis&&b.hoverSeries.yAxis.reversed&&(R=!R);var j=!this.followPointer&&P(l.ttBelow,!b.inverted===R),z=function(_,G,U,tt,J,ot,at){var ft=T?"y"===_?n*d.scaleY:n*d.scaleX:n,mt=(U-tt)/2,gt=tt<J-n,ut=J+n+tt<G,ht=J-ft-U+mt;if(J=J+ft-mt,j&&ut)r[_]=J;else if(!j&&gt)r[_]=ht;else if(gt)r[_]=Math.min(at-tt,0>ht-f?ht:ht-f);else{if(!ut)return!1;r[_]=Math.max(ot,J+f+U>G?J:J+f)}},H=function(_,G,U,tt,J){var ot;return J<n||J>G-n?ot=!1:r[_]=J<U/2?1:J>G-tt/2?G-tt-2:J-U/2,ot},p=function(_){var G=a;a=h,h=G,A=_},N=function(){!1!==z.apply(0,a)?!1!==H.apply(0,h)||A||(p(!0),N()):A?r.x=r.y=0:(p(!0),N())};return(b.inverted||1<this.len)&&p(),N(),r},u.prototype.hide=function(o){var m=this;Q.clearTimeout(this.hideTimer),o=P(o,this.options.hideDelay),this.isHidden||(this.hideTimer=c(function(){m.getLabel().fadeOut(o&&void 0),m.isHidden=!0},o))},u.prototype.init=function(o,m){this.chart=o,this.options=m,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=m.split&&!o.inverted&&!o.polar,this.shared=m.shared||this.split,this.outside=P(m.outside,!(!o.scrollablePixelsX&&!o.scrollablePixelsY))},u.prototype.shouldStickOnContact=function(){return!(this.followPointer||!this.options.stickOnContact)},u.prototype.isStickyOnContact=function(){return!(!this.shouldStickOnContact()||!this.inContact)},u.prototype.move=function(o,m,l,b){var n=this,r=n.now,f=!1!==n.options.animation&&!n.isHidden&&(1<Math.abs(o-r.x)||1<Math.abs(m-r.y)),T=n.followPointer||1<n.len;S(r,{x:f?(2*r.x+o)/3:o,y:f?(r.y+m)/2:m,anchorX:T?void 0:f?(2*r.anchorX+l)/3:l,anchorY:T?void 0:f?(r.anchorY+b)/2:b}),n.getLabel().attr(r),n.drawTracker(),f&&(Q.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){n&&n.move(o,m,l,b)},32))},u.prototype.refresh=function(o,m){var l=this.chart,b=this.options,n=g(o),r=n[0],f=[],T=b.formatter||this.defaultFormatter,w=this.shared,D=l.styledMode,d={};if(b.enabled&&r.series){Q.clearTimeout(this.hideTimer),this.allowShared=!(!E(o)&&o.series&&o.series.noSharedTooltip),this.followPointer=!this.split&&r.series.tooltipOptions.followPointer;var R=(o=this.getAnchor(o,m))[0],a=o[1];if(w&&this.allowShared?(l.pointer.applyInactiveState(n),n.forEach(function(j){j.setState("hover"),f.push(j.getLabelConfig())}),(d={x:r.category,y:r.y}).points=f):d=r.getLabelConfig(),this.len=f.length,T=T.call(d,this),this.distance=P((w=r.series).tooltipOptions.distance,16),!1===T)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(T,n);else{var h=R,A=a;if(m&&l.pointer.isDirectTouch&&(h=m.chartX-l.plotLeft,A=m.chartY-l.plotTop),!l.polar&&!1!==w.options.clip&&!n.some(function(j){return j.series.shouldShowTooltip(h,A)}))return void this.hide();m=this.getLabel(),b.style.width&&!D||m.css({width:this.chart.spacingBox.width+"px"}),m.attr({text:T&&T.join?T.join(""):T}),m.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+P(r.colorIndex,w.colorIndex)),D||m.attr({stroke:b.borderColor||r.color||w.color||"#666666"}),this.updatePosition({plotX:R,plotY:a,negative:r.negative,ttBelow:r.ttBelow,h:o[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}M(this,"refresh")}},u.prototype.renderSplit=function(o,m){function l(ut,ht,V,q,st){return void 0===st&&(st=!0),V?(ht=tt?0:ft,ut=I(ut-q/2,_.left,_.right-q-(b.outside?J:0))):(ht-=ot,ut=I(ut=st?ut-q-H:ut+H,st?ut:_.left,_.right)),{x:ut,y:ht}}var b=this,n=b.chart,r=b.chart,f=r.chartWidth,T=r.chartHeight,w=r.plotHeight,D=r.plotLeft,d=r.plotTop,R=r.pointer,a=r.scrollablePixelsY;a=void 0===a?0:a;var A=r.scrollingContainer,j=(A=void 0===A?{scrollLeft:0,scrollTop:0}:A).scrollLeft;A=A.scrollTop;var z=r.styledMode,H=b.distance,p=b.options,N=b.options.positioner,_=b.outside&&"number"!=typeof r.scrollablePixelsX?K.documentElement.getBoundingClientRect():{left:j,right:j+f,top:A,bottom:A+T},G=b.getLabel(),U=this.renderer||n.renderer,tt=!(!n.xAxis[0]||!n.xAxis[0].opposite),J=(n=R.getChartPosition()).left;n=n.top;var ot=d+A,at=0,ft=w-a;k(o)&&(o=[!1,o]),o=o.slice(0,m.length+1).reduce(function(ut,ht,V){if(!1!==ht&&""!==ht){var q=(V=m[V-1]||{isHeader:!0,plotX:m[0].plotX,plotY:w,series:{}}).isHeader,st=q?b:V.series;ht=ht.toString();var ct=st.tt,dt=V.isHeader,yt=V.series,xt="highcharts-color-"+P(V.colorIndex,yt.colorIndex,"none");if(ct||(ct={padding:p.padding,r:p.borderRadius},z||(ct.fill=p.backgroundColor,ct["stroke-width"]=p.borderWidth),ct=U.label("",0,0,p[dt?"headerShape":"shape"],void 0,void 0,p.useHTML).addClass((dt?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+xt).attr(ct).add(G)),ct.isActive=!0,ct.attr({text:ht}),z||ct.css(p.style).shadow(p.shadow).attr({stroke:p.borderColor||V.color||yt.color||"#333333"}),ht=(dt=(st=st.tt=ct).getBBox()).width+st.strokeWidth(),q&&(ft+=at=dt.height,tt&&(ot-=at)),yt=void 0===(yt=V.plotX)?0:yt,xt=void 0===(xt=V.plotY)?0:xt,ct=V.series,V.isHeader){yt=D+yt;var St=d+w/2}else{var Et=ct.xAxis,kt=ct.yAxis;yt=Et.pos+I(yt,-H,Et.len+H),ct.shouldShowTooltip(0,kt.pos-d+xt,{ignoreX:!0})&&(St=kt.pos+xt)}yt=I(yt,_.left-H,_.right+H),"number"==typeof St?(dt=dt.height+1,xt=N?N.call(b,ht,dt,V):l(yt,St,q,ht),ut.push({align:N?0:void 0,anchorX:yt,anchorY:St,boxWidth:ht,point:V,rank:P(xt.rank,q?1:0),size:dt,target:xt.y,tt:st,x:xt.x})):st.isActive=!1}return ut},[]),!N&&o.some(function(ut){var ht=(b.outside?J:0)+ut.anchorX;return ht<_.left&&ht+ut.boxWidth<_.right||ht<J-_.left+ut.boxWidth&&_.right-ht>ht})&&(o=o.map(function(ut){var ht=l(ut.anchorX,ut.anchorY,ut.point.isHeader,ut.boxWidth,!1);return S(ut,{target:ht.y,x:ht.x})})),b.cleanSplit(),W(o,ft);var mt=J,gt=J;o.forEach(function(ut){var ht=ut.x,V=ut.boxWidth;(ut=ut.isHeader)||(b.outside&&J+ht<mt&&(mt=J+ht),!ut&&b.outside&&mt+V>gt&&(gt=J+ht))}),o.forEach(function(ut){var ht=ut.x,V=ut.anchorX,q=ut.pos,st=ut.point.isHeader;if(q={visibility:void 0===q?"hidden":"inherit",x:ht,y:q+ot,anchorX:V,anchorY:ut.anchorY},b.outside&&ht<V){var ct=J-mt;0<ct&&(st||(q.x=ht+ct,q.anchorX=V+ct),st&&(q.x=(gt-mt)/2,q.anchorX=V+ct))}ut.tt.attr(q)}),o=b.container,a=b.renderer,b.outside&&o&&a&&(r=G.getBBox(),a.setSize(r.width+r.x,r.height+r.y,!1),o.style.left=mt+"px",o.style.top=n+"px")},u.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var o=this.chart,m=this.label,l=this.shared?o.hoverPoints:o.hoverPoint;if(m&&l){var b={x:0,y:0,width:0,height:0};l=this.getAnchor(l);var n=m.getBBox();l[0]+=o.plotLeft-m.translateX,l[1]+=o.plotTop-m.translateY,b.x=Math.min(0,l[0]),b.y=Math.min(0,l[1]),b.width=0>l[0]?Math.max(Math.abs(l[0]),n.width-l[0]):Math.max(Math.abs(l[0]),n.width),b.height=0>l[1]?Math.max(Math.abs(l[1]),n.height-Math.abs(l[1])):Math.max(Math.abs(l[1]),n.height),this.tracker?this.tracker.attr(b):(this.tracker=m.renderer.rect(b).addClass("highcharts-tracker").add(m),o.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},u.prototype.styledModeFormat=function(o){return o.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},u.prototype.tooltipFooterHeaderFormatter=function(o,m){var l=o.series,b=l.tooltipOptions,n=l.xAxis,r=n&&n.dateTime,f=b.xDateFormat,T=b[m?"footerFormat":"headerFormat"];return M(this,"headerFormatter",n={isFooter:m,labelConfig:o},function(w){r&&!f&&v(o.key)&&(f=r.getXDateFormat(o.key,b.dateTimeLabelFormats)),r&&f&&(o.point&&o.point.tooltipDateKeys||["key"]).forEach(function(D){T=T.replace("{point."+D+"}","{point."+D+":"+f+"}")}),l.chart.styledMode&&(T=this.styledModeFormat(T)),w.text=it(T,{point:o,series:l},this.chart)}),n.text},u.prototype.update=function(o){this.destroy(),O(!0,this.chart.options.tooltip.userOptions,o),this.init(this.chart,O(!0,this.options,o))},u.prototype.updatePosition=function(o){var m=this.chart,l=this.options,b=m.pointer,n=this.getLabel();b=b.getChartPosition();var r=(l.positioner||this.getPosition).call(this,n.width,n.height,o),f=o.plotX+m.plotLeft;o=o.plotY+m.plotTop,this.outside&&(this.renderer.setSize(n.width+(l=l.borderWidth+2*this.distance),n.height+l,!1),(1!==b.scaleX||1!==b.scaleY)&&(L(this.container,{transform:"scale("+b.scaleX+", "+b.scaleY+")"}),f*=b.scaleX,o*=b.scaleY),f+=b.left-r.x,o+=b.top-r.y),this.move(Math.round(r.x),Math.round(r.y||0),f,o)},u}()}),Mt($,"Core/Series/Point.js",[$["Core/Renderer/HTML/AST.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=Y.animObject,K=et.defaultOptions,W=rt.format,F=Q.addEvent,I=Q.defined,L=Q.erase,C=Q.extend,y=Q.fireEvent,S=Q.getNestedProperty,M=Q.isArray,E=Q.isFunction,v=Q.isNumber,k=Q.isObject,O=Q.merge,P=Q.objectEach,g=Q.pick,c=Q.syncTimeout,u=Q.removeEvent,o=Q.uniqueKey;return function(){function m(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return m.prototype.animateBeforeDestroy=function(){var l=this,b={x:l.startXPos,opacity:0},n=l.getGraphicalProps();n.singular.forEach(function(r){l[r]=l[r].animate("dataLabel"===r?{x:l[r].startXPos,y:l[r].startYPos,opacity:0}:b)}),n.plural.forEach(function(r){l[r].forEach(function(f){f.element&&f.animate(C({x:l.startXPos},f.startYPos?{x:f.startXPos,y:f.startYPos}:{}))})})},m.prototype.applyOptions=function(l,b){var n=this.series,r=n.options.pointValKey||n.pointValKey;return l=m.prototype.optionsToObject.call(this,l),C(this,l),this.options=this.options?C(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,r&&(this.y=m.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=g(this.isValid&&!this.isValid(),null===this.x||!v(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===b&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),void 0===this.x&&n?this.x=void 0===b?n.autoIncrement():b:v(l.x)&&n.options.relativeXValue&&(this.x=n.autoIncrement(l.x)),this},m.prototype.destroy=function(){function l(){for(w in(b.graphic||b.dataLabel||b.dataLabels)&&(u(b),b.destroyElements()),b)b[w]=null}var b=this,n=b.series,r=n.chart;n=n.options.dataSorting;var w,f=r.hoverPoints,T=it(b.series.chart.renderer.globalAnimation);b.legendItem&&r.legend.destroyItem(b),f&&(b.setState(),L(f,b),f.length||(r.hoverPoints=null)),b===r.hoverPoint&&b.onMouseOut(),n&&n.enabled?(this.animateBeforeDestroy(),c(l,T.duration)):l(),r.pointCount--},m.prototype.destroyElements=function(l){var b=this;(l=b.getGraphicalProps(l)).singular.forEach(function(n){b[n]=b[n].destroy()}),l.plural.forEach(function(n){b[n].forEach(function(r){r.element&&r.destroy()}),delete b[n]})},m.prototype.firePointEvent=function(l,b,n){var r=this,f=this.series.options;(f.point.events[l]||r.options&&r.options.events&&r.options.events[l])&&r.importEvents(),"click"===l&&f.allowPointSelect&&(n=function(T){r.select&&r.select(null,T.ctrlKey||T.metaKey||T.shiftKey)}),y(r,l,b,n)},m.prototype.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",""):"")},m.prototype.getGraphicalProps=function(l){var f,b=this,n=[],r={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","upperGraphic","shadowGroup"),l.dataLabel&&n.push("dataLabel","dataLabelUpper","connector"),f=n.length;f--;){var T=n[f];b[T]&&r.singular.push(T)}return["dataLabel","connector"].forEach(function(w){var D=w+"s";l[w]&&b[D]&&r.plural.push(D)}),r},m.prototype.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}},m.prototype.getNestedProperty=function(l){if(l)return 0===l.indexOf("custom.")?S(l,this.options):this[l]},m.prototype.getZone=function(){var l=this.series,b=l.zones;l=l.zoneAxis||"y";var n,r=0;for(n=b[r];this[l]>=n.value;)n=b[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},m.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},m.prototype.init=function(l,b,n){return this.series=l,this.applyOptions(b,n),this.id=I(this.id)?this.id:o(),this.resolveColor(),l.chart.pointCount++,y(this,"afterInit"),this},m.prototype.optionsToObject=function(l){var b=this.series,n=b.options.keys,r=n||b.pointArrayMap||["y"],f=r.length,T={},w=0,D=0;if(v(l)||null===l)T[r[0]]=l;else if(M(l))for(!n&&l.length>f&&("string"==(b=typeof l[0])?T.name=l[0]:"number"===b&&(T.x=l[0]),w++);D<f;)n&&void 0===l[w]||(0<r[D].indexOf(".")?m.prototype.setNestedProperty(T,l[w],r[D]):T[r[D]]=l[w]),w++,D++;else"object"==typeof l&&(T=l,l.dataLabels&&(b._hasPointLabels=!0),l.marker&&(b._hasPointMarkers=!0));return T},m.prototype.resolveColor=function(){var l=this.series,b=l.chart.styledMode,n=l.chart.options.chart.colorCount;if(delete this.nonZonedColor,l.options.colorByPoint){if(!b){var r=(n=l.options.colors||l.chart.options.colors)[l.colorCounter];n=n.length}b=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)}else b||(r=l.color),b=l.colorIndex;this.colorIndex=g(this.options.colorIndex,b),this.color=g(this.options.color,r)},m.prototype.setNestedProperty=function(l,b,n){return n.split(".").reduce(function(r,f,T,w){return r[f]=w.length-1===T?b:k(r[f],!0)?r[f]:{},r[f]},l),l},m.prototype.tooltipFormatter=function(l){var b=this.series,n=b.tooltipOptions,r=g(n.valueDecimals,""),f=n.valuePrefix||"",T=n.valueSuffix||"";return b.chart.styledMode&&(l=b.chart.tooltip.styledModeFormat(l)),(b.pointArrayMap||["y"]).forEach(function(w){w="{point."+w,(f||T)&&(l=l.replace(RegExp(w+"}","g"),f+w+"}"+T)),l=l.replace(RegExp(w+"}","g"),w+":,."+r+"f}")}),W(l,{point:this,series:this.series},b.chart)},m.prototype.update=function(l,b,n,r){function f(){T.applyOptions(l);var h=D&&T.hasDummyGraphic;h=null===T.y?!h:h,D&&h&&(T.graphic=D.destroy(),delete T.hasDummyGraphic),k(l,!0)&&(D&&D.element&&l&&l.marker&&void 0!==l.marker.symbol&&(T.graphic=D.destroy()),l&&l.dataLabels&&T.dataLabel&&(T.dataLabel=T.dataLabel.destroy()),T.connector&&(T.connector=T.connector.destroy())),w.updateParallelArrays(T,a=T.index),R.data[a]=k(R.data[a],!0)||k(l,!0)?T.options:g(l,R.data[a]),w.isDirty=w.isDirtyData=!0,!w.fixedBox&&w.hasCartesianSeries&&(d.isDirtyBox=!0),"point"===R.legendType&&(d.isDirtyLegend=!0),b&&d.redraw(n)}var a,T=this,w=T.series,D=T.graphic,d=w.chart,R=w.options;b=g(b,!0),!1===r?f():T.firePointEvent("update",{options:l},f)},m.prototype.remove=function(l,b){this.series.removePoint(this.series.data.indexOf(this),l,b)},m.prototype.select=function(l,b){var n=this,r=n.series,f=r.chart;this.selectedStaging=l=g(l,!n.selected),n.firePointEvent(l?"select":"unselect",{accumulate:b},function(){n.selected=n.options.selected=l,r.options.data[r.data.indexOf(n)]=n.options,n.setState(l&&"select"),b||f.getSelectedPoints().forEach(function(T){var w=T.series;T.selected&&T!==n&&(T.selected=T.options.selected=!1,w.options.data[w.data.indexOf(T)]=T.options,T.setState(f.hoverPoints&&w.options.inactiveOtherPoints?"inactive":""),T.firePointEvent("unselect"))})}),delete this.selectedStaging},m.prototype.onMouseOver=function(l){var b=this.series.chart,n=b.pointer;l=l?n.normalize(l):n.getChartCoordinatesFromPoint(this,b.inverted),n.runPointActions(l,this)},m.prototype.onMouseOut=function(){var l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(b){b.setState()}),l.hoverPoints=l.hoverPoint=null},m.prototype.importEvents=function(){if(!this.hasImportedEvents){var l=this,b=O(l.series.options.point,l.options).events;l.events=b,P(b,function(n,r){E(n)&&F(l,r,n)}),this.hasImportedEvents=!0}},m.prototype.setState=function(l,b){var j,n=this.series,r=this.state,f=n.options.states[l||"normal"]||{},T=K.plotOptions[n.type].marker&&n.options.marker,D=T&&T.states&&T.states[l||"normal"]||{},R=this.marker||{},a=n.chart,h=T&&n.markerAttribs,A=n.halo,z=n.stateMarkerGraphic;if(!((l=l||"")===this.state&&!b||this.selected&&"select"!==l||!1===f.enabled||l&&(!1===D.enabled||T&&!1===T.enabled&&!1===D.enabled)||l&&R.states&&R.states[l]&&!1===R.states[l].enabled)){if(this.state=l,h&&(j=n.markerAttribs(this,l)),this.graphic&&!this.hasDummyGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),l&&this.graphic.addClass("highcharts-point-"+l),!a.styledMode){var H=n.pointAttribs(this,l),p=g(a.options.chart.animation,f.animation);n.options.inactiveOtherPoints&&v(H.opacity)&&((this.dataLabels||[]).forEach(function(N){N&&N.animate({opacity:H.opacity},p)}),this.connector&&this.connector.animate({opacity:H.opacity},p)),this.graphic.animate(H,p)}j&&this.graphic.animate(j,g(a.options.chart.animation,D.animation,T.animation)),z&&z.hide()}else l&&D&&(r=R.symbol||n.symbol,z&&z.currentSymbol!==r&&(z=z.destroy()),j&&(z?z[b?"animate":"attr"]({x:j.x,y:j.y}):r&&(n.stateMarkerGraphic=z=a.renderer.symbol(r,j.x,j.y,j.width,j.height).add(n.markerGroup),z.currentSymbol=r)),!a.styledMode&&z&&"inactive"!==this.state&&z.attr(n.pointAttribs(this,l))),z&&(z[l&&this.isInside?"show":"hide"](),z.element.point=this,z.addClass(this.getClassName(),!0));j=(z=this.graphic||z)&&z.visibility||"inherit",(f=f.halo)&&f.size&&z&&"hidden"!==j&&!this.isCluster?(A||(n.halo=A=a.renderer.path().add(z.parentGroup)),A.show()[b?"animate":"attr"]({d:this.haloPath(f.size)}),A.attr({class:"highcharts-halo highcharts-color-"+g(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:j,zIndex:-1}),A.point=this,a.styledMode||A.attr(C({fill:this.color||n.color,"fill-opacity":f.opacity},X.filterUserAttributes(f.attributes||{})))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.hide),y(this,"afterSetState",{state:l})}},m.prototype.haloPath=function(l){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-l,this.plotY-l,2*l,2*l)},m}()}),Mt($,"Core/Pointer.js",[$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Tooltip.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var Q=X.parse,it=Y.charts,K=Y.noop,W=rt.addEvent,F=rt.attr,I=rt.css,L=rt.defined,C=rt.extend,y=rt.find,S=rt.fireEvent,M=rt.isNumber,E=rt.isObject,v=rt.objectEach,k=rt.offset,O=rt.pick,P=rt.splat;return function(){function g(c,u){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=c,this.hasDragged=!1,this.options=u,this.init(c,u)}return g.prototype.applyInactiveState=function(c){var o,u=[];(c||[]).forEach(function(m){u.push(o=m.series),o.linkedParent&&u.push(o.linkedParent),o.linkedSeries&&(u=u.concat(o.linkedSeries)),o.navigatorSeries&&u.push(o.navigatorSeries)}),this.chart.series.forEach(function(m){-1===u.indexOf(m)?m.setState("inactive",!0):m.options.inactiveOtherPoints&&m.setAllPointsToState("inactive")})},g.prototype.destroy=function(){var c=this;this.eventsToUnbind.forEach(function(u){return u()}),this.eventsToUnbind=[],Y.chartCount||(g.unbindDocumentMouseUp&&(g.unbindDocumentMouseUp=g.unbindDocumentMouseUp()),g.unbindDocumentTouchEnd&&(g.unbindDocumentTouchEnd=g.unbindDocumentTouchEnd())),clearInterval(c.tooltipTimeout),v(c,function(u,o){c[o]=void 0})},g.prototype.drag=function(c){var u=this.chart,o=u.options.chart,m=this.zoomHor,l=this.zoomVert,b=u.plotLeft,n=u.plotTop,r=u.plotWidth,f=u.plotHeight,T=this.mouseDownX||0,w=this.mouseDownY||0,D=E(o.panning)?o.panning&&o.panning.enabled:o.panning,d=o.panKey&&c[o.panKey+"Key"],R=c.chartX,a=c.chartY,h=this.selectionMarker;if((!h||!h.touch)&&(R<b?R=b:R>b+r&&(R=b+r),a<n?a=n:a>n+f&&(a=n+f),this.hasDragged=Math.sqrt(Math.pow(T-R,2)+Math.pow(w-a,2)),10<this.hasDragged)){var A=u.isInsidePlot(T-b,w-n,{visiblePlotOnly:!0});!u.hasCartesianSeries&&!u.mapView||!this.zoomX&&!this.zoomY||!A||d||h||(this.selectionMarker=h=u.renderer.rect(b,n,m?1:r,l?1:f,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),u.styledMode||h.attr({fill:o.selectionMarkerFill||Q("#335cad").setOpacity(.25).get()})),h&&m&&(m=R-T,h.attr({width:Math.abs(m),x:(0<m?0:m)+T})),h&&l&&(m=a-w,h.attr({height:Math.abs(m),y:(0<m?0:m)+w})),A&&!h&&D&&u.pan(c,o.panning)}},g.prototype.dragStart=function(c){var u=this.chart;u.mouseIsDown=c.type,u.cancelClick=!1,u.mouseDownX=this.mouseDownX=c.chartX,u.mouseDownY=this.mouseDownY=c.chartY},g.prototype.drop=function(c){var u=this,o=this.chart,m=this.hasPinched;if(this.selectionMarker){var l=this.selectionMarker,b=l.attr?l.attr("x"):l.x,n=l.attr?l.attr("y"):l.y,r=l.attr?l.attr("width"):l.width,f=l.attr?l.attr("height"):l.height,T={originalEvent:c,xAxis:[],yAxis:[],x:b,y:n,width:r,height:f},w=!!o.mapView;(this.hasDragged||m)&&(o.axes.forEach(function(D){if(D.zoomEnabled&&L(D.min)&&(m||u[{xAxis:"zoomX",yAxis:"zoomY"}[D.coll]])&&M(b)&&M(n)){var d=D.horiz,R="touchend"===c.type?D.minPixelPadding:0,a=D.toValue((d?b:n)+R);d=D.toValue((d?b+r:n+f)-R),T[D.coll].push({axis:D,min:Math.min(a,d),max:Math.max(a,d)}),w=!0}}),w&&S(o,"selection",T,function(D){o.zoom(C(D,m?{animation:!1}:null))})),M(o.index)&&(this.selectionMarker=this.selectionMarker.destroy()),m&&this.scaleGroups()}o&&M(o.index)&&(I(o.container,{cursor:o._cursor}),o.cancelClick=10<this.hasDragged,o.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},g.prototype.findNearestKDPoint=function(c,u,o){var b,m=this.chart,l=m.hoverPoint;return m=m.tooltip,l&&m&&m.isStickyOnContact()?l:(c.forEach(function(n){var r=!(n.noSharedTooltip&&u)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(o,r),(r=E(n,!0)&&n.series)&&!(r=!E(b,!0))){var f=b.dist-n.dist,T=(n.series.group&&n.series.group.zIndex)-(b.series.group&&b.series.group.zIndex);r=0<(0!=(r=b.distX-n.distX)&&u?r:0!==f?f:0!==T?T:b.series.index>n.series.index?-1:1)}r&&(b=n)}),b)},g.prototype.getChartCoordinatesFromPoint=function(c,u){var o=c.series,m=o.xAxis;o=o.yAxis;var l=c.shapeArgs;if(m&&o){var b=O(c.clientX,c.plotX),n=c.plotY||0;return c.isNode&&l&&M(l.x)&&M(l.y)&&(b=l.x,n=l.y),u?{chartX:o.len+o.pos-n,chartY:m.len+m.pos-b}:{chartX:b+m.pos,chartY:n+o.pos}}if(l&&l.x&&l.y)return{chartX:l.x,chartY:l.y}},g.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,u=k(c);this.chartPosition={left:u.left,top:u.top,scaleX:1,scaleY:1};var o=c.offsetWidth;return c=c.offsetHeight,2<o&&2<c&&(this.chartPosition.scaleX=u.width/o,this.chartPosition.scaleY=u.height/c),this.chartPosition},g.prototype.getCoordinates=function(c){var u={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(o){u[o.isXAxis?"xAxis":"yAxis"].push({axis:o,value:o.toValue(c[o.horiz?"chartX":"chartY"])})}),u},g.prototype.getHoverData=function(c,u,o,m,l,b){var n=[];m=!(!m||!c);var r={chartX:b?b.chartX:void 0,chartY:b?b.chartY:void 0,shared:l};S(this,"beforeGetHoverData",r);var f=u&&!u.stickyTracking?[u]:o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&w.stickyTracking}),T=m||!b?c:this.findNearestKDPoint(f,l,b);return u=T&&T.series,T&&(l&&!u.noSharedTooltip?(f=o.filter(function(w){return r.filter?r.filter(w):w.visible&&!(!l&&w.directTouch)&&O(w.options.enableMouseTracking,!0)&&!w.noSharedTooltip})).forEach(function(w){var D=y(w.points,function(d){return d.x===T.x&&!d.isNull});E(D)&&(w.chart.isBoosting&&(D=w.getPoint(D)),n.push(D))}):n.push(T)),S(this,"afterGetHoverData",r={hoverPoint:T}),{hoverPoint:r.hoverPoint,hoverSeries:u,hoverPoints:n}},g.prototype.getPointFromEvent=function(c){c=c.target;for(var u;c&&!u;)u=c.point,c=c.parentNode;return u},g.prototype.onTrackerMouseOut=function(c){c=c.relatedTarget||c.toElement;var u=this.chart.hoverSeries;this.isDirectTouch=!1,!u||!c||u.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+u.index)&&this.inClass(c,"highcharts-tracker")||u.onMouseOut()},g.prototype.inClass=function(c,u){for(var o;c;){if(o=F(c,"class")){if(-1!==o.indexOf(u))return!0;if(-1!==o.indexOf("highcharts-container"))return!1}c=c.parentElement}},g.prototype.init=function(c,u){this.options=u,this.chart=c,this.runChartClick=!(!u.chart.events||!u.chart.events.click),this.pinchDown=[],this.lastValidTouch={},et&&(c.tooltip=new et(c,u.tooltip),this.followTouchMove=O(u.tooltip.followTouchMove,!0)),this.setDOMEvents()},g.prototype.normalize=function(c,u){var o=c.touches,m=o?o.length?o.item(0):O(o.changedTouches,c.changedTouches)[0]:c;return u||(u=this.getChartPosition()),o=m.pageX-u.left,m=m.pageY-u.top,o/=u.scaleX,m/=u.scaleY,C(c,{chartX:Math.round(o),chartY:Math.round(m)})},g.prototype.onContainerClick=function(c){var u=this.chart,o=u.hoverPoint;c=this.normalize(c);var m=u.plotLeft,l=u.plotTop;u.cancelClick||(o&&this.inClass(c.target,"highcharts-tracker")?(S(o.series,"click",C(c,{point:o})),u.hoverPoint&&o.firePointEvent("click",c)):(C(c,this.getCoordinates(c)),u.isInsidePlot(c.chartX-m,c.chartY-l,{visiblePlotOnly:!0})&&S(u,"click",c)))},g.prototype.onContainerMouseDown=function(c){var u=1==(1&(c.buttons||c.button));c=this.normalize(c),Y.isFirefox&&0!==c.button&&this.onContainerMouseMove(c),(void 0===c.button||u)&&(this.zoomOption(c),u&&c.preventDefault&&c.preventDefault(),this.dragStart(c))},g.prototype.onContainerMouseLeave=function(c){var u=it[O(g.hoverChartIndex,-1)],o=this.chart.tooltip;o&&o.shouldStickOnContact()&&this.inClass(c.relatedTarget,"highcharts-tooltip-container")||(c=this.normalize(c),u&&(c.relatedTarget||c.toElement)&&(u.pointer.reset(),u.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset())},g.prototype.onContainerMouseEnter=function(c){delete this.chartPosition},g.prototype.onContainerMouseMove=function(c){var u=this.chart;c=this.normalize(c),this.setHoverChartIndex(),c.preventDefault||(c.returnValue=!1),("mousedown"===u.mouseIsDown||this.touchSelect(c))&&this.drag(c),u.openMenu||!this.inClass(c.target,"highcharts-tracker")&&!u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||(this.inClass(c.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(c))},g.prototype.onDocumentTouchEnd=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.onContainerTouchMove=function(c){this.touchSelect(c)?this.onContainerMouseMove(c):this.touch(c)},g.prototype.onContainerTouchStart=function(c){this.touchSelect(c)?this.onContainerMouseDown(c):(this.zoomOption(c),this.touch(c,!0))},g.prototype.onDocumentMouseMove=function(c){var u=this.chart,o=this.chartPosition;c=this.normalize(c,o);var m=u.tooltip;!o||m&&m.isStickyOnContact()||u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop,{visiblePlotOnly:!0})||this.inClass(c.target,"highcharts-tracker")||this.reset()},g.prototype.onDocumentMouseUp=function(c){var u=it[O(g.hoverChartIndex,-1)];u&&u.pointer.drop(c)},g.prototype.pinch=function(c){var u=this,o=u.chart,m=u.pinchDown,l=c.touches||[],b=l.length,n=u.lastValidTouch,r=u.hasZoom,f={},T=1===b&&(u.inClass(c.target,"highcharts-tracker")&&o.runTrackerClick||u.runChartClick),w={},D=u.selectionMarker;1<b?u.initiated=!0:1===b&&this.followTouchMove&&(u.initiated=!1),r&&u.initiated&&!T&&!1!==c.cancelable&&c.preventDefault(),[].map.call(l,function(d){return u.normalize(d)}),"touchstart"===c.type?([].forEach.call(l,function(d,R){m[R]={chartX:d.chartX,chartY:d.chartY}}),n.x=[m[0].chartX,m[1]&&m[1].chartX],n.y=[m[0].chartY,m[1]&&m[1].chartY],o.axes.forEach(function(d){if(d.zoomEnabled){var R=o.bounds[d.horiz?"h":"v"],a=d.minPixelPadding,h=d.toPixels(Math.min(O(d.options.min,d.dataMin),d.dataMin)),A=d.toPixels(Math.max(O(d.options.max,d.dataMax),d.dataMax)),j=Math.max(h,A);R.min=Math.min(d.pos,Math.min(h,A)-a),R.max=Math.max(d.pos+d.len,j+a)}}),u.res=!0):u.followTouchMove&&1===b?this.runPointActions(u.normalize(c)):m.length&&(S(o,"touchpan",{originalEvent:c},function(){D||(u.selectionMarker=D=C({destroy:K,touch:!0},o.plotBox)),u.pinchTranslate(m,l,f,D,w,n),u.hasPinched=r,u.scaleGroups(f,w)}),u.res&&(u.res=!1,this.reset(!1,0)))},g.prototype.pinchTranslate=function(c,u,o,m,l,b){this.zoomHor&&this.pinchTranslateDirection(!0,c,u,o,m,l,b),this.zoomVert&&this.pinchTranslateDirection(!1,c,u,o,m,l,b)},g.prototype.pinchTranslateDirection=function(c,u,o,m,l,b,n,r){var f=this.chart,T=c?"x":"y",w=c?"X":"Y",D="chart"+w,d=c?"width":"height",R=f["plot"+(c?"Left":"Top")],a=f.inverted,h=f.bounds[c?"h":"v"],A=1===u.length,j=u[0][D],z=!A&&u[1][D];u=function(){"number"==typeof G&&20<Math.abs(j-z)&&(N=r||Math.abs(_-G)/Math.abs(j-z)),p=(R-_)/N+j,H=f["plot"+(c?"Width":"Height")]/N};var H,p,N=r||1,_=o[0][D],G=!A&&o[1][D];if(u(),(o=p)<h.min){o=h.min;var U=!0}else o+H>h.max&&(o=h.max-H,U=!0);U?(_-=.8*(_-n[T][0]),"number"==typeof G&&(G-=.8*(G-n[T][1])),u()):n[T]=[_,G],a||(b[T]=p-R,b[d]=H),b=a?1/N:N,l[d]=H,l[T]=o,m[a?c?"scaleY":"scaleX":"scale"+w]=N,m["translate"+w]=b*R+(_-b*j)},g.prototype.reset=function(c,u){var o=this.chart,m=o.hoverSeries,l=o.hoverPoint,b=o.hoverPoints,n=o.tooltip,r=n&&n.shared?b:l;c&&r&&P(r).forEach(function(f){f.series.isCartesian&&void 0===f.plotX&&(c=!1)}),c?n&&r&&P(r).length&&(n.refresh(r),n.shared&&b?b.forEach(function(f){f.setState(f.state,!0),f.series.isCartesian&&(f.series.xAxis.crosshair&&f.series.xAxis.drawCrosshair(null,f),f.series.yAxis.crosshair&&f.series.yAxis.drawCrosshair(null,f))}):l&&(l.setState(l.state,!0),o.axes.forEach(function(f){f.crosshair&&l.series[f.coll]===f&&f.drawCrosshair(null,l)}))):(l&&l.onMouseOut(),b&&b.forEach(function(f){f.setState()}),m&&m.onMouseOut(),n&&n.hide(u),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),o.axes.forEach(function(f){f.hideCrosshair()}),this.hoverX=o.hoverPoints=o.hoverPoint=null)},g.prototype.runPointActions=function(c,u){var o=this.chart,m=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,l=!!m&&m.shared,b=u||o.hoverPoint,n=b&&b.series||o.hoverSeries;u=this.getHoverData(b,n,o.series,(!c||"touchmove"!==c.type)&&(!!u||n&&n.directTouch&&this.isDirectTouch),l,c),b=u.hoverPoint;var r=u.hoverPoints;u=(n=u.hoverSeries)&&n.tooltipOptions.followPointer&&!n.tooltipOptions.split;var f=l&&n&&!n.noSharedTooltip;if(b&&(b!==o.hoverPoint||m&&m.isHidden)){if((o.hoverPoints||[]).forEach(function(T){-1===r.indexOf(T)&&T.setState()}),o.hoverSeries!==n&&n.onMouseOver(),this.applyInactiveState(r),(r||[]).forEach(function(T){T.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!b.series)return;o.hoverPoints=r,o.hoverPoint=b,b.firePointEvent("mouseOver",void 0,function(){m&&b&&m.refresh(f?r:b,c)})}else u&&m&&!m.isHidden&&(l=m.getAnchor([{}],c),o.isInsidePlot(l[0],l[1],{visiblePlotOnly:!0})&&m.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=W(o.container.ownerDocument,"mousemove",function(T){var w=it[g.hoverChartIndex];w&&w.pointer.onDocumentMouseMove(T)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(T){var D,w=O((T.crosshair||{}).snap,!0);w&&((D=o.hoverPoint)&&D.series[T.coll]===T||(D=y(r,function(d){return d.series&&d.series[T.coll]===T}))),D||!w?T.drawCrosshair(c,D):T.hideCrosshair()})},g.prototype.scaleGroups=function(c,u){var o=this.chart;o.series.forEach(function(m){var l=c||m.getPlotBox();m.group&&(m.xAxis&&m.xAxis.zoomEnabled||o.mapView)&&(m.group.attr(l),m.markerGroup&&(m.markerGroup.attr(l),m.markerGroup.clip(u?o.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(l))}),o.clipRect.attr(u||o.clipBox)},g.prototype.setDOMEvents=function(){var c=this,u=this.chart.container,o=u.ownerDocument;u.onmousedown=this.onContainerMouseDown.bind(this),u.onmousemove=this.onContainerMouseMove.bind(this),u.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(W(u,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(W(u,"mouseleave",this.onContainerMouseLeave.bind(this))),g.unbindDocumentMouseUp||(g.unbindDocumentMouseUp=W(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var m=this.chart.renderTo.parentElement;m&&"BODY"!==m.tagName;)this.eventsToUnbind.push(W(m,"scroll",function(){delete c.chartPosition})),m=m.parentElement;Y.hasTouch&&(this.eventsToUnbind.push(W(u,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(W(u,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),g.unbindDocumentTouchEnd||(g.unbindDocumentTouchEnd=W(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},g.prototype.setHoverChartIndex=function(){var c=this.chart,u=Y.charts[O(g.hoverChartIndex,-1)];u&&u!==c&&u.pointer.onContainerMouseLeave({relatedTarget:c.container}),u&&u.mouseIsDown||(g.hoverChartIndex=c.index)},g.prototype.touch=function(c,u){var o=this.chart;if(this.setHoverChartIndex(),1===c.touches.length)if(c=this.normalize(c),o.isInsidePlot(c.chartX-o.plotLeft,c.chartY-o.plotTop,{visiblePlotOnly:!0})&&!o.openMenu){if(u&&this.runPointActions(c),"touchmove"===c.type)var l=!!(u=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(u[0].chartX-c.chartX,2)+Math.pow(u[0].chartY-c.chartY,2));O(l,!0)&&this.pinch(c)}else u&&this.reset();else 2===c.touches.length&&this.pinch(c)},g.prototype.touchSelect=function(c){return!(!this.chart.options.chart.zoomBySingleTouch||!c.touches||1!==c.touches.length)},g.prototype.zoomOption=function(c){var u=this.chart,o=u.options.chart;u=u.inverted;var m=o.zoomType||"";/touch/.test(c.type)&&(m=O(o.pinchType,m)),this.zoomX=c=/x/.test(m),this.zoomY=o=/y/.test(m),this.zoomHor=c&&!u||o&&u,this.zoomVert=o&&!u||c&&u,this.hasZoom=c||o},g}()}),Mt($,"Core/MSPointer.js",[$["Core/Globals.js"],$["Core/Pointer.js"],$["Core/Utilities.js"]],function(X,Y,et){function rt(){var v=[];return v.item=function(k){return this[k]},y(M,function(k){v.push({pageX:k.pageX,pageY:k.pageY,target:k.target})}),v}function Q(v,k,O,P){var g=K[Y.hoverChartIndex||NaN];"touch"!==v.pointerType&&v.pointerType!==v.MSPOINTER_TYPE_TOUCH||!g||(g=g.pointer,P(v),g[k]({type:O,target:v.currentTarget,preventDefault:F,touches:rt()}))}var v,it=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)}),K=X.charts,W=X.doc,F=X.noop,I=X.win,L=et.addEvent,C=et.css,y=et.objectEach,S=et.removeEvent,M={},E=!!I.PointerEvent;return function(v){function k(){return null!==v&&v.apply(this,arguments)||this}return it(k,v),k.isRequired=function(){return!(X.hasTouch||!I.PointerEvent&&!I.MSPointerEvent)},k.prototype.batchMSEvents=function(O){O(this.chart.container,E?"pointerdown":"MSPointerDown",this.onContainerPointerDown),O(this.chart.container,E?"pointermove":"MSPointerMove",this.onContainerPointerMove),O(W,E?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},k.prototype.destroy=function(){this.batchMSEvents(S),v.prototype.destroy.call(this)},k.prototype.init=function(O,P){v.prototype.init.call(this,O,P),this.hasZoom&&C(O.container,{"-ms-touch-action":"none","touch-action":"none"})},k.prototype.onContainerPointerDown=function(O){Q(O,"onContainerTouchStart","touchstart",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY,target:P.currentTarget}})},k.prototype.onContainerPointerMove=function(O){Q(O,"onContainerTouchMove","touchmove",function(P){M[P.pointerId]={pageX:P.pageX,pageY:P.pageY},M[P.pointerId].target||(M[P.pointerId].target=P.currentTarget)})},k.prototype.onDocumentPointerUp=function(O){Q(O,"onDocumentTouchEnd","touchend",function(P){delete M[P.pointerId]})},k.prototype.setDOMEvents=function(){v.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(L)},k}(Y)}),Mt($,"Core/Legend/Legend.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.animObject,W=X.setAnimation,F=Y.format;X=et.isFirefox;var I=et.marginNames;et=et.win;var L=Q.distribute,C=it.addEvent,y=it.createElement,S=it.css,M=it.defined,E=it.discardElement,v=it.find,k=it.fireEvent,O=it.isNumber,P=it.merge,g=it.pick,c=it.relativeLength,u=it.stableSort,o=it.syncTimeout;return Q=it.wrap,it=function(){function m(l,b){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options=void 0,this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=l,this.init(l,b)}return m.prototype.init=function(l,b){this.chart=l,this.setOptions(b),b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},m.prototype.setOptions=function(l){var b=g(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=P(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop||0,this.itemMarginBottom=l.itemMarginBottom||0,this.padding=b,this.initialItemY=b-5,this.symbolWidth=g(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0},m.prototype.update=function(l,b){var n=this.chart;this.setOptions(P(!0,this.options,l)),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,g(b,!0)&&n.redraw(),k(this,"afterUpdate")},m.prototype.colorizeItem=function(l,b){if(l.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var n=this.options,r=l.legendItem,f=l.legendLine,T=l.legendSymbol,w=this.itemHiddenStyle.color;n=b?n.itemStyle.color:w;var D=b&&l.color||w,d=l.options&&l.options.marker,R={fill:D};r&&r.css({fill:n,color:n}),f&&f.attr({stroke:D}),T&&(d&&T.isMarker&&(R=l.pointAttribs(),b||(R.stroke=R.fill=w)),T.attr(R))}k(this,"afterColorizeItem",{item:l,visible:b})},m.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},m.prototype.positionItem=function(l){var b=this,n=this.options,r=n.symbolPadding,f=!n.rtl,T=l._legendItemPos;n=T[0],T=T[1];var w=l.checkbox,D=l.legendGroup;D&&D.element&&(r={translateX:f?n:this.legendWidth-n-2*r-4,translateY:T},f=function(){k(b,"afterPositionItem",{item:l})},M(D.translateY)?D.animate(r,void 0,f):(D.attr(r),f())),w&&(w.x=n,w.y=T)},m.prototype.destroyItem=function(l){var b=l.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(n){l[n]&&(l[n]=l[n].destroy())}),b&&E(l.checkbox)},m.prototype.destroy=function(){function l(b){this[b]&&(this[b]=this[b].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(l,b)}),"clipRect up down pager nav box title group".split(" ").forEach(l,this),this.display=null},m.prototype.positionCheckboxes=function(){var l=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,n=this.titleHeight;if(l){var r=l.translateY;this.allItems.forEach(function(f){var T=f.checkbox;if(T){var w=r+n+T.y+(this.scrollOffset||0)+3;S(T,{left:l.translateX+f.checkboxOffset+T.x-20+"px",top:w+"px",display:this.proximate||w>r-6&&w<r+b-6?"":"none"})}},this)}},m.prototype.renderTitle=function(){var l=this.options,b=this.padding,n=l.title,r=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,b-3,b-4,void 0,void 0,void 0,l.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+"px"}),r=(l=this.title.getBBox()).height,this.offsetWidth=l.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r},m.prototype.setText=function(l){var b=this.options;l.legendItem.attr({text:b.labelFormat?F(b.labelFormat,l,this.chart):b.labelFormatter.call(l)})},m.prototype.renderItem=function(l){var b=this.chart,n=b.renderer,r=this.options,f=this.symbolWidth,T=r.symbolPadding||0,w=this.itemStyle,D=this.itemHiddenStyle,d="horizontal"===r.layout?g(r.itemDistance,20):0,R=!r.rtl,a=!l.series,h=!a&&l.series.drawLegendSymbol?l.series:l,A=h.options,j=this.createCheckboxForItem&&A&&A.showCheckbox,z=r.useHTML,H=l.options.className,p=l.legendItem;A=f+T+d+(j?20:0),p||(l.legendGroup=n.g("legend-item").addClass("highcharts-"+h.type+"-series highcharts-color-"+l.colorIndex+(H?" "+H:"")+(a?" highcharts-series-"+l.index:"")).attr({zIndex:1}).add(this.scrollGroup),l.legendItem=p=n.text("",R?f+T:-T,this.baseline||0,z),b.styledMode||p.css(P(l.visible?w:D)),p.attr({align:R?"left":"right",zIndex:2}).add(l.legendGroup),this.baseline||(this.fontMetrics=n.fontMetrics(b.styledMode?12:w.fontSize,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline),this.symbolHeight=r.symbolHeight||this.fontMetrics.f,r.squareSymbol&&(this.symbolWidth=g(r.symbolWidth,Math.max(this.symbolHeight,16)),A=this.symbolWidth+T+d+(j?20:0),R&&p.attr("x",this.symbolWidth+T))),h.drawLegendSymbol(this,l),this.setItemEvents&&this.setItemEvents(l,p,z)),j&&!l.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(l),this.colorizeItem(l,l.visible),!b.styledMode&&w.width||p.css({width:(r.itemWidth||this.widthOption||b.spacingBox.width)-A+"px"}),this.setText(l),b=p.getBBox(),n=this.fontMetrics&&this.fontMetrics.h||0,l.itemWidth=l.checkboxOffset=r.itemWidth||l.legendItemWidth||b.width+A,this.maxItemWidth=Math.max(this.maxItemWidth,l.itemWidth),this.totalItemWidth+=l.itemWidth,this.itemHeight=l.itemHeight=Math.round(l.legendItemHeight||(b.height>1.5*n?b.height:n))},m.prototype.layoutItem=function(l){var b=this.options,n=this.padding,r="horizontal"===b.layout,f=l.itemHeight,T=this.itemMarginBottom,w=this.itemMarginTop,D=r?g(b.itemDistance,20):0,d=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>d?this.maxItemWidth:l.itemWidth,r&&this.itemX-n+b>d&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=w+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=w+this.itemY+T,this.lastLineHeight=Math.max(f,this.lastLineHeight),l._legendItemPos=[this.itemX,this.itemY],r?this.itemX+=b:(this.itemY+=w+f+T,this.lastLineHeight=f),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(l.checkbox?0:D):b)+n,this.offsetWidth)},m.prototype.getAllItems=function(){var l=[];return this.chart.series.forEach(function(b){var n=b&&b.options;b&&g(n.showInLegend,!M(n.linkedTo)&&void 0,!0)&&(l=l.concat(b.legendItems||("point"===n.legendType?b.data:b)))}),k(this,"afterGetAllItems",{allItems:l}),l},m.prototype.getAlignment=function(){var l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)},m.prototype.adjustMargins=function(l,b){var n=this.chart,r=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,w){T.test(f)&&!M(l[w])&&(n[I[w]]=Math.max(n[I[w]],n.legend[(w+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][w]*r[w%2?"x":"y"]+g(r.margin,12)+b[w]+(n.titleOffset[w]||0)))})},m.prototype.proximatePositions=function(){var l=this.chart,b=[],n="left"===this.options.align;this.allItems.forEach(function(r){var f,T=n;if(r.yAxis){r.xAxis.options.reversed&&(T=!T),r.points&&(f=v(T?r.points:r.points.slice(0).reverse(),function(D){return O(D.plotY)})),T=this.itemMarginTop+r.legendItem.getBBox().height+this.itemMarginBottom;var w=r.yAxis.top-l.plotTop;r.visible?(f=f?f.plotY:r.yAxis.height,f+=w-.3*T):f=w+r.yAxis.height,b.push({target:f,size:T,item:r})}},this),L(b,l.plotHeight).forEach(function(r){r.item._legendItemPos&&(r.item._legendItemPos[1]=l.plotTop-l.spacing[0]+r.pos)})},m.prototype.render=function(){var l=this.chart,b=l.renderer,n=this.options,r=this.padding,f=this.getAllItems(),T=this.group,w=this.box;this.itemX=r,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=c(n.width,l.spacingBox.width-r);var D=l.spacingBox.width-2*r-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(D/=2),this.maxLegendWidth=this.widthOption||D,T||(this.group=T=b.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(T),this.scrollGroup=b.g().add(this.contentGroup)),this.renderTitle(),u(f,function(R,a){return(R.options&&R.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)}),n.reversed&&f.reverse(),this.allItems=f,this.display=D=!!f.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,f.forEach(this.renderItem,this),f.forEach(this.layoutItem,this),f=(this.widthOption||this.offsetWidth)+r;var d=this.lastItemY+this.lastLineHeight+this.titleHeight;d=this.handleOverflow(d),d+=r,w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(T)),l.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),0<f&&0<d&&w[w.placed?"animate":"attr"](w.crisp.call({},{x:0,y:0,width:f,height:d},w.strokeWidth())),w[D?"show":"hide"](),l.styledMode&&"none"===T.getStyle("display")&&(f=d=0),this.legendWidth=f,this.legendHeight=d,D&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")},m.prototype.align=function(l){void 0===l&&(l=this.chart.spacingBox);var b=this.chart,n=this.options,r=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<b.titleOffset[0]?r+=b.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<b.titleOffset[2]&&(r-=b.titleOffset[2]),r!==l.y&&(l=P(l,{y:r})),b.hasRendered||(this.group.placed=!1),this.group.align(P(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,l)},m.prototype.handleOverflow=function(l){var p,N,b=this,n=this.chart,r=n.renderer,f=this.options,T=f.y,w="top"===f.verticalAlign,D=this.padding,d=f.maxHeight,R=f.navigation,a=g(R.animation,!0),h=R.arrowSize||12,A=this.pages,j=this.allItems,z=function(U){"number"==typeof U?G.attr({height:U}):G&&(b.clipRect=G.destroy(),b.contentGroup.clip()),b.contentGroup.div&&(b.contentGroup.div.style.clip=U?"rect("+D+"px,9999px,"+(D+U)+"px,0)":"auto")},H=function(U){return b[U]=r.circle(0,0,1.3*h).translate(h/2,h/2).add(_),n.styledMode||b[U].attr("fill","rgba(0,0,0,0.0001)"),b[U]};T=n.spacingBox.height+(w?-T:T)-D;var _=this.nav,G=this.clipRect;return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(T/=2),d&&(T=Math.min(T,d)),A.length=0,l&&0<T&&l>T&&!1!==R.enabled?(this.clipHeight=p=Math.max(T-20-this.titleHeight-D,0),this.currentPage=g(this.currentPage,1),this.fullHeight=l,j.forEach(function(U,tt){var J=U._legendItemPos[1],ot=Math.round(U.legendItem.getBBox().height),at=A.length;(!at||J-A[at-1]>p&&(N||J)!==A[at-1])&&(A.push(N||J),at++),U.pageIx=at-1,N&&(j[tt-1].pageIx=at-1),tt===j.length-1&&J+ot-A[at-1]>p&&ot<=p&&(A.push(J),U.pageIx=at),J!==N&&(N=J)}),G||(G=b.clipRect=r.clipRect(0,D,9999,0),b.contentGroup.clip(G)),z(p),_||(this.nav=_=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,h,h).add(_),H("upTracker").on("click",function(){b.scroll(-1,a)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!n.styledMode&&R.style&&this.pager.css(R.style),this.pager.add(_),this.down=r.symbol("triangle-down",0,0,h,h).add(_),H("downTracker").on("click",function(){b.scroll(1,a)})),b.scroll(0),l=T):_&&(z(),this.nav=_.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l},m.prototype.scroll=function(l,b){var n=this,r=this.chart,f=this.pages,T=f.length,w=this.clipHeight,D=this.options.navigation,d=this.pager,R=this.padding,a=this.currentPage+l;a>T&&(a=T),0<a&&(void 0!==b&&W(b,r),this.nav.attr({translateX:R,translateY:w+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(h){h.attr({class:1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),d.attr({text:a+"/"+T}),[this.down,this.downTracker].forEach(function(h){h.attr({x:18+this.pager.getBBox().width,class:a===T?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),r.styledMode||(this.up.attr({fill:1===a?D.inactiveColor:D.activeColor}),this.upTracker.css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===T?D.inactiveColor:D.activeColor}),this.downTracker.css({cursor:a===T?"default":"pointer"})),this.scrollOffset=-f[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes(),l=K(g(b,r.renderer.globalAnimation,!0)),o(function(){k(n,"afterScroll",{currentPage:a})},l.duration))},m.prototype.setItemEvents=function(l,b,n){var r=this,f=r.chart.renderer.boxWrapper,T=l instanceof rt,w="highcharts-legend-"+(T?"point":"series")+"-active",D=r.chart.styledMode,d=function(R){r.allItems.forEach(function(a){l!==a&&[a].concat(a.linkedSeries||[]).forEach(function(h){h.setState(R,!T)})})};(n?[b,l.legendSymbol]:[l.legendGroup]).forEach(function(R){R&&R.on("mouseover",function(){l.visible&&d("inactive"),l.setState("hover"),l.visible&&f.addClass(w),D||b.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||b.css(P(l.visible?r.itemStyle:r.itemHiddenStyle)),d(""),f.removeClass(w),l.setState()}).on("click",function(a){var h=function(){l.setVisible&&l.setVisible(),d(l.visible?"inactive":"")};f.removeClass(w),a={browserEvent:a},l.firePointEvent?l.firePointEvent("legendItemClick",a,h):k(l,"legendItemClick",a,h)})})},m.prototype.createCheckboxForItem=function(l){l.checkbox=y("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),C(l.checkbox,"click",function(b){k(l.series||l,"checkboxClick",{checked:b.target.checked,item:l},function(){l.select()})})},m}(),(/Trident\/7\.0/.test(et.navigator&&et.navigator.userAgent)||X)&&Q(it.prototype,"positionItem",function(m,l){var b=this,n=function(){l._legendItemPos&&m.call(b,l)};n(),b.bubbleLegend||setTimeout(n)}),it}),Mt($,"Core/Series/SeriesRegistry.js",[$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=Y.defaultOptions,it=rt.error,K=rt.extendClass,W=rt.merge;return function(I){function L(C,y){var S=Q.plotOptions||{},M=y.defaultOptions;y.prototype.pointClass||(y.prototype.pointClass=et),y.prototype.type=C,M&&(S[C]=M),I.seriesTypes[C]=y}I.seriesTypes=X.seriesTypes,I.getSeries=function(C,y){void 0===y&&(y={});var S=C.options.chart,M=I.seriesTypes[S=y.type||S.type||S.defaultSeriesType||""];return I||it(17,!0,C,{missingModuleFor:S}),"function"==typeof(S=new M).init&&S.init(C,y),S},I.registerSeriesType=L,I.seriesType=function(C,y,S,M,E){var v=Q.plotOptions||{};return v[C]=W(v[y=y||""],S),L(C,K(I.seriesTypes[y]||function(){},M)),I.seriesTypes[C].prototype.type=C,E&&(I.seriesTypes[C].prototype.pointClass=K(et,E)),I.seriesTypes[C]}}(F||(F={})),F}),Mt($,"Core/Chart/Chart.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/FormatUtilities.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/Legend.js"],$["Core/MSPointer.js"],$["Core/DefaultOptions.js"],$["Core/Pointer.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Time.js"],$["Core/Utilities.js"],$["Core/Renderer/HTML/AST.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M){var E=X.animate,v=X.animObject,k=X.setAnimation,O=et.numberFormat,P=rt.registerEventOptions,g=Q.charts,c=Q.doc,u=Q.marginNames,o=Q.svg,m=Q.win,l=W.defaultOptions,b=W.defaultTime,n=L.seriesTypes,r=S.addEvent,f=S.attr,T=S.cleanRecursively,w=S.createElement,D=S.css,d=S.defined,R=S.discardElement,a=S.erase,h=S.error,A=S.extend,j=S.find,z=S.fireEvent,H=S.getStyle,p=S.isArray,N=S.isNumber,_=S.isObject,G=S.isString,U=S.merge,tt=S.objectEach,J=S.pick,ot=S.pInt,at=S.relativeLength,ft=S.removeEvent,mt=S.splat,gt=S.syncTimeout,ut=S.uniqueKey;return X=function(){function ht(V,q,st){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(V,q,st)}return ht.chart=function(V,q,st){return new ht(V,q,st)},ht.prototype.getArgs=function(V,q,st){G(V)||V.nodeName?(this.renderTo=V,this.init(q,st)):this.init(V,q)},ht.prototype.init=function(V,q){var st=V.plotOptions||{};z(this,"init",{args:arguments},function(){var ct=U(l,V),dt=ct.chart;tt(ct.plotOptions,function(yt,xt){_(yt)&&(yt.tooltip=st[xt]&&U(st[xt].tooltip)||void 0)}),ct.tooltip.userOptions=V.chart&&V.chart.forExport&&V.tooltip.userOptions||V.tooltip,this.userOptions=V,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=q,this.isResizing=0,this.options=ct,this.axes=[],this.series=[],this.time=V.time&&Object.keys(V.time).length?new y(V.time):Q.time,this.numberFormatter=dt.numberFormatter||O,this.styledMode=dt.styledMode,this.hasCartesianSeries=dt.showAxes,this.index=g.length,g.push(this),Q.chartCount++,P(this,dt),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,z(this,"afterInit"),this.firstRender()})},ht.prototype.initSeries=function(V){var q=this.options.chart,st=n[q=V.type||q.type||q.defaultSeriesType];return st||h(17,!0,this,{missingModuleFor:q}),"function"==typeof(q=new st).init&&q.init(this,V),q},ht.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(V){V.points||V.data||!V.enabledDataSorting||V.setData(V.options.data,!1)})},ht.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(V,q){return V.linkedSeries.length||q.linkedSeries.length?q.linkedSeries.length-V.linkedSeries.length:0})},ht.prototype.orderSeries=function(V){var q=this.series;V=V||0;for(var st=q.length;V<st;++V)q[V]&&(q[V].index=V,q[V].name=q[V].getName())},ht.prototype.isInsidePlot=function(V,q,st){void 0===st&&(st={});var ct=this.inverted,dt=this.plotBox,yt=this.plotLeft,xt=this.plotTop,St=this.scrollablePlotBox,Et=0,kt=0;st.visiblePlotOnly&&this.scrollingContainer&&(Et=(kt=this.scrollingContainer).scrollLeft,kt=kt.scrollTop);var Ct=st.series;if(dt=st.visiblePlotOnly&&St||dt,V={x:St=st.inverted?q:V,y:q=st.inverted?V:q,isInsidePlot:!0},!st.ignoreX){var Ot=Ct&&(ct?Ct.yAxis:Ct.xAxis)||{pos:yt,len:1/0};(St=st.paneCoordinates?Ot.pos+St:yt+St)>=Math.max(Et+yt,Ot.pos)&&St<=Math.min(Et+yt+dt.width,Ot.pos+Ot.len)||(V.isInsidePlot=!1)}return!st.ignoreY&&V.isInsidePlot&&(ct=Ct&&(ct?Ct.xAxis:Ct.yAxis)||{pos:xt,len:1/0},(st=st.paneCoordinates?ct.pos+q:xt+q)>=Math.max(kt+xt,ct.pos)&&st<=Math.min(kt+xt+dt.height,ct.pos+ct.len)||(V.isInsidePlot=!1)),z(this,"afterIsInsidePlot",V),V.isInsidePlot},ht.prototype.redraw=function(V){z(this,"beforeRedraw");var q=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ct=this.pointer,dt=this.legend,yt=this.userOptions.legend,xt=this.renderer,St=xt.isHidden(),Et=[],kt=this.isDirtyBox,Ct=this.isDirtyLegend;for(this.setResponsive&&this.setResponsive(!1),k(!!this.hasRendered&&V,this),St&&this.temporaryDisplay(),this.layOutTitles(),V=st.length;V--;){var Ot=st[V];if(Ot.options.stacking||Ot.options.centerInCategory){var Pt=!0;if(Ot.isDirty){var Lt=!0;break}}}if(Lt)for(V=st.length;V--;)(Ot=st[V]).options.stacking&&(Ot.isDirty=!0);st.forEach(function(Tt){Tt.isDirty&&("point"===Tt.options.legendType?("function"==typeof Tt.updateTotals&&Tt.updateTotals(),Ct=!0):yt&&(yt.labelFormatter||yt.labelFormat)&&(Ct=!0)),Tt.isDirtyData&&z(Tt,"updatedData")}),Ct&&dt&&dt.options.enabled&&(dt.render(),this.isDirtyLegend=!1),Pt&&this.getStacks(),q.forEach(function(Tt){Tt.updateNames(),Tt.setScale()}),this.getMargins(),q.forEach(function(Tt){Tt.isDirty&&(kt=!0)}),q.forEach(function(Tt){var zt=Tt.min+","+Tt.max;Tt.extKey!==zt&&(Tt.extKey=zt,Et.push(function(){z(Tt,"afterSetExtremes",A(Tt.eventArgs,Tt.getExtremes())),delete Tt.eventArgs})),(kt||Pt)&&Tt.redraw()}),kt&&this.drawChartBox(),z(this,"predraw"),st.forEach(function(Tt){(kt||Tt.isDirty)&&Tt.visible&&Tt.redraw(),Tt.isDirtyData=!1}),ct&&ct.reset(!0),xt.draw(),z(this,"redraw"),z(this,"render"),St&&this.temporaryDisplay(!0),Et.forEach(function(Tt){Tt.call()})},ht.prototype.get=function(V){function q(yt){return yt.id===V||yt.options&&yt.options.id===V}for(var st=this.series,ct=j(this.axes,q)||j(this.series,q),dt=0;!ct&&dt<st.length;dt++)ct=j(st[dt].points||[],q);return ct},ht.prototype.getAxes=function(){var V=this,q=this.options,st=q.xAxis=mt(q.xAxis||{});q=q.yAxis=mt(q.yAxis||{}),z(this,"getAxes"),st.forEach(function(ct,dt){ct.index=dt,ct.isX=!0}),q.forEach(function(ct,dt){ct.index=dt}),st.concat(q).forEach(function(ct){new Y(V,ct)}),z(this,"afterGetAxes")},ht.prototype.getSelectedPoints=function(){return this.series.reduce(function(V,q){return q.getPointsCollection().forEach(function(st){J(st.selectedStaging,st.selected)&&V.push(st)}),V},[])},ht.prototype.getSelectedSeries=function(){return this.series.filter(function(V){return V.selected})},ht.prototype.setTitle=function(V,q,st){this.applyDescription("title",V),this.applyDescription("subtitle",q),this.applyDescription("caption",void 0),this.layOutTitles(st)},ht.prototype.applyDescription=function(V,q){var st=this,ct="title"===V?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};ct=this.options[V]=U(!this.styledMode&&{style:ct},this.options[V],q);var dt=this[V];dt&&q&&(this[V]=dt=dt.destroy()),ct&&!dt&&((dt=this.renderer.text(ct.text,0,0,ct.useHTML).attr({align:ct.align,class:"highcharts-"+V,zIndex:ct.zIndex||4}).add()).update=function(yt){st[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[V]](yt)},this.styledMode||dt.css(ct.style),this[V]=dt)},ht.prototype.layOutTitles=function(V){var q=[0,0,0],st=this.renderer,ct=this.spacingBox;["title","subtitle","caption"].forEach(function(yt){var kt,xt=this[yt],St=this.options[yt],Et=St.verticalAlign||"top";if(yt="title"===yt?"top"===Et?-3:0:"top"===Et?q[0]+2:0,xt){this.styledMode||(kt=St.style&&St.style.fontSize),kt=st.fontMetrics(kt,xt).b,xt.css({width:(St.width||ct.width+(St.widthAdjust||0))+"px"});var Ct=Math.round(xt.getBBox(St.useHTML).height);xt.align(A({y:"bottom"===Et?kt:yt+kt,height:Ct},St),!1,"spacingBox"),St.floating||("top"===Et?q[0]=Math.ceil(q[0]+Ct):"bottom"===Et&&(q[2]=Math.ceil(q[2]+Ct)))}},this),q[0]&&"top"===(this.options.title.verticalAlign||"top")&&(q[0]+=this.options.title.margin),q[2]&&"bottom"===this.options.caption.verticalAlign&&(q[2]+=this.options.caption.margin);var dt=!this.titleOffset||this.titleOffset.join(",")!==q.join(",");this.titleOffset=q,z(this,"afterLayOutTitles"),!this.isDirtyBox&&dt&&(this.isDirtyBox=this.isDirtyLegend=dt,this.hasRendered&&J(V,!0)&&this.isDirtyBox&&this.redraw())},ht.prototype.getChartSize=function(){var V=this.options.chart,q=V.width;V=V.height;var st=this.renderTo;d(q)||(this.containerWidth=H(st,"width")),d(V)||(this.containerHeight=H(st,"height")),this.chartWidth=Math.max(0,q||this.containerWidth||600),this.chartHeight=Math.max(0,at(V,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},ht.prototype.temporaryDisplay=function(V){var q=this.renderTo;if(V)for(;q&&q.style;)q.hcOrigStyle&&(D(q,q.hcOrigStyle),delete q.hcOrigStyle),q.hcOrigDetached&&(c.body.removeChild(q),q.hcOrigDetached=!1),q=q.parentNode;else for(;q&&q.style&&(c.body.contains(q)||q.parentNode||(q.hcOrigDetached=!0,c.body.appendChild(q)),("none"===H(q,"display",!1)||q.hcOricDetached)&&(q.hcOrigStyle={display:q.style.display,height:q.style.height,overflow:q.style.overflow},V={display:"block",overflow:"hidden"},q!==this.renderTo&&(V.height=0),D(q,V),q.offsetWidth||q.style.setProperty("display","block","important")),(q=q.parentNode)!==c.body););},ht.prototype.setClassName=function(V){this.container.className="highcharts-container "+(V||"")},ht.prototype.getContainer=function(){var ct,V=this.options,q=V.chart,st=ut(),dt=this.renderTo;dt||(this.renderTo=dt=q.renderTo),G(dt)&&(this.renderTo=dt=c.getElementById(dt)),dt||h(13,!0,this);var yt=ot(f(dt,"data-highcharts-chart"));N(yt)&&g[yt]&&g[yt].hasRendered&&g[yt].destroy(),f(dt,"data-highcharts-chart",this.index),dt.innerHTML=M.emptyHTML,q.skipClone||dt.offsetWidth||this.temporaryDisplay(),this.getChartSize(),yt=this.chartWidth;var xt=this.chartHeight;if(D(dt,{overflow:"hidden"}),this.styledMode||(ct=A({position:"relative",overflow:"hidden",width:yt+"px",height:xt+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},q.style||{})),this.container=st=w("div",{id:st},ct,dt),this._cursor=st.style.cursor,this.renderer=new(q.renderer||!o?I.getRendererType(q.renderer):C)(st,yt,xt,void 0,q.forExport,V.exporting&&V.exporting.allowHTML,this.styledMode),k(void 0,this),this.setClassName(q.className),this.styledMode)for(var St in V.defs)this.renderer.definition(V.defs[St]);else this.renderer.setStyle(q.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")},ht.prototype.getMargins=function(V){var q=this.spacing,st=this.margin,ct=this.titleOffset;this.resetMargins(),ct[0]&&!d(st[0])&&(this.plotTop=Math.max(this.plotTop,ct[0]+q[0])),ct[2]&&!d(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ct[2]+q[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,q),z(this,"getMargins"),V||this.getAxisMargins()},ht.prototype.getAxisMargins=function(){var V=this,q=V.axisOffset=[0,0,0,0],st=V.colorAxis,ct=V.margin,dt=function(yt){yt.forEach(function(xt){xt.visible&&xt.getOffset()})};V.hasCartesianSeries?dt(V.axes):st&&st.length&&dt(st),u.forEach(function(yt,xt){d(ct[xt])||(V[yt]+=q[xt])}),V.setChartSize()},ht.prototype.reflow=function(V){var q=this,st=q.options.chart,ct=q.renderTo,dt=d(st.width)&&d(st.height),yt=st.width||H(ct,"width");st=st.height||H(ct,"height"),ct=V?V.target:m,delete q.pointer.chartPosition,!dt&&!q.isPrinting&&yt&&st&&(ct===m||ct===c)&&((yt!==q.containerWidth||st!==q.containerHeight)&&(S.clearTimeout(q.reflowTimeout),q.reflowTimeout=gt(function(){q.container&&q.setSize(void 0,void 0,!1)},V?100:0)),q.containerWidth=yt,q.containerHeight=st)},ht.prototype.setReflow=function(V){var q=this;!1===V||this.unbindReflow?!1===V&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=r(m,"resize",function(st){q.options&&q.reflow(st)}),r(this,"destroy",this.unbindReflow))},ht.prototype.setSize=function(V,q,st){var ct=this,dt=ct.renderer;ct.isResizing+=1,k(st,ct),st=dt.globalAnimation,ct.oldChartHeight=ct.chartHeight,ct.oldChartWidth=ct.chartWidth,void 0!==V&&(ct.options.chart.width=V),void 0!==q&&(ct.options.chart.height=q),ct.getChartSize(),ct.styledMode||(st?E:D)(ct.container,{width:ct.chartWidth+"px",height:ct.chartHeight+"px"},st),ct.setChartSize(!0),dt.setSize(ct.chartWidth,ct.chartHeight,st),ct.axes.forEach(function(yt){yt.isDirty=!0,yt.setScale()}),ct.isDirtyLegend=!0,ct.isDirtyBox=!0,ct.layOutTitles(),ct.getMargins(),ct.redraw(st),ct.oldChartHeight=null,z(ct,"resize"),gt(function(){ct&&z(ct,"endResize",null,function(){--ct.isResizing})},v(st).duration)},ht.prototype.setChartSize=function(V){var Et,kt,Ct,Ot,q=this.inverted,st=this.renderer,ct=this.chartWidth,dt=this.chartHeight,yt=this.options.chart,xt=this.spacing,St=this.clipOffset;this.plotLeft=Et=Math.round(this.plotLeft),this.plotTop=kt=Math.round(this.plotTop),this.plotWidth=Ct=Math.max(0,Math.round(ct-Et-this.marginRight)),this.plotHeight=Ot=Math.max(0,Math.round(dt-kt-this.marginBottom)),this.plotSizeX=q?Ot:Ct,this.plotSizeY=q?Ct:Ot,this.plotBorderWidth=yt.plotBorderWidth||0,this.spacingBox=st.spacingBox={x:xt[3],y:xt[0],width:ct-xt[3]-xt[1],height:dt-xt[0]-xt[2]},this.plotBox=st.plotBox={x:Et,y:kt,width:Ct,height:Ot},q=2*Math.floor(this.plotBorderWidth/2),ct=Math.ceil(Math.max(q,St[3])/2),dt=Math.ceil(Math.max(q,St[0])/2),this.clipBox={x:ct,y:dt,width:Math.floor(this.plotSizeX-Math.max(q,St[1])/2-ct),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(q,St[2])/2-dt))},V||(this.axes.forEach(function(Pt){Pt.setAxisSize(),Pt.setAxisTranslation()}),st.alignElements()),z(this,"afterSetChartSize",{skipAxes:V})},ht.prototype.resetMargins=function(){z(this,"resetMargins");var V=this,q=V.options.chart;["margin","spacing"].forEach(function(st){var ct=q[st],dt=_(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(yt,xt){V[st][xt]=J(q[st+yt],dt[xt])})}),u.forEach(function(st,ct){V[st]=J(V.margin[ct],V.spacing[ct])}),V.axisOffset=[0,0,0,0],V.clipOffset=[0,0,0,0]},ht.prototype.drawChartBox=function(){var ne,V=this.options.chart,q=this.renderer,st=this.chartWidth,ct=this.chartHeight,dt=this.styledMode,yt=this.plotBGImage,xt=V.backgroundColor,St=V.plotBackgroundColor,Et=V.plotBackgroundImage,kt=this.plotLeft,Ct=this.plotTop,Ot=this.plotWidth,Pt=this.plotHeight,Lt=this.plotBox,Tt=this.clipRect,zt=this.clipBox,Ht=this.chartBackground,Rt=this.plotBackground,Vt=this.plotBorder,Ft="animate";if(Ht||(this.chartBackground=Ht=q.rect().addClass("highcharts-background").add(),Ft="attr"),dt)var Zt=ne=Ht.strokeWidth();else ne=(Zt=V.borderWidth||0)+(V.shadow?8:0),xt={fill:xt||"none"},(Zt||Ht["stroke-width"])&&(xt.stroke=V.borderColor,xt["stroke-width"]=Zt),Ht.attr(xt).shadow(V.shadow);Ht[Ft]({x:ne/2,y:ne/2,width:st-ne-Zt%2,height:ct-ne-Zt%2,r:V.borderRadius}),Ft="animate",Rt||(Ft="attr",this.plotBackground=Rt=q.rect().addClass("highcharts-plot-background").add()),Rt[Ft](Lt),dt||(Rt.attr({fill:St||"none"}).shadow(V.plotShadow),Et&&(yt?(Et!==yt.attr("href")&&yt.attr("href",Et),yt.animate(Lt)):this.plotBGImage=q.image(Et,kt,Ct,Ot,Pt).add())),Tt?Tt.animate({width:zt.width,height:zt.height}):this.clipRect=q.clipRect(zt),Ft="animate",Vt||(Ft="attr",this.plotBorder=Vt=q.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),dt||Vt.attr({stroke:V.plotBorderColor,"stroke-width":V.plotBorderWidth||0,fill:"none"}),Vt[Ft](Vt.crisp({x:kt,y:Ct,width:Ot,height:Pt},-Vt.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")},ht.prototype.propFromSeries=function(){var ct,dt,yt,V=this,q=V.options.chart,st=V.options.series;["inverted","angular","polar"].forEach(function(xt){for(dt=n[q.type||q.defaultSeriesType],yt=q[xt]||dt&&dt.prototype[xt],ct=st&&st.length;!yt&&ct--;)(dt=n[st[ct].type])&&dt.prototype[xt]&&(yt=!0);V[xt]=yt})},ht.prototype.linkSeries=function(){var V=this,q=V.series;q.forEach(function(st){st.linkedSeries.length=0}),q.forEach(function(st){var ct=st.options.linkedTo;G(ct)&&(ct=":previous"===ct?V.series[st.index-1]:V.get(ct))&&ct.linkedParent!==st&&(ct.linkedSeries.push(st),st.linkedParent=ct,ct.enabledDataSorting&&st.setDataSortingOptions(),st.visible=J(st.options.visible,ct.options.visible,st.visible))}),z(this,"afterLinkSeries")},ht.prototype.renderSeries=function(){this.series.forEach(function(V){V.translate(),V.render()})},ht.prototype.renderLabels=function(){var V=this,q=V.options.labels;q.items&&q.items.forEach(function(st){var ct=A(q.style,st.style),dt=ot(ct.left)+V.plotLeft,yt=ot(ct.top)+V.plotTop+12;delete ct.left,delete ct.top,V.renderer.text(st.html,dt,yt).attr({zIndex:2}).css(ct).add()})},ht.prototype.render=function(){var V=this.axes,q=this.colorAxis,st=this.renderer,ct=this.options,dt=function(kt){kt.forEach(function(Ct){Ct.visible&&Ct.render()})},yt=0;this.setTitle(),this.legend=new it(this,ct.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),ct=this.plotWidth,V.some(function(kt){if(kt.horiz&&kt.visible&&kt.options.labels.enabled&&kt.series.length)return yt=21,!0});var xt=this.plotHeight=Math.max(this.plotHeight-yt,0);V.forEach(function(kt){kt.setScale()}),this.getAxisMargins();var St=1.1<ct/this.plotWidth,Et=1.05<xt/this.plotHeight;(St||Et)&&(V.forEach(function(kt){(kt.horiz&&St||!kt.horiz&&Et)&&kt.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?dt(V):q&&q.length&&dt(q),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},ht.prototype.addCredits=function(V){var q=this,st=U(!0,this.options.credits,V);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(m.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),q.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ct){q.credits=q.credits.destroy(),q.addCredits(ct)})},ht.prototype.destroy=function(){var yt,V=this,q=V.axes,st=V.series,ct=V.container,dt=ct&&ct.parentNode;for(z(V,"destroy"),V.renderer.forExport?a(g,V):g[V.index]=void 0,Q.chartCount--,V.renderTo.removeAttribute("data-highcharts-chart"),ft(V),yt=q.length;yt--;)q[yt]=q[yt].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),yt=st.length;yt--;)st[yt]=st[yt].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(xt){var St=V[xt];St&&St.destroy&&(V[xt]=St.destroy())}),ct&&(ct.innerHTML=M.emptyHTML,ft(ct),dt&&R(ct)),tt(V,function(xt,St){delete V[St]})},ht.prototype.firstRender=function(){var V=this,q=V.options;(!V.isReadyToRender||V.isReadyToRender())&&(V.getContainer(),V.resetMargins(),V.setChartSize(),V.propFromSeries(),V.getAxes(),(p(q.series)?q.series:[]).forEach(function(st){V.initSeries(st)}),V.linkSeries(),V.setSeriesData(),z(V,"beforeRender"),F&&(V.pointer=K.isRequired()?new K(V,q):new F(V,q)),V.render(),V.pointer.getChartPosition(),!V.renderer.imgCount&&!V.hasLoaded&&V.onload(),V.temporaryDisplay(!0))},ht.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(V){V&&void 0!==this.index&&V.apply(this,[this])},this),z(this,"load"),z(this,"render"),d(this.index)&&this.setReflow(this.options.chart.reflow),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0},ht.prototype.warnIfA11yModuleNotLoaded=function(){var V=this;setTimeout(function(){var q=V&&V.options;!q||V.accessibility||q.accessibility&&!1===q.accessibility.enabled||h('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,V)},100)},ht.prototype.addSeries=function(V,q,st){var dt,ct=this;return V&&(q=J(q,!0),z(ct,"addSeries",{options:V},function(){dt=ct.initSeries(V),ct.isDirtyLegend=!0,ct.linkSeries(),dt.enabledDataSorting&&dt.setData(V.data,!1),z(ct,"afterAddSeries",{series:dt}),q&&ct.redraw(st)})),dt},ht.prototype.addAxis=function(V,q,st,ct){return this.createAxis(q?"xAxis":"yAxis",{axis:V,redraw:st,animation:ct})},ht.prototype.addColorAxis=function(V,q,st){return this.createAxis("colorAxis",{axis:V,redraw:q,animation:st})},ht.prototype.createAxis=function(V,q){return V=new Y(this,U(q.axis,{index:this[V].length,isX:"xAxis"===V})),J(q.redraw,!0)&&this.redraw(q.animation),V},ht.prototype.showLoading=function(V){var q=this,st=q.options,ct=st.loading,dt=function(){yt&&D(yt,{left:q.plotLeft+"px",top:q.plotTop+"px",width:q.plotWidth+"px",height:q.plotHeight+"px"})},yt=q.loadingDiv,xt=q.loadingSpan;yt||(q.loadingDiv=yt=w("div",{className:"highcharts-loading highcharts-loading-hidden"},null,q.container)),xt||(q.loadingSpan=xt=w("span",{className:"highcharts-loading-inner"},null,yt),r(q,"redraw",dt)),yt.className="highcharts-loading",M.setElementHTML(xt,J(V,st.lang.loading,"")),q.styledMode||(D(yt,A(ct.style,{zIndex:10})),D(xt,ct.labelStyle),q.loadingShown||(D(yt,{opacity:0,display:""}),E(yt,{opacity:ct.style.opacity||.5},{duration:ct.showDuration||0}))),q.loadingShown=!0,dt()},ht.prototype.hideLoading=function(){var V=this.options,q=this.loadingDiv;q&&(q.className="highcharts-loading highcharts-loading-hidden",this.styledMode||E(q,{opacity:0},{duration:V.loading.hideDuration||100,complete:function(){D(q,{display:"none"})}})),this.loadingShown=!1},ht.prototype.update=function(V,q,st,ct){var Et,kt,dt=this,yt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},xt=V.isResponsiveOptions,St=[];z(dt,"update",{options:V}),xt||dt.setResponsive(!1,!0),V=T(V,dt.options),dt.userOptions=U(dt.userOptions,V);var Ct=V.chart;if(Ct){if(U(!0,dt.options.chart,Ct),"className"in Ct&&dt.setClassName(Ct.className),"reflow"in Ct&&dt.setReflow(Ct.reflow),"inverted"in Ct||"polar"in Ct||"type"in Ct){dt.propFromSeries();var Ot=!0}"alignTicks"in Ct&&(Ot=!0),"events"in Ct&&P(this,Ct),tt(Ct,function(Pt,Lt){-1!==dt.propsRequireUpdateSeries.indexOf("chart."+Lt)&&(Et=!0),-1!==dt.propsRequireDirtyBox.indexOf(Lt)&&(dt.isDirtyBox=!0),-1!==dt.propsRequireReflow.indexOf(Lt)&&(xt?dt.isDirtyBox=!0:kt=!0)}),!dt.styledMode&&Ct.style&&dt.renderer.setStyle(dt.options.chart.style||{})}!dt.styledMode&&V.colors&&(this.options.colors=V.colors),V.time&&(this.time===b&&(this.time=new y(V.time)),U(!0,dt.options.time,V.time)),tt(V,function(Pt,Lt){dt[Lt]&&"function"==typeof dt[Lt].update?dt[Lt].update(Pt,!1):"function"==typeof dt[yt[Lt]]?dt[yt[Lt]](Pt):"colors"!==Lt&&-1===dt.collectionsWithUpdate.indexOf(Lt)&&U(!0,dt.options[Lt],V[Lt]),"chart"!==Lt&&-1!==dt.propsRequireUpdateSeries.indexOf(Lt)&&(Et=!0)}),this.collectionsWithUpdate.forEach(function(Pt){if(V[Pt]){var Lt=[];dt[Pt].forEach(function(Tt,zt){Tt.options.isInternal||Lt.push(J(Tt.options.index,zt))}),mt(V[Pt]).forEach(function(Tt,zt){var Rt,Ht=d(Tt.id);Ht&&(Rt=dt.get(Tt.id)),!Rt&&dt[Pt]&&(Rt=dt[Pt][Lt?Lt[zt]:zt])&&Ht&&d(Rt.options.id)&&(Rt=void 0),Rt&&Rt.coll===Pt&&(Rt.update(Tt,!1),st&&(Rt.touched=!0)),!Rt&&st&&dt.collectionsWithInit[Pt]&&(dt.collectionsWithInit[Pt][0].apply(dt,[Tt].concat(dt.collectionsWithInit[Pt][1]||[]).concat([!1])).touched=!0)}),st&&dt[Pt].forEach(function(Tt){Tt.touched||Tt.options.isInternal?delete Tt.touched:St.push(Tt)})}}),St.forEach(function(Pt){Pt.chart&&Pt.remove&&Pt.remove(!1)}),Ot&&dt.axes.forEach(function(Pt){Pt.update({},!1)}),Et&&dt.getSeriesOrderByLinks().forEach(function(Pt){Pt.chart&&Pt.update({},!1)},this),Ot=Ct&&Ct.width,Ct=Ct&&(G(Ct.height)?at(Ct.height,Ot||dt.chartWidth):Ct.height),kt||N(Ot)&&Ot!==dt.chartWidth||N(Ct)&&Ct!==dt.chartHeight?dt.setSize(Ot,Ct,ct):J(q,!0)&&dt.redraw(ct),z(dt,"afterUpdate",{options:V,redraw:q,animation:ct})},ht.prototype.setSubtitle=function(V,q){this.applyDescription("subtitle",V),this.layOutTitles(q)},ht.prototype.setCaption=function(V,q){this.applyDescription("caption",V),this.layOutTitles(q)},ht.prototype.showResetZoom=function(){function V(){q.zoomOut()}var q=this,st=l.lang,ct=q.options.chart.resetZoomButton,dt=ct.theme,yt="chart"===ct.relativeTo||"spacingBox"===ct.relativeTo?null:"scrollablePlotBox";z(this,"beforeShowResetZoom",null,function(){q.resetZoomButton=q.renderer.button(st.resetZoom,null,null,V,dt).attr({align:ct.position.align,title:st.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(ct.position,!1,yt)}),z(this,"afterShowResetZoom")},ht.prototype.zoomOut=function(){z(this,"selection",{resetSelection:!0},this.zoom)},ht.prototype.zoom=function(V){var yt,q=this,st=q.pointer,ct=q.inverted?st.mouseDownX:st.mouseDownY,dt=!1;!V||V.resetSelection?(q.axes.forEach(function(St){yt=St.zoom()}),st.initiated=!1):V.xAxis.concat(V.yAxis).forEach(function(St){var Et=St.axis,kt=q.inverted?Et.left:Et.top,Ot=Et.isXAxis,Pt=!1;(!Ot&&ct>=kt&&ct<=(q.inverted?kt+Et.width:kt+Et.height)||Ot||!d(ct))&&(Pt=!0),st[Ot?"zoomX":"zoomY"]&&Pt&&(yt=Et.zoom(St.min,St.max),Et.displayBtn&&(dt=!0))});var xt=q.resetZoomButton;dt&&!xt?q.showResetZoom():!dt&&_(xt)&&(q.resetZoomButton=xt.destroy()),yt&&q.redraw(J(q.options.chart.animation,V&&V.animation,100>q.pointCount))},ht.prototype.pan=function(V,q){var st=this,ct=st.hoverPoints;q="object"==typeof q?q:{enabled:q,type:"x"};var dt=st.options.chart,yt=st.options.mapNavigation&&st.options.mapNavigation.enabled;dt&&dt.panning&&(dt.panning=q);var St,xt=q.type;z(this,"pan",{originalEvent:V},function(){ct&&ct.forEach(function(Ct){Ct.setState()});var Et=st.xAxis;"xy"===xt?Et=Et.concat(st.yAxis):"y"===xt&&(Et=st.yAxis);var kt={};Et.forEach(function(Ct){if(Ct.options.panningEnabled&&!Ct.options.isInternal){var Ot=Ct.horiz,Pt=V[Ot?"chartX":"chartY"],Lt=st[Ot=Ot?"mouseDownX":"mouseDownY"],Tt=Ct.minPointOffset||0,zt=Ct.reversed&&!st.inverted||!Ct.reversed&&st.inverted?-1:1,Ht=Ct.getExtremes(),Rt=Ct.toValue(Lt-Pt,!0)+Tt*zt,Vt=Ct.toValue(Lt+Ct.len-Pt,!0)-(Tt*zt||Ct.isXAxis&&Ct.pointRangePadding||0),ne=Vt<Rt;zt=Ct.hasVerticalPanning(),Lt=ne?Vt:Rt,Rt=ne?Rt:Vt;var Ft=Ct.panningState;!zt||Ct.isXAxis||Ft&&!Ft.isDirty||Ct.series.forEach(function(Zt){var ue=Zt.getProcessedData(!0);ue=Zt.getExtremes(ue.yData,!0),Ft||(Ft={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),N(ue.dataMin)&&N(ue.dataMax)&&(Ft.startMin=Math.min(J(Zt.options.threshold,1/0),ue.dataMin,Ft.startMin),Ft.startMax=Math.max(J(Zt.options.threshold,-1/0),ue.dataMax,Ft.startMax))}),zt=Math.min(J(Ft&&Ft.startMin,Ht.dataMin),Tt?Ht.min:Ct.toValue(Ct.toPixels(Ht.min)-Ct.minPixelPadding)),Vt=Math.max(J(Ft&&Ft.startMax,Ht.dataMax),Tt?Ht.max:Ct.toValue(Ct.toPixels(Ht.max)+Ct.minPixelPadding)),Ct.panningState=Ft,Ct.isOrdinal||(0<(Tt=zt-Lt)&&(Rt+=Tt,Lt=zt),0<(Tt=Rt-Vt)&&(Rt=Vt,Lt-=Tt),Ct.series.length&&Lt!==Ht.min&&Rt!==Ht.max&&Lt>=zt&&Rt<=Vt&&(Ct.setExtremes(Lt,Rt,!1,!1,{trigger:"pan"}),st.resetZoomButton||yt||Lt===zt||Rt===Vt||!xt.match("y")||(st.showResetZoom(),Ct.displayBtn=!1),St=!0),kt[Ot]=Pt)}}),tt(kt,function(Ct,Ot){st[Ot]=Ct}),St&&st.redraw(!1),D(st.container,{cursor:"move"})})},ht}(),A(X.prototype,{callbacks:[],collectionsWithInit:{xAxis:[X.prototype.addAxis,[!0]],yAxis:[X.prototype.addAxis,[!1]],series:[X.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),X}),Mt($,"Core/Legend/LegendSymbol.js",[$["Core/Utilities.js"]],function(X){var rt,Q,Y=X.merge,et=X.pick;return(Q=rt||(rt={})).drawLineMarker=function(it){var K=this.options,W=it.symbolWidth,F=it.symbolHeight,I=F/2,L=this.chart.renderer,C=this.legendGroup;it=it.baseline-Math.round(.3*it.fontMetrics.b);var y={},S=K.marker;this.chart.styledMode||(y={"stroke-width":K.lineWidth||0},K.dashStyle&&(y.dashstyle=K.dashStyle)),this.legendLine=L.path([["M",0,it],["L",W,it]]).addClass("highcharts-graph").attr(y).add(C),S&&!1!==S.enabled&&W&&(K=Math.min(et(S.radius,I),I),0===this.symbol.indexOf("url")&&(S=Y(S,{width:F,height:F}),K=0),this.legendSymbol=W=L.symbol(this.symbol,W/2-K,it-K,2*K,2*K,S).addClass("highcharts-point").add(C),W.isMarker=!0)},Q.drawRectangle=function(it,K){var W=it.symbolHeight,F=it.options.squareSymbol;K.legendSymbol=this.chart.renderer.rect(F?(it.symbolWidth-W)/2:0,it.baseline-W+1,F?W:it.symbolWidth,W,et(it.options.symbolRadius,W/2)).addClass("highcharts-point").attr({zIndex:3}).add(K.legendGroup)},rt}),Mt($,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,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:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Mt($,"Core/Series/Series.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/DefaultOptions.js"],$["Core/Foundation.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Point.js"],$["Core/Series/SeriesDefaults.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I){var L=X.animObject,C=X.setAnimation,y=Y.defaultOptions,S=et.registerEventOptions,M=rt.hasTouch,E=rt.svg,v=rt.win,k=W.seriesTypes,O=I.addEvent,P=I.arrayMax,g=I.arrayMin,c=I.clamp,u=I.cleanRecursively,o=I.correctFloat,m=I.defined,l=I.erase,b=I.error,n=I.extend,r=I.find,f=I.fireEvent,T=I.getNestedProperty,w=I.isArray,D=I.isNumber,d=I.isString,R=I.merge,a=I.objectEach,h=I.pick,A=I.removeEvent,j=I.splat,z=I.syncTimeout;return X=function(){function H(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return H.prototype.init=function(p,N){f(this,"init",{options:N});var _=this,G=p.series;this.eventsToUnbind=[],_.chart=p,_.options=_.setOptions(N),N=_.options,_.linkedSeries=[],_.bindAxes(),n(_,{name:N.name,state:"",visible:!1!==N.visible,selected:!0===N.selected}),S(this,N);var tt,U=N.events;(U&&U.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(p.runTrackerClick=!0),_.getColor(),_.getSymbol(),_.parallelArrays.forEach(function(J){_[J+"Data"]||(_[J+"Data"]=[])}),_.isCartesian&&(p.hasCartesianSeries=!0),G.length&&(tt=G[G.length-1]),_._i=h(tt&&tt._i,-1)+1,_.opacity=_.options.opacity,p.orderSeries(this.insert(G)),N.dataSorting&&N.dataSorting.enabled?_.setDataSortingOptions():_.points||_.data||_.setData(N.data,!1),f(this,"afterInit")},H.prototype.is=function(p){return k[p]&&this instanceof k[p]},H.prototype.insert=function(p){var _,N=this.options.index;if(D(N)){for(_=p.length;_--;)if(N>=h(p[_].options.index,p[_]._i)){p.splice(_+1,0,this);break}-1===_&&p.unshift(this),_+=1}else p.push(this);return h(_,p.length-1)},H.prototype.bindAxes=function(){var G,p=this,N=p.options,_=p.chart;f(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(U){var tt=0;_[U].forEach(function(J){G=J.options,(N[U]===tt&&!G.isInternal||void 0!==N[U]&&N[U]===G.id||void 0===N[U]&&0===G.index)&&(p.insert(J.series),p[U]=J,J.isDirty=!0),G.isInternal||tt++}),p[U]||p.optionalAxis===U||b(18,!0,_)})}),f(this,"afterBindAxes")},H.prototype.updateParallelArrays=function(p,N){var _=p.series,G=arguments,U=D(N)?function(tt){var J="y"===tt&&_.toYData?_.toYData(p):p[tt];_[tt+"Data"][N]=J}:function(tt){Array.prototype[N].apply(_[tt+"Data"],Array.prototype.slice.call(G,2))};_.parallelArrays.forEach(U)},H.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},H.prototype.autoIncrement=function(p){var J,N=this.options,_=N.pointIntervalUnit,G=N.relativeXValue,U=this.chart.time,tt=this.xIncrement;return tt=h(tt,N.pointStart,0),this.pointInterval=J=h(this.pointInterval,N.pointInterval,1),G&&D(p)&&(J*=p),_&&(N=new U.Date(tt),"day"===_?U.set("Date",N,U.get("Date",N)+J):"month"===_?U.set("Month",N,U.get("Month",N)+J):"year"===_&&U.set("FullYear",N,U.get("FullYear",N)+J),J=N.getTime()-tt),G&&D(p)?tt+J:(this.xIncrement=tt+J,tt)},H.prototype.setDataSortingOptions=function(){var p=this.options;n(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),m(p.pointRange)||(p.pointRange=1)},H.prototype.setOptions=function(p){var N=this.chart,_=N.options,G=_.plotOptions,U=N.userOptions||{};p=R(p),N=N.styledMode;var tt={plotOptions:G,userOptions:p};f(this,"setOptions",tt);var J=tt.plotOptions[this.type],ot=U.plotOptions||{};return this.userOptions=tt.userOptions,U=R(J,G.series,U.plotOptions&&U.plotOptions[this.type],p),this.tooltipOptions=R(y.tooltip,y.plotOptions.series&&y.plotOptions.series.tooltip,y.plotOptions[this.type].tooltip,_.tooltip.userOptions,G.series&&G.series.tooltip,G[this.type].tooltip,p.tooltip),this.stickyTracking=h(p.stickyTracking,ot[this.type]&&ot[this.type].stickyTracking,ot.series&&ot.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||U.stickyTracking),null===J.marker&&delete U.marker,this.zoneAxis=U.zoneAxis,G=this.zones=(U.zones||[]).slice(),!U.negativeColor&&!U.negativeFillColor||U.zones||(_={value:U[this.zoneAxis+"Threshold"]||U.threshold||0,className:"highcharts-negative"},N||(_.color=U.negativeColor,_.fillColor=U.negativeFillColor),G.push(_)),G.length&&m(G[G.length-1].value)&&G.push(N?{}:{color:this.color,fillColor:this.fillColor}),f(this,"afterSetOptions",{options:U}),U},H.prototype.getName=function(){return h(this.options.name,"Series "+(this.index+1))},H.prototype.getCyclic=function(p,N,_){var G=this.chart,U=this.userOptions,tt=p+"Index",J=p+"Counter",ot=_?_.length:h(G.options.chart[p+"Count"],G[p+"Count"]);if(!N){var at=h(U[tt],U["_"+tt]);m(at)||(G.series.length||(G[J]=0),U["_"+tt]=at=G[J]%ot,G[J]+=1),_&&(N=_[at])}void 0!==at&&(this[tt]=at),this[p]=N},H.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||y.plotOptions[this.type].color,this.chart.options.colors)},H.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},H.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},H.prototype.findPointIndex=function(p,N){var J,ot,_=p.id,G=p.x,U=this.points,tt=this.options.dataSorting;if(_)(tt=this.chart.get(_))instanceof it&&(J=tt);else if((this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)&&(J=function(ft){return!ft.touched&&ft.index===p.index},tt&&tt.matchByName?J=function(ft){return!ft.touched&&ft.name===p.name}:this.options.relativeXValue&&(J=function(ft){return!ft.touched&&ft.options.x===p.x}),!(J=r(U,J))))return;if(J){var at=J&&J.index;void 0!==at&&(ot=!0)}return void 0===at&&D(G)&&(at=this.xData.indexOf(G,N)),-1!==at&&void 0!==at&&this.cropped&&(at=at>=this.cropStart?at-this.cropStart:at),!ot&&D(at)&&U[at]&&U[at].touched&&(at=void 0),at},H.prototype.updateData=function(p,N){var at,ft,mt,_=this.options,G=_.dataSorting,U=this.points,tt=[],J=this.requireSorting,ot=p.length===U.length,gt=!0;if(this.xIncrement=null,p.forEach(function(ut,ht){var V=m(ut)&&this.pointClass.prototype.optionsToObject.call({series:this},ut)||{};V.id||D(V.x)?(-1===(V=this.findPointIndex(V,mt))||void 0===V?tt.push(ut):U[V]&&ut!==_.data[V]?(U[V].update(ut,!1,null,!1),U[V].touched=!0,J&&(mt=V+1)):U[V]&&(U[V].touched=!0),(!ot||ht!==V||G&&G.enabled||this.hasDerivedData)&&(at=!0)):tt.push(ut)},this),at)for(p=U.length;p--;)(ft=U[p])&&!ft.touched&&ft.remove&&ft.remove(!1,N);else!ot||G&&G.enabled?gt=!1:(p.forEach(function(ut,ht){ut!==U[ht].y&&U[ht].update&&U[ht].update(ut,!1,null,!1)}),tt.length=0);return U.forEach(function(ut){ut&&(ut.touched=!1)}),!!gt&&(tt.forEach(function(ut){this.addPoint(ut,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=P(this.xData),this.autoIncrement()),!0)},H.prototype.setData=function(p,N,_,G){var U=this,tt=U.points,J=tt&&tt.length||0,ot=U.options,at=U.chart,ft=ot.dataSorting,mt=U.xAxis,gt=ot.turboThreshold,ut=this.xData,ht=this.yData,V=U.pointArrayMap;V=V&&V.length;var st,q=ot.keys,ct=0,dt=1,yt=null;if(!at.options.chart.allowMutatingData){ot.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data;var xt=R(!0,p)}if(xt=(p=xt||p||[]).length,N=h(N,!0),ft&&ft.enabled&&(p=this.sortData(p)),at.options.chart.allowMutatingData&&!1!==G&&xt&&J&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.isSeriesBoosting&&(st=this.updateData(p,_)),!st){if(U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(St){U[St+"Data"].length=0}),gt&&xt>gt)if(yt=U.getFirstValidPoint(p),D(yt))for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else if(w(yt))if(V)if(yt.length===V)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[0],ht[_]=G.slice(1,V+1);else if(q&&(ct=0<=(ct=q.indexOf("x"))?ct:0,dt=0<=(dt=q.indexOf("y"))?dt:1),1===yt.length&&(dt=0),ct===dt)for(_=0;_<xt;_++)ut[_]=this.autoIncrement(),ht[_]=p[_][dt];else for(_=0;_<xt;_++)ut[_]=(G=p[_])[ct],ht[_]=G[dt];else b(12,!1,at);else for(_=0;_<xt;_++)void 0!==p[_]&&(U.pointClass.prototype.applyOptions.apply(G={series:U},[p[_]]),U.updateParallelArrays(G,_));for(ht&&d(ht[0])&&b(14,!0,at),U.data=[],U.options.data=U.userOptions.data=p,_=J;_--;)tt[_]&&tt[_].destroy&&tt[_].destroy();mt&&(mt.minRange=mt.userMinRange),U.isDirty=at.isDirtyBox=!0,U.isDirtyData=!!tt,_=!1}"point"===ot.legendType&&(this.processData(),this.generatePoints()),N&&at.redraw(_)},H.prototype.sortData=function(p){var N=this,_=N.options.dataSorting.sortKey||"y",G=function(U,tt){return m(tt)&&U.pointClass.prototype.optionsToObject.call({series:U},tt)||{}};return p.forEach(function(U,tt){p[tt]=G(N,U),p[tt].index=tt},this),p.concat().sort(function(U,tt){return U=T(_,U),(tt=T(_,tt))<U?-1:tt>U?1:0}).forEach(function(U,tt){U.x=tt},this),N.linkedSeries&&N.linkedSeries.forEach(function(U){var tt=U.options,J=tt.data;tt.dataSorting&&tt.dataSorting.enabled||!J||(J.forEach(function(ot,at){J[at]=G(U,ot),p[at]&&(J[at].x=p[at].x,J[at].index=at)}),U.setData(J,!1))}),p},H.prototype.getProcessedData=function(p){var N=this.xAxis,_=this.options,G=_.cropThreshold,U=p||this.getExtremesFromAll||_.getExtremesFromAll,tt=this.isCartesian;p=N&&N.val2lin,_=!(!N||!N.logarithmic);var J=0,ot=this.xData,at=this.yData,ft=this.requireSorting,mt=!1,gt=ot.length;if(N){var ut=(mt=N.getExtremes()).min,ht=mt.max;mt=!(!N.categories||N.names.length)}if(tt&&this.sorted&&!U&&(!G||gt>G||this.forceCrop))if(ot[gt-1]<ut||ot[0]>ht)ot=[],at=[];else if(this.yData&&(ot[0]<ut||ot[gt-1]>ht)){var V=this.cropData(this.xData,this.yData,ut,ht);ot=V.xData,at=V.yData,J=V.start,V=!0}for(G=ot.length||1;--G;)if(0<(N=_?p(ot[G])-p(ot[G-1]):ot[G]-ot[G-1])&&(void 0===q||N<q))var q=N;else 0>N&&ft&&!mt&&(b(15,!1,this.chart),ft=!1);return{xData:ot,yData:at,cropped:V,cropStart:J,closestPointRange:q}},H.prototype.processData=function(p){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!p)return!1;p=this.getProcessedData(),this.cropped=p.cropped,this.cropStart=p.cropStart,this.processedXData=p.xData,this.processedYData=p.yData,this.closestPointRange=this.basePointRange=p.closestPointRange,f(this,"afterProcessData")},H.prototype.cropData=function(p,N,_,G,U){var J,tt=p.length,ot=0,at=tt;for(U=h(U,this.cropShoulder),J=0;J<tt;J++)if(p[J]>=_){ot=Math.max(0,J-U);break}for(_=J;_<tt;_++)if(p[_]>G){at=_+U;break}return{xData:p.slice(ot,at),yData:N.slice(ot,at),start:ot,end:at}},H.prototype.generatePoints=function(){var p=this.options,N=this.processedData||p.data,_=this.processedXData,G=this.processedYData,U=this.pointClass,tt=_.length,J=this.cropStart||0,ot=this.hasGroupedData,at=p.keys,ft=[];p=p.dataGrouping&&p.dataGrouping.groupAll?J:0;var mt,gt,ut=this.data;if(!ut&&!ot){var ht=[];ht.length=N.length,ut=this.data=ht}for(at&&ot&&(this.options.keys=!1),gt=0;gt<tt;gt++){if(ht=J+gt,ot){var V=(new U).init(this,[_[gt]].concat(j(G[gt])));V.dataGroup=this.groupMap[p+gt],V.dataGroup.options&&(V.options=V.dataGroup.options,n(V,V.dataGroup.options),delete V.dataLabels)}else(V=ut[ht])||void 0===N[ht]||(ut[ht]=V=(new U).init(this,N[ht],_[gt]));V&&(V.index=ot?p+gt:ht,ft[gt]=V)}if(this.options.keys=at,ut&&(tt!==(mt=ut.length)||ot))for(gt=0;gt<mt;gt++)gt!==J||ot||(gt+=tt),ut[gt]&&(ut[gt].destroyElements(),ut[gt].plotX=void 0);this.data=ut,this.points=ft,f(this,"afterGeneratePoints")},H.prototype.getXExtremes=function(p){return{min:g(p),max:P(p)}},H.prototype.getExtremes=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.processedXData||this.xData,tt=[],J=this.requireSorting?this.cropShoulder:0;G=!!G&&G.positiveValuesOnly;var ot,at=0,ft=0,mt=0,gt=(p=p||this.stackedYData||this.processedYData||[]).length;if(_){var ut=_.getExtremes();at=ut.min,ft=ut.max}for(ot=0;ot<gt;ot++){var ht=U[ot],V=(D(ut=p[ot])||w(ut))&&(ut.length||0<ut||!G);if(ht=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!_||(U[ot+J]||ht)>=at&&(U[ot-J]||ht)<=ft,V&&ht)if(V=ut.length)for(;V--;)D(ut[V])&&(tt[mt++]=ut[V]);else tt[mt++]=ut}return p={activeYData:tt,dataMin:g(tt),dataMax:P(tt)},f(this,"afterGetExtremes",{dataExtremes:p}),p},H.prototype.applyExtremes=function(){var p=this.getExtremes();return this.dataMin=p.dataMin,this.dataMax=p.dataMax,p},H.prototype.getFirstValidPoint=function(p){for(var N=p.length,_=0,G=null;null===G&&_<N;)G=p[_],_++;return G},H.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var ht,V,p=this.options,N=p.stacking,_=this.xAxis,G=_.categories,U=this.enabledDataSorting,tt=this.yAxis,J=this.points,ot=J.length,at=this.pointPlacementToXValue(),ft=!!at,mt=p.threshold,gt=p.startFromThreshold?mt:0,ut=this.zoneAxis||"y",q=Number.MAX_VALUE;for(ht=0;ht<ot;ht++){var st=J[ht],ct=st.x,dt=void 0,yt=void 0,xt=st.y,St=st.low,Et=N&&tt.stacking&&tt.stacking.stacks[(this.negStacks&&xt<(gt?0:mt)?"-":"")+this.stackKey];if((tt.positiveValuesOnly&&!tt.validatePositiveValue(xt)||_.positiveValuesOnly&&!_.validatePositiveValue(ct))&&(st.isNull=!0),st.plotX=V=o(c(_.translate(ct,0,0,0,1,at,"flags"===this.type),-1e5,1e5)),N&&this.visible&&Et&&Et[ct]){var kt=this.getStackIndicator(kt,ct,this.index);st.isNull||(yt=(dt=Et[ct]).points[kt.key])}if(w(yt)&&(xt=yt[1],(St=yt[0])===gt&&kt.key===Et[ct].base&&(St=h(D(mt)&&mt,tt.min)),tt.positiveValuesOnly&&0>=St&&(St=null),st.total=st.stackTotal=dt.total,st.percentage=dt.total&&st.y/dt.total*100,st.stackY=xt,this.irregularWidths||dt.setOffset(this.pointXOffset||0,this.barW||0)),st.yBottom=m(St)?c(tt.translate(St,0,1,0,1),-1e5,1e5):null,this.dataModify&&(xt=this.dataModify.modifyValue(xt,ht)),st.plotY=void 0,D(xt)&&void 0!==(dt=tt.translate(xt,!1,!0,!1,!0))&&(st.plotY=c(dt,-1e5,1e5)),st.isInside=this.isPointInside(st),st.clientX=ft?o(_.translate(ct,0,0,0,1,at)):V,st.negative=st[ut]<(p[ut+"Threshold"]||mt||0),st.category=h(G&&G[st.x],st.x),!st.isNull&&!1!==st.visible){void 0!==Ct&&(q=Math.min(q,Math.abs(V-Ct)));var Ct=V}st.zone=this.zones.length?st.getZone():void 0,!st.graphic&&this.group&&U&&(st.isNew=!0)}this.closestPointRangePx=q,f(this,"afterTranslate")},H.prototype.getValidPoints=function(p,N,_){var G=this.chart;return(p||this.points||[]).filter(function(U){return!(N&&!G.isInsidePlot(U.plotX,U.plotY,{inverted:G.inverted}))&&!1!==U.visible&&(_||!U.isNull)})},H.prototype.getClipBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis,G=R(p.clipBox);return N&&N.len!==p.plotSizeX&&(G.width=N.len),_&&_.len!==p.plotSizeY&&(G.height=_.len),G},H.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)},H.prototype.setClip=function(){var p=this.chart,N=this.group,_=this.markerGroup,G=p.sharedClips;p=p.renderer;var U=this.getClipBox(),tt=this.getSharedClipKey(),J=G[tt];J?J.animate(U):G[tt]=J=p.clipRect(U),N&&N.clip(!1===this.options.clip?void 0:J),_&&_.clip()},H.prototype.animate=function(p){var N=this.chart,_=this.group,G=this.markerGroup,U=N.inverted,tt=L(this.options.animation),J=[this.getSharedClipKey(),tt.duration,tt.easing,tt.defer].join(),ot=N.sharedClips[J],at=N.sharedClips[J+"m"];if(p&&_)tt=this.getClipBox(),ot?ot.attr("height",tt.height):(tt.width=0,U&&(tt.x=N.plotHeight),ot=N.renderer.clipRect(tt),N.sharedClips[J]=ot,at=N.renderer.clipRect({x:U?(N.plotSizeX||0)+99:-99,y:U?-N.plotLeft:-N.plotTop,width:99,height:U?N.chartWidth:N.chartHeight}),N.sharedClips[J+"m"]=at),_.clip(ot),G&&G.clip(at);else if(ot&&!ot.hasClass("highcharts-animating")){N=this.getClipBox();var ft=tt.step;G&&G.element.childNodes.length&&(tt.step=function(mt,gt){ft&&ft.apply(gt,arguments),at&&at.element&&at.attr(gt.prop,"width"===gt.prop?mt+99:mt)}),ot.addClass("highcharts-animating").animate(N,tt)}},H.prototype.afterAnimate=function(){var p=this;this.setClip(),a(this.chart.sharedClips,function(N,_,G){N&&!p.chart.container.querySelector('[clip-path="url(#'+N.id+')"]')&&(N.destroy(),delete G[_])}),this.finishedAnimating=!0,f(this,"afterAnimate")},H.prototype.drawPoints=function(){var J,ot,p=this.points,N=this.chart,_=this.options.marker,G=this[this.specialGroup]||this.markerGroup,U=this.xAxis,tt=h(_.enabled,!(U&&!U.isRadial)||null,this.closestPointRangePx>=_.enabledThreshold*_.radius);if(!1!==_.enabled||this._hasPointMarkers)for(J=0;J<p.length;J++){var at=p[J],ft=(ot=at.graphic)?"animate":"attr",mt=at.marker||{},gt=!!at.marker;if((tt&&void 0===mt.enabled||mt.enabled)&&!at.isNull&&!1!==at.visible){var ut=h(mt.symbol,this.symbol,"rect"),ht=this.markerAttribs(at,at.selected&&"select");this.enabledDataSorting&&(at.startXPos=U.reversed?-(ht.width||0):U.width);var V=!1!==at.isInside;ot?ot[V?"show":"hide"](V).animate(ht):V&&(0<(ht.width||0)||at.hasImage)&&(at.graphic=ot=N.renderer.symbol(ut,ht.x,ht.y,ht.width,ht.height,gt?mt:_).add(G),this.enabledDataSorting&&N.hasRendered&&(ot.attr({x:at.startXPos}),ft="animate")),ot&&"animate"===ft&&ot[V?"show":"hide"](V).animate(ht),ot&&!N.styledMode&&ot[ft](this.pointAttribs(at,at.selected&&"select")),ot&&ot.addClass(at.getClassName(),!0)}else ot&&(at.graphic=ot.destroy())}},H.prototype.markerAttribs=function(p,N){var _=this.options,G=_.marker,U=p.marker||{},tt=U.symbol||G.symbol,J=h(U.radius,G&&G.radius);return N&&(G=G.states[N],J=h((N=U.states&&U.states[N])&&N.radius,G&&G.radius,J&&J+(G&&G.radiusPlus||0))),p.hasImage=tt&&0===tt.indexOf("url"),p.hasImage&&(J=0),p=D(J)?{x:_.crisp?Math.floor(p.plotX-J):p.plotX-J,y:p.plotY-J}:{},J&&(p.width=p.height=2*J),p},H.prototype.pointAttribs=function(p,N){var _=this.options.marker,G=p&&p.options,U=G&&G.marker||{},tt=G&&G.color,J=p&&p.color,ot=p&&p.zone&&p.zone.color,at=this.color;return p=h(U.lineWidth,_.lineWidth),G=1,at=tt||ot||J||at,tt=U.fillColor||_.fillColor||at,J=U.lineColor||_.lineColor||at,_=_.states[N=N||"normal"]||{},p=h((N=U.states&&U.states[N]||{}).lineWidth,_.lineWidth,p+h(N.lineWidthPlus,_.lineWidthPlus,0)),{stroke:J=N.lineColor||_.lineColor||J,"stroke-width":p,fill:tt=N.fillColor||_.fillColor||tt,opacity:G=h(N.opacity,_.opacity,G)}},H.prototype.destroy=function(p){var J,ot,at,N=this,_=N.chart,G=/AppleWebKit\/533/.test(v.navigator.userAgent),U=N.data||[];for(f(N,"destroy",{keepEventsForUpdate:p}),this.removeEvents(p),(N.axisTypes||[]).forEach(function(ft){(at=N[ft])&&at.series&&(l(at.series,N),at.isDirty=at.forceRedraw=!0)}),N.legendItem&&N.chart.legend.destroyItem(N),J=U.length;J--;)(ot=U[J])&&ot.destroy&&ot.destroy();N.clips&&N.clips.forEach(function(ft){return ft.destroy()}),I.clearTimeout(N.animationTimeout),a(N,function(ft,mt){ft instanceof F&&!ft.survive&&ft[G&&"group"===mt?"hide":"destroy"]()}),_.hoverSeries===N&&(_.hoverSeries=void 0),l(_.series,N),_.orderSeries(),a(N,function(ft,mt){p&&"hcEvents"===mt||delete N[mt]})},H.prototype.applyZones=function(){var mt,gt,ut,ht,V,q,st,ct,p=this,N=this.chart,_=N.renderer,G=this.zones,U=this.clips||[],tt=this.graph,J=this.area,ot=Math.max(N.chartWidth,N.chartHeight),at=this[(this.zoneAxis||"y")+"Axis"],ft=N.inverted,dt=!1;if(G.length&&(tt||J)&&at&&void 0!==at.min){var yt=at.reversed,xt=at.horiz;tt&&!this.showLine&&tt.hide(),J&&J.hide();var St=at.getExtremes();G.forEach(function(Et,kt){mt=yt?xt?N.plotWidth:0:xt?0:at.toPixels(St.min)||0,mt=c(h(gt,mt),0,ot),gt=c(Math.round(at.toPixels(h(Et.value,St.max),!0)||0),0,ot),dt&&(mt=gt=at.toPixels(St.max)),ht=Math.abs(mt-gt),V=Math.min(mt,gt),q=Math.max(mt,gt),at.isXAxis?(ut={x:ft?q:V,y:0,width:ht,height:ot},xt||(ut.x=N.plotHeight-ut.x)):(ut={x:0,y:ft?q:V,width:ot,height:ht},xt&&(ut.y=N.plotWidth-ut.y)),ft&&_.isVML&&(ut=at.isXAxis?{x:0,y:yt?V:q,height:ut.width,width:N.chartWidth}:{x:ut.y-N.plotLeft-N.spacingBox.x,y:0,width:ut.height,height:N.chartHeight}),U[kt]?U[kt].animate(ut):U[kt]=_.clipRect(ut),st=p["zone-area-"+kt],ct=p["zone-graph-"+kt],tt&&ct&&ct.clip(U[kt]),J&&st&&st.clip(U[kt]),dt=Et.value>St.max,p.resetZones&&0===gt&&(gt=void 0)}),this.clips=U}else p.visible&&(tt&&tt.show(),J&&J.show())},H.prototype.invertGroups=function(p){function N(){["group","markerGroup"].forEach(function(U){_[U]&&(G.renderer.isVML&&_[U].attr({width:_.yAxis.len,height:_.xAxis.len}),_[U].width=_.yAxis.len,_[U].height=_.xAxis.len,_[U].invert(!_.isRadialSeries&&p))})}var _=this,G=_.chart;_.xAxis&&(_.eventsToUnbind.push(O(G,"resize",N)),N(),_.invertGroups=N)},H.prototype.plotGroup=function(p,N,_,G,U){var tt=this[p],J=!tt;return _={visibility:_,zIndex:G||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(_.opacity=this.opacity),J&&(this[p]=tt=this.chart.renderer.g().add(U)),tt.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(m(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(tt.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),tt.attr(_)[J?"attr":"animate"](this.getPlotBox()),tt},H.prototype.getPlotBox=function(){var p=this.chart,N=this.xAxis,_=this.yAxis;return p.inverted&&(N=_,_=this.xAxis),{translateX:N?N.left:p.plotLeft,translateY:_?_.top:p.plotTop,scaleX:1,scaleY:1}},H.prototype.removeEvents=function(p){p||A(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(N){N()}),this.eventsToUnbind.length=0)},H.prototype.render=function(){var p=this,N=p.chart,_=p.options,G=L(_.animation),U=p.visible?"inherit":"hidden",tt=_.zIndex,J=p.hasRendered,ot=N.seriesGroup,at=N.inverted;N=!p.finishedAnimating&&N.renderer.isSVG?G.duration:0,f(this,"render");var ft=p.plotGroup("group","series",U,tt,ot);p.markerGroup=p.plotGroup("markerGroup","markers",U,tt,ot),!1!==_.clip&&p.setClip(),p.animate&&N&&p.animate(!0),ft.inverted=!!h(p.invertible,p.isCartesian)&&at,p.drawGraph&&(p.drawGraph(),p.applyZones()),p.visible&&p.drawPoints(),p.drawDataLabels&&p.drawDataLabels(),p.redrawPoints&&p.redrawPoints(),p.drawTracker&&!1!==p.options.enableMouseTracking&&p.drawTracker(),p.invertGroups(at),p.animate&&N&&p.animate(),J||(N&&G.defer&&(N+=G.defer),p.animationTimeout=z(function(){p.afterAnimate()},N||0)),p.isDirty=!1,p.hasRendered=!0,f(p,"afterRender")},H.prototype.redraw=function(){var p=this.chart,N=this.isDirty||this.isDirtyData,_=this.group,G=this.xAxis,U=this.yAxis;_&&(p.inverted&&_.attr({width:p.plotWidth,height:p.plotHeight}),_.animate({translateX:h(G&&G.left,p.plotLeft),translateY:h(U&&U.top,p.plotTop)})),this.translate(),this.render(),N&&delete this.kdTree},H.prototype.searchPoint=function(p,N){var _=this.xAxis,G=this.yAxis,U=this.chart.inverted;return this.searchKDTree({clientX:U?_.len-p.chartY+_.pos:p.chartX-_.pos,plotY:U?G.len-p.chartX+G.pos:p.chartY-G.pos},N,p)},H.prototype.buildKDTree=function(p){function N(U,tt,J){var ot=U&&U.length;if(ot){var at=_.kdAxisArray[tt%J];return U.sort(function(ft,mt){return ft[at]-mt[at]}),{point:U[ot=Math.floor(ot/2)],left:N(U.slice(0,ot),tt+1,J),right:N(U.slice(ot+1),tt+1,J)}}}this.buildingKdTree=!0;var _=this,G=-1<_.options.findNearestPointBy.indexOf("y")?2:1;delete _.kdTree,z(function(){_.kdTree=N(_.getValidPoints(null,!_.directTouch),G,G),_.buildingKdTree=!1},_.options.kdNow||p&&"touchstart"===p.type?0:1)},H.prototype.searchKDTree=function(p,N,_){var U=this,tt=this.kdAxisArray[0],J=this.kdAxisArray[1],ot=N?"distX":"dist";if(N=-1<U.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(_),this.kdTree)return function G(at,ft,mt,gt){var ut=ft.point,ht=U.kdAxisArray[mt%gt],V=ut,q=m(at[tt])&&m(ut[tt])?Math.pow(at[tt]-ut[tt],2):null,st=m(at[J])&&m(ut[J])?Math.pow(at[J]-ut[J],2):null;return ut.dist=m(st=(q||0)+(st||0))?Math.sqrt(st):Number.MAX_VALUE,ut.distX=m(q)?Math.sqrt(q):Number.MAX_VALUE,q=0>(ht=at[ht]-ut[ht])?"right":"left",ft[st=0>ht?"left":"right"]&&(V=(st=G(at,ft[st],mt+1,gt))[ot]<V[ot]?st:ut),ft[q]&&Math.sqrt(ht*ht)<V[ot]&&(V=(at=G(at,ft[q],mt+1,gt))[ot]<V[ot]?at:V),V}(p,this.kdTree,N,N)},H.prototype.pointPlacementToXValue=function(){var p=this.options,N=p.pointRange,_=this.xAxis;return"between"===(p=p.pointPlacement)&&(p=_.reversed?-.5:.5),D(p)?p*(N||_.pointRange):0},H.prototype.isPointInside=function(p){var N=this.chart,_=this.xAxis,G=this.yAxis;return void 0!==p.plotY&&void 0!==p.plotX&&0<=p.plotY&&p.plotY<=(G?G.len:N.plotHeight)&&0<=p.plotX&&p.plotX<=(_?_.len:N.plotWidth)},H.prototype.drawTracker=function(){var p=this,N=p.options,_=N.trackByArea,G=[].concat(_?p.areaPath:p.graphPath),U=p.chart,tt=U.pointer,J=U.renderer,ot=U.options.tooltip.snap,at=p.tracker,ft=function(gt){U.hoverSeries!==p&&p.onMouseOver()},mt="rgba(192,192,192,"+(E?1e-4:.002)+")";at?at.attr({d:G}):p.graph&&(p.tracker=J.path(G).attr({visibility:p.visible?"inherit":"hidden",zIndex:2}).addClass(_?"highcharts-tracker-area":"highcharts-tracker-line").add(p.group),U.styledMode||p.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:mt,fill:_?mt:"none","stroke-width":p.graph.strokeWidth()+(_?0:2*ot)}),[p.tracker,p.markerGroup,p.dataLabelsGroup].forEach(function(gt){gt&&(gt.addClass("highcharts-tracker").on("mouseover",ft).on("mouseout",function(ut){tt.onTrackerMouseOut(ut)}),N.cursor&&!U.styledMode&&gt.css({cursor:N.cursor}),M)&&gt.on("touchstart",ft)})),f(this,"afterDrawTracker")},H.prototype.addPoint=function(p,N,_,G,U){var tt=this.options,J=this.data,ot=this.chart,at=this.xAxis;at=at&&at.hasNames&&at.names;var gt,ft=tt.data,mt=this.xData;N=h(N,!0);var ut={series:this};this.pointClass.prototype.applyOptions.apply(ut,[p]);var ht=ut.x,V=mt.length;if(this.requireSorting&&ht<mt[V-1])for(gt=!0;V&&mt[V-1]>ht;)V--;this.updateParallelArrays(ut,"splice",V,0,0),this.updateParallelArrays(ut,V),at&&ut.name&&(at[ht]=ut.name),ft.splice(V,0,p),(gt||this.processedData)&&(this.data.splice(V,0,null),this.processData()),"point"===tt.legendType&&this.generatePoints(),_&&(J[0]&&J[0].remove?J[0].remove(!1):(J.shift(),this.updateParallelArrays(ut,"shift"),ft.shift())),!1!==U&&f(this,"addPoint",{point:ut}),this.isDirtyData=this.isDirty=!0,N&&ot.redraw(G)},H.prototype.removePoint=function(p,N,_){var G=this,U=G.data,tt=U[p],J=G.points,ot=G.chart,at=function(){J&&J.length===U.length&&J.splice(p,1),U.splice(p,1),G.options.data.splice(p,1),G.updateParallelArrays(tt||{series:G},"splice",p,1),tt&&tt.destroy(),G.isDirty=!0,G.isDirtyData=!0,N&&ot.redraw()};C(_,ot),N=h(N,!0),tt?tt.firePointEvent("remove",null,at):at()},H.prototype.remove=function(p,N,_,G){function U(){tt.destroy(G),J.isDirtyLegend=J.isDirtyBox=!0,J.linkSeries(),h(p,!0)&&J.redraw(N)}var tt=this,J=tt.chart;!1!==_?f(tt,"remove",null,U):U()},H.prototype.update=function(p,N){p=u(p,this.userOptions),f(this,"update",{options:p});var mt,_=this,G=_.chart,U=_.userOptions,tt=_.initialType||_.type,J=G.options.plotOptions,ot=k[tt].prototype,at=_.finishedAnimating&&{animation:!1},ft={},gt=["eventOptions","navigatorSeries","baseSeries"],ut=p.type||U.type||G.options.chart.type,ht=!(this.hasDerivedData||ut&&ut!==this.type||void 0!==p.pointStart||void 0!==p.pointInterval||void 0!==p.relativeXValue||p.joinBy||p.mapData||_.hasOptionChanged("dataGrouping")||_.hasOptionChanged("pointStart")||_.hasOptionChanged("pointInterval")||_.hasOptionChanged("pointIntervalUnit")||_.hasOptionChanged("keys"));if(ut=ut||tt,ht&&(gt.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==p.visible&&gt.push("area","graph"),_.parallelArrays.forEach(function(q){gt.push(q+"Data")}),p.data&&(p.dataSorting&&n(_.options.dataSorting,p.dataSorting),this.setData(p.data,!1))),p=R(U,at,{index:void 0===U.index?_.index:U.index,pointStart:h(J&&J.series&&J.series.pointStart,U.pointStart,_.xData[0])},!ht&&{data:_.options.data},p),ht&&p.data&&(p.data=_.options.data),(gt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(gt)).forEach(function(q){gt[q]=_[q],delete _[q]}),J=!1,k[ut]){if(J=ut!==_.type,_.remove(!1,!1,!1,!0),J)if(Object.setPrototypeOf)Object.setPrototypeOf(_,k[ut].prototype);else{for(mt in at=Object.hasOwnProperty.call(_,"hcEvents")&&_.hcEvents,ot)_[mt]=void 0;n(_,k[ut].prototype),at?_.hcEvents=at:delete _.hcEvents}}else b(17,!0,G,{missingModuleFor:ut});if(gt.forEach(function(q){_[q]=gt[q]}),_.init(G,p),ht&&this.points){var V=_.options;!1===V.visible?(ft.graphic=1,ft.dataLabel=1):_._hasPointLabels||(ot=V.dataLabels,!(p=V.marker)||!1!==p.enabled&&(U.marker&&U.marker.symbol)===p.symbol||(ft.graphic=1),ot&&!1===ot.enabled&&(ft.dataLabel=1)),this.points.forEach(function(q){q&&q.series&&(q.resolveColor(),Object.keys(ft).length&&q.destroyElements(ft),!1===V.showInLegend&&q.legendItem&&G.legend.destroyItem(q))},this)}_.initialType=tt,G.linkSeries(),J&&_.linkedSeries.length&&(_.isDirtyData=!0),f(this,"afterUpdate"),h(N,!0)&&G.redraw(!!ht&&void 0)},H.prototype.setName=function(p){this.name=this.options.name=this.userOptions.name=p,this.chart.isDirtyLegend=!0},H.prototype.hasOptionChanged=function(p){var N=this.options[p],_=this.chart.options.plotOptions,G=this.userOptions[p];return G?N!==G:N!==h(_&&_[this.type]&&_[this.type][p],_&&_.series&&_.series[p],N)},H.prototype.onMouseOver=function(){var p=this.chart,N=p.hoverSeries;p.pointer.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&f(this,"mouseOver"),this.setState("hover"),p.hoverSeries=this},H.prototype.onMouseOut=function(){var p=this.options,N=this.chart,_=N.tooltip,G=N.hoverPoint;N.hoverSeries=null,G&&G.onMouseOut(),this&&p.events.mouseOut&&f(this,"mouseOut"),!_||this.stickyTracking||_.shared&&!this.noSharedTooltip||_.hide(),N.series.forEach(function(U){U.setState("",!0)})},H.prototype.setState=function(p,N){var _=this,G=_.options,U=_.graph,tt=G.inactiveOtherPoints,J=G.states,ot=h(J[p||"normal"]&&J[p||"normal"].animation,_.chart.options.chart.animation),at=G.lineWidth,ft=0,mt=G.opacity;if(_.state!==(p=p||"")&&([_.group,_.markerGroup,_.dataLabelsGroup].forEach(function(gt){gt&&(_.state&&gt.removeClass("highcharts-series-"+_.state),p&&gt.addClass("highcharts-series-"+p))}),_.state=p,!_.chart.styledMode)){if(J[p]&&!1===J[p].enabled)return;if(p&&(at=J[p].lineWidth||at+(J[p].lineWidthPlus||0),mt=h(J[p].opacity,mt)),U&&!U.dashstyle)for(U.animate(G={"stroke-width":at},ot);_["zone-graph-"+ft];)_["zone-graph-"+ft].animate(G,ot),ft+=1;tt||[_.group,_.markerGroup,_.dataLabelsGroup,_.labelBySeries].forEach(function(gt){gt&&gt.animate({opacity:mt},ot)})}N&&tt&&_.points&&_.setAllPointsToState(p||void 0)},H.prototype.setAllPointsToState=function(p){this.points.forEach(function(N){N.setState&&N.setState(p)})},H.prototype.setVisible=function(p,N){var _=this,G=_.chart,U=_.legendItem,tt=G.options.chart.ignoreHiddenSeries,ot=(_.visible=p=_.options.visible=_.userOptions.visible=void 0===p?!_.visible:p)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(at){_[at]&&_[at][ot]()}),(G.hoverSeries===_||(G.hoverPoint&&G.hoverPoint.series)===_)&&_.onMouseOut(),U&&G.legend.colorizeItem(_,p),_.isDirty=!0,_.options.stacking&&G.series.forEach(function(at){at.options.stacking&&at.visible&&(at.isDirty=!0)}),_.linkedSeries.forEach(function(at){at.setVisible(p,!1)}),tt&&(G.isDirtyBox=!0),f(_,ot),!1!==N&&G.redraw()},H.prototype.show=function(){this.setVisible(!0)},H.prototype.hide=function(){this.setVisible(!1)},H.prototype.select=function(p){this.selected=p=this.options.selected=void 0===p?!this.selected:p,this.checkbox&&(this.checkbox.checked=p),f(this,p?"select":"unselect")},H.prototype.shouldShowTooltip=function(p,N,_){return void 0===_&&(_={}),_.series=this,_.visiblePlotOnly=!0,this.chart.isInsidePlot(p,N,_)},H.defaultOptions=K,H}(),n(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:Q.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:it,requireSorting:!0,sorted:!0}),W.series=X,X}),Mt($,"Extensions/ScrollablePlotArea.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var K=X.stop,W=it.addEvent,F=it.createElement,I=it.merge,L=it.pick;W(et,"afterSetChartSize",function(C){var y=this.options.chart.scrollablePlotArea,S=y&&y.minWidth;if(y=y&&y.minHeight,!this.renderer.forExport){if(S){if(this.scrollablePixelsX=S=Math.max(0,S-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.width=this.plotWidth+=S,this.inverted?this.clipBox.height+=S:this.clipBox.width+=S;var M={1:{name:"right",value:S}}}}else y&&(this.scrollablePixelsY=S=Math.max(0,y-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=I(this.plotBox),this.plotBox.height=this.plotHeight+=S,this.inverted?this.clipBox.width+=S:this.clipBox.height+=S,M={2:{name:"bottom",value:S}});M&&!C.skipAxes&&this.axes.forEach(function(E){M[E.side]?E.getPlotLinePath=function(){var v=M[E.side].name,k=this[v];this[v]=k-M[E.side].value;var O=Y.prototype.getPlotLinePath.apply(this,arguments);return this[v]=k,O}:(E.setAxisSize(),E.setAxisTranslation())})}}),W(et,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),et.prototype.setUpScrolling=function(){var C=this,y={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(y.overflowX="auto"),this.scrollablePixelsY&&(y.overflowY="auto"),this.scrollingParent=F("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=F("div",{className:"highcharts-scrolling"},y,this.scrollingParent),W(this.scrollingContainer,"scroll",function(){C.pointer&&delete C.pointer.chartPosition}),this.innerContainer=F("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},et.prototype.moveFixedElements=function(){var M,C=this.container,y=this.fixedRenderer,S=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?M=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?M=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(M=".highcharts-yaxis"),M&&S.push(M+":not(.highcharts-radial-axis)",M+"-labels:not(.highcharts-radial-axis-labels)"),S.forEach(function(E){[].forEach.call(C.querySelectorAll(E),function(v){(v.namespaceURI===y.SVG_NS?y.box:y.box.parentNode).appendChild(v),v.style.pointerEvents="auto"})})},et.prototype.applyFixed=function(){var C=!this.fixedDiv,y=this.options.chart,S=y.scrollablePlotArea,M=Q.getRendererType();C?(this.fixedDiv=F("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(y.style&&y.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new M(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=y.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":L(S.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),W(this,"afterShowResetZoom",this.moveFixedElements),W(this,"afterApplyDrilldown",this.moveFixedElements),W(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||C)&&(this.scrollableDirty=!1,this.moveFixedElements()),y=this.chartWidth+(this.scrollablePixelsX||0),M=this.chartHeight+(this.scrollablePixelsY||0),K(this.container),this.container.style.width=y+"px",this.container.style.height=M+"px",this.renderer.boxWrapper.attr({width:y,height:M,viewBox:[0,0,y,M].join(" ")}),this.chartBackground.attr({width:y,height:M}),this.scrollingContainer.style.height=this.chartHeight+"px",C&&(S.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*S.scrollPositionX),S.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*S.scrollPositionY)),C=this.plotTop-(M=this.axisOffset)[0]-1,S=this.plotLeft-M[3]-1,y=this.plotTop+this.plotHeight+M[2]+1,M=this.plotLeft+this.plotWidth+M[1]+1;var E=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),v=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);C=this.scrollablePixelsX?[["M",0,C],["L",this.plotLeft-1,C],["L",this.plotLeft-1,y],["L",0,y],["Z"],["M",E,C],["L",this.chartWidth,C],["L",this.chartWidth,y],["L",E,y],["Z"]]:this.scrollablePixelsY?[["M",S,0],["L",S,this.plotTop-1],["L",M,this.plotTop-1],["L",M,0],["Z"],["M",S,v],["L",S,this.chartHeight],["L",M,this.chartHeight],["L",M,v],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:C})},W(Y,"afterInit",function(){this.chart.scrollableDirty=!0}),W(rt,"show",function(){this.chart.scrollableDirty=!0})}),Mt($,"Core/Axis/StackingAxis.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Utilities.js"]],function(X,Y,et){var I,rt=X.getDeferredAnimation,Q=et.addEvent,it=et.destroyObjectProperties,K=et.fireEvent,W=et.isNumber,F=et.objectEach;return function(L){function C(){var E=this.stacking;if(E){var v=E.stacks;F(v,function(k,O){it(k),v[O]=null}),E&&E.stackTotalGroup&&E.stackTotalGroup.destroy()}}function y(){this.stacking||(this.stacking=new M(this))}var S=[];L.compose=function(E){return-1===S.indexOf(E)&&(S.push(E),Q(E,"init",y),Q(E,"destroy",C)),E};var M=function(){function E(v){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=v}return E.prototype.buildStacks=function(){var g,v=this.axis,k=v.series,O=v.options.reversedStacks,P=k.length;if(!v.isXAxis){for(this.usePercentage=!1,g=P;g--;){var c=k[O?g:P-g-1];c.setStackedPoints(),c.setGroupedPoints()}for(g=0;g<P;g++)k[g].modifyStacks();K(v,"afterBuildStacks")}},E.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var v=this.stacks=this.oldStacks;F(v,function(k){F(k,function(O){O.cumulative=O.total})})}},E.prototype.resetStacks=function(){var v=this;v.axis.isXAxis||F(v.stacks,function(O){F(O,function(P,g){W(P.touched)&&P.touched<v.stacksTouched?(P.destroy(),delete O[g]):(P.total=null,P.cumulative=null)})})},E.prototype.renderStackTotals=function(){var v=this.axis,k=v.chart,O=k.renderer,P=this.stacks;v=rt(k,v.options.stackLabels&&v.options.stackLabels.animation||!1);var g=this.stackTotalGroup=this.stackTotalGroup||O.g("stack-labels").attr({zIndex:6,opacity:0}).add();g.translate(k.plotLeft,k.plotTop),F(P,function(c){F(c,function(u){u.render(g)})}),g.animate({opacity:1},v)},E}();L.Additions=M}(I||(I={})),I}),Mt($,"Extensions/Stacking.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Axis/StackingAxis.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var W=et.format,F=K.correctFloat,I=K.defined,L=K.destroyObjectProperties,C=K.isArray,y=K.isNumber,S=K.objectEach,M=K.pick,E=function(){function v(k,O,P,g,c){var u=k.chart.inverted;this.axis=k,this.isNegative=P,this.options=O=O||{},this.x=g,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=c,this.rightCliff=this.leftCliff=0,this.alignOptions={align:O.align||(u?P?"left":"right":"center"),verticalAlign:O.verticalAlign||(u?"middle":P?"bottom":"top"),y:O.y,x:O.x},this.textAlign=O.textAlign||(u?P?"right":"left":"center")}return v.prototype.destroy=function(){L(this,this.axis)},v.prototype.render=function(k){var O=this.axis.chart,P=this.options,g=P.format;g=g?W(g,this,O):P.formatter.call(this),this.label?this.label.attr({text:g,visibility:"hidden"}):(this.label=O.renderer.label(g,null,null,P.shape,null,null,P.useHTML,!1,"stack-labels"),g={r:P.borderRadius||0,text:g,rotation:P.rotation,padding:M(P.padding,5),visibility:"hidden"},O.styledMode||(g.fill=P.backgroundColor,g.stroke=P.borderColor,g["stroke-width"]=P.borderWidth,this.label.css(P.style)),this.label.attr(g),this.label.added||this.label.add(k)),this.label.labelrank=O.plotSizeY},v.prototype.setOffset=function(k,O,P,g,c){var u=this.axis,o=u.chart;g=u.translate(u.stacking.usePercentage?100:g||this.total,0,0,0,1),P=u.translate(P||0),P=I(g)&&Math.abs(g-P),k=M(c,o.xAxis[0].translate(this.x))+k,u=I(g)&&this.getStackBox(o,this,k,g,O,P,u),O=this.label,P=this.isNegative,k="justify"===M(this.options.overflow,"justify");var m=this.textAlign;O&&u&&(c=O.getBBox(),g=O.padding,m="left"===m?o.inverted?-g:g:"right"===m?c.width:o.inverted&&"center"===m?c.width/2:o.inverted?P?c.width+g:-g:c.width/2,P=o.inverted?c.height/2:P?-g:c.height,this.alignOptions.x=M(this.options.x,0),this.alignOptions.y=M(this.options.y,0),u.x-=m,u.y-=P,O.align(this.alignOptions,null,u),o.isInsidePlot(O.alignAttr.x+m-this.alignOptions.x,O.alignAttr.y+P-this.alignOptions.y)?O.show():(O.hide(),k=!1),k&&Q.prototype.justifyDataLabel.call(this.axis,O,this.alignOptions,O.alignAttr,c,u),O.attr({x:O.alignAttr.x,y:O.alignAttr.y}),M(!k&&this.options.crop,!0)&&((o=y(O.x)&&y(O.y)&&o.isInsidePlot(O.x-g+O.width,O.y)&&o.isInsidePlot(O.x+g,O.y))||O.hide()))},v.prototype.getStackBox=function(k,O,P,g,c,u,o){var m=O.axis.reversed,l=k.inverted,b=o.height+o.pos-(l?k.plotLeft:k.plotTop);return O=O.isNegative&&!m||!O.isNegative&&m,{x:l?O?g-o.right:g-u+o.pos-k.plotLeft:P+k.xAxis[0].transB-k.plotLeft,y:l?o.height-P-c:O?b-g-u:b-g,width:l?u:c,height:l?c:u}},v}();return Y.prototype.getStacks=function(){var v=this,k=v.inverted;v.yAxis.forEach(function(O){O.stacking&&O.stacking.stacks&&O.hasVisibleSeries&&(O.stacking.oldStacks=O.stacking.stacks)}),v.series.forEach(function(O){var P=O.xAxis&&O.xAxis.options||{};!O.options.stacking||!0!==O.visible&&!1!==v.options.chart.ignoreHiddenSeries||(O.stackKey=[O.type,M(O.options.stack,""),k?P.top:P.left,k?P.height:P.width].join())})},it.compose(X),Q.prototype.setGroupedPoints=function(){var v=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?Q.prototype.setStackedPoints.call(this,"group"):v&&S(v.stacks,function(k,O){"group"===O.slice(-5)&&(S(k,function(P){return P.destroy()}),delete v.stacks[O])})},Q.prototype.setStackedPoints=function(v){var k=v||this.options.stacking;if(k&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var O=this.processedXData,P=this.processedYData,g=[],c=P.length,u=this.options,o=u.threshold,m=M(u.startFromThreshold&&o,0);u=u.stack;var T,w,l="-"+(v=v?this.type+","+k:this.stackKey),b=this.negStacks,n=this.yAxis,r=n.stacking.stacks,f=n.stacking.oldStacks;for(n.stacking.stacksTouched+=1,w=0;w<c;w++){var D=O[w],d=P[w],R=this.getStackIndicator(R,D,this.index),a=R.key,h=(T=b&&d<(m?0:o))?l:v;r[h]||(r[h]={}),r[h][D]||(f[h]&&f[h][D]?(r[h][D]=f[h][D],r[h][D].total=null):r[h][D]=new E(n,n.options.stackLabels,T,D,u)),h=r[h][D],null!==d?(h.points[a]=h.points[this.index]=[M(h.cumulative,m)],I(h.cumulative)||(h.base=a),h.touched=n.stacking.stacksTouched,0<R.index&&!1===this.singleStacks&&(h.points[a][0]=h.points[this.index+","+D+",0"][0])):h.points[a]=h.points[this.index]=null,"percent"===k?(T=T?v:l,h.total=b&&r[T]&&r[T][D]?(T=r[T][D]).total=Math.max(T.total,h.total)+Math.abs(d)||0:F(h.total+(Math.abs(d)||0))):"group"===k?(C(d)&&(d=d[0]),null!==d&&(h.total=(h.total||0)+1)):h.total=F(h.total+(d||0)),h.cumulative="group"===k?(h.total||1)-1:M(h.cumulative,m)+(d||0),null!==d&&(h.points[a].push(h.cumulative),g[w]=h.cumulative,h.hasValidPoints=!0)}"percent"===k&&(n.stacking.usePercentage=!0),"group"!==k&&(this.stackedYData=g),n.stacking.oldStacks={}}},Q.prototype.modifyStacks=function(){var g,v=this,k=v.stackKey,O=v.yAxis.stacking.stacks,P=v.processedXData,c=v.options.stacking;v[c+"Stacker"]&&[k,"-"+k].forEach(function(u){for(var m,l,o=P.length;o--;)g=v.getStackIndicator(g,m=P[o],v.index,u),(l=(m=O[u]&&O[u][m])&&m.points[g.key])&&v[c+"Stacker"](l,m,o)})},Q.prototype.percentStacker=function(v,k,O){v[0]=F(v[0]*(k=k.total?100/k.total:0)),v[1]=F(v[1]*k),this.stackedYData[O]=v[1]},Q.prototype.getStackIndicator=function(v,k,O,P){return!I(v)||v.x!==k||P&&v.stackKey!==P?v={x:k,index:0,key:P,stackKey:P}:v.index++,v.key=[O,k,v.index].join(),v},rt.StackItem=E,rt.StackItem}),Mt($,"Series/Line/LineSeries.js",[$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.defined,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.prototype.drawGraph=function(){var F=this,I=this.options,L=(this.gappedPath||this.getGraphPath).call(this),C=this.chart.styledMode,y=[["graph","highcharts-graph"]];C||y[0].push(I.lineColor||this.color||"#cccccc",I.dashStyle),(y=F.getZonesGraphs(y)).forEach(function(S,M){var E=S[0],v=F[E],k=v?"animate":"attr";v?(v.endX=F.preventGraphAnimation?null:L.xMap,v.animate({d:L})):L.length&&(F[E]=v=F.chart.renderer.path(L).addClass(S[1]).attr({zIndex:1}).add(F.group)),v&&!C&&(E={stroke:S[2],"stroke-width":I.lineWidth,fill:F.fillGraph&&F.color||"none"},S[3]?E.dashstyle=S[3]:"square"!==I.linecap&&(E["stroke-linecap"]=E["stroke-linejoin"]="round"),v[k](E).shadow(2>M&&I.shadow)),v&&(v.startX=L.xMap,v.isArea=L.isArea)})},W.prototype.getGraphPath=function(F,I,L){var E,C=this,y=C.options,S=[],M=[],v=y.step,k=(F=F||C.points).reversed;return k&&F.reverse(),(v={right:1,center:2}[v]||v&&3)&&k&&(v=4-v),(F=this.getValidPoints(F,!1,!(y.connectNulls&&!I&&!L))).forEach(function(O,P){var g=O.plotX,c=O.plotY,u=F[P-1];(O.leftCliff||u&&u.rightCliff)&&!L&&(E=!0),O.isNull&&!Q(I)&&0<P?E=!y.connectNulls:O.isNull&&!I?E=!0:(0===P||E?P=[["M",O.plotX,O.plotY]]:C.getPointSpline?P=[C.getPointSpline(F,O,P)]:v?(P=1===v?[["L",u.plotX,c]]:2===v?[["L",(u.plotX+g)/2,u.plotY],["L",(u.plotX+g)/2,c]]:[["L",g,u.plotY]]).push(["L",g,c]):P=[["L",g,c]],M.push(O.x),v&&(M.push(O.x),2===v&&M.push(O.x)),S.push.apply(S,P),E=!1)}),S.xMap=M,C.graphPath=S},W.prototype.getZonesGraphs=function(F){return this.zones.forEach(function(I,L){L=["zone-graph-"+L,"highcharts-graph highcharts-zone-graph-"+L+" "+(I.className||"")],this.chart.styledMode||L.push(I.color||this.color,I.dashStyle||this.options.dashStyle),F.push(L)},this),F},W.defaultOptions=it(X.defaultOptions,{}),W}(X),Y.registerSeriesType("line",et),et}),Mt($,"Series/Area/AreaSeries.js",[$["Core/Color/Color.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var L,Q=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),it=X.parse,K=et.seriesTypes.line;X=rt.extend;var W=rt.merge,F=rt.objectEach,I=rt.pick;return rt=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return Q(C,L),C.prototype.drawGraph=function(){this.areaPath=[],L.prototype.drawGraph.apply(this);var y=this,S=this.areaPath,M=this.options,E=[["area","highcharts-area",this.color,M.fillColor]];this.zones.forEach(function(v,k){E.push(["zone-area-"+k,"highcharts-area highcharts-zone-area-"+k+" "+v.className,v.color||y.color,v.fillColor||M.fillColor])}),E.forEach(function(v){var k=v[0],O=y[k],P=O?"animate":"attr",g={};O?(O.endX=y.preventGraphAnimation?null:S.xMap,O.animate({d:S})):(g.zIndex=0,(O=y[k]=y.chart.renderer.path(S).addClass(v[1]).add(y.group)).isArea=!0),y.chart.styledMode||(g.fill=I(v[3],it(v[2]).setOpacity(I(M.fillOpacity,.75)).get())),O[P](g),O.startX=S.xMap,O.shiftUnit=M.step?2:1})},C.prototype.getGraphPath=function(y){var k,S=K.prototype.getGraphPath,M=this.options,E=M.stacking,v=this.yAxis,O=[],P=[],g=this.index,c=v.stacking.stacks[this.stackKey],u=M.threshold,o=Math.round(v.getThreshold(M.threshold));M=I(M.connectNulls,"percent"===E);var m=function(r,f,T){var w=y[r];r=E&&c[w.x].points[g];var D=w[T+"Null"]||0;if(T=w[T+"Cliff"]||0,w=!0,T||D){var d=(D?r[0]:r[1])+T,R=r[0]+T;w=!!D}else!E&&y[f]&&y[f].isNull&&(d=R=u);void 0!==d&&(P.push({plotX:b,plotY:null===d?o:v.getThreshold(d),isNull:w,isCliff:!0}),O.push({plotX:b,plotY:null===R?o:v.getThreshold(R),doCurve:!1}))};for(y=y||this.points,E&&(y=this.getStackPoints(y)),k=0;k<y.length;k++){E||(y[k].leftCliff=y[k].rightCliff=y[k].leftNull=y[k].rightNull=void 0);var l=y[k].isNull,b=I(y[k].rectPlotX,y[k].plotX),n=E?I(y[k].yBottom,o):o;(!l||M)&&(M||m(k,k-1,"left"),l&&!E&&M||(P.push(y[k]),O.push({x:k,plotX:b,plotY:n})),M||m(k,k+1,"right"))}return k=S.call(this,P,!0,!0),O.reversed=!0,(n=(l=S.call(this,O,!0,!0))[0])&&"M"===n[0]&&(l[0]=["L",n[1],n[2]]),(l=k.concat(l)).length&&l.push(["Z"]),S=S.call(this,P,!1,M),l.xMap=k.xMap,this.areaPath=l,S},C.prototype.getStackPoints=function(y){var S=this,M=[],E=[],v=this.xAxis,k=this.yAxis,O=k.stacking.stacks[this.stackKey],P={},g=k.series,c=g.length,u=k.options.reversedStacks?1:-1,o=g.indexOf(S);if(y=y||this.points,this.options.stacking){for(var m=0;m<y.length;m++)y[m].leftNull=y[m].rightNull=void 0,P[y[m].x]=y[m];F(O,function(b,n){null!==b.total&&E.push(n)}),E.sort(function(b,n){return b-n});var l=g.map(function(b){return b.visible});E.forEach(function(b,n){var f,T,r=0;if(P[b]&&!P[b].isNull)M.push(P[b]),[-1,1].forEach(function(D){var d=1===D?"rightNull":"leftNull",R=0,a=O[E[n+D]];if(a)for(var h=o;0<=h&&h<c;){var A=g[h].index;(f=a.points[A])||(A===S.index?P[b][d]=!0:l[h]&&(T=O[b].points[A])&&(R-=T[1]-T[0])),h+=u}P[b][1===D?"rightCliff":"leftCliff"]=R});else{for(var w=o;0<=w&&w<c;){if(f=O[b].points[g[w].index]){r=f[1];break}w+=u}r=I(r,0),r=k.translate(r,0,1,0,1),M.push({isNull:!0,plotX:v.translate(b,0,0,0,1),x:b,plotY:r,yBottom:r})}})}return M},C.defaultOptions=W(K.defaultOptions,{threshold:0}),C}(K),X(rt.prototype,{singleStacks:!1,drawLegendSymbol:Y.drawRectangle}),et.registerSeriesType("area",rt),rt}),Mt($,"Series/Spline/SplineSeries.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var K,et=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),rt=X.seriesTypes.line,Q=Y.merge,it=Y.pick;return Y=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return et(W,K),W.prototype.getPointSpline=function(F,I,L){var C=I.plotX||0,y=I.plotY||0,S=F[L-1];if(L=F[L+1],S&&!S.isNull&&!1!==S.doCurve&&!I.isCliff&&L&&!L.isNull&&!1!==L.doCurve&&!I.isCliff){var M=L.plotX||0,E=0,v=(1.5*C+(S.plotX||0))/2.5,k=(1.5*y+(F=S.plotY||0))/2.5,O=(1.5*y+(L=L.plotY||0))/2.5;(M=(1.5*C+M)/2.5)!==v&&(E=(O-k)*(M-C)/(M-v)+y-O),O+=E,(k+=E)>F&&k>y?O=2*y-(k=Math.max(F,y)):k<F&&k<y&&(O=2*y-(k=Math.min(F,y))),O>L&&O>y?k=2*y-(O=Math.max(L,y)):O<L&&O<y&&(k=2*y-(O=Math.min(L,y))),I.rightContX=M,I.rightContY=O}return I=["C",it(S.rightContX,S.plotX,0),it(S.rightContY,S.plotY,0),it(v,C,0),it(k,y,0),C,y],S.rightContX=S.rightContY=void 0,I},W.defaultOptions=Q(rt.defaultOptions),W}(rt),X.registerSeriesType("spline",Y),Y}),Mt($,"Series/AreaSpline/AreaSplineSeries.js",[$["Series/Area/AreaSeries.js"],$["Series/Spline/SplineSeries.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var I,it=this&&this.__extends||(I=function(L,C){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,S){y.__proto__=S}||function(y,S){for(var M in S)S.hasOwnProperty(M)&&(y[M]=S[M])})(L,C)},function(L,C){function y(){this.constructor=L}I(L,C),L.prototype=null===C?Object.create(C):(y.prototype=C.prototype,new y)}),K=X.prototype,W=Q.extend,F=Q.merge;return Q=function(I){function L(){var C=null!==I&&I.apply(this,arguments)||this;return C.data=void 0,C.points=void 0,C.options=void 0,C}return it(L,I),L.defaultOptions=F(Y.defaultOptions,X.defaultOptions),L}(Y),W(Q.prototype,{getGraphPath:K.getGraphPath,getStackPoints:K.getStackPoints,drawGraph:K.drawGraph,drawLegendSymbol:et.drawRectangle}),rt.registerSeriesType("areaspline",Q),Q}),Mt($,"Series/Column/ColumnSeries.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var c,W=this&&this.__extends||(c=function(u,o){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,l){m.__proto__=l}||function(m,l){for(var b in l)l.hasOwnProperty(b)&&(m[b]=l[b])})(u,o)},function(u,o){function m(){this.constructor=u}c(u,o),u.prototype=null===o?Object.create(o):(m.prototype=o.prototype,new m)}),F=X.animObject,I=Y.parse,L=et.hasTouch;X=et.noop;var C=K.clamp,y=K.css,S=K.defined,M=K.extend,E=K.fireEvent,v=K.isArray,k=K.isNumber,O=K.merge,P=K.pick,g=K.objectEach;return K=function(c){function u(){var o=null!==c&&c.apply(this,arguments)||this;return o.borderWidth=void 0,o.data=void 0,o.group=void 0,o.options=void 0,o.points=void 0,o}return W(u,c),u.prototype.animate=function(o){var m=this,l=this.yAxis,b=m.options,n=this.chart.inverted,r={},f=n?"translateX":"translateY";if(o)r.scaleY=.001,o=C(l.toPixels(b.threshold),l.pos,l.pos+l.len),n?r.translateX=o-l.len:r.translateY=o,m.clipBox&&m.setClip(),m.group.attr(r);else{var T=Number(m.group.attr(f));m.group.animate({scaleY:1},M(F(m.options.animation),{step:function(w,D){m.group&&(r[f]=T+D.pos*(l.pos-T),m.group.attr(r))}}))}},u.prototype.init=function(o,m){c.prototype.init.apply(this,arguments);var l=this;(o=l.chart).hasRendered&&o.series.forEach(function(b){b.type===l.type&&(b.isDirty=!0)})},u.prototype.getColumnMetrics=function(){var o=this,m=o.options,l=o.xAxis,b=o.yAxis,n=l.options.reversedStacks;n=l.reversed&&!n||!l.reversed&&n;var f,r={},T=0;!1===m.grouping?T=1:o.chart.series.forEach(function(R){var a=R.yAxis,h=R.options;if(R.type===o.type&&(R.visible||!o.chart.options.chart.ignoreHiddenSeries)&&b.len===a.len&&b.pos===a.pos){if(h.stacking&&"group"!==h.stacking){void 0===r[f=R.stackKey]&&(r[f]=T++);var A=r[f]}else!1!==h.grouping&&(A=T++);R.columnIndex=A}});var w=Math.min(Math.abs(l.transA)*(l.ordinal&&l.ordinal.slope||m.pointRange||l.closestPointRange||l.tickInterval||1),l.len),D=w*m.groupPadding,d=(w-2*D)/(T||1);return m=Math.min(m.maxPointWidth||l.len,P(m.pointWidth,d*(1-2*m.pointPadding))),o.columnMetrics={width:m,offset:(d-m)/2+(D+((o.columnIndex||0)+(n?1:0))*d-w/2)*(n?-1:1),paddedWidth:d,columnCount:T},o.columnMetrics},u.prototype.crispCol=function(o,m,l,b){var n=this.chart,r=this.borderWidth,f=-(r%2?.5:0);return r=r%2?.5:1,n.inverted&&n.renderer.isVML&&(r+=1),this.options.crisp&&(l=Math.round(o+l)+f,l-=o=Math.round(o)+f),b=Math.round(m+b)+r,f=.5>=Math.abs(m)&&.5<b,b-=m=Math.round(m)+r,f&&b&&(--m,b+=1),{x:o,y:m,width:l,height:b}},u.prototype.adjustForMissingColumns=function(o,m,l,b){var n=this,r=this.options.stacking;if(!l.isNull&&1<b.columnCount){var f=this.yAxis.options.reversedStacks,T=0,w=f?0:-b.columnCount;g(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(D){if("number"==typeof l.x&&(D=D[l.x.toString()])){var d=D.points[n.index],R=D.total;r?(d&&(T=w),D.hasValidPoints&&(f?w++:w--)):v(d)&&(T=d[1],w=R||0)}}),o=(l.plotX||0)+((w-1)*b.paddedWidth+m)/2-m-T*b.paddedWidth}return o},u.prototype.translate=function(){var o=this,m=o.chart,l=o.options,b=o.dense=2>o.closestPointRange*o.xAxis.transA;b=o.borderWidth=P(l.borderWidth,b?0:1);var n=o.xAxis,r=o.yAxis,f=l.threshold,T=o.translatedThreshold=r.getThreshold(f),w=P(l.minPointLength,5),D=o.getColumnMetrics(),d=D.width,R=o.pointXOffset=D.offset,a=o.dataMin,h=o.dataMax,A=o.barW=Math.max(d,1+2*b);m.inverted&&(T-=.5),l.pointPadding&&(A=Math.ceil(A)),Q.prototype.translate.apply(o),o.points.forEach(function(j){var z=P(j.yBottom,T),H=999+Math.abs(z),p=j.plotX||0;H=C(j.plotY,-H,r.len+H);var N=Math.min(H,z),_=Math.max(H,z)-N,G=d,U=p+R,tt=A;w&&Math.abs(_)<w&&(_=w,p=!r.reversed&&!j.negative||r.reversed&&j.negative,k(f)&&k(h)&&j.y===f&&h<=f&&(r.min||0)<f&&(a!==h||(r.max||0)<=f)&&(p=!p),N=Math.abs(N-T)>w?z-w:T-(p?w:0)),S(j.options.pointWidth)&&(G=tt=Math.ceil(j.options.pointWidth),U-=Math.round((G-d)/2)),l.centerInCategory&&(U=o.adjustForMissingColumns(U,G,j,D)),j.barX=U,j.pointWidth=G,j.tooltipPos=m.inverted?[C(r.len+r.pos-m.plotLeft-H,r.pos-m.plotLeft,r.len+r.pos-m.plotLeft),n.len+n.pos-m.plotTop-U-tt/2,_]:[n.left-m.plotLeft+U+tt/2,C(H+r.pos-m.plotTop,r.pos-m.plotTop,r.len+r.pos-m.plotTop),_],j.shapeType=o.pointClass.prototype.shapeType||"rect",j.shapeArgs=o.crispCol.apply(o,j.isNull?[U,T,tt,0]:[U,N,tt,_])})},u.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},u.prototype.pointAttribs=function(o,m){var l=this.options,b=this.pointAttrToOptions||{},n=b.stroke||"borderColor",r=b["stroke-width"]||"borderWidth",f=o&&o.color||this.color,T=o&&o[n]||l[n]||f;b=o&&o.options.dashStyle||l.dashStyle;var w=o&&o[r]||l[r]||this[r]||0,D=P(o&&o.opacity,l.opacity,1);if(o&&this.zones.length){var d=o.getZone();f=o.options.color||d&&(d.color||o.nonZonedColor)||this.color,d&&(T=d.borderColor||T,b=d.dashStyle||b,w=d.borderWidth||w)}return m&&o&&(m=(o=O(l.states[m],o.options.states&&o.options.states[m]||{})).brightness,f=o.color||void 0!==m&&I(f).brighten(o.brightness).get()||f,T=o[n]||T,w=o[r]||w,b=o.dashStyle||b,D=P(o.opacity,D)),n={fill:f,stroke:T,"stroke-width":w,opacity:D},b&&(n.dashstyle=b),n},u.prototype.drawPoints=function(){var r,o=this,m=this.chart,l=o.options,b=m.renderer,n=l.animationLimit||250;o.points.forEach(function(f){var T=f.graphic,w=!!T,D=T&&m.pointCount<n?"animate":"attr";k(f.plotY)&&null!==f.y?(r=f.shapeArgs,T&&f.hasNewShapeType()&&(T=T.destroy()),o.enabledDataSorting&&(f.startXPos=o.xAxis.reversed?-(r&&r.width||0):o.xAxis.width),T||(f.graphic=T=b[f.shapeType](r).add(f.group||o.group))&&o.enabledDataSorting&&m.hasRendered&&m.pointCount<n&&(T.attr({x:f.startXPos}),w=!0,D="animate"),T&&w&&T[D](O(r)),l.borderRadius&&T[D]({r:l.borderRadius}),m.styledMode||T[D](o.pointAttribs(f,f.selected&&"select")).shadow(!1!==f.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius),T&&(T.addClass(f.getClassName(),!0),T.attr({visibility:f.visible?"inherit":"hidden"}))):T&&(f.graphic=T.destroy())})},u.prototype.drawTracker=function(){var n,o=this,m=o.chart,l=m.pointer,b=function(r){var f=l.getPointFromEvent(r);void 0!==f&&(l.isDirectTouch=!0,f.onMouseOver(r))};o.points.forEach(function(r){n=v(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),n.forEach(function(f){f.div?f.div.point=r:f.element.point=r})}),o._hasTracking||(o.trackerGroups.forEach(function(r){o[r]&&(o[r].addClass("highcharts-tracker").on("mouseover",b).on("mouseout",function(f){l.onTrackerMouseOut(f)}),L&&o[r].on("touchstart",b),!m.styledMode&&o.options.cursor&&o[r].css(y).css({cursor:o.options.cursor}))}),o._hasTracking=!0),E(this,"afterDrawTracker")},u.prototype.remove=function(){var o=this,m=o.chart;m.hasRendered&&m.series.forEach(function(l){l.type===o.type&&(l.isDirty=!0)}),Q.prototype.remove.apply(o,arguments)},u.defaultOptions=O(Q.defaultOptions,{borderRadius:0,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),u}(Q),M(K.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:rt.drawRectangle,getSymbol:X,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("column",K),K}),Mt($,"Core/Series/DataLabel.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/FormatUtilities.js"],$["Core/Utilities.js"]],function(X,Y,et){var S,rt=X.getDeferredAnimation,Q=Y.format,it=et.defined,K=et.extend,W=et.fireEvent,F=et.isArray,I=et.merge,L=et.objectEach,C=et.pick,y=et.splat;return function(M){function E(u,o,m,l,b){var n=this,r=this.chart,f=this.isCartesian&&r.inverted,T=this.enabledDataSorting,w=C(u.dlBox&&u.dlBox.centerX,u.plotX),D=u.plotY,d=m.rotation,R=m.align,a=it(w)&&it(D)&&r.isInsidePlot(w,Math.round(D),{inverted:f,paneCoordinates:!0,series:n}),h=function(p){T&&n.xAxis&&!A&&n.setDataLabelStartPos(u,o,b,a,p)},A="justify"===C(m.overflow,T?"none":"justify"),j=this.visible&&!1!==u.visible&&(u.series.forceDL||T&&!A||a||C(m.inside,!!this.options.stacking)&&l&&r.isInsidePlot(w,f?l.x+1:l.y+l.height-1,{inverted:f,paneCoordinates:!0,series:n}));if(j&&it(w)&&it(D)){d&&o.attr({align:R}),R=o.getBBox(!0);var z=[0,0],H=r.renderer.fontMetrics(r.styledMode?void 0:m.style.fontSize,o).b;l=K({x:f?this.yAxis.len-D:w,y:Math.round(f?this.xAxis.len-w:D),width:0,height:0},l),K(m,{width:R.width,height:R.height}),d?(A=!1,z=r.renderer.rotCorr(H,d),w={x:l.x+(m.x||0)+l.width/2+z.x,y:l.y+(m.y||0)+{top:0,middle:.5,bottom:1}[m.verticalAlign]*l.height},z=[R.x-Number(o.attr("x")),R.y-Number(o.attr("y"))],h(w),o[b?"attr":"animate"](w)):(h(l),o.align(m,void 0,l),w=o.alignAttr),A&&0<=l.height?this.justifyDataLabel(o,m,w,R,l,b):C(m.crop,!0)&&(l=w.x,h=w.y,j=r.isInsidePlot(l+=z[0],h+=z[1],{paneCoordinates:!0,series:n})&&r.isInsidePlot(l+R.width,h+R.height,{paneCoordinates:!0,series:n})),m.shape&&!d&&o[b?"attr":"animate"]({anchorX:f?r.plotWidth-u.plotY:u.plotX,anchorY:f?r.plotHeight-u.plotX:u.plotY})}b&&T&&(o.placed=!1),j||T&&!A?o.show():(o.hide(),o.placed=!1)}function k(){var u=this,o=u.chart,m=u.options,l=u.points,b=u.hasRendered||0,n=o.renderer,r=m.dataLabels,T=r.animation;if(T=r.defer?rt(o,T,u):{defer:0,duration:0},r=P(P(o.options.plotOptions&&o.options.plotOptions.series&&o.options.plotOptions.series.dataLabels,o.options.plotOptions&&o.options.plotOptions[u.type]&&o.options.plotOptions[u.type].dataLabels),r),W(this,"drawDataLabels"),F(r)||r.enabled||u._hasPointLabels){var w=u.plotGroup("dataLabelsGroup","data-labels",b?"inherit":"hidden",r.zIndex||6);w.attr({opacity:+b}),!b&&(b=u.dataLabelsGroup)&&(u.visible&&w.show(),b[m.animation?"animate":"attr"]({opacity:1},T)),l.forEach(function(D){y(P(r,D.dlOptions||D.options&&D.options.dataLabels)).forEach(function(d,R){var a=d.enabled&&(!D.isNull||D.dataLabelOnNull)&&function v(u,o){var m=o.filter;return!m||(o=m.operator,u=u[m.property],m=m.value,">"===o&&u>m||"<"===o&&u<m||">="===o&&u>=m||"<="===o&&u<=m||"=="===o&&u==m||"==="===o&&u===m)}(D,d),h=D.connectors?D.connectors[R]:D.connector,A=D.dataLabels?D.dataLabels[R]:D.dataLabel,j=!A,z=C(d.distance,D.labelDistance);if(a){var H=D.getLabelConfig(),p=C(d[D.formatPrefix+"Format"],d.format);H=it(p)?Q(p,H,o):(d[D.formatPrefix+"Formatter"]||d.formatter).call(H,d),p=d.style;var N=d.rotation;o.styledMode||(p.color=C(d.color,p.color,u.color,"#000000"),"contrast"===p.color?(D.contrastColor=n.getContrast(D.color||u.color),p.color=!it(z)&&d.inside||0>z||m.stacking?D.contrastColor:"#000000"):delete D.contrastColor,m.cursor&&(p.cursor=m.cursor));var _={r:d.borderRadius||0,rotation:N,padding:d.padding,zIndex:1};o.styledMode||(_.fill=d.backgroundColor,_.stroke=d.borderColor,_["stroke-width"]=d.borderWidth),L(_,function(G,U){void 0===G&&delete _[U]})}!A||a&&it(H)&&!!A.div==!!d.useHTML&&(A.rotation&&d.rotation||A.rotation===d.rotation)||(j=!0,D.dataLabel=A=D.dataLabel&&D.dataLabel.destroy(),D.dataLabels&&(1===D.dataLabels.length?delete D.dataLabels:delete D.dataLabels[R]),R||delete D.dataLabel,h&&(D.connector=D.connector.destroy(),D.connectors&&(1===D.connectors.length?delete D.connectors:delete D.connectors[R]))),a&&it(H)?(A?_.text=H:(D.dataLabels=D.dataLabels||[],A=D.dataLabels[R]=N?n.text(H,0,0,d.useHTML).addClass("highcharts-data-label"):n.label(H,0,0,d.shape,null,null,d.useHTML,null,"data-label"),R||(D.dataLabel=A),A.addClass(" highcharts-data-label-color-"+D.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),A.options=d,A.attr(_),o.styledMode||A.css(p).shadow(d.shadow),A.added||A.add(w),d.textPath&&!d.useHTML&&(A.setTextPath(D.getDataLabelPath&&D.getDataLabelPath(A)||D.graphic,d.textPath),D.dataLabelPath&&!d.textPath.enabled&&(D.dataLabelPath=D.dataLabelPath.destroy())),u.alignDataLabel(D,A,d,null,j)):A&&A.hide()})})}W(this,"afterDrawDataLabels")}function O(u,o,m,l,b,n){var r=this.chart,f=o.align,T=o.verticalAlign,w=u.box?0:u.padding||0,D=o.x;D=void 0===D?0:D;var d=o.y;d=void 0===d?0:d;var R=(m.x||0)+w;if(0>R){"right"===f&&0<=D?(o.align="left",o.inside=!0):D-=R;var a=!0}return(R=(m.x||0)+l.width-w)>r.plotWidth&&("left"===f&&0>=D?(o.align="right",o.inside=!0):D+=r.plotWidth-R,a=!0),0>(R=m.y+w)&&("bottom"===T&&0<=d?(o.verticalAlign="top",o.inside=!0):d-=R,a=!0),(R=(m.y||0)+l.height-w)>r.plotHeight&&("top"===T&&0>=d?(o.verticalAlign="bottom",o.inside=!0):d+=r.plotHeight-R,a=!0),a&&(o.x=D,o.y=d,u.placed=!n,u.align(o,void 0,b)),a}function P(u,o){var l,m=[];if(F(u)&&!F(o))m=u.map(function(b){return I(b,o)});else if(F(o)&&!F(u))m=o.map(function(b){return I(u,b)});else if(F(u)||F(o))for(l=Math.max(u.length,o.length);l--;)m[l]=I(u[l],o[l]);else m=I(u,o);return m}function g(u,o,m,l,b){var n=this.chart,r=n.inverted,f=this.xAxis,T=f.reversed,w=r?o.height/2:o.width/2;u=(u=u.pointWidth)?u/2:0,o.startXPos=r?b.x:T?-w-u:f.width-w+u,o.startYPos=r?T?this.yAxis.height-w+u:-w-u:b.y,l?"hidden"===o.visibility&&(o.show(),o.attr({opacity:0}).animate({opacity:1})):o.attr({opacity:1}).animate({opacity:0},void 0,o.hide),n.hasRendered&&(m&&o.attr({x:o.startXPos,y:o.startYPos}),o.placed=!0)}var c=[];M.compose=function(u){if(-1===c.indexOf(u)){var o=u.prototype;c.push(u),o.alignDataLabel=E,o.drawDataLabels=k,o.justifyDataLabel=O,o.setDataLabelStartPos=g}}}(S||(S={})),S}),Mt($,"Series/Column/ColumnDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=Y.series,Q=et.merge,it=et.pick;return function(W){function F(L,C,y,S,M){var E=this.chart.inverted,v=L.series,k=(v.xAxis?v.xAxis.len:this.chart.plotSizeX)||0,O=L.dlBox||L.shapeArgs,P=it(L.below,L.plotY>it(this.translatedThreshold,v=(v.yAxis?v.yAxis.len:this.chart.plotSizeY)||0)),g=it(y.inside,!!this.options.stacking);O&&(0>(S=Q(O)).y&&(S.height+=S.y,S.y=0),0<(O=S.y+S.height-v)&&O<S.height&&(S.height-=O),E&&(S={x:v-S.y-S.height,y:k-S.x-S.width,width:S.height,height:S.width}),g||(E?(S.x+=P?0:S.width,S.width=0):(S.y+=P?S.height:0,S.height=0))),y.align=it(y.align,!E||g?"center":P?"right":"left"),y.verticalAlign=it(y.verticalAlign,E||g?"middle":P?"top":"bottom"),rt.prototype.alignDataLabel.call(this,L,C,y,S,M),y.inside&&L.contrastColor&&C.css({color:L.contrastColor})}var I=[];W.compose=function(L){X.compose(rt),-1===I.indexOf(L)&&(I.push(L),L.prototype.alignDataLabel=F)}}(K||(K={})),K}),Mt($,"Series/Bar/BarSeries.js",[$["Series/Column/ColumnSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var K,rt=this&&this.__extends||(K=function(W,F){return(K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,L){I.__proto__=L}||function(I,L){for(var C in L)L.hasOwnProperty(C)&&(I[C]=L[C])})(W,F)},function(W,F){function I(){this.constructor=W}K(W,F),W.prototype=null===F?Object.create(F):(I.prototype=F.prototype,new I)}),Q=et.extend,it=et.merge;return et=function(K){function W(){var F=null!==K&&K.apply(this,arguments)||this;return F.data=void 0,F.options=void 0,F.points=void 0,F}return rt(W,K),W.defaultOptions=it(X.defaultOptions,{}),W}(X),Q(et.prototype,{inverted:!0}),Y.registerSeriesType("bar",et),et}),Mt($,"Series/Scatter/ScatterSeries.js",[$["Series/Column/ColumnSeries.js"],$["Series/Line/LineSeries.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var F,Q=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),it=rt.addEvent,K=rt.extend,W=rt.merge;return rt=function(F){function I(){var L=null!==F&&F.apply(this,arguments)||this;return L.data=void 0,L.options=void 0,L.points=void 0,L}return Q(I,F),I.prototype.applyJitter=function(){var L=this,C=this.options.jitter,y=this.points.length;C&&this.points.forEach(function(S,M){["x","y"].forEach(function(E,v){var k="plot"+E.toUpperCase();if(C[E]&&!S.isNull){var O=L[E+"Axis"],P=C[E]*O.transA;if(O&&!O.isLog){var g=Math.max(0,S[k]-P);O=Math.min(O.len,S[k]+P),v=1e4*Math.sin(M+v*y),S[k]=g+(O-g)*(v-Math.floor(v)),"x"===E&&(S.clientX=S.plotX)}}})})},I.prototype.drawGraph=function(){this.options.lineWidth?F.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())},I.defaultOptions=W(Y.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),I}(Y),K(rt.prototype,{drawTracker:X.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),it(rt,"afterTranslate",function(){this.applyJitter()}),et.registerSeriesType("scatter",rt),rt}),Mt($,"Series/CenteredUtilities.js",[$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,F,rt=X.deg2rad,Q=et.isNumber,it=et.pick,K=et.relativeLength;return(F=W||(W={})).getCenter=function(){var I=this.options,L=this.chart,C=2*(I.slicedOffset||0),y=L.plotWidth-2*C,S=L.plotHeight-2*C,M=I.center,E=Math.min(y,S),v=I.thickness,k=I.size,O=I.innerSize||0;for("string"==typeof k&&(k=parseFloat(k)),"string"==typeof O&&(O=parseFloat(O)),I=[it(M[0],"50%"),it(M[1],"50%"),it(k&&0>k?void 0:I.size,"100%"),it(O&&0>O?void 0:I.innerSize||0,"0%")],!L.angular||this instanceof Y||(I[3]=0),M=0;4>M;++M)k=I[M],L=2>M||2===M&&/%$/.test(k),I[M]=K(k,[y,S,E,I[2]][M])+(L?C:0);return I[3]>I[2]&&(I[3]=I[2]),Q(v)&&2*v<I[2]&&0<v&&(I[3]=I[2]-2*v),I},F.getStartAndEndRadians=function(I,L){return I=Q(I)?I:0,L=Q(L)&&L>I&&360>L-I?L:I+360,{start:rt*(I+-90),end:rt*(L+-90)}},W}),Mt($,"Series/Pie/PiePoint.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Series/Point.js"],$["Core/Utilities.js"]],function(X,Y,et){var L,rt=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),Q=X.setAnimation,it=et.addEvent,K=et.defined;X=et.extend;var W=et.isNumber,F=et.pick,I=et.relativeLength;return Y=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.labelDistance=void 0,y.options=void 0,y.series=void 0,y}return rt(C,L),C.prototype.getConnectorPath=function(){var y=this.labelPosition,S=this.series.options.dataLabels,M=this.connectorShapes,E=S.connectorShape;return M[E]&&(E=M[E]),E.call(this,{x:y.final.x,y:y.final.y,alignment:y.alignment},y.connectorPosition,S)},C.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},C.prototype.haloPath=function(y){var S=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(S.x,S.y,S.r+y,S.r+y,{innerR:S.r-1,start:S.start,end:S.end})},C.prototype.init=function(){var y=this;L.prototype.init.apply(this,arguments),this.name=F(this.name,"Slice");var S=function(M){y.slice("select"===M.type)};return it(this,"select",S),it(this,"unselect",S),this},C.prototype.isValid=function(){return W(this.y)&&0<=this.y},C.prototype.setVisible=function(y,S){var M=this,E=this.series,v=E.chart,k=E.options.ignoreHiddenPoint;S=F(S,k),y!==this.visible&&(this.visible=this.options.visible=y=void 0===y?!this.visible:y,E.options.data[E.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(O){M[O]&&M[O][y?"show":"hide"](y)}),this.legendItem&&v.legend.colorizeItem(this,y),y||"hover"!==this.state||this.setState(""),k&&(E.isDirty=!0),S&&v.redraw())},C.prototype.slice=function(y,S,M){var E=this.series;Q(M,E.chart),F(S,!0),this.sliced=this.options.sliced=K(y)?y:!this.sliced,E.options.data[E.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},C}(Y),X(Y.prototype,{connectorShapes:{fixedOffset:function(L,C,y){var S=C.breakAt;return C=C.touchingSliceAt,[["M",L.x,L.y],y.softConnector?["C",L.x+("left"===L.alignment?-5:5),L.y,2*S.x-C.x,2*S.y-C.y,S.x,S.y]:["L",S.x,S.y],["L",C.x,C.y]]},straight:function(L,C){return[["M",L.x,L.y],["L",(C=C.touchingSliceAt).x,C.y]]},crookedLine:function(L,C,y){C=C.touchingSliceAt;var S=this.series,M=S.center[0],E=S.chart.plotWidth,v=S.chart.plotLeft;S=L.alignment;var k=this.shapeArgs.r;return y=I(y.crookDistance,1),y=["L",E="left"===S?M+k+(E+v-M-k)*(1-y):v+(M-k)*y,L.y],M=!0,("left"===S?E>L.x||E<C.x:E<L.x||E>C.x)&&(M=!1),L=[["M",L.x,L.y]],M&&L.push(y),L.push(["L",C.x,C.y]),L}}}),Y}),Mt($,"Series/Pie/PieSeries.js",[$["Series/CenteredUtilities.js"],$["Series/Column/ColumnSeries.js"],$["Core/Globals.js"],$["Core/Legend/LegendSymbol.js"],$["Series/Pie/PiePoint.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/Symbols.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var k,I=this&&this.__extends||(k=function(O,P){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,c){g.__proto__=c}||function(g,c){for(var u in c)c.hasOwnProperty(u)&&(g[u]=c[u])})(O,P)},function(O,P){function g(){this.constructor=O}k(O,P),O.prototype=null===P?Object.create(P):(g.prototype=P.prototype,new g)}),L=X.getStartAndEndRadians;et=et.noop;var C=F.clamp,y=F.extend,S=F.fireEvent,M=F.merge,E=F.pick,v=F.relativeLength;return F=function(k){function O(){var P=null!==k&&k.apply(this,arguments)||this;return P.center=void 0,P.data=void 0,P.maxLabelDistance=void 0,P.options=void 0,P.points=void 0,P}return I(O,k),O.prototype.animate=function(P){var g=this,u=g.startAngleRad;P||g.points.forEach(function(o){var m=o.graphic,l=o.shapeArgs;m&&l&&(m.attr({r:E(o.startR,g.center&&g.center[3]/2),start:u,end:u}),m.animate({r:l.r,start:l.start,end:l.end},g.options.animation))})},O.prototype.drawEmpty=function(){var P=this.startAngleRad,g=this.endAngleRad,c=this.options;if(0===this.total&&this.center){var u=this.center[0],o=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(u,o,this.center[1]/2,0,P,g).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:W.arc(u,o,this.center[2]/2,0,{start:P,end:g,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":c.borderWidth,fill:c.fillColor||"none",stroke:c.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},O.prototype.drawPoints=function(){var P=this.chart.renderer;this.points.forEach(function(g){g.graphic&&g.hasNewShapeType()&&(g.graphic=g.graphic.destroy()),g.graphic||(g.graphic=P[g.shapeType](g.shapeArgs).add(g.series.group),g.delayedRendering=!0)})},O.prototype.generatePoints=function(){k.prototype.generatePoints.call(this),this.updateTotals()},O.prototype.getX=function(P,g,c){var u=this.center,o=this.radii?this.radii[c.index]||0:u[2]/2;return P=Math.asin(C((P-u[1])/(o+c.labelDistance),-1,1)),u[0]+(g?-1:1)*Math.cos(P)*(o+c.labelDistance)+(0<c.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},O.prototype.hasData=function(){return!!this.processedXData.length},O.prototype.redrawPoints=function(){var o,m,l,b,P=this,g=P.chart,c=g.renderer,u=P.options.shadow;this.drawEmpty(),!u||P.shadowGroup||g.styledMode||(P.shadowGroup=c.g("shadow").attr({zIndex:-1}).add(P.group)),P.points.forEach(function(n){var r={};if(m=n.graphic,!n.isNull&&m){var f=void 0;b=n.shapeArgs,o=n.getTranslate(),g.styledMode||(f=n.shadowGroup,u&&!f&&(f=n.shadowGroup=c.g("shadow").add(P.shadowGroup)),f&&f.attr(o),l=P.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(m.setRadialReference(P.center).attr(b).attr(o),g.styledMode||m.attr(l).attr({"stroke-linejoin":"round"}).shadow(u,f),n.delayedRendering=!1):(m.setRadialReference(P.center),g.styledMode||M(!0,r,l),M(!0,r,b,o),m.animate(r)),m.attr({visibility:n.visible?"inherit":"hidden"}),m.addClass(n.getClassName(),!0)}else m&&(n.graphic=m.destroy())})},O.prototype.sortByAngle=function(P,g){P.sort(function(c,u){return void 0!==c.angle&&(u.angle-c.angle)*g})},O.prototype.translate=function(P){this.generatePoints();var g=this.options,c=g.slicedOffset,u=c+(g.borderWidth||0),o=L(g.startAngle,g.endAngle),m=this.startAngleRad=o.start;o=(this.endAngleRad=o.end)-m;var l=this.points,b=g.dataLabels.distance;g=g.ignoreHiddenPoint;var r,n=l.length,f=0;for(P||(this.center=P=this.getCenter()),r=0;r<n;r++){var T=l[r],w=m+f*o;!T.isValid()||g&&!T.visible||(f+=T.percentage/100);var D=m+f*o,d={x:P[0],y:P[1],r:P[2]/2,innerR:P[3]/2,start:Math.round(1e3*w)/1e3,end:Math.round(1e3*D)/1e3};T.shapeType="arc",T.shapeArgs=d,T.labelDistance=E(T.options.dataLabels&&T.options.dataLabels.distance,b),T.labelDistance=v(T.labelDistance,d.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,T.labelDistance),(D=(D+w)/2)>1.5*Math.PI?D-=2*Math.PI:D<-Math.PI/2&&(D+=2*Math.PI),T.slicedTranslation={translateX:Math.round(Math.cos(D)*c),translateY:Math.round(Math.sin(D)*c)},d=Math.cos(D)*P[2]/2;var R=Math.sin(D)*P[2]/2;T.tooltipPos=[P[0]+.7*d,P[1]+.7*R],T.half=D<-Math.PI/2||D>Math.PI/2?1:0,T.angle=D,w=Math.min(u,T.labelDistance/5),T.labelPosition={natural:{x:P[0]+d+Math.cos(D)*T.labelDistance,y:P[1]+R+Math.sin(D)*T.labelDistance},final:{},alignment:0>T.labelDistance?"center":T.half?"right":"left",connectorPosition:{breakAt:{x:P[0]+d+Math.cos(D)*w,y:P[1]+R+Math.sin(D)*w},touchingSliceAt:{x:P[0]+d,y:P[1]+R}}}}S(this,"afterTranslate")},O.prototype.updateTotals=function(){var u,P=this.points,g=P.length,c=this.options.ignoreHiddenPoint,o=0;for(u=0;u<g;u++){var m=P[u];!m.isValid()||c&&!m.visible||(o+=m.y)}for(this.total=o,u=0;u<g;u++)(m=P[u]).percentage=0<o&&(m.visible||!c)?m.y/o*100:0,m.total=o},O.defaultOptions=M(it.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),O}(it),y(F.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:rt.drawRectangle,drawTracker:Y.prototype.drawTracker,getCenter:X.getCenter,getSymbol:et,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Y.prototype.pointAttribs,pointClass:Q,requireSorting:!1,searchPoint:et,trackerGroups:["group","dataLabelsGroup"]}),K.registerSeriesType("pie",F),F}),Mt($,"Series/Pie/PieDataLabel.js",[$["Core/Series/DataLabel.js"],$["Core/Globals.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var M,it=Y.noop,K=et.distribute,W=rt.series,F=Q.arrayMax,I=Q.clamp,L=Q.defined,C=Q.merge,y=Q.pick,S=Q.relativeLength;return function(E){function v(){var h,A,j,z,H,p,N,_,G,U,tt,J,c=this,u=c.data,o=c.chart,m=c.options.dataLabels||{},l=m.connectorPadding,b=o.plotWidth,n=o.plotHeight,r=o.plotLeft,f=Math.round(o.chartWidth/3),T=c.center,w=T[2]/2,D=T[1],d=[[],[]],R=[0,0,0,0],a=c.dataLabelPositioners;c.visible&&(m.enabled||c._hasPointLabels)&&(u.forEach(function(ot){ot.dataLabel&&ot.visible&&ot.dataLabel.shortened&&(ot.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),ot.dataLabel.shortened=!1)}),W.prototype.drawDataLabels.apply(c),u.forEach(function(ot){ot.dataLabel&&(ot.visible?(d[ot.half].push(ot),ot.dataLabel._pos=null,!L(m.style.width)&&!L(ot.options.dataLabels&&ot.options.dataLabels.style&&ot.options.dataLabels.style.width)&&ot.dataLabel.getBBox().width>f&&(ot.dataLabel.css({width:Math.round(.7*f)+"px"}),ot.dataLabel.shortened=!0)):(ot.dataLabel=ot.dataLabel.destroy(),ot.dataLabels&&1===ot.dataLabels.length&&delete ot.dataLabels))}),d.forEach(function(ot,at){var gt,ft=ot.length,mt=[];if(ft){if(c.sortByAngle(ot,at-.5),0<c.maxLabelDistance){var ut=Math.max(0,D-w-c.maxLabelDistance),ht=Math.min(D+w+c.maxLabelDistance,o.plotHeight);ot.forEach(function(V){0<V.labelDistance&&V.dataLabel&&(V.top=Math.max(0,D-w-V.labelDistance),V.bottom=Math.min(D+w+V.labelDistance,o.plotHeight),gt=V.dataLabel.getBBox().height||21,V.distributeBox={target:V.labelPosition.natural.y-V.top+gt/2,size:gt,rank:V.y},mt.push(V.distributeBox))}),K(mt,ut=ht+gt-ut,ut/5)}for(tt=0;tt<ft;tt++){if(z=(h=ot[tt]).dataLabel,U=!1===h.visible?"hidden":"inherit",G=ut=(p=h.labelPosition).natural.y,mt&&L(h.distributeBox)&&(void 0===h.distributeBox.pos?U="hidden":(N=h.distributeBox.size,G=a.radialDistributionY(h))),delete h.positionIndex,m.justify)_=a.justify(h,w,T);else switch(m.alignTo){case"connectors":_=a.alignToConnectors(ot,at,b,r);break;case"plotEdges":_=a.alignToPlotEdges(z,at,b,r);break;default:_=a.radialDistributionX(c,h,G,ut)}z._attr={visibility:U,align:p.alignment},z._pos={x:_+y((J=h.options.dataLabels||{}).x,m.x)+({left:l,right:-l}[p.alignment]||0),y:G+y(J.y,m.y)-10},p.final.x=_,p.final.y=G,y(m.crop,!0)&&(H=z.getBBox().width,ut=null,_-H<l&&1===at?(ut=Math.round(H-_+l),R[3]=Math.max(ut,R[3])):_+H>b-l&&0===at&&(ut=Math.round(_+H-b+l),R[1]=Math.max(ut,R[1])),0>G-N/2?R[0]=Math.max(Math.round(N/2-G),R[0]):G+N/2>n&&(R[2]=Math.max(Math.round(G+N/2-n),R[2])),z.sideOverflow=ut)}}}),0===F(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),this.points.forEach(function(ot){var at;J=C(m,ot.options.dataLabels),(A=y(J.connectorWidth,1))&&(j=ot.connector,(z=ot.dataLabel)&&z._pos&&ot.visible&&0<ot.labelDistance?(U=z._attr.visibility,(at=!j)&&(ot.connector=j=o.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+ot.colorIndex+(ot.className?" "+ot.className:"")).add(c.dataLabelsGroup),o.styledMode||j.attr({"stroke-width":A,stroke:J.connectorColor||ot.color||"#666666"})),j[at?"attr":"animate"]({d:ot.getConnectorPath()}),j.attr("visibility",U)):j&&(ot.connector=j.destroy()))}))}function k(){this.points.forEach(function(c){var o,u=c.dataLabel;u&&c.visible&&((o=u._pos)?(u.sideOverflow&&(u._attr.width=Math.max(u.getBBox().width-u.sideOverflow,0),u.css({width:u._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),u.shortened=!0),u.attr(u._attr),u[u.moved?"animate":"attr"](o),u.moved=!0):u&&u.attr({y:-9999})),delete c.distributeBox},this)}function O(c){var u=this.center,o=this.options,m=o.center,l=o.minSize||80,b=null!==o.size;if(!b){if(null!==m[0])var n=Math.max(u[2]-Math.max(c[1],c[3]),l);else n=Math.max(u[2]-c[1]-c[3],l),u[0]+=(c[3]-c[1])/2;null!==m[1]?n=I(n,l,u[2]-Math.max(c[0],c[2])):(n=I(n,l,u[2]-c[0]-c[2]),u[1]+=(c[0]-c[2])/2),n<u[2]?(u[2]=n,u[3]=Math.min(o.thickness?Math.max(0,n-2*o.thickness):Math.max(0,S(o.innerSize||0,n)),n),this.translate(u),this.drawDataLabels&&this.drawDataLabels()):b=!0}return b}var P=[],g={radialDistributionY:function(c){return c.top+c.distributeBox.pos},radialDistributionX:function(c,u,o,m){return c.getX(o<u.top+2||o>u.bottom-2?m:o,u.half,u)},justify:function(c,u,o){return o[0]+(c.half?-1:1)*(u+c.labelDistance)},alignToPlotEdges:function(c,u,o,m){return c=c.getBBox().width,u?c+m:o-c-m},alignToConnectors:function(c,u,o,m){var b,l=0;return c.forEach(function(n){(b=n.dataLabel.getBBox().width)>l&&(l=b)}),u?l+m:o-l-m}};E.compose=function(c){X.compose(W),-1===P.indexOf(c)&&(P.push(c),(c=c.prototype).dataLabelPositioners=g,c.alignDataLabel=it,c.drawDataLabels=v,c.placeDataLabels=k,c.verifyDataLabelOverflow=O)}}(M||(M={})),M}),Mt($,"Extensions/OverlappingDataLabels.js",[$["Core/Chart/Chart.js"],$["Core/Utilities.js"]],function(X,Y){function et(I,L){var C=!1;if(I){var y=I.newOpacity;I.oldOpacity!==y&&(I.alignAttr&&I.placed?(I[y?"removeClass":"addClass"]("highcharts-data-label-hidden"),C=!0,I.alignAttr.opacity=y,I[I.isOld?"animate":"attr"](I.alignAttr,null,function(){L.styledMode||I.css({pointerEvents:y?"auto":"none"})}),Q(L,"afterHideOverlappingLabel")):I.attr({opacity:y})),I.isOld=!0}return C}var Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.objectEach,F=Y.pick;(0,Y.addEvent)(X,"render",function(){var I=this,L=[];(this.labelCollectors||[]).forEach(function(C){L=L.concat(C())}),(this.yAxis||[]).forEach(function(C){C.stacking&&C.options.stackLabels&&!C.options.stackLabels.allowOverlap&&W(C.stacking.stacks,function(y){W(y,function(S){S.label&&L.push(S.label)})})}),(this.series||[]).forEach(function(C){var y=C.options.dataLabels;C.visible&&(!1!==y.enabled||C._hasPointLabels)&&((y=function(S){return S.forEach(function(M){M.visible&&(it(M.dataLabels)?M.dataLabels:M.dataLabel?[M.dataLabel]:[]).forEach(function(E){var v=E.options;E.labelrank=F(v.labelrank,M.labelrank,M.shapeArgs&&M.shapeArgs.height),v.allowOverlap?(E.oldOpacity=E.opacity,E.newOpacity=1,et(E,I)):L.push(E)})})})(C.nodes||[]),y(C.points))}),this.hideOverlappingLabels(L)}),X.prototype.hideOverlappingLabels=function(I){var S,M,E,L=this,C=I.length,y=L.renderer,v=!1,k=function(g){var c,m,u=g.box?0:g.padding||0,o=c=0;if(g&&(!g.alignAttr||g.placed)){var l=g.alignAttr||{x:g.attr("x"),y:g.attr("y")},b=g.parentGroup;return g.width||(c=g.getBBox(),g.width=c.width,g.height=c.height,c=y.fontMetrics(null,g.element).h),(m={left:"0",center:"0.5",right:"1"}[g.alignValue])?o=+m*(g.width-2*u):K(g.x)&&Math.round(g.x)!==g.translateX&&(o=g.x-g.translateX),{x:l.x+(b.translateX||0)+u-(o||0),y:l.y+(b.translateY||0)+u-c,width:g.width-2*u,height:g.height-2*u}}};for(M=0;M<C;M++)(S=I[M])&&(S.oldOpacity=S.opacity,S.newOpacity=1,S.absoluteBox=k(S));for(I.sort(function(g,c){return(c.labelrank||0)-(g.labelrank||0)}),M=0;M<C;M++){var O=(k=I[M])&&k.absoluteBox;for(S=M+1;S<C;++S){var P=(E=I[S])&&E.absoluteBox;!O||!P||k===E||0===k.newOpacity||0===E.newOpacity||"hidden"===k.visibility||"hidden"===E.visibility||P.x>=O.x+O.width||P.x+P.width<=O.x||P.y>=O.y+O.height||P.y+P.height<=O.y||((k.labelrank<E.labelrank?k:E).newOpacity=0)}}I.forEach(function(g){et(g,L)&&(v=!0)}),v&&Q(L,"afterHideAllOverlappingLabels")}}),Mt($,"Core/Responsive.js",[$["Core/Utilities.js"]],function(X){var L,Y=X.extend,et=X.find,rt=X.isArray,Q=X.isObject,it=X.merge,K=X.objectEach,W=X.pick,F=X.splat,I=X.uniqueKey;return function(C){var y=[];C.compose=function(M){return-1===y.indexOf(M)&&(y.push(M),Y(M.prototype,S.prototype)),M};var S=function(){function M(){}return M.prototype.currentOptions=function(E){var k=this,O={};return function v(P,g,c,u){var o;K(P,function(m,l){if(!u&&-1<k.collectionsWithUpdate.indexOf(l)&&g[l])for(m=F(m),c[l]=[],o=0;o<Math.max(m.length,g[l].length);o++)g[l][o]&&(void 0===m[o]?c[l][o]=g[l][o]:(c[l][o]={},v(m[o],g[l][o],c[l][o],u+1)));else Q(m)?(c[l]=rt(m)?[]:{},v(m,g[l]||{},c[l],u+1)):c[l]=void 0===g[l]?null:g[l]})}(E,this.options,O,0),O},M.prototype.matchResponsiveRule=function(E,v){var k=E.condition;(k.callback||function(){return this.chartWidth<=W(k.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=W(k.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=W(k.minWidth,0)&&this.chartHeight>=W(k.minHeight,0)}).call(this)&&v.push(E._id)},M.prototype.setResponsive=function(E,v){var k=this,O=this.options.responsive,P=this.currentResponsive,g=[];!v&&O&&O.rules&&O.rules.forEach(function(c){void 0===c._id&&(c._id=I()),k.matchResponsiveRule(c,g)},this),(v=it.apply(void 0,g.map(function(c){return et((O||{}).rules||[],function(u){return u._id===c})}).map(function(c){return c&&c.chartOptions}))).isResponsiveOptions=!0,(g=g.toString()||void 0)!==(P&&P.ruleIds)&&(P&&this.update(P.undoOptions,E,!0),g?((P=this.currentOptions(v)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:g,mergedOptions:v,undoOptions:P},this.update(v,E,!0)):this.currentResponsive=void 0)},M}()}(L||(L={})),L}),Mt($,"masters/highcharts.src.js",[$["Core/Globals.js"],$["Core/Utilities.js"],$["Core/DefaultOptions.js"],$["Core/Animation/Fx.js"],$["Core/Animation/AnimationUtilities.js"],$["Core/Renderer/HTML/AST.js"],$["Core/FormatUtilities.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Renderer/HTML/HTMLElement.js"],$["Core/Renderer/HTML/HTMLRenderer.js"],$["Core/Axis/Axis.js"],$["Core/Axis/DateTimeAxis.js"],$["Core/Axis/LogarithmicAxis.js"],$["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],$["Core/Axis/Tick.js"],$["Core/Tooltip.js"],$["Core/Series/Point.js"],$["Core/Pointer.js"],$["Core/MSPointer.js"],$["Core/Legend/Legend.js"],$["Core/Chart/Chart.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Series/Column/ColumnSeries.js"],$["Series/Column/ColumnDataLabel.js"],$["Series/Pie/PieSeries.js"],$["Series/Pie/PieDataLabel.js"],$["Core/Series/DataLabel.js"],$["Core/Responsive.js"],$["Core/Color/Color.js"],$["Core/Time.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L,C,y,S,M,E,v,k,O,P,g,c,u,o,m,l,b,n,r,f,T,w,D){return X.animate=Q.animate,X.animObject=Q.animObject,X.getDeferredAnimation=Q.getDeferredAnimation,X.setAnimation=Q.setAnimation,X.stop=Q.stop,X.timers=rt.timers,X.AST=it,X.Axis=y,X.Chart=u,X.chart=u.chart,X.Fx=rt,X.Legend=c,X.PlotLineOrBand=E,X.Point=O,X.Pointer=g.isRequired()?g:P,X.Series=o,X.SVGElement=F,X.SVGRenderer=I,X.Tick=v,X.Time=D,X.Tooltip=k,X.Color=w,X.color=w.parse,C.compose(I),L.compose(F),X.defaultOptions=et.defaultOptions,X.getOptions=et.getOptions,X.time=et.defaultTime,X.setOptions=et.setOptions,X.dateFormat=K.dateFormat,X.format=K.format,X.numberFormat=K.numberFormat,X.addEvent=Y.addEvent,X.arrayMax=Y.arrayMax,X.arrayMin=Y.arrayMin,X.attr=Y.attr,X.clearTimeout=Y.clearTimeout,X.correctFloat=Y.correctFloat,X.createElement=Y.createElement,X.css=Y.css,X.defined=Y.defined,X.destroyObjectProperties=Y.destroyObjectProperties,X.discardElement=Y.discardElement,X.distribute=W.distribute,X.erase=Y.erase,X.error=Y.error,X.extend=Y.extend,X.extendClass=Y.extendClass,X.find=Y.find,X.fireEvent=Y.fireEvent,X.getMagnitude=Y.getMagnitude,X.getStyle=Y.getStyle,X.inArray=Y.inArray,X.isArray=Y.isArray,X.isClass=Y.isClass,X.isDOMElement=Y.isDOMElement,X.isFunction=Y.isFunction,X.isNumber=Y.isNumber,X.isObject=Y.isObject,X.isString=Y.isString,X.keys=Y.keys,X.merge=Y.merge,X.normalizeTickInterval=Y.normalizeTickInterval,X.objectEach=Y.objectEach,X.offset=Y.offset,X.pad=Y.pad,X.pick=Y.pick,X.pInt=Y.pInt,X.relativeLength=Y.relativeLength,X.removeEvent=Y.removeEvent,X.seriesType=m.seriesType,X.splat=Y.splat,X.stableSort=Y.stableSort,X.syncTimeout=Y.syncTimeout,X.timeUnits=Y.timeUnits,X.uniqueKey=Y.uniqueKey,X.useSerialIds=Y.useSerialIds,X.wrap=Y.wrap,b.compose(l),f.compose(o),S.compose(y),M.compose(y),r.compose(n),E.compose(y),T.compose(u),X}),Mt($,"Core/Axis/OrdinalAxis.js",[$["Core/Axis/Axis.js"],$["Core/Globals.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var y,Q=rt.addEvent,it=rt.correctFloat,K=rt.css,W=rt.defined,F=rt.error,I=rt.pick,L=rt.timeUnits,C=[];return function(S){function M(b,n,r,f,T,w,D){void 0===T&&(T=[]),void 0===w&&(w=0);var A,j,d={},R=this.options.tickPixelInterval,a=this.chart.time,h=[],z=0,H=[],p=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!T||3>T.length||void 0===n)return a.getTimeTicks.apply(a,arguments);var N=T.length;for(A=0;A<N;A++){var _=A&&T[A-1]>r;if(T[A]<n&&(z=A),A===N-1||T[A+1]-T[A]>5*w||_){if(T[A]>p){for(j=a.getTimeTicks(b,T[z],T[A],f);j.length&&j[0]<=p;)j.shift();j.length&&(p=j[j.length-1]),h.push(H.length),H=H.concat(j)}z=A+1}if(_)break}if(j){if(j=j.info,D&&j.unitRange<=L.hour){for(A=H.length-1,z=1;z<A;z++)if(a.dateFormat("%d",H[z])!==a.dateFormat("%d",H[z-1])){d[H[z]]="day";var G=!0}G&&(d[H[0]]="day"),j.higherRanks=d}j.segmentStarts=h,H.info=j}else F(12,!1,this.chart);if(D&&W(R)){for(a=[],z=[],A=void 0,G=j=H.length;G--;)h=this.translate(H[G]),A&&(z[G]=A-h),a[G]=A=h;for(z.sort(),(z=z[Math.floor(z.length/2)])<.6*R&&(z=null),G=H[j-1]>r?j-1:j,A=void 0;G--;)h=a[G],j=Math.abs(A-h),A&&j<.8*R&&(null===z||j<.8*z)?(d[H[G]]&&!d[H[G+1]]?(j=G+1,A=h):j=G,H.splice(j,1)):A=h}return H}function E(b){var n=this.ordinal.positions;if(!n)return b;var r=n.length-1;if(0>b)b=n[0];else if(b>r)b=n[r];else var f=b-(r=Math.floor(b));return void 0!==f&&void 0!==n[r]?n[r]+(f?f*(n[r+1]-n[r]):0):b}function v(b){var n=this.ordinal,r=n.positions;if(!r)return b;var f=(b-(this.old?this.old.min:this.min))*(this.old?this.old.transA:this.transA)+this.minPixelPadding;if(0<f&&f<this.left+this.len||(n.extendedOrdinalPositions||(n.extendedOrdinalPositions=n.getExtendedPositions()),r=n.extendedOrdinalPositions),r&&r.length){if(b=n.getIndexOfPoint(f,r),n=it(b%1),0<=b&&b<r.length-1)return r[Math.floor(b)]+n*(r[Math.ceil(b)]-r[Math.floor(b)]);f=r[0];var T=((r=r[(n=r.length)-1])-f)/(n-1);return 0>b?f+T*b:r+T*(b-n)}return b}function k(b,n){var r=S.Additions.findIndexOf(b,n,!0);return b[r]===n?r:r+(n-b[r])/(b[r+1]-b[r])}function O(){this.ordinal||(this.ordinal=new S.Additions(this))}function P(){this.isXAxis&&W(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&&W(this.userMin)&&(this.min+=this.options.overscroll))}function g(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function c(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function u(b){var n=this.xAxis[0],r=n.options.overscroll,f=b.originalEvent.chartX,T=this.options.chart.panning,w=!1;if(T&&"y"!==T.type&&n.options.ordinal&&n.series.length){var D=this.mouseDownX,d=n.getExtremes(),R=d.dataMax,a=d.min,h=d.max,A=this.hoverPoints,j=n.closestPointRange||n.ordinal&&n.ordinal.overscrollPointsRange;D=(D-f)/(n.translationSlope*(n.ordinal.slope||j)),j=n.ordinal.getExtendedPositions();var z=n.index2val,H=n.val2lin,p=void 0,N=p=void 0,_=void 0;(j={ordinal:{positions:j,extendedOrdinalPositions:j}}).ordinal.positions?1<Math.abs(D)&&(A&&A.forEach(function(G){G.setState()}),0>D?(N=j,_=n.ordinal.positions?n:j):(N=n.ordinal.positions?n:j,_=j),R>(p=_.ordinal.positions)[p.length-1]&&p.push(R),this.fixedRange=h-a,(p=n.navigatorAxis.toFixedRange(void 0,void 0,z.apply(N,[H.apply(N,[a,!0])+D]),z.apply(_,[H.apply(_,[h,!0])+D]))).min>=Math.min(d.dataMin,a)&&p.max<=Math.max(R,h)+r&&n.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=f,K(this.container,{cursor:"move"})):w=!0}else w=!0;w||T&&/y/.test(T.type)?r&&(n.max=n.dataMax+r):b.preventDefault()}function o(){var b=this.xAxis;b&&b.options.ordinal&&(delete b.ordinal.index,delete b.ordinal.extendedOrdinalPositions)}function m(b,n){var r=this.ordinal,f=r.positions,T=r.slope,w=r.extendedOrdinalPositions;if(!f)return b;var D=f.length;if(f[0]<=b&&f[D-1]>=b)b=k(f,b);else{if(w||(w=r.getExtendedPositions&&r.getExtendedPositions(),r.extendedOrdinalPositions=w),!w||!w.length)return b;D=w.length,T||(T=(w[D-1]-w[0])/D),f=k(w,f[0]),b=b>=w[0]&&b<=w[D-1]?k(w,b)-f:b<w[0]?-f-(b=w[0]-b)/T:(b-=w[D-1])/T+D-f}return n?b:T*(b||0)+r.offset}S.compose=function(b,n,r){if(-1===C.indexOf(b)){C.push(b);var f=b.prototype;f.getTimeTicks=M,f.index2val=E,f.lin2val=v,f.val2lin=m,f.ordinal2lin=f.val2lin,Q(b,"afterInit",O),Q(b,"foundExtremes",P),Q(b,"afterSetScale",g),Q(b,"initialAxisTranslation",c)}return-1===C.indexOf(r)&&(C.push(r),Q(r,"pan",u)),-1===C.indexOf(n)&&(C.push(n),Q(n,"updatedData",o)),b};var l=function(){function b(n){this.index={},this.axis=n}return b.prototype.beforeSetTickPositions=function(){var n=this.axis,r=n.ordinal,f=n.getExtremes(),T=f.min,w=f.max,D=n.isXAxis&&!!n.options.breaks;f=n.options.ordinal;var R,a,d=n.chart.options.chart.ignoreHiddenSeries,h=[],A=Number.MAX_VALUE,j=!1;if(f||D){n.series.forEach(function(p,N){if(R=[],!(d&&!1===p.visible||!1===p.takeOrdinalPosition&&!D)&&(h=h.concat(p.processedXData),z=h.length,h.sort(function(_,G){return _-G}),A=Math.min(A,I(p.closestPointRange,A)),z)){for(N=0;N<z-1;)h[N]!==h[N+1]&&R.push(h[N+1]),N++;R[0]!==h[0]&&R.unshift(h[0]),h=R}});var z=h.length;if(2<z){var H=h[1]-h[0];for(a=z-1;a--&&!j;)h[a+1]-h[a]!==H&&(j=!0);!n.options.keepOrdinalPadding&&(h[0]-T>H||w-h[h.length-1]>H)&&(j=!0)}else n.options.overscroll&&(2===z?A=h[1]-h[0]:1===z?h=[h[0],h[0]+(A=n.options.overscroll)]:A=r.overscrollPointsRange);j||n.forceOrdinal?(n.options.overscroll&&(r.overscrollPointsRange=A,h=h.concat(r.getOverscrollPositions())),r.positions=h,H=n.ordinal2lin(Math.max(T,h[0]),!0),a=Math.max(n.ordinal2lin(Math.min(w,h[h.length-1]),!0),1),r.slope=w=(w-T)/(a-H),r.offset=T-H*w):(r.overscrollPointsRange=I(n.closestPointRange,r.overscrollPointsRange),r.positions=n.ordinal.slope=r.offset=void 0)}n.isOrdinal=f&&j,r.groupIntervalFactor=null},b.findIndexOf=function(n,r,f){for(var D,T=0,w=n.length-1;T<w;)n[D=Math.ceil((T+w)/2)]<=r?T=D:w=D-1;return n[T]===r||f?T:-1},b.prototype.getExtendedPositions=function(){var n=this,r=n.axis,f=r.constructor.prototype,T=r.chart,w=r.series[0].currentDataGrouping,D=w?w.count+w.unitName:"raw",d=r.options.overscroll,R=r.getExtremes(),a=void 0,h=n.index;if(h||(h=n.index={}),!h[D]){var A={series:[],chart:T,forceOrdinal:!1,getExtremes:function(){return{min:R.dataMin,max:R.dataMax+d}},getGroupPixelWidth:f.getGroupPixelWidth,getTimeTicks:f.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:f.ordinal2lin,getIndexOfPoint:f.getIndexOfPoint,val2lin:f.val2lin};A.ordinal.axis=A,r.series.forEach(function(j){(a={xAxis:A,xData:j.xData.slice(),chart:T,destroyGroupedData:Y.noop,getProcessedData:et.prototype.getProcessedData,applyGrouping:et.prototype.applyGrouping}).xData=a.xData.concat(n.getOverscrollPositions()),a.options={dataGrouping:w?{firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",enabled:!0,forced:!0,approximation:"open",units:[[w.unitName,[w.count]]]}:{enabled:!1}},A.series.push(a),j.processData.apply(a)}),a.closestPointRange!==a.basePointRange&&a.currentDataGrouping&&(A.forceOrdinal=!0),r.ordinal.beforeSetTickPositions.apply({axis:A}),h[D]=A.ordinal.positions}return h[D]},b.prototype.getGroupIntervalFactor=function(n,r,f){var T=(f=f.processedXData).length,w=[],D=this.groupIntervalFactor;if(!D){for(D=0;D<T-1;D++)w[D]=f[D+1]-f[D];w.sort(function(d,R){return d-R}),w=w[Math.floor(T/2)],n=Math.max(n,f[0]),r=Math.min(r,f[T-1]),this.groupIntervalFactor=D=T*w/(r-n)}return D},b.prototype.getIndexOfPoint=function(n,r){var f=this.axis,T=this.positions?this.positions[0]:0,w=f.series[0].points&&f.series[0].points[0]&&f.series[0].points[0].plotX||f.minPixelPadding;return 1<f.series.length&&f.series.forEach(function(D){D.points&&W(D.points[0])&&W(D.points[0].plotX)&&D.points[0].plotX<w&&(w=D.points[0].plotX)}),n=(n-w)/(f.translationSlope*(this.slope||f.closestPointRange||this.overscrollPointsRange)),b.findIndexOf(r,T)+n},b.prototype.getOverscrollPositions=function(){var n=this.axis,r=n.options.overscroll,f=this.overscrollPointsRange,T=[],w=n.dataMax;if(W(f))for(;w<=n.dataMax+r;)T.push(w+=f);return T},b.prototype.postProcessTickInterval=function(n){var r=this.axis,f=this.slope;return f?r.options.breaks?r.closestPointRange||n:n/(f/r.closestPointRange):n},b}();S.Additions=l}(y||(y={})),y}),Mt($,"Series/DataModifyComposition.js",[$["Core/Axis/Axis.js"],$["Core/Series/Point.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et,rt){var M,Q=Y.prototype.tooltipFormatter,it=rt.addEvent,K=rt.arrayMax,W=rt.arrayMin,F=rt.correctFloat,I=rt.defined,L=rt.isArray,C=rt.isNumber,y=rt.isString,S=rt.pick;return function(E){function v(n,r,f){this.isXAxis||(this.series.forEach(function(T){"compare"===n&&"boolean"!=typeof r?T.setCompare(r,!1):"cumulative"!==n||y(r)||T.setCumulative(r,!1)}),S(f,!0)&&this.chart.redraw())}function k(n){var r=this,f=r.series.chart.numberFormatter,T=function(w){n=n.replace("{point."+w+"}",(0<r[w]&&"change"===w?"+":"")+f(r[w],S(r.series.tooltipOptions.changeDecimals,2)))};return I(r.change)&&T("change"),I(r.cumulativeSum)&&T("cumulativeSum"),Q.apply(this,[n])}function O(){var n=this.options.compare;if("percent"===n||"value"===n||this.options.cumulative){var r=new b(this);"percent"===n||"value"===n?r.initCompare(n):r.initCumulative()}this.dataModify=r}function P(n){var r=(n=n.dataExtremes).activeYData;if(this.dataModify&&n){var f=void 0;this.options.compare?f=[this.dataModify.modifyValue(n.dataMin),this.dataModify.modifyValue(n.dataMax)]:this.options.cumulative&&L(r)&&2<=r.length&&(f=b.getCumulativeExtremes(r)),f&&(n.dataMin=W(f),n.dataMax=K(f))}}function g(n,r){this.options.compare=this.userOptions.compare=n,this.update({},S(r,!0)),!this.dataModify||"value"!==n&&"percent"!==n?this.points.forEach(function(f){delete f.change}):this.dataModify.initCompare(n)}function c(){if(this.xAxis&&this.processedYData&&this.dataModify){var D,n=this.processedXData,r=this.processedYData,f=r.length,T=!0===this.options.compareStart?0:1,w=-1;for(this.pointArrayMap&&(w=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),D=0;D<f-T;D++){var d=r[D]&&-1<w?r[D][w]:r[D];if(C(d)&&0!==d&&n[D+T]>=(this.xAxis.min||0)){this.dataModify.compareValue=d;break}}}}function u(n,r){this.setModifier("compare",n,r)}function o(n,r){n=S(n,!1),this.options.cumulative=this.userOptions.cumulative=n,this.update({},S(r,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(function(f){delete f.cumulativeSum})}function m(n,r){this.setModifier("cumulative",n,r)}var l=[];E.compose=function(n,r,f){if(-1===l.indexOf(n)){l.push(n);var T=n.prototype;T.setCompare=g,T.setCumulative=o,it(n,"afterInit",O),it(n,"afterGetExtremes",P),it(n,"afterProcessData",c)}return-1===l.indexOf(r)&&(l.push(r),(r=r.prototype).setCompare=u,r.setModifier=v,r.setCumulative=m),-1===l.indexOf(f)&&(l.push(f),f.prototype.tooltipFormatter=k),n};var b=function(){function n(r){this.series=r}return n.prototype.modifyValue=function(){return 0},n.getCumulativeExtremes=function(r){var f=1/0,T=-1/0;return r.reduce(function(w,D){return D=w+D,f=Math.min(f,D,w),T=Math.max(T,D,w),D}),[f,T]},n.prototype.initCompare=function(r){this.modifyValue=function(f,T){null===f&&(f=0);var w=this.compareValue;return void 0!==f&&void 0!==w?(f="value"===r?f-w:f/w*100-(100===this.series.options.compareBase?0:100),void 0!==T&&(T=this.series.points[T])&&(T.change=f),f):0}},n.prototype.initCumulative=function(){this.modifyValue=function(r,f){if(null===r&&(r=0),void 0!==r&&void 0!==f){var T=0<f?this.series.points[f-1]:null;return T&&T.cumulativeSum&&(r=F(T.cumulativeSum+r)),(f=this.series.points[f])&&(f.cumulativeSum=r),r}return 0}},n}();E.Additions=b}(M||(M={})),M}),Mt($,"Core/Axis/BrokenAxis.js",[$["Extensions/Stacking.js"],$["Core/Utilities.js"]],function(X,Y){var F,et=Y.addEvent,rt=Y.find,Q=Y.fireEvent,it=Y.isArray,K=Y.isNumber,W=Y.pick;return function(I){function L(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function C(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function y(){var g=this.brokenAxis;if(g&&g.hasBreaks){for(var c=this.tickPositions,u=this.tickPositions.info,o=[],m=0;m<c.length;m++)g.isInAnyBreak(c[m])||o.push(c[m]);this.tickPositions=o,this.tickPositions.info=u}}function S(){this.brokenAxis||(this.brokenAxis=new P(this))}function M(){var g=this.options.connectNulls,c=this.points,u=this.xAxis,o=this.yAxis;if(this.isDirty)for(var m=c.length;m--;){var l=c[m],b=!(null===l.y&&!1===g)&&(u&&u.brokenAxis&&u.brokenAxis.isInAnyBreak(l.x,!0)||o&&o.brokenAxis&&o.brokenAxis.isInAnyBreak(l.y,!0));l.visible=!b&&!1!==l.options.visible}}function E(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,W(this.pointArrayMap,["y"]))}function v(g,c){var m,l,b,n,u=this,o=u.points;if(g&&g.brokenAxis&&g.brokenAxis.hasBreaks){var r=g.brokenAxis;c.forEach(function(f){m=r&&r.breakArray||[],l=g.isXAxis?g.min:W(u.options.threshold,g.min),o.forEach(function(T){n=W(T["stack"+f.toUpperCase()],T[f]),m.forEach(function(w){K(l)&&K(n)&&(b=!1,l<w.from&&n>w.to||l>w.from&&n<w.from?b="pointBreak":(l<w.from&&n>w.from&&n<w.to||l>w.from&&n>w.to&&n<w.from)&&(b="pointInBreak"),b&&Q(g,b,{point:T,brk:w}))})})})}}function k(){var g=this.currentDataGrouping,c=g&&g.gapSize;g=this.points.slice();var l,u=this.yAxis,o=this.options.gapSize,m=g.length-1;if(o&&0<m)for("value"!==this.options.gapUnit&&(o*=this.basePointRange),c&&c>o&&c>=this.basePointRange&&(o=c),l=void 0;m--;)l&&!1!==l.visible||(l=g[m+1]),c=g[m],!1!==l.visible&&!1!==c.visible&&(l.x-c.x>o&&(g.splice(m+1,0,{isNull:!0,x:l=(c.x+l.x)/2}),u.stacking&&this.options.stacking&&((l=u.stacking.stacks[this.stackKey][l]=new X(u,u.options.stackLabels,!1,l,this.stack)).total=0)),l=c);return this.getGraphPath(g)}var O=[];I.compose=function(g,c){if(-1===O.indexOf(g)&&(O.push(g),g.keepProps.push("brokenAxis"),et(g,"init",S),et(g,"afterInit",L),et(g,"afterSetTickPositions",y),et(g,"afterSetOptions",C)),-1===O.indexOf(c)){O.push(c);var u=c.prototype;u.drawBreaks=v,u.gappedPath=k,et(c,"afterGeneratePoints",M),et(c,"afterRender",E)}return g};var P=function(){function g(c){this.hasBreaks=!1,this.axis=c}return g.isInBreak=function(c,u){var o=c.repeat||1/0,m=c.from,l=c.to-c.from;return u=u>=m?(u-m)%o:o-(m-u)%o,c.inclusive?u<=l:u<l&&0!==u},g.lin2Val=function(c){var o,u=this.brokenAxis;if(!(u=u&&u.breakArray)||!K(c))return c;for(o=0;o<u.length;o++){var m=u[o];if(m.from>=c)break;(m.to<c||g.isInBreak(m,c))&&(c+=m.len)}return c},g.val2Lin=function(c){var u=this.brokenAxis;if(!(u=u&&u.breakArray)||!K(c))return c;var m,o=c;for(m=0;m<u.length;m++){var l=u[m];if(l.to<=c)o-=l.len;else{if(l.from>=c)break;if(g.isInBreak(l,c)){o-=c-l.from;break}}}return o},g.prototype.findBreakAt=function(c,u){return rt(u,function(o){return o.from<c&&c<o.to})},g.prototype.isInAnyBreak=function(c,u){var b,o=this.axis,m=o.options.breaks||[],l=m.length;if(l&&K(c)){for(;l--;)if(g.isInBreak(m[l],c)){var n=!0;b||(b=W(m[l].showPoints,!o.isXAxis))}var r=n&&u?n&&!b:n}return r},g.prototype.setBreaks=function(c,u){var o=this,m=o.axis,l=it(c)&&!!c.length;m.isDirty=o.hasBreaks!==l,o.hasBreaks=l,m.options.breaks=m.userOptions.breaks=c,m.forceRedraw=!0,m.series.forEach(function(b){b.isDirty=!0}),l||m.val2lin!==g.val2Lin||(delete m.val2lin,delete m.lin2val),l&&(m.userOptions.ordinal=!1,m.lin2val=g.lin2Val,m.val2lin=g.val2Lin,m.setExtremes=function(b,n,r,f,T){if(o.hasBreaks){for(var D,w=this.options.breaks||[];D=o.findBreakAt(b,w);)b=D.to;for(;D=o.findBreakAt(n,w);)n=D.from;n<b&&(n=b)}m.constructor.prototype.setExtremes.call(this,b,n,r,f,T)},m.setAxisTranslation=function(){if(m.constructor.prototype.setAxisTranslation.call(this),o.unitLength=void 0,o.hasBreaks){var w,R,b=m.options.breaks||[],n=[],r=[],f=W(m.pointRangePadding,0),T=0,D=m.userMin||m.min,d=m.userMax||m.max;b.forEach(function(A){w=A.repeat||1/0,K(D)&&K(d)&&(g.isInBreak(A,D)&&(D+=A.to%w-D%w),g.isInBreak(A,d)&&(d-=d%w-A.from%w))}),b.forEach(function(A){if(h=A.from,w=A.repeat||1/0,K(D)&&K(d)){for(;h-w>D;)h-=w;for(;h<D;)h+=w;for(R=h;R<d;R+=w)n.push({value:R,move:"in"}),n.push({value:R+A.to-A.from,move:"out",size:A.breakSize})}}),n.sort(function(A,j){return A.value===j.value?("in"===A.move?0:1)-("in"===j.move?0:1):A.value-j.value});var a=0,h=D;n.forEach(function(A){1===(a+="in"===A.move?1:-1)&&"in"===A.move&&(h=A.value),0===a&&K(h)&&(r.push({from:h,to:A.value,len:A.value-h-(A.size||0)}),T+=A.value-h-(A.size||0))}),o.breakArray=r,K(D)&&K(d)&&K(m.min)&&(o.unitLength=d-D-T+f,Q(m,"afterBreaks"),m.staticScale?m.transA=m.staticScale:o.unitLength&&(m.transA*=(d-m.min+f)/o.unitLength),f&&(m.minPixelPadding=m.transA*(m.minPointOffset||0)),m.min=D,m.max=d)}}),W(u,!0)&&m.chart.redraw()},g}();I.Additions=P}(F||(F={})),F}),Mt($,"masters/modules/broken-axis.src.js",[$["Core/Globals.js"],$["Core/Axis/BrokenAxis.js"]],function(X,Y){Y.compose(X.Axis,X.Series)}),Mt($,"Extensions/DataGrouping.js",[$["Core/Axis/Axis.js"],$["Core/Axis/DateTimeAxis.js"],$["Core/FormatUtilities.js"],$["Core/Globals.js"],$["Core/Series/Point.js"],$["Core/Series/Series.js"],$["Core/Tooltip.js"],$["Core/DefaultOptions.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F){var I=et.format,L=it.prototype;et=F.addEvent;var C=F.arrayMax,y=F.arrayMin,S=F.correctFloat,M=F.defined,E=F.error,v=F.extend,k=F.isNumber,O=F.merge,P=F.pick,g=rt.approximations={sum:function(b){var n=b.length;if(!n&&b.hasNulls)var r=null;else if(n)for(r=0;n--;)r+=b[n];return r},average:function(b){var n=b.length;return b=g.sum(b),k(b)&&n&&(b=S(b/n)),b},averages:function(){var b=[];return[].forEach.call(arguments,function(n){b.push(g.average(n))}),void 0===b[0]?void 0:b},open:function(b){return b.length?b[0]:b.hasNulls?null:void 0},high:function(b){return b.length?C(b):b.hasNulls?null:void 0},low:function(b){return b.length?y(b):b.hasNulls?null:void 0},close:function(b){return b.length?b[b.length-1]:b.hasNulls?null:void 0},hlc:function(b,n,r){if(b=g.high(b),n=g.low(n),r=g.close(r),k(b)||k(n)||k(r))return[b,n,r]},ohlc:function(b,n,r,f){if(b=g.open(b),n=g.high(n),r=g.low(r),f=g.close(f),k(b)||k(n)||k(r)||k(f))return[b,n,r,f]},range:function(b,n){return b=g.low(b),n=g.high(n),k(b)||k(n)?[b,n]:null===b&&null===n?null:void 0}},c={approximations:g,groupData:F=function(b,n,r,f){var U,T=this,w=T.data,D=T.options&&T.options.data,d=[],R=[],a=[],h=b.length,A=!!n,j=[],z=T.pointArrayMap,H=z&&z.length,p=["x"].concat(z||["y"]),N=this.options.dataGrouping&&this.options.dataGrouping.groupAll,_=0,G=0;f="function"==typeof f?f:g[f]?g[f]:g[T.getDGApproximation&&T.getDGApproximation()||"average"],H?z.forEach(function(){j.push([])}):j.push([]);var tt=H||1;for(U=0;U<=h&&!(b[U]>=r[0]);U++);for(;U<=h;U++){for(;void 0!==r[_+1]&&b[U]>=r[_+1]||U===h;){var J=r[_];T.dataGroupInfo={start:N?G:T.cropStart+G,length:j[0].length};var ot=f.apply(T,j);for(T.pointClass&&!M(T.dataGroupInfo.options)&&(T.dataGroupInfo.options=O(T.pointClass.prototype.optionsToObject.call({series:T},T.options.data[T.cropStart+G])),p.forEach(function(ft){delete T.dataGroupInfo.options[ft]})),void 0!==ot&&(d.push(J),R.push(ot),a.push(T.dataGroupInfo)),G=U,J=0;J<tt;J++)j[J].length=0,j[J].hasNulls=!1;if(_+=1,U===h)break}if(U===h)break;if(z){J=T.options.dataGrouping&&T.options.dataGrouping.groupAll?U:T.cropStart+U,ot=w&&w[J]||T.pointClass.prototype.applyOptions.apply({series:T},[D[J]]);var at=void 0;for(J=0;J<H;J++)k(at=ot[z[J]])?j[J].push(at):null===at&&(j[J].hasNulls=!0)}else k(J=A?n[U]:null)?j[0].push(J):null===J&&(j[0].hasNulls=!0)}return{groupedXData:d,groupedYData:R,groupMap:a}}},u=L.generatePoints,o={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"]}},m={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},l=rt.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]];return L.getDGApproximation=function(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")?"sum":"average"},L.groupData=F,L.applyGrouping=function(b){var w,n=this.chart,r=this.options.dataGrouping,f=!1!==this.allowDG&&r&&P(r.enabled,n.options.isStock),T=this.visible||!n.options.chart.ignoreHiddenSeries,D=this.currentDataGrouping,d=!1;if(f&&!this.requireSorting&&(this.requireSorting=d=!0),b=!(!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty||b)||!f,d&&(this.requireSorting=!1),!b){this.destroyGroupedData(),f=r.groupAll?this.xData:this.processedXData;var R=r.groupAll?this.yData:this.processedYData;b=n.plotSizeX;var a=(d=this.xAxis).options.ordinal,h=this.groupPixelWidth;if(h&&f&&f.length){this.isDirty=w=!0,this.points=null;var A=d.getExtremes(),j=A.min;A=A.max,a=a&&d.ordinal&&d.ordinal.getGroupIntervalFactor(j,A,this)||1,b=d.getTimeTicks(Y.Additions.prototype.normalizeTimeTickInterval(h*(A-j)/b*a,r.units||l),Math.min(j,f[0]),Math.max(A,f[f.length-1]),d.options.startOfWeek,f,this.closestPointRange),f=(h=L.groupData.apply(this,[f,R,b,r.approximation])).groupedXData,R=h.groupedYData,a=0,r&&r.smoothed&&f.length&&(r.firstAnchor="firstPoint",r.anchor="middle",r.lastAnchor="lastPoint",E(32,!1,n,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),n=f;var z=this.options.dataGrouping;if(j=this.currentDataGrouping&&this.currentDataGrouping.gapSize,z&&this.xData&&j&&this.groupMap){var H=n.length-1,p=z.anchor,N=P(z.firstAnchor,p);if(z=P(z.lastAnchor,p),p&&"start"!==p){var _=j*{middle:.5,end:1}[p];for(p=n.length-1;p--&&0<p;)n[p]+=_}if(N&&"start"!==N&&this.xData[0]>=n[0]){_=this.groupMap[0].length;var G=void 0;k(p=this.groupMap[0].start)&&k(_)&&(G=p+(_-1)),n[0]={middle:n[0]+.5*j,end:n[0]+j,firstPoint:this.xData[0],lastPoint:G&&this.xData[G]}[N]}z&&"start"!==z&&j&&n[H]>=A-j&&(n[H]={middle:n[H]+.5*j,end:n[H]+j,firstPoint:(A=this.groupMap[this.groupMap.length-1].start)&&this.xData[A],lastPoint:this.xData[this.xData.length-1]}[z])}for(A=1;A<b.length;A++)b.info.segmentStarts&&-1!==b.info.segmentStarts.indexOf(A)||(a=Math.max(b[A]-b[A-1],a));(A=b.info).gapSize=a,this.closestPointRange=b.info.totalRange,this.groupMap=h.groupMap,T&&(M((T=f)[0])&&k(d.min)&&k(d.dataMin)&&T[0]<d.min&&((!M(d.options.min)&&d.min<=d.dataMin||d.min===d.dataMin)&&(d.min=Math.min(T[0],d.min)),d.dataMin=Math.min(T[0],d.dataMin)),M(T[T.length-1])&&k(d.max)&&k(d.dataMax)&&T[T.length-1]>d.max&&((!M(d.options.max)&&k(d.dataMax)&&d.max>=d.dataMax||d.max===d.dataMax)&&(d.max=Math.max(T[T.length-1],d.max)),d.dataMax=Math.max(T[T.length-1],d.dataMax))),r.groupAll&&(this.allGroupedData=R,f=(r=this.cropData(f,R,d.min,d.max,1)).xData,R=r.yData,this.cropStart=r.start),this.processedXData=f,this.processedYData=R}else this.groupMap=null;this.hasGroupedData=w,this.currentDataGrouping=A,this.preventGraphAnimation=(D&&D.totalRange)!==(A&&A.totalRange)}},L.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(b,n){b&&(this.groupedData[n]=b.destroy?b.destroy():null)},this),this.groupedData.length=0)},L.generatePoints=function(){u.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null},X.prototype.applyGrouping=function(b){var n=this,r=n.series;r.forEach(function(f){f.groupPixelWidth=void 0}),r.forEach(function(f){f.groupPixelWidth=n.getGroupPixelWidth&&n.getGroupPixelWidth(),f.groupPixelWidth&&(f.hasProcessed=!0),f.applyGrouping(!!b.hasExtemesChanged)})},X.prototype.getGroupPixelWidth=function(){var r,w,b=this.series,n=b.length,f=0,T=!1;for(r=n;r--;)(w=b[r].options.dataGrouping)&&(f=Math.max(f,P(w.groupPixelWidth,o.groupPixelWidth)));for(r=n;r--;)(w=b[r].options.dataGrouping)&&(n=(b[r].processedXData||b[r].data).length,(b[r].groupPixelWidth||n>this.chart.plotSizeX/f||n&&w.forced)&&(T=!0));return T?f:0},X.prototype.setDataGrouping=function(b,n){var r;if(n=P(n,!0),b||(b={forced:!1,units:null}),this instanceof X)for(r=this.series.length;r--;)this.series[r].update({dataGrouping:b},!1);else this.chart.options.series.forEach(function(f){f.dataGrouping="boolean"==typeof b?b:O(b,f.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),n&&this.chart.redraw()},et(X,"postProcessData",X.prototype.applyGrouping),et(Q,"update",function(){if(this.dataGroup)return E(24,!1,this.series.chart),!1}),et(K,"headerFormatter",function(b){var n=this.chart,r=n.time,f=b.labelConfig,T=f.series,w=T.tooltipOptions,D=T.options.dataGrouping,d=w.xDateFormat,R=T.xAxis,a=w[b.isFooter?"footerFormat":"headerFormat"];if(R&&"datetime"===R.options.type&&D&&k(f.key)){var h=T.currentDataGrouping;if(D=D.dateTimeLabelFormats||o.dateTimeLabelFormats,h)if(w=D[h.unitName],1===h.count)d=w[0];else{d=w[1];var A=w[2]}else!d&&D&&R.dateTime&&(d=R.dateTime.getXDateFormat(f.x,w.dateTimeLabelFormats));d=r.dateFormat(d,f.key),A&&(d+=r.dateFormat(A,f.key+h.totalRange-1)),T.chart.styledMode&&(a=this.styledModeFormat(a)),b.text=I(a,{point:v(f.point,{key:d}),series:T},n),b.preventDefault()}}),et(it,"destroy",L.destroyGroupedData),et(it,"afterSetOptions",function(b){b=b.options;var n=this.type,r=this.chart.options.plotOptions,f=W.defaultOptions.plotOptions[n].dataGrouping,T=this.useCommonDataGrouping&&o;if(r&&(m[n]||T)){f||(f=O(o,m[n]));var w=this.chart.rangeSelector;b.dataGrouping=O(T,f,r.series&&r.series.dataGrouping,r[n].dataGrouping,this.userOptions.dataGrouping,!b.isInternal&&w&&k(w.selected)&&w.buttonOptions[w.selected].dataGrouping)}}),et(X,"afterSetScale",function(){this.series.forEach(function(b){b.hasProcessed=!1})}),rt.dataGrouping=c,c}),Mt($,"Series/HLC/HLCPoint.js",[$["Core/Series/SeriesRegistry.js"]],function(X){var et,Y=this&&this.__extends||(et=function(rt,Q){return(et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(it,K){it.__proto__=K}||function(it,K){for(var W in K)K.hasOwnProperty(W)&&(it[W]=K[W])})(rt,Q)},function(rt,Q){function it(){this.constructor=rt}et(rt,Q),rt.prototype=null===Q?Object.create(Q):(it.prototype=Q.prototype,new it)});return function(et){function rt(){var Q=null!==et&&et.apply(this,arguments)||this;return Q.close=void 0,Q.high=void 0,Q.low=void 0,Q.options=void 0,Q.plotClose=void 0,Q.series=void 0,Q}return Y(rt,et),rt}(X.seriesTypes.column.prototype.pointClass)}),Mt($,"Series/HLC/HLCSeries.js",[$["Series/HLC/HLCPoint.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,rt=this&&this.__extends||(W=function(F,I){return(W=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(L,C){L.__proto__=C}||function(L,C){for(var y in C)C.hasOwnProperty(y)&&(L[y]=C[y])})(F,I)},function(F,I){function L(){this.constructor=F}W(F,I),F.prototype=null===I?Object.create(I):(L.prototype=I.prototype,new L)}),Q=Y.seriesTypes.column,it=et.extend,K=et.merge;return et=function(W){function F(){var I=null!==W&&W.apply(this,arguments)||this;return I.data=void 0,I.options=void 0,I.points=void 0,I.yData=void 0,I}return rt(F,W),F.prototype.extendStem=function(I,L,C){var y=I[0];I=I[1],"number"==typeof y[2]&&(y[2]=Math.max(C+L,y[2])),"number"==typeof I[2]&&(I[2]=Math.min(C-L,I[2]))},F.prototype.getPointPath=function(I,L){L=L.strokeWidth();var C=I.series,y=L%2/2,S=Math.round(I.plotX)-y,M=Math.round(I.shapeArgs.width/2),E=[["M",S,Math.round(I.yBottom)],["L",S,Math.round(I.plotHigh)]];return null!==I.close&&(I=Math.round(I.plotClose)+y,E.push(["M",S,I],["L",S+M,I]),C.extendStem(E,L/2,I)),E},F.prototype.drawSinglePoint=function(I){var L=I.series,C=L.chart,y=I.graphic,S=!y;void 0!==I.plotY&&(y||(I.graphic=y=C.renderer.path().add(L.group)),C.styledMode||y.attr(L.pointAttribs(I,I.selected&&"select")),L=L.getPointPath(I,y),y[S?"attr":"animate"]({d:L}).addClass(I.getClassName(),!0))},F.prototype.drawPoints=function(){this.points.forEach(this.drawSinglePoint)},F.prototype.init=function(){W.prototype.init.apply(this,arguments),this.options.stacking=void 0},F.prototype.pointAttribs=function(I,L){return delete(I=W.prototype.pointAttribs.call(this,I,L)).fill,I},F.prototype.toYData=function(I){return[I.high,I.low,I.close]},F.prototype.translate=function(){var I=this,L=I.yAxis,C=this.pointArrayMap&&this.pointArrayMap.slice()||[],y=C.map(function(S){return"plot"+(S.charAt(0).toUpperCase()+S.slice(1))});y.push("yBottom"),C.push("low"),W.prototype.translate.apply(I),I.points.forEach(function(S){C.forEach(function(M,E){null!==(M=S[M])&&(I.dataModify&&(M=I.dataModify.modifyValue(M)),S[y[E]]=L.toPixels(M,!0))}),S.tooltipPos[1]=S.plotHigh+L.pos-I.chart.plotTop})},F.defaultOptions=K(Q.defaultOptions,{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b> {series.name}</b><br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),F}(Q),it(et.prototype,{animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),et.prototype.pointClass=X,Y.registerSeriesType("hlc",et),et}),Mt($,"Series/OHLC/OHLCPoint.js",[$["Core/Series/SeriesRegistry.js"]],function(X){var et,Y=this&&this.__extends||(et=function(rt,Q){return(et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(it,K){it.__proto__=K}||function(it,K){for(var W in K)K.hasOwnProperty(W)&&(it[W]=K[W])})(rt,Q)},function(rt,Q){function it(){this.constructor=rt}et(rt,Q),rt.prototype=null===Q?Object.create(Q):(it.prototype=Q.prototype,new it)});return function(et){function rt(){var Q=null!==et&&et.apply(this,arguments)||this;return Q.open=void 0,Q.options=void 0,Q.plotOpen=void 0,Q.series=void 0,Q}return Y(rt,et),rt.prototype.getClassName=function(){return et.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")},rt.prototype.resolveUpColor=function(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)},rt.prototype.resolveColor=function(){et.prototype.resolveColor.call(this),this.resolveUpColor()},rt.prototype.getZone=function(){var Q=et.prototype.getZone.call(this);return this.resolveUpColor(),Q},rt.prototype.applyOptions=function(){return et.prototype.applyOptions.apply(this,arguments),this.resolveColor&&this.resolveColor(),this},rt}(X.seriesTypes.hlc.prototype.pointClass)}),Mt($,"Series/OHLC/OHLCSeries.js",[$["Series/OHLC/OHLCPoint.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var L,rt=this&&this.__extends||(L=function(C,y){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,M){S.__proto__=M}||function(S,M){for(var E in M)M.hasOwnProperty(E)&&(S[E]=M[E])})(C,y)},function(C,y){function S(){this.constructor=C}L(C,y),C.prototype=null===y?Object.create(y):(S.prototype=y.prototype,new S)}),Q=Y.series,it=Y.seriesTypes.hlc,K=et.addEvent,W=et.extend,F=et.merge,I=function(L){function C(){var y=null!==L&&L.apply(this,arguments)||this;return y.data=void 0,y.options=void 0,y.points=void 0,y}return rt(C,L),C.prototype.getPointPath=function(y,S){var M=L.prototype.getPointPath.call(this,y,S),E=(S=S.strokeWidth())%2/2,v=Math.round(y.plotX)-E,k=Math.round(y.shapeArgs.width/2);return null!==y.open&&(y=Math.round(y.plotOpen)+E,M.push(["M",v,y],["L",v-k,y]),L.prototype.extendStem.call(this,M,S/2,y)),M},C.prototype.pointAttribs=function(y,S){S=L.prototype.pointAttribs.call(this,y,S);var M=this.options;return delete S.fill,!y.options.color&&M.upColor&&y.open<y.close&&(S.stroke=M.upColor),S},C.prototype.toYData=function(y){return[y.open,y.high,y.low,y.close]},C.defaultOptions=F(it.defaultOptions,{tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b> {series.name}</b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'}}),C}(it);return W(I.prototype,{pointArrayMap:["open","high","low","close"]}),I.prototype.pointClass=X,Y.registerSeriesType("ohlc",I),K(Q,"init",function(L){(L=L.options).useOhlcData&&"highcharts-navigator-series"!==L.id&&W(this,{pointValKey:I.prototype.pointValKey,pointArrayMap:I.prototype.pointArrayMap,toYData:I.prototype.toYData})}),K(Q,"afterSetOptions",function(L){var C=(L=L.options).dataGrouping;C&&L.useOhlcData&&"highcharts-navigator-series"!==L.id&&(C.approximation="ohlc")}),I}),Mt($,"Series/Candlestick/CandlestickSeries.js",[$["Core/DefaultOptions.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et){var F,rt=this&&this.__extends||(F=function(I,L){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,y){C.__proto__=y}||function(C,y){for(var S in y)y.hasOwnProperty(S)&&(C[S]=y[S])})(I,L)},function(I,L){function C(){this.constructor=I}F(I,L),I.prototype=null===L?Object.create(L):(C.prototype=L.prototype,new C)}),Q=X.defaultOptions,it=(X=Y.seriesTypes).column,K=X.ohlc,W=et.merge;return et=function(F){function I(){var L=null!==F&&F.apply(this,arguments)||this;return L.data=void 0,L.options=void 0,L.points=void 0,L}return rt(I,F),I.prototype.pointAttribs=function(L,C){var y=it.prototype.pointAttribs.call(this,L,C),S=this.options,M=L.open<L.close,E=S.lineColor||this.color,v=L.color||this.color;return y["stroke-width"]=S.lineWidth,y.fill=L.options.color||M&&S.upColor||v,y.stroke=L.options.lineColor||M&&S.upLineColor||E,C&&(y.fill=(L=S.states[C]).color||y.fill,y.stroke=L.lineColor||y.stroke,y["stroke-width"]=L.lineWidth||y["stroke-width"]),y},I.prototype.drawPoints=function(){var L=this,C=L.chart,y=L.yAxis.reversed;L.points.forEach(function(S){var M=S.graphic,E=!M;if(void 0!==S.plotY){M||(S.graphic=M=C.renderer.path().add(L.group)),L.chart.styledMode||M.attr(L.pointAttribs(S,S.selected&&"select")).shadow(L.options.shadow);var v=M.strokeWidth()%2/2,k=Math.round(S.plotX)-v,O=S.plotOpen,P=S.plotClose,g=Math.min(O,P);O=Math.max(O,P);var c=Math.round(S.shapeArgs.width/2);P=y?O!==S.yBottom:Math.round(g)!==Math.round(S.plotHigh);var u=y?Math.round(g)!==Math.round(S.plotHigh):O!==S.yBottom;g=Math.round(g)+v,O=Math.round(O)+v,(v=[]).push(["M",k-c,O],["L",k-c,g],["L",k+c,g],["L",k+c,O],["Z"],["M",k,g],["L",k,P?Math.round(y?S.yBottom:S.plotHigh):g],["M",k,O],["L",k,u?Math.round(y?S.plotHigh:S.yBottom):O]),M[E?"attr":"animate"]({d:v}).addClass(S.getClassName(),!0)}})},I.defaultOptions=W(K.defaultOptions,Q.plotOptions,{states:{hover:{lineWidth:2}},tooltip:Q.plotOptions.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),I}(K),Y.registerSeriesType("candlestick",et),et}),Mt($,"Series/Flags/FlagsPoint.js",[$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y){var Q,et=this&&this.__extends||(Q=function(it,K){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,F){W.__proto__=F}||function(W,F){for(var I in F)F.hasOwnProperty(I)&&(W[I]=F[I])})(it,K)},function(it,K){function W(){this.constructor=it}Q(it,K),it.prototype=null===K?Object.create(K):(W.prototype=K.prototype,new W)}),rt=Y.isNumber;return function(Q){function it(){var K=null!==Q&&Q.apply(this,arguments)||this;return K.options=void 0,K.series=void 0,K}return et(it,Q),it.prototype.isValid=function(){return rt(this.y)||void 0===this.y},it.prototype.hasNewShapeType=function(){var K=this.options.shape||this.series.options.shape;return this.graphic&&K&&K!==this.graphic.symbolKey},it}(X.seriesTypes.column.prototype.pointClass)}),Mt($,"Series/OnSeriesComposition.js",[$["Series/Column/ColumnSeries.js"],$["Core/Series/Series.js"],$["Core/Utilities.js"]],function(X,Y,et){var W,rt=X.prototype,Q=Y.prototype,it=et.defined,K=et.stableSort;return function(F){function I(){return Q.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)}function L(){rt.translate.apply(this);var u,y=this,S=y.options,M=y.chart,E=y.points,v=S.onSeries,k=(v=v&&M.get(v))&&v.options.step,O=v&&v.points,P=M.inverted,g=y.xAxis,c=y.yAxis;M=E.length-1,S=S.onKey||"y";var l,o=O&&O.length,m=0;if(v&&v.visible&&o){m=(v.pointXOffset||0)+(v.barW||0)/2;var b=v.currentDataGrouping,n=O[o-1].x+(b?b.totalRange:0);for(K(E,function(T,w){return T.x-w.x}),S="plot"+S[0].toUpperCase()+S.substr(1);o--&&E[M];){var r=O[o];if((b=E[M]).y=r.y,r.x<=b.x&&void 0!==r[S]){if(b.x<=n&&(b.plotY=r[S],r.x<b.x&&!k&&(l=O[o+1])&&void 0!==l[S])){var f=(b.x-r.x)/(l.x-r.x);b.plotY+=f*(l[S]-r[S]),b.y+=f*(l.y-r.y)}if(o++,0>--M)break}}}E.forEach(function(T,w){if(T.plotX+=m,(void 0===T.plotY||P)&&(0<=T.plotX&&T.plotX<=g.len?P?(T.plotY=g.translate(T.x,0,1,0,1),T.plotX=it(T.y)?c.translate(T.y,0,0,0,1):0):T.plotY=(g.opposite?0:y.yAxis.len)+g.offset:T.shapeArgs={}),(u=E[w-1])&&u.plotX===T.plotX){void 0===u.stackIndex&&(u.stackIndex=0);var D=u.stackIndex+1}T.stackIndex=D}),this.onSeries=v}var C=[];F.compose=function(y){if(-1===C.indexOf(y)){C.push(y);var S=y.prototype;S.getPlotBox=I,S.translate=L}return y},F.getPlotBox=I,F.translate=L}(W||(W={})),W}),Mt($,"Series/Flags/FlagsSymbols.js",[$["Core/Renderer/RendererRegistry.js"],$["Core/Renderer/SVG/SVGRenderer.js"]],function(X,Y){function et(Q){rt[Q+"pin"]=function(it,K,W,F,I){var L=I&&I.anchorX;I=I&&I.anchorY,"circle"===Q&&F>W&&(it-=Math.round((F-W)/2),W=F);var C=rt[Q](it,K,W,F);if(L&&I){var y=L;"circle"===Q?y=it+W/2:(W=C[1],"M"===(it=C[0])[0]&&"L"===W[0]&&(y=(it[1]+W[1])/2)),C.push(["M",y,K>I?K:K+F],["L",L,I]),C=C.concat(rt.circle(L-1,I-1,2,2))}return C}}var rt=Y.prototype.symbols;return rt.flag=function(Q,it,K,W,F){var I=F&&F.anchorX||Q,L=rt.circle(I-1,(F=F&&F.anchorY||it)-1,2,2);return L.push(["M",I,F],["L",Q,it+W],["L",Q,it],["L",Q+K,it],["L",Q+K,it+W],["L",Q,it+W],["Z"]),L},et("circle"),et("square"),(X=X.getRendererType())!==Y&&(X.prototype.symbols.circlepin=rt.circlepin,X.prototype.symbols.flag=rt.flag,X.prototype.symbols.squarepin=rt.squarepin),rt}),Mt($,"Series/Flags/FlagsSeries.js",[$["Series/Flags/FlagsPoint.js"],$["Core/Globals.js"],$["Series/OnSeriesComposition.js"],$["Core/Renderer/RendererUtilities.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K){var v,W=this&&this.__extends||(v=function(k,O){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,g){P.__proto__=g}||function(P,g){for(var c in g)g.hasOwnProperty(c)&&(P[c]=g[c])})(k,O)},function(k,O){function P(){this.constructor=k}v(k,O),k.prototype=null===O?Object.create(O):(P.prototype=O.prototype,new P)});Y=Y.noop;var F=rt.distribute,I=Q.series,L=Q.seriesTypes.column,C=K.addEvent,y=K.defined;rt=K.extend;var S=K.merge,M=K.objectEach,E=K.wrap;return K=function(v){function k(){var O=null!==v&&v.apply(this,arguments)||this;return O.data=void 0,O.options=void 0,O.points=void 0,O}return W(k,v),k.prototype.animate=function(O){O&&this.setClip()},k.prototype.drawPoints=function(){var m,O=this.points,P=this.chart,g=P.renderer,c=P.inverted,u=this.options,o=u.y,l=this.yAxis,b={},n=[];for(m=O.length;m--;){var r=O[m],f=(c?r.plotY:r.plotX)>this.xAxis.len,T=r.plotX,w=r.stackIndex,D=r.options.shape||u.shape,d=r.plotY;void 0!==d&&(d=r.plotY+o-(void 0!==w&&w*u.stackDistance)),r.anchorX=w?void 0:r.plotX;var R=w?void 0:r.plotY,a="flag"!==D;w=r.graphic,void 0!==d&&0<=T&&!f?(w&&r.hasNewShapeType()&&(w=w.destroy()),w||(w=r.graphic=g.label("",null,null,D,null,null,u.useHTML).addClass("highcharts-point").add(this.markerGroup),r.graphic.div&&(r.graphic.div.point=r),w.isNew=!0),w.attr({align:a?"center":"left",width:u.width,height:u.height,"text-align":u.textAlign}),P.styledMode||w.attr(this.pointAttribs(r)).css(S(u.style,r.style)).shadow(u.shadow),0<T&&(T-=w.strokeWidth()%2),D={y:d,anchorY:R},u.allowOverlapX&&(D.x=T,D.anchorX=r.anchorX),w.attr({text:r.options.title||u.title||"A"})[w.isNew?"attr":"animate"](D),u.allowOverlapX||(b[r.plotX]?b[r.plotX].size=Math.max(b[r.plotX].size,w.width):b[r.plotX]={align:a?.5:0,size:w.width,target:T,anchorX:T}),r.tooltipPos=[T,d+l.pos-P.plotTop]):w&&(r.graphic=w.destroy())}if(!u.allowOverlapX){var h=100;M(b,function(A){A.plotX=A.anchorX,n.push(A),h=Math.max(A.size,h)}),F(n,c?l.len:this.xAxis.len,h),O.forEach(function(A){var j=A.plotX,z=A.graphic;(j=z&&b[j])&&z&&(y(j.pos)?z[z.isNew?"attr":"animate"]({x:j.pos+(j.align||0)*j.size,anchorX:A.anchorX}).show().isNew=!1:z.hide().isNew=!0)})}u.useHTML&&E(this.markerGroup,"on",function(A){return it.prototype.on.apply(A.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},k.prototype.drawTracker=function(){var O=this.points;v.prototype.drawTracker.call(this),O.forEach(function(P){var g=P.graphic;g&&(P.unbindMouseOver&&P.unbindMouseOver(),P.unbindMouseOver=C(g.element,"mouseover",function(){0<P.stackIndex&&!P.raised&&(P._y=g.y,g.attr({y:P._y-8}),P.raised=!0),O.forEach(function(c){c!==P&&c.raised&&c.graphic&&(c.graphic.attr({y:c._y}),c.raised=!1)})}))})},k.prototype.pointAttribs=function(O,P){var g=this.options,c=O&&O.color||this.color,u=g.lineColor,o=O&&O.lineWidth;return O=O&&O.fillColor||g.fillColor,P&&(O=g.states[P].fillColor,u=g.states[P].lineColor,o=g.states[P].lineWidth),{fill:O||c,stroke:u||c,"stroke-width":o||g.lineWidth||0}},k.prototype.setClip=function(){I.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])},k.defaultOptions=S(L.defaultOptions,{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}}),k}(L),et.compose(K),rt(K.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:X,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:Y,init:I.prototype.init,invertGroups:Y}),Q.registerSeriesType("flags",K),K}),Mt($,"Core/Axis/ScrollbarAxis.js",[$["Core/Utilities.js"]],function(X){var Y=X.addEvent,et=X.defined,rt=X.pick;return function(){function Q(){}return Q.compose=function(it,K){if(-1!==Q.composed.indexOf(it))return it;Q.composed.push(it);var W=function(F){var I=rt(F.options&&F.options.min,F.min),L=rt(F.options&&F.options.max,F.max);return{axisMin:I,axisMax:L,scrollMin:et(F.dataMin)?Math.min(I,F.min,F.dataMin,rt(F.threshold,1/0)):I,scrollMax:et(F.dataMax)?Math.max(L,F.max,F.dataMax,rt(F.threshold,-1/0)):L}};return Y(it,"afterInit",function(){var F=this;F.options&&F.options.scrollbar&&F.options.scrollbar.enabled&&(F.options.scrollbar.vertical=!F.horiz,F.options.startOnTick=F.options.endOnTick=!1,F.scrollbar=new K(F.chart.renderer,F.options.scrollbar,F.chart),Y(F.scrollbar,"changed",function(I){var L=W(F),C=L.axisMax,y=L.scrollMin,S=L.scrollMax-y;et(L.axisMin)&&et(C)&&(F.horiz&&!F.reversed||!F.horiz&&F.reversed?(L=y+S*this.to,y+=S*this.from):(L=y+S*(1-this.from),y+=S*(1-this.to)),this.shouldUpdateExtremes(I.DOMType)?F.setExtremes(y,L,!0,"mousemove"!==I.DOMType&&"touchmove"!==I.DOMType,I):this.setRange(this.from,this.to))}))}),Y(it,"afterRender",function(){var F=W(this),I=F.scrollMin,L=F.scrollMax,C=this.axisTitleMargin+(this.titleOffset||0),y=this.chart.scrollbarsOffsets,S=this.options.margin||0;(F=this.scrollbar)&&(this.horiz?(this.opposite||(y[1]+=C),F.position(this.left,this.top+this.height+2+y[1]-(this.opposite?S:0),this.width,this.height),this.opposite||(y[1]+=S),C=1):(this.opposite&&(y[0]+=C),F.position(F.options.opposite?this.left+this.width+2+y[0]-(this.opposite?0:S):this.opposite?0:S,this.top,this.width,this.height),this.opposite&&(y[0]+=S),C=0),y[C]+=F.size+F.options.margin,isNaN(I)||isNaN(L)||!et(this.min)||!et(this.max)||this.min===this.max?F.setRange(0,1):(y=(this.min-I)/(L-I),I=(this.max-I)/(L-I),this.horiz&&!this.reversed||!this.horiz&&this.reversed?F.setRange(y,I):F.setRange(1-I,1-y)))}),Y(it,"afterGetOffset",function(){var F=this.scrollbar&&!this.scrollbar.options.opposite;F=this.horiz?2:F?3:1;var I=this.scrollbar;I&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[F]+=I.size+I.options.margin)}),it},Q.composed=[],Q}()}),Mt($,"Core/ScrollbarDefaults.js",[$["Core/Globals.js"]],function(X){return{height:X.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,opposite:!0,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}}),Mt($,"Core/Scrollbar.js",[$["Core/DefaultOptions.js"],$["Core/Globals.js"],$["Core/Axis/ScrollbarAxis.js"],$["Core/ScrollbarDefaults.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q){var it=X.defaultOptions,K=Q.addEvent,W=Q.correctFloat,F=Q.defined,I=Q.destroyObjectProperties,L=Q.fireEvent,C=Q.merge,y=Q.pick,S=Q.removeEvent;return X=function(){function M(E,v,k){this._events=[],this.chart=void 0,this.from=this.chartY=this.chartX=0,this.scrollbar=this.renderer=this.options=this.group=void 0,this.scrollbarButtons=[],this.scrollbarGroup=void 0,this.scrollbarLeft=0,this.scrollbarRifles=void 0,this.scrollbarStrokeWidth=1,this.to=this.size=this.scrollbarTop=0,this.track=void 0,this.trackBorderWidth=1,this.userOptions=void 0,this.y=this.x=0,this.init(E,v,k)}return M.compose=function(E){et.compose(E,M)},M.swapXY=function(E,v){return v&&E.forEach(function(k){for(var P,O=k.length,g=0;g<O;g+=2)"number"==typeof(P=k[g+1])&&(k[g+1]=k[g+2],k[g+2]=P)}),E},M.prototype.addEvents=function(){var E=this.options.inverted?[1,0]:[0,1],v=this.scrollbarButtons,k=this.scrollbarGroup.element,O=this.track.element,P=this.mouseDownHandler.bind(this),g=this.mouseMoveHandler.bind(this),c=this.mouseUpHandler.bind(this);E=[[v[E[0]].element,"click",this.buttonToMinClick.bind(this)],[v[E[1]].element,"click",this.buttonToMaxClick.bind(this)],[O,"click",this.trackClick.bind(this)],[k,"mousedown",P],[k.ownerDocument,"mousemove",g],[k.ownerDocument,"mouseup",c]],Y.hasTouch&&E.push([k,"touchstart",P],[k.ownerDocument,"touchmove",g],[k.ownerDocument,"touchend",c]),E.forEach(function(u){K.apply(null,u)}),this._events=E},M.prototype.buttonToMaxClick=function(E){var v=(this.to-this.from)*y(this.options.step,.2);this.updatePosition(this.from+v,this.to+v),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.buttonToMinClick=function(E){var v=W(this.to-this.from)*y(this.options.step,.2);this.updatePosition(W(this.from-v),W(this.to-v)),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.cursorToScrollbarPosition=function(E){var v=this.options;return{chartX:(E.chartX-this.x-this.xOffset)/(this.barWidth-(v=v.minWidth>this.calculatedWidth?v.minWidth:0)),chartY:(E.chartY-this.y-this.yOffset)/(this.barWidth-v)}},M.prototype.destroy=function(){var E=this,v=E.chart.scroller;E.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(k){E[k]&&E[k].destroy&&(E[k]=E[k].destroy())}),v&&E===v.scrollbar&&(v.scrollbar=null,I(v.scrollbarButtons))},M.prototype.drawScrollbarButton=function(E){var v=this.renderer,k=this.scrollbarButtons,O=this.options,P=this.size,g=v.g().add(this.group);k.push(g),g=v.rect().addClass("highcharts-scrollbar-button").add(g),this.chart.styledMode||g.attr({stroke:O.buttonBorderColor,"stroke-width":O.buttonBorderWidth,fill:O.buttonBackgroundColor}),g.attr(g.crisp({x:-.5,y:-.5,width:P+1,height:P+1,r:O.buttonBorderRadius},g.strokeWidth())),g=v.path(M.swapXY([["M",P/2+(E?-1:1),P/2-3],["L",P/2+(E?-1:1),P/2+3],["L",P/2+(E?2:-2),P/2]],O.vertical)).addClass("highcharts-scrollbar-arrow").add(k[E]),this.chart.styledMode||g.attr({fill:O.buttonArrowColor})},M.prototype.init=function(E,v,k){this.scrollbarButtons=[],this.renderer=E,this.userOptions=v,this.options=C(rt,it.scrollbar,v),this.chart=k,this.size=y(this.options.size,this.options.height),v.enabled&&(this.render(),this.addEvents())},M.prototype.mouseDownHandler=function(E){E=this.chart.pointer.normalize(E),E=this.cursorToScrollbarPosition(E),this.chartX=E.chartX,this.chartY=E.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0},M.prototype.mouseMoveHandler=function(E){var v=this.chart.pointer.normalize(E),k=this.options.vertical?"chartY":"chartX",O=this.initPositions||[];!this.grabbedCenter||E.touches&&0===E.touches[0][k]||(k=(v=this.cursorToScrollbarPosition(v)[k])-(k=this[k]),this.hasDragged=!0,this.updatePosition(O[0]+k,O[1]+k),this.hasDragged&&L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}))},M.prototype.mouseUpHandler=function(E){this.hasDragged&&L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},M.prototype.position=function(E,v,k,O){var P=this.options.vertical,g=this.rendered?"animate":"attr",c=O,u=0;this.group.show(),this.x=E,this.y=v+this.trackBorderWidth,this.width=k,this.height=O,this.xOffset=c,this.yOffset=u,P?(this.width=this.yOffset=k=u=this.size,this.xOffset=c=0,this.barWidth=O-2*k,this.x=E+=this.options.margin):(this.height=this.xOffset=O=c=this.size,this.barWidth=k-2*O,this.y+=this.options.margin),this.group[g]({translateX:E,translateY:this.y}),this.track[g]({width:k,height:O}),this.scrollbarButtons[1][g]({translateX:P?0:k-c,translateY:P?O-u:0})},M.prototype.removeEvents=function(){this._events.forEach(function(E){S.apply(null,E)}),this._events.length=0},M.prototype.render=function(){var E=this.renderer,v=this.options,k=this.size,O=this.chart.styledMode,P=E.g("scrollbar").attr({zIndex:v.zIndex}).hide().add();this.group=P,this.track=E.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:v.trackBorderRadius||0,height:k,width:k}).add(P),O||this.track.attr({fill:v.trackBackgroundColor,stroke:v.trackBorderColor,"stroke-width":v.trackBorderWidth}),this.trackBorderWidth=this.track.strokeWidth(),this.track.attr({y:-this.trackBorderWidth%2/2}),this.scrollbarGroup=E.g().add(P),this.scrollbar=E.rect().addClass("highcharts-scrollbar-thumb").attr({height:k,width:k,r:v.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=E.path(M.swapXY([["M",-3,k/4],["L",-3,2*k/3],["M",0,k/4],["L",0,2*k/3],["M",3,k/4],["L",3,2*k/3]],v.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),O||(this.scrollbar.attr({fill:v.barBackgroundColor,stroke:v.barBorderColor,"stroke-width":v.barBorderWidth}),this.scrollbarRifles.attr({stroke:v.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)},M.prototype.setRange=function(E,v){var k=this.options,O=k.vertical,P=k.minWidth,g=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(F(g)){var u=g*Math.min(v,1);E=Math.max(E,0);var o=Math.ceil(g*E);this.calculatedWidth=u=W(u-o),u<P&&(o=(g-P+u)*E,u=P),P=Math.floor(o+this.xOffset+this.yOffset),g=u/2-.5,this.from=E,this.to=v,O?(this.scrollbarGroup[c]({translateY:P}),this.scrollbar[c]({height:u}),this.scrollbarRifles[c]({translateY:g}),this.scrollbarTop=P,this.scrollbarLeft=0):(this.scrollbarGroup[c]({translateX:P}),this.scrollbar[c]({width:u}),this.scrollbarRifles[c]({translateX:g}),this.scrollbarLeft=P,this.scrollbarTop=0),12>=u?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===k.showFull&&(0>=E&&1<=v?this.group.hide():this.group.show()),this.rendered=!0}},M.prototype.shouldUpdateExtremes=function(E){return y(this.options.liveRedraw,Y.svg&&!Y.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===E||"touchend"===E||!F(E)},M.prototype.trackClick=function(E){var v=this.chart.pointer.normalize(E),k=this.to-this.from;this.options.vertical&&v.chartY>this.y+this.scrollbarTop||!this.options.vertical&&v.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+k,this.to+k):this.updatePosition(this.from-k,this.to-k),L(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})},M.prototype.update=function(E){this.destroy(),this.init(this.chart.renderer,C(!0,this.options,E),this.chart)},M.prototype.updatePosition=function(E,v){1<v&&(E=W(1-W(v-E)),v=1),0>E&&(v=W(v-E),E=0),this.from=E,this.to=v},M.defaultOptions=rt,M}(),it.scrollbar=C(!0,X.defaultOptions,it.scrollbar),X}),Mt($,"Core/Axis/NavigatorAxis.js",[$["Core/Globals.js"],$["Core/Utilities.js"]],function(X,Y){var et=X.isTouchDevice,rt=Y.addEvent,Q=Y.correctFloat,it=Y.defined,K=Y.isNumber,W=Y.pick,F=function(){function I(L){this.axis=L}return I.prototype.destroy=function(){this.axis=void 0},I.prototype.toFixedRange=function(L,C,y,S){var M=this.axis,E=M.chart;E=E&&E.fixedRange;var v=(M.pointRange||0)/2;return L=W(y,M.translate(L,!0,!M.horiz)),C=W(S,M.translate(C,!0,!M.horiz)),M=E&&(C-L)/E,it(y)||(L=Q(L+v)),it(S)||(C=Q(C-v)),.7<M&&1.3>M&&(S?L=C-E:C=L+E),K(L)&&K(C)||(L=C=void 0),{min:L,max:C}},I}();return function(){function I(){}return I.compose=function(L){L.keepProps.push("navigatorAxis"),rt(L,"init",function(){this.navigatorAxis||(this.navigatorAxis=new F(this))}),rt(L,"zoom",function(C){var y=this.chart.options,S=y.navigator,M=this.navigatorAxis,E=y.chart.pinchType,v=y.rangeSelector;y=y.chart.zoomType,this.isXAxis&&(S&&S.enabled||v&&v.enabled)&&("y"===y?C.zoomed=!1:(!et&&"xy"===y||et&&"xy"===E)&&this.options.range&&(S=M.previousZoom,it(C.newMin)?M.previousZoom=[this.min,this.max]:S&&(C.newMin=S[0],C.newMax=S[1],M.previousZoom=void 0))),void 0!==C.zoomed&&C.preventDefault()})},I.AdditionsClass=F,I}()}),Mt($,"Core/Navigator.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Color/Color.js"],$["Core/Globals.js"],$["Core/Axis/NavigatorAxis.js"],$["Core/DefaultOptions.js"],$["Core/Renderer/RendererRegistry.js"],$["Core/Scrollbar.js"],$["Core/Series/Series.js"],$["Core/Series/SeriesRegistry.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W,F,I,L){var C=rt.hasTouch,y=rt.isTouchDevice,S=it.defaultOptions,M=L.addEvent,E=L.clamp,v=L.correctFloat,k=L.defined,O=L.destroyObjectProperties,P=L.erase,g=L.extend,c=L.find,u=L.isArray,o=L.isNumber,m=L.merge,l=L.pick,b=L.removeEvent,n=L.splat,r=function(T){for(var w=[],D=1;D<arguments.length;D++)w[D-1]=arguments[D];if((w=[].filter.call(w,o)).length)return Math[T].apply(0,w)};it=void 0===I.seriesTypes.areaspline?"line":"areaspline",g(S,{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:(et=et.parse)("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:it,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},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}}}),K.getRendererType().prototype.symbols["navigator-handle"]=function(T,w,D,d,R){return T=(R&&R.width||0)/2,w=Math.round(T/3)+.5,[["M",-T-1,.5],["L",T,.5],["L",T,(R=R&&R.height||0)+.5],["L",-T-1,R+.5],["L",-T-1,.5],["M",-w,4],["L",-w,R-3],["M",w-1,4],["L",w-1,R-3]]};var f=function(){function T(w){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0,this.init(w)}return T.prototype.drawHandle=function(w,D,d,R){var a=this.navigatorOptions.handles.height;this.handles[D][R](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(w,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(w,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})},T.prototype.drawOutline=function(w,D,d,R){var a=this.navigatorOptions.maskInside,h=this.outline.strokeWidth(),A=h/2,j=h%2/2;h=this.outlineHeight;var z=this.scrollbarHeight||0,H=this.size,p=this.left-z,N=this.top;d?(j=[["M",(p-=A)+h,N-z-j],["L",p+h,d=N+D+j],["L",p,d],["L",p,D=N+w+j],["L",p+h,D],["L",p+h,N+H+z]],a&&j.push(["M",p+h,d-A],["L",p+h,D+A])):(j=[["M",p,N+=A],["L",w+=p+z-j,N],["L",w,N+h],["L",D+=p+z-j,N+h],["L",D,N],["L",p+H+2*z,N]],a&&j.push(["M",w-A,N],["L",D+A,N])),this.outline[R]({d:j})},T.prototype.drawMasks=function(w,D,d,R){var a=this.left,h=this.top,A=this.height;if(d)var j=[a,a,a],z=[h,h+w,h+D],H=[A,A,A],p=[w,D-w,this.size-D];else j=[a,a+w,a+D],z=[h,h,h],H=[w,D-w,this.size-D],p=[A,A,A];this.shades.forEach(function(N,_){N[R]({x:j[_],y:z[_],width:H[_],height:p[_]})})},T.prototype.renderElements=function(){var h,w=this,D=w.navigatorOptions,d=D.maskInside,R=w.chart,a=R.renderer,A={cursor:R.inverted?"ns-resize":"ew-resize"};w.navigatorGroup=h=a.g("navigator").attr({zIndex:8,visibility:"hidden"}).add(),[!d,d,!d].forEach(function(j,z){var H=a.rect().addClass("highcharts-navigator-mask"+(1===z?"-inside":"-outside")).add(h);R.styledMode||(H.attr({fill:j?D.maskFill:"rgba(0,0,0,0)"}),1===z&&H.css(A)),w.shades[z]=H}),w.outline=a.path().addClass("highcharts-navigator-outline").add(h),R.styledMode||w.outline.attr({"stroke-width":D.outlineWidth,stroke:D.outlineColor}),D.handles.enabled&&[0,1].forEach(function(j){if(D.handles.inverted=R.inverted,w.handles[j]=a.symbol(D.handles.symbols[j],-D.handles.width/2-1,0,D.handles.width,D.handles.height,D.handles),w.handles[j].attr({zIndex:7-j}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][j]).add(h),!R.styledMode){var z=D.handles;w.handles[j].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(A)}})},T.prototype.update=function(w){(this.series||[]).forEach(function(D){D.baseSeries&&delete D.baseSeries.navigatorSeries}),this.destroy(),m(!0,this.chart.options.navigator,this.options,w),this.init(this.chart)},T.prototype.render=function(w,D,d,R){var A,N,a=this.chart,h=this.scrollbarHeight,j=this.xAxis,z=j.pointRange||0,H=j.navigatorAxis.fake?a.xAxis[0]:j,p=this.navigatorEnabled,_=this.rendered,G=a.inverted,U=a.xAxis[0].minRange,tt=a.xAxis[0].options.maxRange;if(!this.hasDragged||k(d)){if(w=v(w-z/2),D=v(D+z/2),!o(w)||!o(D)){if(!_)return;d=0,R=l(j.width,H.width)}this.left=l(j.left,a.plotLeft+h+(G?a.plotWidth:0)),this.size=N=A=l(j.len,(G?a.plotHeight:a.plotWidth)-2*h),a=G?h:A+2*h,d=l(d,j.toPixels(w,!0)),R=l(R,j.toPixels(D,!0)),o(d)&&Math.abs(d)!==1/0||(d=0,R=a),w=j.toValue(d,!0),D=j.toValue(R,!0);var J=Math.abs(v(D-w));J<U?this.grabbedLeft?d=j.toPixels(D-U-z,!0):this.grabbedRight&&(R=j.toPixels(w+U+z,!0)):k(tt)&&v(J-z)>tt&&(this.grabbedLeft?d=j.toPixels(D-tt-z,!0):this.grabbedRight&&(R=j.toPixels(w+tt+z,!0))),this.zoomedMax=E(Math.max(d,R),0,N),this.zoomedMin=E(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,R),0,N),this.range=this.zoomedMax-this.zoomedMin,N=Math.round(this.zoomedMax),d=Math.round(this.zoomedMin),p&&(this.navigatorGroup.attr({visibility:"inherit"}),this.drawMasks(d,N,G,_=_&&!this.hasDragged?"animate":"attr"),this.drawOutline(d,N,G,_),this.navigatorOptions.handles.enabled&&(this.drawHandle(d,0,G,_),this.drawHandle(N,1,G,_))),this.scrollbar&&(G?(G=this.top-h,H=this.left-h+(p||!H.opposite?0:(H.titleOffset||0)+H.axisTitleMargin),h=A+2*h):(G=this.top+(p?this.height:-h),H=this.left-h),this.scrollbar.position(H,G,a,h),this.scrollbar.setRange(this.zoomedMin/(A||1),this.zoomedMax/(A||1))),this.rendered=!0}},T.prototype.addMouseEvents=function(){var a,h,w=this,D=w.chart,d=D.container,R=[];w.mouseMoveHandler=a=function(A){w.onMouseMove(A)},w.mouseUpHandler=h=function(A){w.onMouseUp(A)},(R=w.getPartsEvents("mousedown")).push(M(D.renderTo,"mousemove",a),M(d.ownerDocument,"mouseup",h)),C&&(R.push(M(D.renderTo,"touchmove",a),M(d.ownerDocument,"touchend",h)),R.concat(w.getPartsEvents("touchstart"))),w.eventsToUnbind=R,w.series&&w.series[0]&&R.push(M(w.series[0].xAxis,"foundExtremes",function(){D.navigator.modifyNavigatorAxisExtremes()}))},T.prototype.getPartsEvents=function(w){var D=this,d=[];return["shades","handles"].forEach(function(R){D[R].forEach(function(a,h){d.push(M(a.element,w,function(A){D[R+"Mousedown"](A,h)}))})}),d},T.prototype.shadesMousedown=function(w,D){w=this.chart.pointer.normalize(w);var d=this.chart,R=this.xAxis,a=this.zoomedMin,h=this.left,A=this.size,j=this.range,z=w.chartX;if(d.inverted&&(z=w.chartY,h=this.top),1===D)this.grabbedCenter=z,this.fixedWidth=j,this.dragOffset=z-a;else{if(w=z-h-j/2,0===D)w=Math.max(0,w);else if(2===D&&w+j>=A)if(w=A-j,this.reversedExtremes){w-=j;var H=this.getUnionExtremes().dataMin}else var p=this.getUnionExtremes().dataMax;w!==a&&(this.fixedWidth=j,D=R.navigatorAxis.toFixedRange(w,w+j,H,p),k(D.min)&&d.xAxis[0].setExtremes(Math.min(D.min,D.max),Math.max(D.min,D.max),!0,null,{trigger:"navigator"}))}},T.prototype.handlesMousedown=function(w,D){this.chart.pointer.normalize(w);var d=(w=this.chart).xAxis[0],R=this.reversedExtremes;0===D?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=R?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=R?d.max:d.min),w.fixedRange=null},T.prototype.onMouseMove=function(w){var D=this,d=D.chart,R=D.left,a=D.navigatorSize,h=D.range,A=D.dragOffset,j=d.inverted;w.touches&&0===w.touches[0].pageX||(w=d.pointer.normalize(w),d=w.chartX,j&&(R=D.top,d=w.chartY),D.grabbedLeft?(D.hasDragged=!0,D.render(0,0,d-R,D.otherHandlePos)):D.grabbedRight?(D.hasDragged=!0,D.render(0,0,D.otherHandlePos,d-R)):D.grabbedCenter&&(D.hasDragged=!0,d<A?d=A:d>a+A-h&&(d=a+A-h),D.render(0,0,d-A,d-A+h)),D.hasDragged&&D.scrollbar&&l(D.scrollbar.options.liveRedraw,rt.svg&&!y&&!this.chart.isBoosting)&&(w.DOMType=w.type,setTimeout(function(){D.onMouseUp(w)},0)))},T.prototype.onMouseUp=function(w){var D=this.chart,d=this.xAxis,R=this.scrollbar,a=w.DOMEvent||w,h=D.inverted,A=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!R||!R.hasDragged)||"scrollbar"===w.trigger){if(R=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos)var j=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var z=this.fixedExtreme;this.zoomedMax===this.size&&(z=this.reversedExtremes?R.dataMin:R.dataMax),0===this.zoomedMin&&(j=this.reversedExtremes?R.dataMax:R.dataMin),d=d.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,j,z),k(d.min)&&D.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,!this.hasDragged&&null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:a})}"mousemove"!==w.DOMType&&"touchmove"!==w.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&o(this.zoomedMin)&&o(this.zoomedMax)&&(D=Math.round(this.zoomedMin),w=Math.round(this.zoomedMax),this.shades&&this.drawMasks(D,w,h,A),this.outline&&this.drawOutline(D,w,h,A),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(D,0,h,A),this.drawHandle(w,1,h,A)))},T.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(w){w()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()},T.prototype.removeBaseSeriesEvents=function(){var w=this.baseSeries||[];this.navigatorEnabled&&w[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&w.forEach(function(D){b(D,"updatedData",this.updatedDataHandler)},this),w[0].xAxis&&b(w[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},T.prototype.init=function(w){var D=w.options,d=D.navigator,R=d.enabled,a=D.scrollbar,h=a.enabled;D=R?d.height:0;var A=h?a.height:0;this.handles=[],this.shades=[],this.chart=w,this.setBaseSeries(),this.height=D,this.scrollbarHeight=A,this.scrollbarEnabled=h,this.navigatorEnabled=R,this.navigatorOptions=d,this.scrollbarOptions=a,this.outlineHeight=D+A,this.opposite=l(d.opposite,!(R||!w.inverted));var j=this;a=w.xAxis.length,h=w.yAxis.length;var z=(R=j.baseSeries)&&R[0]&&R[0].xAxis||w.xAxis[0]||{options:{}};w.isDirtyBox=!0,j.navigatorEnabled?(j.xAxis=new X(w,m({breaks:z.options.breaks,ordinal:z.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:a,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},w.inverted?{offsets:[A,0,-A,0],width:D}:{offsets:[0,-A,0,A],height:D})),j.yAxis=new X(w,m(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:l(d.yAxis&&d.yAxis.reversed,w.yAxis[0]&&w.yAxis[0].reversed,!1),zoomEnabled:!1},w.inverted?{width:D}:{height:D})),R||d.series.data?j.updateNavigatorSeries(!1):0===w.series.length&&(j.unbindRedraw=M(w,"beforeRedraw",function(){0<w.series.length&&!j.series&&(j.setBaseSeries(),j.unbindRedraw())})),j.reversedExtremes=w.inverted&&!j.xAxis.reversed||!w.inverted&&j.xAxis.reversed,j.renderElements(),j.addMouseEvents()):(j.xAxis={chart:w,navigatorAxis:{fake:!0},translate:function(H,p){var N=w.xAxis[0],_=N.getExtremes(),G=N.len-2*A,U=r("min",N.options.min,_.dataMin);return N=r("max",N.options.max,_.dataMax)-U,p?H*N/G+U:G*(H-U)/N},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},j.xAxis.navigatorAxis.axis=j.xAxis,j.xAxis.navigatorAxis.toFixedRange=Q.AdditionsClass.prototype.toFixedRange.bind(j.xAxis.navigatorAxis)),w.options.scrollbar.enabled&&(w.scrollbar=j.scrollbar=new W(w.renderer,m(w.options.scrollbar,{margin:j.navigatorEnabled?0:10,vertical:w.inverted}),w),M(j.scrollbar,"changed",function(H){var p=j.size,N=p*this.to;p*=this.from,j.hasDragged=j.scrollbar.hasDragged,j.render(0,0,p,N),this.shouldUpdateExtremes(H.DOMType)&&setTimeout(function(){j.onMouseUp(H)})})),j.addBaseSeriesEvents(),j.addChartEvents()},T.prototype.getUnionExtremes=function(w){var h,D=this.chart.xAxis[0],d=this.xAxis,R=d.options,a=D.options;return w&&null===D.dataMin||(h={dataMin:l(R&&R.min,r("min",a.min,D.dataMin,d.dataMin,d.min)),dataMax:l(R&&R.max,r("max",a.max,D.dataMax,d.dataMax,d.max))}),h},T.prototype.setBaseSeries=function(w,D){var d=this.chart,R=this.baseSeries=[];w=w||d.options&&d.options.navigator.baseSeries||(d.series.length?c(d.series,function(a){return!a.options.isInternal}).index:0),(d.series||[]).forEach(function(a,h){a.options.isInternal||!a.options.showInNavigator&&(h!==w&&a.options.id!==w||!1===a.options.showInNavigator)||R.push(a)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,D)},T.prototype.updateNavigatorSeries=function(w,D){var h,A,z,d=this,R=d.chart,a=d.baseSeries,j=d.navigatorOptions.series,H={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},p=d.series=(d.series||[]).filter(function(N){var _=N.baseSeries;return!(0>a.indexOf(_)&&(_&&(b(_,"updatedData",d.updatedDataHandler),delete _.navigatorSeries),N.chart&&N.destroy(),1))});a&&a.length&&a.forEach(function(N){var _=N.navigatorSeries,G=g({color:N.color,visible:N.visible},u(j)?S.navigator.series:j);_&&!1===d.navigatorOptions.adaptToUpdatedData||(H.name="Navigator "+a.length,z=(h=N.options||{}).navigatorOptions||{},G.dataLabels=n(G.dataLabels),(A=m(h,H,G,z)).pointRange=l(G.pointRange,z.pointRange,S.plotOptions[A.type||"line"].pointRange),G=z.data||G.data,d.hasNavigatorData=d.hasNavigatorData||!!G,A.data=G||h.data&&h.data.slice(0),_&&_.options?_.update(A,D):(N.navigatorSeries=R.initSeries(A),N.navigatorSeries.baseSeries=N,p.push(N.navigatorSeries)))}),(j.data&&(!a||!a.length)||u(j))&&(d.hasNavigatorData=!1,(j=n(j)).forEach(function(N,_){H.name="Navigator "+(p.length+1),(A=m(S.navigator.series,{color:R.series[_]&&!R.series[_].options.isInternal&&R.series[_].color||R.options.colors[_]||R.options.colors[0]},H,N)).data=N.data,A.data&&(d.hasNavigatorData=!0,p.push(R.initSeries(A)))})),w&&this.addBaseSeriesEvents()},T.prototype.addBaseSeriesEvents=function(){var w=this,D=w.baseSeries||[];D[0]&&D[0].xAxis&&D[0].eventsToUnbind.push(M(D[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),D.forEach(function(d){d.eventsToUnbind.push(M(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(M(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(M(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(M(d,"remove",function(){this.navigatorSeries&&(P(w.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)},T.prototype.getBaseSeriesMin=function(w){return this.baseSeries.reduce(function(D,d){return Math.min(D,d.xData&&d.xData.length?d.xData[0]:D)},w)},T.prototype.modifyNavigatorAxisExtremes=function(){var D,w=this.xAxis;void 0!==w.getExtremes&&(!(D=this.getUnionExtremes(!0))||D.dataMin===w.min&&D.dataMax===w.max||(w.min=D.dataMin,w.max=D.dataMax))},T.prototype.modifyBaseAxisExtremes=function(){var w=this.chart.navigator,D=this.getExtremes(),d=D.dataMin,R=D.dataMax;D=D.max-D.min;var a=w.stickToMin,h=w.stickToMax,A=l(this.options.overscroll,0),j=w.series&&w.series[0],z=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(a)var H=d,p=H+D;h&&(p=R+A,a||(H=Math.max(d,p-D,w.getBaseSeriesMin(j&&j.xData?j.xData[0]:-Number.MAX_VALUE)))),z&&(a||h)&&o(H)&&(this.min=this.userMin=H,this.max=this.userMax=p)}w.stickToMin=w.stickToMax=null},T.prototype.updatedDataHandler=function(){var w=this.chart.navigator,D=this.navigatorSeries;w.stickToMax=w.reversedExtremes?0===Math.round(w.zoomedMin):Math.round(w.zoomedMax)>=Math.round(w.size),w.stickToMin=w.shouldStickToMin(this,w),D&&!w.hasNavigatorData&&(D.options.pointStart=this.xData[0],D.setData(this.options.data,!1,null,!1))},T.prototype.shouldStickToMin=function(w,D){D=D.getBaseSeriesMin(w.xData[0]);var d=w.xAxis;w=d.max;var R=d.min;return d=d.options.range,!(!o(w)||!o(R))&&(d&&0<w-D?w-D<d:R<=D)},T.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(M(this.chart,"redraw",function(){var w=this.navigator,D=w&&(w.baseSeries&&w.baseSeries[0]&&w.baseSeries[0].xAxis||this.xAxis[0]);D&&w.render(D.min,D.max)}),M(this.chart,"getMargins",function(){var w=this.navigator,D=w.opposite?"plotTop":"marginBottom";this.inverted&&(D=w.opposite?"marginRight":"plotLeft"),this[D]=(this[D]||0)+(w.navigatorEnabled||!this.inverted?w.outlineHeight:0)+w.navigatorOptions.margin}))},T.prototype.destroy=function(){this.removeEvents(),this.xAxis&&(P(this.chart.xAxis,this.xAxis),P(this.chart.axes,this.xAxis)),this.yAxis&&(P(this.chart.yAxis,this.yAxis),P(this.chart.axes,this.yAxis)),(this.series||[]).forEach(function(w){w.destroy&&w.destroy()}),"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(w){this[w]&&this[w].destroy&&this[w].destroy(),this[w]=null},this),[this.handles].forEach(function(w){O(w)},this)},T}();return rt.Navigator||(rt.Navigator=f,Q.compose(X),M(Y,"beforeShowResetZoom",function(){var T=this.options,w=T.navigator,D=T.rangeSelector;if((w&&w.enabled||D&&D.enabled)&&(!y&&"x"===T.chart.zoomType||y&&"x"===T.chart.pinchType))return!1}),M(Y,"beforeRender",function(){var T=this.options;(T.navigator.enabled||T.scrollbar.enabled)&&(this.scroller=this.navigator=new f(this))}),M(Y,"afterSetChartSize",function(){var T=this.legend,w=this.navigator;if(w){var D=T&&T.options,d=w.xAxis,R=w.yAxis,a=w.scrollbarHeight;this.inverted?(w.left=w.opposite?this.chartWidth-a-w.height:this.spacing[3]+a,w.top=this.plotTop+a):(w.left=l(d.left,this.plotLeft+a),w.top=w.navigatorOptions.top||this.chartHeight-w.height-a-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(D&&"bottom"===D.verticalAlign&&"proximate"!==D.layout&&D.enabled&&!D.floating?T.legendHeight+l(D.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),d&&R&&(this.inverted?d.options.left=R.options.left=w.left:d.options.top=R.options.top=w.top,d.setAxisSize(),R.setAxisSize())}}),M(Y,"update",function(T){var w=T.options.navigator||{},D=T.options.scrollbar||{};this.navigator||this.scroller||!w.enabled&&!D.enabled||(m(!0,this.options.navigator,w),m(!0,this.options.scrollbar,D),delete T.options.navigator,delete T.options.scrollbar)}),M(Y,"afterUpdate",function(T){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new f(this),l(T.redraw,!0)&&this.redraw(T.animation))}),M(Y,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),M(F,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),Y.prototype.callbacks.push(function(T){var w=T.navigator;w&&T.xAxis[0]&&(T=T.xAxis[0].getExtremes(),w.render(T.min,T.max))})),rt.Navigator=f,rt.Navigator}),Mt($,"Extensions/RangeSelector.js",[$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/Globals.js"],$["Core/DefaultOptions.js"],$["Core/Renderer/SVG/SVGElement.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it){var W=rt.defaultOptions,F=it.addEvent,I=it.createElement,L=it.css,C=it.defined,y=it.destroyObjectProperties,S=it.discardElement,M=it.extend,E=it.find,v=it.fireEvent,k=it.isNumber,O=it.merge,P=it.objectEach,g=it.pad,c=it.pick,u=it.pInt,o=it.splat;M(W,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#335cad",cursor:"pointer"},labelStyle:{color:"#666666"}}}),M(W.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var m=function(){function n(r){this.buttons=void 0,this.buttonOptions=n.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.options=void 0,this.chart=r,this.init(r)}return n.prototype.clickButton=function(r,f){var T=this.chart,w=this.buttonOptions[r],D=T.xAxis[0],d=T.scroller&&T.scroller.getUnionExtremes()||D||{},R=d.dataMin,a=d.dataMax,h=D&&Math.round(Math.min(D.max,c(a,D.max))),A=w.type;d=w._range;var j,z=w.dataGrouping;if(null!==R&&null!==a){if(T.fixedRange=d,this.setSelected(r),z&&(this.forcedDataGrouping=!0,X.prototype.setDataGrouping.call(D||{chart:this.chart},z,!1),this.frozenStates=w.preserveDataGrouping),"month"===A||"year"===A)if(D){var H=D.minFromRange.call(A={range:w,max:h,chart:T,dataMin:R,dataMax:a});k(A.newMax)&&(h=A.newMax)}else d=w;else if(d)H=Math.max(h-d,R),h=Math.min(H+d,a);else if("ytd"===A){if(!D)return void(this.deferredYTDClick=r);void 0===a&&(R=Number.MAX_VALUE,a=Number.MIN_VALUE,T.series.forEach(function(G){G=G.xData,R=Math.min(G[0],R),a=Math.max(G[G.length-1],a)}),f=!1),H=j=(h=this.getYTDExtremes(a,R,T.time.useUTC)).min,h=h.max}else"all"===A&&D&&(T.navigator&&T.navigator.baseSeries[0]&&(T.navigator.baseSeries[0].xAxis.options.range=void 0),H=R,h=a);if(C(H)&&(H+=w._offsetMin),C(h)&&(h+=w._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=r+1),D)D.setExtremes(H,h,c(f,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:w});else{var p=o(T.options.xAxis)[0],N=p.range;p.range=d;var _=p.min;p.min=j,F(T,"load",function(){p.range=N,p.min=_})}v(this,"afterBtnClick")}},n.prototype.setSelected=function(r){this.selected=this.options.selected=r},n.prototype.init=function(r){var f=this,T=r.options.rangeSelector,w=T.buttons||f.defaultButtons.slice(),D=T.selected,d=function(){var R=f.minInput,a=f.maxInput;R&&R.blur&&v(R,"blur"),a&&a.blur&&v(a,"blur")};f.chart=r,f.options=T,f.buttons=[],f.buttonOptions=w,this.eventsToUnbind=[],this.eventsToUnbind.push(F(r.container,"mousedown",d)),this.eventsToUnbind.push(F(r,"resize",d)),w.forEach(f.computeButtonRange),void 0!==D&&w[D]&&this.clickButton(D,!1),this.eventsToUnbind.push(F(r,"load",function(){r.xAxis&&r.xAxis[0]&&F(r.xAxis[0],"setExtremes",function(R){this.max-this.min!==r.fixedRange&&"rangeSelectorButton"!==R.trigger&&"updatedData"!==R.trigger&&f.forcedDataGrouping&&!f.frozenStates&&this.setDataGrouping(!1,!1)})}))},n.prototype.updateButtonStates=function(){var r=this,f=this.chart,T=this.dropdown,w=f.xAxis[0],D=Math.round(w.max-w.min),d=!w.hasVisibleSeries,R=f.scroller&&f.scroller.getUnionExtremes()||w,a=R.dataMin,h=R.dataMax,A=(f=r.getYTDExtremes(h,a,f.time.useUTC)).min,j=f.max,z=r.selected,H=k(z),p=r.options.allButtonsEnabled,N=r.buttons;r.buttonOptions.forEach(function(_,G){var U=_._range,tt=_.type,J=_.count||1,ot=N[G],at=0,ft=_._offsetMax-_._offsetMin;_=G===z;var mt=U>h-a,gt=U<w.minRange,ut=!1,ht=!1;U=U===D,("month"===tt||"year"===tt)&&D+36e5>=864e5*{month:28,year:365}[tt]*J-ft&&D-36e5<=864e5*{month:31,year:366}[tt]*J+ft?U=!0:"ytd"===tt?(U=j-A+ft===D,ut=!_):"all"===tt&&(U=w.max-w.min>=h-a,ht=!_&&H&&U),J=_&&U||U&&!H&&!ut||_&&r.frozenStates,(tt=!p&&(mt||gt||ht||d))?at=3:J&&(H=!0,at=2),ot.state!==at&&(ot.setState(at),T&&(T.options[G+1].disabled=tt,2===at&&(T.selectedIndex=G+1)),0===at&&z===G&&r.setSelected())})},n.prototype.computeButtonRange=function(r){var f=r.type,T=r.count||1,w={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};w[f]?r._range=w[f]*T:("month"===f||"year"===f)&&(r._range=864e5*{month:30,year:365}[f]*T),r._offsetMin=c(r.offsetMin,0),r._offsetMax=c(r.offsetMax,0),r._range+=r._offsetMax-r._offsetMin},n.prototype.getInputValue=function(r){var T=this.chart.time;return(r="min"===r?this.minInput:this.maxInput)?("text"===r.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(r.value,T.useUTC,T):0},n.prototype.setInputValue=function(r,f){var T=this.options,w=this.chart.time,D="min"===r?this.minInput:this.maxInput;if(r="min"===r?this.minDateBox:this.maxDateBox,D){var d=D.getAttribute("data-hc-time");d=C(d)?Number(d):void 0,C(f)&&(C(d)&&D.setAttribute("data-hc-time-previous",d),D.setAttribute("data-hc-time",f),d=f),D.value=w.dateFormat(this.inputTypeFormats[D.type]||T.inputEditDateFormat,d),r&&r.attr({text:w.dateFormat(T.inputDateFormat,d)})}},n.prototype.setInputExtremes=function(r,f,T){if(r="min"===r?this.minInput:this.maxInput){var w=this.inputTypeFormats[r.type],D=this.chart.time;w&&(f=D.dateFormat(w,f),r.min!==f&&(r.min=f),T=D.dateFormat(w,T),r.max!==T&&(r.max=T))}},n.prototype.showInput=function(r){var f="min"===r?this.minDateBox:this.maxDateBox;if((r="min"===r?this.minInput:this.maxInput)&&f&&this.inputGroup){var T="text"===r.type,w=this.inputGroup,D=w.translateX;w=w.translateY;var d=this.options.inputBoxWidth;L(r,{width:T?f.width+(d?-2:20)+"px":"auto",height:T?f.height-2+"px":"auto",border:"2px solid silver"}),L(r,T&&d?{left:D+f.x+"px",top:w+"px"}:{left:Math.min(Math.round(f.x+D-(r.offsetWidth-f.width)/2),this.chart.chartWidth-r.offsetWidth)+"px",top:w-(r.offsetHeight-f.height)/2+"px"})}},n.prototype.hideInput=function(r){(r="min"===r?this.minInput:this.maxInput)&&L(r,{top:"-9999em",border:0,width:"1px",height:"1px"})},n.prototype.defaultInputDateParser=function(r,f,T){var D,w=r.split("/").join("-").split(" ").join("T");return-1===w.indexOf("T")&&(w+="T00:00"),f?w+="Z":((D=et.isSafari)&&(D=!(6<(D=w).length&&(D.lastIndexOf("-")===D.length-6||D.lastIndexOf("+")===D.length-6))),D&&(w+=0>=(D=new Date(w).getTimezoneOffset()/60)?"+"+g(-D)+":00":"-"+g(D)+":00")),w=Date.parse(w),k(w)||(r=r.split("-"),w=Date.UTC(u(r[0]),u(r[1])-1,u(r[2]))),T&&f&&k(w)&&(w+=T.getTimezoneOffset(w)),w},n.prototype.drawInput=function(r){function f(){var p=d.getInputValue(r),N=T.xAxis[0],_=T.scroller&&T.scroller.xAxis?T.scroller.xAxis:N,G=_.dataMin;_=_.dataMax;var U=d.maxInput,tt=d.minInput;p!==Number(z.getAttribute("data-hc-time-previous"))&&k(p)&&(z.setAttribute("data-hc-time-previous",p),A&&U&&k(G)?p>Number(U.getAttribute("data-hc-time"))?p=void 0:p<G&&(p=G):tt&&k(_)&&(p<Number(tt.getAttribute("data-hc-time"))?p=void 0:p>_&&(p=_)),void 0!==p&&N.setExtremes(A?p:N.min,A?N.max:p,void 0,void 0,{trigger:"rangeSelectorInput"}))}var T=this.chart,w=this.div,D=this.inputGroup,d=this,R=T.renderer.style||{},a=T.renderer,h=T.options.rangeSelector,A="min"===r,j=W.lang[A?"rangeSelectorFrom":"rangeSelectorTo"]||"";j=a.label(j,0).addClass("highcharts-range-label").attr({padding:j?2:0,height:j?h.inputBoxHeight:0}).add(D),a=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:h.inputBoxWidth,height:h.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(r),d[r+"Input"].focus()}),T.styledMode||a.attr({stroke:h.inputBoxBorderColor,"stroke-width":1}),a.add(D);var z=I("input",{name:r,className:"highcharts-range-selector"},void 0,w);z.setAttribute("type",function K(n){if(-1!==n.indexOf("%L"))return"text";var r="aAdewbBmoyY".split("").some(function(T){return-1!==n.indexOf("%"+T)}),f="HkIlMS".split("").some(function(T){return-1!==n.indexOf("%"+T)});return r&&f?"datetime-local":r?"date":f?"time":"text"}(h.inputDateFormat||"%b %e, %Y")),T.styledMode||(j.css(O(R,h.labelStyle)),a.css(O({color:"#333333"},R,h.inputStyle)),L(z,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:R.fontSize,fontFamily:R.fontFamily,top:"-9999em"},h.inputStyle))),z.onfocus=function(){d.showInput(r)},z.onblur=function(){z===et.doc.activeElement&&f(),d.hideInput(r),d.setInputValue(r),z.blur()};var H=!1;return z.onchange=function(){H||(f(),d.hideInput(r),z.blur())},z.onkeypress=function(p){13===p.keyCode&&f()},z.onkeydown=function(p){H=!0,38!==p.keyCode&&40!==p.keyCode||f()},z.onkeyup=function(){H=!1},{dateBox:a,input:z,label:j}},n.prototype.getPosition=function(){var r=this.chart,f=r.options.rangeSelector;return{buttonTop:(r="top"===f.verticalAlign?r.plotTop-r.axisOffset[0]:0)+f.buttonPosition.y,inputTop:r+f.inputPosition.y-10}},n.prototype.getYTDExtremes=function(r,f,T){var w=this.chart.time,D=new w.Date(r),d=w.get("FullYear",D);return T=T?w.Date.UTC(d,0,1):+new w.Date(d,0,1),f=Math.max(f,T),D=D.getTime(),{max:Math.min(r||D,D),min:f}},n.prototype.render=function(r,f){var T=this.chart,w=T.renderer,D=T.container,d=T.options,R=d.rangeSelector,a=c(d.chart.style&&d.chart.style.zIndex,0)+1;if(d=R.inputEnabled,!1!==R.enabled){if(this.rendered||(this.group=w.g("range-selector-group").attr({zIndex:7}).add(),this.div=I("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),D.parentNode&&D.parentNode.insertBefore(this.div,D),d&&(this.inputGroup=w.g("input-group").add(this.group),w=this.drawInput("min"),this.minDateBox=w.dateBox,this.minLabel=w.label,this.minInput=w.input,w=this.drawInput("max"),this.maxDateBox=w.dateBox,this.maxLabel=w.label,this.maxInput=w.input)),d&&(this.setInputValue("min",r),this.setInputValue("max",f),r=T.scroller&&T.scroller.getUnionExtremes()||T.xAxis[0]||{},C(r.dataMin)&&C(r.dataMax)&&(T=T.xAxis[0].minRange||0,this.setInputExtremes("min",r.dataMin,Math.min(r.dataMax,this.getInputValue("max"))-T),this.setInputExtremes("max",Math.max(r.dataMin,this.getInputValue("min"))+T,r.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(A){if(A){var j=A.getBBox().width;j&&(A.attr({x:h}),h+=j+R.inputSpacing)}})}this.alignElements(),this.rendered=!0}},n.prototype.renderButtons=function(){var r=this,f=this.buttons,T=this.options,w=W.lang,D=this.chart.renderer,d=O(T.buttonTheme),R=d&&d.states,a=d.width||28;delete d.width,delete d.states,this.buttonGroup=D.g("range-selector-buttons").add(this.group);var h=this.dropdown=I("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);F(h,"touchstart",function(){h.style.fontSize="16px"}),[[et.isMS?"mouseover":"mouseenter"],[et.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(A){var j=A[0],z=A[1];F(h,j,function(){var H=f[r.currentButtonIndex()];H&&v(H.element,z||j)})}),this.zoomText=D.label(w&&w.rangeSelectorZoom||"",0).attr({padding:T.buttonTheme.padding,height:T.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(T.labelStyle),d["stroke-width"]=c(d["stroke-width"],0)),I("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach(function(A,j){I("option",{textContent:A.title||A.text},void 0,h),f[j]=D.button(A.text,0,0,function(z){var p,H=A.events&&A.events.click;H&&(p=H.call(A,z)),!1!==p&&r.clickButton(j),r.isActive=!0},d,R&&R.hover,R&&R.select,R&&R.disabled).attr({"text-align":"center",width:a}).add(r.buttonGroup),A.title&&f[j].attr("title",A.title)})},n.prototype.alignElements=function(){var r=this,f=this.buttonGroup,T=this.buttons,w=this.chart,D=this.group,d=this.inputGroup,R=this.options,a=this.zoomText,h=w.options,A=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions;h=R.buttonPosition;var j=R.inputPosition,z=R.verticalAlign,H=function(G,U){return A&&r.titleCollision(w)&&"top"===z&&"right"===U.align&&U.y-G.getBBox().height-12<(A.y||0)+(A.height||0)+w.spacing[0]?-40:0},p=w.plotLeft;if(D&&h&&j){var N=h.x-w.spacing[3];if(f){if(this.positionButtons(),!this.initialButtonGroupWidth){var _=0;a&&(_+=a.getBBox().width+5),T.forEach(function(G,U){_+=G.width,U!==T.length-1&&(_+=R.buttonSpacing)}),this.initialButtonGroupWidth=_}p-=w.spacing[3],this.updateButtonStates(),a=H(f,h),this.alignButtonGroup(a),D.placed=f.placed=w.hasLoaded}f=0,d&&(f=H(d,j),"left"===j.align?N=p:"right"===j.align&&(N=-Math.max(w.axisOffset[1],-f)),d.align({y:j.y,width:d.getBBox().width,align:j.align,x:j.x+N-2},!0,w.spacingBox),d.placed=w.hasLoaded),this.handleCollision(f),D.align({verticalAlign:z},!0,w.spacingBox),d=D.alignAttr.translateY,f=D.getBBox().height+20,H=0,"bottom"===z&&(H=d-(f=f+(H=(H=w.legend&&w.legend.options)&&"bottom"===H.verticalAlign&&H.enabled&&!H.floating?w.legend.legendHeight+c(H.margin,10):0)-20)-(R.floating?0:R.y)-(w.titleOffset?w.titleOffset[2]:0)-10),"top"===z?(R.floating&&(H=0),w.titleOffset&&w.titleOffset[0]&&(H=w.titleOffset[0]),H+=w.margin[0]-w.spacing[0]||0):"middle"===z&&(j.y===h.y?H=d:(j.y||h.y)&&(H=0>j.y||0>h.y?H-Math.min(j.y,h.y):d-f)),D.translate(R.x,R.y+Math.floor(H)),h=this.minInput,j=this.maxInput,d=this.dropdown,R.inputEnabled&&h&&j&&(h.style.marginTop=D.translateY+"px",j.style.marginTop=D.translateY+"px"),d&&(d.style.marginTop=D.translateY+"px")}},n.prototype.alignButtonGroup=function(r,f){var T=this.chart,w=this.buttonGroup,D=this.options.buttonPosition,d=T.plotLeft-T.spacing[3],R=D.x-T.spacing[3];"right"===D.align?R+=r-d:"center"===D.align&&(R-=d/2),w&&w.align({y:D.y,width:c(f,this.initialButtonGroupWidth),align:D.align,x:R},!0,T.spacingBox)},n.prototype.positionButtons=function(){var r=this.buttons,f=this.chart,T=this.options,w=this.zoomText,D=f.hasLoaded?"animate":"attr",d=T.buttonPosition,R=f.plotLeft,a=R;w&&"hidden"!==w.visibility&&(w[D]({x:c(R+d.x,R)}),a+=d.x+w.getBBox().width+5),this.buttonOptions.forEach(function(h,A){"hidden"!==r[A].visibility?(r[A][D]({x:a}),a+=r[A].width+T.buttonSpacing):r[A][D]({x:R})})},n.prototype.handleCollision=function(r){var f=this,T=this.chart,w=this.buttonGroup,D=this.inputGroup,d=this.options,R=d.buttonPosition,a=d.dropdown,h=d.inputPosition;d=function(){var z=0;return f.buttons.forEach(function(H){(H=H.getBBox()).width>z&&(z=H.width)}),z};var A=function(z){if(D&&w){var H=D.alignAttr.translateX+D.alignOptions.x-r+D.getBBox().x+2,p=D.alignOptions.width,N=w.alignAttr.translateX+w.getBBox().x;return N+z>H&&H+p>N&&R.y<h.y+D.getBBox().height}return!1},j=function(){D&&w&&D.attr({translateX:D.alignAttr.translateX+(T.axisOffset[1]>=-r?0:-r),translateY:D.alignAttr.translateY+w.getBBox().height+10})};if(w){if("always"===a)return this.collapseButtons(r),void(A(d())&&j());"never"===a&&this.expandButtons()}D&&w?h.align===R.align||A(this.initialButtonGroupWidth+20)?"responsive"===a?(this.collapseButtons(r),A(d())&&j()):j():"responsive"===a&&this.expandButtons():w&&"responsive"===a&&(this.initialButtonGroupWidth>T.plotWidth?this.collapseButtons(r):this.expandButtons())},n.prototype.collapseButtons=function(r){var f=this.buttons,T=this.buttonOptions,w=this.chart,D=this.dropdown,d=this.options,R=this.zoomText,a=w.userOptions.rangeSelector&&w.userOptions.rangeSelector.buttonTheme||{},h=function(j){return{text:j?j+" \u25be":"\u25be",width:"auto",paddingLeft:c(d.buttonTheme.paddingLeft,a.padding,8),paddingRight:c(d.buttonTheme.paddingRight,a.padding,8)}};R&&R.hide();var A=!1;T.forEach(function(j,z){2!==(z=f[z]).state?z.hide():(z.show(),z.attr(h(j.text)),A=!0)}),A||(D&&(D.selectedIndex=0),f[0].show(),f[0].attr(h(this.zoomText&&this.zoomText.textStr))),T=d.buttonPosition.align,this.positionButtons(),"right"!==T&&"center"!==T||this.alignButtonGroup(r,f[this.currentButtonIndex()].getBBox().width),this.showDropdown()},n.prototype.expandButtons=function(){var r=this.buttons,f=this.buttonOptions,T=this.options,w=this.zoomText;this.hideDropdown(),w&&w.show(),f.forEach(function(D,d){(d=r[d]).show(),d.attr({text:D.text,width:T.buttonTheme.width||28,paddingLeft:c(T.buttonTheme.paddingLeft,"unset"),paddingRight:c(T.buttonTheme.paddingRight,"unset")}),2>d.state&&d.setState(0)}),this.positionButtons()},n.prototype.currentButtonIndex=function(){var r=this.dropdown;return r&&0<r.selectedIndex?r.selectedIndex-1:0},n.prototype.showDropdown=function(){var r=this.buttonGroup,f=this.buttons,T=this.chart,w=this.dropdown;if(r&&w){var D=r.translateX;r=r.translateY,f=f[this.currentButtonIndex()].getBBox(),L(w,{left:T.plotLeft+D+"px",top:r+.5+"px",width:f.width+"px",height:f.height+"px"}),this.hasVisibleDropdown=!0}},n.prototype.hideDropdown=function(){var r=this.dropdown;r&&(L(r,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)},n.prototype.getHeight=function(){var r=this.options,f=this.group,T=r.y,w=r.buttonPosition.y,D=r.inputPosition.y;return r.height?r.height:(this.alignElements(),r=f?f.getBBox(!0).height+13+T:0,f=Math.min(D,w),(0>D&&0>w||0<D&&0<w)&&(r+=Math.abs(f)),r)},n.prototype.titleCollision=function(r){return!(r.options.title.text||r.options.subtitle.text)},n.prototype.update=function(r){var f=this.chart;O(!0,f.options.rangeSelector,r),this.destroy(),this.init(f),this.render()},n.prototype.destroy=function(){var r=this,f=r.minInput,T=r.maxInput;r.eventsToUnbind&&(r.eventsToUnbind.forEach(function(w){return w()}),r.eventsToUnbind=void 0),y(r.buttons),f&&(f.onfocus=f.onblur=f.onchange=null),T&&(T.onfocus=T.onblur=T.onchange=null),P(r,function(w,D){w&&"chart"!==D&&(w instanceof Q?w.destroy():w instanceof de.HTMLElement&&S(w)),w!==n.prototype[D]&&(r[D]=null)},this)},n}();if(m.prototype.defaultButtons=[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],m.prototype.inputTypeFormats={"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"},X.prototype.minFromRange=function(){var n=this.range,r=n.type,f=this.max,T=this.chart.time,w=function(a,h){var A="year"===r?"FullYear":"Month",j=new T.Date(a),z=T.get(A,j);return T.set(A,j,z+h),z===T.get(A,j)&&T.set("Date",j,0),j.getTime()-a};if(k(n))var D=f-n,d=n;else D=f+w(f,-n.count),this.chart&&(this.chart.fixedRange=f-D);var R=c(this.dataMin,Number.MIN_VALUE);return k(D)||(D=R),D<=R&&(D=R,void 0===d&&(d=w(D,n.count)),this.newMax=Math.min(D+d,this.dataMax)),k(f)||(D=void 0),D},!et.RangeSelector){var l=[],b=function(n){function r(){T&&(f=n.xAxis[0].getExtremes(),w=n.legend,d=T&&T.options.verticalAlign,k(f.min)&&T.render(f.min,f.max),w.display&&"top"===d&&d===w.options.verticalAlign&&((D=O(n.spacingBox)).y="vertical"===w.options.layout?n.plotTop:D.y+T.getHeight(),w.group.placed=!1,w.align(D)))}var f,w,D,d,T=n.rangeSelector;T&&(E(l,function(R){return R[0]===n})||l.push([n,[F(n.xAxis[0],"afterSetExtremes",function(R){T&&T.render(R.min,R.max)}),F(n,"redraw",r)]]),r())};F(Y,"afterGetContainer",function(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new m(this))}),F(Y,"beforeRender",function(){var n=this.axes,r=this.rangeSelector;r&&(k(r.deferredYTDClick)&&(r.clickButton(r.deferredYTDClick),delete r.deferredYTDClick),n.forEach(function(f){f.updateNames(),f.setScale()}),this.getAxisMargins(),r.render(),n=r.options.verticalAlign,r.options.floating||("bottom"===n?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0)))}),F(Y,"update",function(n){var r=n.options.rangeSelector;n=this.rangeSelector;var f=this.extraBottomMargin,T=this.extraTopMargin;r&&r.enabled&&!C(n)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=n=new m(this)),this.extraTopMargin=this.extraBottomMargin=!1,n&&(b(this),r=r&&r.verticalAlign||n.options&&n.options.verticalAlign,n.options.floating||("bottom"===r?this.extraBottomMargin=!0:"middle"!==r&&(this.extraTopMargin=!0)),this.extraBottomMargin!==f||this.extraTopMargin!==T)&&(this.isDirtyBox=!0)}),F(Y,"render",function(){var n=this.rangeSelector;n&&!n.options.floating&&(n.render(),"bottom"===(n=n.options.verticalAlign)?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0))}),F(Y,"getMargins",function(){var n=this.rangeSelector;n&&(n=n.getHeight(),this.extraTopMargin&&(this.plotTop+=n),this.extraBottomMargin&&(this.marginBottom+=n))}),Y.prototype.callbacks.push(b),F(Y,"destroy",function(){for(var n=0;n<l.length;n++){var r=l[n];if(r[0]===this){r[1].forEach(function(f){return f()}),l.splice(n,1);break}}}),et.RangeSelector=m}return m}),Mt($,"Core/Chart/StockChart.js",[$["Core/Animation/AnimationUtilities.js"],$["Core/Axis/Axis.js"],$["Core/Chart/Chart.js"],$["Core/FormatUtilities.js"],$["Core/DefaultOptions.js"],$["Core/Series/Series.js"],$["Core/Renderer/SVG/SVGRenderer.js"],$["Core/Utilities.js"]],function(X,Y,et,rt,Q,it,K,W){function F(u,o){return"xAxis"===u?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0}:"yAxis"===u?{labels:{y:-2},opposite:g(o.opposite,!0),showLastLabel:!(!o.categories&&"category"!==o.type),title:{text:null}}:{}}function I(u,o){if("xAxis"===u){u=y();var m={type:"datetime",categories:void 0};return g(o.navigator&&o.navigator.enabled,u.navigator.enabled,!0)&&(m.startOnTick=!1,m.endOnTick=!1),m}return{}}var u,L=this&&this.__extends||(u=function(o,m){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,b){l.__proto__=b}||function(l,b){for(var n in b)b.hasOwnProperty(n)&&(l[n]=b[n])})(o,m)},function(o,m){function l(){this.constructor=o}u(o,m),o.prototype=null===m?Object.create(m):(l.prototype=m.prototype,new l)}),C=rt.format,y=Q.getOptions;X=W.addEvent;var S=W.clamp,M=W.defined,E=W.extend,v=W.find,k=W.isNumber,O=W.isString,P=W.merge,g=W.pick,c=W.splat;return W=function(u){function o(){return null!==u&&u.apply(this,arguments)||this}return L(o,u),o.prototype.init=function(m,l){var b=y(),n=m.xAxis,r=m.yAxis,f=g(m.navigator&&m.navigator.enabled,b.navigator.enabled,!0);m.xAxis=m.yAxis=void 0,f=P({chart:{panning:{enabled:!0,type:"x"},pinchType:"x"},navigator:{enabled:f},scrollbar:{enabled:g(b.scrollbar&&b.scrollbar.enabled,!0)},rangeSelector:{enabled:g(b.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:g(b.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},m,{isStock:!0}),m.xAxis=n,m.yAxis=r,f.xAxis=c(m.xAxis||{}).map(function(T,w){return P(F("xAxis",T),b.xAxis,b.xAxis&&b.xAxis[w],T,I("xAxis",m))}),f.yAxis=c(m.yAxis||{}).map(function(T,w){return P(F("yAxis",T),b.yAxis,b.yAxis&&b.yAxis[w],T)}),u.prototype.init.call(this,f,l)},o.prototype.createAxis=function(m,l){return l.axis=P(F(m,l.axis),l.axis,I(m,this.userOptions)),u.prototype.createAxis.call(this,m,l)},o}(et),function(u){u.stockChart=function(o,m,l){return new u(o,m,l)}}(W||(W={})),X(it,"setOptions",function(u){var o;this.chart.options.isStock&&(this.is("column")||this.is("columnrange")?o={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(o={marker:{enabled:!1,radius:2}}),o&&(u.plotOptions[this.type]=P(u.plotOptions[this.type],o)))}),X(Y,"autoLabelAlign",function(u){var o=this.chart,m=this.options;o=o._labelPanes=o._labelPanes||{};var l=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&!o[m=m.top+","+m.height]&&l.enabled&&(15===l.x&&(l.x=0),void 0===l.align&&(l.align="right"),o[m]=this,u.align="right",u.preventDefault())}),X(Y,"destroy",function(){var u=this.chart,o=this.options&&this.options.top+","+this.options.height;o&&u._labelPanes&&u._labelPanes[o]===this&&delete u._labelPanes[o]}),X(Y,"getPlotLinePath",function(u){var T,w,D,d,m=this,l=this.isLinked&&!this.series?this.linkedParent.series:this.series,b=m.chart,n=b.renderer,r=m.left,f=m.top,R=[],a=[],h=u.translatedValue,A=u.value,j=u.force;if(b.options.isStock&&!1!==u.acrossPanes&&"xAxis"===m.coll||"yAxis"===m.coll){u.preventDefault(),a=function o(N){var _="xAxis"===N?"yAxis":"xAxis";return k(N=m.options[_])?[b[_][N]]:O(N)?[b.get(N)]:l.map(function(G){return G[_]})}(m.coll),(m.isXAxis?b.yAxis:b.xAxis).forEach(function(N){if(!M(N.options.id)||-1===N.options.id.indexOf("navigator")){var _=N.isXAxis?"yAxis":"xAxis";_=M(N.options[_])?b[_][N.options[_]]:b[_][0],m===_&&a.push(N)}});var H=a.length?[]:[m.isXAxis?b.yAxis[0]:b.xAxis[0]];a.forEach(function(N){-1!==H.indexOf(N)||v(H,function(_){return _.pos===N.pos&&_.len===N.len})||H.push(N)});var p=g(h,m.translate(A,null,null,u.old));k(p)&&H.forEach(m.horiz?function(N){var _;d=(w=N.pos)+N.len,T=D=Math.round(p+m.transB),"pass"!==j&&(T<r||T>r+m.width)&&(j?T=D=S(T,r,r+m.width):_=!0),_||R.push(["M",T,w],["L",D,d])}:function(N){var _;D=(T=N.pos)+N.len,w=d=Math.round(f+m.height-p),"pass"!==j&&(w<f||w>f+m.height)&&(j?w=d=S(w,f,f+m.height):_=!0),_||R.push(["M",T,w],["L",D,d])}),u.path=0<R.length?n.crispPolyLine(R,u.lineWidth||1):null}}),K.prototype.crispPolyLine=function(u,o){for(var m=0;m<u.length;m+=2){var l=u[m],b=u[m+1];l[1]===b[1]&&(l[1]=b[1]=Math.round(l[1])-o%2/2),l[2]===b[2]&&(l[2]=b[2]=Math.round(l[2])+o%2/2)}return u},X(Y,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}),X(Y,"afterDrawCrosshair",function(u){var o,m;if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&k(this.min)&&k(this.max)){var l=this.chart,b=this.logarithmic,n=this.crosshair.label,r=this.horiz,f=this.opposite,T=this.left,w=this.top,D=this.crossLabel,d=n.format,R="",a="inside"===this.options.tickPosition,h=!1!==this.crosshair.snap,A=0,j=u.e||this.cross&&this.cross.e;u=u.point;var z=this.min,H=this.max;b&&(z=b.lin2log(z),H=b.lin2log(H)),b=r?"center":f?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center",D||(D=this.crossLabel=l.renderer.label("",0,void 0,n.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(u?u.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:n.align||b,padding:g(n.padding,8),r:g(n.borderRadius,3),zIndex:2}).add(this.labelGroup),l.styledMode||D.attr({fill:n.backgroundColor||u&&u.series&&u.series.color||"#666666",stroke:n.borderColor||"","stroke-width":n.borderWidth||0}).css(E({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},n.style||{}))),r?(b=h?(u.plotX||0)+T:j.chartX,w+=f?0:this.height):(b=f?this.width+T:0,w=h?(u.plotY||0)+w:j.chartY),d||n.formatter||(this.dateTime&&(R="%b %d, %Y"),d="{value"+(R?":"+R:"")+"}"),R=h?this.isXAxis?u.x:u.y:this.toValue(r?j.chartX:j.chartY),h=u?u.series.isPointInside(u):k(R)&&R>z&&R<H,j="",d?j=C(d,{value:R},l):n.formatter&&k(R)&&(j=n.formatter.call(this,R)),D.attr({text:j,x:b,y:w,visibility:h?"inherit":"hidden"}),n=D.getBBox(),k(D.y)&&(r?(a&&!f||!a&&f)&&(w=D.y-n.height):w=D.y-n.height/2),r?(o=T-n.x,m=T+this.width-n.x):(o="left"===this.labelAlign?T:0,m="right"===this.labelAlign?T+this.width:l.chartWidth),D.translateX<o&&(A=o-D.translateX),D.translateX+n.width>=m&&(A=-(D.translateX+n.width-m)),D.attr({x:b+A,y:w,anchorX:r?b:this.opposite?0:l.chartWidth,anchorY:r?this.opposite?l.chartHeight:0:w+n.height/2})}}),it.prototype.forceCropping=function(){var o=this.options.dataGrouping;return!1!==this.allowDG&&o&&g(o.enabled,this.chart.options.isStock)},X(et,"update",function(u){"scrollbar"in(u=u.options)&&this.navigator&&(P(!0,this.options.scrollbar,u.scrollbar),this.navigator.update({},!1),delete u.scrollbar)}),W}),Mt($,"masters/modules/stock.src.js",[$["Core/Globals.js"],$["Core/Axis/OrdinalAxis.js"],$["Series/DataModifyComposition.js"],$["Core/Scrollbar.js"],$["Core/Chart/StockChart.js"]],function(X,Y,et,rt,Q){X.Scrollbar=rt,X.StockChart=X.stockChart=Q.stockChart,rt.compose(X.Axis),Y.compose(X.Axis,X.Series,X.Chart),et.compose(X.Series,X.Axis,X.Point)}),Mt($,"masters/highstock.src.js",[$["masters/highcharts.src.js"]],function(X){return X.product="Highstock",X}),$["masters/highstock.src.js"]._modules=$,$["masters/highstock.src.js"]},Te.exports?(Mt.default=Mt,Te.exports=de.document?Mt(de):Mt):void 0!==(oe=function(){return Mt(de)}.call(hi,Ve,hi,Te))&&(Te.exports=oe)}},Te=>{Te(Te.s=901)}]);
\ No newline at end of file
diff --git a/main.4c015083ed59b3d241bf.js b/main.4c015083ed59b3d241bf.js
deleted file mode 100644
index 523fe11..0000000
--- a/main.4c015083ed59b3d241bf.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkhighcharts_tango_spectrum_attributes=self.webpackChunkhighcharts_tango_spectrum_attributes||[]).push([[179],{255:t=>{function e(t){return Promise.resolve().then(()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=()=>[],e.resolve=e,e.id=255,t.exports=e},781:function(t,e,i){var o,r,s;r="undefined"!=typeof window?window:this,s=function(t){function e(t,e,i,o){t.hasOwnProperty(e)||(t[e]=o.apply(null,i))}var i={};return e(i,"Core/Globals.js",[],function(){var e,i=void 0!==t?t:"undefined"!=typeof window?window:{};return function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="9.1.0",t.win=i,t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=-1!==t.userAgent.indexOf("Chrome"),t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.hasBidiBug=t.isFirefox&&4>parseInt(t.userAgent.split("Firefox/")[1],10),t.hasTouch=!!t.win.TouchEvent,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){var e=!1;if(!t.isMS){var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={}}(e||(e={})),e}),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],function(t){function e(t,i,o,r){var s=i?"Highcharts error":"Highcharts warning";32===t&&(t=s+": Deprecated member");var n=h(t),a=n?s+" #"+t+": www.highcharts.com/errors/"+t+"/":t.toString();if(void 0!==r){var l="";n&&(a+="?"),m(r,function(t,e){l+="\n - "+e+": "+t,n&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=l}v(Highcharts,"displayError",{chart:o,code:t,message:a,params:r},function(){if(i)throw Error(a);C.console&&-1===e.messages.indexOf(a)&&console.warn(a)}),e.messages.push(a)}function i(t,e){return parseInt(t,e||10)}function o(t){return"string"==typeof t}function r(t){return"[object Array]"===(t=Object.prototype.toString.call(t))||"[object Array Iterator]"===t}function s(t,e){return!(!t||"object"!=typeof t||e&&r(t))}function n(t){return s(t)&&"number"==typeof t.nodeType}function a(t){var e=t&&t.constructor;return!(!s(t,!0)||n(t)||!e||!e.name||"Object"===e.name)}function h(t){return"number"==typeof t&&!isNaN(t)&&1/0>t&&-1/0<t}function l(t){return null!=t}function c(t,e,i){var r;return o(e)?l(i)?t.setAttribute(e,i):t&&t.getAttribute&&((r=t.getAttribute(e))||"class"!==e||(r=t.getAttribute(e+"Name"))):m(e,function(e,i){t.setAttribute(i,e)}),r}function d(t,e){var i;for(i in t||(t={}),e)t[i]=e[i];return t}function p(){for(var t=arguments,e=t.length,i=0;i<e;i++){var o=t[i];if(null!=o)return o}}function u(e,i){t.isMS&&!t.svg&&i&&void 0!==i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")"),d(e.style,i)}function f(t,e,i,o,r){return t=w.createElement(t),e&&d(t,e),r&&u(t,{padding:"0",border:"none",margin:"0"}),i&&u(t,i),o&&o.appendChild(t),t}function g(t,e){return parseFloat(t.toPrecision(e||14))}function m(t,e,i){for(var o in t)Object.hasOwnProperty.call(t,o)&&e.call(i||t[o],t[o],o,t)}function y(e,i,o){function r(i,o){var r=e.removeEventListener||t.removeEventListenerPolyfill;r&&r.call(e,i,o,!1)}function s(t){var o;if(e.nodeName){if(i){var s={};s[i]=!0}else s=t;m(s,function(e,i){if(t[i])for(o=t[i].length;o--;)r(i,t[i][o].fn)})}}var n="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(n,"hcEvents")){var a=n.hcEvents;i?(n=a[i]||[],o?(a[i]=n.filter(function(t){return o!==t.fn}),r(i,o)):(s(a),a[i]=[])):(s(a),delete n.hcEvents)}}function v(e,i,o,r){if(o=o||{},w.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){var s=w.createEvent("Events");s.initEvent(i,!0,!0),o=d(s,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(i,o)}else if(e.hcEvents){o.target||d(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:i}),s=[];for(var n=e,a=!1;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[i]&&(s.length&&(a=!0),s.unshift.apply(s,n.hcEvents[i])),n=Object.getPrototypeOf(n);a&&s.sort(function(t,e){return t.order-e.order}),s.forEach(function(t){!1===t.fn.call(e,o)&&o.preventDefault()})}r&&!o.defaultPrevented&&r.call(e,o)}var x,b=t.charts,w=t.doc,C=t.win;(e||(e={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){var i,o=t.length;for(i=0;i<o;i++)if(e(t[i],i))return t[i]};m({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,o){t[o]=function(t){var r;return e(32,!1,void 0,((r={})["Highcharts."+o]="use Array."+i,r)),Array.prototype[i].apply(t,[].slice.call(arguments,1))}});var k,M=function(){var t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(k?"":t)+e++}}();return C.jQuery&&(C.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[o(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):b[c(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,o,r){void 0===r&&(r={});var s="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={}),s=s.hcEvents,t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);var n=e.addEventListener||t.addEventListenerPolyfill;return n&&n.call(e,i,o,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),s[i]||(s[i]=[]),s[i].push({fn:o,order:"number"==typeof r.order?r.order:1/0}),s[i].sort(function(t,e){return t.order-e.order}),function(){y(e,i,o)}},arrayMax:function(t){for(var e=t.length,i=t[0];e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){for(var e=t.length,i=t[0];e--;)t[e]<i&&(i=t[e]);return i},attr:c,clamp:function(t,e,i){return t>e?t<i?t:i:e},cleanRecursively:function t(e,i){var o={};return m(e,function(r,n){s(e[n],!0)&&!e.nodeType&&i[n]?(r=t(e[n],i[n]),Object.keys(r).length&&(o[n]=r)):(s(e[n])||e[n]!==i[n])&&(o[n]=e[n])}),o},clearTimeout:function(t){l(t)&&clearTimeout(t)},correctFloat:g,createElement:f,css:u,defined:l,destroyObjectProperties:function(t,e){m(t,function(i,o){i&&i!==e&&i.destroy&&i.destroy(),delete t[o]})},discardElement:function(t){x||(x=f("div")),t&&x.appendChild(t),x.innerHTML=""},erase:function(t,e){for(var i=t.length;i--;)if(t[i]===e){t.splice(i,1);break}},error:e,extend:d,extendClass:function(t,e){var i=function(){};return d(i.prototype=new t,e),i},find:S,fireEvent:v,getMagnitude:function(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))},getNestedProperty:function(t,e){for(t=t.split(".");t.length&&l(e);){var i=t.shift();if(void 0===i||"__proto__"===i)return;if(!l(e=e[i])||"function"==typeof e||"number"==typeof e.nodeType||e===C)return}return e},getStyle:function o(r,s,n){var a=t.getStyle||o;if("width"===s)return s=Math.min(r.offsetWidth,r.scrollWidth),(n=r.getBoundingClientRect&&r.getBoundingClientRect().width)<s&&n>=s-1&&(s=Math.floor(n)),Math.max(0,s-(a(r,"padding-left",!0)||0)-(a(r,"padding-right",!0)||0));if("height"===s)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(a(r,"padding-top",!0)||0)-(a(r,"padding-bottom",!0)||0));if(C.getComputedStyle||e(27,!0),r=C.getComputedStyle(r,void 0)){var h=r.getPropertyValue(s);p(n,"opacity"!==s)&&(h=i(h))}return h},inArray:function(t,i,o){return e(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,o)},isArray:r,isClass:a,isDOMElement:n,isFunction:function(t){return"function"==typeof t},isNumber:h,isObject:s,isString:o,keys:function(t){return e(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){var t,e=arguments,i={},o=function(t,e){return"object"!=typeof t&&(t={}),m(e,function(i,r){"__proto__"!==r&&"constructor"!==r&&(t[r]=!s(i,!0)||a(i)||n(i)?e[r]:o(t[r]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));var r=e.length;for(t=0;t<r;t++)i=o(i,e[t]);return i},normalizeTickInterval:function(t,e,i,o,r){var s=t,n=t/(i=p(i,1));for(e||(e=r?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===o&&(1===i?e=e.filter(function(t){return 0==t%1}):.1>=i&&(e=[1/i]))),o=0;o<e.length&&(s=e[o],!(r&&s*i>=t||!r&&n<=(e[o]+(e[o+1]||e[o]))/2));o++);return g(s*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:m,offset:function(t){var e=w.documentElement;return{top:(t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(C.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(C.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:p,pInt:i,relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:y,splat:function(t){return r(t)?t:[t]},stableSort:function(t,e){var i,o,r=t.length;for(o=0;o<r;o++)t[o].safeI=o;for(t.sort(function(t,o){return 0===(i=e(t,o))?t.safeI-o.safeI:i}),o=0;o<r;o++)delete t[o].safeI},syncTimeout:function(t,e,i){return 0<e?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:M,useSerialIds:function(t){return k=p(t,k)},wrap:function(t,e,i){var o=t[e];t[e]=function(){var t=Array.prototype.slice.call(arguments),e=arguments,r=this;return r.proceed=function(){o.apply(r,arguments.length?arguments:e)},t.unshift(o),t=i.apply(this,t),r.proceed=null,t}}}}),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.isNumber,o=e.merge,r=e.pInt;return e=function(){function e(i){return this.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(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],this.rgba=[],t.Color!==e?new t.Color(i):this instanceof e?void this.init(i):new e(i)}return e.parse=function(t){return new e(t)},e.prototype.init=function(t){var i,o;if((this.input=t=e.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new e(t[1])});else{if(t&&t.charAt&&"#"===t.charAt()){var r=t.length;t=parseInt(t.substr(1),16),7===r?i=[(16711680&t)>>16,(65280&t)>>8,255&t,1]:4===r&&(i=[(3840&t)>>4|(3840&t)>>8,(240&t)>>4|240&t,(15&t)<<4|15&t,1])}if(!i)for(o=this.parsers.length;o--&&!i;){var s=this.parsers[o];(r=s.regex.exec(t))&&(i=s.parse(r))}}this.rgba=i||[]},e.prototype.get=function(t){var e=this.input,r=this.rgba;if(void 0!==this.stops){var s=o(e);s.stops=[].concat(s.stops),this.stops.forEach(function(e,i){s.stops[i]=[s.stops[i][0],e.get(t)]})}else s=r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?r[3]:"rgba("+r.join(",")+")":e;return s},e.prototype.brighten=function(t){var e,o=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(e=0;3>e;e++)o[e]+=r(255*t),0>o[e]&&(o[e]=0),255<o[e]&&(o[e]=255);return this},e.prototype.setOpacity=function(t){return this.rgba[3]=t,this},e.prototype.tweenTo=function(t,e){var i=this.rgba,o=t.rgba;return o.length&&i&&i.length?((t=1!==o[3]||1!==i[3])?"rgba(":"rgb(")+Math.round(o[0]+(i[0]-o[0])*(1-e))+","+Math.round(o[1]+(i[1]-o[1])*(1-e))+","+Math.round(o[2]+(i[2]-o[2])*(1-e))+(t?","+(o[3]+(i[3]-o[3])*(1-e)):"")+")":t.input||"none"},e.names={white:"#ffffff",black:"#000000"},e}(),t.Color=e,t.color=e.parse,e}),e(i,"Core/Color/Palette.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),backgroundColor:"#ffffff",neutralColor100:"#000000",neutralColor80:"#333333",neutralColor60:"#666666",neutralColor40:"#999999",neutralColor20:"#cccccc",neutralColor10:"#e6e6e6",neutralColor5:"#f2f2f2",neutralColor3:"#f7f7f7",highlightColor100:"#003399",highlightColor80:"#335cad",highlightColor60:"#6685c2",highlightColor20:"#ccd6eb",highlightColor10:"#e6ebf5",positiveColor:"#06b535",negativeColor:"#f21313"}}),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.win,o=e.defined,r=e.error,s=e.extend,n=e.isObject,a=e.merge,h=e.objectEach,l=e.pad,c=e.pick,d=e.splat,p=e.timeUnits;return e=function(){function e(t){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}return e.prototype.get=function(t,e){if(this.variableTimezone||this.timezoneOffset){var i=e.getTime(),o=i-this.getTimezoneOffset(e);return e.setTime(o),t=e["getUTC"+t](),e.setTime(i),t}return this.useUTC?e["getUTC"+t]():e["get"+t]()},e.prototype.set=function(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&0==this.getTimezoneOffset(e)%36e5)return e["setUTC"+t](i);var o=this.getTimezoneOffset(e);return o=e.getTime()-o,e.setTime(o),e["setUTC"+t](i),t=this.getTimezoneOffset(e),o=e.getTime()+t,e.setTime(o)}return this.useUTC?e["setUTC"+t](i):e["set"+t](i)},e.prototype.update=function(t){var e=c(t&&t.useUTC,!0);this.options=t=a(!0,this.options||{},t),this.Date=t.Date||i.Date||Date,this.timezoneOffset=(this.useUTC=e)&&t.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)},e.prototype.makeTime=function(e,i,o,r,s,n){if(this.useUTC){var a=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(a),l=this.getTimezoneOffset(a+=h);h!==l?a+=l-h:h-36e5!==this.getTimezoneOffset(a-36e5)||t.isSafari||(a-=36e5)}else a=new this.Date(e,i,c(o,1),c(r,0),c(s,0),c(n,0)).getTime();return a},e.prototype.timezoneOffsetFunction=function(){var t=this,e=this.options,o=e.moment||i.moment;if(!this.useUTC)return function(t){return 6e4*new Date(t.toString()).getTimezoneOffset()};if(e.timezone){if(o)return function(t){return 6e4*-o.tz(t,e.timezone).utcOffset()};r(25)}return this.useUTC&&e.getTimezoneOffset?function(t){return 6e4*e.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(t.timezoneOffset||0)}},e.prototype.dateFormat=function(e,i,r){if(!o(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");var n=this,a=new this.Date(i),d=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,v=m&&m.shortWeekdays;return a=s({a:v?v[p]:y[p].substr(0,3),A:y[p],d:l(u),e:l(u,2," "),w:p,b:m.shortMonths[f],B:m.months[f],m:l(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:l(d),k:d,I:l(d%12||12),l:d%12||12,M:l(this.get("Minutes",a)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:l(a.getSeconds()),L:l(Math.floor(i%1e3),3)},t.dateFormats),h(a,function(t,o){for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(n,i):t)}),r?e.substr(0,1).toUpperCase()+e.substr(1):e},e.prototype.resolveDTLFormat=function(t){return n(t,!0)?t:{main:(t=d(t))[0],from:t[1],to:t[2]}},e.prototype.getTimeTicks=function(t,e,i,r){var n,a=this,h=[],l={},d=new a.Date(e),u=t.unitRange,f=t.count||1;if(r=c(r,1),o(e)){if(a.set("Milliseconds",d,u>=p.second?0:f*Math.floor(a.get("Milliseconds",d)/f)),u>=p.second&&a.set("Seconds",d,u>=p.minute?0:f*Math.floor(a.get("Seconds",d)/f)),u>=p.minute&&a.set("Minutes",d,u>=p.hour?0:f*Math.floor(a.get("Minutes",d)/f)),u>=p.hour&&a.set("Hours",d,u>=p.day?0:f*Math.floor(a.get("Hours",d)/f)),u>=p.day&&a.set("Date",d,u>=p.month?1:Math.max(1,f*Math.floor(a.get("Date",d)/f))),u>=p.month){a.set("Month",d,u>=p.year?0:f*Math.floor(a.get("Month",d)/f));var g=a.get("FullYear",d)}u>=p.year&&a.set("FullYear",d,g-g%f),u===p.week&&(g=a.get("Day",d),a.set("Date",d,a.get("Date",d)-g+r+(g<r?-7:0))),g=a.get("FullYear",d),r=a.get("Month",d);var m=a.get("Date",d),y=a.get("Hours",d);for(e=d.getTime(),!a.variableTimezone&&a.useUTC||!o(i)||(n=i-e>4*p.month||a.getTimezoneOffset(e)!==a.getTimezoneOffset(i)),e=d.getTime(),d=1;e<i;)h.push(e),e=u===p.year?a.makeTime(g+d*f,0):u===p.month?a.makeTime(g,r+d*f):!n||u!==p.day&&u!==p.week?n&&u===p.hour&&1<f?a.makeTime(g,r,m,y+d*f):e+u*f:a.makeTime(g,r,m+d*f*(u===p.day?1:7)),d++;h.push(e),u<=p.hour&&1e4>h.length&&h.forEach(function(t){0==t%18e5&&"000000000"===a.dateFormat("%H%M%S%L",t)&&(l[t]="day")})}return h.info=s(t,{higherRanks:l,totalRange:u*f}),h},e}(),t.Time=e,t.Time}),e(i,"Core/Options.js",[i["Core/Globals.js"],i["Core/Color/Color.js"],i["Core/Color/Palette.js"],i["Core/Time.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.isTouchDevice,n=t.svg;e=e.parse;var a=r.merge,h={colors:i.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},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}},zoomBySingleTouch:!1,width:null,height:null,borderColor:i.highlightColor80,backgroundColor:i.backgroundColor,plotBorderColor:i.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:i.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:i.neutralColor40,borderRadius:0,navigation:{activeColor:i.highlightColor100,inactiveColor:i.neutralColor20},itemStyle:{color:i.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:i.neutralColor100},itemHiddenStyle:{color:i.neutralColor20},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:i.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n,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:s?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:e(i.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:i.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:i.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};h.chart.styledMode=!1;var l=new o(a(h.global,h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(e){return a(!0,h,e),(e.time||e.global)&&(t.time?t.time.update(a(h.global,h.time,e.global,e.time)):t.time=l),h}}}),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.parse,r=e.win,s=i.isNumber,n=i.objectEach;return function(){function t(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}return t.prototype.dSetter=function(){var t=this.paths,e=t&&t[0];t=t&&t[1];var i=this.now||0,o=[];if(1!==i&&e&&t)if(e.length===t.length&&1>i)for(var r=0;r<t.length;r++){for(var n=e[r],a=t[r],h=[],l=0;l<a.length;l++){var c=n[l],d=a[l];h[l]=s(c)&&s(d)&&("A"!==a[0]||4!==l&&5!==l)?c+i*(d-c):d}o.push(h)}else o=t;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)},t.prototype.update=function(){var t=this.elem,e=this.prop,i=this.now,o=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,o&&o.call(t,i,this)},t.prototype.run=function(e,i,o){var s=this,n=s.options,a=function(t){return!a.stopped&&s.step(t)},h=r.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(var e=0;e<t.timers.length;e++)t.timers[e]()||t.timers.splice(e--,1);t.timers.length&&h(l)};e!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=i,this.unit=o,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===t.timers.push(a)&&h(l)):(delete n.curAnim[this.prop],n.complete&&0===Object.keys(n.curAnim).length&&n.complete.call(this.elem))},t.prototype.step=function(t){var e=+new Date,i=this.options,o=this.elem,r=i.complete,s=i.duration,a=i.curAnim;if(o.attr&&!o.element)t=!1;else if(t||e>=s+this.startTime){this.now=this.end,this.pos=1,this.update();var h=a[this.prop]=!0;n(a,function(t){!0!==t&&(h=!1)}),h&&r&&r.call(o),t=!1}else this.pos=i.easing((e-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},t.prototype.initPath=function(t,e,i){function o(t,e){for(;t.length<p;){var i=t[0],o=e[p-t.length];o&&"M"===i[0]&&(t[0]="C"===o[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]),t.unshift(i),h&&(i=t.pop(),t.push(t[t.length-1],i))}}function r(t,e){for(;t.length<p;)if("C"===(e=t[Math.floor(t.length/l)-1].slice())[0]&&(e[1]=e[5],e[2]=e[6]),h){var i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}var n=t.startX,a=t.endX;i=i.slice();var h=t.isArea,l=h?2:1;if(!(e=e&&e.slice()))return[i,i];if(n&&a&&a.length){for(t=0;t<n.length;t++){if(n[t]===a[0]){var c=t;break}if(n[0]===a[a.length-n.length+t]){c=t;var d=!0;break}if(n[n.length-1]===a[a.length-n.length+t]){c=n.length-t;break}}void 0===c&&(e=[])}if(e.length&&s(c)){var p=i.length+c*l;d?(o(e,i),r(i,e)):(o(i,e),r(e,i))}return[e,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,o(this.start).tweenTo(o(this.end),this.pos),null,!0)},t.timers=[],t}()}),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],function(t,e){function i(t){return h(t)?l({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function o(e,i){for(var o=t.timers.length;o--;)t.timers[o].elem!==e||i&&i!==t.timers[o].prop||(t.timers[o].stopped=!0)}var r=e.defined,s=e.getStyle,n=e.isArray,a=e.isNumber,h=e.isObject,l=e.merge,c=e.objectEach,d=e.pick;return{animate:function(e,i,r){var d,p,u,f="";if(!h(r)){var g=arguments;r={duration:g[2],easing:g[3],complete:g[4]}}a(r.duration)||(r.duration=400),r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=l(i),c(i,function(a,h){o(e,h),u=new t(e,r,h),p=void 0,"d"===h&&n(i.d)?(u.paths=u.initPath(e,e.pathArray,i.d),u.toD=i.d,d=0,p=1):e.attr?d=e.attr(h):(d=parseFloat(s(e,h))||0,"opacity"!==h&&(f="px")),p||(p=a),"string"==typeof p&&p.match("px")&&(p=p.replace(/px/g,"")),u.run(d,p,f)})},animObject:i,getDeferredAnimation:function(t,e,o){var s=i(e),n=0,a=0;return(o?[o]:t.series).forEach(function(t){t=i(t.options.animation),n=e&&r(e.defer)?s.defer:Math.max(n,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-a),duration:Math.min(n,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=d(t,e.options.chart.animation,!0)},stop:o}}),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.SVG_NS,o=e.attr,r=e.createElement,s=e.discardElement,n=e.error,a=e.isString,h=e.objectEach,l=e.splat,c=!1;try{c=!!(new DOMParser).parseFromString("","text/html")}catch(d){}return function(){function e(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}return e.filterUserAttributes=function(t){return h(t,function(i,o){var r=!0;-1===e.allowedAttributes.indexOf(o)&&(r=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(o)&&(r=a(i)&&e.allowedReferences.some(function(t){return 0===i.indexOf(t)})),r||(n("Highcharts warning: Invalid attribute '"+o+"' in config"),delete t[o])}),t},e.setElementHTML=function(t,i){t.innerHTML="",i&&new e(i).addToDOM(t)},e.prototype.addToDOM=function(r){return function r(s,a){var c;return l(s).forEach(function(s){var l=s.tagName,d=s.textContent?t.doc.createTextNode(s.textContent):void 0;if(l)if("#text"===l)var p=d;else if(-1!==e.allowedTags.indexOf(l)){l=t.doc.createElementNS("svg"===l?i:a.namespaceURI||i,l);var u=s.attributes||{};h(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"textContent"!==e&&(u[e]=t)}),o(l,e.filterUserAttributes(u)),d&&l.appendChild(d),r(s.children||[],l),p=l}else n("Highcharts warning: Invalid tagName '"+l+"' in config");p&&a.appendChild(p),c=p}),c}(this.nodes,r)},e.prototype.parseMarkup=function(t){var e=[];if(c)t=(new DOMParser).parseFromString(t,"text/html");else{var i=r("div");i.innerHTML=t,t={body:i}}var o=function(t,e){var i=t.nodeName.toLowerCase(),r={tagName:i};if("#text"===i){if(/^[\s]*$/.test(i=t.textContent||""))return;r.textContent=i}if(i=t.attributes){var s={};[].forEach.call(i,function(t){s[t.name]=t.value}),r.attributes=s}if(t.childNodes.length){var n=[];[].forEach.call(t.childNodes,function(t){o(t,n)}),n.length&&(r.children=n)}e.push(r)};return[].forEach.call(t.body.childNodes,function(t){return o(t,e)}),i&&s(i),e},e.allowedTags="a b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),e.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style result rowspan summary target tabindex text-align textAnchor textLength type valign width x x1 x2 y y1 y2 zIndex".split(" "),e.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),e}()}),e(i,"Core/FormatUtilities.js",[i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e,i,r){e=+e;var s=o.lang,l=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,c=t.toString().split("e"),d=e;if(-1===e)e=Math.min(l,20);else if(n(e)){if(e&&c[1]&&0>c[1]){var p=e+ +c[1];0<=p?(c[0]=(+c[0]).toExponential(p).split("e")[0],e=p):(c[0]=c[0].split(".")[0]||0,t=20>e?(c[0]*Math.pow(10,c[1])).toFixed(e):0,c[1]=0)}}else e=2;p=(Math.abs(c[1]?c[0]:t)+Math.pow(10,-Math.max(e,l)-1)).toFixed(e);var u=3<(l=String(h(p))).length?l.length%3:0;return i=a(i,s.decimalPoint),r=a(r,s.thousandsSep),t=(0>t?"-":"")+(u?l.substr(0,u)+r:""),t=0>+c[1]&&!d?"0":t+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(t+=i+p.slice(-e)),c[1]&&0!=+t&&(t+="e"+c[1]),t}var o=t.defaultOptions,r=t.defaultTime,s=e.getNestedProperty,n=e.isNumber,a=e.pick,h=e.pInt;return{dateFormat:function(t,e,i){return r.dateFormat(t,e,i)},format:function(t,e,n){var a="{",h=!1,l=/f$/,c=/\.([0-9])/,d=o.lang,p=n&&n.time||r;n=n&&n.numberFormatter||i;for(var u=[];t;){var f=t.indexOf(a);if(-1===f)break;var g=t.slice(0,f);if(h){if(g=g.split(":"),a=s(g.shift()||"",e),g.length&&"number"==typeof a)if(g=g.join(":"),l.test(g)){var m=parseInt((g.match(c)||["","-1"])[1],10);null!==a&&(a=n(a,m,d.decimalPoint,-1<g.indexOf(",")?d.thousandsSep:""))}else a=p.dateFormat(g,a);u.push(a)}else u.push(g);t=t.slice(f+1),a=(h=!h)?"}":"{"}return u.push(t),u.join("")},numberFormat:i}}),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.animate,a=t.animObject,h=t.stop,l=o.deg2rad,c=o.doc,d=o.noop,p=o.svg,u=o.SVG_NS,f=o.win,g=s.addEvent,m=s.attr,y=s.createElement,v=s.css,x=s.defined,b=s.erase,w=s.extend,C=s.fireEvent,S=s.isArray,k=s.isFunction,M=s.isNumber,A=s.isString,T=s.merge,P=s.objectEach,O=s.pick,E=s.pInt,L=s.syncTimeout,D=s.uniqueKey;return(t=function(){function t(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=u,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return t.prototype._defaultGetter=function(t){return t=O(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0),/^[\-0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},t.prototype._defaultSetter=function(t,e,i){i.setAttribute(e,t)},t.prototype.add=function(t){var e=this.renderer,i=this.element;if(t&&(this.parentGroup=t),this.parentInverted=t&&t.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,!t||t.handleZ||this.zIndex)var o=this.zIndexSetter();return o||(t?t.element:e.box).appendChild(i),this.onAdd&&this.onAdd(),this},t.prototype.addClass=function(t,e){var i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this},t.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},t.prototype.align=function(t,e,i){var o,r,s,n={},a=this.renderer,h=a.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||A(i))&&(this.alignTo=o=i||"renderer",b(h,this),h.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,o=this.alignTo),i=O(i,a[o],"scrollablePlotBox"===o?a.plotBox:void 0,a);var l=t.verticalAlign;return a=(i.x||0)+(t.x||0),h=(i.y||0)+(t.y||0),"right"===(o=t.align)?r=1:"center"===o&&(r=2),r&&(a+=(i.width-(t.width||0))/r),n[e?"translateX":"x"]=Math.round(a),"bottom"===l?s=1:"middle"===l&&(s=2),s&&(h+=(i.height-(t.height||0))/s),n[e?"translateY":"y"]=Math.round(h),this[this.placed?"animate":"attr"](n),this.placed=!0,this.alignAttr=n,this},t.prototype.alignSetter=function(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))},t.prototype.animate=function(t,e,i){var o=this,r=a(O(e,this.renderer.globalAnimation,!0));return e=r.defer,O(c.hidden,c.msHidden,c.webkitHidden,!1)&&(r.duration=0),0!==r.duration?(i&&(r.complete=i),L(function(){o.element&&n(o,t,r)},e)):(this.attr(t,void 0,i),P(t,function(t,e){r.step&&r.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this},t.prototype.applyTextOutline=function(t){var e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));var i=t.split(" ");if(t=i[i.length-1],(i=i[0])&&"none"!==i&&o.svg){this.fakeTS=!0,this.ySetter=this.xSetter,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();var r=c.createElementNS(u,"tspan");m(r,{class:"highcharts-text-outline",fill:t,stroke:t,"stroke-width":i,"stroke-linejoin":"round"}),[].forEach.call(e.childNodes,function(t){var e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(t){return e.removeAttribute(t)}),r.appendChild(e)});var s=c.createElementNS(u,"tspan");s.textContent="\u200b",["x","y"].forEach(function(t){var i=e.getAttribute(t);i&&s.setAttribute(t,i)}),r.appendChild(s),e.insertBefore(r,e.firstChild)}},t.prototype.attr=function(t,e,i,o){var r,s,n,a=this.element,l=this.symbolCustomAttribs,c=this;if("string"==typeof t&&void 0!==e){var d=t;(t={})[d]=e}return"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(P(t,function(e,i){s=!1,o||h(this,i),this.symbolName&&-1!==l.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),s=!0),!this.rotation||"x"!==i&&"y"!==i||(this.doTransform=!0),s||((n=this[i+"Setter"]||this._defaultSetter).call(this,e,i,a),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,e,n))},this),this.afterSetters()),i&&i.call(this),c},t.prototype.clip=function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":"none")},t.prototype.crisp=function(t,e){e=e||t.strokeWidth||0;var i=Math.round(e)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),x(t.strokeWidth)&&(t.strokeWidth=e),t},t.prototype.complexColor=function(t,e,o){var r,s,n,a,h,l,c,d,p,u,f,g=this.renderer,m=[];C(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(h=g.gradients,l=t.stops,p=o.radialReference,S(n=t[s])&&(t[s]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&p&&!x(n.gradientUnits)&&(n=T(n,g.getRadialAttr(p,a=n),{gradientUnits:"userSpaceOnUse"})),P(n,function(t,e){"id"!==e&&m.push(e,t)}),P(l,function(t){m.push(t)}),m=m.join(","),h[m])u=h[m].attr("id");else{n.id=u=D();var y=h[m]=g.createElement(s).attr(n).add(g.defs);y.radAttr=a,y.stops=[],l.forEach(function(t){0===t[1].indexOf("rgba")?(r=i.parse(t[1]),c=r.get("rgb"),d=r.get("a")):(c=t[1],d=1),t=g.createElement("stop").attr({offset:t[0],"stop-color":c,"stop-opacity":d}).add(y),y.stops.push(t)})}o.setAttribute(e,f="url("+g.url+"#"+u+")"),o.gradient=m,t.toString=function(){return f}}})},t.prototype.css=function(t){var e=this.styles,i={},o=this.element,r=["textOutline","textOverflow","width"],s="",n=!e;if(t&&t.color&&(t.fill=t.color),e&&P(t,function(t,o){e&&e[o]!==t&&(i[o]=t,n=!0)}),n){if(e&&(t=w(e,i)),t)if(null===t.width||"auto"===t.width)delete this.textWidth;else if("text"===o.nodeName.toLowerCase()&&t.width)var a=this.textWidth=E(t.width);if(this.styles=t,a&&!p&&this.renderer.forExport&&delete t.width,o.namespaceURI===this.SVG_NS){var h=function(t,e){return"-"+e.toLowerCase()};P(t,function(t,e){-1===r.indexOf(e)&&(s+=e.replace(/([A-Z])/g,h)+":"+t+";")}),s&&m(o,"style",s)}else v(o,t);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t&&t.textOutline&&this.applyTextOutline(t.textOutline))}return this},t.prototype.dashstyleSetter=function(t){var e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){var i=t.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(t=i.length;t--;)i[t]=""+E(i[t])*O(e,NaN);t=i.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}},t.prototype.destroy=function(){var t=this,e=t.element||{},i=t.renderer,o=e.ownerSVGElement,r=i.isSVG&&"SPAN"===e.nodeName&&t.parentGroup||void 0;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,h(t),t.clipPath&&o){var s=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1<t.getAttribute("clip-path").indexOf(s.element.id)&&t.removeAttribute("clip-path")}),t.clipPath=s.destroy()}if(t.stops){for(o=0;o<t.stops.length;o++)t.stops[o].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e),i.styledMode||t.destroyShadows();r&&r.div&&0===r.div.childNodes.length;)e=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=e;t.alignTo&&b(i.alignedObjects,t),P(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})},t.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(t){this.safeRemoveChild(t)},this),this.shadows=void 0},t.prototype.destroyTextPath=function(t,e){var i=t.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),e.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(t=this.textPathWrapper.element.childNodes;t.length;)i.appendChild(t[0]);i.removeChild(this.textPathWrapper.element)}}else(t.getAttribute("dx")||t.getAttribute("dy"))&&(t.removeAttribute("dx"),t.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},t.prototype.dSetter=function(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(function(t,e,i){return e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()},"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)},t.prototype.fadeOut=function(t){var e=this;e.animate({opacity:0},{duration:O(t,150),complete:function(){e.attr({y:-9999}).hide()}})},t.prototype.fillSetter=function(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)},t.prototype.getBBox=function(e,i){var o=this.renderer,r=this.element,s=this.styles,n=this.textStr,a=o.cache,h=o.cacheKeys,c=r.namespaceURI===this.SVG_NS;i=O(i,this.rotation,0);var d,p=o.styledMode?r&&t.prototype.getStyle.call(r,"font-size"):s&&s.fontSize;if(x(n)){var u=n.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",i,p,this.textWidth,s&&s.textOverflow,s&&s.fontWeight].join()}if(u&&!e&&(d=a[u]),!d){if(c||o.forExport){try{var f=this.fakeTS&&function(t){var e=r.querySelector(".highcharts-text-outline");e&&v(e,{display:t})};k(f)&&f("none"),d=r.getBBox?w({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight},k(f)&&f("")}catch(g){}(!d||0>d.width)&&(d={width:0,height:0})}else d=this.htmlGetBBox();if(o.isSVG&&(e=d.width,o=d.height,c&&(d.height=o={"11px,17":14,"13px,20":16}[s&&s.fontSize+","+Math.round(o)]||o),i&&(s=i*l,d.width=Math.abs(o*Math.sin(s))+Math.abs(e*Math.cos(s)),d.height=Math.abs(o*Math.cos(s))+Math.abs(e*Math.sin(s)))),u&&0<d.height){for(;250<h.length;)delete a[h.shift()];a[u]||h.push(u),a[u]=d}}return d},t.prototype.getStyle=function(t){return f.getComputedStyle(this.element||this,"").getPropertyValue(t)},t.prototype.hasClass=function(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)},t.prototype.hide=function(t){return this.attr(t?{y:-9999}:{visibility:"hidden"}),this},t.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},t.prototype.init=function(t,e){this.element="span"===e?y(e):c.createElementNS(this.SVG_NS,e),this.renderer=t,C(this,"afterInit")},t.prototype.invert=function(t){return this.inverted=t,this.updateTransform(),this},t.prototype.on=function(t,e){var i=this.onEvents;return i[t]&&i[t](),i[t]=g(this.element,t,e),this},t.prototype.opacitySetter=function(t,e,i){this.opacity=t=Number(Number(t).toFixed(3)),i.setAttribute(e,t)},t.prototype.removeClass=function(t){return this.attr("class",(""+this.attr("class")).replace(A(t)?new RegExp("(^| )"+t+"( |$)"):t," ").replace(/ +/g," ").trim())},t.prototype.removeTextOutline=function(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)},t.prototype.safeRemoveChild=function(t){var e=t.parentNode;e&&e.removeChild(t)},t.prototype.setRadialReference=function(t){var e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this},t.prototype.setTextPath=function(t,i){var o=this.element,r=this.text?this.text.element:o,s={textAnchor:"text-anchor"},n=!1,a=this.textPathWrapper,h=!a;i=T(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},i);var l=e.filterUserAttributes(i.attributes);if(t&&i&&i.enabled){a&&null===a.element.parentNode?(h=!0,a=a.destroy()):a&&this.removeTextOutline.call(a.parentGroup),this.options&&this.options.padding&&(l.dx=-this.options.padding),a||(this.textPathWrapper=a=this.renderer.createElement("textPath"),n=!0);var c=a.element;if((i=t.element.getAttribute("id"))||t.element.setAttribute("id",i=D()),h)for(r.setAttribute("y",0),M(l.dx)&&r.setAttribute("x",-l.dx),t=[].slice.call(r.childNodes),h=0;h<t.length;h++){var p=t[h];p.nodeType!==Node.TEXT_NODE&&"tspan"!==p.nodeName||c.appendChild(p)}n&&a&&a.add({element:r}),c.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+i),x(l.dy)&&(c.parentNode.setAttribute("dy",l.dy),delete l.dy),x(l.dx)&&(c.parentNode.setAttribute("dx",l.dx),delete l.dx),P(l,function(t,e){c.setAttribute(s[e]||e,t)}),o.removeAttribute("transform"),this.removeTextOutline.call(a),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=d}else a&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(o,t),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},t.prototype.shadow=function(t,e,i){var o,s=[],n=this.element,a=this.oldShadowOptions,h={color:r.neutralColor100,offsetX:1,offsetY:1,opacity:.15,width:3},l=!1;if(!0===t?o=h:"object"==typeof t&&(o=w(h,t)),o&&(o&&a&&P(o,function(t,e){t!==a[e]&&(l=!0)}),l&&this.destroyShadows(),this.oldShadowOptions=o),o){if(!this.shadows){var c=o.opacity/o.width,d=this.parentInverted?"translate(-1,-1)":"translate("+o.offsetX+", "+o.offsetY+")";for(h=1;h<=o.width;h++){var p=n.cloneNode(!1),u=2*o.width+1-2*h;m(p,{stroke:t.color||r.neutralColor100,"stroke-opacity":c*h,"stroke-width":u,transform:d,fill:"none"}),p.setAttribute("class",(p.getAttribute("class")||"")+" highcharts-shadow"),i&&(m(p,"height",Math.max(m(p,"height")-u,0)),p.cutHeight=u),e?e.element.appendChild(p):n.parentNode&&n.parentNode.insertBefore(p,n),s.push(p)}this.shadows=s}}else this.destroyShadows();return this},t.prototype.show=function(t){return this.attr({visibility:t?"inherit":"visible"})},t.prototype.strokeSetter=function(e,i,o){this[i]=e,this.stroke&&this["stroke-width"]?(t.prototype.fillSetter.call(this,this.stroke,"stroke",o),o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===e&&this.hasStroke?(o.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},t.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var t=this.getStyle("stroke-width"),e=0;if(t.indexOf("px")===t.length-2)e=E(t);else if(""!==t){var i=c.createElementNS(u,"rect");m(i,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)}return e},t.prototype.symbolAttr=function(t){var e=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){e[i]=O(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})},t.prototype.textSetter=function(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))},t.prototype.titleSetter=function(t){var e=this.element,i=e.getElementsByTagName("title")[0]||c.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=String(O(t,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},t.prototype.toFront=function(){var t=this.element;return t.parentNode.appendChild(t),this},t.prototype.translate=function(t,e){return this.attr({translateX:t,translateY:e})},t.prototype.updateShadows=function(t,e,i){var o=this.shadows;if(o)for(var r=o.length;r--;)i.call(o[r],"height"===t?Math.max(e-(o[r].cutHeight||0),0):"d"===t?this.d:e,t,o[r])},t.prototype.updateTransform=function(){var t=this.scaleX,e=this.scaleY,i=this.inverted,o=this.rotation,r=this.matrix,s=this.element,n=this.translateX||0,a=this.translateY||0;i&&(n+=this.width,a+=this.height),n=["translate("+n+","+a+")"],x(r)&&n.push("matrix("+r.join(",")+")"),i?n.push("rotate(90) scale(-1,1)"):o&&n.push("rotate("+o+" "+O(this.rotationOriginX,s.getAttribute("x"),0)+" "+O(this.rotationOriginY,s.getAttribute("y")||0)+")"),(x(t)||x(e))&&n.push("scale("+O(t,1)+" "+O(e,1)+")"),n.length&&s.setAttribute("transform",n.join(" "))},t.prototype.visibilitySetter=function(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t},t.prototype.xGetter=function(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)},t.prototype.zIndexSetter=function(t,e){var i=this.renderer,o=this.parentGroup,r=(o||i).element||i.box,s=this.element;i=r===i.box;var n,a=!1,h=this.added;if(x(t)?(s.setAttribute("data-z-index",t),this[e]===(t=+t)&&(h=!1)):x(this[e])&&s.removeAttribute("data-z-index"),this[e]=t,h){for((t=this.zIndex)&&o&&(o.handleZ=!0),n=(e=r.childNodes).length-1;0<=n&&!a;n--){h=(o=e[n]).getAttribute("data-z-index");var l=!x(h);o!==s&&(0>t&&l&&!i&&!n?(r.insertBefore(s,e[n]),a=!0):(E(h)<=t||l&&(!x(t)||0<=t))&&(r.insertBefore(s,e[n+1]||null),a=!0))}a||(r.insertBefore(s,e[i?3:0]||null),a=!0)}return a},t}()).prototype["stroke-widthSetter"]=t.prototype.strokeSetter,t.prototype.yGetter=t.prototype.xGetter,t.prototype.matrixSetter=t.prototype.rotationOriginXSetter=t.prototype.rotationOriginYSetter=t.prototype.rotationSetter=t.prototype.scaleXSetter=t.prototype.scaleYSetter=t.prototype.translateXSetter=t.prototype.translateYSetter=t.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},t}),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){a(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),s=e.defined,n=e.extend,a=e.isNumber,h=e.merge,l=e.pick,c=e.removeEvent;return function(e){function o(t,r,s,n,a,h,l,c,d,p){var u=e.call(this)||this;if(u.paddingSetter=i,u.paddingLeftSetter=i,u.paddingRightSetter=i,u.init(t,"g"),u.textStr=r,u.x=s,u.y=n,u.anchorX=h,u.anchorY=l,u.baseline=d,u.className=p,"button"!==p&&u.addClass("highcharts-label"),p&&u.addClass("highcharts-"+p),u.text=t.text("",0,0,c).attr({zIndex:1}),"string"==typeof a){var f=/^url\((.*?)\)$/.test(a);(u.renderer.symbols[a]||f)&&(u.symbolKey=a)}return u.bBox=o.emptyBBox,u.padding=3,u.baselineOffset=0,u.needsBox=t.styledMode||f,u.deferredAttr={},u.alignFactor=0,u}return r(o,e),o.prototype.alignSetter=function(t){(t={left:0,center:.5,right:1}[t])!==this.alignFactor&&(this.alignFactor=t,this.bBox&&a(this.xSetting)&&this.attr({x:this.xSetting}))},o.prototype.anchorXSetter=function(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)},o.prototype.anchorYSetter=function(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)},o.prototype.boxAttr=function(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e},o.prototype.css=function(e){if(e){var i,r={};e=h(e),o.textProps.forEach(function(t){void 0!==e[t]&&(r[t]=e[t],delete e[t])}),this.text.css(r),i="width"in r,"fontSize"in r||"fontWeight"in r?this.updateTextPadding():i&&this.updateBoxSize()}return t.prototype.css.call(this,e)},o.prototype.destroy=function(){c(this.element,"mouseenter"),c(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)},o.prototype.fillSetter=function(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)},o.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var t=this.padding,e=l(this.paddingLeft,t);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-t}},o.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},o.prototype.heightSetter=function(t){this.heightSetting=t},o.prototype.on=function(e,i){var o=this,r=o.text,s=r&&"SPAN"===r.element.tagName?r:void 0;if(s){var n=function(t){("mouseenter"===e||"mouseleave"===e)&&t.relatedTarget instanceof Element&&(o.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||s.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||i.call(o.element,t)};s.on(e,n)}return t.prototype.on.call(o,e,n||i),o},o.prototype.onAdd=function(){var t=this.textStr;this.text.add(this),this.attr({text:s(t)?t:"",x:this.x,y:this.y}),this.box&&s(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},o.prototype.rSetter=function(t,e){this.boxAttr(e,t)},o.prototype.shadow=function(t){return t&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(t)),this},o.prototype.strokeSetter=function(t,e){this.stroke=t,this.boxAttr(e,t)},o.prototype["stroke-widthSetter"]=function(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)},o.prototype["text-alignSetter"]=function(t){this.textAlign=t},o.prototype.textSetter=function(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()},o.prototype.updateBoxSize=function(){var t=this.text.element.style,e={},i=this.padding,r=this.bBox=a(this.widthSetting)&&a(this.heightSetting)&&!this.textAlign||!s(this.text.textStr)?o.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||r.height||0)+2*i,this.baselineOffset=i+Math.min(this.renderer.fontMetrics(t&&t.fontSize,this.text).b,r.height||1/0),this.needsBox&&(this.box||((t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)),t=this.getCrispAdjust(),e.x=t,e.y=(this.baseline?-this.baselineOffset:0)+t,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(n(e,this.deferredAttr)),this.deferredAttr={})},o.prototype.updateTextPadding=function(){var t=this.text;this.updateBoxSize();var e=this.baseline?0:this.baselineOffset,i=l(this.paddingLeft,this.padding);s(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(i+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),i===t.x&&e===t.y||(t.attr("x",i),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=i,t.y=e},o.prototype.widthSetter=function(t){this.widthSetting=a(t)?t:void 0},o.prototype.getPaddedWidth=function(){var t=this.padding,e=l(this.paddingLeft,t);return t=l(this.paddingRight,t),(this.widthSetting||this.bBox.width||0)+e+t},o.prototype.xSetter=function(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)},o.prototype.ySetter=function(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)},o.emptyBBox={width:0,height:0,x:0,y:0},o.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),o}(t)}),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i){var o=t.doc,r=t.SVG_NS,s=e.attr,n=e.isString,a=e.objectEach,h=e.pick;return function(){function t(t){var e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace),this.fontSize=e&&e.fontSize}return t.prototype.buildSVG=function(){var t=this.svgElement,e=t.element,r=t.renderer,s=h(t.textStr,"").toString(),a=-1!==s.indexOf("<"),l=e.childNodes,c=l.length;r=this.width&&!t.added&&r.box;var d=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(d!==t.textCache){for(t.textCache=d,delete t.actualWidth;c--;)e.removeChild(l[c]);a||this.ellipsis||this.width||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))?""!==s&&(r&&r.appendChild(e),s=new i(s),this.modifyTree(s.nodes),s.addToDOM(t.element),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(e)):e.appendChild(o.createTextNode(this.unescapeEntities(s))),n(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}},t.prototype.modifyDOM=function(){var t=this,e=this.svgElement,i=s(e.element,"x");[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),function(e){e.nextSibling&&e.previousSibling&&s(e,{dy:t.getLineHeight(e.nextSibling),x:i})});var n=this.width||0;if(n){var a=function(a,h){var l=a.textContent||"",c=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!t.noWrap&&(1<c.length||1<e.element.childNodes.length),p=t.getLineHeight(h),u=0,f=e.actualWidth;if(t.ellipsis)l&&t.truncate(a,l,void 0,0,Math.max(0,n-parseInt(t.fontSize||12,10)),function(t,e){return t.substring(0,e)+"\u2026"});else if(d){for(l=[],d=[];h.firstChild&&h.firstChild!==a;)d.push(h.firstChild),h.removeChild(h.firstChild);for(;c.length;)c.length&&!t.noWrap&&0<u&&(l.push(a.textContent||""),a.textContent=c.join(" ").replace(/- /g,"-")),t.truncate(a,void 0,c,0===u&&f||0,n,function(t,e){return c.slice(0,e).join(" ").replace(/- /g,"-")}),f=e.actualWidth,u++;d.forEach(function(t){h.insertBefore(t,a)}),l.forEach(function(t){h.insertBefore(o.createTextNode(t),a),(t=o.createElementNS(r,"tspan")).textContent="\u200b",s(t,{dy:p,x:i}),h.insertBefore(t,a)})}},h=function(t){[].slice.call(t.childNodes).forEach(function(i){i.nodeType===Node.TEXT_NODE?a(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}},t.prototype.getLineHeight=function(t){var e;return t=t.nodeType===Node.TEXT_NODE?t.parentElement:t,this.renderer.styledMode||(e=t&&/(px|em)$/.test(t.style.fontSize)?t.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e,t||this.svgElement.element).h},t.prototype.modifyTree=function(t){var e=this,i=function(o,r){var s=o.tagName,a=e.renderer.styledMode,h=o.attributes||{};"b"===s||"strong"===s?a?h.class="highcharts-strong":h.style="font-weight:bold;"+(h.style||""):"i"!==s&&"em"!==s||(a?h.class="highcharts-emphasized":h.style="font-style:italic;"+(h.style||"")),n(h.style)&&(h.style=h.style.replace(/(;| |^)color([ :])/,"$1fill$2")),"br"===s&&(h.class="highcharts-br",o.textContent="\u200b",(r=t[r+1])&&r.textContent&&(r.textContent=r.textContent.replace(/^ +/gm,""))),"#text"!==s&&"a"!==s&&(o.tagName="tspan"),o.attributes=h,o.children&&o.children.filter(function(t){return"#text"!==t.tagName}).forEach(i)};for(t.forEach(i);t[0]&&"tspan"===t[0].tagName&&!t[0].children;)t.splice(0,1)},t.prototype.truncate=function(t,e,i,o,r,s){var n,a=this.svgElement,h=a.renderer,l=a.rotation,c=[],d=i?1:0,p=(e||i||"").length,u=p,f=function(r,n){n=n||r;var l=t.parentNode;if(l&&void 0===c[n])if(l.getSubStringLength)try{c[n]=o+l.getSubStringLength(0,i?n+1:n)}catch(d){}else h.getSpanWidth&&(t.textContent=s(e||i,r),c[n]=o+h.getSpanWidth(a,t));return c[n]};a.rotation=0;var g=f(t.textContent.length);if(o+g>r){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=s(i,u)),g=f(u,n&&n.length-1),d===p?d=p+1:g>r?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||s(e||i,u))}i&&i.splice(0,u),a.actualWidth=g,a.rotation=l},t.prototype.unescapeEntities=function(t,e){return a(this.renderer.escapes,function(i,o){e&&-1!==e.indexOf(i)||(t=t.toString().replace(new RegExp(i,"g"),o))}),t},t}()}),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=a.addEvent,c=a.attr,d=a.createElement,p=a.css,u=a.defined,f=a.destroyObjectProperties,g=a.extend,m=a.isArray,y=a.isNumber,v=a.isObject,x=a.isString,b=a.merge,w=a.pick,C=a.pInt,S=a.uniqueKey,k=e.charts,M=e.deg2rad,A=e.doc,T=e.isFirefox,P=e.isMS,O=e.isWebKit,E=e.noop,L=e.SVG_NS,D=e.symbolSizes,j=e.win;(a=function(){function e(t,e,i,o,r,s,n){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(t,e,i,o,r,s,n)}return e.prototype.init=function(t,e,i,o,r,s,n){var a,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"});n||h.css(this.getStyle(o)),t.appendChild(o=h.element),c(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&c(o,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=o,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(A.createTextNode("Created with Highcharts 9.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=r,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(e,i,!1),T&&t.getBoundingClientRect&&((e=function(){p(t,{left:0,top:0}),a=t.getBoundingClientRect(),p(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=l(j,"resize",e))},e.prototype.definition=function(t){return new s([t]).addToDOM(this.defs.element)},e.prototype.getReferenceURL=function(){if((T||O)&&A.getElementsByTagName("base").length){if(!u(h)){var t=S();t=new s([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+t+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(A.body),p(t,{position:"fixed",top:0,left:0,zIndex:9e5});var e=A.elementFromPoint(6,6);h="hitme"===(e&&e.id),A.body.removeChild(t)}if(h)return j.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},e.prototype.getStyle=function(t){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},t)},e.prototype.setStyle=function(t){this.boxWrapper.css(this.getStyle(t))},e.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},e.prototype.destroy=function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),f(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},e.prototype.createElement=function(t){var e=new this.Element;return e.init(this,t),e},e.prototype.getRadialAttr=function(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}},e.prototype.buildText=function(t){new n(t).buildSVG()},e.prototype.getContrast=function(e){return(e=t.parse(e).rgba)[0]*=1,e[1]*=1.2,e[2]*=.5,459<e[0]+e[1]+e[2]?"#000000":"#FFFFFF"},e.prototype.button=function(t,e,o,r,n,a,h,c,d,p){var u=this.label(t,e,o,d,void 0,void 0,p,void 0,"button"),f=0,m=this.styledMode,y=n?b(n):{};if(t=y&&y.style||{},y=s.filterUserAttributes(y),u.attr(b({padding:8,r:2},y)),!m){var v=(y=b({fill:i.neutralColor3,stroke:i.neutralColor20,"stroke-width":1,style:{color:i.neutralColor80,cursor:"pointer",fontWeight:"normal"}},{style:t},y)).style;delete y.style;var x=(a=b(y,{fill:i.neutralColor10},s.filterUserAttributes(a||{}))).style;delete a.style;var w=(h=b(y,{fill:i.highlightColor10,style:{color:i.neutralColor100,fontWeight:"bold"}},s.filterUserAttributes(h||{}))).style;delete h.style;var C=(c=b(y,{style:{color:i.neutralColor20}},s.filterUserAttributes(c||{}))).style;delete c.style}return l(u.element,P?"mouseover":"mouseenter",function(){3!==f&&u.setState(1)}),l(u.element,P?"mouseout":"mouseleave",function(){3!==f&&u.setState(f)}),u.setState=function(t){1!==t&&(u.state=f=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),m||u.attr([y,a,h,c][t||0]).css([v,x,w,C][t||0])},m||u.attr(y).css(g({cursor:"default"},v)),u.on("touchstart",function(t){return t.stopPropagation()}).on("click",function(t){3!==f&&r.call(u,t)})},e.prototype.crispLine=function(t,e,i){void 0===i&&(i="round");var o=t[0],r=t[1];return o[1]===r[1]&&(o[1]=r[1]=Math[i](o[1])-e%2/2),o[2]===r[2]&&(o[2]=r[2]=Math[i](o[2])+e%2/2),t},e.prototype.path=function(t){var e=this.styledMode?{}:{fill:"none"};return m(t)?e.d=t:v(t)&&g(e,t),this.createElement("path").attr(e)},e.prototype.circle=function(t,e,i){return t=v(t)?t:void 0===t?{}:{x:t,y:e,r:i},(e=this.createElement("circle")).xSetter=e.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},e.attr(t)},e.prototype.arc=function(t,e,i,o,r,s){return v(t)?(e=(o=t).y,i=o.r,t=o.x):o={innerR:o,start:r,end:s},(t=this.symbol("arc",t,e,i,i,o)).r=i,t},e.prototype.rect=function(t,e,i,o,r,s){r=v(t)?t.r:r;var n=this.createElement("rect");return t=v(t)?t:void 0===t?{}:{x:t,y:e,width:Math.max(i,0),height:Math.max(o,0)},this.styledMode||(void 0!==s&&(t["stroke-width"]=s,t=n.crisp(t)),t.fill="none"),r&&(t.r=r),n.rSetter=function(t,e,i){n.r=t,c(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(t)},e.prototype.setSize=function(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(i,!0)?void 0:0}),this.alignElements()},e.prototype.g=function(t){var e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e},e.prototype.image=function(t,e,i,o,r,s){var n={preserveAspectRatio:"none"},a=function(t,e){t.setAttributeNS?t.setAttributeNS("http://www.w3.org/1999/xlink","href",e):t.setAttribute("hc-svg-href",e)},h=function(e){a(c.element,t),s.call(c,e)};1<arguments.length&&g(n,{x:e,y:i,width:o,height:r});var c=this.createElement("image").attr(n);return s?(a(c.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),n=new j.Image,l(n,"load",h),n.src=t,n.complete&&h({})):a(c.element,t),c},e.prototype.symbol=function(t,e,i,o,r,s){var n,a=this,h=/^url\((.*?)\)$/,l=h.test(t),c=!l&&(this.symbols[t]?t:"circle"),f=c&&this.symbols[c];if(f){"number"==typeof e&&(n=f.call(this.symbols,Math.round(e||0),Math.round(i||0),o||0,r||0,s));var m=this.path(n);a.styledMode||m.attr("fill","none"),g(m,{symbolName:c,x:e,y:i,width:o,height:r}),s&&g(m,s)}else if(l){var y=t.match(h)[1];(m=this.image(y)).imgwidth=w(D[y]&&D[y].width,s&&s.width),m.imgheight=w(D[y]&&D[y].height,s&&s.height);var v=function(){m.attr({width:m.width,height:m.height})};["width","height"].forEach(function(t){m[t+"Setter"]=function(t,e){var i=this["img"+e];this[e]=t,u(i)&&(s&&"within"===s.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(e,i),this.alignByTranslate||(t=((this[e]||0)-i)/2,this.attr("width"===e?{translateX:t}:{translateY:t})))}}),u(e)&&m.attr({x:e,y:i}),m.isImg=!0,u(m.imgwidth)&&u(m.imgheight)?v():(m.attr({width:0,height:0}),d("img",{onload:function(){var t=k[a.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),A.body.appendChild(this)),D[y]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&v(),this.parentNode&&this.parentNode.removeChild(this),a.imgCount--,a.imgCount||!t||t.hasLoaded||t.onload()},src:y}),this.imgCount++)}return m},e.prototype.clipRect=function(t,e,i,o){var r=S()+"-",s=this.createElement("clipPath").attr({id:r}).add(this.defs);return(t=this.rect(t,e,i,o,0).add(s)).id=r,t.clipPath=s,t.count=0,t},e.prototype.text=function(t,e,i,o){var r={};return!o||!this.allowHTML&&this.forExport?(r.x=Math.round(e||0),i&&(r.y=Math.round(i)),u(t)&&(r.text=t),t=this.createElement("text").attr(r),o||(t.xSetter=function(t,e,i){var o,r=i.getElementsByTagName("tspan"),s=i.getAttribute(e);for(o=0;o<r.length;o++){var n=r[o];n.getAttribute(e)===s&&n.setAttribute(e,t)}i.setAttribute(e,t)}),t):this.html(t,e,i)},e.prototype.fontMetrics=function(t,e){return t=!this.styledMode&&/px/.test(t)||!j.getComputedStyle?t||e&&e.style&&e.style.fontSize||this.style&&this.style.fontSize:e&&o.prototype.getStyle.call(e,"font-size"),{h:e=24>(t=/px/.test(t)?C(t):12)?t+3:Math.round(1.2*t),b:Math.round(.8*e),f:t}},e.prototype.rotCorr=function(t,e,i){var o=t;return e&&i&&(o=Math.max(o*Math.cos(e*M),4)),{x:-t/3*Math.sin(e*M),y:o}},e.prototype.pathToSegments=function(t){for(var e=[],i=[],o={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},r=0;r<t.length;r++)x(i[0])&&y(t[r])&&i.length===o[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[r]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e},e.prototype.label=function(t,e,i,o,s,n,a,h,l){return new r(this,t,e,i,o,s,n,a,h,l)},e.prototype.alignElements=function(){this.alignedObjects.forEach(function(t){return t.align()})},e}()).prototype.Element=o,a.prototype.SVG_NS=L,a.prototype.draw=E,a.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};var I=function(t,e,i,o,r){return[["M",t+(r=r&&r.r||0),e],["L",t+i-r,e],["C",t+i,e,t+i,e,t+i,e+r],["L",t+i,e+o-r],["C",t+i,e+o,t+i,e+o,t+i-r,e+o],["L",t+r,e+o],["C",t,e+o,t,e+o,t,e+o-r],["L",t,e+r],["C",t,e,t,e,t+r,e]]};return a.prototype.symbols={circle:function(t,e,i,o){return this.arc(t+i/2,e+o/2,i/2,o/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},rect:E=function(t,e,i,o,r){return r&&r.r?I(t,e,i,o,r):[["M",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},square:E,triangle:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},"triangle-down":function(t,e,i,o){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+o],["Z"]]},diamond:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o/2],["L",t+i/2,e+o],["L",t,e+o/2],["Z"]]},arc:function(t,e,i,o,r){var s=[];if(r){var n=r.start||0,a=w(r.r,i);i=w(r.r,o||i);var h=(r.end||0)-.001;o=r.innerR;var l=w(r.open,.001>Math.abs((r.end||0)-n-2*Math.PI)),c=Math.cos(n),d=Math.sin(n),p=Math.cos(h),f=Math.sin(h);n=w(r.longArc,.001>h-n-Math.PI?0:1),s.push(["M",t+a*c,e+i*d],["A",a,i,0,n,w(r.clockwise,1),t+a*p,e+i*f]),u(o)&&s.push(l?["M",t+o*p,e+o*f]:["L",t+o*p,e+o*f],["A",o,o,0,n,u(r.clockwise)?1-r.clockwise:0,t+o*c,e+o*d]),l||s.push(["Z"])}return s},callout:function(t,e,i,o,r){var s=Math.min(r&&r.r||0,i,o),n=s+6,a=r&&r.anchorX;r=r&&r.anchorY||0;var h=I(t,e,i,o,{r:s});return y(a)?(t+a>=i?r>e+n&&r<e+o-n?h.splice(3,1,["L",t+i,r-6],["L",t+i+6,r],["L",t+i,r+6],["L",t+i,e+o-s]):h.splice(3,1,["L",t+i,o/2],["L",a,r],["L",t+i,o/2],["L",t+i,e+o-s]):0>=t+a?r>e+n&&r<e+o-n?h.splice(7,1,["L",t,r+6],["L",t-6,r],["L",t,r-6],["L",t,e+s]):h.splice(7,1,["L",t,o/2],["L",a,r],["L",t,o/2],["L",t,e+s]):r&&r>o&&a>t+n&&a<t+i-n?h.splice(5,1,["L",a+6,e+o],["L",a,e+o+6],["L",a-6,e+o],["L",t+s,e+o]):r&&0>r&&a>t+n&&a<t+i-n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-s,e]),h):h}},e.SVGRenderer=a,e.Renderer=e.SVGRenderer,e.Renderer}),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.isFirefox,r=t.isMS,s=t.isWebKit,n=t.win,a=i.css,h=i.defined,l=i.extend,c=i.pick,d=i.pInt;return l(e.prototype,{htmlCss:function(t){var e="SPAN"===this.element.tagName&&t&&"width"in t,i=c(e&&t.width,void 0);if(e){delete t.width,this.textWidth=i;var o=!0}return t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=l(this.styles,t),a(this.element,t),o&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var t=this.element;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var t=this.renderer,e=this.element,i=this.translateX||0,o=this.translateY||0,r=this.x||0,s=this.y||0,n=this.textAlign||"left",l={left:0,center:.5,right:1}[n],c=this.styles;if(c=c&&c.whiteSpace,a(e,{marginLeft:i,marginTop:o}),!t.styledMode&&this.shadows&&this.shadows.forEach(function(t){a(t,{marginLeft:i+1,marginTop:o+1})}),this.inverted&&[].forEach.call(e.childNodes,function(i){t.invertChild(i,e)}),"SPAN"===e.tagName){var p=this.rotation,u=void 0;u=this.textWidth&&d(this.textWidth);var f,g=[p,n,e.innerHTML,this.textWidth,this.textAlign].join();(f=u!==this.oldTextWidth)&&!(f=u>this.oldTextWidth)&&((f=this.textPxLength)||(a(e,{width:"",whiteSpace:c||"nowrap"}),f=e.offsetWidth),f=f>u),f&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)?(a(e,{width:u+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=u,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,g!==this.cTT&&(u=t.fontMetrics(e.style.fontSize,e).b,!h(p)||p===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(p,l,u),this.getSpanCorrection(!h(p)&&this.textPxLength||e.offsetWidth,u,l,p,n)),a(e,{left:r+(this.xCorr||0)+"px",top:s+(this.yCorr||0)+"px"}),this.cTT=g,this.oldRotation=p,this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(t,e,i){var h={},l=r&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":s?"-webkit-transform":o?"MozTransform":n.opera?"-o-transform":void 0;l&&(h[l]=h.transform="rotate("+t+"deg)",h[l+(o?"Origin":"-origin")]=h.transformOrigin=100*e+"% "+i+"px",a(this.element,h))},getSpanCorrection:function(t,e,i){this.xCorr=-t*i,this.yCorr=-e}}),e}),e(i,"Core/Renderer/HTML/HTMLRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.attr,s=o.createElement,n=o.extend,a=o.pick;return n(i.prototype,{html:function(i,o,h){var l=this.createElement("span"),c=l.element,d=l.renderer,p=d.isSVG,u=function(t,i){["opacity","visibility"].forEach(function(o){t[o+"Setter"]=function(r,s,n){var a=t.div?t.div.style:i;e.prototype[o+"Setter"].call(this,r,s,n),a&&(a[s]=r)}}),t.addedSetters=!0};return l.textSetter=function(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,a(e,"")),this.textStr=e,l.doTransform=!0)},p&&u(l,l.element.style),l.xSetter=l.ySetter=l.alignSetter=l.rotationSetter=function(t,e){"align"===e?l.alignValue=l.textAlign=t:l[e]=t,l.doTransform=!0},l.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},l.attr({text:i,x:Math.round(o),y:Math.round(h)}).css({position:"absolute"}),d.styledMode||l.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",l.css=l.htmlCss,p&&(l.add=function(t){var e=d.box.parentNode,i=[];if(this.parentGroup=t){var o=t.div;if(!o){for(;t;)i.push(t),t=t.parentGroup;i.reverse().forEach(function(t){function a(e,i){t[i]=e,"translateX"===i?d.left=e+"px":d.top=e+"px",t.doTransform=!0}var h=r(t.element,"class"),c=t.styles||{},d=(o=t.div=t.div||s("div",h?{className:h}:void 0,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,cursor:c.cursor,pointerEvents:c.pointerEvents},o||e)).style;n(t,{classSetter:function(t){return function(e){this.element.setAttribute("class",e),t.className=e}}(o),on:function(){return i[0].div&&l.on.apply({element:i[0].div,onEvents:l.onEvents},arguments),t},translateXSetter:a,translateYSetter:a}),t.addedSetters||u(t)})}}else o=e;return o.appendChild(c),l.added=!0,l.alignOnAdd&&l.htmlUpdateTransform(),l}),l}}),i}),e(i,"Core/Axis/Tick.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=e.deg2rad,r=i.clamp,s=i.correctFloat,n=i.defined,a=i.destroyObjectProperties,h=i.extend,l=i.fireEvent,c=i.isNumber,d=i.merge,p=i.objectEach,u=i.pick;return i=function(){function e(t,e,i,o,r){this.isNewLabel=this.isNew=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||o||this.addLabel()}return e.prototype.addLabel=function(){var e,i,o=this,r=o.axis,a=r.options,d=r.chart,p=r.categories,f=r.logarithmic,g=r.names,m=o.pos,y=u(o.options&&o.options.labels,a.labels),v=r.tickPositions,x=m===v[0],b=m===v[v.length-1],w=o.label,C=(!y.step||1===y.step)&&1===r.tickInterval;if(v=v.info,p=this.parameters.category||(p?u(p[m],g[m],m):m),f&&c(p)&&(p=s(f.lin2log(p))),r.dateTime&&v)var S=d.time.resolveDTLFormat(a.dateTimeLabelFormats[!a.grid&&v.higherRanks[m]||v.unitName]),k=S.main;o.isFirst=x,o.isLast=b;var M={axis:r,chart:d,dateTimeLabelFormat:k,isFirst:x,isLast:b,pos:m,tick:o,tickPositionInfo:v,value:p};l(this,"labelFormat",M);var A=function(e){return y.formatter?y.formatter.call(e,e):y.format?(e.text=r.defaultLabelFormatter.call(e),t.format(y.format,e,d)):r.defaultLabelFormatter.call(e,e)};a=A.call(M,M),(i=S&&S.list)&&(o.shortenLabel=function(){for(e=0;e<i.length;e++)if(h(M,{dateTimeLabelFormat:i[e]}),w.attr({text:A.call(M,M)}),w.getBBox().width<r.getSlotWidth(o)-2*y.padding)return;w.attr({text:""})}),C&&r._addedPlotLB&&o.moveLabel(a,y),n(w)||o.movedLabel?w&&w.textStr!==a&&!C&&(!w.textWidth||y.style.width||w.styles.width||w.css({width:null}),w.attr({text:a}),w.textPxLength=w.getBBox().width):(o.label=w=o.createLabel({x:0,y:0},a,y),o.rotation=0)},e.prototype.createLabel=function(t,e,i){var o=this.axis,r=o.chart;return(t=n(e)&&i.enabled?r.renderer.text(e,t.x,t.y,i.useHTML).add(o.labelGroup):null)&&(r.styledMode||t.css(d(i.style)),t.textPxLength=t.getBBox().width),t},e.prototype.destroy=function(){a(this,this.axis)},e.prototype.getPosition=function(t,e,i,o){var n=this.axis,a=n.chart,h=o&&a.oldChartHeight||a.chartHeight;return(t={x:t?s(n.translate(e+i,null,null,o)+n.transB):n.left+n.offset+(n.opposite?(o&&a.oldChartWidth||a.chartWidth)-n.right-n.left:0),y:t?h-n.bottom+n.offset-(n.opposite?n.height:0):s(h-n.translate(e+i,null,null,o)-n.transB)}).y=r(t.y,-1e5,1e5),l(this,"afterGetPosition",{pos:t}),t},e.prototype.getLabelPosition=function(t,e,i,r,s,a,h,c){var d=this.axis,p=d.transA,u=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,f=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},m=s.y,y=r||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),v={};return n(m)||(m=0===d.side?i.rotation?-8:-i.getBBox().height:2===d.side?g.y+8:Math.cos(i.rotation*o)*(g.y-i.getBBox(!1,0).height/2)),e=e+m-(a&&!r?a*p*(u?1:-1):0),f&&(i=h/(c||1)%f,d.opposite&&(i=f-i-1),e+=d.labelOffset/f*i),v.x=t=t+s.x+y+g.x-(a&&r?a*p*(u?-1:1):0),v.y=Math.round(e),l(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:a,index:h}),v},e.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},e.prototype.getMarkPath=function(t,e,i,o,r,s){return s.crispLine([["M",t,e],["L",t+(r?0:-i),e+(r?i:0)]],o)},e.prototype.handleOverflow=function(t){var e=this.axis,i=e.options.labels,r=t.x,s=e.chart.chartWidth,n=e.chart.spacing,a=u(e.labelLeft,Math.min(e.pos,n[3]));n=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,s-n[1]));var h,l=this.label,c=this.rotation,d={left:0,center:.5,right:1}[e.labelAlign||l.attr("align")],p=l.getBBox().width,f=e.getSlotWidth(this),g=f,m=1,y={};c||"justify"!==i.overflow?0>c&&r-d*p<a?h=Math.round(r/Math.cos(c*o)-a):0<c&&r+d*p>n&&(h=Math.round((s-r)/Math.cos(c*o))):(s=r+(1-d)*p,r-d*p<a?g=t.x+g*(1-d)-a:s>n&&(g=n-t.x+g*d,m=-1),(g=Math.min(f,g))<f&&"center"===e.labelAlign&&(t.x+=m*(f-g-d*(f-Math.min(p,g)))),(p>g||e.autoRotation&&(l.styles||{}).width)&&(h=g)),h&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(h)+"px",(i.style||{}).textOverflow||(y.textOverflow="ellipsis"),l.css(y)))},e.prototype.moveLabel=function(t,e){var i=this,o=i.label,r=!1,s=i.axis,n=s.reversed;if(o&&o.textStr===t?(i.movedLabel=o,r=!0,delete i.label):p(s.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||o)){var a=i.labelPos||o.xy;i.movedLabel=i.createLabel({x:o=s.horiz?n?0:s.width+s.left:a.x,y:s=s.horiz?a.y:n?s.width+s.left:0},t,e),i.movedLabel&&i.movedLabel.attr({opacity:0})}},e.prototype.render=function(t,e,i){var o=this.axis,r=o.horiz,s=this.pos,n=u(this.tickmarkOffset,o.tickmarkOffset);n=(s=this.getPosition(r,s,n,e)).x,o=r&&n===o.pos+o.len||!r&&s.y===o.pos?-1:1,r=u(i,this.label&&this.label.newOpacity,1),i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,o),this.renderMark(s,i,o),this.renderLabel(s,e,r,t),this.isNew=!1,l(this,"afterRender")},e.prototype.renderGridLine=function(t,e,i){var o=this.axis,r=o.options,s=this.gridLine,n={},a=this.pos,h=this.type,l=u(this.tickmarkOffset,o.tickmarkOffset),c=o.chart.renderer,d=r.gridLineWidth,p=r.gridLineColor,f=r.gridLineDashStyle;"minor"===this.type&&(d=r.minorGridLineWidth,p=r.minorGridLineColor,f=r.minorGridLineDashStyle),s||(o.chart.styledMode||(n.stroke=p,n["stroke-width"]=d||0,n.dashstyle=f),h||(n.zIndex=1),t&&(e=0),this.gridLine=s=c.path().attr(n).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(o.gridGroup)),s&&(i=o.getPlotLinePath({value:a+l,lineWidth:s.strokeWidth()*i,force:"pass",old:t}))&&s[t||this.isNew?"attr":"animate"]({d:i,opacity:e})},e.prototype.renderMark=function(t,e,i){var o=this.axis,r=o.options,s=o.chart.renderer,n=this.type,a=o.tickSize(n?n+"Tick":"tick"),h=this.mark,l=!h,c=t.x;t=t.y;var d=u(r["minor"!==n?"tickWidth":"minorTickWidth"],!n&&o.isXAxis?1:0);r=r["minor"!==n?"tickColor":"minorTickColor"],a&&(o.opposite&&(a[0]=-a[0]),l&&(this.mark=h=s.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(o.axisGroup),o.chart.styledMode||h.attr({stroke:r,"stroke-width":d})),h[l?"attr":"animate"]({d:this.getMarkPath(c,t,a[0],h.strokeWidth()*i,o.horiz,s),opacity:e}))},e.prototype.renderLabel=function(t,e,i,o){var r=this.axis,s=r.horiz,n=r.options,a=this.label,h=n.labels,l=h.step;r=u(this.tickmarkOffset,r.tickmarkOffset);var d=!0,p=t.x;t=t.y,a&&c(p)&&(a.xy=t=this.getLabelPosition(p,t,a,s,h,r,o,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?d=!1:!s||h.step||h.rotation||e||0===i||this.handleOverflow(t),l&&o%l&&(d=!1),d&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t),this.isNewLabel=!1):(a.attr("y",-9999),this.isNewLabel=!0))},e.prototype.replaceMovedLabel=function(){var t=this.label,e=this.axis,i=e.reversed;t&&!this.isNew&&(t.animate({x:e.horiz?i?e.left:e.width+e.left:t.xy.x,y:i=e.horiz?t.xy.y:i?e.width+e.top:e.top,opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},e}(),e.Tick=i,e.Tick}),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Options.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.animObject,h=r.defaultOptions,l=n.addEvent,c=n.arrayMax,d=n.arrayMin,p=n.clamp,u=n.correctFloat,f=n.defined,g=n.destroyObjectProperties,m=n.erase,y=n.error,v=n.extend,x=n.fireEvent,b=n.getMagnitude,w=n.isArray,C=n.isFunction,S=n.isNumber,k=n.isString,M=n.merge,A=n.normalizeTickInterval,T=n.objectEach,P=n.pick,O=n.relativeLength,E=n.removeEvent,L=n.splat,D=n.syncTimeout,j=i.deg2rad;return t=function(){function t(t,e){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0,this.init(t,e)}return t.prototype.init=function(t,e){var i=e.isX,o=this;o.chart=t,o.horiz=t.inverted&&!o.isZAxis?!i:i,o.isXAxis=i,o.coll=o.coll||(i?"xAxis":"yAxis"),x(this,"init",{userOptions:e}),o.opposite=P(e.opposite,o.opposite),o.side=P(e.side,o.side,o.horiz?o.opposite?0:2:o.opposite?1:3),o.setOptions(e);var r=this.options,s=r.labels,n=r.type;o.userOptions=e,o.minPixelPadding=0,o.reversed=P(r.reversed,o.reversed),o.visible=r.visible,o.zoomEnabled=r.zoomEnabled,o.hasNames="category"===n||!0===r.categories,o.categories=r.categories||o.hasNames,o.names||(o.names=[],o.names.keys={}),o.plotLinesAndBandsGroups={},o.positiveValuesOnly=!!o.logarithmic,o.isLinked=f(r.linkedTo),o.ticks={},o.labelEdge=[],o.minorTicks={},o.plotLinesAndBands=[],o.alternateBands={},o.len=0,o.minRange=o.userMinRange=r.minRange||r.maxZoom,o.range=r.range,o.offset=r.offset||0,o.max=null,o.min=null,e=P(r.crosshair,L(t.options.tooltip.crosshairs)[i?0:1]),o.crosshair=!0===e?{}:e,e=o.options.events,-1===t.axes.indexOf(o)&&(i?t.axes.splice(t.xAxis.length,0,o):t.axes.push(o),t[o.coll].push(o)),o.series=o.series||[],t.inverted&&!o.isZAxis&&i&&void 0===o.reversed&&(o.reversed=!0),o.labelRotation=S(s.rotation)?s.rotation:void 0,T(e,function(t,e){C(t)&&l(o,e,t)}),x(this,"afterInit")},t.prototype.setOptions=function(e){this.options=M(t.defaultOptions,"yAxis"===this.coll&&t.defaultYAxisOptions,[t.defaultTopAxisOptions,t.defaultRightAxisOptions,t.defaultBottomAxisOptions,t.defaultLeftAxisOptions][this.side],M(h[this.coll],e)),x(this,"afterSetOptions",{userOptions:e})},t.prototype.defaultLabelFormatter=function(){var t=this.axis,e=S(this.value)?this.value:NaN,i=t.chart.time,o=this.dateTimeLabelFormat,r=h.lang,s=r.numericSymbols;r=r.numericSymbolMagnitude||1e3;var n=s&&s.length,a=t.logarithmic?Math.abs(e):t.tickInterval,l=this.chart.numberFormatter;if(t.categories)var c=""+this.value;else if(o)c=i.dateFormat(o,e);else if(n&&1e3<=a)for(;n--&&void 0===c;)a>=(t=Math.pow(r,n+1))&&0==10*e%t&&null!==s[n]&&0!==e&&(c=l(e/t,-1)+s[n]);return void 0===c&&(c=1e4<=Math.abs(e)?l(e,-1):l(e,-1,void 0,"")),c},t.prototype.getSeriesExtremes=function(){var t,e=this,i=e.chart;x(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=null,e.softThreshold=!e.isXAxis,e.stacking&&e.stacking.buildStacks(),e.series.forEach(function(o){if(o.visible||!i.options.chart.ignoreHiddenSeries){var r=o.options,s=r.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=s&&(s=null),e.isXAxis){if((r=o.xData).length){r=e.logarithmic?r.filter(e.validatePositiveValue):r;var n=(t=o.getXExtremes(r)).min,a=t.max;S(n)||n instanceof Date||(r=r.filter(S),n=(t=o.getXExtremes(r)).min,a=t.max),r.length&&(e.dataMin=Math.min(P(e.dataMin,n),n),e.dataMax=Math.max(P(e.dataMax,a),a))}}else o=o.applyExtremes(),S(o.dataMin)&&(n=o.dataMin,e.dataMin=Math.min(P(e.dataMin,n),n)),S(o.dataMax)&&(a=o.dataMax,e.dataMax=Math.max(P(e.dataMax,a),a)),f(s)&&(e.threshold=s),(!r.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}})}),x(this,"afterGetSeriesExtremes")},t.prototype.translate=function(t,e,i,o,r,s){var n=this.linkedParent||this,a=1,h=0,l=o&&n.old?n.old.transA:n.transA;o=o&&n.old?n.old.min:n.min;var c=n.minPixelPadding;return r=(n.isOrdinal||n.brokenAxis&&n.brokenAxis.hasBreaks||n.logarithmic&&r)&&n.lin2val,l||(l=n.transA),i&&(a*=-1,h=n.len),n.reversed&&(h-=(a*=-1)*(n.sector||n.len)),e?(t=(t*a+h-c)/l+o,r&&(t=n.lin2val(t))):(r&&(t=n.val2lin(t)),t=S(o)?a*(t-o)*l+h+a*c+(S(s)?l*s:0):void 0),t},t.prototype.toPixels=function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},t.prototype.toValue=function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},t.prototype.getPlotLinePath=function(t){function e(t,e,i){return("pass"!==m&&t<e||t>i)&&(m?t=p(t,e,i):n=!0),t}var i,o,r,s,n,a=this,h=a.chart,l=a.left,c=a.top,d=t.old,u=t.value,f=t.translatedValue,g=t.lineWidth,m=t.force,y=d&&h.oldChartHeight||h.chartHeight,v=d&&h.oldChartWidth||h.chartWidth,b=a.transB;return x(this,"getPlotLinePath",t={value:u,lineWidth:g,old:d,force:m,acrossPanes:t.acrossPanes,translatedValue:f},function(t){f=P(f,a.translate(u,null,null,d)),f=p(f,-1e5,1e5),i=r=Math.round(f+b),o=s=Math.round(y-f-b),S(f)?a.horiz?(o=c,s=y-a.bottom,i=r=e(i,l,l+a.width)):(i=l,r=v-a.right,o=s=e(o,c,c+a.height)):(n=!0,m=!1),t.path=n&&!m?null:h.renderer.crispLine([["M",i,o],["L",r,s]],g||1)}),t.path},t.prototype.getLinearTickPositions=function(t,e,i){var o=u(Math.floor(e/t)*t);i=u(Math.ceil(i/t)*t);var r,s=[];if(u(o+t)===o&&(r=20),this.single)return[e];for(e=o;e<=i&&(s.push(e),(e=u(e+t,r))!==n);)var n=e;return s},t.prototype.getMinorTickInterval=function(){var t=this.options;return!0===t.minorTicks?P(t.minorTickInterval,"auto"):!1===t.minorTicks?null:t.minorTickInterval},t.prototype.getMinorTickPositions=function(){var t=this.options,e=this.tickPositions,i=this.minorTickInterval,o=[],r=this.pointRangePadding||0,s=this.min-r,n=(r=this.max+r)-s;if(n&&n/i<this.len/3){var a=this.logarithmic;if(a)this.paddedTicks.forEach(function(t,e,r){e&&o.push.apply(o,a.getLogTickPositions(i,r[e-1],r[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())o=o.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),s,r,t.startOfWeek));else for(t=s+(e[0]-s)%i;t<=r&&t!==o[0];t+=i)o.push(t)}return 0!==o.length&&this.trimTicks(o),o},t.prototype.adjustForMinRange=function(){var t,e,i,o,r=this.options,s=this.min,n=this.max,a=this.logarithmic,h=0;if(this.isXAxis&&void 0===this.minRange&&!a&&(f(r.min)||f(r.max)?this.minRange=null:(this.series.forEach(function(r){if(i=r.xData,o=r.xIncrement?1:i.length-1,1<i.length)for(t=o;0<t;t--)e=i[t]-i[t-1],(!h||e<h)&&(h=e)}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin))),n-s<this.minRange){var l=this.dataMax-this.dataMin>=this.minRange,p=this.minRange,u=(p-n+s)/2;u=[s-u,P(r.min,s-u)],l&&(u[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),n=[(s=c(u))+p,P(r.max,s+p)],l&&(n[2]=a?a.log2lin(this.dataMax):this.dataMax),(n=d(n))-s<p&&(u[0]=n-p,u[1]=P(r.min,n-p),s=c(u))}this.min=s,this.max=n},t.prototype.getClosest=function(){var t;return this.categories?t=1:this.series.forEach(function(e){var i=e.closestPointRange,o=e.visible||!e.chart.options.chart.ignoreHiddenSeries;!e.noSharedTooltip&&f(i)&&o&&(t=f(t)?Math.min(t,i):i)}),t},t.prototype.nameToX=function(t){var e=w(this.categories),i=e?this.categories:this.names,o=t.options.x;if(t.series.requireSorting=!1,f(o)||(o=this.options.uniqueNames?e?i.indexOf(t.name):P(i.keys[t.name],-1):t.series.autoIncrement()),-1===o){if(!e)var r=i.length}else r=o;return void 0!==r&&(this.names[r]=t.name,this.names.keys[t.name]=r),r},t.prototype.updateNames=function(){var t=this,e=this.names;0<e.length&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null,e.points&&!e.isDirtyData||(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,o){if(i&&i.options&&void 0!==i.name){var r=t.nameToX(i);void 0!==r&&r!==i.x&&(i.x=r,e.xData[o]=r)}})}))},t.prototype.setAxisTranslation=function(){var t,e=this,i=e.max-e.min,o=e.axisPointRange||0,r=0,s=0,n=e.linkedParent,a=!!e.categories,h=e.isXAxis;if(h||a||o){var l=e.getClosest();n?(r=n.minPointOffset,s=n.pointRangePadding):e.series.forEach(function(t){var i=a?1:h?P(t.options.pointRange,l,0):e.axisPointRange||0,n=t.options.pointPlacement;o=Math.max(o,i),e.single&&!a||(t=t.is("xrange")?!h:h,r=Math.max(r,t&&k(n)?0:i/2),s=Math.max(s,t&&"on"===n?0:i))}),e.minPointOffset=r*=n=e.ordinal&&e.ordinal.slope&&l?e.ordinal.slope/l:1,e.pointRangePadding=s*=n,e.pointRange=Math.min(o,e.single&&a?1:i),h&&(e.closestPointRange=l)}e.translationSlope=e.transA=t=e.staticScale||e.len/(i+s||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=t*r,x(this,"afterSetAxisTranslation")},t.prototype.minFromRange=function(){return this.max-this.range},t.prototype.setTickInterval=function(t){var e=this,i=e.chart,o=e.logarithmic,r=e.options,s=e.isXAxis,n=e.isLinked,a=r.maxPadding,h=r.minPadding,l=r.tickInterval,c=r.tickPixelInterval,d=e.categories,p=S(e.threshold)?e.threshold:null,g=e.softThreshold;e.dateTime||d||n||this.getTickAmount();var m=P(e.userMin,r.min),v=P(e.userMax,r.max);if(n){e.linkedParent=i[e.coll][r.linkedTo];var w=e.linkedParent.getExtremes();e.min=P(w.min,w.dataMin),e.max=P(w.max,w.dataMax),r.type!==e.linkedParent.options.type&&y(11,1,i)}else{if(g&&f(p))if(e.dataMin>=p)w=p,h=0;else if(e.dataMax<=p){var C=p;a=0}e.min=P(m,w,e.dataMin),e.max=P(v,C,e.dataMax)}o&&(e.positiveValuesOnly&&!t&&0>=Math.min(e.min,P(e.dataMin,e.min))&&y(10,1,i),e.min=u(o.log2lin(e.min),16),e.max=u(o.log2lin(e.max),16)),e.range&&f(e.max)&&(e.userMin=e.min=m=Math.max(e.dataMin,e.minFromRange()),e.userMax=v=e.max,e.range=null),x(e,"foundExtremes"),e.beforePadding&&e.beforePadding(),e.adjustForMinRange(),!(d||e.axisPointRange||e.stacking&&e.stacking.usePercentage||n)&&f(e.min)&&f(e.max)&&(i=e.max-e.min)&&(!f(m)&&h&&(e.min-=i*h),!f(v)&&a&&(e.max+=i*a)),S(e.userMin)||(S(r.softMin)&&r.softMin<e.min&&(e.min=m=r.softMin),S(r.floor)&&(e.min=Math.max(e.min,r.floor))),S(e.userMax)||(S(r.softMax)&&r.softMax>e.max&&(e.max=v=r.softMax),S(r.ceiling)&&(e.max=Math.min(e.max,r.ceiling))),g&&f(e.dataMin)&&(p=p||0,!f(m)&&e.min<p&&e.dataMin>=p?e.min=e.options.minRange?Math.min(p,e.max-e.minRange):p:!f(v)&&e.max>p&&e.dataMax<=p&&(e.max=e.options.minRange?Math.max(p,e.min+e.minRange):p)),S(e.min)&&S(e.max)&&!this.chart.polar&&e.min>e.max&&(f(e.options.min)?e.max=e.min:f(e.options.max)&&(e.min=e.max)),e.tickInterval=e.min===e.max||void 0===e.min||void 0===e.max?1:n&&e.linkedParent&&!l&&c===e.linkedParent.options.tickPixelInterval?l=e.linkedParent.tickInterval:P(l,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):void 0,d?1:(e.max-e.min)*c/Math.max(e.len,c)),s&&!t&&e.series.forEach(function(t){t.processData(e.min!==(e.old&&e.old.min)||e.max!==(e.old&&e.old.max))}),e.setAxisTranslation(),x(this,"initialAxisTranslation"),e.pointRange&&!l&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval)),t=P(r.minTickInterval,e.dateTime&&!e.series.some(function(t){return t.noSharedTooltip})?e.closestPointRange:0),!l&&e.tickInterval<t&&(e.tickInterval=t),e.dateTime||e.logarithmic||l||(e.tickInterval=A(e.tickInterval,void 0,b(e.tickInterval),P(r.allowDecimals,.5>e.tickInterval||void 0!==this.tickAmount),!!this.tickAmount)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()},t.prototype.setTickPositions=function(){var t=this.options,e=t.tickPositions,i=this.getMinorTickInterval(),o=t.tickPositioner,r=this.hasVerticalPanning(),s="colorAxis"===this.coll,n=(s||!r)&&t.startOnTick;r=(s||!r)&&t.endOnTick,this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===i&&this.tickInterval?this.tickInterval/5:i,this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals),this.tickPositions=i=e&&e.slice(),!i&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?i=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(i=[this.min,this.max],y(19,!1,this.chart)),i.length>this.len&&(i=[i[0],i.pop()])[0]===i[1]&&(i.length=1),this.tickPositions=i,o&&(o=o.apply(this,[this.min,this.max])))&&(this.tickPositions=i=o),this.paddedTicks=i.slice(0),this.trimTicks(i,n,r),this.isLinked||(this.single&&2>i.length&&!this.categories&&!this.series.some(function(t){return t.is("heatmap")&&"between"===t.options.pointPlacement})&&(this.min-=.5,this.max+=.5),e||o||this.adjustTickAmount()),x(this,"afterSetTickPositions")},t.prototype.trimTicks=function(t,e,i){var o=t[0],r=t[t.length-1],s=!this.isOrdinal&&this.minPointOffset||0;if(x(this,"trimTicks"),!this.isLinked){if(e&&-1/0!==o)this.min=o;else for(;this.min-s>t[0];)t.shift();if(i)this.max=r;else for(;this.max+s<t[t.length-1];)t.pop();0===t.length&&f(o)&&!this.options.tickPositions&&t.push((r+o)/2)}},t.prototype.alignToOthers=function(){var t,e={},i=this.options;return!1!==this.chart.options.chart.alignTicks&&i.alignTicks&&!1!==i.startOnTick&&!1!==i.endOnTick&&!this.logarithmic&&this.chart[this.coll].forEach(function(i){var o=i.options;o=[i.horiz?o.left:o.top,o.width,o.height,o.pane].join(),i.series.length&&(e[o]?t=!0:e[o]=1)}),t},t.prototype.getTickAmount=function(){var t=this.options,e=t.tickAmount,i=t.tickPixelInterval;!f(t.tickInterval)&&!e&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),4>e&&(this.finalTickAmt=e,e=5),this.tickAmount=e},t.prototype.adjustTickAmount=function(){var t=this.options,e=this.tickInterval,i=this.tickPositions,o=this.tickAmount,r=this.finalTickAmt,s=i&&i.length,n=P(this.threshold,this.softThreshold?0:null);if(this.hasData()&&S(this.min)&&S(this.max)){if(s<o){for(;i.length<o;)i.length%2||this.min===n?i.push(u(i[i.length-1]+e)):i.unshift(u(i[0]-e));this.transA*=(s-1)/(o-1),this.min=t.startOnTick?i[0]:Math.min(this.min,i[0]),this.max=t.endOnTick?i[i.length-1]:Math.max(this.max,i[i.length-1])}else s>o&&(this.tickInterval*=2,this.setTickPositions());if(f(r)){for(e=t=i.length;e--;)(3===r&&1==e%2||2>=r&&0<e&&e<t-1)&&i.splice(e,1);this.finalTickAmt=void 0}}},t.prototype.setScale=function(){var t,e=!1,i=!1;this.series.forEach(function(t){e=e||t.isDirtyData||t.isDirty,i=i||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize(),(t=this.len!==(this.old&&this.old.len))||e||i||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=t||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),e&&this.panningState&&(this.panningState.isDirty=!0),x(this,"afterSetScale")},t.prototype.setExtremes=function(t,e,i,o,r){var s=this,n=s.chart;i=P(i,!0),s.series.forEach(function(t){delete t.kdTree}),r=v(r,{min:t,max:e}),x(s,"setExtremes",r,function(){s.userMin=t,s.userMax=e,s.eventArgs=r,i&&n.redraw(o)})},t.prototype.zoom=function(t,e){var i=this,o=this.dataMin,r=this.dataMax,s=this.options,n=Math.min(o,P(s.min,o)),a=Math.max(r,P(s.max,r));return x(this,"zoom",t={newMin:t,newMax:e},function(t){var e=t.newMin,s=t.newMax;e===i.min&&s===i.max||(i.allowZoomOutside||(f(o)&&(e<n&&(e=n),e>a&&(e=a)),f(r)&&(s<n&&(s=n),s>a&&(s=a))),i.displayBtn=void 0!==e||void 0!==s,i.setExtremes(e,s,!1,void 0,{trigger:"zoom"})),t.zoomed=!0}),t.zoomed},t.prototype.setAxisSize=function(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],o=this.horiz,r=this.width=Math.round(O(P(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),s=this.height=Math.round(O(P(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(O(P(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop));e=this.left=Math.round(O(P(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft)),this.bottom=t.chartHeight-s-n,this.right=t.chartWidth-r-e,this.len=Math.max(o?r:s,0),this.pos=o?e:n},t.prototype.getExtremes=function(){var t=this.logarithmic;return{min:t?u(t.lin2log(this.min)):this.min,max:t?u(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},t.prototype.getThreshold=function(t){var e=this.logarithmic,i=e?e.lin2log(this.min):this.min;return e=e?e.lin2log(this.max):this.max,null===t||-1/0===t?t=i:1/0===t?t=e:i>t?t=i:e<t&&(t=e),this.translate(t,0,1,0,1)},t.prototype.autoLabelAlign=function(t){var e=(P(t,0)-90*this.side+720)%360;return x(this,"autoLabelAlign",t={align:"center"},function(t){15<e&&165>e?t.align="right":195<e&&345>e&&(t.align="left")}),t.align},t.prototype.tickSize=function(t){var e=this.options,i=e["tick"===t?"tickLength":"minorTickLength"],o=P(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0);if(o&&i){"inside"===e[t+"Position"]&&(i=-i);var r=[i,o]}return x(this,"afterTickSize",t={tickSize:r}),t.tickSize},t.prototype.labelMetrics=function(){var t=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[t]&&this.ticks[t].label)},t.prototype.unsquish=function(){var t,e,i=this.options.labels,o=this.horiz,r=this.tickInterval,s=r,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,h=this.labelMetrics(),l=Number.MAX_VALUE,c=Math.max(this.max-this.min,0),d=function(t){var e=t/(n||1);return(e=1<e?Math.ceil(e):1)*r>c&&1/0!==t&&1/0!==n&&c&&(e=Math.ceil(c/r)),u(e*r)};if(o){if(!i.staggerLines&&!i.step)if(S(a))var p=[a];else n<i.autoRotationLimit&&(p=i.autoRotation);p&&p.forEach(function(i){if(i===a||i&&-90<=i&&90>=i){var o=(e=d(Math.abs(h.h/Math.sin(j*i))))+Math.abs(i/360);o<l&&(l=o,t=i,s=e)}})}else i.step||(s=d(h.h));return this.autoRotation=p,this.labelRotation=P(t,S(a)?a:0),s},t.prototype.getSlotWidth=function(t){var e=this.chart,i=this.horiz,o=this.options.labels,r=Math.max(this.tickPositions.length-(this.categories?0:1),1),s=e.margin[3];if(t&&S(t.slotWidth))return t.slotWidth;if(i&&2>o.step)return o.rotation?0:(this.staggerLines||1)*this.len/r;if(!i){if(void 0!==(t=o.style.width))return parseInt(String(t),10);if(s)return s-e.spacing[3]}return.33*e.chartWidth},t.prototype.renderUnsquish=function(){var t=this.chart,e=t.renderer,i=this.tickPositions,o=this.ticks,r=this.options.labels,s=r.style,n=this.horiz,a=this.getSlotWidth(),h=Math.max(1,Math.round(a-2*r.padding)),l={},c=this.labelMetrics(),d=s.textOverflow,p=0;if(k(r.rotation)||(l.rotation=r.rotation||0),i.forEach(function(t){(t=o[t]).movedLabel&&t.replaceMovedLabel(),t&&t.label&&t.label.textPxLength>p&&(p=t.label.textPxLength)}),this.maxLabelLength=p,this.autoRotation)p>h&&p>c.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(a){var u=h;if(!d){var f="clip";for(h=i.length;!n&&h--;){var g=i[h];(g=o[g].label)&&(g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>a&&g.css({width:a+"px"}),g.getBBox().height>this.len/i.length-(c.h-c.f)&&(g.specificTextOverflow="ellipsis"))}}}l.rotation&&(u=p>.5*t.chartHeight?.33*t.chartHeight:p,d||(f="ellipsis")),(this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation))&&(l.align=this.labelAlign),i.forEach(function(t){var e=(t=o[t])&&t.label,i=s.width,r={};e&&(e.attr(l),t.shortenLabel?t.shortenLabel():u&&!i&&"nowrap"!==s.whiteSpace&&(u<e.textPxLength||"SPAN"===e.element.tagName)?(r.width=u+"px",d||(r.textOverflow=e.specificTextOverflow||f),e.css(r)):e.styles&&e.styles.width&&!r.width&&!i&&e.css({width:null}),delete e.specificTextOverflow,t.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,0!==this.side)},t.prototype.hasData=function(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&f(this.min)&&f(this.max)},t.prototype.addTitle=function(t){var e,i=this.opposite,o=this.options.title,r=this.chart.styledMode;this.axisTitle||((e=o.textAlign)||(e=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[o.align]),this.axisTitle=this.chart.renderer.text(o.text||"",0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation,align:e}).addClass("highcharts-axis-title"),r||this.axisTitle.css(M(o.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),r||o.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)},t.prototype.generateTick=function(t){var e=this.ticks;e[t]?e[t].addLabel():e[t]=new s(this,t)},t.prototype.getOffset=function(){var t,e=this,i=this,o=i.chart,r=o.renderer,s=i.options,n=i.tickPositions,a=i.ticks,h=i.horiz,l=i.side,c=o.inverted&&!i.isZAxis?[1,0,3,2][l]:l,d=0,p=0,u=s.title,g=s.labels,m=0,y=o.axisOffset;o=o.clipOffset;var v=[-1,1,1,-1][l],b=s.className,w=i.axisParent,C=i.hasData();if(i.showAxis=t=C||s.showEmpty,i.staggerLines=i.horiz&&g.staggerLines||void 0,!i.axisGroup){var S=function(t,i,o){return r.g(t).attr({zIndex:o}).addClass("highcharts-"+e.coll.toLowerCase()+i+" "+(e.isRadial?"highcharts-radial-axis"+i+" ":"")+(b||"")).add(w)};i.gridGroup=S("grid","-grid",s.gridZIndex),i.axisGroup=S("axis","",s.zIndex),i.labelGroup=S("axis-labels","-labels",g.zIndex)}if(C||i.isLinked?(n.forEach(function(t,e){i.generateTick(t,e)}),i.renderUnsquish(),i.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===i.labelAlign,P(g.reserveSpace,"center"===i.labelAlign||null,i.reserveSpaceDefault)&&n.forEach(function(t){m=Math.max(a[t].getLabelSize(),m)}),i.staggerLines&&(m*=i.staggerLines),i.labelOffset=m*(i.opposite?-1:1)):T(a,function(t,e){t.destroy(),delete a[e]}),u&&u.text&&!1!==u.enabled&&(i.addTitle(t),t&&!1!==u.reserveSpace)){i.titleOffset=d=i.axisTitle.getBBox()[h?"height":"width"];var k=u.offset;p=f(k)?0:P(u.margin,h?5:10)}i.renderLine(),i.offset=v*P(s.offset,y[l]?y[l]+(s.margin||0):0),i.tickRotCorr=i.tickRotCorr||{x:0,y:0},u=0===l?-i.labelMetrics().h:2===l?i.tickRotCorr.y:0,p=Math.abs(m)+p,m&&(p=p-u+v*(h?P(g.y,i.tickRotCorr.y+8*v):g.x)),i.axisTitleMargin=P(k,p),i.getMaxLabelDimensions&&(i.maxLabelDimensions=i.getMaxLabelDimensions(a,n)),h=this.tickSize("tick"),y[l]=Math.max(y[l],(i.axisTitleMargin||0)+d+v*i.offset,p,n&&n.length&&h?h[0]+v*i.offset:0),s=s.offset?0:2*Math.floor(i.axisLine.strokeWidth()/2),o[c]=Math.max(o[c],s),x(this,"afterGetOffset")},t.prototype.getLinePath=function(t){var e=this.chart,i=this.opposite,o=this.offset,r=this.horiz,s=this.left+(i?this.width:0)+o;return o=e.chartHeight-this.bottom-(i?this.height:0)+o,i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:s,r?o:this.top],["L",r?e.chartWidth-this.right:s,r?o:e.chartHeight-this.bottom]],t)},t.prototype.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}))},t.prototype.getTitlePosition=function(){var t=this.horiz,e=this.left,i=this.top,o=this.len,r=this.options.title,s=t?e:i,n=this.opposite,a=this.offset,h=r.x,l=r.y,c=this.axisTitle,d=this.chart.renderer.fontMetrics(r.style.fontSize,c);return c=Math.max(c.getBBox(null,0).height-d.h-1,0),o={low:s+(t?0:o),middle:s+o/2,high:s+(t?o:0)}[r.align],e=(t?i+this.height:e)+(t?1:-1)*(n?-1:1)*this.axisTitleMargin+[-c,c,d.f,-c][this.side],x(this,"afterGetTitlePosition",{titlePosition:t={x:t?o+h:e+(n?this.width:0)+a+h,y:t?e+l-(n?this.height:0)+a:o+l}}),t},t.prototype.renderMinorTick=function(t){var e=this.chart.hasRendered&&this.old,i=this.minorTicks;i[t]||(i[t]=new s(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)},t.prototype.renderTick=function(t,e){var i=this.ticks,o=this.chart.hasRendered&&this.old;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(i[t]||(i[t]=new s(this,t)),o&&i[t].isNew&&i[t].render(e,!0,-1),i[t].render(e))},t.prototype.render=function(){var t,e,o=this,r=o.chart,n=o.logarithmic,h=o.options,l=o.isLinked,c=o.tickPositions,d=o.axisTitle,p=o.ticks,u=o.minorTicks,f=o.alternateBands,g=h.stackLabels,m=h.alternateGridColor,y=o.tickmarkOffset,v=o.axisLine,b=o.showAxis,w=a(r.renderer.globalAnimation);o.labelEdge.length=0,o.overlap=!1,[p,u,f].forEach(function(t){T(t,function(t){t.isActive=!1})}),(o.hasData()||l)&&(o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t)}),c.length&&(c.forEach(function(t,e){o.renderTick(t,e)}),y&&(0===o.min||o.single)&&(p[-1]||(p[-1]=new s(o,-1,null,!0)),p[-1].render(-1))),m&&c.forEach(function(s,a){e=void 0!==c[a+1]?c[a+1]+y:o.max-y,0==a%2&&s<o.max&&e<=o.max+(r.polar?-y:y)&&(f[s]||(f[s]=new i.PlotLineOrBand(o)),t=s+y,f[s].options={from:n?n.lin2log(t):t,to:n?n.lin2log(e):e,color:m,className:"highcharts-alternate-grid"},f[s].render(),f[s].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)}))),[p,u,f].forEach(function(t){var e,i=[],o=w.duration;T(t,function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))}),D(function(){for(e=i.length;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])},t!==f&&r.hasRendered&&o?o:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[b?"show":"hide"](b)),d&&b&&(h=o.getTitlePosition(),S(h.y)?(d[d.isNew?"attr":"animate"](h),d.isNew=!1):(d.attr("y",-9999),d.isNew=!0)),g&&g.enabled&&o.stacking&&o.stacking.renderStackTotals(),o.old={len:o.len,max:o.max,min:o.min,transA:o.transA,userMax:o.userMax,userMin:o.userMin},o.isDirty=!1,x(this,"afterRender")},t.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})},t.prototype.getKeepProps=function(){return this.keepProps||t.keepProps},t.prototype.destroy=function(t){var e,i=this,o=i.plotLinesAndBands;if(x(this,"destroy",{keepEvents:t}),t||E(i),[i.ticks,i.minorTicks,i.alternateBands].forEach(function(t){g(t)}),o)for(t=o.length;t--;)o[t].destroy();for(e in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(t){i[t]&&(i[t]=i[t].destroy())}),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[e]=i.plotLinesAndBandsGroups[e].destroy();T(i,function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})},t.prototype.drawCrosshair=function(t,i){var r,s=this.crosshair,n=P(s&&s.snap,!0),a=this.cross,h=this.chart;if(x(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),s&&!1!==(f(i)||!n)){if(n?f(i)&&(r=P("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):r=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),f(r)){var l={value:i&&(this.isXAxis?i.x:P(i.stackY,i.y)),translatedValue:r};h.polar&&v(l,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),l=this.getPlotLinePath(l)||null}if(!f(l))return void this.hideCrosshair();n=this.categories&&!this.isRadial,a||(this.cross=a=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(n?"category ":"thin ")+(s.className||"")).attr({zIndex:P(s.zIndex,2)}).add(),h.styledMode||(a.attr({stroke:s.color||(n?e.parse(o.highlightColor20).setOpacity(.25).get():o.neutralColor20),"stroke-width":P(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&a.attr({dashstyle:s.dashStyle}))),a.show().attr({d:l}),n&&!s.width&&a.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();x(this,"afterDrawCrosshair",{e:t,point:i})},t.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),x(this,"afterHideCrosshair")},t.prototype.hasVerticalPanning=function(){var t=this.chart.options.chart.panning;return!!(t&&t.enabled&&/y/.test(t.type))},t.prototype.validatePositiveValue=function(t){return S(t)&&0<t},t.prototype.update=function(t,e){var i=this.chart,o=t&&t.events||{};t=M(this.userOptions,t),T(i.options[this.coll].events,function(t,e){void 0===o[e]&&(o[e]=void 0)}),this.destroy(!0),this.init(i,v(t,{events:o})),i.isDirtyBox=!0,P(e,!0)&&i.redraw()},t.prototype.remove=function(t){for(var e=this.chart,i=this.coll,o=this.series,r=o.length;r--;)o[r]&&o[r].remove(!1);m(e.axes,this),m(e[i],this),e[i].forEach(function(t,e){t.options.index=t.userOptions.index=e}),this.destroy(),e.isDirtyBox=!0,P(t,!0)&&e.redraw()},t.prototype.setTitle=function(t,e){this.update({title:t},e)},t.prototype.setCategories=function(t,e){this.update({categories:t},e)},t.defaultOptions={alignTicks:!0,allowDecimals:void 0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:o.neutralColor60,cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:o.neutralColor60}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:o.neutralColor5,minorGridLineWidth:1,minorTickColor:o.neutralColor40,lineColor:o.highlightColor20,lineWidth:1,gridLineColor:o.neutralColor10,gridLineWidth:void 0,tickColor:o.highlightColor20},t.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:o.neutralColor100,fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},t.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},t.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.keepProps="extKey hcEvents names series userMax userMin".split(" "),t}(),i.Axis=t,i.Axis}),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.timeUnits,n=function(){function t(t){this.axis=t}return t.prototype.normalizeTimeTickInterval=function(t,e){var i,n=e||[["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]],a=s[(e=n[n.length-1])[0]],h=e[1];for(i=0;i<n.length&&(a=s[(e=n[i])[0]],h=e[1],!(n[i+1]&&t<=(a*h[h.length-1]+s[n[i+1][0]])/2));i++);return a===s.year&&t<5*a&&(h=[1,2,5]),{unitRange:a,count:t=r(t/a,h,"year"===e[0]?Math.max(o(t/a),1):1),unitName:e[0]}},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("dateTime"),t.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)},i(t,"init",function(t){"datetime"!==t.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new n(this))})},t.AdditionsClass=n,t}()).compose(t),e}),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.pick,n=function(){function t(t){this.axis=t}return t.prototype.getLogTickPositions=function(t,e,i,n){var a=this.axis,h=a.len,l=a.options,c=[];if(n||(this.minorAutoInterval=void 0),.5<=t)t=Math.round(t),c=a.getLinearTickPositions(t,e,i);else if(.08<=t){var d,p=Math.floor(e),u=l=void 0;for(h=.3<t?[1,2,4]:.15<t?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<i+1&&!u;p++){var f=h.length;for(d=0;d<f&&!u;d++){var g=this.log2lin(this.lin2log(p)*h[d]);g>e&&(!n||l<=i)&&void 0!==l&&c.push(l),l>i&&(u=!0),l=g}}}else e=this.lin2log(e),i=this.lin2log(i),t=n?a.getMinorTickInterval():l.tickInterval,t=s("auto"===t?null:t,this.minorAutoInterval,l.tickPixelInterval/(n?5:1)*(i-e)/((n?h/a.tickPositions.length:h)||1)),t=r(t,void 0,o(t)),c=a.getLinearTickPositions(t,e,i).map(this.log2lin),n||(this.minorAutoInterval=t/5);return n||(a.tickInterval=t),c},t.prototype.lin2log=function(t){return Math.pow(10,t)},t.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("logarithmic"),i(t,"init",function(t){var e=this.logarithmic;"logarithmic"!==t.userOptions.type?this.logarithmic=void 0:e||(this.logarithmic=new n(this))}),i(t,"afterInit",function(){var t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})})},t}()).compose(t),e}),e(i,"Core/Axis/PlotLineOrBand.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.arrayMax,s=o.arrayMin,n=o.defined,a=o.destroyObjectProperties,h=o.erase,l=o.extend,c=o.fireEvent,d=o.isNumber,p=o.merge,u=o.objectEach,f=o.pick;return o=function(){function t(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)}return t.prototype.render=function(){c(this,"render");var t=this,e=t.axis,o=e.horiz,r=e.logarithmic,s=t.options,a=s.label,h=t.label,l=s.to,d=s.from,g=s.value,m=n(d)&&n(l),y=n(g),v=t.svgElem,x=!v,b=[],w=s.color,C=f(s.zIndex,0),S=s.events;b={class:"highcharts-plot-"+(m?"band ":"line ")+(s.className||"")};var k={},M=e.chart.renderer,A=m?"bands":"lines";if(r&&(d=r.log2lin(d),l=r.log2lin(l),g=r.log2lin(g)),e.chart.styledMode||(y?(b.stroke=w||i.neutralColor40,b["stroke-width"]=f(s.width,1),s.dashStyle&&(b.dashstyle=s.dashStyle)):m&&(b.fill=w||i.highlightColor10,s.borderWidth&&(b.stroke=s.borderColor,b["stroke-width"]=s.borderWidth))),k.zIndex=C,(r=e.plotLinesAndBandsGroups[A+="-"+C])||(e.plotLinesAndBandsGroups[A]=r=M.g("plot-"+A).attr(k).add()),x&&(t.svgElem=v=M.path().attr(b).add(r)),y)b=e.getPlotLinePath({value:g,lineWidth:v.strokeWidth(),acrossPanes:s.acrossPanes});else{if(!m)return;b=e.getPlotBandPath(d,l,s)}return!t.eventsAdded&&S&&(u(S,function(e,i){v.on(i,function(e){S[i].apply(t,[e])})}),t.eventsAdded=!0),(x||!v.d)&&b&&b.length?v.attr({d:b}):v&&(b?(v.show(!0),v.animate({d:b})):v.d&&(v.hide(),h&&(t.label=h=h.destroy()))),a&&(n(a.text)||n(a.formatter))&&b&&b.length&&0<e.width&&0<e.height&&!b.isFlat?(a=p({align:o&&m&&"center",x:o?!m&&4:10,verticalAlign:!o&&m&&"middle",y:o?m?16:10:m?6:-4,rotation:o&&!m&&90},a),this.renderLabel(a,b,m,C)):h&&h.hide(),t},t.prototype.renderLabel=function(t,e,i,o){var n=this.label,a=this.axis.chart.renderer;n||((n={align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||"")}).zIndex=o,o=this.getLabelText(t),this.label=n=a.text(o,0,0,t.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(t.style)),a=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],e=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],i=s(a),o=s(e),n.align(t,!1,{x:i,y:o,width:r(a)-i,height:r(e)-o}),n.show(!0)},t.prototype.getLabelText=function(t){return n(t.formatter)?t.formatter.call(this):t.text},t.prototype.destroy=function(){h(this.axis.plotLinesAndBands,this),delete this.axis,a(this)},t}(),l(t.prototype,{getPlotBandPath:function(t,e,i){void 0===i&&(i=this.options);var o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes});i=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});var r=[],s=this.horiz,n=1;if(t=!d(this.min)||!d(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,i&&o){if(t){var a=i.toString()===o.toString();n=0}for(t=0;t<i.length;t+=2){var h=i[t+1],l=o[t],c=o[t+1];"M"!==(e=i[t])[0]&&"L"!==e[0]||"M"!==h[0]&&"L"!==h[0]||"M"!==l[0]&&"L"!==l[0]||"M"!==c[0]&&"L"!==c[0]||(s&&l[1]===e[1]?(l[1]+=n,c[1]+=n):s||l[2]!==e[2]||(l[2]+=n,c[2]+=n),r.push(["M",e[1],e[2]],["L",h[1],h[2]],["L",c[1],c[2]],["L",l[1],l[2]],["Z"])),r.isFlat=a}}return r},addPlotBand:function(t){return this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){return this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(t,i){var o=this,r=new e.PlotLineOrBand(this,t),s=this.userOptions;if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)})),i){var n=s[i]||[];n.push(t),s[i]=n}this.plotLinesAndBands.push(r)}return r},removePlotBandOrLine:function(t){for(var e=this.plotLinesAndBands,i=this.options,o=this.userOptions,r=e.length;r--;)e[r].id===t&&e[r].destroy();[i.plotLines||[],o.plotLines||[],i.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&h(e,e[r])})},removePlotBand:function(t){this.removePlotBandOrLine(t)},removePlotLine:function(t){this.removePlotBandOrLine(t)}}),e.PlotLineOrBand=o,e.PlotLineOrBand}),e(i,"Core/Tooltip.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=t.format,s=e.doc,n=o.clamp,a=o.css,h=o.defined,l=o.discardElement,c=o.extend,d=o.fireEvent,p=o.isArray,u=o.isNumber,f=o.isString,g=o.merge,m=o.pick,y=o.splat,v=o.syncTimeout,x=o.timeUnits;return t=function(){function t(t,e){this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e)}return t.prototype.applyFilter=function(){var t=this.chart;t.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+t.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]}),t.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+t.index+"{filter:url(#drop-shadow-"+t.index+")}"})},t.prototype.bodyFormatter=function(t){return t.map(function(t){var e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})},t.prototype.cleanSplit=function(t){this.chart.series.forEach(function(e){var i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})},t.prototype.defaultFormatter=function(t){var e=this.points||y(this),i=[t.tooltipFooterHeaderFormatter(e[0])];return(i=i.concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i},t.prototype.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(),l(this.container)),o.clearTimeout(this.hideTimer),o.clearTimeout(this.tooltipTimeout)},t.prototype.getAnchor=function(t,e){var i,o,r=this.chart,s=r.pointer,n=r.inverted,a=r.plotTop,h=r.plotLeft,l=0,c=0;return t=y(t),this.followPointer&&e?(void 0===e.chartX&&(e=s.normalize(e)),s=[e.chartX-h,e.chartY-a]):t[0].tooltipPos?s=t[0].tooltipPos:(t.forEach(function(t){i=t.series.yAxis,l+=t.plotX||0,c+=t.plotLow?(t.plotLow+(t.plotHigh||0))/2:t.plotY||0,(o=t.series.xAxis)&&i&&(n?(l+=a+r.plotHeight-o.len-o.pos,c+=h+r.plotWidth-i.len-i.pos):(l+=o.pos-h,c+=i.pos-a))}),l/=t.length,c/=t.length,s=[n?r.plotWidth-c:l,n?r.plotHeight-l:c],this.shared&&1<t.length&&e&&(n?s[0]=e.chartX-h:s[1]=e.chartY-a)),s.map(Math.round)},t.prototype.getDateFormat=function(t,e,i,o){var r=this.chart.time,s=r.dateFormat("%m-%d %H:%M:%S.%L",e),n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond";for(h in x){if(t===x.week&&+r.dateFormat("%w",e)===i&&"00:00:00.000"===s.substr(6)){var h="week";break}if(x[h]>t){h=a;break}if(n[h]&&s.substr(n[h])!=="01-01 00:00:00.000".substr(n[h]))break;"week"!==h&&(a=h)}if(h)var l=r.resolveDTLFormat(o[h]).main;return l},t.prototype.getLabel=function(){var t,i=this,o=this.chart.renderer,r=this.chart.styledMode,s=this.options,n="tooltip"+(h(s.className)?" "+s.className:""),l=s.style&&s.style.pointerEvents||(!this.followPointer&&s.stickOnContact?"auto":"none");if(!this.label){if(this.outside){var c=this.chart.options.chart.style;this.container=t=e.doc.createElement("div"),t.className="highcharts-tooltip-container",a(t,{position:"absolute",top:"1px",pointerEvents:l,zIndex:Math.max(this.options.style&&this.options.style.zIndex||0,(c&&c.zIndex||0)+3)}),e.doc.body.appendChild(t),this.renderer=o=new e.Renderer(t,0,0,c,void 0,void 0,o.styledMode)}if(this.split?this.label=o.g(n):(this.label=o.label("",0,0,s.shape||"callout",null,null,s.useHTML,null,n).attr({padding:s.padding,r:s.borderRadius}),r||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth}).css(s.style).css({pointerEvents:l}).shadow(s.shadow)),r&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var d=this.label,p=d.xSetter,u=d.ySetter;d.xSetter=function(e){p.call(d,i.distance),t.style.left=e+"px"},d.ySetter=function(e){u.call(d,i.distance),t.style.top=e+"px"}}this.label.on("mouseenter",function(){i.inContact=!0}).on("mouseleave",function(){var t=i.chart.hoverSeries;i.inContact=!1,t&&t.onMouseOut&&t.onMouseOut()}).attr({zIndex:8}).add()}return this.label},t.prototype.getPosition=function(t,e,i){var o,r=this.chart,n=this.distance,a={},h=r.inverted&&i.h||0,l=this.outside,c=l?s.documentElement.clientWidth-2*n:r.chartWidth,d=l?Math.max(s.body.scrollHeight,s.documentElement.scrollHeight,s.body.offsetHeight,s.documentElement.offsetHeight,s.documentElement.clientHeight):r.chartHeight,p=r.pointer.getChartPosition(),u=function(o){var s="x"===o;return[o,s?c:d,s?t:e].concat(l?[s?t*p.scaleX:e*p.scaleY,s?p.left-n+(i.plotX+r.plotLeft)*p.scaleX:p.top-n+(i.plotY+r.plotTop)*p.scaleY,0,s?c:d]:[s?t:e,s?i.plotX+r.plotLeft:i.plotY+r.plotTop,s?r.plotLeft:r.plotTop,s?r.plotLeft+r.plotWidth:r.plotTop+r.plotHeight])},f=u("y"),g=u("x"),y=!this.followPointer&&m(i.ttBelow,!r.inverted==!!i.negative),v=function(t,e,i,o,r,s,c){var d=l?"y"===t?n*p.scaleY:n*p.scaleX:n,u=(i-o)/2,f=o<r-n,g=r+n+o<e,m=r-d-i+u;if(r=r+d-u,y&&g)a[t]=r;else if(!y&&f)a[t]=m;else if(f)a[t]=Math.min(c-o,0>m-h?m:m-h);else{if(!g)return!1;a[t]=Math.max(s,r+h+i>e?r:r+h)}},x=function(t,e,i,o,r){var s;return r<n||r>e-n?s=!1:a[t]=r<i/2?1:r>e-o/2?e-o-2:r-i/2,s},b=function(t){var e=f;f=g,g=e,o=t},w=function(){!1!==v.apply(0,f)?!1!==x.apply(0,g)||o||(b(!0),w()):o?a.x=a.y=0:(b(!0),w())};return(r.inverted||1<this.len)&&b(),w(),a},t.prototype.getXDateFormat=function(t,e,i){e=e.dateTimeLabelFormats;var o=i&&i.closestPointRange;return(o?this.getDateFormat(o,t.x,i.options.startOfWeek,e):e.day)||e.year},t.prototype.hide=function(t){var e=this;o.clearTimeout(this.hideTimer),t=m(t,this.options.hideDelay,500),this.isHidden||(this.hideTimer=v(function(){e.getLabel().fadeOut(t?void 0:t),e.isHidden=!0},t))},t.prototype.init=function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=m(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))},t.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},t.prototype.move=function(t,e,i,r){var s=this,n=s.now,a=!1!==s.options.animation&&!s.isHidden&&(1<Math.abs(t-n.x)||1<Math.abs(e-n.y)),h=s.followPointer||1<s.len;c(n,{x:a?(2*n.x+t)/3:t,y:a?(n.y+e)/2:e,anchorX:h?void 0:a?(2*n.anchorX+i)/3:i,anchorY:h?void 0:a?(n.anchorY+r)/2:r}),s.getLabel().attr(n),s.drawTracker(),a&&(o.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){s&&s.move(t,e,i,r)},32))},t.prototype.refresh=function(t,e){var r=this.chart,s=this.options,n=y(t),a=n[0],h={},l=[],c=s.formatter||this.defaultFormatter;h=this.shared;var u=r.styledMode;if(s.enabled){o.clearTimeout(this.hideTimer),this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;var f=this.getAnchor(t,e),g=f[0],v=f[1];if(!h||!p(t)&&t.series&&t.series.noSharedTooltip?h=a.getLabelConfig():(r.pointer.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(h={x:a.category,y:a.y}).points=l),this.len=l.length,t=c.call(h,this),this.distance=m((c=a.series).tooltipOptions.distance,16),!1===t)this.hide();else{if(this.split)this.renderSplit(t,n);else{if(n=g,h=v,e&&r.pointer.isDirectTouch&&(n=e.chartX-r.plotLeft,h=e.chartY-r.plotTop),!r.polar&&!1!==c.options.clip&&!c.shouldShowTooltip(n,h))return void this.hide();e=this.getLabel(),s.style.width&&!u||e.css({width:this.chart.spacingBox.width+"px"}),e.attr({text:t&&t.join?t.join(""):t}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+m(a.colorIndex,c.colorIndex)),u||e.attr({stroke:s.borderColor||a.color||c.color||i.neutralColor60}),this.updatePosition({plotX:g,plotY:v,negative:a.negative,ttBelow:a.ttBelow,h:f[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}d(this,"refresh")}},t.prototype.renderSplit=function(t,o){function r(t,e,i,o,r){return void 0===r&&(r=!0),i?(e=O?0:j,t=n(t-o/2,A.left,A.right-o-(a.outside?E:0))):(e-=L,t=n(t=r?t-o-S:t+S,r?t:A.left,A.right)),{x:t,y:e}}var a=this,h=a.chart,l=a.chart,d=l.chartWidth,p=l.chartHeight,u=l.plotHeight,g=l.plotLeft,y=l.plotTop,v=l.pointer,x=l.scrollablePixelsY;x=void 0===x?0:x;var b=l.scrollingContainer,w=(b=void 0===b?{scrollLeft:0,scrollTop:0}:b).scrollLeft;b=b.scrollTop;var C=l.styledMode,S=a.distance,k=a.options,M=a.options.positioner,A=a.outside&&"number"!=typeof l.scrollablePixelsX?s.documentElement.getBoundingClientRect():{left:w,right:w+d,top:b,bottom:b+p},T=a.getLabel(),P=this.renderer||h.renderer,O=!(!h.xAxis[0]||!h.xAxis[0].opposite),E=(h=v.getChartPosition()).left;h=h.top;var L=y+b,D=0,j=u-x;f(t)&&(t=[!1,t]),t=t.slice(0,o.length+1).reduce(function(t,e,s){if(!1!==e&&""!==e){var h=(s=o[s-1]||{isHeader:!0,plotX:o[0].plotX,plotY:u,series:{}}).isHeader,l=h?a:s.series;e=e.toString();var c=l.tt,d=s.isHeader,p=s.series,f="highcharts-color-"+m(s.colorIndex,p.colorIndex,"none");if(c||(c={padding:k.padding,r:k.borderRadius},C||(c.fill=k.backgroundColor,c["stroke-width"]=k.borderWidth),c=P.label("",0,0,k[d?"headerShape":"shape"]||"callout",void 0,void 0,k.useHTML).addClass((d?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+f).attr(c).add(T)),c.isActive=!0,c.attr({text:e}),C||c.css(k.style).shadow(k.shadow).attr({stroke:k.borderColor||s.color||p.color||i.neutralColor80}),e=(d=(l=l.tt=c).getBBox()).width+l.strokeWidth(),h&&(j+=D=d.height,O&&(L-=D)),p=void 0===(p=s.plotX)?0:p,f=void 0===(f=s.plotY)?0:f,c=s.series,s.isHeader){p=g+p;var v=y+u/2}else{var x=c.xAxis,b=c.yAxis;p=x.pos+n(p,-S,x.len+S),c.shouldShowTooltip(0,b.pos-y+f,{ignoreX:!0})&&(v=b.pos+f)}p=n(p,A.left-S,A.right+S),"number"==typeof v?(d=d.height+1,f=M?M.call(a,e,d,s):r(p,v,h,e),t.push({align:M?0:void 0,anchorX:p,anchorY:v,boxWidth:e,point:s,rank:m(f.rank,h?1:0),size:d,target:f.y,tt:l,x:f.x})):l.isActive=!1}return t},[]),!M&&t.some(function(t){var e=(a.outside?E:0)+t.anchorX;return e<A.left&&e+t.boxWidth<A.right||e<E-A.left+t.boxWidth&&A.right-e>e})&&(t=t.map(function(t){var e=r(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return c(t,{target:e.y,x:e.x})})),a.cleanSplit(),e.distribute(t,j);var I=E,_=E;t.forEach(function(t){var e=t.x,i=t.boxWidth;(t=t.isHeader)||(a.outside&&E+e<I&&(I=E+e),!t&&a.outside&&I+i>_&&(_=E+e))}),t.forEach(function(t){var e=t.x,i=t.anchorX,o=t.pos,r=t.point.isHeader;if(o={visibility:void 0===o?"hidden":"inherit",x:e,y:o+L,anchorX:i,anchorY:t.anchorY},a.outside&&e<i){var s=E-I;0<s&&(r||(o.x=e+s,o.anchorX=i+s),r&&(o.x=(_-I)/2,o.anchorX=i+s))}t.tt.attr(o)}),t=a.container,x=a.renderer,a.outside&&t&&x&&(l=T.getBBox(),x.setSize(l.width+l.x,l.height+l.y,!1),t.style.left=I+"px",t.style.top=h+"px")},t.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var t=this.chart,e=this.label,i=t.hoverPoint;if(e&&i){var o={x:0,y:0,width:0,height:0};i=this.getAnchor(i);var r=e.getBBox();i[0]+=t.plotLeft-e.translateX,i[1]+=t.plotTop-e.translateY,o.x=Math.min(0,i[0]),o.y=Math.min(0,i[1]),o.width=0>i[0]?Math.max(Math.abs(i[0]),r.width-i[0]):Math.max(Math.abs(i[0]),r.width),o.height=0>i[1]?Math.max(Math.abs(i[1]),r.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),r.height),this.tracker?this.tracker.attr(o):(this.tracker=e.renderer.rect(o).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},t.prototype.styledModeFormat=function(t){return t.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},t.prototype.tooltipFooterHeaderFormatter=function(t,e){var i=e?"footer":"header",o=t.series,s=o.tooltipOptions,n=s.xDateFormat,a=o.xAxis,h=a&&"datetime"===a.options.type&&u(t.key),l=s[i+"Format"];return d(this,"headerFormatter",e={isFooter:e,labelConfig:t},function(e){h&&!n&&(n=this.getXDateFormat(t,s,a)),h&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+n+"}")}),o.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=r(l,{point:t,series:o},this.chart)}),e.text},t.prototype.update=function(t){this.destroy(),g(!0,this.chart.options.tooltip.userOptions,t),this.init(this.chart,g(!0,this.options,t))},t.prototype.updatePosition=function(t){var e=this.chart,i=e.pointer,o=this.getLabel(),r=t.plotX+e.plotLeft;if(e=t.plotY+e.plotTop,i=i.getChartPosition(),t=(this.options.positioner||this.getPosition).call(this,o.width,o.height,t),this.outside){var s=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(o.width+s,o.height+s,!1),1===i.scaleX&&1===i.scaleY||(a(this.container,{transform:"scale("+i.scaleX+", "+i.scaleY+")"}),r*=i.scaleX,e*=i.scaleY),r+=i.left-t.x,e+=i.top-t.y}this.move(Math.round(t.x),Math.round(t.y||0),r,e)},t}(),e.Tooltip=t,e.Tooltip}),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Tooltip.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.parse,n=e.charts,a=e.noop,h=r.addEvent,l=r.attr,c=r.css,d=r.defined,p=r.extend,u=r.find,f=r.fireEvent,g=r.isNumber,m=r.isObject,y=r.objectEach,v=r.offset,x=r.pick,b=r.splat;return t=function(){function t(t,e){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=t,this.hasDragged=!1,this.options=e,this.init(t,e)}return t.prototype.applyInactiveState=function(t){var e,i=[];(t||[]).forEach(function(t){i.push(e=t.series),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})},t.prototype.destroy=function(){var t=this;this.eventsToUnbind.forEach(function(t){return t()}),this.eventsToUnbind=[],e.chartCount||(e.unbindDocumentMouseUp&&(e.unbindDocumentMouseUp=e.unbindDocumentMouseUp()),e.unbindDocumentTouchEnd&&(e.unbindDocumentTouchEnd=e.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),y(t,function(e,i){t[i]=void 0})},t.prototype.drag=function(t){var e=this.chart,o=e.options.chart,r=t.chartX,n=t.chartY,a=this.zoomHor,h=this.zoomVert,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,p=e.plotHeight,u=this.selectionMarker,f=this.mouseDownX||0,g=this.mouseDownY||0,y=m(o.panning)?o.panning&&o.panning.enabled:o.panning,v=o.panKey&&t[o.panKey+"Key"];if((!u||!u.touch)&&(r<l?r=l:r>l+d&&(r=l+d),n<c?n=c:n>c+p&&(n=c+p),this.hasDragged=Math.sqrt(Math.pow(f-r,2)+Math.pow(g-n,2)),10<this.hasDragged)){var x=e.isInsidePlot(f-l,g-c,{visiblePlotOnly:!0});e.hasCartesianSeries&&(this.zoomX||this.zoomY)&&x&&!v&&!u&&(this.selectionMarker=u=e.renderer.rect(l,c,a?1:d,h?1:p,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||u.attr({fill:o.selectionMarkerFill||s(i.highlightColor80).setOpacity(.25).get()})),u&&a&&(r-=f,u.attr({width:Math.abs(r),x:(0<r?0:r)+f})),u&&h&&(r=n-g,u.attr({height:Math.abs(r),y:(0<r?0:r)+g})),x&&!u&&y&&e.pan(t,o.panning)}},t.prototype.dragStart=function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},t.prototype.drop=function(t){var e=this,i=this.chart,o=this.hasPinched;if(this.selectionMarker){var r,s={originalEvent:t,xAxis:[],yAxis:[]},n=this.selectionMarker,a=n.attr?n.attr("x"):n.x,h=n.attr?n.attr("y"):n.y,l=n.attr?n.attr("width"):n.width,u=n.attr?n.attr("height"):n.height;(this.hasDragged||o)&&(i.axes.forEach(function(i){if(i.zoomEnabled&&d(i.min)&&(o||e[{xAxis:"zoomX",yAxis:"zoomY"}[i.coll]])&&g(a)&&g(h)){var n=i.horiz,c="touchend"===t.type?i.minPixelPadding:0,p=i.toValue((n?a:h)+c);n=i.toValue((n?a+l:h+u)-c),s[i.coll].push({axis:i,min:Math.min(p,n),max:Math.max(p,n)}),r=!0}}),r&&f(i,"selection",s,function(t){i.zoom(p(t,o?{animation:!1}:null))})),g(i.index)&&(this.selectionMarker=this.selectionMarker.destroy()),o&&this.scaleGroups()}i&&g(i.index)&&(c(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},t.prototype.findNearestKDPoint=function(t,e,i){var o,r=this.chart,s=r.hoverPoint;return r=r.tooltip,s&&r&&r.isStickyOnContact()?s:(t.forEach(function(t){var r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y");if(t=t.searchPoint(i,r),(r=m(t,!0)&&t.series)&&!(r=!m(o,!0))){var s=o.dist-t.dist,n=(t.series.group&&t.series.group.zIndex)-(o.series.group&&o.series.group.zIndex);r=0<(0!=(r=o.distX-t.distX)&&e?r:0!==s?s:0!==n?n:o.series.index>t.series.index?-1:1)}r&&(o=t)}),o)},t.prototype.getChartCoordinatesFromPoint=function(t,e){var i=t.series,o=i.xAxis;i=i.yAxis;var r=t.shapeArgs;if(o&&i){var s=x(t.clientX,t.plotX),n=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(s=r.x,n=r.y),e?{chartX:i.len+i.pos-n,chartY:o.len+o.pos-s}:{chartX:s+o.pos,chartY:n+i.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}},t.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var t=this.chart.container,e=v(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};var i=t.offsetWidth;return t=t.offsetHeight,2<i&&2<t&&(this.chartPosition.scaleX=e.width/i,this.chartPosition.scaleY=e.height/t),this.chartPosition},t.prototype.getCoordinates=function(t){var e={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])})}),e},t.prototype.getHoverData=function(t,e,i,o,r,s){var n,a=[];o=!(!o||!t);var h=e&&!e.stickyTracking,l={chartX:s?s.chartX:void 0,chartY:s?s.chartY:void 0,shared:r};return f(this,"beforeGetHoverData",l),h=h?[e]:i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&t.stickyTracking}),e=(n=o||!s?t:this.findNearestKDPoint(h,r,s))&&n.series,n&&(r&&!e.noSharedTooltip?(h=i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&!t.noSharedTooltip})).forEach(function(t){var e=u(t.points,function(t){return t.x===n.x&&!t.isNull});m(e)&&(t.chart.isBoosting&&(e=t.getPoint(e)),a.push(e))}):a.push(n)),f(this,"afterGetHoverData",l={hoverPoint:n}),{hoverPoint:l.hoverPoint,hoverSeries:e,hoverPoints:a}},t.prototype.getPointFromEvent=function(t){t=t.target;for(var e;t&&!e;)e=t.point,t=t.parentNode;return e},t.prototype.onTrackerMouseOut=function(t){t=t.relatedTarget||t.toElement;var e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!t||e.stickyTracking||this.inClass(t,"highcharts-tooltip")||this.inClass(t,"highcharts-series-"+e.index)&&this.inClass(t,"highcharts-tracker")||e.onMouseOut()},t.prototype.inClass=function(t,e){for(var i;t;){if(i=l(t,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}t=t.parentNode}},t.prototype.init=function(t,e){this.options=e,this.chart=t,this.runChartClick=!(!e.chart.events||!e.chart.events.click),this.pinchDown=[],this.lastValidTouch={},o&&(t.tooltip=new o(t,e.tooltip),this.followTouchMove=x(e.tooltip.followTouchMove,!0)),this.setDOMEvents()},t.prototype.normalize=function(t,e){var i=t.touches,o=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;return e||(e=this.getChartPosition()),i=o.pageX-e.left,o=o.pageY-e.top,i/=e.scaleX,o/=e.scaleY,p(t,{chartX:Math.round(i),chartY:Math.round(o)})},t.prototype.onContainerClick=function(t){var e=this.chart,i=e.hoverPoint;t=this.normalize(t);var o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(t.target,"highcharts-tracker")?(f(i.series,"click",p(t,{point:i})),e.hoverPoint&&i.firePointEvent("click",t)):(p(t,this.getCoordinates(t)),e.isInsidePlot(t.chartX-o,t.chartY-r,{visiblePlotOnly:!0})&&f(e,"click",t)))},t.prototype.onContainerMouseDown=function(t){var i=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault&&t.preventDefault(),this.dragStart(t))},t.prototype.onContainerMouseLeave=function(t){var i=n[x(e.hoverChartIndex,-1)],o=this.chart.tooltip;t=this.normalize(t),i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset()},t.prototype.onContainerMouseEnter=function(t){delete this.chartPosition},t.prototype.onContainerMouseMove=function(t){var e=this.chart;t=this.normalize(t),this.setHoverChartIndex(),t.preventDefault||(t.returnValue=!1),("mousedown"===e.mouseIsDown||this.touchSelect(t))&&this.drag(t),e.openMenu||!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.runPointActions(t)},t.prototype.onDocumentTouchEnd=function(t){n[e.hoverChartIndex]&&n[e.hoverChartIndex].pointer.drop(t)},t.prototype.onContainerTouchMove=function(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)},t.prototype.onContainerTouchStart=function(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))},t.prototype.onDocumentMouseMove=function(t){var e=this.chart,i=this.chartPosition;t=this.normalize(t,i);var o=e.tooltip;!i||o&&o.isStickyOnContact()||e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.inClass(t.target,"highcharts-tracker")||this.reset()},t.prototype.onDocumentMouseUp=function(t){var i=n[x(e.hoverChartIndex,-1)];i&&i.pointer.drop(t)},t.prototype.pinch=function(t){var e=this,i=e.chart,o=e.pinchDown,r=t.touches||[],s=r.length,n=e.lastValidTouch,h=e.hasZoom,l=e.selectionMarker,c={},d=1===s&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),u={};1<s&&(e.initiated=!0),h&&e.initiated&&!d&&!1!==t.cancelable&&t.preventDefault(),[].map.call(r,function(t){return e.normalize(t)}),"touchstart"===t.type?([].forEach.call(r,function(t,e){o[e]={chartX:t.chartX,chartY:t.chartY}}),n.x=[o[0].chartX,o[1]&&o[1].chartX],n.y=[o[0].chartY,o[1]&&o[1].chartY],i.axes.forEach(function(t){if(t.zoomEnabled){var e=i.bounds[t.horiz?"h":"v"],o=t.minPixelPadding,r=t.toPixels(Math.min(x(t.options.min,t.dataMin),t.dataMin)),s=t.toPixels(Math.max(x(t.options.max,t.dataMax),t.dataMax)),n=Math.max(r,s);e.min=Math.min(t.pos,Math.min(r,s)-o),e.max=Math.max(t.pos+t.len,n+o)}}),e.res=!0):e.followTouchMove&&1===s?this.runPointActions(e.normalize(t)):o.length&&(l||(e.selectionMarker=l=p({destroy:a,touch:!0},i.plotBox)),e.pinchTranslate(o,r,c,l,u,n),e.hasPinched=h,e.scaleGroups(c,u),e.res&&(e.res=!1,this.reset(!1,0)))},t.prototype.pinchTranslate=function(t,e,i,o,r,s){this.zoomHor&&this.pinchTranslateDirection(!0,t,e,i,o,r,s),this.zoomVert&&this.pinchTranslateDirection(!1,t,e,i,o,r,s)},t.prototype.pinchTranslateDirection=function(t,e,i,o,r,s,n,a){var h,l,c=this.chart,d=t?"x":"y",p=t?"X":"Y",u="chart"+p,f=t?"width":"height",g=c["plot"+(t?"Left":"Top")],m=a||1,y=c.inverted,v=c.bounds[t?"h":"v"],x=1===e.length,b=e[0][u],w=i[0][u],C=!x&&e[1][u],S=!x&&i[1][u];if((i=function(){"number"==typeof S&&20<Math.abs(b-C)&&(m=a||Math.abs(w-S)/Math.abs(b-C)),l=(g-w)/m+b,h=c["plot"+(t?"Width":"Height")]/m})(),(e=l)<v.min){e=v.min;var k=!0}else e+h>v.max&&(e=v.max-h,k=!0);k?(w-=.8*(w-n[d][0]),"number"==typeof S&&(S-=.8*(S-n[d][1])),i()):n[d]=[w,S],y||(s[d]=l-g,s[f]=h),s=y?1/m:m,r[f]=h,r[d]=e,o[y?t?"scaleY":"scaleX":"scale"+p]=m,o["translate"+p]=s*g+(w-s*b)},t.prototype.reset=function(t,e){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,s=i.hoverPoints,n=i.tooltip,a=n&&n.shared?s:r;t&&a&&b(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&b(a).length&&(n.refresh(a),n.shared&&s?s.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),s&&s.forEach(function(t){t.setState()}),o&&o.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},t.prototype.runPointActions=function(t,i){var o=this.chart,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,s=!!r&&r.shared,a=i||o.hoverPoint,l=a&&a.series||o.hoverSeries;a=(l=this.getHoverData(a,l,o.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),s,t)).hoverPoint;var c=l.hoverPoints;if(i=(l=l.hoverSeries)&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,s=s&&l&&!l.noSharedTooltip,a&&(a!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!a.series)return;o.hoverPoints=c,o.hoverPoint=a,a.firePointEvent("mouseOver"),r&&r.refresh(s?c:a,t)}else i&&r&&!r.isHidden&&(a=r.getAnchor([{}],t),o.isInsidePlot(a[0],a[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:a[0],plotY:a[1]}));this.unDocMouseMove||(this.unDocMouseMove=h(o.container.ownerDocument,"mousemove",function(t){var i=n[e.hoverChartIndex];i&&i.pointer.onDocumentMouseMove(t)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){var i,r=x((e.crosshair||{}).snap,!0);r&&((i=o.hoverPoint)&&i.series[e.coll]===e||(i=u(c,function(t){return t.series[e.coll]===e}))),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()})},t.prototype.scaleGroups=function(t,e){var i,o=this.chart;o.series.forEach(function(r){i=t||r.getPlotBox(),r.xAxis&&r.xAxis.zoomEnabled&&r.group&&(r.group.attr(i),r.markerGroup&&(r.markerGroup.attr(i),r.markerGroup.clip(e?o.clipRect:null)),r.dataLabelsGroup&&r.dataLabelsGroup.attr(i))}),o.clipRect.attr(e||o.clipBox)},t.prototype.setDOMEvents=function(){var t=this,i=this.chart.container,o=i.ownerDocument;i.onmousedown=this.onContainerMouseDown.bind(this),i.onmousemove=this.onContainerMouseMove.bind(this),i.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(h(i,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(h(i,"mouseleave",this.onContainerMouseLeave.bind(this))),e.unbindDocumentMouseUp||(e.unbindDocumentMouseUp=h(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var r=this.chart.renderTo.parentElement;r&&"BODY"!==r.tagName;)this.eventsToUnbind.push(h(r,"scroll",function(){delete t.chartPosition})),r=r.parentElement;e.hasTouch&&(this.eventsToUnbind.push(h(i,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(h(i,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),e.unbindDocumentTouchEnd||(e.unbindDocumentTouchEnd=h(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},t.prototype.setHoverChartIndex=function(){var t=this.chart,i=e.charts[x(e.hoverChartIndex,-1)];i&&i!==t&&i.pointer.onContainerMouseLeave({relatedTarget:!0}),i&&i.mouseIsDown||(e.hoverChartIndex=t.index)},t.prototype.touch=function(t,e){var i=this.chart;if(this.setHoverChartIndex(),1===t.touches.length)if(t=this.normalize(t),i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&!i.openMenu){if(e&&this.runPointActions(t),"touchmove"===t.type)var o=!!(e=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(e[0].chartX-t.chartX,2)+Math.pow(e[0].chartY-t.chartY,2));x(o,!0)&&this.pinch(t)}else e&&this.reset();else 2===t.touches.length&&this.pinch(t)},t.prototype.touchSelect=function(t){return!(!this.chart.options.chart.zoomBySingleTouch||!t.touches||1!==t.touches.length)},t.prototype.zoomOption=function(t){var e=this.chart,i=e.options.chart,o=i.zoomType||"";e=e.inverted,/touch/.test(t.type)&&(o=x(i.pinchType,o)),this.zoomX=t=/x/.test(o),this.zoomY=o=/y/.test(o),this.zoomHor=t&&!e||o&&e,this.zoomVert=o&&!e||t&&e,this.hasZoom=t||o},t}(),e.Pointer=t}),e(i,"Core/MSPointer.js",[i["Core/Globals.js"],i["Core/Pointer.js"],i["Core/Utilities.js"]],function(t,e,i){function o(){var t=[];return t.item=function(t){return this[t]},d(u,function(e){t.push({pageX:e.pageX,pageY:e.pageY,target:e.target})}),t}function r(e,i,r,s){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!n[t.hoverChartIndex]||(s(e),(s=n[t.hoverChartIndex].pointer)[i]({type:r,target:e.currentTarget,preventDefault:h,touches:o()}))}var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.charts,a=t.doc,h=t.noop,l=i.addEvent,c=i.css,d=i.objectEach,p=i.removeEvent,u={},f=!!t.win.PointerEvent;return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.batchMSEvents=function(t){t(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown),t(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove),t(a,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},e.prototype.destroy=function(){this.batchMSEvents(p),t.prototype.destroy.call(this)},e.prototype.init=function(e,i){t.prototype.init.call(this,e,i),this.hasZoom&&c(e.container,{"-ms-touch-action":"none","touch-action":"none"})},e.prototype.onContainerPointerDown=function(t){r(t,"onContainerTouchStart","touchstart",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY,target:t.currentTarget}})},e.prototype.onContainerPointerMove=function(t){r(t,"onContainerTouchMove","touchmove",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY},u[t.pointerId].target||(u[t.pointerId].target=t.currentTarget)})},e.prototype.onDocumentPointerUp=function(t){r(t,"onDocumentTouchEnd","touchend",function(t){delete u[t.pointerId]})},e.prototype.setDOMEvents=function(){t.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},e}(e)}),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=e.animObject,a=i.format,h=r.defaultOptions,l=s.addEvent,c=s.defined,d=s.erase,p=s.extend,u=s.fireEvent,f=s.getNestedProperty,g=s.isArray,m=s.isFunction,y=s.isNumber,v=s.isObject,x=s.merge,b=s.objectEach,w=s.pick,C=s.syncTimeout,S=s.removeEvent,k=s.uniqueKey;return e=function(){function e(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return e.prototype.animateBeforeDestroy=function(){var t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(p({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})},e.prototype.applyOptions=function(t,i){var o=this.series,r=o.options.pointValKey||o.pointValKey;return t=e.prototype.optionsToObject.call(this,t),p(this,t),this.options=this.options?p(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,r&&(this.y=e.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!y(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===i&&o.xAxis&&o.xAxis.hasNames&&(this.x=o.xAxis.nameToX(this)),void 0===this.x&&o&&(this.x=void 0===i?o.autoIncrement(this):i),this},e.prototype.destroy=function(){function t(){for(r in(e.graphic||e.dataLabel||e.dataLabels)&&(S(e),e.destroyElements()),e)e[r]=null}var e=this,i=e.series,o=i.chart;i=i.options.dataSorting;var r,s=o.hoverPoints,a=n(e.series.chart.renderer.globalAnimation);e.legendItem&&o.legend.destroyItem(e),s&&(e.setState(),d(s,e),s.length||(o.hoverPoints=null)),e===o.hoverPoint&&e.onMouseOut(),i&&i.enabled?(this.animateBeforeDestroy(),C(t,a.duration)):t(),o.pointCount--},e.prototype.destroyElements=function(t){var e=this;(t=e.getGraphicalProps(t)).singular.forEach(function(t){e[t]=e[t].destroy()}),t.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.destroy()}),delete e[t]})},e.prototype.firePointEvent=function(t,e,i){var o=this,r=this.series.options;(r.point.events[t]||o.options&&o.options.events&&o.options.events[t])&&o.importEvents(),"click"===t&&r.allowPointSelect&&(i=function(t){o.select&&o.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(o,t,e,i)},e.prototype.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",""):"")},e.prototype.getGraphicalProps=function(t){var e,i=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","upperGraphic","shadowGroup"),t.dataLabel&&o.push("dataLabel","dataLabelUpper","connector"),e=o.length;e--;){var s=o[e];i[s]&&r.singular.push(s)}return["dataLabel","connector"].forEach(function(e){var o=e+"s";t[e]&&i[o]&&r.plural.push(o)}),r},e.prototype.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}},e.prototype.getNestedProperty=function(t){if(t)return 0===t.indexOf("custom.")?f(t,this.options):this[t]},e.prototype.getZone=function(){var t=this.series,e=t.zones;t=t.zoneAxis||"y";var i,o=0;for(i=e[o];this[t]>=i.value;)i=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=i&&i.color&&!this.options.color?i.color:this.nonZonedColor,i},e.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},e.prototype.init=function(t,e,i){return this.series=t,this.applyOptions(e,i),this.id=c(this.id)?this.id:k(),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit"),this},e.prototype.optionsToObject=function(t){var i={},o=this.series,r=o.options.keys,s=r||o.pointArrayMap||["y"],n=s.length,a=0,h=0;if(y(t)||null===t)i[s[0]]=t;else if(g(t))for(!r&&t.length>n&&("string"==(o=typeof t[0])?i.name=t[0]:"number"===o&&(i.x=t[0]),a++);h<n;)r&&void 0===t[a]||(0<s[h].indexOf(".")?e.prototype.setNestedProperty(i,t[a],s[h]):i[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(i=t,t.dataLabels&&(o._hasPointLabels=!0),t.marker&&(o._hasPointMarkers=!0));return i},e.prototype.resolveColor=function(){var t=this.series,e=t.chart.options.chart.colorCount,i=t.chart.styledMode;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){var o=(e=t.options.colors||t.chart.options.colors)[t.colorCounter];e=e.length}i=t.colorCounter,t.colorCounter++,t.colorCounter===e&&(t.colorCounter=0)}else i||(o=t.color),i=t.colorIndex;this.colorIndex=w(this.options.colorIndex,i),this.color=w(this.options.color,o)},e.prototype.setNestedProperty=function(t,e,i){return i.split(".").reduce(function(t,i,o,r){return t[i]=r.length-1===o?e:v(t[i],!0)?t[i]:{},t[i]},t),t},e.prototype.tooltipFormatter=function(t){var e=this.series,i=e.tooltipOptions,o=w(i.valueDecimals,""),r=i.valuePrefix||"",s=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(r||s)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+s)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),a(t,{point:this,series:this.series},e.chart)},e.prototype.update=function(t,e,i,o){function r(){n.applyOptions(t);var o=h&&n.hasDummyGraphic;o=null===n.y?!o:o,h&&o&&(n.graphic=h.destroy(),delete n.hasDummyGraphic),v(t,!0)&&(h&&h.element&&t&&t.marker&&void 0!==t.marker.symbol&&(n.graphic=h.destroy()),t&&t.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy()),n.connector&&(n.connector=n.connector.destroy())),a.updateParallelArrays(n,s=n.index),c.data[s]=v(c.data[s],!0)||v(t,!0)?n.options:w(t,c.data[s]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===c.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}var s,n=this,a=n.series,h=n.graphic,l=a.chart,c=a.options;e=w(e,!0),!1===o?r():n.firePointEvent("update",{options:t},r)},e.prototype.remove=function(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)},e.prototype.select=function(t,e){var i=this,o=i.series,r=o.chart;this.selectedStaging=t=w(t,!i.selected),i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,o.options.data[o.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){var e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging},e.prototype.onMouseOver=function(t){var e=this.series.chart,i=e.pointer;t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e.inverted),i.runPointActions(t,this)},e.prototype.onMouseOut=function(){var t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null},e.prototype.importEvents=function(){if(!this.hasImportedEvents){var t=this,e=x(t.series.options.point,t.options).events;t.events=e,b(e,function(e,i){m(e)&&l(t,i,e)}),this.hasImportedEvents=!0}},e.prototype.setState=function(e,i){var o,r=this.series,s=this.state,n=r.options.states[e||"normal"]||{},a=h.plotOptions[r.type].marker&&r.options.marker,l=a&&a.states&&a.states[e||"normal"]||{},c=r.stateMarkerGraphic,d=this.marker||{},f=r.chart,g=r.halo,m=a&&r.markerAttribs;if(!((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===n.enabled||e&&(!1===l.enabled||a&&!1===a.enabled&&!1===l.enabled)||e&&d.states&&d.states[e]&&!1===d.states[e].enabled)){if(this.state=e,m&&(o=r.markerAttribs(this,e)),this.graphic&&!this.hasDummyGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),e&&this.graphic.addClass("highcharts-point-"+e),!f.styledMode){var v=r.pointAttribs(this,e),x=w(f.options.chart.animation,n.animation);r.options.inactiveOtherPoints&&y(v.opacity)&&((this.dataLabels||[]).forEach(function(t){t&&t.animate({opacity:v.opacity},x)}),this.connector&&this.connector.animate({opacity:v.opacity},x)),this.graphic.animate(v,x)}o&&this.graphic.animate(o,w(f.options.chart.animation,l.animation,a.animation)),c&&c.hide()}else e&&l&&(s=d.symbol||r.symbol,c&&c.currentSymbol!==s&&(c=c.destroy()),o&&(c?c[i?"animate":"attr"]({x:o.x,y:o.y}):s&&(r.stateMarkerGraphic=c=f.renderer.symbol(s,o.x,o.y,o.width,o.height).add(r.markerGroup),c.currentSymbol=s)),!f.styledMode&&c&&c.attr(r.pointAttribs(this,e))),c&&(c[e&&this.isInside?"show":"hide"](),c.element.point=this);o=(c=this.graphic||c)&&c.visibility||"inherit",(n=n.halo)&&n.size&&c&&"hidden"!==o&&!this.isCluster?(g||(r.halo=g=f.renderer.path().add(c.parentGroup)),g.show()[i?"animate":"attr"]({d:this.haloPath(n.size)}),g.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:o,zIndex:-1}),g.point=this,f.styledMode||g.attr(p({fill:this.color||r.color,"fill-opacity":n.opacity},t.filterUserAttributes(n.attributes||{})))):g&&g.point&&g.point.haloPath&&g.animate({d:g.point.haloPath(0)},null,g.hide),u(this,"afterSetState",{state:e})}},e.prototype.haloPath=function(t){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-t,this.plotY-t,2*t,2*t)},e}(),o.Point=e}),e(i,"Core/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.animObject,n=t.setAnimation,a=e.format;t=i.isFirefox;var h=i.marginNames;e=i.win;var l=r.addEvent,c=r.createElement,d=r.css,p=r.defined,u=r.discardElement,f=r.find,g=r.fireEvent,m=r.isNumber,y=r.merge,v=r.pick,x=r.relativeLength,b=r.stableSort,w=r.syncTimeout;r=r.wrap;var C=function(){function t(t,e){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options={},this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=t,this.init(t,e)}return t.prototype.init=function(t,e){this.chart=t,this.setOptions(e),e.enabled&&(this.render(),l(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=l(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},t.prototype.setOptions=function(t){var e=v(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=y(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop||0,this.itemMarginBottom=t.itemMarginBottom||0,this.padding=e,this.initialItemY=e-5,this.symbolWidth=v(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0},t.prototype.update=function(t,e){var i=this.chart;this.setOptions(y(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,v(e,!0)&&i.redraw(),g(this,"afterUpdate")},t.prototype.colorizeItem=function(t,e){if(t.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=t.legendItem,r=t.legendLine,s=t.legendSymbol,n=this.itemHiddenStyle.color;i=e?i.itemStyle.color:n;var a=e&&t.color||n,h=t.options&&t.options.marker,l={fill:a};o&&o.css({fill:i,color:i}),r&&r.attr({stroke:a}),s&&(h&&s.isMarker&&(l=t.pointAttribs(),e||(l.stroke=l.fill=n)),s.attr(l))}g(this,"afterColorizeItem",{item:t,visible:e})},t.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},t.prototype.positionItem=function(t){var e=this,i=this.options,o=i.symbolPadding,r=!i.rtl,s=t._legendItemPos;i=s[0],s=s[1];var n=t.checkbox,a=t.legendGroup;a&&a.element&&(o={translateX:r?i:this.legendWidth-i-2*o-4,translateY:s},r=function(){g(e,"afterPositionItem",{item:t})},p(a.translateY)?a.animate(o,void 0,r):(a.attr(o),r())),n&&(n.x=i,n.y=s)},t.prototype.destroyItem=function(t){var e=t.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),e&&u(t.checkbox)},t.prototype.destroy=function(){function t(t){this[t]&&(this[t]=this[t].destroy())}this.getAllItems().forEach(function(e){["legendItem","legendGroup"].forEach(t,e)}),"clipRect up down pager nav box title group".split(" ").forEach(t,this),this.display=null},t.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,i=this.titleHeight;if(t){var o=t.translateY;this.allItems.forEach(function(r){var s=r.checkbox;if(s){var n=o+i+s.y+(this.scrollOffset||0)+3;d(s,{left:t.translateX+r.checkboxOffset+s.x-20+"px",top:n+"px",display:this.proximate||n>o-6&&n<o+e-6?"":"none"})}},this)}},t.prototype.renderTitle=function(){var t=this.options,e=this.padding,i=t.title,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,null,null,null,t.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o},t.prototype.setText=function(t){var e=this.options;t.legendItem.attr({text:e.labelFormat?a(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})},t.prototype.renderItem=function(t){var e=this.chart,i=e.renderer,o=this.options,r=this.symbolWidth,s=o.symbolPadding||0,n=this.itemStyle,a=this.itemHiddenStyle,h="horizontal"===o.layout?v(o.itemDistance,20):0,l=!o.rtl,c=t.legendItem,d=!t.series,p=!d&&t.series.drawLegendSymbol?t.series:t,u=p.options,f=this.createCheckboxForItem&&u&&u.showCheckbox;u=r+s+h+(f?20:0);var g=o.useHTML,m=t.options.className;c||(t.legendGroup=i.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),t.legendItem=c=i.text("",l?r+s:-s,this.baseline||0,g),e.styledMode||c.css(y(t.visible?n:a)),c.attr({align:l?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.fontMetrics=i.fontMetrics(e.styledMode?12:n.fontSize,c),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,c.attr("y",this.baseline),this.symbolHeight=o.symbolHeight||this.fontMetrics.f,o.squareSymbol&&(this.symbolWidth=v(o.symbolWidth,Math.max(this.symbolHeight,16)),u=this.symbolWidth+s+h+(f?20:0),l&&c.attr("x",this.symbolWidth+s))),p.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,c,g)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),!e.styledMode&&n.width||c.css({width:(o.itemWidth||this.widthOption||e.spacingBox.width)-u+"px"}),this.setText(t),e=c.getBBox(),t.itemWidth=t.checkboxOffset=o.itemWidth||t.legendItemWidth||e.width+u,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(t.legendItemHeight||e.height||this.symbolHeight)},t.prototype.layoutItem=function(t){var e=this.options,i=this.padding,o="horizontal"===e.layout,r=t.itemHeight,s=this.itemMarginBottom,n=this.itemMarginTop,a=o?v(e.itemDistance,20):0,h=this.maxLegendWidth;e=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,o&&this.itemX-i+e>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+s),this.lastLineHeight=0),this.lastItemY=n+this.itemY+s,this.lastLineHeight=Math.max(r,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],o?this.itemX+=e:(this.itemY+=n+r+s,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((o?this.itemX-i-(t.checkbox?0:a):e)+i,this.offsetWidth)},t.prototype.getAllItems=function(){var t=[];return this.chart.series.forEach(function(e){var i=e&&e.options;e&&v(i.showInLegend,!p(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItems||("point"===i.legendType?e.data:e)))}),g(this,"afterGetAllItems",{allItems:t}),t},t.prototype.getAlignment=function(){var t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)},t.prototype.adjustMargins=function(t,e){var i=this.chart,o=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(s,n){s.test(r)&&!p(t[n])&&(i[h[n]]=Math.max(i[h[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*o[n%2?"x":"y"]+v(o.margin,12)+e[n]+(i.titleOffset[n]||0)))})},t.prototype.proximatePositions=function(){var t=this.chart,e=[],o="left"===this.options.align;this.allItems.forEach(function(i){var r,s=o;if(i.yAxis){i.xAxis.options.reversed&&(s=!s),i.points&&(r=f(s?i.points:i.points.slice(0).reverse(),function(t){return m(t.plotY)})),s=this.itemMarginTop+i.legendItem.getBBox().height+this.itemMarginBottom;var n=i.yAxis.top-t.plotTop;i.visible?(r=r?r.plotY:i.yAxis.height,r+=n-.3*s):r=n+i.yAxis.height,e.push({target:r,size:s,item:i})}},this),i.distribute(e,t.plotHeight),e.forEach(function(e){e.item._legendItemPos[1]=t.plotTop-t.spacing[0]+e.pos})},t.prototype.render=function(){var t=this.chart,e=t.renderer,i=this.group,o=this.box,r=this.options,s=this.padding;this.itemX=s,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=x(r.width,t.spacingBox.width-s);var n=t.spacingBox.width-2*s-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(n/=2),this.maxLegendWidth=this.widthOption||n,i||(this.group=i=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(i),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle();var a=this.getAllItems();b(a,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),r.reversed&&a.reverse(),this.allItems=a,this.display=n=!!a.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s;var h=this.lastItemY+this.lastLineHeight+this.titleHeight;h=this.handleOverflow(h),h+=s,o||(this.box=o=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(i),o.isNew=!0),t.styledMode||o.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow),0<a&&0<h&&(o[o.isNew?"attr":"animate"](o.crisp.call({},{x:0,y:0,width:a,height:h},o.strokeWidth())),o.isNew=!1),o[n?"show":"hide"](),t.styledMode&&"none"===i.getStyle("display")&&(a=h=0),this.legendWidth=a,this.legendHeight=h,n&&this.align(),this.proximate||this.positionItems(),g(this,"afterRender")},t.prototype.align=function(t){void 0===t&&(t=this.chart.spacingBox);var e=this.chart,i=this.options,o=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<e.titleOffset[0]?o+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<e.titleOffset[2]&&(o-=e.titleOffset[2]),o!==t.y&&(t=y(t,{y:o})),this.group.align(y(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)},t.prototype.handleOverflow=function(t){var e=this,i=this.chart,o=i.renderer,r=this.options,s=r.y,n=this.padding;s=i.spacingBox.height+("top"===r.verticalAlign?-s:s)-n;var a,h,l=r.maxHeight,c=this.clipRect,d=r.navigation,p=v(d.animation,!0),u=d.arrowSize||12,f=this.nav,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?c.attr({height:t}):c&&(e.clipRect=c.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},x=function(t){return e[t]=o.circle(0,0,1.3*u).translate(u/2,u/2).add(f),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]};return"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(s/=2),l&&(s=Math.min(s,l)),g.length=0,t&&0<s&&t>s&&!1!==d.enabled?(this.clipHeight=a=Math.max(s-20-this.titleHeight-n,0),this.currentPage=v(this.currentPage,1),this.fullHeight=t,m.forEach(function(t,e){var i=t._legendItemPos[1],o=Math.round(t.legendItem.getBBox().height),r=g.length;(!r||i-g[r-1]>a&&(h||i)!==g[r-1])&&(g.push(h||i),r++),t.pageIx=r-1,h&&(m[e-1].pageIx=r-1),e===m.length-1&&i+o-g[r-1]>a&&i!==h&&(g.push(i),t.pageIx=r),i!==h&&(h=i)}),c||(c=e.clipRect=o.clipRect(0,n,9999,0),e.contentGroup.clip(c)),y(a),f||(this.nav=f=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(f),x("upTracker").on("click",function(){e.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),i.styledMode||this.pager.css(d.style),this.pager.add(f),this.down=o.symbol("triangle-down",0,0,u,u).add(f),x("downTracker").on("click",function(){e.scroll(1,p)})),e.scroll(0),t=s):f&&(y(),this.nav=f.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},t.prototype.scroll=function(t,e){var i=this,o=this.chart,r=this.pages,a=r.length,h=this.currentPage+t;t=this.clipHeight;var l=this.options.navigation,c=this.pager,d=this.padding;h>a&&(h=a),0<h&&(void 0!==e&&n(e,o),this.nav.attr({translateX:d,translateY:t+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:h+"/"+a}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===h?l.inactiveColor:l.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===a?l.inactiveColor:l.activeColor}),this.downTracker.css({cursor:h===a?"default":"pointer"})),this.scrollOffset=-r[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),e=s(v(e,o.renderer.globalAnimation,!0)),w(function(){g(i,"afterScroll",{currentPage:h})},e.duration))},t.prototype.setItemEvents=function(t,e,i){var r=this,s=r.chart.renderer.boxWrapper,n=t instanceof o,a="highcharts-legend-"+(n?"point":"series")+"-active",h=r.chart.styledMode;(i?[e,t.legendSymbol]:[t.legendGroup]).forEach(function(i){i&&i.on("mouseover",function(){t.visible&&r.allItems.forEach(function(e){t!==e&&e.setState("inactive",!n)}),t.setState("hover"),t.visible&&s.addClass(a),h||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(y(t.visible?r.itemStyle:r.itemHiddenStyle)),r.allItems.forEach(function(e){t!==e&&e.setState("",!n)}),s.removeClass(a),t.setState()}).on("click",function(e){var i=function(){t.setVisible&&t.setVisible(),r.allItems.forEach(function(e){t!==e&&e.setState(t.visible?"inactive":"",!n)})};s.removeClass(a),e={browserEvent:e},t.firePointEvent?t.firePointEvent("legendItemClick",e,i):g(t,"legendItemClick",e,i)})})},t.prototype.createCheckboxForItem=function(t){t.checkbox=c("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),l(t.checkbox,"click",function(e){g(t.series||t,"checkboxClick",{checked:e.target.checked,item:t},function(){t.select()})})},t}();return(/Trident\/7\.0/.test(e.navigator&&e.navigator.userAgent)||t)&&r(C.prototype,"positionItem",function(t,e){var i=this,o=function(){e._legendItemPos&&t.call(i,e)};o(),i.bubbleLegend||setTimeout(o)}),i.Legend=C,i.Legend}),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r,s=e.defaultOptions,n=o.error,a=o.extendClass,h=o.merge;return function(e){function o(t,o){var r=s.plotOptions||{},n=o.defaultOptions;o.prototype.pointClass||(o.prototype.pointClass=i),o.prototype.type=t,n&&(r[t]=n),e.seriesTypes[t]=o}e.seriesTypes=t.seriesTypes,e.getSeries=function(t,i){void 0===i&&(i={});var o=t.options.chart,r=e.seriesTypes[o=i.type||o.type||o.defaultSeriesType||""];return e||n(17,!0,t,{missingModuleFor:o}),"function"==typeof(o=new r).init&&o.init(t,i),o},e.registerSeriesType=o,e.seriesType=function(t,r,n,l,c){var d=s.plotOptions||{};return d[t]=h(d[r=r||""],n),o(t,a(e.seriesTypes[r]||function(){},l)),e.seriesTypes[t].prototype.type=t,c&&(e.seriesTypes[t].prototype.pointClass=a(i,c)),e.seriesTypes[t]}}(r||(r={})),t.seriesType=r.seriesType,r}),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Core/MSPointer.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Pointer.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i,o,r,s,n,a,h,l,c,d,p){var u=t.animate,f=t.animObject,g=t.setAnimation,m=i.numberFormat,y=o.charts,v=o.doc,x=o.win,b=n.defaultOptions,w=n.defaultTime,C=l.seriesTypes,S=d.addEvent,k=d.attr,M=d.cleanRecursively,A=d.createElement,T=d.css,P=d.defined,O=d.discardElement,E=d.erase,L=d.error,D=d.extend,j=d.find,I=d.fireEvent,_=d.getStyle,B=d.isArray,R=d.isFunction,z=d.isNumber,N=d.isObject,G=d.isString,W=d.merge,H=d.objectEach,X=d.pick,F=d.pInt,U=d.relativeLength,Y=d.removeEvent,V=d.splat,Z=d.syncTimeout,q=d.uniqueKey,K=o.marginNames,$=function(){function t(t,e,i){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(t,e,i)}return t.prototype.getArgs=function(t,e,i){G(t)||t.nodeName?(this.renderTo=t,this.init(e,i)):this.init(t,e)},t.prototype.init=function(t,e){var i=t.plotOptions||{};I(this,"init",{args:arguments},function(){var r=W(b,t),s=r.chart;H(r.plotOptions,function(t,e){N(t)&&(t.tooltip=i[e]&&W(i[e].tooltip)||void 0)}),r.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip,this.userOptions=t;var n=s.events;this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=r,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):o.time,this.numberFormatter=s.numberFormatter||m,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;var a=this;a.index=y.length,y.push(a),o.chartCount++,n&&H(n,function(t,e){R(t)&&S(a,e,t)}),a.xAxis=[],a.yAxis=[],a.pointCount=a.colorCounter=a.symbolCounter=0,I(a,"afterInit"),a.firstRender()})},t.prototype.initSeries=function(t){var e=this.options.chart,i=C[e=t.type||e.type||e.defaultSeriesType];return i||L(17,!0,this,{missingModuleFor:e}),"function"==typeof(e=new i).init&&e.init(this,t),e},t.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})},t.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})},t.prototype.orderSeries=function(t){var e=this.series;for(t=t||0;t<e.length;t++)e[t]&&(e[t].index=t,e[t].name=e[t].getName())},t.prototype.isInsidePlot=function(t,e,i){void 0===i&&(i={});var o=this.inverted,r=this.plotBox,s=this.plotLeft,n=this.plotTop,a=this.scrollablePlotBox,h=this.scrollingContainer,l=(h=void 0===h?{scrollLeft:0,scrollTop:0}:h).scrollLeft;h=h.scrollTop;var c=i.series;if(r=i.visiblePlotOnly&&a||r,t={x:a=i.inverted?e:t,y:e=i.inverted?t:e,isInsidePlot:!0},!i.ignoreX){var d=c&&(o?c.yAxis:c.xAxis)||{pos:s,len:1/0};(a=i.paneCoordinates?d.pos+a:s+a)>=Math.max(l+s,d.pos)&&a<=Math.min(l+s+r.width,d.pos+d.len)||(t.isInsidePlot=!1)}return!i.ignoreY&&t.isInsidePlot&&(o=c&&(o?c.xAxis:c.yAxis)||{pos:n,len:1/0},(i=i.paneCoordinates?o.pos+e:n+e)>=Math.max(h+n,o.pos)&&i<=Math.min(h+n+r.height,o.pos+o.len)||(t.isInsidePlot=!1)),I(this,"afterIsInsidePlot",t),t.isInsidePlot},t.prototype.redraw=function(t){I(this,"beforeRedraw");var e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,o=this.pointer,r=this.legend,s=this.userOptions.legend,n=this.isDirtyLegend,a=this.isDirtyBox,h=this.renderer,l=h.isHidden(),c=[];for(this.setResponsive&&this.setResponsive(!1),g(!!this.hasRendered&&t,this),l&&this.temporaryDisplay(),this.layOutTitles(),t=i.length;t--;){var d=i[t];if(d.options.stacking||d.options.centerInCategory){var p=!0;if(d.isDirty){var u=!0;break}}}if(u)for(t=i.length;t--;)(d=i[t]).options.stacking&&(d.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),n=!0):s&&(s.labelFormatter||s.labelFormat)&&(n=!0)),t.isDirtyData&&I(t,"updatedData")}),n&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),p&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(a=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,c.push(function(){I(t,"afterSetExtremes",D(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(a||p)&&t.redraw()}),a&&this.drawChartBox(),I(this,"predraw"),i.forEach(function(t){(a||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),o&&o.reset(!0),h.draw(),I(this,"redraw"),I(this,"render"),l&&this.temporaryDisplay(!0),c.forEach(function(t){t.call()})},t.prototype.get=function(t){function e(e){return e.id===t||e.options&&e.options.id===t}var i,o=this.series,r=j(this.axes,e)||j(this.series,e);for(i=0;!r&&i<o.length;i++)r=j(o[i].points||[],e);return r},t.prototype.getAxes=function(){var t=this,i=this.options,o=i.xAxis=V(i.xAxis||{});i=i.yAxis=V(i.yAxis||{}),I(this,"getAxes"),o.forEach(function(t,e){t.index=e,t.isX=!0}),i.forEach(function(t,e){t.index=e}),o.concat(i).forEach(function(i){new e(t,i)}),I(this,"afterGetAxes")},t.prototype.getSelectedPoints=function(){var t=[];return this.series.forEach(function(e){t=t.concat(e.getPointsCollection().filter(function(t){return X(t.selectedStaging,t.selected)}))}),t},t.prototype.getSelectedSeries=function(){return this.series.filter(function(t){return t.selected})},t.prototype.setTitle=function(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)},t.prototype.applyDescription=function(t,e){var i=this,o="title"===t?{color:a.neutralColor80,fontSize:this.options.isStock?"16px":"18px"}:{color:a.neutralColor60};o=this.options[t]=W(!this.styledMode&&{style:o},this.options[t],e);var r=this[t];r&&e&&(this[t]=r=r.destroy()),o&&!r&&((r=this.renderer.text(o.text,0,0,o.useHTML).attr({align:o.align,class:"highcharts-"+t,zIndex:o.zIndex||4}).add()).update=function(e){i[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[t]](e)},this.styledMode||r.css(o.style),this[t]=r)},t.prototype.layOutTitles=function(t){var e=[0,0,0],i=this.renderer,o=this.spacingBox;["title","subtitle","caption"].forEach(function(t){var r=this[t],s=this.options[t],n=s.verticalAlign||"top";if(t="title"===t?-3:"top"===n?e[0]+2:0,r){if(!this.styledMode)var a=s.style.fontSize;a=i.fontMetrics(a,r).b,r.css({width:(s.width||o.width+(s.widthAdjust||0))+"px"});var h=Math.round(r.getBBox(s.useHTML).height);r.align(D({y:"bottom"===n?a:t+a,height:h},s),!1,"spacingBox"),s.floating||("top"===n?e[0]=Math.ceil(e[0]+h):"bottom"===n&&(e[2]=Math.ceil(e[2]+h)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);var r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,I(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&X(t,!0)&&this.isDirtyBox&&this.redraw())},t.prototype.getChartSize=function(){var t=this.options.chart,e=t.width;t=t.height;var i=this.renderTo;P(e)||(this.containerWidth=_(i,"width")),P(t)||(this.containerHeight=_(i,"height")),this.chartWidth=Math.max(0,e||this.containerWidth||600),this.chartHeight=Math.max(0,U(t,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},t.prototype.temporaryDisplay=function(t){var e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(v.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(v.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,v.body.appendChild(e)),("none"===_(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},t={display:"block",overflow:"hidden"},e!==this.renderTo&&(t.height=0),T(e,t),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==v.body););},t.prototype.setClassName=function(t){this.container.className="highcharts-container "+(t||"")},t.prototype.getContainer=function(){var t,e,i=this.options,r=i.chart,s=this.renderTo,n=q();s||(this.renderTo=s=r.renderTo),G(s)&&(this.renderTo=s=v.getElementById(s)),s||L(13,!0,this);var a=F(k(s,"data-highcharts-chart"));z(a)&&y[a]&&y[a].hasRendered&&y[a].destroy(),k(s,"data-highcharts-chart",this.index),s.innerHTML="",r.skipClone||s.offsetWidth||this.temporaryDisplay(),this.getChartSize(),a=this.chartWidth;var h=this.chartHeight;if(T(s,{overflow:"hidden"}),this.styledMode||(t=D({position:"relative",overflow:"hidden",width:a+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},r.style||{})),this.container=s=A("div",{id:n},t,s),this._cursor=s.style.cursor,this.renderer=new(o[r.renderer]||o.Renderer)(s,a,h,null,r.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),g(void 0,this),this.setClassName(r.className),this.styledMode)for(e in i.defs)this.renderer.definition(i.defs[e]);else this.renderer.setStyle(r.style);this.renderer.chartIndex=this.index,I(this,"afterGetContainer")},t.prototype.getMargins=function(t){var e=this.spacing,i=this.margin,o=this.titleOffset;this.resetMargins(),o[0]&&!P(i[0])&&(this.plotTop=Math.max(this.plotTop,o[0]+e[0])),o[2]&&!P(i[2])&&(this.marginBottom=Math.max(this.marginBottom,o[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),I(this,"getMargins"),t||this.getAxisMargins()},t.prototype.getAxisMargins=function(){var t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,o=t.margin,r=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),K.forEach(function(i,r){P(o[r])||(t[i]+=e[r])}),t.setChartSize()},t.prototype.reflow=function(t){var e=this,i=e.options.chart,o=e.renderTo,r=P(i.width)&&P(i.height),s=i.width||_(o,"width");i=i.height||_(o,"height"),o=t?t.target:x,delete e.pointer.chartPosition,r||e.isPrinting||!s||!i||o!==x&&o!==v||(s===e.containerWidth&&i===e.containerHeight||(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerWidth=s,e.containerHeight=i)},t.prototype.setReflow=function(t){var e=this;!1===t||this.unbindReflow?!1===t&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=S(x,"resize",function(t){e.options&&e.reflow(t)}),S(this,"destroy",this.unbindReflow))},t.prototype.setSize=function(t,e,i){var o=this,r=o.renderer;o.isResizing+=1,g(i,o),i=r.globalAnimation,o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,void 0!==t&&(o.options.chart.width=t),void 0!==e&&(o.options.chart.height=e),o.getChartSize(),o.styledMode||(i?u:T)(o.container,{width:o.chartWidth+"px",height:o.chartHeight+"px"},i),o.setChartSize(!0),r.setSize(o.chartWidth,o.chartHeight,i),o.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(i),o.oldChartHeight=null,I(o,"resize"),Z(function(){o&&I(o,"endResize",null,function(){--o.isResizing})},f(i).duration)},t.prototype.setChartSize=function(t){var e,i,o,r,s=this.inverted,n=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=o=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=s?r:o,this.plotSizeY=s?o:r,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=n.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=n.plotBox={x:e,y:i,width:o,height:r},h=2*Math.floor(this.plotBorderWidth/2),s=Math.ceil(Math.max(h,d[3])/2),a=Math.ceil(Math.max(h,d[0])/2),this.clipBox={x:s,y:a,width:Math.floor(this.plotSizeX-Math.max(h,d[1])/2-s),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(h,d[2])/2-a))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),n.alignElements()),I(this,"afterSetChartSize",{skipAxes:t})},t.prototype.resetMargins=function(){I(this,"resetMargins");var t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){var o=e[i],r=N(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(o,s){t[i][s]=X(e[i+o],r[s])})}),K.forEach(function(e,i){t[e]=X(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},t.prototype.drawChartBox=function(){var t,e=this.options.chart,i=this.renderer,o=this.chartWidth,r=this.chartHeight,s=this.chartBackground,n=this.plotBackground,a=this.plotBorder,h=this.styledMode,l=this.plotBGImage,c=e.backgroundColor,d=e.plotBackgroundColor,p=e.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,g=this.plotWidth,m=this.plotHeight,y=this.plotBox,v=this.clipRect,x=this.clipBox,b="animate";if(s||(this.chartBackground=s=i.rect().addClass("highcharts-background").add(),b="attr"),h)var w=t=s.strokeWidth();else t=(w=e.borderWidth||0)+(e.shadow?8:0),c={fill:c||"none"},(w||s["stroke-width"])&&(c.stroke=e.borderColor,c["stroke-width"]=w),s.attr(c).shadow(e.shadow);s[b]({x:t/2,y:t/2,width:o-t-w%2,height:r-t-w%2,r:e.borderRadius}),b="animate",n||(b="attr",this.plotBackground=n=i.rect().addClass("highcharts-plot-background").add()),n[b](y),h||(n.attr({fill:d||"none"}).shadow(e.plotShadow),p&&(l?(p!==l.attr("href")&&l.attr("href",p),l.animate(y)):this.plotBGImage=i.image(p,u,f,g,m).add())),v?v.animate({width:x.width,height:x.height}):this.clipRect=i.clipRect(x),b="animate",a||(b="attr",this.plotBorder=a=i.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),h||a.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:"none"}),a[b](a.crisp({x:u,y:f,width:g,height:m},-a.strokeWidth())),this.isDirtyBox=!1,I(this,"afterDrawChartBox")},t.prototype.propFromSeries=function(){var t,e,i,o=this,r=o.options.chart,s=o.options.series;["inverted","angular","polar"].forEach(function(n){for(t=C[r.type||r.defaultSeriesType],i=r[n]||t&&t.prototype[n],e=s&&s.length;!i&&e--;)(t=C[s[e].type])&&t.prototype[n]&&(i=!0);o[n]=i})},t.prototype.linkSeries=function(){var t=this,e=t.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options.linkedTo;G(i)&&(i=":previous"===i?t.series[e.index-1]:t.get(i))&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,i.enabledDataSorting&&e.setDataSortingOptions(),e.visible=X(e.options.visible,i.options.visible,e.visible))}),I(this,"afterLinkSeries")},t.prototype.renderSeries=function(){this.series.forEach(function(t){t.translate(),t.render()})},t.prototype.renderLabels=function(){var t=this,e=t.options.labels;e.items&&e.items.forEach(function(i){var o=D(e.style,i.style),r=F(o.left)+t.plotLeft,s=F(o.top)+t.plotTop+12;delete o.left,delete o.top,t.renderer.text(i.html,r,s).attr({zIndex:2}).css(o).add()})},t.prototype.render=function(){var t=this.axes,e=this.colorAxis,i=this.renderer,o=this.options,s=0,n=function(t){t.forEach(function(t){t.visible&&t.render()})};this.setTitle(),this.legend=new r(this,o.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),o=this.plotWidth,t.some(function(t){if(t.horiz&&t.visible&&t.options.labels.enabled&&t.series.length)return s=21,!0});var a=this.plotHeight=Math.max(this.plotHeight-s,0);t.forEach(function(t){t.setScale()}),this.getAxisMargins();var h=1.1<o/this.plotWidth,l=1.05<a/this.plotHeight;(h||l)&&(t.forEach(function(t){(t.horiz&&h||!t.horiz&&l)&&t.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?n(t):e&&e.length&&n(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},t.prototype.addCredits=function(t){var e=this,i=W(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(x.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})},t.prototype.destroy=function(){var t,e=this,i=e.axes,r=e.series,s=e.container,n=s&&s.parentNode;for(I(e,"destroy"),e.renderer.forExport?E(y,e):y[e.index]=void 0,o.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Y(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=r.length;t--;)r[t]=r[t].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),s&&(s.innerHTML="",Y(s),n&&O(s)),H(e,function(t,i){delete e[i]})},t.prototype.firstRender=function(){var t=this,e=t.options;t.isReadyToRender&&!t.isReadyToRender()||(t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes(),(B(e.series)?e.series:[]).forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSeriesData(),I(t,"beforeRender"),h&&(t.pointer=o.hasTouch||!x.PointerEvent&&!x.MSPointerEvent?new h(t,e):new s(t,e)),t.render(),t.pointer.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0))},t.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),I(this,"load"),I(this,"render"),P(this.index)&&this.setReflow(this.options.chart.reflow),this.hasLoaded=!0},t.prototype.addSeries=function(t,e,i){var o,r=this;return t&&(e=X(e,!0),I(r,"addSeries",{options:t},function(){o=r.initSeries(t),r.isDirtyLegend=!0,r.linkSeries(),o.enabledDataSorting&&o.setData(t.data,!1),I(r,"afterAddSeries",{series:o}),e&&r.redraw(i)})),o},t.prototype.addAxis=function(t,e,i,o){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:o})},t.prototype.addColorAxis=function(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})},t.prototype.createAxis=function(t,i){var r="colorAxis"===t,s=i.redraw,n=i.animation;return t=W(i.axis,{index:this[t].length,isX:"xAxis"===t}),t=r?new o.ColorAxis(this,t):new e(this,t),r&&(this.isDirtyLegend=!0,this.axes.forEach(function(t){t.series=[]}),this.series.forEach(function(t){t.bindAxes(),t.isDirtyData=!0})),X(s,!0)&&this.redraw(n),t},t.prototype.showLoading=function(t){var e=this,i=e.options,o=e.loadingDiv,r=e.loadingSpan,s=i.loading,n=function(){o&&T(o,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})};o||(e.loadingDiv=o=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),r||(e.loadingSpan=r=A("span",{className:"highcharts-loading-inner"},null,o),S(e,"redraw",n)),o.className="highcharts-loading",p.setElementHTML(r,X(t,i.lang.loading,"")),e.styledMode||(T(o,D(s.style,{zIndex:10})),T(r,s.labelStyle),e.loadingShown||(T(o,{opacity:0,display:""}),u(o,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,n()},t.prototype.hideLoading=function(){var t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(e,{display:"none"})}})),this.loadingShown=!1},t.prototype.update=function(t,e,i,o){var r,s,n,a=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];if(I(a,"update",{options:t}),l||a.setResponsive(!1,!0),t=M(t,a.options),a.userOptions=W(a.userOptions,t),r=t.chart){if(W(!0,a.options.chart,r),"className"in r&&a.setClassName(r.className),"reflow"in r&&a.setReflow(r.reflow),"inverted"in r||"polar"in r||"type"in r){a.propFromSeries();var p=!0}"alignTicks"in r&&(p=!0),H(r,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(s=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(l?a.isDirtyBox=!0:n=!0)}),!a.styledMode&&"style"in r&&a.renderer.setStyle(r.style)}!a.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===w&&(this.time=new c(t.time)),W(!0,a.options.time,t.time)),H(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[h[i]]?a[h[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&W(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(s=!0)}),this.collectionsWithUpdate.forEach(function(e){if(t[e]){var o=[];a[e].forEach(function(t,e){t.options.isInternal||o.push(X(t.options.index,e))}),V(t[e]).forEach(function(t,r){var s,n=P(t.id);n&&(s=a.get(t.id)),!s&&a[e]&&(s=a[e][o?o[r]:r])&&n&&P(s.options.id)&&(s=void 0),s&&s.coll===e&&(s.update(t,!1),i&&(s.touched=!0)),!s&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})}}),d.forEach(function(t){t.chart&&t.remove(!1)}),p&&a.axes.forEach(function(t){t.update({},!1)}),s&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this),p=r&&r.width,G(r=r&&r.height)&&(r=U(r,p||a.chartWidth)),n||z(p)&&p!==a.chartWidth||z(r)&&r!==a.chartHeight?a.setSize(p,r,o):X(e,!0)&&a.redraw(o),I(a,"afterUpdate",{options:t,redraw:e,animation:o})},t.prototype.setSubtitle=function(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)},t.prototype.setCaption=function(t,e){this.applyDescription("caption",t),this.layOutTitles(e)},t.prototype.showResetZoom=function(){function t(){e.zoomOut()}var e=this,i=b.lang,o=e.options.chart.resetZoomButton,r=o.theme,s=r.states,n="chart"===o.relativeTo||"spacingBox"===o.relativeTo?null:"scrollablePlotBox";I(this,"beforeShowResetZoom",null,function(){e.resetZoomButton=e.renderer.button(i.resetZoom,null,null,t,r,s&&s.hover).attr({align:o.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(o.position,!1,n)}),I(this,"afterShowResetZoom")},t.prototype.zoomOut=function(){I(this,"selection",{resetSelection:!0},this.zoom)},t.prototype.zoom=function(t){var e,i=this,o=i.pointer,r=!1,s=i.inverted?o.mouseDownX:o.mouseDownY;!t||t.resetSelection?(i.axes.forEach(function(t){e=t.zoom()}),o.initiated=!1):t.xAxis.concat(t.yAxis).forEach(function(t){var n=t.axis,a=i.inverted?n.left:n.top,h=n.isXAxis,l=!1;(!h&&s>=a&&s<=(i.inverted?a+n.width:a+n.height)||h||!P(s))&&(l=!0),o[h?"zoomX":"zoomY"]&&l&&(e=n.zoom(t.min,t.max),n.displayBtn&&(r=!0))});var n=i.resetZoomButton;r&&!n?i.showResetZoom():!r&&N(n)&&(i.resetZoomButton=n.destroy()),e&&i.redraw(X(i.options.chart.animation,t&&t.animation,100>i.pointCount))},t.prototype.pan=function(t,e){var i,o=this,r=o.hoverPoints,s=o.options.chart,n=o.options.mapNavigation&&o.options.mapNavigation.enabled;e="object"==typeof e?e:{enabled:e,type:"x"},s&&s.panning&&(s.panning=e);var a=e.type;I(this,"pan",{originalEvent:t},function(){r&&r.forEach(function(t){t.setState()});var e=[1];"xy"===a?e=[1,0]:"y"===a&&(e=[0]),e.forEach(function(e){var r=o[e?"xAxis":"yAxis"][0],s=r.horiz,h=t[s?"chartX":"chartY"],l=o[s=s?"mouseDownX":"mouseDownY"],c=(r.pointRange||0)/2,d=r.reversed&&!o.inverted||!r.reversed&&o.inverted?-1:1,p=r.getExtremes(),u=r.toValue(l-h,!0)+c*d,f=(d=r.toValue(l+r.len-h,!0)-c*d)<u;l=f?d:u,u=f?u:d,d=r.hasVerticalPanning();var g=r.panningState;!d||e||g&&!g.isDirty||r.series.forEach(function(t){var e=t.getProcessedData(!0);e=t.getExtremes(e.yData,!0),g||(g={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),z(e.dataMin)&&z(e.dataMax)&&(g.startMin=Math.min(X(t.options.threshold,1/0),e.dataMin,g.startMin),g.startMax=Math.max(X(t.options.threshold,-1/0),e.dataMax,g.startMax))}),e=Math.min(X(g&&g.startMin,p.dataMin),c?p.min:r.toValue(r.toPixels(p.min)-r.minPixelPadding)),c=Math.max(X(g&&g.startMax,p.dataMax),c?p.max:r.toValue(r.toPixels(p.max)+r.minPixelPadding)),r.panningState=g,r.isOrdinal||(0<(d=e-l)&&(u+=d,l=e),0<(d=u-c)&&(u=c,l-=d),r.series.length&&l!==p.min&&u!==p.max&&l>=e&&u<=c&&(r.setExtremes(l,u,!1,!1,{trigger:"pan"}),o.resetZoomButton||n||l===e||u===c||!a.match("y")||(o.showResetZoom(),r.displayBtn=!1),i=!0),o[s]=h)}),i&&o.redraw(!1),T(o.container,{cursor:"move"})})},t}();return D($.prototype,{callbacks:[],collectionsWithInit:{xAxis:[$.prototype.addAxis,[!0]],yAxis:[$.prototype.addAxis,[!1]],series:[$.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),o.chart=function(t,e,i){return new $(t,e,i)},o.Chart=$,$}),e(i,"Mixins/LegendSymbol.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.merge,o=e.pick;return t.LegendSymbolMixin={drawRectangle:function(t,e){var i=t.symbolHeight,r=t.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(r?(t.symbolWidth-i)/2:0,t.baseline-i+1,r?i:t.symbolWidth,i,o(t.options.symbolRadius,i/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(t){var e=this.options,r=e.marker,s=t.symbolWidth,n=t.symbolHeight,a=n/2,h=this.chart.renderer,l=this.legendGroup;t=t.baseline-Math.round(.3*t.fontMetrics.b);var c={};this.chart.styledMode||(c={"stroke-width":e.lineWidth||0},e.dashStyle&&(c.dashstyle=e.dashStyle)),this.legendLine=h.path([["M",0,t],["L",s,t]]).addClass("highcharts-graph").attr(c).add(l),r&&!1!==r.enabled&&s&&(e=Math.min(o(r.radius,a),a),0===this.symbol.indexOf("url")&&(r=i(r,{width:n,height:n}),e=0),this.legendSymbol=r=h.symbol(this.symbol,s/2-e,t-e,2*e,2*e,r).addClass("highcharts-point").add(l),r.isMarker=!0)}}}),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=t.animObject,c=t.setAnimation,d=e.hasTouch,p=e.svg,u=e.win,f=o.defaultOptions,g=n.seriesTypes,m=h.addEvent,y=h.arrayMax,v=h.arrayMin,x=h.clamp,b=h.cleanRecursively,w=h.correctFloat,C=h.defined,S=h.erase,k=h.error,M=h.extend,A=h.find,T=h.fireEvent,P=h.getNestedProperty,O=h.isArray,E=h.isFunction,L=h.isNumber,D=h.isString,j=h.merge,I=h.objectEach,_=h.pick,B=h.removeEvent,R=h.splat,z=h.syncTimeout;return t=function(){function t(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return t.prototype.init=function(t,e){T(this,"init",{options:e});var i,o=this,r=t.series;this.eventOptions=this.eventOptions||{},this.eventsToUnbind=[],o.chart=t,o.options=o.setOptions(e);var s=o.options;o.linkedSeries=[],o.bindAxes(),M(o,{name:s.name,state:"",visible:!1!==s.visible,selected:!0===s.selected}),I(e=s.events,function(t,e){E(t)&&o.eventOptions[e]!==t&&(E(o.eventOptions[e])&&B(o,e,o.eventOptions[e]),o.eventOptions[e]=t,m(o,e,t))}),(e&&e.click||s.point&&s.point.events&&s.point.events.click||s.allowPointSelect)&&(t.runTrackerClick=!0),o.getColor(),o.getSymbol(),o.parallelArrays.forEach(function(t){o[t+"Data"]||(o[t+"Data"]=[])}),o.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),o._i=_(i&&i._i,-1)+1,o.opacity=o.options.opacity,t.orderSeries(this.insert(r)),s.dataSorting&&s.dataSorting.enabled?o.setDataSortingOptions():o.points||o.data||o.setData(s.data,!1),T(this,"afterInit")},t.prototype.is=function(t){return g[t]&&this instanceof g[t]},t.prototype.insert=function(t){var e,i=this.options.index;if(L(i)){for(e=t.length;e--;)if(i>=_(t[e].options.index,t[e]._i)){t.splice(e+1,0,this);break}-1===e&&t.unshift(this),e+=1}else t.push(this);return _(e,t.length-1)},t.prototype.bindAxes=function(){var t,e=this,i=e.options,o=e.chart;T(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){var s=0;o[r].forEach(function(o){t=o.options,(i[r]===s&&!t.isInternal||void 0!==i[r]&&i[r]===t.id||void 0===i[r]&&0===t.index)&&(e.insert(o.series),e[r]=o,o.isDirty=!0),t.isInternal||s++}),e[r]||e.optionalAxis===r||k(18,!0,o)})}),T(this,"afterBindAxes")},t.prototype.updateParallelArrays=function(t,e){var i=t.series,o=arguments,r=L(e)?function(o){var r="y"===o&&i.toYData?i.toYData(t):t[o];i[o+"Data"][e]=r}:function(t){Array.prototype[e].apply(i[t+"Data"],Array.prototype.slice.call(o,2))};i.parallelArrays.forEach(r)},t.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},t.prototype.autoIncrement=function(){var t,e=this.options,i=this.xIncrement,o=e.pointIntervalUnit,r=this.chart.time;return i=_(i,e.pointStart,0),this.pointInterval=t=_(this.pointInterval,e.pointInterval,1),o&&(e=new r.Date(i),"day"===o?r.set("Date",e,r.get("Date",e)+t):"month"===o?r.set("Month",e,r.get("Month",e)+t):"year"===o&&r.set("FullYear",e,r.get("FullYear",e)+t),t=e.getTime()-i),this.xIncrement=i+t,i},t.prototype.setDataSortingOptions=function(){var t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)},t.prototype.setOptions=function(t){var e=this.chart,i=e.options,o=i.plotOptions,r=e.userOptions||{};t=j(t),e=e.styledMode;var s={plotOptions:o,userOptions:t};T(this,"setOptions",s);var n=s.plotOptions[this.type],a=r.plotOptions||{};return this.userOptions=s.userOptions,r=j(n,o.series,r.plotOptions&&r.plotOptions[this.type],t),this.tooltipOptions=j(f.tooltip,f.plotOptions.series&&f.plotOptions.series.tooltip,f.plotOptions[this.type].tooltip,i.tooltip.userOptions,o.series&&o.series.tooltip,o[this.type].tooltip,t.tooltip),this.stickyTracking=_(t.stickyTracking,a[this.type]&&a[this.type].stickyTracking,a.series&&a.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||r.stickyTracking),null===n.marker&&delete r.marker,this.zoneAxis=r.zoneAxis,i=this.zones=(r.zones||[]).slice(),!r.negativeColor&&!r.negativeFillColor||r.zones||(o={value:r[this.zoneAxis+"Threshold"]||r.threshold||0,className:"highcharts-negative"},e||(o.color=r.negativeColor,o.fillColor=r.negativeFillColor),i.push(o)),i.length&&C(i[i.length-1].value)&&i.push(e?{}:{color:this.color,fillColor:this.fillColor}),T(this,"afterSetOptions",{options:r}),r},t.prototype.getName=function(){return _(this.options.name,"Series "+(this.index+1))},t.prototype.getCyclic=function(t,e,i){var o=this.chart,r=this.userOptions,s=t+"Index",n=t+"Counter",a=i?i.length:_(o.options.chart[t+"Count"],o[t+"Count"]);if(!e){var h=_(r[s],r["_"+s]);C(h)||(o.series.length||(o[n]=0),r["_"+s]=h=o[n]%a,o[n]+=1),i&&(e=i[h])}void 0!==h&&(this[s]=h),this[t]=e},t.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color=r.neutralColor20:this.getCyclic("color",this.options.color||f.plotOptions[this.type].color,this.chart.options.colors)},t.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},t.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},t.prototype.findPointIndex=function(t,e){var i,o=t.id,r=t.x,s=this.points,n=this.options.dataSorting;if(o)var a=this.chart.get(o);else if(this.linkedParent||this.enabledDataSorting){var h=n&&n.matchByName?"name":"index";if(!(a=A(s,function(e){return!e.touched&&e[h]===t[h]})))return}if(a){var l=a&&a.index;void 0!==l&&(i=!0)}return void 0===l&&L(r)&&(l=this.xData.indexOf(r,e)),-1!==l&&void 0!==l&&this.cropped&&(l=l>=this.cropStart?l-this.cropStart:l),!i&&s[l]&&s[l].touched&&(l=void 0),l},t.prototype.updateData=function(t,e){var i,o,r,s=this.options,n=s.dataSorting,a=this.points,h=[],l=this.requireSorting,c=t.length===a.length,d=!0;if(this.xIncrement=null,t.forEach(function(t,e){var o=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},d=o.x;o.id||L(d)?(-1===(d=this.findPointIndex(o,r))||void 0===d?h.push(t):a[d]&&t!==s.data[d]?(a[d].update(t,!1,null,!1),a[d].touched=!0,l&&(r=d+1)):a[d]&&(a[d].touched=!0),(!c||e!==d||n&&n.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)},this),i)for(t=a.length;t--;)(o=a[t])&&!o.touched&&o.remove&&o.remove(!1,e);else!c||n&&n.enabled?d=!1:(t.forEach(function(t,e){a[e].update&&t!==a[e].y&&a[e].update(t,!1,null,!1)}),h.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!d&&(h.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)},t.prototype.setData=function(t,e,i,o){var r,s=this,n=s.points,a=n&&n.length||0,h=s.options,l=s.chart,c=h.dataSorting,d=null,p=s.xAxis;d=h.turboThreshold;var u,f=this.xData,g=this.yData,m=(r=s.pointArrayMap)&&r.length,y=h.keys,v=0,x=1;if(r=(t=t||[]).length,e=_(e,!0),c&&c.enabled&&(t=this.sortData(t)),!1!==o&&r&&a&&!s.cropped&&!s.hasGroupedData&&s.visible&&!s.isSeriesBoosting&&(u=this.updateData(t,i)),!u){if(s.xIncrement=null,s.colorCounter=0,this.parallelArrays.forEach(function(t){s[t+"Data"].length=0}),d&&r>d)if(d=s.getFirstValidPoint(t),L(d))for(i=0;i<r;i++)f[i]=this.autoIncrement(),g[i]=t[i];else if(O(d))if(m)for(i=0;i<r;i++)f[i]=(o=t[i])[0],g[i]=o.slice(1,m+1);else for(y&&(v=0<=(v=y.indexOf("x"))?v:0,x=0<=(x=y.indexOf("y"))?x:1),i=0;i<r;i++)f[i]=(o=t[i])[v],g[i]=o[x];else k(12,!1,l);else for(i=0;i<r;i++)void 0!==t[i]&&(s.pointClass.prototype.applyOptions.apply(o={series:s},[t[i]]),s.updateParallelArrays(o,i));for(g&&D(g[0])&&k(14,!0,l),s.data=[],s.options.data=s.userOptions.data=t,i=a;i--;)n[i]&&n[i].destroy&&n[i].destroy();p&&(p.minRange=p.userMinRange),s.isDirty=l.isDirtyBox=!0,s.isDirtyData=!!n,i=!1}"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)},t.prototype.sortData=function(t){var e=this,i=e.options.dataSorting.sortKey||"y",o=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,r){t[r]=o(e,i),t[r].index=r},this),t.concat().sort(function(t,e){return t=P(i,t),(e=P(i,e))<t?-1:e>t?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){var i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,s){r[s]=o(e,i),t[s]&&(r[s].x=t[s].x,r[s].index=s)}),e.setData(r,!1))}),t},t.prototype.getProcessedData=function(t){var e=this.xData,i=this.yData,o=e.length,r=0,s=this.xAxis,n=this.options,a=n.cropThreshold,h=t||this.getExtremesFromAll||n.getExtremesFromAll,l=this.isCartesian;t=s&&s.val2lin,n=!(!s||!s.logarithmic);var c=this.requireSorting;if(s)var d=(s=s.getExtremes()).min,p=s.max;if(l&&this.sorted&&!h&&(!a||o>a||this.forceCrop))if(e[o-1]<d||e[0]>p)e=[],i=[];else if(this.yData&&(e[0]<d||e[o-1]>p)){e=(r=this.cropData(this.xData,this.yData,d,p)).xData,i=r.yData,r=r.start;var u=!0}for(a=e.length||1;--a;)if(0<(o=n?t(e[a])-t(e[a-1]):e[a]-e[a-1])&&(void 0===f||o<f))var f=o;else 0>o&&c&&(k(15,!1,this.chart),c=!1);return{xData:e,yData:i,cropped:u,cropStart:r,closestPointRange:f}},t.prototype.processData=function(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;t=this.getProcessedData(),this.cropped=t.cropped,this.cropStart=t.cropStart,this.processedXData=t.xData,this.processedYData=t.yData,this.closestPointRange=this.basePointRange=t.closestPointRange},t.prototype.cropData=function(t,e,i,o,r){var s,n=t.length,a=0,h=n;for(r=_(r,this.cropShoulder),s=0;s<n;s++)if(t[s]>=i){a=Math.max(0,s-r);break}for(i=s;i<n;i++)if(t[i]>o){h=i+r;break}return{xData:t.slice(a,h),yData:e.slice(a,h),start:a,end:h}},t.prototype.generatePoints=function(){var t,e,i=this.options,o=i.data,r=this.data,s=this.processedXData,n=this.processedYData,a=this.pointClass,h=s.length,l=this.cropStart||0,c=this.hasGroupedData,d=i.keys,p=[];for(i=i.dataGrouping&&i.dataGrouping.groupAll?l:0,r||c||((r=[]).length=o.length,r=this.data=r),d&&c&&(this.options.keys=!1),e=0;e<h;e++){var u=l+e;if(c){var f=(new a).init(this,[s[e]].concat(R(n[e])));f.dataGroup=this.groupMap[i+e],f.dataGroup.options&&(f.options=f.dataGroup.options,M(f,f.dataGroup.options),delete f.dataLabels)}else(f=r[u])||void 0===o[u]||(r[u]=f=(new a).init(this,o[u],s[e]));f&&(f.index=c?i+e:u,p[e]=f)}if(this.options.keys=d,r&&(h!==(t=r.length)||c))for(e=0;e<t;e++)e!==l||c||(e+=h),r[e]&&(r[e].destroyElements(),r[e].plotX=void 0);this.data=r,this.points=p,T(this,"afterGeneratePoints")},t.prototype.getXExtremes=function(t){return{min:v(t),max:y(t)}},t.prototype.getExtremes=function(t,e){var i,o=this.xAxis,r=this.yAxis,s=this.processedXData||this.xData,n=[],a=0,h=0,l=0,c=this.requireSorting?this.cropShoulder:0,d=!!r&&r.positiveValuesOnly;for(r=(t=t||this.stackedYData||this.processedYData||[]).length,o&&(h=(l=o.getExtremes()).min,l=l.max),i=0;i<r;i++){var p=s[i],u=t[i],f=(L(u)||O(u))&&(u.length||0<u||!d);if(p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!o||(s[i+c]||p)>=h&&(s[i-c]||p)<=l,f&&p)if(f=u.length)for(;f--;)L(u[f])&&(n[a++]=u[f]);else n[a++]=u}return t={dataMin:v(n),dataMax:y(n)},T(this,"afterGetExtremes",{dataExtremes:t}),t},t.prototype.applyExtremes=function(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t},t.prototype.getFirstValidPoint=function(t){for(var e=null,i=t.length,o=0;null===e&&o<i;)e=t[o],o++;return e},t.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var t,e,i=this.options,o=i.stacking,r=this.xAxis,s=r.categories,n=this.enabledDataSorting,a=this.yAxis,h=this.points,l=h.length,c=!!this.modifyValue,d=this.pointPlacementToXValue(),p=!!d,u=i.threshold,f=i.startFromThreshold?u:0,g=this.zoneAxis||"y",m=Number.MAX_VALUE;for(t=0;t<l;t++){var y=h[t],v=y.x,b=y.y,S=y.low,k=o&&a.stacking&&a.stacking.stacks[(this.negStacks&&b<(f?0:u)?"-":"")+this.stackKey],M=void 0,A=void 0;if((a.positiveValuesOnly&&!a.validatePositiveValue(b)||r.positiveValuesOnly&&!r.validatePositiveValue(v))&&(y.isNull=!0),y.plotX=e=w(x(r.translate(v,0,0,0,1,d,"flags"===this.type),-1e5,1e5)),o&&this.visible&&k&&k[v]){var P=this.getStackIndicator(P,v,this.index);y.isNull||(A=(M=k[v]).points[P.key])}if(O(A)&&(b=A[1],(S=A[0])===f&&P.key===k[v].base&&(S=_(L(u)&&u,a.min)),a.positiveValuesOnly&&0>=S&&(S=null),y.total=y.stackTotal=M.total,y.percentage=M.total&&y.y/M.total*100,y.stackY=b,this.irregularWidths||M.setOffset(this.pointXOffset||0,this.barW||0)),y.yBottom=C(S)?x(a.translate(S,0,1,0,1),-1e5,1e5):null,c&&(b=this.modifyValue(b,y)),y.plotY=void 0,L(b)&&void 0!==(b=a.translate(b,!1,!0,!1,!0))&&(y.plotY=x(b,-1e5,1e5)),y.isInside=this.isPointInside(y),y.clientX=p?w(r.translate(v,0,0,0,1,d)):e,y.negative=y[g]<(i[g+"Threshold"]||u||0),y.category=s&&void 0!==s[y.x]?s[y.x]:y.x,!y.isNull&&!1!==y.visible){void 0!==E&&(m=Math.min(m,Math.abs(e-E)));var E=e}y.zone=this.zones.length&&y.getZone(),!y.graphic&&this.group&&n&&(y.isNew=!0)}this.closestPointRangePx=m,T(this,"afterTranslate")},t.prototype.getValidPoints=function(t,e,i){var o=this.chart;return(t||this.points||[]).filter(function(t){return!(e&&!o.isInsidePlot(t.plotX,t.plotY,{inverted:o.inverted}))&&!1!==t.visible&&(i||!t.isNull)})},t.prototype.getClipBox=function(t,e){var i=this.chart,o=this.xAxis,r=o&&this.yAxis,s=i.options.chart.scrollablePlotArea||{};return t&&!1===this.options.clip&&r?t=i.inverted?{y:-i.chartWidth+r.len+r.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+o.len+o.pos}:{y:-r.pos,height:i.chartHeight,width:i.chartWidth,x:-o.pos}:(t=this.clipBox||i.clipBox,e&&(t.width=i.plotSizeX,t.x=(i.scrollablePixelsX||0)*(s.scrollPositionX||0))),e?{width:t.width,x:t.x}:t},t.prototype.getSharedClipKey=function(t){if(this.sharedClipKey)return this.sharedClipKey;var e=[t&&t.duration,t&&t.easing,t&&t.defer,this.getClipBox(t).height,this.options.xAxis,this.options.yAxis].join();return(!1!==this.options.clip||t)&&(this.sharedClipKey=e),e},t.prototype.setClip=function(t){var e=this.chart,i=this.options,o=e.renderer,r=e.inverted,s=this.clipBox,n=this.getClipBox(t),a=this.getSharedClipKey(t),h=e.sharedClips[a],l=e.sharedClips[a+"m"];t&&(n.width=0,r&&(n.x=e.plotHeight+(!1!==i.clip?0:e.plotTop))),h?e.hasLoaded||h.attr(n):(t&&(e.sharedClips[a+"m"]=l=o.clipRect(r?(e.plotSizeX||0)+99:-99,r?-e.plotLeft:-e.plotTop,99,r?e.chartWidth:e.chartHeight)),e.sharedClips[a]=h=o.clipRect(n),h.count={length:0}),t&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1),(!1!==i.clip||t)&&(this.group.clip(t||s?h:e.clipRect),this.markerGroup.clip(l)),t||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&(s||(e.sharedClips[a]=h.destroy()),l&&(e.sharedClips[a+"m"]=l.destroy())))},t.prototype.animate=function(t){var e=this.chart,i=l(this.options.animation),o=this.sharedClipKey;if(t)this.setClip(i);else if(o){t=e.sharedClips[o],o=e.sharedClips[o+"m"];var r=this.getClipBox(i,!0);t&&t.animate(r,i),o&&o.animate({width:r.width+99,x:r.x-(e.inverted?0:99)},i)}},t.prototype.afterAnimate=function(){this.setClip(),T(this,"afterAnimate"),this.finishedAnimating=!0},t.prototype.drawPoints=function(){var t,e,i=this.points,o=this.chart,r=this.options.marker,s=this[this.specialGroup]||this.markerGroup,n=this.xAxis,a=_(r.enabled,!(n&&!n.isRadial)||null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(t=0;t<i.length;t++){var h=i[t],l=(e=h.graphic)?"animate":"attr",c=h.marker||{},d=!!h.marker;if((a&&void 0===c.enabled||c.enabled)&&!h.isNull&&!1!==h.visible){var p=_(c.symbol,this.symbol),u=this.markerAttribs(h,h.selected&&"select");this.enabledDataSorting&&(h.startXPos=n.reversed?-(u.width||0):n.width);var f=!1!==h.isInside;e?e[f?"show":"hide"](f).animate(u):f&&(0<(u.width||0)||h.hasImage)&&(h.graphic=e=o.renderer.symbol(p,u.x,u.y,u.width,u.height,d?c:r).add(s),this.enabledDataSorting&&o.hasRendered&&(e.attr({x:h.startXPos}),l="animate")),e&&"animate"===l&&e[f?"show":"hide"](f).animate(u),e&&!o.styledMode&&e[l](this.pointAttribs(h,h.selected&&"select")),e&&e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())}},t.prototype.markerAttribs=function(t,e){var i=this.options,o=i.marker,r=t.marker||{},s=r.symbol||o.symbol,n=_(r.radius,o.radius);return e&&(o=o.states[e],n=_((e=r.states&&r.states[e])&&e.radius,o&&o.radius,n+(o&&o.radiusPlus||0))),t.hasImage=s&&0===s.indexOf("url"),t.hasImage&&(n=0),t={x:i.crisp?Math.floor(t.plotX-n):t.plotX-n,y:t.plotY-n},n&&(t.width=t.height=2*n),t},t.prototype.pointAttribs=function(t,e){var i=this.options.marker,o=t&&t.options,r=o&&o.marker||{},s=this.color,n=o&&o.color,a=t&&t.color;o=_(r.lineWidth,i.lineWidth);var h=t&&t.zone&&t.zone.color;return t=1,s=n||h||a||s,n=r.fillColor||i.fillColor||s,s=r.lineColor||i.lineColor||s,i=i.states[e=e||"normal"],o=_((e=r.states&&r.states[e]||{}).lineWidth,i.lineWidth,o+_(e.lineWidthPlus,i.lineWidthPlus,0)),{stroke:s=e.lineColor||i.lineColor||s,"stroke-width":o,fill:n=e.fillColor||i.fillColor||n,opacity:t=_(e.opacity,i.opacity,t)}},t.prototype.destroy=function(t){var e,i,o,r=this,s=r.chart,n=/AppleWebKit\/533/.test(u.navigator.userAgent),l=r.data||[];for(T(r,"destroy"),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(o=r[t])&&o.series&&(S(o.series,r),o.isDirty=o.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=l.length;e--;)(i=l[e])&&i.destroy&&i.destroy();r.clips&&r.clips.forEach(function(t){return t.destroy()}),h.clearTimeout(r.animationTimeout),I(r,function(t,e){t instanceof a&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),s.hoverSeries===r&&(s.hoverSeries=void 0),S(s.series,r),s.orderSeries(),I(r,function(e,i){t&&"hcEvents"===i||delete r[i]})},t.prototype.applyZones=function(){var t,e,i,o,r,s,n,a,h=this,l=this.chart,c=l.renderer,d=this.zones,p=this.clips||[],u=this.graph,f=this.area,g=Math.max(l.chartWidth,l.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],y=l.inverted,v=!1;if(d.length&&(u||f)&&m&&void 0!==m.min){var b=m.reversed,w=m.horiz;u&&!this.showLine&&u.hide(),f&&f.hide();var C=m.getExtremes();d.forEach(function(d,S){t=b?w?l.plotWidth:0:w?0:m.toPixels(C.min)||0,t=x(_(e,t),0,g),e=x(Math.round(m.toPixels(_(d.value,C.max),!0)||0),0,g),v&&(t=e=m.toPixels(C.max)),o=Math.abs(t-e),r=Math.min(t,e),s=Math.max(t,e),m.isXAxis?(i={x:y?s:r,y:0,width:o,height:g},w||(i.x=l.plotHeight-i.x)):(i={x:0,y:y?s:r,width:g,height:o},w&&(i.y=l.plotWidth-i.y)),y&&c.isVML&&(i=m.isXAxis?{x:0,y:b?r:s,height:i.width,width:l.chartWidth}:{x:i.y-l.plotLeft-l.spacingBox.x,y:0,width:i.height,height:l.chartHeight}),p[S]?p[S].animate(i):p[S]=c.clipRect(i),n=h["zone-area-"+S],a=h["zone-graph-"+S],u&&a&&a.clip(p[S]),f&&n&&n.clip(p[S]),v=d.value>C.max,h.resetZones&&0===e&&(e=void 0)}),this.clips=p}else h.visible&&(u&&u.show(!0),f&&f.show(!0))},t.prototype.invertGroups=function(t){function e(){["group","markerGroup"].forEach(function(e){i[e]&&(o.renderer.isVML&&i[e].attr({width:i.yAxis.len,height:i.xAxis.len}),i[e].width=i.yAxis.len,i[e].height=i.xAxis.len,i[e].invert(!i.isRadialSeries&&t))})}var i=this,o=i.chart;i.xAxis&&(i.eventsToUnbind.push(m(o,"resize",e)),e(),i.invertGroups=e)},t.prototype.plotGroup=function(t,e,i,o,r){var s=this[t],n=!s;return i={visibility:i,zIndex:o||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(i.opacity=this.opacity),n&&(this[t]=s=this.chart.renderer.g().add(r)),s.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(s.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),s.attr(i)[n?"attr":"animate"](this.getPlotBox()),s},t.prototype.getPlotBox=function(){var t=this.chart,e=this.xAxis,i=this.yAxis;return t.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:t.plotLeft,translateY:i?i.top:t.plotTop,scaleX:1,scaleY:1}},t.prototype.removeEvents=function(t){t||B(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind.length=0)},t.prototype.render=function(){var t=this,e=t.chart,i=t.options,o=l(i.animation),r=!t.finishedAnimating&&e.renderer.isSVG&&o.duration,s=t.visible?"inherit":"hidden",n=i.zIndex,a=t.hasRendered,h=e.seriesGroup,c=e.inverted;T(this,"render");var d=t.plotGroup("group","series",s,n,h);t.markerGroup=t.plotGroup("markerGroup","markers",s,n,h),r&&t.animate&&t.animate(!0),d.inverted=!!_(t.invertible,t.isCartesian)&&c,t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels&&t.drawDataLabels(),t.redrawPoints&&t.redrawPoints(),t.drawTracker&&!1!==t.options.enableMouseTracking&&t.drawTracker(),t.invertGroups(c),!1===i.clip||t.sharedClipKey||a||d.clip(e.clipRect),r&&t.animate&&t.animate(),a||(r&&o.defer&&(r+=o.defer),t.animationTimeout=z(function(){t.afterAnimate()},r||0)),t.isDirty=!1,t.hasRendered=!0,T(t,"afterRender")},t.prototype.redraw=function(){var t=this.chart,e=this.isDirty||this.isDirtyData,i=this.group,o=this.xAxis,r=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:_(o&&o.left,t.plotLeft),translateY:_(r&&r.top,t.plotTop)})),this.translate(),this.render(),e&&delete this.kdTree},t.prototype.searchPoint=function(t,e){var i=this.xAxis,o=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?o.len-t.chartX+o.pos:t.chartY-o.pos},e,t)},t.prototype.buildKDTree=function(t){function e(t,o,r){var s;if(s=t&&t.length){var n=i.kdAxisArray[o%r];return t.sort(function(t,e){return t[n]-e[n]}),{point:t[s=Math.floor(s/2)],left:e(t.slice(0,s),o+1,r),right:e(t.slice(s+1),o+1,r)}}}this.buildingKdTree=!0;var i=this,o=-1<i.options.findNearestPointBy.indexOf("y")?2:1;delete i.kdTree,z(function(){i.kdTree=e(i.getValidPoints(null,!i.directTouch),o,o),i.buildingKdTree=!1},i.options.kdNow||t&&"touchstart"===t.type?0:1)},t.prototype.searchKDTree=function(t,e,i){var o=this,r=this.kdAxisArray[0],s=this.kdAxisArray[1],n=e?"distX":"dist";if(e=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h){var l=i.point,c=o.kdAxisArray[a%h],d=l,p=C(e[r])&&C(l[r])?Math.pow(e[r]-l[r],2):null,u=C(e[s])&&C(l[s])?Math.pow(e[s]-l[s],2):null;return l.dist=C(u=(p||0)+(u||0))?Math.sqrt(u):Number.MAX_VALUE,l.distX=C(p)?Math.sqrt(p):Number.MAX_VALUE,p=0>(c=e[c]-l[c])?"right":"left",i[u=0>c?"left":"right"]&&(d=(u=t(e,i[u],a+1,h))[n]<d[n]?u:l),i[p]&&Math.sqrt(c*c)<d[n]&&(d=(e=t(e,i[p],a+1,h))[n]<d[n]?e:d),d}(t,this.kdTree,e,e)},t.prototype.pointPlacementToXValue=function(){var t=this.options,e=t.pointRange,i=this.xAxis;return"between"===(t=t.pointPlacement)&&(t=i.reversed?-.5:.5),L(t)?t*(e||i.pointRange):0},t.prototype.isPointInside=function(t){return void 0!==t.plotY&&void 0!==t.plotX&&0<=t.plotY&&t.plotY<=this.yAxis.len&&0<=t.plotX&&t.plotX<=this.xAxis.len},t.prototype.drawTracker=function(){var t=this,e=t.options,i=e.trackByArea,o=[].concat(i?t.areaPath:t.graphPath),r=t.chart,s=r.pointer,n=r.renderer,a=r.options.tooltip.snap,h=t.tracker,l=function(e){r.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(p?1e-4:.002)+")";h?h.attr({d:o}):t.graph&&(t.tracker=n.path(o).attr({visibility:t.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||t.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(function(t){t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(t){s.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),d)&&t.on("touchstart",l)})),T(this,"afterDrawTracker")},t.prototype.addPoint=function(t,e,i,o,r){var s=this.options,n=this.data,a=this.chart,h=this.xAxis;h=h&&h.hasNames&&h.names;var l,c=s.data,d=this.xData;e=_(e,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);var u=p.x,f=d.length;if(this.requireSorting&&u<d[f-1])for(l=!0;f&&d[f-1]>u;)f--;this.updateParallelArrays(p,"splice",f,0,0),this.updateParallelArrays(p,f),h&&p.name&&(h[u]=p.name),c.splice(f,0,t),l&&(this.data.splice(f,0,null),this.processData()),"point"===s.legendType&&this.generatePoints(),i&&(n[0]&&n[0].remove?n[0].remove(!1):(n.shift(),this.updateParallelArrays(p,"shift"),c.shift())),!1!==r&&T(this,"addPoint",{point:p}),this.isDirtyData=this.isDirty=!0,e&&a.redraw(o)},t.prototype.removePoint=function(t,e,i){var o=this,r=o.data,s=r[t],n=o.points,a=o.chart,h=function(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(s||{series:o},"splice",t,1),s&&s.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&a.redraw()};c(i,a),e=_(e,!0),s?s.firePointEvent("remove",null,h):h()},t.prototype.remove=function(t,e,i,o){function r(){s.destroy(o),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(),_(t,!0)&&n.redraw(e)}var s=this,n=s.chart;!1!==i?T(s,"remove",null,r):r()},t.prototype.update=function(t,e){t=b(t,this.userOptions),T(this,"update",{options:t});var i,o=this,r=o.chart,s=o.userOptions,n=o.initialType||o.type,a=r.options.plotOptions,h=t.type||s.type||r.options.chart.type,l=!(this.hasDerivedData||h&&h!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||o.hasOptionChanged("dataGrouping")||o.hasOptionChanged("pointStart")||o.hasOptionChanged("pointInterval")||o.hasOptionChanged("pointIntervalUnit")||o.hasOptionChanged("keys")),c=g[n].prototype,d=["eventOptions","navigatorSeries","baseSeries"],p=o.finishedAnimating&&{animation:!1},u={};if(h=h||n,l&&(d.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&d.push("area","graph"),o.parallelArrays.forEach(function(t){d.push(t+"Data")}),t.data&&(t.dataSorting&&M(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=j(s,p,{index:void 0===s.index?o.index:s.index,pointStart:_(a&&a.series&&a.series.pointStart,s.pointStart,o.xData[0])},!l&&{data:o.options.data},t),l&&t.data&&(t.data=o.options.data),(d=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(d)).forEach(function(t){d[t]=o[t],delete o[t]}),s=!1,g[h]){if(s=h!==o.type,o.remove(!1,!1,!1,!0),s)if(Object.setPrototypeOf)Object.setPrototypeOf(o,g[h].prototype);else{for(i in a=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents,c)o[i]=void 0;M(o,g[h].prototype),a?o.hcEvents=a:delete o.hcEvents}}else k(17,!0,r,{missingModuleFor:h});if(d.forEach(function(t){o[t]=d[t]}),o.init(r,t),l&&this.points){var f=o.options;!1===f.visible?(u.graphic=1,u.dataLabel=1):o._hasPointLabels||(h=f.dataLabels,(t=f.marker)&&(!1===t.enabled||"symbol"in t)&&(u.graphic=1),h&&!1===h.enabled&&(u.dataLabel=1)),this.points.forEach(function(t){t&&t.series&&(t.resolveColor(),Object.keys(u).length&&t.destroyElements(u),!1===f.showInLegend&&t.legendItem&&r.legend.destroyItem(t))},this)}o.initialType=n,r.linkSeries(),s&&o.linkedSeries.length&&(o.isDirtyData=!0),T(this,"afterUpdate"),_(e,!0)&&r.redraw(!!l&&void 0)},t.prototype.setName=function(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0},t.prototype.hasOptionChanged=function(t){var e=this.options[t],i=this.chart.options.plotOptions,o=this.userOptions[t];return o?e!==o:e!==_(i&&i[this.type]&&i[this.type][t],i&&i.series&&i.series[t],e)},t.prototype.onMouseOver=function(){var t=this.chart,e=t.hoverSeries;t.pointer.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&T(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},t.prototype.onMouseOut=function(){var t=this.options,e=this.chart,i=e.tooltip,o=e.hoverPoint;e.hoverSeries=null,o&&o.onMouseOut(),this&&t.events.mouseOut&&T(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})},t.prototype.setState=function(t,e){var i=this,o=i.options,r=i.graph,s=o.inactiveOtherPoints,n=o.states,a=o.lineWidth,h=o.opacity,l=_(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation);if(o=0,i.state!==(t=t||"")&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),h=_(n[t].opacity,h)),r&&!r.dashstyle)for(r.animate(n={"stroke-width":a},l);i["zone-graph-"+o];)i["zone-graph-"+o].animate(n,l),o+=1;s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},l)})}e&&s&&i.points&&i.setAllPointsToState(t||void 0)},t.prototype.setAllPointsToState=function(t){this.points.forEach(function(e){e.setState&&e.setState(t)})},t.prototype.setVisible=function(t,e){var i=this,o=i.chart,r=i.legendItem,s=o.options.chart.ignoreHiddenSeries,n=(i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!i.visible:t)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(t){i[t]&&i[t][n]()}),o.hoverSeries!==i&&(o.hoverPoint&&o.hoverPoint.series)!==i||i.onMouseOut(),r&&o.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&o.series.forEach(function(t){t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(function(e){e.setVisible(t,!1)}),s&&(o.isDirtyBox=!0),T(i,n),!1!==e&&o.redraw()},t.prototype.show=function(){this.setVisible(!0)},t.prototype.hide=function(){this.setVisible(!1)},t.prototype.select=function(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),T(this,t?"select":"unselect")},t.prototype.shouldShowTooltip=function(t,e,i){return void 0===i&&(i={}),i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)},t.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:r.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:r.neutralColor20,lineColor:r.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},t}(),M(t.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:i.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:s,requireSorting:!0,sorted:!0}),n.series=t,t}),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Series/Series.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.stop,a=s.addEvent,h=s.createElement,l=s.merge,c=s.pick;a(i,"afterSetChartSize",function(t){var e=this.options.chart.scrollablePlotArea,i=e&&e.minWidth;if(e=e&&e.minHeight,!this.renderer.forExport){if(i){if(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.width=this.plotWidth+=i,this.inverted?this.clipBox.height+=i:this.clipBox.width+=i;var o={1:{name:"right",value:i}}}}else e&&(this.scrollablePixelsY=i=Math.max(0,e-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.height=this.plotHeight+=i,this.inverted?this.clipBox.width+=i:this.clipBox.height+=i,o={2:{name:"bottom",value:i}});o&&!t.skipAxes&&this.axes.forEach(function(t){o[t.side]?t.getPlotLinePath=function(){var e=o[t.side].name,i=this[e];this[e]=i-o[t.side].value;var s=r.Axis.prototype.getPlotLinePath.apply(this,arguments);return this[e]=i,s}:(t.setAxisSize(),t.setAxisTranslation())})}}),a(i,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),i.prototype.setUpScrolling=function(){var t=this,e={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(e.overflowX="auto"),this.scrollablePixelsY&&(e.overflowY="auto"),this.scrollingParent=h("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=h("div",{className:"highcharts-scrolling"},e,this.scrollingParent),a(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition}),this.innerContainer=h("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},i.prototype.moveFixedElements=function(){var t,e=this.container,i=this.fixedRenderer,o=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis"),t&&o.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),o.forEach(function(t){[].forEach.call(e.querySelectorAll(t),function(t){(t.namespaceURI===i.SVG_NS?i.box:i.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})})},i.prototype.applyFixed=function(){var t=!this.fixedDiv,e=this.options.chart,i=e.scrollablePlotArea;t?(this.fixedDiv=h("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new r.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":c(i.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a(this,"afterShowResetZoom",this.moveFixedElements),a(this,"afterDrilldown",this.moveFixedElements),a(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||t)&&(this.scrollableDirty=!1,this.moveFixedElements()),e=this.chartWidth+(this.scrollablePixelsX||0);var o=this.chartHeight+(this.scrollablePixelsY||0);n(this.container),this.container.style.width=e+"px",this.container.style.height=o+"px",this.renderer.boxWrapper.attr({width:e,height:o,viewBox:[0,0,e,o].join(" ")}),this.chartBackground.attr({width:e,height:o}),this.scrollingContainer.style.height=this.chartHeight+"px",t&&(i.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*i.scrollPositionX),i.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*i.scrollPositionY)),t=this.plotTop-(o=this.axisOffset)[0]-1,i=this.plotLeft-o[3]-1,e=this.plotTop+this.plotHeight+o[2]+1,o=this.plotLeft+this.plotWidth+o[1]+1;var s=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),l=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);t=this.scrollablePixelsX?[["M",0,t],["L",this.plotLeft-1,t],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",s,t],["L",this.chartWidth,t],["L",this.chartWidth,e],["L",s,e],["Z"]]:this.scrollablePixelsY?[["M",i,0],["L",i,this.plotTop-1],["L",o,this.plotTop-1],["L",o,0],["Z"],["M",i,l],["L",i,this.chartHeight],["L",o,this.chartHeight],["L",o,l],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:t})},a(e,"afterInit",function(){this.chart.scrollableDirty=!0}),a(o,"show",function(){this.chart.scrollableDirty=!0})}),e(i,"Core/Axis/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Utilities.js"]],function(t,e){var i=t.getDeferredAnimation,o=e.addEvent,r=e.destroyObjectProperties,s=e.fireEvent,n=e.isNumber,a=e.objectEach,h=function(){function t(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return t.prototype.buildStacks=function(){var t,e=this.axis,i=e.series,o=e.options.reversedStacks,r=i.length;if(!e.isXAxis){for(this.usePercentage=!1,t=r;t--;){var n=i[o?t:r-t-1];n.setStackedPoints(),n.setGroupedPoints()}for(t=0;t<r;t++)i[t].modifyStacks();s(e,"afterBuildStacks")}},t.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var t=this.stacks=this.oldStacks;a(t,function(t){a(t,function(t){t.cumulative=t.total})})}},t.prototype.resetStacks=function(){var t=this;this.axis.isXAxis||a(this.stacks,function(e){a(e,function(i,o){n(i.touched)&&i.touched<t.stacksTouched?(i.destroy(),delete e[o]):(i.total=null,i.cumulative=null)})})},t.prototype.renderStackTotals=function(){var t=this.axis,e=t.chart,o=e.renderer,r=this.stacks;t=i(e,t.options.stackLabels&&t.options.stackLabels.animation||!1);var s=this.stackTotalGroup=this.stackTotalGroup||o.g("stack-labels").attr({visibility:"visible",zIndex:6,opacity:0}).add();s.translate(e.plotLeft,e.plotTop),a(r,function(t){a(t,function(t){t.render(s)})}),s.animate({opacity:1},t)},t}();return function(){function t(){}return t.compose=function(e){o(e,"init",t.onInit),o(e,"destroy",t.onDestroy)},t.onDestroy=function(){var t=this.stacking;if(t){var e=t.stacks;a(e,function(t,i){r(t),e[i]=null}),t&&t.stackTotalGroup&&t.stackTotalGroup.destroy()}},t.onInit=function(){this.stacking||(this.stacking=new h(this))},t}()}),e(i,"Extensions/Stacking.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Axis/StackingAxis.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=i.format,h=n.correctFloat,l=n.defined,c=n.destroyObjectProperties,d=n.isArray,p=n.isNumber,u=n.objectEach,f=n.pick,g=function(){function t(t,e,i,o,r){var s=t.chart.inverted;this.axis=t,this.isNegative=i,this.options=e=e||{},this.x=o,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.rightCliff=this.leftCliff=0,this.alignOptions={align:e.align||(s?i?"left":"right":"center"),verticalAlign:e.verticalAlign||(s?"middle":i?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(s?i?"right":"left":"center")}return t.prototype.destroy=function(){c(this,this.axis)},t.prototype.render=function(t){var e=this.axis.chart,i=this.options,o=i.format;o=o?a(o,this,e):i.formatter.call(this),this.label?this.label.attr({text:o,visibility:"hidden"}):(this.label=e.renderer.label(o,null,null,i.shape,null,null,i.useHTML,!1,"stack-labels"),o={r:i.borderRadius||0,text:o,rotation:i.rotation,padding:f(i.padding,5),visibility:"hidden"},e.styledMode||(o.fill=i.backgroundColor,o.stroke=i.borderColor,o["stroke-width"]=i.borderWidth,this.label.css(i.style)),this.label.attr(o),this.label.added||this.label.add(t)),this.label.labelrank=e.plotSizeY},t.prototype.setOffset=function(t,e,i,o,s){var n=this.axis,a=n.chart;o=n.translate(n.stacking.usePercentage?100:o||this.total,0,0,0,1),i=n.translate(i||0),i=l(o)&&Math.abs(o-i),t=f(s,a.xAxis[0].translate(this.x))+t,n=l(o)&&this.getStackBox(a,this,t,o,e,i,n),e=this.label,i=this.isNegative,t="justify"===f(this.options.overflow,"justify");var h=this.textAlign;e&&n&&(s=e.getBBox(),o=e.padding,h="left"===h?a.inverted?-o:o:"right"===h?s.width:a.inverted&&"center"===h?s.width/2:a.inverted?i?s.width+o:-o:s.width/2,i=a.inverted?s.height/2:i?-o:s.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),n.x-=h,n.y-=i,e.align(this.alignOptions,null,n),a.isInsidePlot(e.alignAttr.x+h-this.alignOptions.x,e.alignAttr.y+i-this.alignOptions.y)?e.show():(e.alignAttr.y=-9999,t=!1),t&&r.prototype.justifyDataLabel.call(this.axis,e,this.alignOptions,e.alignAttr,s,n),e.attr({x:e.alignAttr.x,y:e.alignAttr.y}),f(!t&&this.options.crop,!0)&&((a=p(e.x)&&p(e.y)&&a.isInsidePlot(e.x-o+e.width,e.y)&&a.isInsidePlot(e.x+o,e.y))||e.hide()))},t.prototype.getStackBox=function(t,e,i,o,r,s,n){var a=e.axis.reversed,h=t.inverted,l=n.height+n.pos-(h?t.plotLeft:t.plotTop);return e=e.isNegative&&!a||!e.isNegative&&a,{x:h?e?o-n.right:o-s+n.pos-t.plotLeft:i+t.xAxis[0].transB-t.plotLeft,y:h?n.height-i-r:e?l-o-s:l-o,width:h?s:r,height:h?r:s}},t}();return e.prototype.getStacks=function(){var t=this,e=t.inverted;t.yAxis.forEach(function(t){t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),t.series.forEach(function(i){var o=i.xAxis&&i.xAxis.options||{};!i.options.stacking||!0!==i.visible&&!1!==t.options.chart.ignoreHiddenSeries||(i.stackKey=[i.type,f(i.options.stack,""),e?o.top:o.left,e?o.height:o.width].join())})},s.compose(t),r.prototype.setGroupedPoints=function(){var t=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?r.prototype.setStackedPoints.call(this,"group"):t&&u(t.stacks,function(e,i){"group"===i.slice(-5)&&(u(e,function(t){return t.destroy()}),delete t.stacks[i])})},r.prototype.setStackedPoints=function(t){var e=t||this.options.stacking;if(e&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var i=this.processedXData,o=this.processedYData,r=[],s=o.length,n=this.options,a=n.threshold,c=f(n.startFromThreshold&&a,0);n=n.stack;var p,u,m="-"+(t=t?this.type+","+e:this.stackKey),y=this.negStacks,v=this.yAxis,x=v.stacking.stacks,b=v.stacking.oldStacks;for(v.stacking.stacksTouched+=1,u=0;u<s;u++){var w=i[u],C=o[u],S=this.getStackIndicator(S,w,this.index),k=S.key,M=(p=y&&C<(c?0:a))?m:t;x[M]||(x[M]={}),x[M][w]||(b[M]&&b[M][w]?(x[M][w]=b[M][w],x[M][w].total=null):x[M][w]=new g(v,v.options.stackLabels,p,w,n)),M=x[M][w],null!==C?(M.points[k]=M.points[this.index]=[f(M.cumulative,c)],l(M.cumulative)||(M.base=k),M.touched=v.stacking.stacksTouched,0<S.index&&!1===this.singleStacks&&(M.points[k][0]=M.points[this.index+","+w+",0"][0])):M.points[k]=M.points[this.index]=null,"percent"===e?(p=p?t:m,M.total=y&&x[p]&&x[p][w]?(p=x[p][w]).total=Math.max(p.total,M.total)+Math.abs(C)||0:h(M.total+(Math.abs(C)||0))):"group"===e?(d(C)&&(C=C[0]),null!==C&&(M.total=(M.total||0)+1)):M.total=h(M.total+(C||0)),M.cumulative="group"===e?(M.total||1)-1:f(M.cumulative,c)+(C||0),null!==C&&(M.points[k].push(M.cumulative),r[u]=M.cumulative,M.hasValidPoints=!0)}"percent"===e&&(v.stacking.usePercentage=!0),"group"!==e&&(this.stackedYData=r),v.stacking.oldStacks={}}},r.prototype.modifyStacks=function(){var t,e=this,i=e.stackKey,o=e.yAxis.stacking.stacks,r=e.processedXData,s=e.options.stacking;e[s+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var n,a,h=r.length;h--;)t=e.getStackIndicator(t,n=r[h],e.index,i),(a=(n=o[i]&&o[i][n])&&n.points[t.key])&&e[s+"Stacker"](a,n,h)})},r.prototype.percentStacker=function(t,e,i){t[0]=h(t[0]*(e=e.total?100/e.total:0)),t[1]=h(t[1]*e),this.stackedYData[i]=t[1]},r.prototype.getStackIndicator=function(t,e,i,o){return!l(t)||t.x!==e||o&&t.key!==o?t={x:e,index:0,key:o}:t.index++,t.key=[i,e,t.index].join(),t},o.StackItem=g,o.StackItem}),e(i,"Series/Line/LineSeries.js",[i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.defined,n=o.merge;return o=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return r(o,i),o.prototype.drawGraph=function(){var e=this,i=this.options,o=(this.gappedPath||this.getGraphPath).call(this),r=this.chart.styledMode,s=[["graph","highcharts-graph"]];r||s[0].push(i.lineColor||this.color||t.neutralColor20,i.dashStyle),(s=e.getZonesGraphs(s)).forEach(function(t,s){var n=t[0],a=e[n],h=a?"animate":"attr";a?(a.endX=e.preventGraphAnimation?null:o.xMap,a.animate({d:o})):o.length&&(e[n]=a=e.chart.renderer.path(o).addClass(t[1]).attr({zIndex:1}).add(e.group)),a&&!r&&(n={stroke:t[2],"stroke-width":i.lineWidth,fill:e.fillGraph&&e.color||"none"},t[3]?n.dashstyle=t[3]:"square"!==i.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),a[h](n).shadow(2>s&&i.shadow)),a&&(a.startX=o.xMap,a.isArea=o.isArea)})},o.prototype.getGraphPath=function(t,e,i){var o,r,n=this,a=n.options,h=a.step,l=[],c=[];return(o=(t=t||n.points).reversed)&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&o&&(h=4-h),(t=this.getValidPoints(t,!1,!(a.connectNulls&&!e&&!i))).forEach(function(o,d){var p=o.plotX,u=o.plotY,f=t[d-1];(o.leftCliff||f&&f.rightCliff)&&!i&&(r=!0),o.isNull&&!s(e)&&0<d?r=!a.connectNulls:o.isNull&&!e?r=!0:(0===d||r?d=[["M",o.plotX,o.plotY]]:n.getPointSpline?d=[n.getPointSpline(t,o,d)]:h?(d=1===h?[["L",f.plotX,u]]:2===h?[["L",(f.plotX+p)/2,f.plotY],["L",(f.plotX+p)/2,u]]:[["L",p,f.plotY]]).push(["L",p,u]):d=[["L",p,u]],c.push(o.x),h&&(c.push(o.x),2===h&&c.push(o.x)),l.push.apply(l,d),r=!1)}),l.xMap=c,n.graphPath=l},o.prototype.getZonesGraphs=function(t){return this.zones.forEach(function(e,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(e.className||"")],this.chart.styledMode||i.push(e.color||this.color,e.dashStyle||this.options.dashStyle),t.push(i)},this),t},o.defaultOptions=n(e.defaultOptions,{}),o}(e),i.registerSeriesType("line",o),o}),e(i,"Series/Area/AreaSeries.js",[i["Core/Color/Color.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=t.parse,n=i.seriesTypes.line;t=o.extend;var a=o.merge,h=o.objectEach,l=o.pick;return o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(e,t),e.prototype.drawGraph=function(){this.areaPath=[],t.prototype.drawGraph.apply(this);var e=this,i=this.areaPath,o=this.options,r=[["area","highcharts-area",this.color,o.fillColor]];this.zones.forEach(function(t,i){r.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||e.color,t.fillColor||o.fillColor])}),r.forEach(function(t){var r=t[0],n=e[r],a=n?"animate":"attr",h={};n?(n.endX=e.preventGraphAnimation?null:i.xMap,n.animate({d:i})):(h.zIndex=0,(n=e[r]=e.chart.renderer.path(i).addClass(t[1]).add(e.group)).isArea=!0),e.chart.styledMode||(h.fill=l(t[3],s(t[2]).setOpacity(l(o.fillOpacity,.75)).get())),n[a](h),n.startX=i.xMap,n.shiftUnit=o.step?2:1})},e.prototype.getGraphPath=function(t){var e,i=n.prototype.getGraphPath,o=this.options,r=o.stacking,s=this.yAxis,a=[],h=[],c=this.index,d=s.stacking.stacks[this.stackKey],p=o.threshold,u=Math.round(s.getThreshold(o.threshold));o=l(o.connectNulls,"percent"===r);var f=function(e,i,o){var n=t[e];e=r&&d[n.x].points[c];var l=n[o+"Null"]||0;if(o=n[o+"Cliff"]||0,n=!0,o||l){var f=(l?e[0]:e[1])+o,g=e[0]+o;n=!!l}else!r&&t[i]&&t[i].isNull&&(f=g=p);void 0!==f&&(h.push({plotX:m,plotY:null===f?u:s.getThreshold(f),isNull:n,isCliff:!0}),a.push({plotX:m,plotY:null===g?u:s.getThreshold(g),doCurve:!1}))};for(t=t||this.points,r&&(t=this.getStackPoints(t)),e=0;e<t.length;e++){r||(t[e].leftCliff=t[e].rightCliff=t[e].leftNull=t[e].rightNull=void 0);var g=t[e].isNull,m=l(t[e].rectPlotX,t[e].plotX),y=r?l(t[e].yBottom,u):u;g&&!o||(o||f(e,e-1,"left"),g&&!r&&o||(h.push(t[e]),a.push({x:e,plotX:m,plotY:y})),o||f(e,e+1,"right"))}return e=i.call(this,h,!0,!0),a.reversed=!0,(y=(g=i.call(this,a,!0,!0))[0])&&"M"===y[0]&&(g[0]=["L",y[1],y[2]]),(g=e.concat(g)).length&&g.push(["Z"]),i=i.call(this,h,!1,o),g.xMap=e.xMap,this.areaPath=g,i},e.prototype.getStackPoints=function(t){var e=this,i=[],o=[],r=this.xAxis,s=this.yAxis,n=s.stacking.stacks[this.stackKey],a={},c=s.series,d=c.length,p=s.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(var f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,a[t[f].x]=t[f];h(n,function(t,e){null!==t.total&&o.push(e)}),o.sort(function(t,e){return t-e});var g=c.map(function(t){return t.visible});o.forEach(function(t,h){var f,m,y=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){var r=1===i?"rightNull":"leftNull",s=0,l=n[o[h+i]];if(l)for(var y=u;0<=y&&y<d;){var v=c[y].index;(f=l.points[v])||(v===e.index?a[t][r]=!0:g[y]&&(m=n[t].points[v])&&(s-=m[1]-m[0])),y+=p}a[t][1===i?"rightCliff":"leftCliff"]=s});else{for(var v=u;0<=v&&v<d;){if(f=n[t].points[c[v].index]){y=f[1];break}v+=p}y=l(y,0),y=s.translate(y,0,1,0,1),i.push({isNull:!0,plotX:r.translate(t,0,0,0,1),x:t,plotY:y,yBottom:y})}})}return i},e.defaultOptions=a(n.defaultOptions,{threshold:0}),e}(n),t(o.prototype,{singleStacks:!1,drawLegendSymbol:e.drawRectangle}),i.registerSeriesType("area",o),o}),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=t.seriesTypes.line,r=e.merge,s=e.pick;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return i(e,t),e.prototype.getPointSpline=function(t,e,i){var o=e.plotX||0,r=e.plotY||0,n=t[i-1];if(i=t[i+1],n&&!n.isNull&&!1!==n.doCurve&&!e.isCliff&&i&&!i.isNull&&!1!==i.doCurve&&!e.isCliff){var a=i.plotX||0,h=0,l=(1.5*o+(n.plotX||0))/2.5,c=(1.5*r+(t=n.plotY||0))/2.5,d=(1.5*r+(i=i.plotY||0))/2.5;(a=(1.5*o+a)/2.5)!==l&&(h=(d-c)*(a-o)/(a-l)+r-d),d+=h,(c+=h)>t&&c>r?d=2*r-(c=Math.max(t,r)):c<t&&c<r&&(d=2*r-(c=Math.min(t,r))),d>i&&d>r?c=2*r-(d=Math.max(i,r)):d<i&&d<r&&(c=2*r-(d=Math.min(i,r))),e.rightContX=a,e.rightContY=d}return e=["C",s(n.rightContX,n.plotX,0),s(n.rightContY,n.plotY,0),s(l,o,0),s(c,r,0),o,r],n.rightContX=n.rightContY=void 0,e},e.defaultOptions=r(o.defaultOptions),e}(o),t.registerSeriesType("spline",e),e}),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Area/AreaSeries.js"],i["Series/Spline/SplineSeries.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.prototype,a=r.merge;return(0,r.extend)((r=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.points=void 0,t.options=void 0,t}return s(o,i),o.defaultOptions=a(e.defaultOptions,t.defaultOptions),o}(e)).prototype,{getGraphPath:n.getGraphPath,getStackPoints:n.getStackPoints,drawGraph:n.drawGraph,drawLegendSymbol:i.drawRectangle}),o.registerSeriesType("areaspline",r),r}),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=this&&this.__extends||(h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),c=t.animObject,d=e.parse,p=i.hasTouch;t=i.noop;var u=a.clamp,f=a.css,g=a.defined,m=a.extend,y=a.fireEvent,v=a.isArray,x=a.isNumber,b=a.merge,w=a.pick,C=a.objectEach;return a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.borderWidth=void 0,e.data=void 0,e.group=void 0,e.options=void 0,e.points=void 0,e}return l(e,t),e.prototype.animate=function(t){var e=this,i=this.yAxis,o=e.options,r=this.chart.inverted,s={},n=r?"translateX":"translateY";if(t)s.scaleY=.001,t=u(i.toPixels(o.threshold),i.pos,i.pos+i.len),r?s.translateX=t-i.len:s.translateY=t,e.clipBox&&e.setClip(),e.group.attr(s);else{var a=Number(e.group.attr(n));e.group.animate({scaleY:1},m(c(e.options.animation),{step:function(t,o){e.group&&(s[n]=a+o.pos*(i.pos-a),e.group.attr(s))}}))}},e.prototype.init=function(e,i){t.prototype.init.apply(this,arguments);var o=this;(e=o.chart).hasRendered&&e.series.forEach(function(t){t.type===o.type&&(t.isDirty=!0)})},e.prototype.getColumnMetrics=function(){var t=this,e=t.options,i=t.xAxis,o=t.yAxis,r=i.options.reversedStacks;r=i.reversed&&!r||!i.reversed&&r;var s,n={},a=0;!1===e.grouping?a=1:t.chart.series.forEach(function(e){var i=e.yAxis,r=e.options;if(e.type===t.type&&(e.visible||!t.chart.options.chart.ignoreHiddenSeries)&&o.len===i.len&&o.pos===i.pos){if(r.stacking&&"group"!==r.stacking){void 0===n[s=e.stackKey]&&(n[s]=a++);var h=n[s]}else!1!==r.grouping&&(h=a++);e.columnIndex=h}});var h=Math.min(Math.abs(i.transA)*(i.ordinal&&i.ordinal.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),l=h*e.groupPadding,c=(h-2*l)/(a||1);return e=Math.min(e.maxPointWidth||i.len,w(e.pointWidth,c*(1-2*e.pointPadding))),t.columnMetrics={width:e,offset:(c-e)/2+(l+((t.columnIndex||0)+(r?1:0))*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:a},t.columnMetrics},e.prototype.crispCol=function(t,e,i,o){var r=this.chart,s=this.borderWidth,n=-(s%2?.5:0);return s=s%2?.5:1,r.inverted&&r.renderer.isVML&&(s+=1),this.options.crisp&&(i=Math.round(t+i)+n,i-=t=Math.round(t)+n),o=Math.round(e+o)+s,n=.5>=Math.abs(e)&&.5<o,o-=e=Math.round(e)+s,n&&o&&(--e,o+=1),{x:t,y:e,width:i,height:o}},e.prototype.adjustForMissingColumns=function(t,e,i,o){var r=this,s=this.options.stacking;if(!i.isNull&&1<o.columnCount){var n=0,a=0;C(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(t){if("number"==typeof i.x&&(t=t[i.x.toString()])){var e=t.points[r.index],o=t.total;s?(e&&(n=a),t.hasValidPoints&&a++):v(e)&&(n=e[1],a=o||0)}}),t=(i.plotX||0)+((a-1)*o.paddedWidth+e)/2-e-n*o.paddedWidth}return t},e.prototype.translate=function(){var t=this,e=t.chart,i=t.options,o=t.dense=2>t.closestPointRange*t.xAxis.transA;o=t.borderWidth=w(i.borderWidth,o?0:1);var r=t.xAxis,n=t.yAxis,a=i.threshold,h=t.translatedThreshold=n.getThreshold(a),l=w(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.barW=Math.max(d,1+2*o),f=t.pointXOffset=c.offset,m=t.dataMin,y=t.dataMax;e.inverted&&(h-=.5),i.pointPadding&&(p=Math.ceil(p)),s.prototype.translate.apply(t),t.points.forEach(function(o){var s=w(o.yBottom,h),v=999+Math.abs(s),b=d,C=o.plotX||0;v=u(o.plotY,-v,n.len+v),C+=f;var S=p,k=Math.min(v,s),M=Math.max(v,s)-k;if(l&&Math.abs(M)<l){M=l;var A=!n.reversed&&!o.negative||n.reversed&&o.negative;x(a)&&x(y)&&o.y===a&&y<=a&&(n.min||0)<a&&(m!==y||(n.max||0)<=a)&&(A=!A),k=Math.abs(k-h)>l?s-l:h-(A?l:0)}g(o.options.pointWidth)&&(b=S=Math.ceil(o.options.pointWidth),C-=Math.round((b-d)/2)),i.centerInCategory&&(C=t.adjustForMissingColumns(C,b,o,c)),o.barX=C,o.pointWidth=b,o.tooltipPos=e.inverted?[u(n.len+n.pos-e.plotLeft-v,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-C-S/2,M]:[r.left-e.plotLeft+C+S/2,u(v+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],o.shapeType=t.pointClass.prototype.shapeType||"rect",o.shapeArgs=t.crispCol.apply(t,o.isNull?[C,h,S,0]:[C,k,S,M])})},e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},e.prototype.pointAttribs=function(t,e){var i=this.options,o=this.pointAttrToOptions||{},r=o.stroke||"borderColor",s=o["stroke-width"]||"borderWidth",n=t&&t.color||this.color,a=t&&t[r]||i[r]||n,h=t&&t[s]||i[s]||this[s]||0;o=t&&t.options.dashStyle||i.dashStyle;var l=w(t&&t.opacity,i.opacity,1);if(t&&this.zones.length){var c=t.getZone();n=t.options.color||c&&(c.color||t.nonZonedColor)||this.color,c&&(a=c.borderColor||a,o=c.dashStyle||o,h=c.borderWidth||h)}return e&&t&&(e=(t=b(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,n=t.color||void 0!==e&&d(n).brighten(t.brightness).get()||n,a=t[r]||a,h=t[s]||h,o=t.dashStyle||o,l=w(t.opacity,l)),r={fill:n,stroke:a,"stroke-width":h,opacity:l},o&&(r.dashstyle=o),r},e.prototype.drawPoints=function(){var t,e=this,i=this.chart,o=e.options,r=i.renderer,s=o.animationLimit||250;e.points.forEach(function(n){var a=n.graphic,h=!!a,l=a&&i.pointCount<s?"animate":"attr";x(n.plotY)&&null!==n.y?(t=n.shapeArgs,a&&n.hasNewShapeType()&&(a=a.destroy()),e.enabledDataSorting&&(n.startXPos=e.xAxis.reversed?-(t&&t.width||0):e.xAxis.width),a||(n.graphic=a=r[n.shapeType](t).add(n.group||e.group))&&e.enabledDataSorting&&i.hasRendered&&i.pointCount<s&&(a.attr({x:n.startXPos}),h=!0,l="animate"),a&&h&&a[l](b(t)),o.borderRadius&&a[l]({r:o.borderRadius}),i.styledMode||a[l](e.pointAttribs(n,n.selected&&"select")).shadow(!1!==n.allowShadow&&o.shadow,null,o.stacking&&!o.borderRadius),a&&(a.addClass(n.getClassName(),!0),a.attr({visibility:n.visible?"inherit":"hidden"}))):a&&(n.graphic=a.destroy())})},e.prototype.drawTracker=function(){var t,e=this,i=e.chart,o=i.pointer,r=function(t){var e=o.getPointFromEvent(t);void 0!==e&&(o.isDirectTouch=!0,e.onMouseOver(t))};e.points.forEach(function(e){t=v(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){t.div?t.div.point=e:t.element.point=e})}),e._hasTracking||(e.trackerGroups.forEach(function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o.onTrackerMouseOut(t)}),p&&e[t].on("touchstart",r),!i.styledMode&&e.options.cursor&&e[t].css(f).css({cursor:e.options.cursor}))}),e._hasTracking=!0),y(this,"afterDrawTracker")},e.prototype.remove=function(){var t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),s.prototype.remove.apply(t,arguments)},e.defaultOptions=b(s.defaultOptions,{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:r.neutralColor20,borderColor:r.neutralColor100}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:r.backgroundColor}),e}(s),m(a.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:o.drawRectangle,getSymbol:t,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("column",a),a}),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i.merge;return(0,i.extend)((i=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return o(i,e),i.defaultOptions=r(t.defaultOptions,{}),i}(t)).prototype,{inverted:!0}),e.registerSeriesType("bar",i),i}),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Column/ColumnSeries.js"],i["Series/Line/LineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.addEvent,n=o.merge;return(0,o.extend)((o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.applyJitter=function(){var t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(o,r){["x","y"].forEach(function(s,n){var a="plot"+s.toUpperCase();if(e[s]&&!o.isNull){var h=t[s+"Axis"],l=e[s]*h.transA;if(h&&!h.isLog){var c=Math.max(0,o[a]-l);h=Math.min(h.len,o[a]+l),n=1e4*Math.sin(r+n*i),o[a]=c+(h-c)*(n-Math.floor(n)),"x"===s&&(o.clientX=o.plotX)}}})})},i.prototype.drawGraph=function(){(this.options.lineWidth||0===this.options.lineWidth&&this.graph&&this.graph.strokeWidth())&&t.prototype.drawGraph.call(this)},i.defaultOptions=n(e.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),i}(e)).prototype,{drawTracker:t.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),s(o,"afterTranslate",function(){this.applyJitter()}),i.registerSeriesType("scatter",o),o}),e(i,"Mixins/CenteredSeries.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.isNumber,r=i.pick,s=i.relativeLength,n=t.deg2rad;return t.CenteredSeriesMixin={getCenter:function(){var t=this.options,i=this.chart,o=2*(t.slicedOffset||0),n=i.plotWidth-2*o,a=i.plotHeight-2*o,h=t.center,l=Math.min(n,a),c=t.size,d=t.innerSize||0;for("string"==typeof c&&(c=parseFloat(c)),"string"==typeof d&&(d=parseFloat(d)),t=[r(h[0],"50%"),r(h[1],"50%"),r(c&&0>c?void 0:t.size,"100%"),r(d&&0>d?void 0:t.innerSize||0,"0%")],!i.angular||this instanceof e||(t[3]=0),h=0;4>h;++h)c=t[h],i=2>h||2===h&&/%$/.test(c),t[h]=s(c,[n,a,l,t[2]][h])+(i?o:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(t,e){return t=o(t)?t:0,e=o(e)&&e>t&&360>e-t?e:t+360,{start:n*(t+-90),end:n*(e+-90)}}}}),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=t.setAnimation,s=i.addEvent,n=i.defined;t=i.extend;var a=i.isNumber,h=i.pick,l=i.relativeLength;return i=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelDistance=void 0,e.options=void 0,e.series=void 0,e}return o(i,t),i.prototype.getConnectorPath=function(){var t=this.labelPosition,e=this.series.options.dataLabels,i=e.connectorShape,o=this.connectorShapes;return o[i]&&(i=o[i]),i.call(this,{x:t.final.x,y:t.final.y,alignment:t.alignment},t.connectorPosition,e)},i.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},i.prototype.haloPath=function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end})},i.prototype.init=function(){e.prototype.init.apply(this,arguments);var t=this;t.name=h(t.name,"Slice");var i=function(e){t.slice("select"===e.type)};return s(t,"select",i),s(t,"unselect",i),t},i.prototype.isValid=function(){return a(this.y)&&0<=this.y},i.prototype.setVisible=function(t,e){var i=this,o=i.series,r=o.chart,s=o.options.ignoreHiddenPoint;e=h(e,s),t!==i.visible&&(i.visible=i.options.visible=t=void 0===t?!i.visible:t,o.options.data[o.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){i[e]&&i[e][t?"show":"hide"](t)}),i.legendItem&&r.legend.colorizeItem(i,t),t||"hover"!==i.state||i.setState(""),s&&(o.isDirty=!0),e&&r.redraw())},i.prototype.slice=function(t,e,i){var o=this.series;r(i,o.chart),h(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},i}(e),t(i.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var o=e.breakAt;return e=e.touchingSliceAt,[["M",t.x,t.y],i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*o.x-e.x,2*o.y-e.y,o.x,o.y]:["L",o.x,o.y],["L",e.x,e.y]]},straight:function(t,e){return[["M",t.x,t.y],["L",(e=e.touchingSliceAt).x,e.y]]},crookedLine:function(t,e,i){e=e.touchingSliceAt;var o=this.series,r=o.center[0],s=o.chart.plotWidth,n=o.chart.plotLeft;o=t.alignment;var a=this.shapeArgs.r;return i=l(i.crookDistance,1),i=["L",s="left"===o?r+a+(s+n-r-a)*(1-i):n+(r-a)*i,t.y],r=!0,("left"===o?s>t.x||s<e.x:s<t.x||s>e.x)&&(r=!1),t=[["M",t.x,t.y]],r&&t.push(i),t.push(["L",e.x,e.y]),t}}}),i}),e(i,"Series/Pie/PieSeries.js",[i["Mixins/CenteredSeries.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Series/Pie/PiePoint.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){var c=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),d=t.getStartAndEndRadians;i=i.noop;var p=l.clamp,u=l.fireEvent,f=l.merge,g=l.pick,m=l.relativeLength;return(0,l.extend)((l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.center=void 0,e.data=void 0,e.maxLabelDistance=void 0,e.options=void 0,e.points=void 0,e}return c(e,t),e.prototype.animate=function(t){var e=this,i=e.startAngleRad;t||e.points.forEach(function(t){var o=t.graphic,r=t.shapeArgs;o&&r&&(o.attr({r:g(t.startR,e.center&&e.center[3]/2),start:i,end:i}),o.animate({r:r.r,start:r.start,end:r.end},e.options.animation))})},e.prototype.drawEmpty=function(){var t=this.startAngleRad,e=this.endAngleRad,i=this.options;if(0===this.total&&this.center){var o=this.center[0],s=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(o,s,this.center[1]/2,0,t,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:h.prototype.symbols.arc(o,s,this.center[2]/2,0,{start:t,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||"none",stroke:i.color||r.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())},e.prototype.drawPoints=function(){var t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},e.prototype.generatePoints=function(){t.prototype.generatePoints.call(this),this.updateTotals()},e.prototype.getX=function(t,e,i){var o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2;return t=Math.asin(p((t-o[1])/(r+i.labelDistance),-1,1)),o[0]+(e?-1:1)*Math.cos(t)*(r+i.labelDistance)+(0<i.labelDistance?(e?-1:1)*this.options.dataLabels.padding:0)},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.redrawPoints=function(){var t,e,i,o,r=this,s=r.chart,n=s.renderer,a=r.options.shadow;this.drawEmpty(),!a||r.shadowGroup||s.styledMode||(r.shadowGroup=n.g("shadow").attr({zIndex:-1}).add(r.group)),r.points.forEach(function(h){var l={};if(e=h.graphic,!h.isNull&&e){var c=void 0;o=h.shapeArgs,t=h.getTranslate(),s.styledMode||(c=h.shadowGroup,a&&!c&&(c=h.shadowGroup=n.g("shadow").add(r.shadowGroup)),c&&c.attr(t),i=r.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(e.setRadialReference(r.center).attr(o).attr(t),s.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}).shadow(a,c),h.delayedRendering=!1):(e.setRadialReference(r.center),s.styledMode||f(!0,l,i),f(!0,l,o,t),e.animate(l)),e.attr({visibility:h.visible?"inherit":"hidden"}),e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())})},e.prototype.sortByAngle=function(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})},e.prototype.translate=function(t){this.generatePoints();var e=0,i=this.options,o=i.slicedOffset,r=o+(i.borderWidth||0),s=d(i.startAngle,i.endAngle),n=this.startAngleRad=s.start;s=(this.endAngleRad=s.end)-n;var a=this.points,h=i.dataLabels.distance;i=i.ignoreHiddenPoint;var l,c=a.length;for(t||(this.center=t=this.getCenter()),l=0;l<c;l++){var p=a[l],f=n+e*s;!p.isValid()||i&&!p.visible||(e+=p.percentage/100);var y=n+e*s,v={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*f)/1e3,end:Math.round(1e3*y)/1e3};p.shapeType="arc",p.shapeArgs=v,p.labelDistance=g(p.options.dataLabels&&p.options.dataLabels.distance,h),p.labelDistance=m(p.labelDistance,v.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,p.labelDistance),(y=(y+f)/2)>1.5*Math.PI?y-=2*Math.PI:y<-Math.PI/2&&(y+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(y)*o),translateY:Math.round(Math.sin(y)*o)},v=Math.cos(y)*t[2]/2;var x=Math.sin(y)*t[2]/2;p.tooltipPos=[t[0]+.7*v,t[1]+.7*x],p.half=y<-Math.PI/2||y>Math.PI/2?1:0,p.angle=y,f=Math.min(r,p.labelDistance/5),p.labelPosition={natural:{x:t[0]+v+Math.cos(y)*p.labelDistance,y:t[1]+x+Math.sin(y)*p.labelDistance},final:{},alignment:0>p.labelDistance?"center":p.half?"right":"left",connectorPosition:{breakAt:{x:t[0]+v+Math.cos(y)*f,y:t[1]+x+Math.sin(y)*f},touchingSliceAt:{x:t[0]+v,y:t[1]+x}}}}u(this,"afterTranslate")},e.prototype.updateTotals=function(){var t,e=0,i=this.points,o=i.length,r=this.options.ignoreHiddenPoint;for(t=0;t<o;t++){var s=i[t];!s.isValid()||r&&!s.visible||(e+=s.y)}for(this.total=e,t=0;t<o;t++)(s=i[t]).percentage=0<e&&(s.visible||!r)?s.y/e*100:0,s.total=e},e.defaultOptions=f(n.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:r.backgroundColor,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),e}(n)).prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:o.drawRectangle,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:i,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:i,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",l),l}),e(i,"Core/Series/DataLabels.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.getDeferredAnimation,h=e.format;t=i.noop,s=s.seriesTypes;var l=n.arrayMax,c=n.clamp,d=n.defined,p=n.extend,u=n.fireEvent,f=n.isArray,g=n.merge,m=n.objectEach,y=n.pick,v=n.relativeLength,x=n.splat,b=n.stableSort;i.distribute=function(t,e,o){function r(t,e){return t.target-e.target}var s,n=!0,a=t,h=[],l=0,d=a.reducedLen||e;for(s=t.length;s--;)l+=t[s].size;if(l>d){for(b(t,function(t,e){return(e.rank||0)-(t.rank||0)}),l=s=0;l<=d;)l+=t[s].size,s++;h=t.splice(s-1,t.length)}for(b(t,r),t=t.map(function(t){return{size:t.size,targets:[t.target],align:y(t.align,.5)}});n;){for(s=t.length;s--;)n=t[s],l=(Math.min.apply(0,n.targets)+Math.max.apply(0,n.targets))/2,n.pos=c(l-n.size*n.align,0,e-n.size);for(s=t.length,n=!1;s--;)0<s&&t[s-1].pos+t[s-1].size>t[s].pos&&(t[s-1].size+=t[s].size,t[s-1].targets=t[s-1].targets.concat(t[s].targets),t[s-1].align=.5,t[s-1].pos+t[s-1].size>e&&(t[s-1].pos=e-t[s-1].size),t.splice(s,1),n=!0)}a.push.apply(a,h),s=0,t.some(function(t){var r=0;if(t.targets.some(function(){if(a[s].pos=t.pos+r,void 0!==o&&Math.abs(a[s].pos-a[s].target)>o)return a.slice(0,s+1).forEach(function(t){delete t.pos}),a.reducedLen=(a.reducedLen||e)-.1*e,a.reducedLen>.1*e&&i.distribute(a,e,o),!0;r+=a[s].size,s++}))return!0}),b(a,r)},r.prototype.drawDataLabels=function(){function t(t,e){var i,o=[];if(f(t)&&!f(e))o=t.map(function(t){return g(t,e)});else if(f(e)&&!f(t))o=e.map(function(e){return g(t,e)});else if(f(t)||f(e))for(i=Math.max(t.length,e.length);i--;)o[i]=g(t[i],e[i]);else o=g(t,e);return o}var e=this,i=e.chart,r=e.options,s=r.dataLabels,n=e.points,l=e.hasRendered||0,c=s.animation;c=s.defer?a(i,c,e):{defer:0,duration:0};var p=i.renderer;if(s=t(t(i.options.plotOptions&&i.options.plotOptions.series&&i.options.plotOptions.series.dataLabels,i.options.plotOptions&&i.options.plotOptions[e.type]&&i.options.plotOptions[e.type].dataLabels),s),u(this,"drawDataLabels"),f(s)||s.enabled||e._hasPointLabels){var v=e.plotGroup("dataLabelsGroup","data-labels",l?"inherit":"hidden",s.zIndex||6);v.attr({opacity:+l}),!l&&(l=e.dataLabelsGroup)&&(e.visible&&v.show(!0),l[r.animation?"animate":"attr"]({opacity:1},c)),n.forEach(function(n){x(t(s,n.dlOptions||n.options&&n.options.dataLabels)).forEach(function(t,s){var a=t.enabled&&(!n.isNull||n.dataLabelOnNull)&&function(t,e){var i=e.filter;return!i||(e=i.operator,t=t[i.property],i=i.value,">"===e&&t>i||"<"===e&&t<i||">="===e&&t>=i||"<="===e&&t<=i||"=="===e&&t==i||"==="===e&&t===i)}(n,t),l=n.dataLabels?n.dataLabels[s]:n.dataLabel,c=n.connectors?n.connectors[s]:n.connector,u=y(t.distance,n.labelDistance),f=!l;if(a){var g=n.getLabelConfig(),x=y(t[n.formatPrefix+"Format"],t.format);g=d(x)?h(x,g,i):(t[n.formatPrefix+"Formatter"]||t.formatter).call(g,t),x=t.style;var b=t.rotation;i.styledMode||(x.color=y(t.color,x.color,e.color,o.neutralColor100),"contrast"===x.color?(n.contrastColor=p.getContrast(n.color||e.color),x.color=!d(u)&&t.inside||0>u||r.stacking?n.contrastColor:o.neutralColor100):delete n.contrastColor,r.cursor&&(x.cursor=r.cursor));var w={r:t.borderRadius||0,rotation:b,padding:t.padding,zIndex:1};i.styledMode||(w.fill=t.backgroundColor,w.stroke=t.borderColor,w["stroke-width"]=t.borderWidth),m(w,function(t,e){void 0===t&&delete w[e]})}!l||a&&d(g)?a&&d(g)&&(l?w.text=g:(n.dataLabels=n.dataLabels||[],l=n.dataLabels[s]=b?p.text(g,0,-9999,t.useHTML).addClass("highcharts-data-label"):p.label(g,0,-9999,t.shape,null,null,t.useHTML,null,"data-label"),s||(n.dataLabel=l),l.addClass(" highcharts-data-label-color-"+n.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":""))),l.options=t,l.attr(w),i.styledMode||l.css(x).shadow(t.shadow),l.added||l.add(v),t.textPath&&!t.useHTML&&(l.setTextPath(n.getDataLabelPath&&n.getDataLabelPath(l)||n.graphic,t.textPath),n.dataLabelPath&&!t.textPath.enabled&&(n.dataLabelPath=n.dataLabelPath.destroy())),e.alignDataLabel(n,l,t,null,f)):(n.dataLabel=n.dataLabel&&n.dataLabel.destroy(),n.dataLabels&&(1===n.dataLabels.length?delete n.dataLabels:delete n.dataLabels[s]),s||delete n.dataLabel,c&&(n.connector=n.connector.destroy(),n.connectors&&(1===n.connectors.length?delete n.connectors:delete n.connectors[s])))})})}u(this,"afterDrawDataLabels")},r.prototype.alignDataLabel=function(t,e,i,o,r){var s=this,n=this.chart,a=this.isCartesian&&n.inverted,h=this.enabledDataSorting,l=y(t.dlBox&&t.dlBox.centerX,t.plotX,-9999),c=y(t.plotY,-9999),d=e.getBBox(),u=i.rotation,f=i.align,g=n.isInsidePlot(l,Math.round(c),{inverted:a,paneCoordinates:!0,series:s}),m="justify"===y(i.overflow,h?"none":"justify"),v=this.visible&&!1!==t.visible&&(t.series.forceDL||h&&!m||g||y(i.inside,!!this.options.stacking)&&o&&n.isInsidePlot(l,a?o.x+1:o.y+o.height-1,{inverted:a,paneCoordinates:!0,series:s})),x=function(i){h&&s.xAxis&&!m&&s.setDataLabelStartPos(t,e,r,g,i)};if(v){var b=n.renderer.fontMetrics(n.styledMode?void 0:i.style.fontSize,e).b;o=p({x:a?this.yAxis.len-c:l,y:Math.round(a?this.xAxis.len-l:c),width:0,height:0},o),p(i,{width:d.width,height:d.height}),u?(m=!1,l=n.renderer.rotCorr(b,u),x(l={x:o.x+(i.x||0)+o.width/2+l.x,y:o.y+(i.y||0)+{top:0,middle:.5,bottom:1}[i.verticalAlign]*o.height}),e[r?"attr":"animate"](l).attr({align:f}),x=180<(x=(u+720)%360)&&360>x,"left"===f?l.y-=x?d.height:0:"center"===f?(l.x-=d.width/2,l.y-=d.height/2):"right"===f&&(l.x-=d.width,l.y-=x?0:d.height),e.placed=!0,e.alignAttr=l):(x(o),e.align(i,void 0,o),l=e.alignAttr),m&&0<=o.height?this.justifyDataLabel(e,i,l,d,o,r):y(i.crop,!0)&&(v=n.isInsidePlot(l.x,l.y,{paneCoordinates:!0,series:s})&&n.isInsidePlot(l.x+d.width,l.y+d.height,{paneCoordinates:!0,series:s})),i.shape&&!u&&e[r?"attr":"animate"]({anchorX:a?n.plotWidth-t.plotY:t.plotX,anchorY:a?n.plotHeight-t.plotX:t.plotY})}r&&h&&(e.placed=!1),v||h&&!m||(e.hide(!0),e.placed=!1)},r.prototype.setDataLabelStartPos=function(t,e,i,o,r){var s=this.chart,n=s.inverted,a=this.xAxis,h=a.reversed,l=n?e.height/2:e.width/2;t=(t=t.pointWidth)?t/2:0,a=n?r.x:h?-l-t:a.width-l+t,r=n?h?this.yAxis.height-l+t:-l-t:r.y,e.startXPos=a,e.startYPos=r,o?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),s.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)},r.prototype.justifyDataLabel=function(t,e,i,o,r,s){var n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,c=e.x;c=void 0===c?0:c;var d=e.y,p=void 0===d?0:d;if(0>(d=(i.x||0)+l)){"right"===a&&0<=c?(e.align="left",e.inside=!0):c-=d;var u=!0}return(d=(i.x||0)+o.width-l)>n.plotWidth&&("left"===a&&0>=c?(e.align="right",e.inside=!0):c+=n.plotWidth-d,u=!0),0>(d=i.y+l)&&("bottom"===h&&0<=p?(e.verticalAlign="top",e.inside=!0):p-=d,u=!0),(d=(i.y||0)+o.height-l)>n.plotHeight&&("top"===h&&0>=p?(e.verticalAlign="bottom",e.inside=!0):p+=n.plotHeight-d,u=!0),u&&(e.x=c,e.y=p,t.placed=!s,t.align(e,void 0,r)),u},s.pie&&(s.pie.prototype.dataLabelPositioners={radialDistributionY:function(t){return t.top+t.distributeBox.pos},radialDistributionX:function(t,e,i,o){return t.getX(i<e.top+2||i>e.bottom-2?o:i,e.half,e)},justify:function(t,e,i){return i[0]+(t.half?-1:1)*(e+t.labelDistance)},alignToPlotEdges:function(t,e,i,o){return t=t.getBBox().width,e?t+o:i-t-o},alignToConnectors:function(t,e,i,o){var r,s=0;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>s&&(s=r)}),e?s+o:i-s-o}},s.pie.prototype.drawDataLabels=function(){var t,e,s,n,a,h,c,p,u,f,m,v,x=this,b=x.data,w=x.chart,C=x.options.dataLabels||{},S=C.connectorPadding,k=w.plotWidth,M=w.plotHeight,A=w.plotLeft,T=Math.round(w.chartWidth/3),P=x.center,O=P[2]/2,E=P[1],L=[[],[]],D=[0,0,0,0],j=x.dataLabelPositioners;x.visible&&(C.enabled||x._hasPointLabels)&&(b.forEach(function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(x),b.forEach(function(t){t.dataLabel&&(t.visible?(L[t.half].push(t),t.dataLabel._pos=null,!d(C.style.width)&&!d(t.options.dataLabels&&t.options.dataLabels.style&&t.options.dataLabels.style.width)&&t.dataLabel.getBBox().width>T&&(t.dataLabel.css({width:Math.round(.7*T)+"px"}),t.dataLabel.shortened=!0)):(t.dataLabel=t.dataLabel.destroy(),t.dataLabels&&1===t.dataLabels.length&&delete t.dataLabels))}),L.forEach(function(e,o){var r,s=e.length,l=[];if(s){if(x.sortByAngle(e,o-.5),0<x.maxLabelDistance){var g=Math.max(0,E-O-x.maxLabelDistance),b=Math.min(E+O+x.maxLabelDistance,w.plotHeight);e.forEach(function(t){0<t.labelDistance&&t.dataLabel&&(t.top=Math.max(0,E-O-t.labelDistance),t.bottom=Math.min(E+O+t.labelDistance,w.plotHeight),r=t.dataLabel.getBBox().height||21,t.distributeBox={target:t.labelPosition.natural.y-t.top+r/2,size:r,rank:t.y},l.push(t.distributeBox))}),i.distribute(l,g=b+r-g,g/5)}for(m=0;m<s;m++){if(n=(t=e[m]).dataLabel,f=!1===t.visible?"hidden":"inherit",u=g=(h=t.labelPosition).natural.y,l&&d(t.distributeBox)&&(void 0===t.distributeBox.pos?f="hidden":(c=t.distributeBox.size,u=j.radialDistributionY(t))),delete t.positionIndex,C.justify)p=j.justify(t,O,P);else switch(C.alignTo){case"connectors":p=j.alignToConnectors(e,o,k,A);break;case"plotEdges":p=j.alignToPlotEdges(n,o,k,A);break;default:p=j.radialDistributionX(x,t,u,g)}n._attr={visibility:f,align:h.alignment},n._pos={x:p+y((v=t.options.dataLabels||{}).x,C.x)+({left:S,right:-S}[h.alignment]||0),y:u+y(v.y,C.y)-10},h.final.x=p,h.final.y=u,y(C.crop,!0)&&(a=n.getBBox().width,g=null,p-a<S&&1===o?(g=Math.round(a-p+S),D[3]=Math.max(g,D[3])):p+a>k-S&&0===o&&(g=Math.round(p+a-k+S),D[1]=Math.max(g,D[1])),0>u-c/2?D[0]=Math.max(Math.round(c/2-u),D[0]):u+c/2>M&&(D[2]=Math.max(Math.round(u+c/2-M),D[2])),n.sideOverflow=g)}}}),0===l(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(t){var i;v=g(C,t.options.dataLabels),(e=y(v.connectorWidth,1))&&(s=t.connector,(n=t.dataLabel)&&n._pos&&t.visible&&0<t.labelDistance?(f=n._attr.visibility,(i=!s)&&(t.connector=s=w.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(x.dataLabelsGroup),w.styledMode||s.attr({"stroke-width":e,stroke:v.connectorColor||t.color||o.neutralColor60})),s[i?"attr":"animate"]({d:t.getConnectorPath()}),s.attr("visibility",f)):s&&(t.connector=s.destroy()))}))},s.pie.prototype.placeDataLabels=function(){this.points.forEach(function(t){var e,i=t.dataLabel;i&&t.visible&&((e=i._pos)?(i.sideOverflow&&(i._attr.width=Math.max(i.getBBox().width-i.sideOverflow,0),i.css({width:i._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),i.shortened=!0),i.attr(i._attr),i[i.moved?"animate":"attr"](e),i.moved=!0):i&&i.attr({y:-9999})),delete t.distributeBox},this)},s.pie.prototype.alignDataLabel=t,s.pie.prototype.verifyDataLabelOverflow=function(t){var e=this.center,i=this.options,o=i.center,r=i.minSize||80,s=null!==i.size;if(!s){if(null!==o[0])var n=Math.max(e[2]-Math.max(t[1],t[3]),r);else n=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2;null!==o[1]?n=c(n,r,e[2]-Math.max(t[0],t[2])):(n=c(n,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),n<e[2]?(e[2]=n,e[3]=Math.min(v(i.innerSize||0,n),n),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):s=!0}return s}),s.column&&(s.column.prototype.alignDataLabel=function(t,e,i,o,s){var n=this.chart.inverted,a=t.series,h=t.dlBox||t.shapeArgs,l=y(t.below,t.plotY>y(this.translatedThreshold,a.yAxis.len)),c=y(i.inside,!!this.options.stacking);h&&(0>(o=g(h)).y&&(o.height+=o.y,o.y=0),0<(h=o.y+o.height-a.yAxis.len)&&h<o.height&&(o.height-=h),n&&(o={x:a.yAxis.len-o.y-o.height,y:a.xAxis.len-o.x-o.width,width:o.height,height:o.width}),c||(n?(o.x+=l?0:o.width,o.width=0):(o.y+=l?o.height:0,o.height=0))),i.align=y(i.align,!n||c?"center":l?"right":"left"),i.verticalAlign=y(i.verticalAlign,n||c?"middle":l?"top":"bottom"),r.prototype.alignDataLabel.call(this,t,e,i,o,s),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})})}),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){var i=!1;if(t){var r=t.newOpacity;t.oldOpacity!==r&&(t.alignAttr&&t.placed?(t[r?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,t.alignAttr.opacity=r,t[t.isOld?"animate":"attr"](t.alignAttr,null,function(){e.styledMode||t.css({pointerEvents:r?"auto":"none"}),t.visibility=r?"inherit":"hidden"}),o(e,"afterHideOverlappingLabel")):t.attr({opacity:r})),t.isOld=!0}return i}var o=e.fireEvent,r=e.isArray,s=e.isNumber,n=e.objectEach,a=e.pick;(0,e.addEvent)(t,"render",function(){var t=this,e=[];(this.labelCollectors||[]).forEach(function(t){e=e.concat(t())}),(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&n(t.stacking.stacks,function(t){n(t,function(t){e.push(t.label)})})}),(this.series||[]).forEach(function(o){var s=o.options.dataLabels;o.visible&&(!1!==s.enabled||o._hasPointLabels)&&((s=function(o){return o.forEach(function(o){o.visible&&(r(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[]).forEach(function(r){var s=r.options;r.labelrank=a(s.labelrank,o.labelrank,o.shapeArgs&&o.shapeArgs.height),s.allowOverlap?(r.oldOpacity=r.opacity,r.newOpacity=1,i(r,t)):e.push(r)})})})(o.nodes||[]),s(o.points))}),this.hideOverlappingLabels(e)}),t.prototype.hideOverlappingLabels=function(t){var e,r,n,a=this,h=t.length,l=a.renderer,c=!1,d=function(t){var e,i,o=t.box?0:t.padding||0,r=e=0;if(t&&(!t.alignAttr||t.placed)){var n=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},a=t.parentGroup;return t.width||(e=t.getBBox(),t.width=e.width,t.height=e.height,e=l.fontMetrics(null,t.element).h),(i={left:"0",center:"0.5",right:"1"}[t.alignValue])?r=+i*(t.width-2*o):s(t.x)&&Math.round(t.x)!==t.translateX&&(r=t.x-t.translateX),{x:n.x+(a.translateX||0)+o-(r||0),y:n.y+(a.translateY||0)+o-e,width:t.width-2*o,height:t.height-2*o}}};for(r=0;r<h;r++)(e=t[r])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=d(e));for(t.sort(function(t,e){return(e.labelrank||0)-(t.labelrank||0)}),r=0;r<h;r++){var p=(d=t[r])&&d.absoluteBox;for(e=r+1;e<h;++e){var u=(n=t[e])&&n.absoluteBox;!p||!u||d===n||0===d.newOpacity||0===n.newOpacity||u.x>=p.x+p.width||u.x+u.width<=p.x||u.y>=p.y+p.height||u.y+u.height<=p.y||((d.labelrank<n.labelrank?d:n).newOpacity=0)}}t.forEach(function(t){i(t,a)&&(c=!0)}),c&&o(a,"afterHideAllOverlappingLabels")}}),e(i,"Core/Responsive.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){var i=e.find,o=e.isArray,r=e.isObject,s=e.merge,n=e.objectEach,a=e.pick,h=e.splat,l=e.uniqueKey;t.prototype.setResponsive=function(t,e){var o=this.options.responsive,r=[],n=this.currentResponsive;!e&&o&&o.rules&&o.rules.forEach(function(t){void 0===t._id&&(t._id=l()),this.matchResponsiveRule(t,r)},this),(e=s.apply(0,r.map(function(t){return i(o.rules,function(e){return e._id===t}).chartOptions}))).isResponsiveOptions=!0,(r=r.toString()||void 0)!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,t,!0),r?((n=this.currentOptions(e)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:e,undoOptions:n},this.update(e,t,!0)):this.currentResponsive=void 0)},t.prototype.matchResponsiveRule=function(t,e){var i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)},t.prototype.currentOptions=function(t){var e=this,i={};return function t(i,s,a,l){var c;n(i,function(i,n){if(!l&&-1<e.collectionsWithUpdate.indexOf(n)&&s[n])for(i=h(i),a[n]=[],c=0;c<Math.max(i.length,s[n].length);c++)s[n][c]&&(void 0===i[c]?a[n][c]=s[n][c]:(a[n][c]={},t(i[c],s[n][c],a[n][c],l+1)));else r(i)?(a[n]=o(i)?[]:{},t(i,s[n]||{},a[n],l+1)):a[n]=void 0===s[n]?null:s[n]})}(t,this.options,i,0),i}}),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Options.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/FormatUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Series/Series.js"]],function(t,e,i,o,r,s,n,a,h){return t.animate=r.animate,t.animObject=r.animObject,t.getDeferredAnimation=r.getDeferredAnimation,t.setAnimation=r.setAnimation,t.stop=r.stop,t.timers=o.timers,t.AST=s,t.Fx=o,t.Series=h,t.SVGElement=a,t.dateFormat=n.dateFormat,t.format=n.format,t.numberFormat=n.numberFormat,t.defaultOptions=i.defaultOptions,t.getOptions=i.getOptions,t.time=i.defaultTime,t.setOptions=i.setOptions,t.addEvent=e.addEvent,t.arrayMax=e.arrayMax,t.arrayMin=e.arrayMin,t.attr=e.attr,t.clearTimeout=e.clearTimeout,t.correctFloat=e.correctFloat,t.createElement=e.createElement,t.css=e.css,t.defined=e.defined,t.destroyObjectProperties=e.destroyObjectProperties,t.discardElement=e.discardElement,t.erase=e.erase,t.error=e.error,t.extend=e.extend,t.extendClass=e.extendClass,t.find=e.find,t.fireEvent=e.fireEvent,t.getMagnitude=e.getMagnitude,t.getStyle=e.getStyle,t.inArray=e.inArray,t.isArray=e.isArray,t.isClass=e.isClass,t.isDOMElement=e.isDOMElement,t.isFunction=e.isFunction,t.isNumber=e.isNumber,t.isObject=e.isObject,t.isString=e.isString,t.keys=e.keys,t.merge=e.merge,t.normalizeTickInterval=e.normalizeTickInterval,t.objectEach=e.objectEach,t.offset=e.offset,t.pad=e.pad,t.pick=e.pick,t.pInt=e.pInt,t.relativeLength=e.relativeLength,t.removeEvent=e.removeEvent,t.splat=e.splat,t.stableSort=e.stableSort,t.syncTimeout=e.syncTimeout,t.timeUnits=e.timeUnits,t.uniqueKey=e.uniqueKey,t.useSerialIds=e.useSerialIds,t.wrap=e.wrap,t}),e(i,"Series/XRange/XRangePoint.js",[i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();return(i=i.extend)((e=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=void 0,t.series=void 0,t}return o(i,e),i.getColorByCategory=function(t,e){var i=t.options.colors||t.chart.options.colors;return{colorIndex:t=e.y%(i?i.length:t.chart.options.chart.colorCount),color:i&&i[t]}},i.prototype.resolveColor=function(){var t=this.series;if(t.options.colorByPoint&&!this.options.color){var e=i.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color||(this.color=t.color)},i.prototype.init=function(){return t.prototype.init.apply(this,arguments),this.y||(this.y=0),this},i.prototype.setState=function(){t.prototype.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())},i.prototype.getLabelConfig=function(){var e=t.prototype.getLabelConfig.call(this),i=this.series.yAxis.categories;return e.x2=this.x2,e.yCategory=this.yCategory=i&&i[this.y],e},i.prototype.isValid=function(){return"number"==typeof this.x&&"number"==typeof this.x2},i}(e.seriesTypes.column.prototype.pointClass)).prototype,{tooltipDateKeys:["x","x2"]}),e}),e(i,"Series/XRange/XRangeComposition.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.pick;(0,e.addEvent)(t,"afterGetSeriesExtremes",function(){var t,e=this.series;if(this.isXAxis){var o=i(this.dataMax,-Number.MAX_VALUE);e.forEach(function(e){e.x2Data&&e.x2Data.forEach(function(e){e>o&&(o=e,t=!0)})}),t&&(this.dataMax=o)}})}),e(i,"Series/XRange/XRangeSeries.js",[i["Core/Globals.js"],i["Core/Color/Color.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"],i["Series/XRange/XRangePoint.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=e.parse,a=i.series,h=i.seriesTypes.column,l=h.prototype,c=o.clamp,d=o.correctFloat,p=o.defined;e=o.extend;var u=o.find,f=o.isNumber,g=o.isObject,m=o.merge,y=o.pick;return o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return s(e,t),e.prototype.init=function(){h.prototype.init.apply(this,arguments),this.options.stacking=void 0},e.prototype.getColumnMetrics=function(){function t(){e.series.forEach(function(t){var e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e})}var e=this.chart;t();var i=l.getColumnMetrics.call(this);return t(),i},e.prototype.cropData=function(t,e,i,o){return(e=a.prototype.cropData.call(this,this.x2Data,e,i,o)).xData=t.slice(e.start,e.end),e},e.prototype.findPointIndex=function(t){var e=this.cropped,i=this.cropStart,o=this.points,r=t.id;if(r)var s=(s=u(o,function(t){return t.id===r}))?s.index:void 0;return void 0===s&&(s=(s=u(o,function(e){return e.x===t.x&&e.x2===t.x2&&!e.touched}))?s.index:void 0),e&&f(s)&&f(i)&&s>=i&&(s-=i),s},e.prototype.translatePoint=function(t){var e=this.xAxis,i=this.yAxis,o=this.columnMetrics,r=this.options,s=r.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=o.offset,h=t.plotX,l=y(t.x2,t.x+(t.len||0)),d=e.translate(l,0,0,0,1);l=Math.abs(d-h);var u=this.chart.inverted,v=y(r.borderWidth,1)%2/2,x=o.offset,b=Math.round(o.width);s&&(0>(s-=l)&&(s=0),h-=s/2,d+=s/2),h=Math.max(h,-10),d=c(d,-10,e.len+10),p(t.options.pointWidth)&&(x-=(Math.ceil(t.options.pointWidth)-b)/2,b=Math.ceil(t.options.pointWidth)),r.pointPlacement&&f(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,r.pointPlacement)),r={x:Math.floor(Math.min(h,d))+v,y:Math.floor(t.plotY+x)+v,width:Math.round(Math.abs(d-h)),height:b,r:this.options.borderRadius},t.shapeArgs=r,u?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-r.width/2,a=(n=r.x)+r.width,0>n||a>e.len?(n=c(n,0,e.len),a=c(a,0,e.len),t.dlBox=m(r,{x:n,width:a-n,centerX:(s=a-n)?s/2:null})):t.dlBox=null,s=u?0:1,o=this.columnMetrics?this.columnMetrics.offset:-o.width/2,(n=t.tooltipPos)[a=u?1:0]=u?n[a]+r.width/2:n[a]+(e.reversed?-1:0)*r.width,n[s]=c(n[s]+(u?-1:1)*o,0,i.len-1),(i=t.partialFill)&&(g(i)&&(i=i.amount),f(i)||(i=0),t.partShapeArgs=m(r,{r:this.options.borderRadius}),h=Math.max(Math.round(l*i+t.plotX-h),0),t.clipRectArgs={x:e.reversed?r.x+l-h:r.x,y:r.y,width:h,height:r.height})},e.prototype.translate=function(){l.translate.apply(this,arguments),this.points.forEach(function(t){this.translatePoint(t)},this)},e.prototype.drawPoint=function(t,e){var i=this.options,o=this.chart.renderer,r=t.graphic,s=t.shapeType,a=t.shapeArgs,h=t.partShapeArgs,l=t.clipRectArgs,c=t.partialFill,d=i.stacking&&!i.borderRadius,p=t.state,u=i.states[p||"normal"]||{},f=void 0===p?"attr":e;p=this.pointAttribs(t,p),u=y(this.chart.options.chart.animation,u.animation),t.isNull||!1===t.visible?r&&(t.graphic=r.destroy()):(r?r.rect[e](a):(t.graphic=r=o.g("point").addClass(t.getClassName()).add(t.group||this.group),r.rect=o[s](m(a)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(r)),h&&(r.partRect?(r.partRect[e](m(h)),r.partialClipRect[e](m(l))):(r.partialClipRect=o.clipRect(l.x,l.y,l.width,l.height),r.partRect=o[s](h).addClass("highcharts-partfill-overlay").add(r).clip(r.partialClipRect))),this.chart.styledMode||(r.rect[e](p,u).shadow(i.shadow,null,d),h&&(g(c)||(c={}),g(i.partialFill)&&(c=m(i.partialFill,c)),t=c.fill||n(p.fill).brighten(-.3).get()||n(t.color||this.color).brighten(-.3).get(),p.fill=t,r.partRect[f](p,u).shadow(i.shadow,null,d))))},e.prototype.drawPoints=function(){var t=this,e=t.getAnimationVerb();t.points.forEach(function(i){t.drawPoint(i,e)})},e.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"},e.prototype.isPointInside=function(e){var i=e.shapeArgs,o=e.plotX,r=e.plotY;return i?void 0!==o&&void 0!==r&&0<=r&&r<=this.yAxis.len&&0<=(i.x||0)+(i.width||0)&&o<=this.xAxis.len:t.prototype.isPointInside.apply(this,arguments)},e.defaultOptions=m(h.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){var t=this.point.partialFill;if(g(t)&&(t=t.amount),f(t)&&0<t)return d(100*t)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 10px">{point.x} - {point.x2}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.yCategory}</b><br/>'},borderRadius:3,pointRange:0}),e}(h),e(o.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:a.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:t.noop,buildKDTree:t.noop,pointClass:r}),i.registerSeriesType("xrange",o),o}),e(i,"Series/Gantt/GanttPoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=e.pick;return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.options=void 0,e.series=void 0,e}return i(e,t),e.setGanttPointAliases=function(t){function e(e,i){void 0!==i&&(t[e]=i)}e("x",o(t.start,t.x)),e("x2",o(t.end,t.x2)),e("partialFill",o(t.completed,t.partialFill))},e.prototype.applyOptions=function(i,o){return i=t.prototype.applyOptions.call(this,i,o),e.setGanttPointAliases(i),i},e.prototype.isValid=function(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)},e}(t.seriesTypes.xrange.prototype.pointClass)}),e(i,"Gantt/Tree.js",[i["Core/Utilities.js"]],function(t){var e=t.extend,i=t.isNumber,o=t.pick,r=function(t,e){var i=t.reduce(function(t,e){var i=o(e.parent,"");return void 0===t[i]&&(t[i]=[]),t[i].push(e),t},{});return Object.keys(i).forEach(function(t,o){var r=i[t];""!==t&&-1===e.indexOf(t)&&(r.forEach(function(t){o[""].push(t)}),delete o[t])}),i},s=function(t,r,n,a,h,l){var c,d,p=0,u=0,f=l&&l.after,g=l&&l.before;return r={data:a,depth:n-1,id:t,level:n,parent:r},"function"==typeof g&&g(r,l),g=(h[t]||[]).map(function(e){var o=s(e.id,t,n+1,e,h,l),r=e.start;return e=!0===e.milestone?r:e.end,c=!i(c)||r<c?r:c,d=!i(d)||e>d?e:d,p=p+1+o.descendants,u=Math.max(o.height+1,u),o}),a&&(a.start=o(a.start,c),a.end=o(a.end,d)),e(r,{children:g,descendants:p,height:u}),"function"==typeof f&&f(r,l),r};return{getListOfParents:r,getNode:s,getTree:function(t,e){var i=t.map(function(t){return t.id});return t=r(t,i),s("",null,1,null,t,e)}}}),e(i,"Core/Axis/TreeGridTick.js",[i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e){var i,o=e.addEvent,r=e.isObject,s=e.isNumber,n=e.pick,a=e.wrap;return function(e){function i(){this.treeGrid||(this.treeGrid=new p(this))}function h(e,i){var o=!(e=e.treeGrid).labelIcon,r=i.renderer,a=i.xy,h=i.options,l=h.width||0,c=h.height||0,d=a.x-l/2-(h.padding||0);a=a.y-c/2;var p=i.collapsed?90:180,u=i.show&&s(a),f=e.labelIcon;f||(e.labelIcon=f=r.path(r.symbols[h.type](h.x||0,h.y||0,l,c)).addClass("highcharts-label-icon").add(i.group)),f.attr({y:u?0:-9999}),r.styledMode||f.attr({cursor:"pointer",fill:n(i.color,t.neutralColor60),"stroke-width":1,stroke:h.lineColor,strokeWidth:h.lineWidth||0}),f[o?"attr":"animate"]({translateX:d,translateY:a,rotation:p})}function l(t,e,i,o,a,h,l,c,d){var p=n(this.options&&this.options.labels,h);h=this.pos;var u=this.axis,f="treegrid"===u.options.type;return t=t.apply(this,[e,i,o,a,p,l,c,d]),f&&(e=p&&r(p.symbol,!0)?p.symbol:{},p=p&&s(p.indentation)?p.indentation:0,h=(h=(u=u.treeGrid.mapOfPosToGridNode)&&u[h])&&h.depth||1,t.x+=(e.width||0)+2*(e.padding||0)+(h-1)*p),t}function c(t){var e=this,i=e.pos,s=e.axis,a=e.label,l=s.treeGrid.mapOfPosToGridNode,c=s.options,d=n(e.options&&e.options.labels,c&&c.labels),p=d&&r(d.symbol,!0)?d.symbol:{},u=(l=l&&l[i])&&l.depth;c="treegrid"===c.type;var f=-1<s.tickPositions.indexOf(i);i=s.chart.styledMode,c&&l&&a&&a.element&&a.addClass("highcharts-treegrid-node-level-"+u),t.apply(e,Array.prototype.slice.call(arguments,1)),c&&a&&a.element&&l&&l.descendants&&0<l.descendants&&(s=s.treeGrid.isCollapsed(l),h(e,{color:!i&&a.styles&&a.styles.color||"",collapsed:s,group:a.parentGroup,options:p,renderer:a.renderer,show:f,xy:a.xy}),p="highcharts-treegrid-node-"+(s?"expanded":"collapsed"),a.addClass("highcharts-treegrid-node-"+(s?"collapsed":"expanded")).removeClass(p),i||a.css({cursor:"pointer"}),[a,e.treeGrid.labelIcon].forEach(function(t){t&&!t.attachedTreeGridEvents&&(o(t.element,"mouseover",function(){a.addClass("highcharts-treegrid-node-active"),a.renderer.styledMode||a.css({textDecoration:"underline"})}),o(t.element,"mouseout",function(){var t=r(d.style)?d.style:{};a.removeClass("highcharts-treegrid-node-active"),a.renderer.styledMode||a.css({textDecoration:t.textDecoration})}),o(t.element,"click",function(){e.treeGrid.toggleCollapse()}),t.attachedTreeGridEvents=!0)}))}var d=!1;e.compose=function(t){d||(o(t,"init",i),a(t.prototype,"getLabelPosition",l),a(t.prototype,"renderLabel",c),t.prototype.collapse=function(t){this.treeGrid.collapse(t)},t.prototype.expand=function(t){this.treeGrid.expand(t)},t.prototype.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)},d=!0)};var p=function(){function t(t){this.tick=t}return t.prototype.collapse=function(t){var e=this.tick,i=e.axis,o=i.brokenAxis;o&&i.treeGrid.mapOfPosToGridNode&&(e=i.treeGrid.collapse(i.treeGrid.mapOfPosToGridNode[e.pos]),o.setBreaks(e,n(t,!0)))},t.prototype.expand=function(t){var e=this.tick,i=e.axis,o=i.brokenAxis;o&&i.treeGrid.mapOfPosToGridNode&&(e=i.treeGrid.expand(i.treeGrid.mapOfPosToGridNode[e.pos]),o.setBreaks(e,n(t,!0)))},t.prototype.toggleCollapse=function(t){var e=this.tick,i=e.axis,o=i.brokenAxis;o&&i.treeGrid.mapOfPosToGridNode&&(e=i.treeGrid.toggleCollapse(i.treeGrid.mapOfPosToGridNode[e.pos]),o.setBreaks(e,n(t,!0)))},t}();e.Additions=p}(i||(i={})),i}),e(i,"Mixins/TreeSeries.js",[i["Core/Color/Color.js"],i["Core/Utilities.js"]],function(t,e){var i=e.extend,o=e.isArray,r=e.isNumber,s=e.isObject,n=e.merge,a=e.pick;return{getColor:function(e,i){var o,r=i.index,s=i.mapOptionsToLevel,n=i.parentColor,h=i.parentColorIndex,l=i.series,c=i.colors,d=i.siblings,p=l.points,u=l.chart.options.chart;if(e){if(p=p[e.i],e=s[e.level]||{},s=p&&e.colorByPoint)var f=p.index%(c?c.length:u.colorCount),g=c&&c[f];l.chart.styledMode||(c=p&&p.options.color,u=e&&e.color,(o=n)&&(o=(o=e&&e.colorVariation)&&"brightness"===o.key?t.parse(n).brighten(r/d*o.to).get():n),o=a(c,u,g,o,l.color));var m=a(p&&p.options.colorIndex,e&&e.colorIndex,f,h,i.colorIndex)}return{color:o,colorIndex:m}},getLevelOptions:function(t){var e=null;if(s(t)){e={};var a=r(t.from)?t.from:1,h=t.levels,l={},c=s(t.defaults)?t.defaults:{};for(o(h)&&(l=h.reduce(function(t,e){if(s(e)&&r(e.level)){var o=n({},e),h="boolean"==typeof o.levelIsConstant?o.levelIsConstant:c.levelIsConstant;delete o.levelIsConstant,delete o.level,s(t[e=e.level+(h?0:a-1)])?i(t[e],o):t[e]=o}return t},{})),h=r(t.to)?t.to:1,t=0;t<=h;t++)e[t]=n({},c,s(l[t])?l[t]:{})}return e},setTreeValues:function t(e,o){var r=o.before,s=o.idRoot,n=o.points[e.i],h=n&&n.options||{},l=0,c=[];return e.levelDynamic=e.level-("boolean"!=typeof o.levelIsConstant||o.levelIsConstant?0:o.mapIdToNode[s].level),e.name=a(n&&n.name,""),e.visible=s===e.id||"boolean"==typeof o.visible&&o.visible,"function"==typeof r&&(e=r(e,o)),e.children.forEach(function(r,s){var n=i({},o);i(n,{index:s,siblings:e.children.length,visible:e.visible}),r=t(r,n),c.push(r),r.visible&&(l+=r.val)}),e.visible=0<l||e.visible,r=a(h.value,l),e.children=c,e.childrenTotal=l,e.isLeaf=e.visible&&!l,e.val=r,e},updateRootId:function(t){if(s(t)){var e=s(t.options)?t.options:{};e=a(t.rootNode,e.rootId,""),s(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e}return e}}}),e(i,"Core/Axis/GridAxis.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.addEvent,s=o.defined,n=o.erase,a=o.find,h=o.isArray,l=o.isNumber,c=o.merge,d=o.pick,p=o.timeUnits,u=o.wrap,f=e.Chart;t.prototype.getMaxLabelDimensions=function(t,e){var i={width:0,height:0};return e.forEach(function(e){if(o.isObject(e=t[e],!0)){var r=o.isObject(e.label,!0)?e.label:{};e=r.getBBox?r.getBBox().height:0,r.textStr&&!l(r.textPxLength)&&(r.textPxLength=r.getBBox().width);var s=l(r.textPxLength)?Math.round(r.textPxLength):0;r.textStr&&(s=Math.round(r.getBBox().width)),i.height=Math.max(e,i.height),i.width=Math.max(s,i.width)}}),i},e.dateFormats.W=function(t){t=new this.Date(t);var e=(this.get("Day",t)+6)%7,i=new this.Date(t.valueOf());return this.set("Date",i,this.get("Date",t)-e+3),e=new this.Date(this.get("FullYear",i),0,1),4!==this.get("Day",e)&&(this.set("Month",t,0),this.set("Date",t,1+(11-this.get("Day",e))%7)),(1+Math.floor((i.valueOf()-e.valueOf())/6048e5)).toString()},e.dateFormats.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},r(f,"afterSetChartSize",function(){this.axes.forEach(function(t){(t.grid&&t.grid.columns||[]).forEach(function(t){t.setAxisSize(),t.setAxisTranslation()})})}),r(i,"afterGetLabelPosition",function(t){var e=this.label,i=this.axis,o=i.reversed,r=i.chart,s=i.options.grid||{},n=i.options.labels,a=n.align,h=m.Side[i.side],c=t.tickmarkOffset,d=i.tickPositions,p=this.pos-c;d=l(d[t.index+1])?d[t.index+1]-c:i.max+c;var u=i.tickSize("tick");if(c=u?u[0]:0,u=u?u[1]/2:0,!0===s.enabled){if("top"===h)var f=(s=i.top+i.offset)-c;else"bottom"===h?s=(f=r.chartHeight-i.bottom+i.offset)+c:(s=i.top+i.len-i.translate(o?d:p),f=i.top+i.len-i.translate(o?p:d));"right"===h?o=(h=r.chartWidth-i.right+i.offset)+c:"left"===h?h=(o=i.left+i.offset)-c:(h=Math.round(i.left+i.translate(o?d:p))-u,o=Math.round(i.left+i.translate(o?p:d))-u),this.slotWidth=o-h,t.pos.x="left"===a?h:"right"===a?o:h+(o-h)/2,t.pos.y=f+(s-f)/2,r=r.renderer.fontMetrics(n.style.fontSize,e.element),e=e.getBBox().height,n.useHTML?t.pos.y+=r.b+-e/2:(e=Math.round(e/r.h),t.pos.y+=(r.b-(r.h-r.f))/2+-(e-1)*r.h/2),t.pos.x+=i.horiz&&n.x||0}}),r(i,"labelFormat",function(t){var i=t.axis,o=t.value;if(i.options.grid&&i.options.grid.enabled){var r=i.tickPositions,s=(i.linkedParent||i).series[0],n=o===r[0];r=o===r[r.length-1];var h=s&&a(s.options.data,function(t){return t[i.isXAxis?"x":"y"]===o}),l=void 0;h&&s.is("gantt")&&(l=c(h),e.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(l)),t.isFirst=n,t.isLast=r,t.point=l}});var g=function(){function t(t){this.axis=t}return t.prototype.isOuterAxis=function(){var t=this.axis,e=t.grid.columnIndex,i=t.linkedParent&&t.linkedParent.grid.columns||t.grid.columns,o=e?t.linkedParent:t,r=-1,s=0;return t.chart[t.coll].forEach(function(e,i){e.side!==t.side||e.options.isInternal||(s=i,e===o&&(r=i))}),s===r&&(!l(e)||i.length===e)},t.prototype.renderBorder=function(t){var e=this.axis,i=e.chart.renderer,o=e.options;return t=i.path(t).addClass("highcharts-axis-line").add(e.axisBorder),i.styledMode||t.attr({stroke:o.lineColor,"stroke-width":o.lineWidth,zIndex:7}),t},t}(),m=function(){function e(){}return e.compose=function(i){t.keepProps.push("grid"),u(i.prototype,"unsquish",e.wrapUnsquish),r(i,"init",e.onInit),r(i,"afterGetOffset",e.onAfterGetOffset),r(i,"afterGetTitlePosition",e.onAfterGetTitlePosition),r(i,"afterInit",e.onAfterInit),r(i,"afterRender",e.onAfterRender),r(i,"afterSetAxisTranslation",e.onAfterSetAxisTranslation),r(i,"afterSetOptions",e.onAfterSetOptions),r(i,"afterSetOptions",e.onAfterSetOptions2),r(i,"afterSetScale",e.onAfterSetScale),r(i,"afterTickSize",e.onAfterTickSize),r(i,"trimTicks",e.onTrimTicks),r(i,"destroy",e.onDestroy)},e.onAfterGetOffset=function(){var t=this.grid;(t&&t.columns||[]).forEach(function(t){t.getOffset()})},e.onAfterGetTitlePosition=function(t){if(!0===(this.options.grid||{}).enabled){var i=this.axisTitle,o=this.height,r=this.horiz,s=this.left,n=this.offset,a=this.opposite,h=this.options,l=this.top,c=this.width,p=this.tickSize(),u=i&&i.getBBox().width,f=h.title.x,g=h.title.y,m=d(h.title.margin,r?5:10);i=this.chart.renderer.fontMetrics(h.title.style.fontSize,i).f,p=(r?l+o:s)+(r?1:-1)*(a?-1:1)*(p?p[0]/2:0)+(this.side===e.Side.bottom?i:0),t.titlePosition.x=r?s-(u||0)/2-m+f:p+(a?c:0)+n+f,t.titlePosition.y=r?p-(a?o:0)+(a?i:-i)/2+n+g:l-m+g}},e.onAfterInit=function(){var e=this.chart,i=this.options.grid,o=this.userOptions;if((i=void 0===i?{}:i).enabled){var r=this.options;r.labels.align=d(r.labels.align,"center"),this.categories||(r.showLastLabel=!1),this.labelRotation=0,r.labels.rotation=0}if(i.columns){r=this.grid.columns=[];for(var s=this.grid.columnIndex=0;++s<i.columns.length;){var a=c(o,i.columns[i.columns.length-s-1],{linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete a.grid.columns,(a=new t(this.chart,a)).grid.isColumn=!0,a.grid.columnIndex=s,n(e.axes,a),n(e[this.coll],a),r.push(a)}}},e.onAfterRender=function(){var t=this.grid,i=this.options;if(!0===(i.grid||{}).enabled){if(this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid&&this.grid.isOuterAxis()&&this.axisLine&&(i=i.lineWidth)){var o=(i=this.getLinePath(i))[0],r=i[1],s=((this.tickSize("tick")||[1])[0]-1)*(this.side===e.Side.top||this.side===e.Side.left?-1:1);"M"===o[0]&&"L"===r[0]&&(this.horiz?(o[2]+=s,r[2]+=s):(o[1]+=s,r[1]+=s)),!this.horiz&&this.chart.marginRight&&(o=[o,["L",this.left,o[2]]],s=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(this.max+this.tickmarkOffset)],r=[["M",r[1],this.toPixels(this.max+this.tickmarkOffset)],s],this.grid.upperBorder||0==this.min%1||(this.grid.upperBorder=this.grid.renderBorder(o)),this.grid.upperBorder&&this.grid.upperBorder.animate({d:o}),this.grid.lowerBorder||0==this.max%1||(this.grid.lowerBorder=this.grid.renderBorder(r)),this.grid.lowerBorder&&this.grid.lowerBorder.animate({d:r})),this.grid.axisLineExtra?this.grid.axisLineExtra.animate({d:i}):this.grid.axisLineExtra=this.grid.renderBorder(i),this.axisLine[this.showAxis?"show":"hide"](!0)}(t&&t.columns||[]).forEach(function(t){t.render()}),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&(t=this.max,r=this.tickPositions[this.tickPositions.length-1],this.min-(o=this.tickPositions[0])>(i=this.tickmarkOffset)?this.ticks[o].label.hide():this.ticks[o].label.show(),r-t>i?this.ticks[r].label.hide():this.ticks[r].label.show(),r-t<i&&0<r-t&&this.ticks[r].isLast?this.ticks[r].mark.hide():this.ticks[r-1]&&this.ticks[r-1].mark.show())}},e.onAfterSetAxisTranslation=function(){var t=this.tickPositions&&this.tickPositions.info,e=this.options,i=this.userOptions.labels||{};(e.grid||{}).enabled&&(this.horiz?(this.series.forEach(function(t){t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!s(i.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||1<t.count)&&(e.labels.align="left",s(i.x)||(e.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))},e.onAfterSetOptions=function(t){var e=this.options;t=t.userOptions;var i=e&&o.isObject(e.grid,!0)?e.grid:{};if(!0===i.enabled){var r=c(!0,{className:"highcharts-grid-axis "+(t.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"}},margin:0,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]]},t);"xAxis"===this.coll&&(s(t.linkedTo)&&!s(t.tickPixelInterval)&&(r.tickPixelInterval=350),s(t.tickPixelInterval)||!s(t.linkedTo)||s(t.tickPositioner)||s(t.tickInterval)||(r.tickPositioner=function(t,e){var i=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(i){var o,s=void 0,n=void 0,a=void 0,h=r.units;for(o=0;o<h.length;o++)if(h[o][0]===i.unitName){s=o;break}return h[s+1]?(a=h[s+1][0],n=(h[s+1][1]||[1])[0]):"year"===i.unitName&&(a="year",n=10*i.count),this.tickInterval=(i=p[a])*n,this.getTimeTicks({unitRange:i,count:n,unitName:a},t,e,this.options.startOfWeek)}})),c(!0,this.options,r),this.horiz&&(e.minPadding=d(t.minPadding,0),e.maxPadding=d(t.maxPadding,0)),l(e.grid.borderWidth)&&(e.tickWidth=e.lineWidth=i.borderWidth)}},e.onAfterSetOptions2=function(t){var e=(t=(t=t.userOptions)&&t.grid||{}).columns;t.enabled&&e&&c(!0,this.options,e[e.length-1])},e.onAfterSetScale=function(){(this.grid.columns||[]).forEach(function(t){t.setScale()})},e.onAfterTickSize=function(e){var i=t.defaultLeftAxisOptions,o=this.horiz,r=this.maxLabelDimensions,s=this.options.grid;(s=void 0===s?{}:s).enabled&&r&&(i=2*Math.abs(i.labels.x),o=o?s.cellHeight||i+r.height:i+r.width,h(e.tickSize)?e.tickSize[0]=o:e.tickSize=[o,0])},e.onDestroy=function(t){var e=this.grid;(e.columns||[]).forEach(function(e){e.destroy(t.keepEvents)}),e.columns=void 0},e.onInit=function(t){var e=(t=t.userOptions||{}).grid||{};e.enabled&&s(e.borderColor)&&(t.tickColor=t.lineColor=e.borderColor),this.grid||(this.grid=new g(this))},e.onTrimTicks=function(){var t=this.options,e=this.tickPositions,i=e[0],o=e[e.length-1],r=this.linkedParent&&this.linkedParent.min||this.min,s=this.linkedParent&&this.linkedParent.max||this.max,n=this.tickInterval;!0!==(t.grid||{}).enabled||this.categories||!this.horiz&&!this.isLinked||(i<r&&i+n>r&&!t.startOnTick&&(e[0]=r),o>s&&o-n<s&&!t.endOnTick&&(e[e.length-1]=s))},e.wrapUnsquish=function(t){var e=this.options.grid;return!0===(void 0===e?{}:e).enabled&&this.categories?this.tickInterval:t.apply(this,Array.prototype.slice.call(arguments,1))},e}();return function(t){(t=t.Side||(t.Side={}))[t.top=0]="top",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.left=3]="left"}(m||(m={})),m.compose(t),m}),e(i,"Core/Axis/BrokenAxis.js",[i["Core/Axis/Axis.js"],i["Core/Series/Series.js"],i["Extensions/Stacking.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.addEvent,s=o.find,n=o.fireEvent,a=o.isArray,h=o.isNumber,l=o.pick,c=function(){function e(t){this.hasBreaks=!1,this.axis=t}return e.isInBreak=function(t,e){var i=t.repeat||1/0,o=t.from,r=t.to-t.from;return e=e>=o?(e-o)%i:i-(o-e)%i,t.inclusive?e<=r:e<r&&0!==e},e.lin2Val=function(t){var i,o=this.brokenAxis;if(!(o=o&&o.breakArray)||!h(t))return t;for(i=0;i<o.length;i++){var r=o[i];if(r.from>=t)break;(r.to<t||e.isInBreak(r,t))&&(t+=r.len)}return t},e.val2Lin=function(t){var i=this.brokenAxis;if(!(i=i&&i.breakArray)||!h(t))return t;var o,r=t;for(o=0;o<i.length;o++){var s=i[o];if(s.to<=t)r-=s.len;else{if(s.from>=t)break;if(e.isInBreak(s,t)){r-=t-s.from;break}}}return r},e.prototype.findBreakAt=function(t,e){return s(e,function(e){return e.from<t&&t<e.to})},e.prototype.isInAnyBreak=function(t,i){var o,r=this.axis,s=r.options.breaks||[],n=s.length;if(n&&h(t)){for(;n--;)if(e.isInBreak(s[n],t)){var a=!0;o||(o=l(s[n].showPoints,!r.isXAxis))}var c=a&&i?a&&!o:a}return c},e.prototype.setBreaks=function(i,o){var r=this,s=r.axis,c=a(i)&&!!i.length;s.isDirty=r.hasBreaks!==c,r.hasBreaks=c,s.options.breaks=s.userOptions.breaks=i,s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),c||s.val2lin!==e.val2Lin||(delete s.val2lin,delete s.lin2val),c&&(s.userOptions.ordinal=!1,s.lin2val=e.lin2Val,s.val2lin=e.val2Lin,s.setExtremes=function(e,i,o,s,n){if(r.hasBreaks){for(var a,h=this.options.breaks;a=r.findBreakAt(e,h);)e=a.to;for(;a=r.findBreakAt(i,h);)i=a.from;i<e&&(i=e)}t.prototype.setExtremes.call(this,e,i,o,s,n)},s.setAxisTranslation=function(){if(t.prototype.setAxisTranslation.call(this),r.unitLength=void 0,r.hasBreaks){var i,o,a=s.options.breaks||[],c=[],d=[],p=0,u=s.userMin||s.min,f=s.userMax||s.max,g=l(s.pointRangePadding,0);a.forEach(function(t){i=t.repeat||1/0,h(u)&&h(f)&&(e.isInBreak(t,u)&&(u+=t.to%i-u%i),e.isInBreak(t,f)&&(f-=f%i-t.from%i))}),a.forEach(function(t){if(y=t.from,i=t.repeat||1/0,h(u)&&h(f)){for(;y-i>u;)y-=i;for(;y<u;)y+=i;for(o=y;o<f;o+=i)c.push({value:o,move:"in"}),c.push({value:o+t.to-t.from,move:"out",size:t.breakSize})}}),c.sort(function(t,e){return t.value===e.value?("in"===t.move?0:1)-("in"===e.move?0:1):t.value-e.value});var m=0,y=u;c.forEach(function(t){1===(m+="in"===t.move?1:-1)&&"in"===t.move&&(y=t.value),0===m&&h(y)&&(d.push({from:y,to:t.value,len:t.value-y-(t.size||0)}),p+=t.value-y-(t.size||0))}),r.breakArray=d,h(u)&&h(f)&&h(s.min)&&(r.unitLength=f-u-p+g,n(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:r.unitLength&&(s.transA*=(f-s.min+g)/r.unitLength),g&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=u,s.max=f)}}),l(o,!0)&&s.chart.redraw()},e}();return(o=function(){function t(){}return t.compose=function(t,o){t.keepProps.push("brokenAxis");var s=e.prototype;s.drawBreaks=function(t,e){var i,o,r,s,a=this,c=a.points;if(t&&t.brokenAxis&&t.brokenAxis.hasBreaks){var d=t.brokenAxis;e.forEach(function(e){i=d&&d.breakArray||[],o=t.isXAxis?t.min:l(a.options.threshold,t.min),c.forEach(function(a){s=l(a["stack"+e.toUpperCase()],a[e]),i.forEach(function(e){h(o)&&h(s)&&(r=!1,o<e.from&&s>e.to||o>e.from&&s<e.from?r="pointBreak":(o<e.from&&s>e.from&&s<e.to||o>e.from&&s>e.to&&s<e.from)&&(r="pointInBreak"),r&&n(t,r,{point:a,brk:e}))})})})}},s.gappedPath=function(){var t=this.currentDataGrouping,e=t&&t.gapSize;t=this.options.gapSize;var o,r=this.points.slice(),s=r.length-1,n=this.yAxis;if(t&&0<s)for("value"!==this.options.gapUnit&&(t*=this.basePointRange),e&&e>t&&e>=this.basePointRange&&(t=e),o=void 0;s--;)o&&!1!==o.visible||(o=r[s+1]),e=r[s],!1!==o.visible&&!1!==e.visible&&(o.x-e.x>t&&(r.splice(s+1,0,{isNull:!0,x:o=(e.x+o.x)/2}),n.stacking&&this.options.stacking&&((o=n.stacking.stacks[this.stackKey][o]=new i(n,n.options.stackLabels,!1,o,this.stack)).total=0)),o=e);return this.getGraphPath(r)},r(t,"init",function(){this.brokenAxis||(this.brokenAxis=new c(this))}),r(t,"afterInit",function(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}),r(t,"afterSetTickPositions",function(){var t=this.brokenAxis;if(t&&t.hasBreaks){var e,i=this.tickPositions,o=this.tickPositions.info,r=[];for(e=0;e<i.length;e++)t.isInAnyBreak(i[e])||r.push(i[e]);this.tickPositions=r,this.tickPositions.info=o}}),r(t,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}),r(o,"afterGeneratePoints",function(){var t=this.options.connectNulls,e=this.points,i=this.xAxis,o=this.yAxis;if(this.isDirty)for(var r=e.length;r--;){var s=e[r],n=!(null===s.y&&!1===t)&&(i&&i.brokenAxis&&i.brokenAxis.isInAnyBreak(s.x,!0)||o&&o.brokenAxis&&o.brokenAxis.isInAnyBreak(s.y,!0));s.visible=!n&&!1!==s.options.visible}}),r(o,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,l(this.pointArrayMap,["y"]))})},t}()).compose(t,e),o}),e(i,"Core/Axis/TreeGridAxis.js",[i["Core/Axis/Axis.js"],i["Core/Axis/Tick.js"],i["Gantt/Tree.js"],i["Core/Axis/TreeGridTick.js"],i["Mixins/TreeSeries.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n,a=r.getLevelOptions,h=s.addEvent,l=s.find,c=s.fireEvent,d=s.isArray,p=s.isObject,u=s.isString,f=s.merge,g=s.pick,m=s.wrap;return function(t){function r(t,e){var i=t.collapseStart||0;return(t=t.collapseEnd||0)>=e&&(i-=.5),{from:i,to:t,showPoints:!1}}function s(t,e,o){var r=[],s=[],n={},a={},h=-1,c="boolean"==typeof e&&e;return t=i.getTree(t,{after:function(t){var e=0,i=0;(t=a[t.pos]).children.forEach(function(t){i+=(t.descendants||0)+1,e=Math.max((t.height||0)+1,e)}),t.descendants=i,t.height=e,t.collapsed&&s.push(t)},before:function(t){var e=p(t.data,!0)?t.data:{},i=u(e.name)?e.name:"",o=n[t.parent];o=p(o,!0)?a[o.pos]:null;var s,d=function(t){return t.name===i};c&&p(o,!0)&&(s=l(o.children,d))?(d=s.pos,s.nodes.push(t)):d=h++,a[d]||(a[d]=s={depth:o?o.depth+1:0,name:i,id:e.id,nodes:[t],children:[],pos:d},-1!==d&&r.push(i),p(o,!0)&&o.children.push(s)),u(t.id)&&(n[t.id]=t),s&&!0===e.collapsed&&(s.collapsed=!0),t.pos=d}}),a=function(t,e){var i=function(t,o,r){var s=o+(-1===o?0:e-1),n=(s-o)/2,a=o+n;return t.nodes.forEach(function(t){var e=t.data;p(e,!0)&&(e.y=o+(e.seriesIndex||0),delete e.seriesIndex),t.pos=a}),r[a]=t,t.pos=a,t.tickmarkOffset=n+.5,t.collapseStart=s+.5,t.children.forEach(function(t){i(t,s+1,r),s=(t.collapseEnd||0)-.5}),t.collapseEnd=s+.5,r};return i(t[-1],-1,{})}(a,o),{categories:r,mapOfIdToNode:n,mapOfPosToGridNode:a,collapsedNodes:s,tree:t}}function n(t){t.target.axes.filter(function(t){return"treegrid"===t.options.type}).forEach(function(e){var i=e.options||{},o=i.labels,r=i.uniqueNames,n=0;if(i=i.max,!e.treeGrid.mapOfPosToGridNode||e.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty})){var h=e.series.reduce(function(t,e){return e.visible&&((e.options.data||[]).forEach(function(i){e.options.keys&&e.options.keys.length&&(i=e.pointClass.prototype.optionsToObject.call({series:e},i),e.pointClass.setGanttPointAliases(i)),p(i,!0)&&(i.seriesIndex=n,t.push(i))}),!0===r&&n++),t},[]);if(i&&h.length<i)for(var l=h.length;l<=i;l++)h.push({name:l+"\u200b"});i=s(h,r||!1,!0===r?n:1),e.categories=i.categories,e.treeGrid.mapOfPosToGridNode=i.mapOfPosToGridNode,e.hasNames=!0,e.treeGrid.tree=i.tree,e.series.forEach(function(t){var e=(t.options.data||[]).map(function(e){return d(e)&&t.options.keys&&t.options.keys.length&&h.forEach(function(t){0<=e.indexOf(t.x)&&0<=e.indexOf(t.x2)&&(e=t)}),p(e,!0)?f(e):e});t.visible&&t.setData(e,!1)}),e.treeGrid.mapOptionsToLevel=a({defaults:o,from:1,levels:o&&o.levels,to:e.treeGrid.tree&&e.treeGrid.tree.height}),"beforeRender"===t.type&&(e.treeGrid.collapsedNodes=i.collapsedNodes)}})}function y(t,i){var o,r=this.treeGrid.mapOptionsToLevel||{},s=this.ticks,n=s[i];if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var a=this.treeGrid.mapOfPosToGridNode[i];(r=r[a.depth])&&(o={labels:r}),n?(n.parameters.category=a.name,n.options=o,n.addLabel()):s[i]=new e(this,i,void 0,void 0,{category:a.name,tickmarkOffset:a.tickmarkOffset,options:o})}else t.apply(this,Array.prototype.slice.call(arguments,1))}function v(t){var e=this.options,i=t.apply(this,Array.prototype.slice.call(arguments,1));if("treegrid"===e.type&&this.treeGrid.mapOfPosToGridNode){var o=this.treeGrid.mapOfPosToGridNode[-1].height||0;i.width+=e.labels.indentation*(o-1)}return i}function x(t,e,i){var o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new C(o)),r&&(h(e,"beforeRender",n),h(e,"beforeRedraw",n),h(e,"addSeries",function(t){t.options.data&&(t=s(t.options.data,i.uniqueNames||!1,1),o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(t.collapsedNodes))}),h(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){var e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(function(e){return t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd})))})}),h(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=f({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},i,{reversed:!0,grid:{columns:void 0}})),t.apply(o,[e,i]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function b(t){var e=this.options;"treegrid"===e.type?(this.min=g(this.userMin,e.min,this.dataMin),this.max=g(this.userMax,e.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):t.apply(this,Array.prototype.slice.call(arguments,1))}var w=!1;t.compose=function(t){w||(m(t.prototype,"generateTick",y),m(t.prototype,"getMaxLabelDimensions",v),m(t.prototype,"init",x),m(t.prototype,"setTickInterval",b),o.compose(e),w=!0)};var C=function(){function t(t){this.axis=t}return t.prototype.setCollapsedStatus=function(t){var e=this.axis,i=e.chart;e.series.forEach(function(e){var o=e.options.data;if(t.id&&o){var r=i.get(t.id);e=o[e.data.indexOf(r)],r&&e&&(r.collapsed=t.collapsed,e.collapsed=t.collapsed)}})},t.prototype.collapse=function(t){var e=this.axis,i=e.options.breaks||[],o=r(t,e.max);return i.push(o),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i},t.prototype.expand=function(t){var e=this.axis,i=e.options.breaks||[],o=r(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===o.to&&e.from===o.from||t.push(e),t},[])},t.prototype.getTickPositions=function(){var t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(o,r){return!((r=+r)>=e&&r<=i)||t.brokenAxis&&t.brokenAxis.isInAnyBreak(r)||o.push(r),o},[])},t.prototype.isCollapsed=function(t){var e=this.axis,i=e.options.breaks||[],o=r(t,e.max);return i.some(function(t){return t.from===o.from&&t.to===o.to})},t.prototype.toggleCollapse=function(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)},t}();t.Additions=C}(n||(n={})),t.prototype.utils={getNode:i.getNode},n.compose(t),n}),e(i,"Extensions/CurrentDateIndication.js",[i["Core/Axis/Axis.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"],i["Core/Axis/PlotLineOrBand.js"]],function(t,e,i,o){var r=i.addEvent,s=i.merge;i=i.wrap;var n={color:e.highlightColor20,width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t)},rotation:0,style:{fontSize:"10px"}}};r(t,"afterSetOptions",function(){var t=this.options,e=t.currentDateIndicator;e&&((e="object"==typeof e?s(n,e):s(n)).value=Date.now(),e.className="highcharts-current-date-indicator",t.plotLines||(t.plotLines=[]),t.plotLines.push(e))}),r(o,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}),i(o.prototype,"getLabelText",function(t,e){var i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)})}),e(i,"Extensions/StaticScale.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.addEvent,r=i.defined,s=i.isNumber,n=i.pick;o(t,"afterSetOptions",function(){var t=this.chart.options.chart;!this.horiz&&s(this.options.staticScale)&&(!t.height||t.scrollablePlotArea&&t.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)}),e.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(t){var e=t.chart,i=!!e.initiatedScale&&e.options.animation,o=t.options.staticScale;if(t.staticScale&&r(t.min)){var s=n(t.brokenAxis&&t.brokenAxis.unitLength,t.max+t.tickInterval-t.min)*o;o=(s=Math.max(s,o))-e.plotHeight,!e.scrollablePixelsY&&1<=Math.abs(o)&&(e.plotHeight=s,e.redrawTrigger="adjustHeight",e.setSize(void 0,e.chartHeight+o,i)),t.series.forEach(function(t){(t=t.sharedClipKey&&e.sharedClips[t.sharedClipKey])&&t.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}),this.initiatedScale=!0),this.redrawTrigger=null},o(e,"render",e.prototype.adjustHeight)}),e(i,"Extensions/ArrowSymbols.js",[i["Core/Renderer/SVG/SVGRenderer.js"]],function(t){t.prototype.symbols.arrow=function(t,e,i,o){return[["M",t,e+o/2],["L",t+i,e],["L",t,e+o/2],["L",t+i,e+o]]},t.prototype.symbols["arrow-half"]=function(e,i,o,r){return t.prototype.symbols.arrow(e,i,o/2,r)},t.prototype.symbols["triangle-left"]=function(t,e,i,o){return[["M",t+i,e],["L",t,e+o/2],["L",t+i,e+o],["Z"]]},t.prototype.symbols["arrow-filled"]=t.prototype.symbols["triangle-left"],t.prototype.symbols["triangle-left-half"]=function(e,i,o,r){return t.prototype.symbols["triangle-left"](e,i,o/2,r)},t.prototype.symbols["arrow-filled-half"]=t.prototype.symbols["triangle-left-half"]}),e(i,"Gantt/Connection.js",[i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o){function r(t){var e=t.shapeArgs;return e?{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)}:(e=t.graphic&&t.graphic.getBBox())?{xMin:t.plotX-e.width/2,xMax:t.plotX+e.width/2,yMin:t.plotY-e.height/2,yMax:t.plotY+e.height/2}:null}var s=o.defined,n=o.error,a=o.extend,h=o.merge,l=o.objectEach,c=t.deg2rad,d=Math.max,p=Math.min;return a(e.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}),e=function(){function t(t,e,i){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0,this.init(t,e,i)}return t.prototype.init=function(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder},t.prototype.renderPath=function(t,e,i){var o=this.chart,r=o.styledMode,s=o.pathfinder,n=!o.options.chart.forExport&&!1!==i,a=this.graphics&&this.graphics.path;s.group||(s.group=o.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(o.seriesGroup)),s.group.translate(o.plotLeft,o.plotTop),a&&a.renderer||(a=o.renderer.path().add(s.group),r||a.attr({opacity:0})),a.attr(e),t={d:t},r||(t.opacity=1),a[n?"animate":"attr"](t,i),this.graphics=this.graphics||{},this.graphics.path=a},t.prototype.addMarker=function(t,e,i){var o=this.fromPoint.series.chart,r=o.pathfinder;o=o.renderer;var s="start"===t?this.fromPoint:this.toPoint,n=s.getPathfinderAnchorPoint(e);if(e.enabled&&((i="start"===t?i[1]:i[i.length-2])&&"M"===i[0]||"L"===i[0])){if(i=s.getRadiansToVector(i={x:i[1],y:i[2]},n),n=s.getMarkerVector(i,e.radius,n),i=-i/c,e.width&&e.height)var a=e.width,h=e.height;else a=h=2*e.radius;this.graphics=this.graphics||{},n={x:n.x-a/2,y:n.y-h/2,width:a,height:h,rotation:i,rotationOriginX:n.x,rotationOriginY:n.y},this.graphics[t]?this.graphics[t].animate(n):(this.graphics[t]=o.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker").attr(n).add(r.group),o.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},s.series.options.animation))}},t.prototype.getPath=function(t){var e=this.pathfinder,i=this.chart,o=e.algorithms[t.type],r=e.chartObstacles;return"function"!=typeof o?(n('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(o.requiresObstacles&&!r&&(r=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(r)),o(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),h({chartObstacles:r,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))},t.prototype.render=function(){var t=this.fromPoint,e=t.series,i=e.chart,o=i.pathfinder,r=h(i.options.connectors,e.options.connectors,t.options.connectors,this.options),n={};i.styledMode||(n.stroke=r.lineColor||t.color,n["stroke-width"]=r.lineWidth,r.dashStyle&&(n.dashstyle=r.dashStyle)),n.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,r=h(n,r),s(r.marker.radius)||(r.marker.radius=p(d(Math.ceil((r.algorithmMargin||8)/2)-1,1),5)),i=(t=this.getPath(r)).path,t.obstacles&&(o.lineObstacles=o.lineObstacles||[],o.lineObstacles=o.lineObstacles.concat(t.obstacles)),this.renderPath(i,n,e.options.animation),this.addMarker("start",h(r.marker,r.startMarker),i),this.addMarker("end",h(r.marker,r.endMarker),i)},t.prototype.destroy=function(){this.graphics&&(l(this.graphics,function(t){t.destroy()}),delete this.graphics)},t}(),t.Connection=e,a(i.prototype,{getPathfinderAnchorPoint:function(t){var e=r(this);switch(t.align){case"right":var i="xMax";break;case"left":i="xMin"}switch(t.verticalAlign){case"top":var o="yMin";break;case"bottom":o="yMax"}return{x:i?e[i]:(e.xMin+e.xMax)/2,y:o?e[o]:(e.yMin+e.yMax)/2}},getRadiansToVector:function(t,e){var i;return s(e)||(i=r(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)},getMarkerVector:function(t,e,i){for(var o=2*Math.PI,s=r(this),n=s.xMax-s.xMin,a=s.yMax-s.yMin,h=Math.atan2(a,n),l=!1,c=a/2,d=s.xMin+(n/=2),p=d,u=s=s.yMin+c,f=1,g=1;t<-Math.PI;)t+=o;for(;t>Math.PI;)t-=o;return o=Math.tan(t),t>-h&&t<=h?(g=-1,l=!0):t>h&&t<=Math.PI-h?g=-1:t>Math.PI-h||t<=-(Math.PI-h)?(f=-1,l=!0):f=-1,l?(p+=f*n,u+=g*n*o):(p+=a/(2*o)*f,u+=g*c),i.x!==d&&(p=i.x),i.y!==s&&(u=i.y),{x:p+e*Math.cos(t),y:u-e*Math.sin(t)}}}),e}),e(i,"Gantt/PathfinderAlgorithms.js",[i["Core/Utilities.js"]],function(t){function e(t,e,i){i=i||0;var o,r,s=t.length-1;for(e-=1e-7;i<=s;)if(0<(r=e-t[o=s+i>>1].xMin))i=o+1;else{if(!(0>r))return o;s=o-1}return 0<i?i-1:0}function i(t,i){for(var o=e(t,i.x+1)+1;o--;){var r;if((r=t[o].xMax>=i.x)&&(r=i.x<=(r=t[o]).xMax&&i.x>=r.xMin&&i.y<=r.yMax&&i.y>=r.yMin),r)return o}return-1}function o(t){var e=[];if(t.length){e.push(["M",t[0].start.x,t[0].start.y]);for(var i=0;i<t.length;++i)e.push(["L",t[i].end.x,t[i].end.y])}return e}function r(t,e){t.yMin=a(t.yMin,e.yMin),t.yMax=n(t.yMax,e.yMax),t.xMin=a(t.xMin,e.xMin),t.xMax=n(t.xMax,e.xMax)}var s=t.pick,n=Math.min,a=Math.max,h=Math.abs;(t=function(t,e,r){function n(t,e,i,o,r){return(t={x:t.x,y:t.y})[e]=i[o||e]+(r||0),t}function a(t,e,i){var o=h(e[i]-t[i+"Min"])>h(e[i]-t[i+"Max"]);return n(e,i,t,i+(o?"Max":"Min"),o?1:-1)}var l=[],c=s(r.startDirectionX,h(e.x-t.x)>h(e.y-t.y))?"x":"y",d=r.chartObstacles,p=i(d,t);if(-1<(r=i(d,e))){var u=d[r];u={start:r=a(u,e,c),end:e};var f=r}else f=e;return-1<p&&(r=a(d=d[p],t,c),l.push({start:t,end:r}),r[c]>=t[c]==r[c]>=f[c]&&(l.push({start:r,end:n(r,c="y"===c?"x":"y",d,c+((e=t[c]<e[c])?"Max":"Min"),e?1:-1)}),c="y"===c?"x":"y")),r=n(t=l.length?l[l.length-1].end:t,c,f),l.push({start:t,end:r}),c=n(r,"y"===c?"x":"y",f),l.push({start:r,end:c}),l.push(u),{path:o(l),obstacles:l}}).requiresObstacles=!0;var l=function(t,l,c){function d(t,i,o){var r,s=t.x<i.x?1:-1;if(t.x<i.x)var a=t,h=i;else a=i,h=t;if(t.y<i.y)var l=t,c=i;else l=i,c=t;for(r=0>s?n(e(C,h.x),C.length-1):0;C[r]&&(0<s&&C[r].xMin<=h.x||0>s&&C[r].xMax>=a.x);){if(C[r].xMin<=h.x&&C[r].xMax>=a.x&&C[r].yMin<=c.y&&C[r].yMax>=l.y)return o?{y:t.y,x:t.x<i.x?C[r].xMin-1:C[r].xMax+1,obstacle:C[r]}:{x:t.x,y:t.y<i.y?C[r].yMin-1:C[r].yMax+1,obstacle:C[r]};r+=s}return i}function p(t,e,i,o,r){var s=r.soft,n=r.hard,a=o?"x":"y",l={x:e.x,y:e.y},c={x:e.x,y:e.y};r=t[a+"Max"]>=s[a+"Max"],s=t[a+"Min"]<=s[a+"Min"];var p=t[a+"Max"]>=n[a+"Max"];n=t[a+"Min"]<=n[a+"Min"];var u=h(t[a+"Min"]-e[a]),f=h(t[a+"Max"]-e[a]);return i=10>h(u-f)?e[a]<i[a]:f<u,c[a]=t[a+"Min"],l[a]=t[a+"Max"],t=d(e,c,o)[a]!==c[a],e=d(e,l,o)[a]!==l[a],i=t?!e||i:!e&&i,i=s?!r||i:!r&&i,n?!p||i:!p&&i}var u=s(c.startDirectionX,h(l.x-t.x)>h(l.y-t.y)),f=u?"x":"y",g=[],m=!1,y=c.obstacleMetrics,v=n(t.x,l.x)-y.maxWidth-10,x=a(t.x,l.x)+y.maxWidth+10,b=n(t.y,l.y)-y.maxHeight-10,w=a(t.y,l.y)+y.maxHeight+10,C=c.chartObstacles,S=e(C,v);if(y=e(C,x),-1<(y=i(C=C.slice(S,y+1),l))){var k=function(t,e,i){var o=n(t.xMax-e.x,e.x-t.xMin)<n(t.yMax-e.y,e.y-t.yMin);return i=p(t,e,i,o,{soft:c.hardBounds,hard:c.hardBounds}),o?{y:e.y,x:t[i?"xMax":"xMin"]+(i?1:-1)}:{x:e.x,y:t[i?"yMax":"yMin"]+(i?1:-1)}}(C[y],l,t);g.push({end:l,start:k}),l=k}for(;-1<(y=i(C,l));)(k={x:l.x,y:l.y})[f]=C[y][(S=0>l[f]-t[f])?f+"Max":f+"Min"]+(S?1:-1),g.push({end:l,start:k}),l=k;return{path:o(t=(t=function t(e,o,s){if(e.x===o.x&&e.y===o.y)return[];var h=s?"x":"y",l=c.obstacleOptions.margin,u={soft:{xMin:v,xMax:x,yMin:b,yMax:w},hard:c.hardBounds},f=i(C,e);if(-1<f){u=p(f=C[f],e,o,s,u),r(f,c.hardBounds);var g=s?{y:e.y,x:f[u?"xMax":"xMin"]+(u?1:-1)}:{x:e.x,y:f[u?"yMax":"yMin"]+(u?1:-1)},y=i(C,g);-1<y&&(r(y=C[y],c.hardBounds),g[h]=u?a(f[h+"Max"]-l+1,(y[h+"Min"]+f[h+"Max"])/2):n(f[h+"Min"]+l-1,(y[h+"Max"]+f[h+"Min"])/2),e.x===g.x&&e.y===g.y?(m&&(g[h]=u?a(f[h+"Max"],y[h+"Max"])+1:n(f[h+"Min"],y[h+"Min"])-1),m=!m):m=!1),e=[{start:e,end:g}]}else e=[{start:e,end:{x:(h=d(e,{x:s?o.x:e.x,y:s?e.y:o.y},s)).x,y:h.y}}],h[s?"x":"y"]!==o[s?"x":"y"]&&(u=p(h.obstacle,h,o,!s,u),r(h.obstacle,c.hardBounds),e=e.concat(t({x:h.x,y:h.y},u={x:s?h.x:h.obstacle[u?"xMax":"xMin"]+(u?1:-1),y:s?h.obstacle[u?"yMax":"yMin"]+(u?1:-1):h.y},s=!s)));return e.concat(t(e[e.length-1].end,o,!s))}(t,l,u)).concat(g.reverse())),obstacles:t}};return l.requiresObstacles=!0,{fastAvoid:l,straight:function(t,e){return{path:[["M",t.x,t.y],["L",e.x,e.y]],obstacles:[{start:t,end:e}]}},simpleConnect:t}}),e(i,"Gantt/Pathfinder.js",[i["Gantt/Connection.js"],i["Core/Chart/Chart.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"],i["Gantt/PathfinderAlgorithms.js"]],function(t,e,i,o,r,s,n){function a(t){var e=t.shapeArgs;return e?{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)}:(e=t.graphic&&t.graphic.getBBox())?{xMin:t.plotX-e.width/2,xMax:t.plotX+e.width/2,yMin:t.plotY-e.height/2,yMax:t.plotY+e.height/2}:null}function h(t){for(var e,i,o=t.length,r=0,s=[],n=function(t,e,i){i=g(i,10);var o=t.yMax+i>e.yMin-i&&t.yMin-i<e.yMax+i,r=t.xMax+i>e.xMin-i&&t.xMin-i<e.xMax+i,s=o?t.xMin>e.xMax?t.xMin-e.xMax:e.xMin-t.xMax:1/0,a=r?t.yMin>e.yMax?t.yMin-e.yMax:e.yMin-t.yMax:1/0;return r&&o?i?n(t,e,Math.floor(i/2)):1/0:v(s,a)};r<o;++r)for(e=r+1;e<o;++e)80>(i=n(t[r],t[e]))&&s.push(i);return s.push(80),y(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}function l(t){(t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&f(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(f(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),p('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.'))}var c=s.addEvent,d=s.defined,p=s.error,u=s.extend,f=s.merge,g=s.pick,m=s.splat,y=Math.max,v=Math.min;u(o.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var x=function(){function e(t){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0,this.init(t)}return e.prototype.init=function(t){this.chart=t,this.connections=[],c(t,"redraw",function(){this.pathfinder.update()})},e.prototype.update=function(e){var i=this.chart,o=this,s=o.connections;o.connections=[],i.series.forEach(function(e){e.visible&&!e.options.isInternal&&e.points.forEach(function(e){var s,n=e.options;n&&n.dependency&&(n.connect=n.dependency),n=e.options&&e.options.connect&&m(e.options.connect),e.visible&&!1!==e.isInside&&n&&n.forEach(function(n){(s=i.get("string"==typeof n?n:n.to))instanceof r&&s.series.visible&&s.visible&&!1!==s.isInside&&o.connections.push(new t(e,s,"string"==typeof n?{}:n))})})});for(var n=0,a=void 0,h=void 0,l=s.length,c=o.connections.length;n<l;++n){for(h=!1,a=0;a<c;++a)if(s[n].fromPoint===o.connections[a].fromPoint&&s[n].toPoint===o.connections[a].toPoint){o.connections[a].graphics=s[n].graphics,h=!0;break}h||s[n].destroy()}delete this.chartObstacles,delete this.lineObstacles,o.renderConnections(e)},e.prototype.renderConnections=function(t){t?this.chart.series.forEach(function(t){var e=function(){var e=t.chart.pathfinder;(e&&e.connections||[]).forEach(function(e){e.fromPoint&&e.fromPoint.series===t&&e.render()}),t.pathfinderRemoveRenderEvent&&(t.pathfinderRemoveRenderEvent(),delete t.pathfinderRemoveRenderEvent)};!1===t.options.animation?e():t.pathfinderRemoveRenderEvent=c(t,"afterAnimate",e)}):this.connections.forEach(function(t){t.render()})},e.prototype.getChartObstacles=function(t){for(var e,i=[],o=this.chart.series,r=g(t.algorithmMargin,0),s=0,n=o.length;s<n;++s)if(o[s].visible&&!o[s].options.isInternal){var l=0,c=o[s].points.length,p=void 0;for(p=void 0;l<c;++l)(p=o[s].points[l]).visible&&(p=a(p))&&i.push({xMin:p.xMin-r,xMax:p.xMax+r,yMin:p.yMin-r,yMax:p.yMax+r})}return i=i.sort(function(t,e){return t.xMin-e.xMin}),d(t.algorithmMargin)||(e=t.algorithmMargin=h(i),i.forEach(function(t){t.xMin-=e,t.xMax+=e,t.yMin-=e,t.yMax+=e})),i},e.prototype.getObstacleMetrics=function(t){for(var e,i,o=0,r=0,s=t.length;s--;)o<(e=t[s].xMax-t[s].xMin)&&(o=e),r<(i=t[s].yMax-t[s].yMin)&&(r=i);return{maxHeight:r,maxWidth:o}},e.prototype.getAlgorithmStartDirection=function(t){var e="top"!==t.verticalAlign&&"bottom"!==t.verticalAlign;return"left"!==t.align&&"right"!==t.align?!!e&&void 0:!!e||void 0},e}();return x.prototype.algorithms=n,i.Pathfinder=x,u(r.prototype,{getPathfinderAnchorPoint:function(t){var e=a(this);switch(t.align){case"right":var i="xMax";break;case"left":i="xMin"}switch(t.verticalAlign){case"top":var o="yMin";break;case"bottom":o="yMax"}return{x:i?e[i]:(e.xMin+e.xMax)/2,y:o?e[o]:(e.yMin+e.yMax)/2}},getRadiansToVector:function(t,e){var i;return d(e)||(i=a(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)},getMarkerVector:function(t,e,i){for(var o=2*Math.PI,r=a(this),s=r.xMax-r.xMin,n=r.yMax-r.yMin,h=Math.atan2(n,s),l=!1,c=n/2,d=r.xMin+(s/=2),p=d,u=r=r.yMin+c,f=1,g=1;t<-Math.PI;)t+=o;for(;t>Math.PI;)t-=o;return o=Math.tan(t),t>-h&&t<=h?(g=-1,l=!0):t>h&&t<=Math.PI-h?g=-1:t>Math.PI-h||t<=-(Math.PI-h)?(f=-1,l=!0):f=-1,l?(p+=f*s,u+=g*s*o):(p+=n/(2*o)*f,u+=g*c),i.x!==d&&(p=i.x),i.y!==r&&(u=i.y),{x:p+e*Math.cos(t),y:u-e*Math.sin(t)}}}),e.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&(l(t),this.pathfinder=new x(this),this.pathfinder.update(!0))}),x}),e(i,"Series/Gantt/GanttSeries.js",[i["Series/Gantt/GanttPoint.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=e.series,s=e.seriesTypes.xrange,n=i.isNumber,a=i.merge,h=i.splat;return(0,i.extend)((i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return o(e,t),e.prototype.drawPoint=function(t,e){var i=this.options,o=this.chart.renderer,r=t.shapeArgs,a=t.graphic,h=t.selected&&"select",l=i.stacking&&!i.borderRadius;t.options.milestone?n(t.plotY)&&null!==t.y&&!1!==t.visible?(r=o.symbols.diamond(r.x||0,r.y||0,r.width||0,r.height||0),a?a[e]({d:r}):t.graphic=o.path(r).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,h)).shadow(i.shadow,null,l)):a&&(t.graphic=a.destroy()):s.prototype.drawPoint.call(this,t,e)},e.prototype.translatePoint=function(t){if(s.prototype.translatePoint.call(this,t),t.options.milestone){var e=t.shapeArgs,i=e.height||0;t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i}}},e.defaultOptions=a(s.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'<span style="font-size: 10px">{series.name}</span><br/>',pointFormat:null,pointFormatter:function(){var t=this.series,e=t.chart.tooltip,i=t.xAxis,o=t.tooltipOptions.dateTimeLabelFormats,r=i.options.startOfWeek,s=t.tooltipOptions,n=s.xDateFormat,a=this.options.milestone,l="<b>"+(this.name||this.yCategory)+"</b>";return s.pointFormat?this.tooltipFormatter(s.pointFormat):(n||(n=h(e.getDateFormat(i.closestPointRange,this.start,r,o))[0]),e=t.chart.time.dateFormat(n,this.start),t=t.chart.time.dateFormat(n,this.end),l+="<br/>",a?l+(e+"<br/>"):l+"Start: "+e+"<br/>End: "+t+"<br/>")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),e}(s)).prototype,{keyboardMoveVertical:!1,pointArrayMap:["start","end","y"],pointClass:t,setData:r.prototype.setData}),e.registerSeriesType("gantt",i),i}),e(i,"Core/Chart/GanttChart.js",[i["Core/Chart/Chart.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=e.getOptions,s=i.isArray,n=i.merge,a=i.splat;return function(t){t.ganttChart=function(e,i,o){return new t(e,i,o)}}((t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.init=function(e,i){var o,h=e.series,l=r();s(e.xAxis)||(e.xAxis=[e.xAxis||{},{}]),e.xAxis=e.xAxis.map(function(t,e){return 1===e&&(o=0),n(l.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:o},t,{type:"datetime"})}),e.yAxis=a(e.yAxis||{}).map(function(t){return n(l.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)}),delete e.series,(e=n(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},e,{isGantt:!0})).series=h,t.prototype.init.call(this,e,i)},e}(t))||(t={})),t}),e(i,"Core/Axis/ScrollbarAxis.js",[i["Core/Utilities.js"]],function(t){var e=t.addEvent,i=t.defined,o=t.pick;return function(){function t(){}return t.compose=function(t,r){var s=function(t){var e=o(t.options&&t.options.min,t.min),r=o(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:r,scrollMin:i(t.dataMin)?Math.min(e,t.min,t.dataMin,o(t.threshold,1/0)):e,scrollMax:i(t.dataMax)?Math.max(r,t.max,t.dataMax,o(t.threshold,-1/0)):r}};e(t,"afterInit",function(){var t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new r(t.chart.renderer,t.options.scrollbar,t.chart),e(t.scrollbar,"changed",function(e){var o=s(t),r=o.axisMax,n=o.scrollMin,a=o.scrollMax-n;i(o.axisMin)&&i(r)&&(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(o=n+a*this.to,n+=a*this.from):(o=n+a*(1-this.from),n+=a*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)?t.setExtremes(n,o,!0,"mousemove"!==e.DOMType&&"touchmove"!==e.DOMType,e):this.setRange(this.from,this.to))}))}),e(t,"afterRender",function(){var t=s(this),e=t.scrollMin,o=t.scrollMax,r=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,a=this.options.margin||0;(t=this.scrollbar)&&(this.horiz?(this.opposite||(n[1]+=r),t.position(this.left,this.top+this.height+2+n[1]-(this.opposite?a:0),this.width,this.height),this.opposite||(n[1]+=a),r=1):(this.opposite&&(n[0]+=r),t.position(this.left+this.width+2+n[0]-(this.opposite?0:a),this.top,this.width,this.height),this.opposite&&(n[0]+=a),r=0),n[r]+=t.size+t.options.margin,isNaN(e)||isNaN(o)||!i(this.min)||!i(this.max)||this.min===this.max?t.setRange(0,1):(n=(this.min-e)/(o-e),e=(this.max-e)/(o-e),this.horiz&&!this.reversed||!this.horiz&&this.reversed?t.setRange(n,e):t.setRange(1-e,1-n)))}),e(t,"afterGetOffset",function(){var t=this.horiz?2:1,e=this.scrollbar;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[t]+=e.size+e.options.margin)})},t}()}),e(i,"Core/Scrollbar.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Axis/ScrollbarAxis.js"],i["Core/Utilities.js"],i["Core/Options.js"]],function(t,e,i,o,r,s){var n=r.addEvent,a=r.correctFloat,h=r.defined,l=r.destroyObjectProperties,c=r.fireEvent,d=r.merge,p=r.pick,u=r.removeEvent;r=s.defaultOptions;var f=e.isTouchDevice,g=e.swapXY=function(t,e){return e&&t.forEach(function(t){for(var e,i=t.length,o=0;o<i;o+=2)"number"==typeof(e=t[o+1])&&(t[o+1]=t[o+2],t[o+2]=e)}),t};return s=function(){function t(t,e,i){this._events=[],this.from=this.chartY=this.chartX=0,this.scrollbar=this.group=void 0,this.scrollbarButtons=[],this.scrollbarGroup=void 0,this.scrollbarLeft=0,this.scrollbarRifles=void 0,this.scrollbarStrokeWidth=1,this.to=this.size=this.scrollbarTop=0,this.track=void 0,this.trackBorderWidth=1,this.userOptions={},this.y=this.x=0,this.chart=i,this.options=e,this.renderer=i.renderer,this.init(t,e,i)}return t.prototype.addEvents=function(){var t=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,o=this.scrollbarGroup.element,r=this.track.element,s=this.mouseDownHandler.bind(this),a=this.mouseMoveHandler.bind(this),h=this.mouseUpHandler.bind(this);t=[[i[t[0]].element,"click",this.buttonToMinClick.bind(this)],[i[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[r,"click",this.trackClick.bind(this)],[o,"mousedown",s],[o.ownerDocument,"mousemove",a],[o.ownerDocument,"mouseup",h]],e.hasTouch&&t.push([o,"touchstart",s],[o.ownerDocument,"touchmove",a],[o.ownerDocument,"touchend",h]),t.forEach(function(t){n.apply(null,t)}),this._events=t},t.prototype.buttonToMaxClick=function(t){var e=(this.to-this.from)*p(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.buttonToMinClick=function(t){var e=a(this.to-this.from)*p(this.options.step,.2);this.updatePosition(a(this.from-e),a(this.to-e)),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.cursorToScrollbarPosition=function(t){var e=this.options;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-(e=e.minWidth>this.calculatedWidth?e.minWidth:0)),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}},t.prototype.destroy=function(){var t=this.chart.scroller;this.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){this[t]&&this[t].destroy&&(this[t]=this[t].destroy())},this),t&&this===t.scrollbar&&(t.scrollbar=null,l(t.scrollbarButtons))},t.prototype.drawScrollbarButton=function(t){var e=this.renderer,i=this.scrollbarButtons,o=this.options,r=this.size,s=e.g().add(this.group);i.push(s),s=e.rect().addClass("highcharts-scrollbar-button").add(s),this.chart.styledMode||s.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),s.attr(s.crisp({x:-.5,y:-.5,width:r+1,height:r+1,r:o.buttonBorderRadius},s.strokeWidth())),s=e.path(g([["M",r/2+(t?-1:1),r/2-3],["L",r/2+(t?-1:1),r/2+3],["L",r/2+(t?2:-2),r/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]),this.chart.styledMode||s.attr({fill:o.buttonArrowColor})},t.prototype.init=function(e,i,o){this.scrollbarButtons=[],this.renderer=e,this.userOptions=i,this.options=d(t.defaultOptions,i),this.chart=o,this.size=p(this.options.size,this.options.height),i.enabled&&(this.render(),this.addEvents())},t.prototype.mouseDownHandler=function(t){t=this.chart.pointer.normalize(t),t=this.cursorToScrollbarPosition(t),this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0},t.prototype.mouseMoveHandler=function(t){var e=this.chart.pointer.normalize(t),i=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(i=(e=this.cursorToScrollbarPosition(e)[i])-(i=this[i]),this.hasDragged=!0,this.updatePosition(o[0]+i,o[1]+i),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))},t.prototype.mouseUpHandler=function(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},t.prototype.position=function(t,e,i,o){var r=this.options.vertical,s=0,n=this.rendered?"animate":"attr";this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.xOffset=this.height=o,this.yOffset=s,r?(this.width=this.yOffset=i=s=this.size,this.xOffset=e=0,this.barWidth=o-2*i,this.x=t+=this.options.margin):(this.height=this.xOffset=o=e=this.size,this.barWidth=i-2*o,this.y+=this.options.margin),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:o}),this.scrollbarButtons[1][n]({translateX:r?0:i-e,translateY:r?o-s:0})},t.prototype.removeEvents=function(){this._events.forEach(function(t){u.apply(null,t)}),this._events.length=0},t.prototype.render=function(){var t,e=this.renderer,i=this.options,o=this.size,r=this.chart.styledMode;this.group=t=e.g("scrollbar").attr({zIndex:i.zIndex,translateY:-99999}).add(),this.track=e.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:i.trackBorderRadius||0,height:o,width:o}).add(t),r||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth}),this.trackBorderWidth=this.track.strokeWidth(),this.track.attr({y:-this.trackBorderWidth%2/2}),this.scrollbarGroup=e.g().add(t),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:o,width:o,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(g([["M",-3,o/4],["L",-3,2*o/3],["M",0,o/4],["L",0,2*o/3],["M",3,o/4],["L",3,2*o/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),r||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.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)},t.prototype.setRange=function(t,e){var i,o=this.options,r=o.vertical,s=o.minWidth,n=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(h(n)){t=Math.max(t,0);var c=Math.ceil(n*t);this.calculatedWidth=i=a(n*Math.min(e,1)-c),i<s&&(c=(n-s+i)*t,i=s),s=Math.floor(c+this.xOffset+this.yOffset),n=i/2-.5,this.from=t,this.to=e,r?(this.scrollbarGroup[l]({translateY:s}),this.scrollbar[l]({height:i}),this.scrollbarRifles[l]({translateY:n}),this.scrollbarTop=s,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:s}),this.scrollbar[l]({width:i}),this.scrollbarRifles[l]({translateX:n}),this.scrollbarLeft=s,this.scrollbarTop=0),12>=i?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===o.showFull&&(0>=t&&1<=e?this.group.hide():this.group.show()),this.rendered=!0}},t.prototype.shouldUpdateExtremes=function(t){return p(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===t||"touchend"===t||!h(t)},t.prototype.trackClick=function(t){var e=this.chart.pointer.normalize(t),i=this.to-this.from;this.options.vertical&&e.chartY>this.y+this.scrollbarTop||!this.options.vertical&&e.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.update=function(t){this.destroy(),this.init(this.chart.renderer,d(!0,this.options,t),this.chart)},t.prototype.updatePosition=function(t,e){1<e&&(t=a(1-a(e-t)),e=1),0>t&&(e=a(e-t),t=0),this.from=t,this.to=e},t.defaultOptions={height:f?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:i.neutralColor20,barBorderWidth:1,barBorderColor:i.neutralColor20,buttonArrowColor:i.neutralColor80,buttonBackgroundColor:i.neutralColor10,buttonBorderColor:i.neutralColor20,buttonBorderWidth:1,rifleColor:i.neutralColor80,trackBackgroundColor:i.neutralColor5,trackBorderColor:i.neutralColor5,trackBorderWidth:1},t}(),e.Scrollbar||(r.scrollbar=d(!0,s.defaultOptions,r.scrollbar),e.Scrollbar=s,o.compose(t,s)),e.Scrollbar}),e(i,"Extensions/RangeSelector.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=o.defaultOptions,h=n.addEvent,l=n.createElement,c=n.css,d=n.defined,p=n.destroyObjectProperties,u=n.discardElement,f=n.extend,g=n.find,m=n.fireEvent,y=n.isNumber,v=n.merge,x=n.objectEach,b=n.pad,w=n.pick,C=n.pInt,S=n.splat;f(a,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:r.highlightColor80,cursor:"pointer"},labelStyle:{color:r.neutralColor60}}}),f(a.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var k=function(){function e(t){this.buttons=void 0,this.buttonOptions=e.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.options=void 0,this.chart=t,this.init(t)}return e.prototype.clickButton=function(e,i){var o=this.chart,r=this.buttonOptions[e],s=o.xAxis[0],n=o.scroller&&o.scroller.getUnionExtremes()||s||{},a=n.dataMin,l=n.dataMax,c=s&&Math.round(Math.min(s.max,w(l,s.max))),p=r.type;n=r._range;var u,f=r.dataGrouping;if(null!==a&&null!==l){if(o.fixedRange=n,this.setSelected(e),f&&(this.forcedDataGrouping=!0,t.prototype.setDataGrouping.call(s||{chart:this.chart},f,!1),this.frozenStates=r.preserveDataGrouping),"month"===p||"year"===p)if(s){var g=s.minFromRange.call(p={range:r,max:c,chart:o,dataMin:a,dataMax:l});y(p.newMax)&&(c=p.newMax)}else n=r;else if(n)g=Math.max(c-n,a),c=Math.min(g+n,l);else if("ytd"===p){if(!s)return void(this.deferredYTDClick=e);void 0===l&&(a=Number.MAX_VALUE,l=Number.MIN_VALUE,o.series.forEach(function(t){t=t.xData,a=Math.min(t[0],a),l=Math.max(t[t.length-1],l)}),i=!1),g=u=(c=this.getYTDExtremes(l,a,o.time.useUTC)).min,c=c.max}else"all"===p&&s&&(g=a,c=l);if(d(g)&&(g+=r._offsetMin),d(c)&&(c+=r._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=e+1),s)s.setExtremes(g,c,w(i,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:r});else{var v=S(o.options.xAxis)[0],x=v.range;v.range=n;var b=v.min;v.min=u,h(o,"load",function(){v.range=x,v.min=b})}m(this,"afterBtnClick")}},e.prototype.setSelected=function(t){this.selected=this.options.selected=t},e.prototype.init=function(t){var e=this,i=t.options.rangeSelector,o=i.buttons||e.defaultButtons.slice(),r=i.selected,s=function(){var t=e.minInput,i=e.maxInput;t&&t.blur&&m(t,"blur"),i&&i.blur&&m(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(h(t.container,"mousedown",s)),this.eventsToUnbind.push(h(t,"resize",s)),o.forEach(e.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(h(t,"load",function(){t.xAxis&&t.xAxis[0]&&h(t.xAxis[0],"setExtremes",function(i){this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})}))},e.prototype.updateButtonStates=function(){var t=this,e=this.chart,i=this.dropdown,o=e.xAxis[0],r=Math.round(o.max-o.min),s=!o.hasVisibleSeries,n=e.scroller&&e.scroller.getUnionExtremes()||o,a=n.dataMin,h=n.dataMax,l=(e=t.getYTDExtremes(h,a,e.time.useUTC)).min,c=e.max,d=t.selected,p=y(d),u=t.options.allButtonsEnabled,f=t.buttons;t.buttonOptions.forEach(function(e,n){var g=e._range,m=e.type,y=e.count||1,v=f[n],x=0,b=e._offsetMax-e._offsetMin;e=n===d;var w=g>h-a,C=g<o.minRange,S=!1,k=!1;g=g===r,("month"===m||"year"===m)&&r+36e5>=864e5*{month:28,year:365}[m]*y-b&&r-36e5<=864e5*{month:31,year:366}[m]*y+b?g=!0:"ytd"===m?(g=c-l+b===r,S=!e):"all"===m&&(g=o.max-o.min>=h-a,k=!e&&p&&g),y=e&&g||g&&!p&&!S||e&&t.frozenStates,(m=!u&&(w||C||k||s))?x=3:y&&(p=!0,x=2),v.state!==x&&(v.setState(x),i&&(i.options[n+1].disabled=m,2===x&&(i.selectedIndex=n+1)),0===x&&d===n&&t.setSelected())})},e.prototype.computeButtonRange=function(t){var e=t.type,i=t.count||1,o={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};o[e]?t._range=o[e]*i:"month"!==e&&"year"!==e||(t._range=864e5*{month:30,year:365}[e]*i),t._offsetMin=w(t.offsetMin,0),t._offsetMax=w(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin},e.prototype.getInputValue=function(t){var e=this.chart.time;return(t="min"===t?this.minInput:this.maxInput)?("text"===t.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(t.value,e.useUTC,e):0},e.prototype.setInputValue=function(t,e){var i=this.options,o=this.chart.time,r="min"===t?this.minInput:this.maxInput;if(t="min"===t?this.minDateBox:this.maxDateBox,r){var s=r.getAttribute("data-hc-time");s=d(s)?Number(s):void 0,d(e)&&(d(s)&&r.setAttribute("data-hc-time-previous",s),r.setAttribute("data-hc-time",e),s=e),r.value=o.dateFormat(this.inputTypeFormats[r.type]||i.inputEditDateFormat,s),t&&t.attr({text:o.dateFormat(i.inputDateFormat,s)})}},e.prototype.setInputExtremes=function(t,e,i){if(t="min"===t?this.minInput:this.maxInput){var o=this.inputTypeFormats[t.type],r=this.chart.time;o&&(e=r.dateFormat(o,e),t.min!==e&&(t.min=e),i=r.dateFormat(o,i),t.max!==i&&(t.max=i))}},e.prototype.showInput=function(t){var e="min"===t?this.minDateBox:this.maxDateBox;if((t="min"===t?this.minInput:this.maxInput)&&e&&this.inputGroup){var i="text"===t.type,o=this.inputGroup,r=o.translateX;o=o.translateY;var s=this.options.inputBoxWidth;c(t,{width:i?e.width+(s?-2:20)+"px":"auto",height:i?e.height-2+"px":"auto",border:"2px solid silver"}),c(t,i&&s?{left:r+e.x+"px",top:o+"px"}:{left:Math.min(Math.round(e.x+r-(t.offsetWidth-e.width)/2),this.chart.chartWidth-t.offsetWidth)+"px",top:o-1-(t.offsetHeight-e.height)/2+"px"})}},e.prototype.hideInput=function(t){(t="min"===t?this.minInput:this.maxInput)&&c(t,{top:"-9999em",border:0,width:"1px",height:"1px"})},e.prototype.defaultInputDateParser=function(t,e,o){var r,s=t.split("/").join("-").split(" ").join("T");return-1===s.indexOf("T")&&(s+="T00:00"),e?s+="Z":((r=i.isSafari)&&(r=!(6<(r=s).length&&(r.lastIndexOf("-")===r.length-6||r.lastIndexOf("+")===r.length-6))),r&&(s+=0>=(r=new Date(s).getTimezoneOffset()/60)?"+"+b(-r)+":00":"-"+b(r)+":00")),s=Date.parse(s),y(s)||(t=t.split("-"),s=Date.UTC(C(t[0]),C(t[1])-1,C(t[2]))),o&&e&&y(s)&&(s+=o.getTimezoneOffset(s)),s},e.prototype.drawInput=function(t){function e(){var e=h.getInputValue(t),i=o.xAxis[0],r=o.scroller&&o.scroller.xAxis?o.scroller.xAxis:i,s=r.dataMin;r=r.dataMax;var n=h.maxInput,a=h.minInput;e!==Number(x.getAttribute("data-hc-time-previous"))&&y(e)&&(x.setAttribute("data-hc-time-previous",e),g&&n&&y(s)?e>Number(n.getAttribute("data-hc-time"))?e=void 0:e<s&&(e=s):a&&y(r)&&(e<Number(a.getAttribute("data-hc-time"))?e=void 0:e>r&&(e=r)),void 0!==e&&i.setExtremes(g?e:i.min,g?i.max:e,void 0,void 0,{trigger:"rangeSelectorInput"}))}var o=this.chart,s=this.div,n=this.inputGroup,h=this,d=o.renderer.style||{},p=o.renderer,u=o.options.rangeSelector,g="min"===t,m=a.lang[g?"rangeSelectorFrom":"rangeSelectorTo"];m=p.label(m,0).addClass("highcharts-range-label").attr({padding:m?2:0}).add(n),p=p.label("",0).addClass("highcharts-range-input").attr({padding:2,width:u.inputBoxWidth,height:u.inputBoxHeight,"text-align":"center"}).on("click",function(){h.showInput(t),h[t+"Input"].focus()}),o.styledMode||p.attr({stroke:u.inputBoxBorderColor,"stroke-width":1}),p.add(n);var x=l("input",{name:t,className:"highcharts-range-selector"},void 0,s);x.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";var e="aAdewbBmoyY".split("").some(function(e){return-1!==t.indexOf("%"+e)}),i="HkIlMS".split("").some(function(e){return-1!==t.indexOf("%"+e)});return e&&i?"datetime-local":e?"date":i?"time":"text"}(u.inputDateFormat||"%b %e, %Y")),o.styledMode||(m.css(v(d,u.labelStyle)),p.css(v({color:r.neutralColor80},d,u.inputStyle)),c(x,f({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:d.fontSize,fontFamily:d.fontFamily,top:"-9999em"},u.inputStyle))),x.onfocus=function(){h.showInput(t)},x.onblur=function(){x===i.doc.activeElement&&e(),h.hideInput(t),h.setInputValue(t),x.blur()};var b=!1;return x.onchange=function(){b||(e(),h.hideInput(t),x.blur())},x.onkeypress=function(t){13===t.keyCode&&e()},x.onkeydown=function(t){b=!0,38!==t.keyCode&&40!==t.keyCode||e()},x.onkeyup=function(){b=!1},{dateBox:p,input:x,label:m}},e.prototype.getPosition=function(){var t=this.chart,e=t.options.rangeSelector;return{buttonTop:(t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0)+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}},e.prototype.getYTDExtremes=function(t,e,i){var o=this.chart.time,r=new o.Date(t),s=o.get("FullYear",r);return i=i?o.Date.UTC(s,0,1):+new o.Date(s,0,1),e=Math.max(e,i),r=r.getTime(),{max:Math.min(t||r,r),min:e}},e.prototype.render=function(t,e){var i=this.chart,o=i.renderer,r=i.container,s=i.options,n=s.rangeSelector,a=w(s.chart.style&&s.chart.style.zIndex,0)+1;if(s=n.inputEnabled,!1!==n.enabled){if(this.rendered||(this.group=o.g("range-selector-group").attr({zIndex:7}).add(),this.div=l("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),s&&(this.inputGroup=o.g("input-group").add(this.group),o=this.drawInput("min"),this.minDateBox=o.dateBox,this.minLabel=o.label,this.minInput=o.input,o=this.drawInput("max"),this.maxDateBox=o.dateBox,this.maxLabel=o.label,this.maxInput=o.input)),s&&(this.setInputValue("min",t),this.setInputValue("max",e),t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{},d(t.dataMin)&&d(t.dataMax)&&(i=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-i),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+i,t.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(t){if(t){var e=t.getBBox().width;e&&(t.attr({x:h}),h+=e+n.inputSpacing)}})}this.alignElements(),this.rendered=!0}},e.prototype.renderButtons=function(){var t=this,e=this.buttons,o=this.options,r=a.lang,s=this.chart.renderer,n=v(o.buttonTheme),c=n&&n.states,d=n.width||28;delete n.width,delete n.states,this.buttonGroup=s.g("range-selector-buttons").add(this.group);var p=this.dropdown=l("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);h(p,"touchstart",function(){p.style.fontSize="16px"}),[[i.isMS?"mouseover":"mouseenter"],[i.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(i){var o=i[0],r=i[1];h(p,o,function(){var i=e[t.currentButtonIndex()];i&&m(i.element,r||o)})}),this.zoomText=s.text(r.rangeSelectorZoom,0,15).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),n["stroke-width"]=w(n["stroke-width"],0)),l("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,p),this.buttonOptions.forEach(function(i,o){l("option",{textContent:i.title||i.text},void 0,p),e[o]=s.button(i.text,0,0,function(e){var r,s=i.events&&i.events.click;s&&(r=s.call(i,e)),!1!==r&&t.clickButton(o),t.isActive=!0},n,c&&c.hover,c&&c.select,c&&c.disabled).attr({"text-align":"center",width:d}).add(t.buttonGroup),i.title&&e[o].attr("title",i.title)})},e.prototype.alignElements=function(){var t=this,e=this.buttonGroup,i=this.buttons,o=this.chart,r=this.group,s=this.inputGroup,n=this.options,a=this.zoomText,h=o.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions;h=n.buttonPosition;var c=n.inputPosition,d=n.verticalAlign,p=function(e,i){return l&&t.titleCollision(o)&&"top"===d&&"right"===i.align&&i.y-e.getBBox().height-12<(l.y||0)+(l.height||0)+o.spacing[0]?-40:0},u=o.plotLeft;if(r&&h&&c){var f=h.x-o.spacing[3];if(e){if(this.positionButtons(),!this.initialButtonGroupWidth){var g=0;a&&(g+=a.getBBox().width+5),i.forEach(function(t,e){g+=t.width,e!==i.length-1&&(g+=n.buttonSpacing)}),this.initialButtonGroupWidth=g}u-=o.spacing[3],this.updateButtonStates(),a=p(e,h),this.alignButtonGroup(a),r.placed=e.placed=o.hasLoaded}e=0,s&&(e=p(s,c),"left"===c.align?f=u:"right"===c.align&&(f=-Math.max(o.axisOffset[1],-e)),s.align({y:c.y,width:s.getBBox().width,align:c.align,x:c.x+f-2},!0,o.spacingBox),s.placed=o.hasLoaded),this.handleCollision(e),r.align({verticalAlign:d},!0,o.spacingBox),s=r.alignAttr.translateY,e=r.getBBox().height+20,p=0,"bottom"===d&&(p=s-(e=e+(p=(p=o.legend&&o.legend.options)&&"bottom"===p.verticalAlign&&p.enabled&&!p.floating?o.legend.legendHeight+w(p.margin,10):0)-20)-(n.floating?0:n.y)-(o.titleOffset?o.titleOffset[2]:0)-10),"top"===d?(n.floating&&(p=0),o.titleOffset&&o.titleOffset[0]&&(p=o.titleOffset[0]),p+=o.margin[0]-o.spacing[0]||0):"middle"===d&&(c.y===h.y?p=s:(c.y||h.y)&&(p=0>c.y||0>h.y?p-Math.min(c.y,h.y):s-e)),r.translate(n.x,n.y+Math.floor(p)),h=this.minInput,c=this.maxInput,s=this.dropdown,n.inputEnabled&&h&&c&&(h.style.marginTop=r.translateY+"px",c.style.marginTop=r.translateY+"px"),s&&(s.style.marginTop=r.translateY+"px")}},e.prototype.alignButtonGroup=function(t,e){var i=this.chart,o=this.buttonGroup,r=this.options.buttonPosition,s=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-s:"center"===r.align&&(n-=s/2),o&&o.align({y:r.y,width:w(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)},e.prototype.positionButtons=function(){var t=this.buttons,e=this.chart,i=this.options,o=this.zoomText,r=e.hasLoaded?"animate":"attr",s=i.buttonPosition,n=e.plotLeft,a=n;o&&"hidden"!==o.visibility&&(o[r]({x:w(n+s.x,n)}),a+=s.x+o.getBBox().width+5),this.buttonOptions.forEach(function(e,o){"hidden"!==t[o].visibility?(t[o][r]({x:a}),a+=t[o].width+i.buttonSpacing):t[o][r]({x:n})})},e.prototype.handleCollision=function(t){var e=this,i=this.chart,o=this.buttonGroup,r=this.inputGroup,s=this.options,n=s.buttonPosition,a=s.dropdown,h=s.inputPosition;s=function(){var t=0;return e.buttons.forEach(function(e){(e=e.getBBox()).width>t&&(t=e.width)}),t};var l=function(e){if(r&&o){var i=r.alignAttr.translateX+r.alignOptions.x-t+r.getBBox().x+2,s=r.alignOptions.width,a=o.alignAttr.translateX+o.getBBox().x;return a+e>i&&i+s>a&&n.y<h.y+r.getBBox().height}return!1},c=function(){r&&o&&r.attr({translateX:r.alignAttr.translateX+(i.axisOffset[1]>=-t?0:-t),translateY:r.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===a)return this.collapseButtons(t),void(l(s())&&c());"never"===a&&this.expandButtons()}r&&o?h.align===n.align||l(this.initialButtonGroupWidth+20)?"responsive"===a?(this.collapseButtons(t),l(s())&&c()):c():"responsive"===a&&this.expandButtons():o&&"responsive"===a&&(this.initialButtonGroupWidth>i.plotWidth?this.collapseButtons(t):this.expandButtons())},e.prototype.collapseButtons=function(t){var e=this.buttons,i=this.buttonOptions,o=this.dropdown,r=this.options,s=this.zoomText,n=function(t){return{text:t?t+" \u25be":"\u25be",width:"auto",paddingLeft:8,paddingRight:8}};s&&s.hide();var a=!1;i.forEach(function(t,i){2!==(i=e[i]).state?i.hide():(i.show(),i.attr(n(t.text)),a=!0)}),a||(o&&(o.selectedIndex=0),e[0].show(),e[0].attr(n(this.zoomText&&this.zoomText.textStr))),i=r.buttonPosition.align,this.positionButtons(),"right"!==i&&"center"!==i||this.alignButtonGroup(t,e[this.currentButtonIndex()].getBBox().width),this.showDropdown()},e.prototype.expandButtons=function(){var t=this.buttons,e=this.buttonOptions,i=this.options,o=this.zoomText;this.hideDropdown(),o&&o.show(),e.forEach(function(e,o){(o=t[o]).show(),o.attr({text:e.text,width:i.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"}),2>o.state&&o.setState(0)}),this.positionButtons()},e.prototype.currentButtonIndex=function(){var t=this.dropdown;return t&&0<t.selectedIndex?t.selectedIndex-1:0},e.prototype.showDropdown=function(){var t=this.buttonGroup,e=this.buttons,i=this.chart,o=this.dropdown;if(t&&o){var r=t.translateX;t=t.translateY,e=e[this.currentButtonIndex()].getBBox(),c(o,{left:i.plotLeft+r+"px",top:t+.5+"px",width:e.width+"px",height:e.height+"px"}),this.hasVisibleDropdown=!0}},e.prototype.hideDropdown=function(){var t=this.dropdown;t&&(c(t,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)},e.prototype.getHeight=function(){var t=this.options,e=this.group,i=t.y,o=t.buttonPosition.y,r=t.inputPosition.y;return t.height?t.height:(this.alignElements(),t=e?e.getBBox(!0).height+13+i:0,e=Math.min(r,o),(0>r&&0>o||0<r&&0<o)&&(t+=Math.abs(e)),t)},e.prototype.titleCollision=function(t){return!(t.options.title.text||t.options.subtitle.text)},e.prototype.update=function(t){var e=this.chart;v(!0,e.options.rangeSelector,t),this.destroy(),this.init(e),this.render()},e.prototype.destroy=function(){var t=this,i=t.minInput,o=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(function(t){return t()}),t.eventsToUnbind=void 0),p(t.buttons),i&&(i.onfocus=i.onblur=i.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),x(t,function(i,o){i&&"chart"!==o&&(i instanceof s?i.destroy():i instanceof window.HTMLElement&&u(i)),i!==e.prototype[o]&&(t[o]=null)},this)},e}();if(k.prototype.defaultButtons=[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],k.prototype.inputTypeFormats={"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"},t.prototype.minFromRange=function(){var t=this.range,e=t.type,i=this.max,o=this.chart.time,r=function(t,i){var r="year"===e?"FullYear":"Month",s=new o.Date(t),n=o.get(r,s);return o.set(r,s,n+i),n===o.get(r,s)&&o.set("Date",s,0),s.getTime()-t};if(y(t))var s=i-t,n=t;else s=i+r(i,-t.count),this.chart&&(this.chart.fixedRange=i-s);var a=w(this.dataMin,Number.MIN_VALUE);return y(s)||(s=a),s<=a&&(s=a,void 0===n&&(n=r(s,t.count)),this.newMax=Math.min(s+n,this.dataMax)),y(i)||(s=void 0),s},!i.RangeSelector){var M=[],A=function(t){function e(){n&&(i=t.xAxis[0].getExtremes(),o=t.legend,s=n&&n.options.verticalAlign,y(i.min)&&n.render(i.min,i.max),o.display&&"top"===s&&s===o.options.verticalAlign&&((r=v(t.spacingBox)).y="vertical"===o.options.layout?t.plotTop:r.y+n.getHeight(),o.group.placed=!1,o.align(r)))}var i,o,r,s,n=t.rangeSelector;n&&(g(M,function(e){return e[0]===t})||M.push([t,[h(t.xAxis[0],"afterSetExtremes",function(t){n&&n.render(t.min,t.max)}),h(t,"redraw",e)]]),e())};h(e,"afterGetContainer",function(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new k(this))}),h(e,"beforeRender",function(){var t=this.axes,e=this.rangeSelector;e&&(y(e.deferredYTDClick)&&(e.clickButton(e.deferredYTDClick),delete e.deferredYTDClick),t.forEach(function(t){t.updateNames(),t.setScale()}),this.getAxisMargins(),e.render(),t=e.options.verticalAlign,e.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)))}),h(e,"update",function(t){var e=t.options.rangeSelector;t=this.rangeSelector;var i=this.extraBottomMargin,o=this.extraTopMargin;e&&e.enabled&&!d(t)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=t=new k(this)),this.extraTopMargin=this.extraBottomMargin=!1,t&&(A(this),e=e&&e.verticalAlign||t.options&&t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)),this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}),h(e,"render",function(){var t=this.rangeSelector;t&&!t.options.floating&&(t.render(),"bottom"===(t=t.options.verticalAlign)?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0))}),h(e,"getMargins",function(){var t=this.rangeSelector;t&&(t=t.getHeight(),this.extraTopMargin&&(this.plotTop+=t),this.extraBottomMargin&&(this.marginBottom+=t))}),e.prototype.callbacks.push(A),h(e,"destroy",function(){for(var t=0;t<M.length;t++){var e=M[t];if(e[0]===this){e[1].forEach(function(t){return t()}),M.splice(t,1);break}}}),i.RangeSelector=k}return i.RangeSelector}),e(i,"Core/Axis/NavigatorAxis.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.isTouchDevice,o=e.addEvent,r=e.correctFloat,s=e.defined,n=e.isNumber,a=e.pick,h=function(){function t(t){this.axis=t}return t.prototype.destroy=function(){this.axis=void 0},t.prototype.toFixedRange=function(t,e,i,o){var h=this.axis,l=h.chart;l=l&&l.fixedRange;var c=(h.pointRange||0)/2;return t=a(i,h.translate(t,!0,!h.horiz)),e=a(o,h.translate(e,!0,!h.horiz)),h=l&&(e-t)/l,s(i)||(t=r(t+c)),s(o)||(e=r(e-c)),.7<h&&1.3>h&&(o?t=e-l:e=t+l),n(t)&&n(e)||(t=e=void 0),{min:t,max:e}},t}();return function(){function t(){}return t.compose=function(t){t.keepProps.push("navigatorAxis"),o(t,"init",function(){this.navigatorAxis||(this.navigatorAxis=new h(this))}),o(t,"zoom",function(t){var e=this.chart.options,o=e.navigator,r=this.navigatorAxis,n=e.chart.pinchType,a=e.rangeSelector;e=e.chart.zoomType,this.isXAxis&&(o&&o.enabled||a&&a.enabled)&&("y"===e?t.zoomed=!1:(!i&&"xy"===e||i&&"xy"===n)&&this.options.range&&(o=r.previousZoom,s(t.newMin)?r.previousZoom=[this.min,this.max]:o&&(t.newMin=o[0],t.newMax=o[1],r.previousZoom=void 0))),void 0!==t.zoomed&&t.preventDefault()})},t.AdditionsClass=h,t}()}),e(i,"Core/Navigator.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Axis/NavigatorAxis.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Scrollbar.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l,c){var d=o.hasTouch,p=o.isTouchDevice,u=s.defaultOptions,f=c.addEvent,g=c.clamp,m=c.correctFloat,y=c.defined,v=c.destroyObjectProperties,x=c.erase,b=c.extend,w=c.find,C=c.isArray,S=c.isNumber,k=c.merge,M=c.pick,A=c.removeEvent,T=c.splat,P=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if((e=[].filter.call(e,S)).length)return Math[t].apply(0,e)};s=void 0===l.seriesTypes.areaspline?"line":"areaspline",b(u,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:n.neutralColor5,borderColor:n.neutralColor40},maskFill:(i=i.parse)(n.highlightColor60).setOpacity(.3).get(),outlineColor:n.neutralColor20,outlineWidth:1,series:{type:s,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:n.neutralColor10,gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:n.neutralColor40},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}}}),o.Renderer.prototype.symbols["navigator-handle"]=function(t,e,i,o,r){return t=(r&&r.width||0)/2,e=Math.round(t/3)+.5,[["M",-t-1,.5],["L",t,.5],["L",t,(r=r&&r.height||0)+.5],["L",-t-1,r+.5],["L",-t-1,.5],["M",-e,4],["L",-e,r-3],["M",e-1,4],["L",e-1,r-3]]};var O=function(){function e(t){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0,this.init(t)}return e.prototype.drawHandle=function(t,e,i,o){var r=this.navigatorOptions.handles.height;this.handles[e][o](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-r)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-r/2-1)})},e.prototype.drawOutline=function(t,e,i,o){var r=this.navigatorOptions.maskInside,s=this.outline.strokeWidth(),n=s/2,a=s%2/2;s=this.outlineHeight;var h=this.scrollbarHeight||0,l=this.size,c=this.left-h,d=this.top;i?(a=[["M",(c-=n)+s,d-h-a],["L",c+s,i=d+e+a],["L",c,i],["L",c,e=d+t+a],["L",c+s,e],["L",c+s,d+l+h]],r&&a.push(["M",c+s,i-n],["L",c+s,e+n])):(a=[["M",c,d+=n],["L",t+=c+h-a,d],["L",t,d+s],["L",e+=c+h-a,d+s],["L",e,d],["L",c+l+2*h,d]],r&&a.push(["M",t-n,d],["L",e+n,d])),this.outline[o]({d:a})},e.prototype.drawMasks=function(t,e,i,o){var r=this.left,s=this.top,n=this.height;if(i)var a=[r,r,r],h=[s,s+t,s+e],l=[n,n,n],c=[t,e-t,this.size-e];else a=[r,r+t,r+e],h=[s,s,s],l=[t,e-t,this.size-e],c=[n,n,n];this.shades.forEach(function(t,e){t[o]({x:a[e],y:h[e],width:l[e],height:c[e]})})},e.prototype.renderElements=function(){var t,e=this,i=e.navigatorOptions,o=i.maskInside,r=e.chart,s=r.renderer,n={cursor:r.inverted?"ns-resize":"ew-resize"};e.navigatorGroup=t=s.g("navigator").attr({zIndex:8,visibility:"hidden"}).add(),[!o,o,!o].forEach(function(o,a){e.shades[a]=s.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(t),r.styledMode||e.shades[a].attr({fill:o?i.maskFill:"rgba(0,0,0,0)"}).css(1===a&&n)}),e.outline=s.path().addClass("highcharts-navigator-outline").add(t),r.styledMode||e.outline.attr({"stroke-width":i.outlineWidth,stroke:i.outlineColor}),i.handles.enabled&&[0,1].forEach(function(o){if(i.handles.inverted=r.inverted,e.handles[o]=s.symbol(i.handles.symbols[o],-i.handles.width/2-1,0,i.handles.width,i.handles.height,i.handles),e.handles[o].attr({zIndex:7-o}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][o]).add(t),!r.styledMode){var a=i.handles;e.handles[o].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth}).css(n)}})},e.prototype.update=function(t){(this.series||[]).forEach(function(t){t.baseSeries&&delete t.baseSeries.navigatorSeries}),this.destroy(),k(!0,this.chart.options.navigator,this.options,t),this.init(this.chart)},e.prototype.render=function(t,e,i,o){var r,s,n=this.chart,a=this.scrollbarHeight,h=this.xAxis,l=h.pointRange||0,c=h.navigatorAxis.fake?n.xAxis[0]:h,d=this.navigatorEnabled,p=this.rendered,u=n.inverted,f=n.xAxis[0].minRange,v=n.xAxis[0].options.maxRange;if(!this.hasDragged||y(i)){if(t=m(t-l/2),e=m(e+l/2),!S(t)||!S(e)){if(!p)return;i=0,o=M(h.width,c.width)}this.left=M(h.left,n.plotLeft+a+(u?n.plotWidth:0)),this.size=s=r=M(h.len,(u?n.plotHeight:n.plotWidth)-2*a),n=u?a:r+2*a,i=M(i,h.toPixels(t,!0)),o=M(o,h.toPixels(e,!0)),S(i)&&1/0!==Math.abs(i)||(i=0,o=n),t=h.toValue(i,!0),e=h.toValue(o,!0);var x=Math.abs(m(e-t));x<f?this.grabbedLeft?i=h.toPixels(e-f-l,!0):this.grabbedRight&&(o=h.toPixels(t+f+l,!0)):y(v)&&m(x-l)>v&&(this.grabbedLeft?i=h.toPixels(e-v-l,!0):this.grabbedRight&&(o=h.toPixels(t+v+l,!0))),this.zoomedMax=g(Math.max(i,o),0,s),this.zoomedMin=g(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,o),0,s),this.range=this.zoomedMax-this.zoomedMin,s=Math.round(this.zoomedMax),i=Math.round(this.zoomedMin),d&&(this.navigatorGroup.attr({visibility:"visible"}),this.drawMasks(i,s,u,p=p&&!this.hasDragged?"animate":"attr"),this.drawOutline(i,s,u,p),this.navigatorOptions.handles.enabled&&(this.drawHandle(i,0,u,p),this.drawHandle(s,1,u,p))),this.scrollbar&&(u?(u=this.top-a,c=this.left-a+(d||!c.opposite?0:(c.titleOffset||0)+c.axisTitleMargin),a=r+2*a):(u=this.top+(d?this.height:-a),c=this.left-a),this.scrollbar.position(c,u,n,a),this.scrollbar.setRange(this.zoomedMin/(r||1),this.zoomedMax/(r||1))),this.rendered=!0}},e.prototype.addMouseEvents=function(){var t,e,i=this,o=i.chart,r=o.container,s=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(s=i.getPartsEvents("mousedown")).push(f(o.renderTo,"mousemove",t),f(r.ownerDocument,"mouseup",e)),d&&(s.push(f(o.renderTo,"touchmove",t),f(r.ownerDocument,"touchend",e)),s.concat(i.getPartsEvents("touchstart"))),i.eventsToUnbind=s,i.series&&i.series[0]&&s.push(f(i.series[0].xAxis,"foundExtremes",function(){o.navigator.modifyNavigatorAxisExtremes()}))},e.prototype.getPartsEvents=function(t){var e=this,i=[];return["shades","handles"].forEach(function(o){e[o].forEach(function(r,s){i.push(f(r.element,t,function(t){e[o+"Mousedown"](t,s)}))})}),i},e.prototype.shadesMousedown=function(t,e){t=this.chart.pointer.normalize(t);var i=this.chart,o=this.xAxis,r=this.zoomedMin,s=this.left,n=this.size,a=this.range,h=t.chartX;if(i.inverted&&(h=t.chartY,s=this.top),1===e)this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r;else{if(t=h-s-a/2,0===e)t=Math.max(0,t);else if(2===e&&t+a>=n)if(t=n-a,this.reversedExtremes){t-=a;var l=this.getUnionExtremes().dataMin}else var c=this.getUnionExtremes().dataMax;t!==r&&(this.fixedWidth=a,e=o.navigatorAxis.toFixedRange(t,t+a,l,c),y(e.min)&&i.xAxis[0].setExtremes(Math.min(e.min,e.max),Math.max(e.min,e.max),!0,null,{trigger:"navigator"}))}},e.prototype.handlesMousedown=function(t,e){this.chart.pointer.normalize(t);var i=(t=this.chart).xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?i.min:i.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?i.max:i.min),t.fixedRange=null},e.prototype.onMouseMove=function(t){var e=this,i=e.chart,r=e.left,s=e.navigatorSize,n=e.range,a=e.dragOffset,h=i.inverted;t.touches&&0===t.touches[0].pageX||(t=i.pointer.normalize(t),i=t.chartX,h&&(r=e.top,i=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,i-r,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,i-r)):e.grabbedCenter&&(e.hasDragged=!0,i<a?i=a:i>s+a-n&&(i=s+a-n),e.render(0,0,i-a,i-a+n)),e.hasDragged&&e.scrollbar&&M(e.scrollbar.options.liveRedraw,o.svg&&!p&&!this.chart.isBoosting)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))},e.prototype.onMouseUp=function(t){var e=this.chart,i=this.xAxis,o=this.scrollbar,r=t.DOMEvent||t,s=e.inverted,n=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!o||!o.hasDragged)||"scrollbar"===t.trigger){if(o=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos)var a=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var h=this.fixedExtreme;this.zoomedMax===this.size&&(h=this.reversedExtremes?o.dataMin:o.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?o.dataMax:o.dataMin),i=i.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,h),y(i.min)&&e.xAxis[0].setExtremes(Math.min(i.min,i.max),Math.max(i.min,i.max),!0,!this.hasDragged&&null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:r})}"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&S(this.zoomedMin)&&S(this.zoomedMax)&&(e=Math.round(this.zoomedMin),t=Math.round(this.zoomedMax),this.shades&&this.drawMasks(e,t,s,n),this.outline&&this.drawOutline(e,t,s,n),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(e,0,s,n),this.drawHandle(t,1,s,n)))},e.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()},e.prototype.removeBaseSeriesEvents=function(){var t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){A(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&A(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},e.prototype.init=function(e){var i=e.options,o=i.navigator,s=o.enabled,n=i.scrollbar,h=n.enabled;i=s?o.height:0;var l=h?n.height:0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=i,this.scrollbarHeight=l,this.scrollbarEnabled=h,this.navigatorEnabled=s,this.navigatorOptions=o,this.scrollbarOptions=n,this.outlineHeight=i+l,this.opposite=M(o.opposite,!(s||!e.inverted));var c=this;n=e.xAxis.length,h=e.yAxis.length;var d=(s=c.baseSeries)&&s[0]&&s[0].xAxis||e.xAxis[0]||{options:{}};e.isDirtyBox=!0,c.navigatorEnabled?(c.xAxis=new t(e,k({breaks:d.options.breaks,ordinal:d.options.ordinal},o.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:n,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[l,0,-l,0],width:i}:{offsets:[0,-l,0,l],height:i})),c.yAxis=new t(e,k(o.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:M(o.yAxis&&o.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:i}:{height:i})),s||o.series.data?c.updateNavigatorSeries(!1):0===e.series.length&&(c.unbindRedraw=f(e,"beforeRedraw",function(){0<e.series.length&&!c.series&&(c.setBaseSeries(),c.unbindRedraw())})),c.reversedExtremes=e.inverted&&!c.xAxis.reversed||!e.inverted&&c.xAxis.reversed,c.renderElements(),c.addMouseEvents()):(c.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){var o=e.xAxis[0],r=o.getExtremes(),s=o.len-2*l,n=P("min",o.options.min,r.dataMin);return o=P("max",o.options.max,r.dataMax)-n,i?t*o/s+n:s*(t-n)/o},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},c.xAxis.navigatorAxis.axis=c.xAxis,c.xAxis.navigatorAxis.toFixedRange=r.AdditionsClass.prototype.toFixedRange.bind(c.xAxis.navigatorAxis)),e.options.scrollbar.enabled&&(e.scrollbar=c.scrollbar=new a(e.renderer,k(e.options.scrollbar,{margin:c.navigatorEnabled?0:10,vertical:e.inverted}),e),f(c.scrollbar,"changed",function(t){var e=c.size,i=e*this.to;e*=this.from,c.hasDragged=c.scrollbar.hasDragged,c.render(0,0,e,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){c.onMouseUp(t)})})),c.addBaseSeriesEvents(),c.addChartEvents()},e.prototype.getUnionExtremes=function(t){var e,i=this.chart.xAxis[0],o=this.xAxis,r=o.options,s=i.options;return t&&null===i.dataMin||(e={dataMin:M(r&&r.min,P("min",s.min,i.dataMin,o.dataMin,o.min)),dataMax:M(r&&r.max,P("max",s.max,i.dataMax,o.dataMax,o.max))}),e},e.prototype.setBaseSeries=function(t,e){var i=this.chart,o=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?w(i.series,function(t){return!t.options.isInternal}).index:0),(i.series||[]).forEach(function(e,i){e.options.isInternal||!e.options.showInNavigator&&(i!==t&&e.options.id!==t||!1===e.options.showInNavigator)||o.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)},e.prototype.updateNavigatorSeries=function(t,e){var i,o,r,s=this,n=s.chart,a=s.baseSeries,h=s.navigatorOptions.series,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=s.series=(s.series||[]).filter(function(t){var e=t.baseSeries;return!(0>a.indexOf(e)&&(e&&(A(e,"updatedData",s.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))});a&&a.length&&a.forEach(function(t){var d=t.navigatorSeries,p=b({color:t.color,visible:t.visible},C(h)?u.navigator.series:h);d&&!1===s.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+a.length,r=(i=t.options||{}).navigatorOptions||{},p.dataLabels=T(p.dataLabels),(o=k(i,l,p,r)).pointRange=M(p.pointRange,r.pointRange,u.plotOptions[o.type||"line"].pointRange),p=r.data||p.data,s.hasNavigatorData=s.hasNavigatorData||!!p,o.data=p||i.data&&i.data.slice(0),d&&d.options?d.update(o,e):(t.navigatorSeries=n.initSeries(o),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries)))}),(!h.data||a&&a.length)&&!C(h)||(s.hasNavigatorData=!1,(h=T(h)).forEach(function(t,e){l.name="Navigator "+(c.length+1),(o=k(u.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,o.data&&(s.hasNavigatorData=!0,c.push(n.initSeries(o)))})),t&&this.addBaseSeriesEvents()},e.prototype.addBaseSeriesEvents=function(){var t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(f(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(function(e){e.eventsToUnbind.push(f(e,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),e.eventsToUnbind.push(f(e,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(f(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(f(e,"remove",function(){this.navigatorSeries&&(x(t.series,this.navigatorSeries),y(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)},e.prototype.getBaseSeriesMin=function(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData?e.xData[0]:t)},t)},e.prototype.modifyNavigatorAxisExtremes=function(){var t,e=this.xAxis;void 0!==e.getExtremes&&(!(t=this.getUnionExtremes(!0))||t.dataMin===e.min&&t.dataMax===e.max||(e.min=t.dataMin,e.max=t.dataMax))},e.prototype.modifyBaseAxisExtremes=function(){var t=this.chart.navigator,e=this.getExtremes(),i=e.dataMin,o=e.dataMax;e=e.max-e.min;var r=t.stickToMin,s=t.stickToMax,n=M(this.options.overscroll,0),a=t.series&&t.series[0],h=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(r)var l=i,c=i+e;s&&(c=o+n,r||(l=Math.max(i,c-e,t.getBaseSeriesMin(a&&a.xData?a.xData[0]:-Number.MAX_VALUE)))),h&&(r||s)&&S(l)&&(this.min=this.userMin=l,this.max=this.userMax=c)}t.stickToMin=t.stickToMax=null},e.prototype.updatedDataHandler=function(){var t=this.chart.navigator,e=this.navigatorSeries,i=t.getBaseSeriesMin(this.xData[0]);t.stickToMax=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size),t.stickToMin=S(this.xAxis.min)&&this.xAxis.min<=i&&(!this.chart.fixedRange||!t.stickToMax),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))},e.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(f(this.chart,"redraw",function(){var t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),f(this.chart,"getMargins",function(){var t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.outlineHeight:0)+t.navigatorOptions.margin}))},e.prototype.destroy=function(){this.removeEvents(),this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis)),this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis)),(this.series||[]).forEach(function(t){t.destroy&&t.destroy()}),"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(t){this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null},this),[this.handles].forEach(function(t){v(t)},this)},e}();return o.Navigator||(o.Navigator=O,r.compose(t),f(e,"beforeShowResetZoom",function(){var t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!p&&"x"===t.chart.zoomType||p&&"x"===t.chart.pinchType))return!1}),f(e,"beforeRender",function(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new O(this))}),f(e,"afterSetChartSize",function(){var t=this.legend,e=this.navigator;if(e){var i=t&&t.options,o=e.xAxis,r=e.yAxis,s=e.scrollbarHeight;this.inverted?(e.left=e.opposite?this.chartWidth-s-e.height:this.spacing[3]+s,e.top=this.plotTop+s):(e.left=this.plotLeft+s,e.top=e.navigatorOptions.top||this.chartHeight-e.height-s-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(i&&"bottom"===i.verticalAlign&&"proximate"!==i.layout&&i.enabled&&!i.floating?t.legendHeight+M(i.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),o&&r&&(this.inverted?o.options.left=r.options.left=e.left:o.options.top=r.options.top=e.top,o.setAxisSize(),r.setAxisSize())}}),f(e,"update",function(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(k(!0,this.options.navigator,e),k(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}),f(e,"afterUpdate",function(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new O(this),M(t.redraw,!0)&&this.redraw(t.animation))}),f(e,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),f(h,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),e.prototype.callbacks.push(function(t){var e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))})),o.Navigator=O,o.Navigator}),e(i,"masters/modules/gantt.src.js",[i["Core/Globals.js"],i["Core/Chart/GanttChart.js"]],function(t,e){t.GanttChart=e,t.ganttChart=e.ganttChart}),e(i,"masters/highcharts-gantt.src.js",[i["masters/highcharts.src.js"]],function(t){return t.product="Highcharts Gantt",t}),i["masters/highcharts-gantt.src.js"]._modules=i,i["masters/highcharts-gantt.src.js"]},t.exports?(s.default=s,t.exports=r.document?s(r):s):void 0===(o=(function(){return s(r)}).call(e,i,e,t))||(t.exports=o)},980:function(t,e,i){var o,r,s;r="undefined"!=typeof window?window:this,s=function(t){function e(t,e,i,o){t.hasOwnProperty(e)||(t[e]=o.apply(null,i))}var i={};return e(i,"Core/Globals.js",[],function(){var e,i=void 0!==t?t:"undefined"!=typeof window?window:{};return function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="9.1.0",t.win=i,t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=-1!==t.userAgent.indexOf("Chrome"),t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.hasBidiBug=t.isFirefox&&4>parseInt(t.userAgent.split("Firefox/")[1],10),t.hasTouch=!!t.win.TouchEvent,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){var e=!1;if(!t.isMS){var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={}}(e||(e={})),e}),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],function(t){function e(t,i,o,r){var s=i?"Highcharts error":"Highcharts warning";32===t&&(t=s+": Deprecated member");var n=h(t),a=n?s+" #"+t+": www.highcharts.com/errors/"+t+"/":t.toString();if(void 0!==r){var l="";n&&(a+="?"),m(r,function(t,e){l+="\n - "+e+": "+t,n&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=l}v(Highcharts,"displayError",{chart:o,code:t,message:a,params:r},function(){if(i)throw Error(a);C.console&&-1===e.messages.indexOf(a)&&console.warn(a)}),e.messages.push(a)}function i(t,e){return parseInt(t,e||10)}function o(t){return"string"==typeof t}function r(t){return"[object Array]"===(t=Object.prototype.toString.call(t))||"[object Array Iterator]"===t}function s(t,e){return!(!t||"object"!=typeof t||e&&r(t))}function n(t){return s(t)&&"number"==typeof t.nodeType}function a(t){var e=t&&t.constructor;return!(!s(t,!0)||n(t)||!e||!e.name||"Object"===e.name)}function h(t){return"number"==typeof t&&!isNaN(t)&&1/0>t&&-1/0<t}function l(t){return null!=t}function c(t,e,i){var r;return o(e)?l(i)?t.setAttribute(e,i):t&&t.getAttribute&&((r=t.getAttribute(e))||"class"!==e||(r=t.getAttribute(e+"Name"))):m(e,function(e,i){t.setAttribute(i,e)}),r}function d(t,e){var i;for(i in t||(t={}),e)t[i]=e[i];return t}function p(){for(var t=arguments,e=t.length,i=0;i<e;i++){var o=t[i];if(null!=o)return o}}function u(e,i){t.isMS&&!t.svg&&i&&void 0!==i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")"),d(e.style,i)}function f(t,e,i,o,r){return t=w.createElement(t),e&&d(t,e),r&&u(t,{padding:"0",border:"none",margin:"0"}),i&&u(t,i),o&&o.appendChild(t),t}function g(t,e){return parseFloat(t.toPrecision(e||14))}function m(t,e,i){for(var o in t)Object.hasOwnProperty.call(t,o)&&e.call(i||t[o],t[o],o,t)}function y(e,i,o){function r(i,o){var r=e.removeEventListener||t.removeEventListenerPolyfill;r&&r.call(e,i,o,!1)}function s(t){var o;if(e.nodeName){if(i){var s={};s[i]=!0}else s=t;m(s,function(e,i){if(t[i])for(o=t[i].length;o--;)r(i,t[i][o].fn)})}}var n="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(n,"hcEvents")){var a=n.hcEvents;i?(n=a[i]||[],o?(a[i]=n.filter(function(t){return o!==t.fn}),r(i,o)):(s(a),a[i]=[])):(s(a),delete n.hcEvents)}}function v(e,i,o,r){if(o=o||{},w.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){var s=w.createEvent("Events");s.initEvent(i,!0,!0),o=d(s,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(i,o)}else if(e.hcEvents){o.target||d(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:i}),s=[];for(var n=e,a=!1;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[i]&&(s.length&&(a=!0),s.unshift.apply(s,n.hcEvents[i])),n=Object.getPrototypeOf(n);a&&s.sort(function(t,e){return t.order-e.order}),s.forEach(function(t){!1===t.fn.call(e,o)&&o.preventDefault()})}r&&!o.defaultPrevented&&r.call(e,o)}var x,b=t.charts,w=t.doc,C=t.win;(e||(e={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){var i,o=t.length;for(i=0;i<o;i++)if(e(t[i],i))return t[i]};m({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,o){t[o]=function(t){var r;return e(32,!1,void 0,((r={})["Highcharts."+o]="use Array."+i,r)),Array.prototype[i].apply(t,[].slice.call(arguments,1))}});var k,M=function(){var t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(k?"":t)+e++}}();return C.jQuery&&(C.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[o(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):b[c(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,o,r){void 0===r&&(r={});var s="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={}),s=s.hcEvents,t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);var n=e.addEventListener||t.addEventListenerPolyfill;return n&&n.call(e,i,o,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),s[i]||(s[i]=[]),s[i].push({fn:o,order:"number"==typeof r.order?r.order:1/0}),s[i].sort(function(t,e){return t.order-e.order}),function(){y(e,i,o)}},arrayMax:function(t){for(var e=t.length,i=t[0];e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){for(var e=t.length,i=t[0];e--;)t[e]<i&&(i=t[e]);return i},attr:c,clamp:function(t,e,i){return t>e?t<i?t:i:e},cleanRecursively:function t(e,i){var o={};return m(e,function(r,n){s(e[n],!0)&&!e.nodeType&&i[n]?(r=t(e[n],i[n]),Object.keys(r).length&&(o[n]=r)):(s(e[n])||e[n]!==i[n])&&(o[n]=e[n])}),o},clearTimeout:function(t){l(t)&&clearTimeout(t)},correctFloat:g,createElement:f,css:u,defined:l,destroyObjectProperties:function(t,e){m(t,function(i,o){i&&i!==e&&i.destroy&&i.destroy(),delete t[o]})},discardElement:function(t){x||(x=f("div")),t&&x.appendChild(t),x.innerHTML=""},erase:function(t,e){for(var i=t.length;i--;)if(t[i]===e){t.splice(i,1);break}},error:e,extend:d,extendClass:function(t,e){var i=function(){};return d(i.prototype=new t,e),i},find:S,fireEvent:v,getMagnitude:function(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))},getNestedProperty:function(t,e){for(t=t.split(".");t.length&&l(e);){var i=t.shift();if(void 0===i||"__proto__"===i)return;if(!l(e=e[i])||"function"==typeof e||"number"==typeof e.nodeType||e===C)return}return e},getStyle:function o(r,s,n){var a=t.getStyle||o;if("width"===s)return s=Math.min(r.offsetWidth,r.scrollWidth),(n=r.getBoundingClientRect&&r.getBoundingClientRect().width)<s&&n>=s-1&&(s=Math.floor(n)),Math.max(0,s-(a(r,"padding-left",!0)||0)-(a(r,"padding-right",!0)||0));if("height"===s)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(a(r,"padding-top",!0)||0)-(a(r,"padding-bottom",!0)||0));if(C.getComputedStyle||e(27,!0),r=C.getComputedStyle(r,void 0)){var h=r.getPropertyValue(s);p(n,"opacity"!==s)&&(h=i(h))}return h},inArray:function(t,i,o){return e(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,o)},isArray:r,isClass:a,isDOMElement:n,isFunction:function(t){return"function"==typeof t},isNumber:h,isObject:s,isString:o,keys:function(t){return e(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){var t,e=arguments,i={},o=function(t,e){return"object"!=typeof t&&(t={}),m(e,function(i,r){"__proto__"!==r&&"constructor"!==r&&(t[r]=!s(i,!0)||a(i)||n(i)?e[r]:o(t[r]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));var r=e.length;for(t=0;t<r;t++)i=o(i,e[t]);return i},normalizeTickInterval:function(t,e,i,o,r){var s=t,n=t/(i=p(i,1));for(e||(e=r?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===o&&(1===i?e=e.filter(function(t){return 0==t%1}):.1>=i&&(e=[1/i]))),o=0;o<e.length&&(s=e[o],!(r&&s*i>=t||!r&&n<=(e[o]+(e[o+1]||e[o]))/2));o++);return g(s*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:m,offset:function(t){var e=w.documentElement;return{top:(t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(C.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(C.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:p,pInt:i,relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:y,splat:function(t){return r(t)?t:[t]},stableSort:function(t,e){var i,o,r=t.length;for(o=0;o<r;o++)t[o].safeI=o;for(t.sort(function(t,o){return 0===(i=e(t,o))?t.safeI-o.safeI:i}),o=0;o<r;o++)delete t[o].safeI},syncTimeout:function(t,e,i){return 0<e?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:M,useSerialIds:function(t){return k=p(t,k)},wrap:function(t,e,i){var o=t[e];t[e]=function(){var t=Array.prototype.slice.call(arguments),e=arguments,r=this;return r.proceed=function(){o.apply(r,arguments.length?arguments:e)},t.unshift(o),t=i.apply(this,t),r.proceed=null,t}}}}),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.isNumber,o=e.merge,r=e.pInt;return e=function(){function e(i){return this.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(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],this.rgba=[],t.Color!==e?new t.Color(i):this instanceof e?void this.init(i):new e(i)}return e.parse=function(t){return new e(t)},e.prototype.init=function(t){var i,o;if((this.input=t=e.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new e(t[1])});else{if(t&&t.charAt&&"#"===t.charAt()){var r=t.length;t=parseInt(t.substr(1),16),7===r?i=[(16711680&t)>>16,(65280&t)>>8,255&t,1]:4===r&&(i=[(3840&t)>>4|(3840&t)>>8,(240&t)>>4|240&t,(15&t)<<4|15&t,1])}if(!i)for(o=this.parsers.length;o--&&!i;){var s=this.parsers[o];(r=s.regex.exec(t))&&(i=s.parse(r))}}this.rgba=i||[]},e.prototype.get=function(t){var e=this.input,r=this.rgba;if(void 0!==this.stops){var s=o(e);s.stops=[].concat(s.stops),this.stops.forEach(function(e,i){s.stops[i]=[s.stops[i][0],e.get(t)]})}else s=r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?r[3]:"rgba("+r.join(",")+")":e;return s},e.prototype.brighten=function(t){var e,o=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(e=0;3>e;e++)o[e]+=r(255*t),0>o[e]&&(o[e]=0),255<o[e]&&(o[e]=255);return this},e.prototype.setOpacity=function(t){return this.rgba[3]=t,this},e.prototype.tweenTo=function(t,e){var i=this.rgba,o=t.rgba;return o.length&&i&&i.length?((t=1!==o[3]||1!==i[3])?"rgba(":"rgb(")+Math.round(o[0]+(i[0]-o[0])*(1-e))+","+Math.round(o[1]+(i[1]-o[1])*(1-e))+","+Math.round(o[2]+(i[2]-o[2])*(1-e))+(t?","+(o[3]+(i[3]-o[3])*(1-e)):"")+")":t.input||"none"},e.names={white:"#ffffff",black:"#000000"},e}(),t.Color=e,t.color=e.parse,e}),e(i,"Core/Color/Palette.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),backgroundColor:"#ffffff",neutralColor100:"#000000",neutralColor80:"#333333",neutralColor60:"#666666",neutralColor40:"#999999",neutralColor20:"#cccccc",neutralColor10:"#e6e6e6",neutralColor5:"#f2f2f2",neutralColor3:"#f7f7f7",highlightColor100:"#003399",highlightColor80:"#335cad",highlightColor60:"#6685c2",highlightColor20:"#ccd6eb",highlightColor10:"#e6ebf5",positiveColor:"#06b535",negativeColor:"#f21313"}}),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.win,o=e.defined,r=e.error,s=e.extend,n=e.isObject,a=e.merge,h=e.objectEach,l=e.pad,c=e.pick,d=e.splat,p=e.timeUnits;return e=function(){function e(t){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}return e.prototype.get=function(t,e){if(this.variableTimezone||this.timezoneOffset){var i=e.getTime(),o=i-this.getTimezoneOffset(e);return e.setTime(o),t=e["getUTC"+t](),e.setTime(i),t}return this.useUTC?e["getUTC"+t]():e["get"+t]()},e.prototype.set=function(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&0==this.getTimezoneOffset(e)%36e5)return e["setUTC"+t](i);var o=this.getTimezoneOffset(e);return o=e.getTime()-o,e.setTime(o),e["setUTC"+t](i),t=this.getTimezoneOffset(e),o=e.getTime()+t,e.setTime(o)}return this.useUTC?e["setUTC"+t](i):e["set"+t](i)},e.prototype.update=function(t){var e=c(t&&t.useUTC,!0);this.options=t=a(!0,this.options||{},t),this.Date=t.Date||i.Date||Date,this.timezoneOffset=(this.useUTC=e)&&t.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)},e.prototype.makeTime=function(e,i,o,r,s,n){if(this.useUTC){var a=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(a),l=this.getTimezoneOffset(a+=h);h!==l?a+=l-h:h-36e5!==this.getTimezoneOffset(a-36e5)||t.isSafari||(a-=36e5)}else a=new this.Date(e,i,c(o,1),c(r,0),c(s,0),c(n,0)).getTime();return a},e.prototype.timezoneOffsetFunction=function(){var t=this,e=this.options,o=e.moment||i.moment;if(!this.useUTC)return function(t){return 6e4*new Date(t.toString()).getTimezoneOffset()};if(e.timezone){if(o)return function(t){return 6e4*-o.tz(t,e.timezone).utcOffset()};r(25)}return this.useUTC&&e.getTimezoneOffset?function(t){return 6e4*e.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(t.timezoneOffset||0)}},e.prototype.dateFormat=function(e,i,r){if(!o(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");var n=this,a=new this.Date(i),d=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,v=m&&m.shortWeekdays;return a=s({a:v?v[p]:y[p].substr(0,3),A:y[p],d:l(u),e:l(u,2," "),w:p,b:m.shortMonths[f],B:m.months[f],m:l(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:l(d),k:d,I:l(d%12||12),l:d%12||12,M:l(this.get("Minutes",a)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:l(a.getSeconds()),L:l(Math.floor(i%1e3),3)},t.dateFormats),h(a,function(t,o){for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(n,i):t)}),r?e.substr(0,1).toUpperCase()+e.substr(1):e},e.prototype.resolveDTLFormat=function(t){return n(t,!0)?t:{main:(t=d(t))[0],from:t[1],to:t[2]}},e.prototype.getTimeTicks=function(t,e,i,r){var n,a=this,h=[],l={},d=new a.Date(e),u=t.unitRange,f=t.count||1;if(r=c(r,1),o(e)){if(a.set("Milliseconds",d,u>=p.second?0:f*Math.floor(a.get("Milliseconds",d)/f)),u>=p.second&&a.set("Seconds",d,u>=p.minute?0:f*Math.floor(a.get("Seconds",d)/f)),u>=p.minute&&a.set("Minutes",d,u>=p.hour?0:f*Math.floor(a.get("Minutes",d)/f)),u>=p.hour&&a.set("Hours",d,u>=p.day?0:f*Math.floor(a.get("Hours",d)/f)),u>=p.day&&a.set("Date",d,u>=p.month?1:Math.max(1,f*Math.floor(a.get("Date",d)/f))),u>=p.month){a.set("Month",d,u>=p.year?0:f*Math.floor(a.get("Month",d)/f));var g=a.get("FullYear",d)}u>=p.year&&a.set("FullYear",d,g-g%f),u===p.week&&(g=a.get("Day",d),a.set("Date",d,a.get("Date",d)-g+r+(g<r?-7:0))),g=a.get("FullYear",d),r=a.get("Month",d);var m=a.get("Date",d),y=a.get("Hours",d);for(e=d.getTime(),!a.variableTimezone&&a.useUTC||!o(i)||(n=i-e>4*p.month||a.getTimezoneOffset(e)!==a.getTimezoneOffset(i)),e=d.getTime(),d=1;e<i;)h.push(e),e=u===p.year?a.makeTime(g+d*f,0):u===p.month?a.makeTime(g,r+d*f):!n||u!==p.day&&u!==p.week?n&&u===p.hour&&1<f?a.makeTime(g,r,m,y+d*f):e+u*f:a.makeTime(g,r,m+d*f*(u===p.day?1:7)),d++;h.push(e),u<=p.hour&&1e4>h.length&&h.forEach(function(t){0==t%18e5&&"000000000"===a.dateFormat("%H%M%S%L",t)&&(l[t]="day")})}return h.info=s(t,{higherRanks:l,totalRange:u*f}),h},e}(),t.Time=e,t.Time}),e(i,"Core/Options.js",[i["Core/Globals.js"],i["Core/Color/Color.js"],i["Core/Color/Palette.js"],i["Core/Time.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.isTouchDevice,n=t.svg;e=e.parse;var a=r.merge,h={colors:i.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},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}},zoomBySingleTouch:!1,width:null,height:null,borderColor:i.highlightColor80,backgroundColor:i.backgroundColor,plotBorderColor:i.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:i.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:i.neutralColor40,borderRadius:0,navigation:{activeColor:i.highlightColor100,inactiveColor:i.neutralColor20},itemStyle:{color:i.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:i.neutralColor100},itemHiddenStyle:{color:i.neutralColor20},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:i.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n,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:s?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:e(i.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:i.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:i.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};h.chart.styledMode=!1;var l=new o(a(h.global,h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(e){return a(!0,h,e),(e.time||e.global)&&(t.time?t.time.update(a(h.global,h.time,e.global,e.time)):t.time=l),h}}}),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.parse,r=e.win,s=i.isNumber,n=i.objectEach;return function(){function t(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}return t.prototype.dSetter=function(){var t=this.paths,e=t&&t[0];t=t&&t[1];var i=this.now||0,o=[];if(1!==i&&e&&t)if(e.length===t.length&&1>i)for(var r=0;r<t.length;r++){for(var n=e[r],a=t[r],h=[],l=0;l<a.length;l++){var c=n[l],d=a[l];h[l]=s(c)&&s(d)&&("A"!==a[0]||4!==l&&5!==l)?c+i*(d-c):d}o.push(h)}else o=t;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)},t.prototype.update=function(){var t=this.elem,e=this.prop,i=this.now,o=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,o&&o.call(t,i,this)},t.prototype.run=function(e,i,o){var s=this,n=s.options,a=function(t){return!a.stopped&&s.step(t)},h=r.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(var e=0;e<t.timers.length;e++)t.timers[e]()||t.timers.splice(e--,1);t.timers.length&&h(l)};e!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=i,this.unit=o,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===t.timers.push(a)&&h(l)):(delete n.curAnim[this.prop],n.complete&&0===Object.keys(n.curAnim).length&&n.complete.call(this.elem))},t.prototype.step=function(t){var e=+new Date,i=this.options,o=this.elem,r=i.complete,s=i.duration,a=i.curAnim;if(o.attr&&!o.element)t=!1;else if(t||e>=s+this.startTime){this.now=this.end,this.pos=1,this.update();var h=a[this.prop]=!0;n(a,function(t){!0!==t&&(h=!1)}),h&&r&&r.call(o),t=!1}else this.pos=i.easing((e-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},t.prototype.initPath=function(t,e,i){function o(t,e){for(;t.length<p;){var i=t[0],o=e[p-t.length];o&&"M"===i[0]&&(t[0]="C"===o[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]),t.unshift(i),h&&(i=t.pop(),t.push(t[t.length-1],i))}}function r(t,e){for(;t.length<p;)if("C"===(e=t[Math.floor(t.length/l)-1].slice())[0]&&(e[1]=e[5],e[2]=e[6]),h){var i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}var n=t.startX,a=t.endX;i=i.slice();var h=t.isArea,l=h?2:1;if(!(e=e&&e.slice()))return[i,i];if(n&&a&&a.length){for(t=0;t<n.length;t++){if(n[t]===a[0]){var c=t;break}if(n[0]===a[a.length-n.length+t]){c=t;var d=!0;break}if(n[n.length-1]===a[a.length-n.length+t]){c=n.length-t;break}}void 0===c&&(e=[])}if(e.length&&s(c)){var p=i.length+c*l;d?(o(e,i),r(i,e)):(o(i,e),r(e,i))}return[e,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,o(this.start).tweenTo(o(this.end),this.pos),null,!0)},t.timers=[],t}()}),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],function(t,e){function i(t){return h(t)?l({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function o(e,i){for(var o=t.timers.length;o--;)t.timers[o].elem!==e||i&&i!==t.timers[o].prop||(t.timers[o].stopped=!0)}var r=e.defined,s=e.getStyle,n=e.isArray,a=e.isNumber,h=e.isObject,l=e.merge,c=e.objectEach,d=e.pick;return{animate:function(e,i,r){var d,p,u,f="";if(!h(r)){var g=arguments;r={duration:g[2],easing:g[3],complete:g[4]}}a(r.duration)||(r.duration=400),r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=l(i),c(i,function(a,h){o(e,h),u=new t(e,r,h),p=void 0,"d"===h&&n(i.d)?(u.paths=u.initPath(e,e.pathArray,i.d),u.toD=i.d,d=0,p=1):e.attr?d=e.attr(h):(d=parseFloat(s(e,h))||0,"opacity"!==h&&(f="px")),p||(p=a),"string"==typeof p&&p.match("px")&&(p=p.replace(/px/g,"")),u.run(d,p,f)})},animObject:i,getDeferredAnimation:function(t,e,o){var s=i(e),n=0,a=0;return(o?[o]:t.series).forEach(function(t){t=i(t.options.animation),n=e&&r(e.defer)?s.defer:Math.max(n,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-a),duration:Math.min(n,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=d(t,e.options.chart.animation,!0)},stop:o}}),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.SVG_NS,o=e.attr,r=e.createElement,s=e.discardElement,n=e.error,a=e.isString,h=e.objectEach,l=e.splat,c=!1;try{c=!!(new DOMParser).parseFromString("","text/html")}catch(d){}return function(){function e(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}return e.filterUserAttributes=function(t){return h(t,function(i,o){var r=!0;-1===e.allowedAttributes.indexOf(o)&&(r=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(o)&&(r=a(i)&&e.allowedReferences.some(function(t){return 0===i.indexOf(t)})),r||(n("Highcharts warning: Invalid attribute '"+o+"' in config"),delete t[o])}),t},e.setElementHTML=function(t,i){t.innerHTML="",i&&new e(i).addToDOM(t)},e.prototype.addToDOM=function(r){return function r(s,a){var c;return l(s).forEach(function(s){var l=s.tagName,d=s.textContent?t.doc.createTextNode(s.textContent):void 0;if(l)if("#text"===l)var p=d;else if(-1!==e.allowedTags.indexOf(l)){l=t.doc.createElementNS("svg"===l?i:a.namespaceURI||i,l);var u=s.attributes||{};h(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"textContent"!==e&&(u[e]=t)}),o(l,e.filterUserAttributes(u)),d&&l.appendChild(d),r(s.children||[],l),p=l}else n("Highcharts warning: Invalid tagName '"+l+"' in config");p&&a.appendChild(p),c=p}),c}(this.nodes,r)},e.prototype.parseMarkup=function(t){var e=[];if(c)t=(new DOMParser).parseFromString(t,"text/html");else{var i=r("div");i.innerHTML=t,t={body:i}}var o=function(t,e){var i=t.nodeName.toLowerCase(),r={tagName:i};if("#text"===i){if(/^[\s]*$/.test(i=t.textContent||""))return;r.textContent=i}if(i=t.attributes){var s={};[].forEach.call(i,function(t){s[t.name]=t.value}),r.attributes=s}if(t.childNodes.length){var n=[];[].forEach.call(t.childNodes,function(t){o(t,n)}),n.length&&(r.children=n)}e.push(r)};return[].forEach.call(t.body.childNodes,function(t){return o(t,e)}),i&&s(i),e},e.allowedTags="a b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),e.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style result rowspan summary target tabindex text-align textAnchor textLength type valign width x x1 x2 y y1 y2 zIndex".split(" "),e.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),e}()}),e(i,"Core/FormatUtilities.js",[i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e,i,r){e=+e;var s=o.lang,l=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,c=t.toString().split("e"),d=e;if(-1===e)e=Math.min(l,20);else if(n(e)){if(e&&c[1]&&0>c[1]){var p=e+ +c[1];0<=p?(c[0]=(+c[0]).toExponential(p).split("e")[0],e=p):(c[0]=c[0].split(".")[0]||0,t=20>e?(c[0]*Math.pow(10,c[1])).toFixed(e):0,c[1]=0)}}else e=2;p=(Math.abs(c[1]?c[0]:t)+Math.pow(10,-Math.max(e,l)-1)).toFixed(e);var u=3<(l=String(h(p))).length?l.length%3:0;return i=a(i,s.decimalPoint),r=a(r,s.thousandsSep),t=(0>t?"-":"")+(u?l.substr(0,u)+r:""),t=0>+c[1]&&!d?"0":t+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(t+=i+p.slice(-e)),c[1]&&0!=+t&&(t+="e"+c[1]),t}var o=t.defaultOptions,r=t.defaultTime,s=e.getNestedProperty,n=e.isNumber,a=e.pick,h=e.pInt;return{dateFormat:function(t,e,i){return r.dateFormat(t,e,i)},format:function(t,e,n){var a="{",h=!1,l=/f$/,c=/\.([0-9])/,d=o.lang,p=n&&n.time||r;n=n&&n.numberFormatter||i;for(var u=[];t;){var f=t.indexOf(a);if(-1===f)break;var g=t.slice(0,f);if(h){if(g=g.split(":"),a=s(g.shift()||"",e),g.length&&"number"==typeof a)if(g=g.join(":"),l.test(g)){var m=parseInt((g.match(c)||["","-1"])[1],10);null!==a&&(a=n(a,m,d.decimalPoint,-1<g.indexOf(",")?d.thousandsSep:""))}else a=p.dateFormat(g,a);u.push(a)}else u.push(g);t=t.slice(f+1),a=(h=!h)?"}":"{"}return u.push(t),u.join("")},numberFormat:i}}),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.animate,a=t.animObject,h=t.stop,l=o.deg2rad,c=o.doc,d=o.noop,p=o.svg,u=o.SVG_NS,f=o.win,g=s.addEvent,m=s.attr,y=s.createElement,v=s.css,x=s.defined,b=s.erase,w=s.extend,C=s.fireEvent,S=s.isArray,k=s.isFunction,M=s.isNumber,A=s.isString,T=s.merge,P=s.objectEach,O=s.pick,E=s.pInt,L=s.syncTimeout,D=s.uniqueKey;return(t=function(){function t(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=u,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return t.prototype._defaultGetter=function(t){return t=O(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0),/^[\-0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},t.prototype._defaultSetter=function(t,e,i){i.setAttribute(e,t)},t.prototype.add=function(t){var e=this.renderer,i=this.element;if(t&&(this.parentGroup=t),this.parentInverted=t&&t.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,!t||t.handleZ||this.zIndex)var o=this.zIndexSetter();return o||(t?t.element:e.box).appendChild(i),this.onAdd&&this.onAdd(),this},t.prototype.addClass=function(t,e){var i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this},t.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},t.prototype.align=function(t,e,i){var o,r,s,n={},a=this.renderer,h=a.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||A(i))&&(this.alignTo=o=i||"renderer",b(h,this),h.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,o=this.alignTo),i=O(i,a[o],"scrollablePlotBox"===o?a.plotBox:void 0,a);var l=t.verticalAlign;return a=(i.x||0)+(t.x||0),h=(i.y||0)+(t.y||0),"right"===(o=t.align)?r=1:"center"===o&&(r=2),r&&(a+=(i.width-(t.width||0))/r),n[e?"translateX":"x"]=Math.round(a),"bottom"===l?s=1:"middle"===l&&(s=2),s&&(h+=(i.height-(t.height||0))/s),n[e?"translateY":"y"]=Math.round(h),this[this.placed?"animate":"attr"](n),this.placed=!0,this.alignAttr=n,this},t.prototype.alignSetter=function(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))},t.prototype.animate=function(t,e,i){var o=this,r=a(O(e,this.renderer.globalAnimation,!0));return e=r.defer,O(c.hidden,c.msHidden,c.webkitHidden,!1)&&(r.duration=0),0!==r.duration?(i&&(r.complete=i),L(function(){o.element&&n(o,t,r)},e)):(this.attr(t,void 0,i),P(t,function(t,e){r.step&&r.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this},t.prototype.applyTextOutline=function(t){var e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));var i=t.split(" ");if(t=i[i.length-1],(i=i[0])&&"none"!==i&&o.svg){this.fakeTS=!0,this.ySetter=this.xSetter,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();var r=c.createElementNS(u,"tspan");m(r,{class:"highcharts-text-outline",fill:t,stroke:t,"stroke-width":i,"stroke-linejoin":"round"}),[].forEach.call(e.childNodes,function(t){var e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(t){return e.removeAttribute(t)}),r.appendChild(e)});var s=c.createElementNS(u,"tspan");s.textContent="\u200b",["x","y"].forEach(function(t){var i=e.getAttribute(t);i&&s.setAttribute(t,i)}),r.appendChild(s),e.insertBefore(r,e.firstChild)}},t.prototype.attr=function(t,e,i,o){var r,s,n,a=this.element,l=this.symbolCustomAttribs,c=this;if("string"==typeof t&&void 0!==e){var d=t;(t={})[d]=e}return"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(P(t,function(e,i){s=!1,o||h(this,i),this.symbolName&&-1!==l.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),s=!0),!this.rotation||"x"!==i&&"y"!==i||(this.doTransform=!0),s||((n=this[i+"Setter"]||this._defaultSetter).call(this,e,i,a),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,e,n))},this),this.afterSetters()),i&&i.call(this),c},t.prototype.clip=function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":"none")},t.prototype.crisp=function(t,e){e=e||t.strokeWidth||0;var i=Math.round(e)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),x(t.strokeWidth)&&(t.strokeWidth=e),t},t.prototype.complexColor=function(t,e,o){var r,s,n,a,h,l,c,d,p,u,f,g=this.renderer,m=[];C(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(h=g.gradients,l=t.stops,p=o.radialReference,S(n=t[s])&&(t[s]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&p&&!x(n.gradientUnits)&&(n=T(n,g.getRadialAttr(p,a=n),{gradientUnits:"userSpaceOnUse"})),P(n,function(t,e){"id"!==e&&m.push(e,t)}),P(l,function(t){m.push(t)}),m=m.join(","),h[m])u=h[m].attr("id");else{n.id=u=D();var y=h[m]=g.createElement(s).attr(n).add(g.defs);y.radAttr=a,y.stops=[],l.forEach(function(t){0===t[1].indexOf("rgba")?(r=i.parse(t[1]),c=r.get("rgb"),d=r.get("a")):(c=t[1],d=1),t=g.createElement("stop").attr({offset:t[0],"stop-color":c,"stop-opacity":d}).add(y),y.stops.push(t)})}o.setAttribute(e,f="url("+g.url+"#"+u+")"),o.gradient=m,t.toString=function(){return f}}})},t.prototype.css=function(t){var e=this.styles,i={},o=this.element,r=["textOutline","textOverflow","width"],s="",n=!e;if(t&&t.color&&(t.fill=t.color),e&&P(t,function(t,o){e&&e[o]!==t&&(i[o]=t,n=!0)}),n){if(e&&(t=w(e,i)),t)if(null===t.width||"auto"===t.width)delete this.textWidth;else if("text"===o.nodeName.toLowerCase()&&t.width)var a=this.textWidth=E(t.width);if(this.styles=t,a&&!p&&this.renderer.forExport&&delete t.width,o.namespaceURI===this.SVG_NS){var h=function(t,e){return"-"+e.toLowerCase()};P(t,function(t,e){-1===r.indexOf(e)&&(s+=e.replace(/([A-Z])/g,h)+":"+t+";")}),s&&m(o,"style",s)}else v(o,t);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t&&t.textOutline&&this.applyTextOutline(t.textOutline))}return this},t.prototype.dashstyleSetter=function(t){var e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){var i=t.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(t=i.length;t--;)i[t]=""+E(i[t])*O(e,NaN);t=i.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}},t.prototype.destroy=function(){var t=this,e=t.element||{},i=t.renderer,o=e.ownerSVGElement,r=i.isSVG&&"SPAN"===e.nodeName&&t.parentGroup||void 0;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,h(t),t.clipPath&&o){var s=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1<t.getAttribute("clip-path").indexOf(s.element.id)&&t.removeAttribute("clip-path")}),t.clipPath=s.destroy()}if(t.stops){for(o=0;o<t.stops.length;o++)t.stops[o].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e),i.styledMode||t.destroyShadows();r&&r.div&&0===r.div.childNodes.length;)e=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=e;t.alignTo&&b(i.alignedObjects,t),P(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})},t.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(t){this.safeRemoveChild(t)},this),this.shadows=void 0},t.prototype.destroyTextPath=function(t,e){var i=t.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),e.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(t=this.textPathWrapper.element.childNodes;t.length;)i.appendChild(t[0]);i.removeChild(this.textPathWrapper.element)}}else(t.getAttribute("dx")||t.getAttribute("dy"))&&(t.removeAttribute("dx"),t.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},t.prototype.dSetter=function(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(function(t,e,i){return e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()},"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)},t.prototype.fadeOut=function(t){var e=this;e.animate({opacity:0},{duration:O(t,150),complete:function(){e.attr({y:-9999}).hide()}})},t.prototype.fillSetter=function(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)},t.prototype.getBBox=function(e,i){var o=this.renderer,r=this.element,s=this.styles,n=this.textStr,a=o.cache,h=o.cacheKeys,c=r.namespaceURI===this.SVG_NS;i=O(i,this.rotation,0);var d,p=o.styledMode?r&&t.prototype.getStyle.call(r,"font-size"):s&&s.fontSize;if(x(n)){var u=n.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",i,p,this.textWidth,s&&s.textOverflow,s&&s.fontWeight].join()}if(u&&!e&&(d=a[u]),!d){if(c||o.forExport){try{var f=this.fakeTS&&function(t){var e=r.querySelector(".highcharts-text-outline");e&&v(e,{display:t})};k(f)&&f("none"),d=r.getBBox?w({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight},k(f)&&f("")}catch(g){}(!d||0>d.width)&&(d={width:0,height:0})}else d=this.htmlGetBBox();if(o.isSVG&&(e=d.width,o=d.height,c&&(d.height=o={"11px,17":14,"13px,20":16}[s&&s.fontSize+","+Math.round(o)]||o),i&&(s=i*l,d.width=Math.abs(o*Math.sin(s))+Math.abs(e*Math.cos(s)),d.height=Math.abs(o*Math.cos(s))+Math.abs(e*Math.sin(s)))),u&&0<d.height){for(;250<h.length;)delete a[h.shift()];a[u]||h.push(u),a[u]=d}}return d},t.prototype.getStyle=function(t){return f.getComputedStyle(this.element||this,"").getPropertyValue(t)},t.prototype.hasClass=function(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)},t.prototype.hide=function(t){return this.attr(t?{y:-9999}:{visibility:"hidden"}),this},t.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},t.prototype.init=function(t,e){this.element="span"===e?y(e):c.createElementNS(this.SVG_NS,e),this.renderer=t,C(this,"afterInit")},t.prototype.invert=function(t){return this.inverted=t,this.updateTransform(),this},t.prototype.on=function(t,e){var i=this.onEvents;return i[t]&&i[t](),i[t]=g(this.element,t,e),this},t.prototype.opacitySetter=function(t,e,i){this.opacity=t=Number(Number(t).toFixed(3)),i.setAttribute(e,t)},t.prototype.removeClass=function(t){return this.attr("class",(""+this.attr("class")).replace(A(t)?new RegExp("(^| )"+t+"( |$)"):t," ").replace(/ +/g," ").trim())},t.prototype.removeTextOutline=function(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)},t.prototype.safeRemoveChild=function(t){var e=t.parentNode;e&&e.removeChild(t)},t.prototype.setRadialReference=function(t){var e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this},t.prototype.setTextPath=function(t,i){var o=this.element,r=this.text?this.text.element:o,s={textAnchor:"text-anchor"},n=!1,a=this.textPathWrapper,h=!a;i=T(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},i);var l=e.filterUserAttributes(i.attributes);if(t&&i&&i.enabled){a&&null===a.element.parentNode?(h=!0,a=a.destroy()):a&&this.removeTextOutline.call(a.parentGroup),this.options&&this.options.padding&&(l.dx=-this.options.padding),a||(this.textPathWrapper=a=this.renderer.createElement("textPath"),n=!0);var c=a.element;if((i=t.element.getAttribute("id"))||t.element.setAttribute("id",i=D()),h)for(r.setAttribute("y",0),M(l.dx)&&r.setAttribute("x",-l.dx),t=[].slice.call(r.childNodes),h=0;h<t.length;h++){var p=t[h];p.nodeType!==Node.TEXT_NODE&&"tspan"!==p.nodeName||c.appendChild(p)}n&&a&&a.add({element:r}),c.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+i),x(l.dy)&&(c.parentNode.setAttribute("dy",l.dy),delete l.dy),x(l.dx)&&(c.parentNode.setAttribute("dx",l.dx),delete l.dx),P(l,function(t,e){c.setAttribute(s[e]||e,t)}),o.removeAttribute("transform"),this.removeTextOutline.call(a),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=d}else a&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(o,t),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},t.prototype.shadow=function(t,e,i){var o,s=[],n=this.element,a=this.oldShadowOptions,h={color:r.neutralColor100,offsetX:1,offsetY:1,opacity:.15,width:3},l=!1;if(!0===t?o=h:"object"==typeof t&&(o=w(h,t)),o&&(o&&a&&P(o,function(t,e){t!==a[e]&&(l=!0)}),l&&this.destroyShadows(),this.oldShadowOptions=o),o){if(!this.shadows){var c=o.opacity/o.width,d=this.parentInverted?"translate(-1,-1)":"translate("+o.offsetX+", "+o.offsetY+")";for(h=1;h<=o.width;h++){var p=n.cloneNode(!1),u=2*o.width+1-2*h;m(p,{stroke:t.color||r.neutralColor100,"stroke-opacity":c*h,"stroke-width":u,transform:d,fill:"none"}),p.setAttribute("class",(p.getAttribute("class")||"")+" highcharts-shadow"),i&&(m(p,"height",Math.max(m(p,"height")-u,0)),p.cutHeight=u),e?e.element.appendChild(p):n.parentNode&&n.parentNode.insertBefore(p,n),s.push(p)}this.shadows=s}}else this.destroyShadows();return this},t.prototype.show=function(t){return this.attr({visibility:t?"inherit":"visible"})},t.prototype.strokeSetter=function(e,i,o){this[i]=e,this.stroke&&this["stroke-width"]?(t.prototype.fillSetter.call(this,this.stroke,"stroke",o),o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===e&&this.hasStroke?(o.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},t.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var t=this.getStyle("stroke-width"),e=0;if(t.indexOf("px")===t.length-2)e=E(t);else if(""!==t){var i=c.createElementNS(u,"rect");m(i,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)}return e},t.prototype.symbolAttr=function(t){var e=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){e[i]=O(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})},t.prototype.textSetter=function(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))},t.prototype.titleSetter=function(t){var e=this.element,i=e.getElementsByTagName("title")[0]||c.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=String(O(t,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},t.prototype.toFront=function(){var t=this.element;return t.parentNode.appendChild(t),this},t.prototype.translate=function(t,e){return this.attr({translateX:t,translateY:e})},t.prototype.updateShadows=function(t,e,i){var o=this.shadows;if(o)for(var r=o.length;r--;)i.call(o[r],"height"===t?Math.max(e-(o[r].cutHeight||0),0):"d"===t?this.d:e,t,o[r])},t.prototype.updateTransform=function(){var t=this.scaleX,e=this.scaleY,i=this.inverted,o=this.rotation,r=this.matrix,s=this.element,n=this.translateX||0,a=this.translateY||0;i&&(n+=this.width,a+=this.height),n=["translate("+n+","+a+")"],x(r)&&n.push("matrix("+r.join(",")+")"),i?n.push("rotate(90) scale(-1,1)"):o&&n.push("rotate("+o+" "+O(this.rotationOriginX,s.getAttribute("x"),0)+" "+O(this.rotationOriginY,s.getAttribute("y")||0)+")"),(x(t)||x(e))&&n.push("scale("+O(t,1)+" "+O(e,1)+")"),n.length&&s.setAttribute("transform",n.join(" "))},t.prototype.visibilitySetter=function(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t},t.prototype.xGetter=function(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)},t.prototype.zIndexSetter=function(t,e){var i=this.renderer,o=this.parentGroup,r=(o||i).element||i.box,s=this.element;i=r===i.box;var n,a=!1,h=this.added;if(x(t)?(s.setAttribute("data-z-index",t),this[e]===(t=+t)&&(h=!1)):x(this[e])&&s.removeAttribute("data-z-index"),this[e]=t,h){for((t=this.zIndex)&&o&&(o.handleZ=!0),n=(e=r.childNodes).length-1;0<=n&&!a;n--){h=(o=e[n]).getAttribute("data-z-index");var l=!x(h);o!==s&&(0>t&&l&&!i&&!n?(r.insertBefore(s,e[n]),a=!0):(E(h)<=t||l&&(!x(t)||0<=t))&&(r.insertBefore(s,e[n+1]||null),a=!0))}a||(r.insertBefore(s,e[i?3:0]||null),a=!0)}return a},t}()).prototype["stroke-widthSetter"]=t.prototype.strokeSetter,t.prototype.yGetter=t.prototype.xGetter,t.prototype.matrixSetter=t.prototype.rotationOriginXSetter=t.prototype.rotationOriginYSetter=t.prototype.rotationSetter=t.prototype.scaleXSetter=t.prototype.scaleYSetter=t.prototype.translateXSetter=t.prototype.translateYSetter=t.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},t}),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=e.defined,s=e.extend,n=e.isNumber,a=e.merge,h=e.pick,l=e.removeEvent;return function(e){function c(t,o,r,s,n,a,h,l,d,p){var u=e.call(this)||this;if(u.paddingSetter=i,u.paddingLeftSetter=i,u.paddingRightSetter=i,u.init(t,"g"),u.textStr=o,u.x=r,u.y=s,u.anchorX=a,u.anchorY=h,u.baseline=d,u.className=p,"button"!==p&&u.addClass("highcharts-label"),p&&u.addClass("highcharts-"+p),u.text=t.text("",0,0,l).attr({zIndex:1}),"string"==typeof n){var f=/^url\((.*?)\)$/.test(n);(u.renderer.symbols[n]||f)&&(u.symbolKey=n)}return u.bBox=c.emptyBBox,u.padding=3,u.baselineOffset=0,u.needsBox=t.styledMode||f,u.deferredAttr={},u.alignFactor=0,u}return o(c,e),c.prototype.alignSetter=function(t){(t={left:0,center:.5,right:1}[t])!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))},c.prototype.anchorXSetter=function(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)},c.prototype.anchorYSetter=function(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)},c.prototype.boxAttr=function(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e},c.prototype.css=function(e){if(e){var i,o={};e=a(e),c.textProps.forEach(function(t){void 0!==e[t]&&(o[t]=e[t],delete e[t])}),this.text.css(o),i="width"in o,"fontSize"in o||"fontWeight"in o?this.updateTextPadding():i&&this.updateBoxSize()}return t.prototype.css.call(this,e)},c.prototype.destroy=function(){l(this.element,"mouseenter"),l(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)},c.prototype.fillSetter=function(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)},c.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var t=this.padding,e=h(this.paddingLeft,t);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-t}},c.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},c.prototype.heightSetter=function(t){this.heightSetting=t},c.prototype.on=function(e,i){var o=this,r=o.text,s=r&&"SPAN"===r.element.tagName?r:void 0;if(s){var n=function(t){("mouseenter"===e||"mouseleave"===e)&&t.relatedTarget instanceof Element&&(o.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||s.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||i.call(o.element,t)};s.on(e,n)}return t.prototype.on.call(o,e,n||i),o},c.prototype.onAdd=function(){var t=this.textStr;this.text.add(this),this.attr({text:r(t)?t:"",x:this.x,y:this.y}),this.box&&r(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},c.prototype.rSetter=function(t,e){this.boxAttr(e,t)},c.prototype.shadow=function(t){return t&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(t)),this},c.prototype.strokeSetter=function(t,e){this.stroke=t,this.boxAttr(e,t)},c.prototype["stroke-widthSetter"]=function(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)},c.prototype["text-alignSetter"]=function(t){this.textAlign=t},c.prototype.textSetter=function(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()},c.prototype.updateBoxSize=function(){var t=this.text.element.style,e={},i=this.padding,o=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!r(this.text.textStr)?c.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*i,this.baselineOffset=i+Math.min(this.renderer.fontMetrics(t&&t.fontSize,this.text).b,o.height||1/0),this.needsBox&&(this.box||((t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)),t=this.getCrispAdjust(),e.x=t,e.y=(this.baseline?-this.baselineOffset:0)+t,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(s(e,this.deferredAttr)),this.deferredAttr={})},c.prototype.updateTextPadding=function(){var t=this.text;this.updateBoxSize();var e=this.baseline?0:this.baselineOffset,i=h(this.paddingLeft,this.padding);r(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(i+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),i===t.x&&e===t.y||(t.attr("x",i),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=i,t.y=e},c.prototype.widthSetter=function(t){this.widthSetting=n(t)?t:void 0},c.prototype.getPaddedWidth=function(){var t=this.padding,e=h(this.paddingLeft,t);return t=h(this.paddingRight,t),(this.widthSetting||this.bBox.width||0)+e+t},c.prototype.xSetter=function(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)},c.prototype.ySetter=function(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)},c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),c}(t)}),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i){var o=t.doc,r=t.SVG_NS,s=e.attr,n=e.isString,a=e.objectEach,h=e.pick;return function(){function t(t){var e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace),this.fontSize=e&&e.fontSize}return t.prototype.buildSVG=function(){var t=this.svgElement,e=t.element,r=t.renderer,s=h(t.textStr,"").toString(),a=-1!==s.indexOf("<"),l=e.childNodes,c=l.length;r=this.width&&!t.added&&r.box;var d=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(d!==t.textCache){for(t.textCache=d,delete t.actualWidth;c--;)e.removeChild(l[c]);a||this.ellipsis||this.width||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))?""!==s&&(r&&r.appendChild(e),s=new i(s),this.modifyTree(s.nodes),s.addToDOM(t.element),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(e)):e.appendChild(o.createTextNode(this.unescapeEntities(s))),n(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}},t.prototype.modifyDOM=function(){var t=this,e=this.svgElement,i=s(e.element,"x");[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),function(e){e.nextSibling&&e.previousSibling&&s(e,{dy:t.getLineHeight(e.nextSibling),x:i})});var n=this.width||0;if(n){var a=function(a,h){var l=a.textContent||"",c=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!t.noWrap&&(1<c.length||1<e.element.childNodes.length),p=t.getLineHeight(h),u=0,f=e.actualWidth;if(t.ellipsis)l&&t.truncate(a,l,void 0,0,Math.max(0,n-parseInt(t.fontSize||12,10)),function(t,e){return t.substring(0,e)+"\u2026"});else if(d){for(l=[],d=[];h.firstChild&&h.firstChild!==a;)d.push(h.firstChild),h.removeChild(h.firstChild);for(;c.length;)c.length&&!t.noWrap&&0<u&&(l.push(a.textContent||""),a.textContent=c.join(" ").replace(/- /g,"-")),t.truncate(a,void 0,c,0===u&&f||0,n,function(t,e){return c.slice(0,e).join(" ").replace(/- /g,"-")}),f=e.actualWidth,u++;d.forEach(function(t){h.insertBefore(t,a)}),l.forEach(function(t){h.insertBefore(o.createTextNode(t),a),(t=o.createElementNS(r,"tspan")).textContent="\u200b",s(t,{dy:p,x:i}),h.insertBefore(t,a)})}},h=function(t){[].slice.call(t.childNodes).forEach(function(i){i.nodeType===Node.TEXT_NODE?a(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}},t.prototype.getLineHeight=function(t){var e;return t=t.nodeType===Node.TEXT_NODE?t.parentElement:t,this.renderer.styledMode||(e=t&&/(px|em)$/.test(t.style.fontSize)?t.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e,t||this.svgElement.element).h},t.prototype.modifyTree=function(t){var e=this,i=function(o,r){var s=o.tagName,a=e.renderer.styledMode,h=o.attributes||{};"b"===s||"strong"===s?a?h.class="highcharts-strong":h.style="font-weight:bold;"+(h.style||""):"i"!==s&&"em"!==s||(a?h.class="highcharts-emphasized":h.style="font-style:italic;"+(h.style||"")),n(h.style)&&(h.style=h.style.replace(/(;| |^)color([ :])/,"$1fill$2")),"br"===s&&(h.class="highcharts-br",o.textContent="\u200b",(r=t[r+1])&&r.textContent&&(r.textContent=r.textContent.replace(/^ +/gm,""))),"#text"!==s&&"a"!==s&&(o.tagName="tspan"),o.attributes=h,o.children&&o.children.filter(function(t){return"#text"!==t.tagName}).forEach(i)};for(t.forEach(i);t[0]&&"tspan"===t[0].tagName&&!t[0].children;)t.splice(0,1)},t.prototype.truncate=function(t,e,i,o,r,s){var n,a=this.svgElement,h=a.renderer,l=a.rotation,c=[],d=i?1:0,p=(e||i||"").length,u=p,f=function(r,n){n=n||r;var l=t.parentNode;if(l&&void 0===c[n])if(l.getSubStringLength)try{c[n]=o+l.getSubStringLength(0,i?n+1:n)}catch(d){}else h.getSpanWidth&&(t.textContent=s(e||i,r),c[n]=o+h.getSpanWidth(a,t));return c[n]};a.rotation=0;var g=f(t.textContent.length);if(o+g>r){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=s(i,u)),g=f(u,n&&n.length-1),d===p?d=p+1:g>r?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||s(e||i,u))}i&&i.splice(0,u),a.actualWidth=g,a.rotation=l},t.prototype.unescapeEntities=function(t,e){return a(this.renderer.escapes,function(i,o){e&&-1!==e.indexOf(i)||(t=t.toString().replace(new RegExp(i,"g"),o))}),t},t}()}),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=a.addEvent,c=a.attr,d=a.createElement,p=a.css,u=a.defined,f=a.destroyObjectProperties,g=a.extend,m=a.isArray,y=a.isNumber,v=a.isObject,x=a.isString,b=a.merge,w=a.pick,C=a.pInt,S=a.uniqueKey,k=e.charts,M=e.deg2rad,A=e.doc,T=e.isFirefox,P=e.isMS,O=e.isWebKit,E=e.noop,L=e.SVG_NS,D=e.symbolSizes,j=e.win;(a=function(){function e(t,e,i,o,r,s,n){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(t,e,i,o,r,s,n)}return e.prototype.init=function(t,e,i,o,r,s,n){var a,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"});n||h.css(this.getStyle(o)),t.appendChild(o=h.element),c(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&c(o,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=o,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(A.createTextNode("Created with Highcharts 9.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=r,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(e,i,!1),T&&t.getBoundingClientRect&&((e=function(){p(t,{left:0,top:0}),a=t.getBoundingClientRect(),p(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=l(j,"resize",e))},e.prototype.definition=function(t){return new s([t]).addToDOM(this.defs.element)},e.prototype.getReferenceURL=function(){if((T||O)&&A.getElementsByTagName("base").length){if(!u(h)){var t=S();t=new s([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+t+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(A.body),p(t,{position:"fixed",top:0,left:0,zIndex:9e5});var e=A.elementFromPoint(6,6);h="hitme"===(e&&e.id),A.body.removeChild(t)}if(h)return j.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},e.prototype.getStyle=function(t){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},t)},e.prototype.setStyle=function(t){this.boxWrapper.css(this.getStyle(t))},e.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},e.prototype.destroy=function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),f(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},e.prototype.createElement=function(t){var e=new this.Element;return e.init(this,t),e},e.prototype.getRadialAttr=function(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}},e.prototype.buildText=function(t){new n(t).buildSVG()},e.prototype.getContrast=function(e){return(e=t.parse(e).rgba)[0]*=1,e[1]*=1.2,e[2]*=.5,459<e[0]+e[1]+e[2]?"#000000":"#FFFFFF"},e.prototype.button=function(t,e,o,r,n,a,h,c,d,p){var u=this.label(t,e,o,d,void 0,void 0,p,void 0,"button"),f=0,m=this.styledMode,y=n?b(n):{};if(t=y&&y.style||{},y=s.filterUserAttributes(y),u.attr(b({padding:8,r:2},y)),!m){var v=(y=b({fill:i.neutralColor3,stroke:i.neutralColor20,"stroke-width":1,style:{color:i.neutralColor80,cursor:"pointer",fontWeight:"normal"}},{style:t},y)).style;delete y.style;var x=(a=b(y,{fill:i.neutralColor10},s.filterUserAttributes(a||{}))).style;delete a.style;var w=(h=b(y,{fill:i.highlightColor10,style:{color:i.neutralColor100,fontWeight:"bold"}},s.filterUserAttributes(h||{}))).style;delete h.style;var C=(c=b(y,{style:{color:i.neutralColor20}},s.filterUserAttributes(c||{}))).style;delete c.style}return l(u.element,P?"mouseover":"mouseenter",function(){3!==f&&u.setState(1)}),l(u.element,P?"mouseout":"mouseleave",function(){3!==f&&u.setState(f)}),u.setState=function(t){1!==t&&(u.state=f=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),m||u.attr([y,a,h,c][t||0]).css([v,x,w,C][t||0])},m||u.attr(y).css(g({cursor:"default"},v)),u.on("touchstart",function(t){return t.stopPropagation()}).on("click",function(t){3!==f&&r.call(u,t)})},e.prototype.crispLine=function(t,e,i){void 0===i&&(i="round");var o=t[0],r=t[1];return o[1]===r[1]&&(o[1]=r[1]=Math[i](o[1])-e%2/2),o[2]===r[2]&&(o[2]=r[2]=Math[i](o[2])+e%2/2),t},e.prototype.path=function(t){var e=this.styledMode?{}:{fill:"none"};return m(t)?e.d=t:v(t)&&g(e,t),this.createElement("path").attr(e)},e.prototype.circle=function(t,e,i){return t=v(t)?t:void 0===t?{}:{x:t,y:e,r:i},(e=this.createElement("circle")).xSetter=e.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},e.attr(t)},e.prototype.arc=function(t,e,i,o,r,s){return v(t)?(e=(o=t).y,i=o.r,t=o.x):o={innerR:o,start:r,end:s},(t=this.symbol("arc",t,e,i,i,o)).r=i,t},e.prototype.rect=function(t,e,i,o,r,s){r=v(t)?t.r:r;var n=this.createElement("rect");return t=v(t)?t:void 0===t?{}:{x:t,y:e,width:Math.max(i,0),height:Math.max(o,0)},this.styledMode||(void 0!==s&&(t["stroke-width"]=s,t=n.crisp(t)),t.fill="none"),r&&(t.r=r),n.rSetter=function(t,e,i){n.r=t,c(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(t)},e.prototype.setSize=function(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(i,!0)?void 0:0}),this.alignElements()},e.prototype.g=function(t){var e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e},e.prototype.image=function(t,e,i,o,r,s){var n={preserveAspectRatio:"none"},a=function(t,e){t.setAttributeNS?t.setAttributeNS("http://www.w3.org/1999/xlink","href",e):t.setAttribute("hc-svg-href",e)},h=function(e){a(c.element,t),s.call(c,e)};1<arguments.length&&g(n,{x:e,y:i,width:o,height:r});var c=this.createElement("image").attr(n);return s?(a(c.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),n=new j.Image,l(n,"load",h),n.src=t,n.complete&&h({})):a(c.element,t),c},e.prototype.symbol=function(t,e,i,o,r,s){var n,a=this,h=/^url\((.*?)\)$/,l=h.test(t),c=!l&&(this.symbols[t]?t:"circle"),f=c&&this.symbols[c];if(f){"number"==typeof e&&(n=f.call(this.symbols,Math.round(e||0),Math.round(i||0),o||0,r||0,s));var m=this.path(n);a.styledMode||m.attr("fill","none"),g(m,{symbolName:c,x:e,y:i,width:o,height:r}),s&&g(m,s)}else if(l){var y=t.match(h)[1];(m=this.image(y)).imgwidth=w(D[y]&&D[y].width,s&&s.width),m.imgheight=w(D[y]&&D[y].height,s&&s.height);var v=function(){m.attr({width:m.width,height:m.height})};["width","height"].forEach(function(t){m[t+"Setter"]=function(t,e){var i=this["img"+e];this[e]=t,u(i)&&(s&&"within"===s.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(e,i),this.alignByTranslate||(t=((this[e]||0)-i)/2,this.attr("width"===e?{translateX:t}:{translateY:t})))}}),u(e)&&m.attr({x:e,y:i}),m.isImg=!0,u(m.imgwidth)&&u(m.imgheight)?v():(m.attr({width:0,height:0}),d("img",{onload:function(){var t=k[a.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),A.body.appendChild(this)),D[y]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&v(),this.parentNode&&this.parentNode.removeChild(this),a.imgCount--,a.imgCount||!t||t.hasLoaded||t.onload()},src:y}),this.imgCount++)}return m},e.prototype.clipRect=function(t,e,i,o){var r=S()+"-",s=this.createElement("clipPath").attr({id:r}).add(this.defs);return(t=this.rect(t,e,i,o,0).add(s)).id=r,t.clipPath=s,t.count=0,t},e.prototype.text=function(t,e,i,o){var r={};return!o||!this.allowHTML&&this.forExport?(r.x=Math.round(e||0),i&&(r.y=Math.round(i)),u(t)&&(r.text=t),t=this.createElement("text").attr(r),o||(t.xSetter=function(t,e,i){var o,r=i.getElementsByTagName("tspan"),s=i.getAttribute(e);for(o=0;o<r.length;o++){var n=r[o];n.getAttribute(e)===s&&n.setAttribute(e,t)}i.setAttribute(e,t)}),t):this.html(t,e,i)},e.prototype.fontMetrics=function(t,e){return t=!this.styledMode&&/px/.test(t)||!j.getComputedStyle?t||e&&e.style&&e.style.fontSize||this.style&&this.style.fontSize:e&&o.prototype.getStyle.call(e,"font-size"),{h:e=24>(t=/px/.test(t)?C(t):12)?t+3:Math.round(1.2*t),b:Math.round(.8*e),f:t}},e.prototype.rotCorr=function(t,e,i){var o=t;return e&&i&&(o=Math.max(o*Math.cos(e*M),4)),{x:-t/3*Math.sin(e*M),y:o}},e.prototype.pathToSegments=function(t){for(var e=[],i=[],o={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},r=0;r<t.length;r++)x(i[0])&&y(t[r])&&i.length===o[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[r]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e},e.prototype.label=function(t,e,i,o,s,n,a,h,l){return new r(this,t,e,i,o,s,n,a,h,l)},e.prototype.alignElements=function(){this.alignedObjects.forEach(function(t){return t.align()})},e}()).prototype.Element=o,a.prototype.SVG_NS=L,a.prototype.draw=E,a.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};var I=function(t,e,i,o,r){return[["M",t+(r=r&&r.r||0),e],["L",t+i-r,e],["C",t+i,e,t+i,e,t+i,e+r],["L",t+i,e+o-r],["C",t+i,e+o,t+i,e+o,t+i-r,e+o],["L",t+r,e+o],["C",t,e+o,t,e+o,t,e+o-r],["L",t,e+r],["C",t,e,t,e,t+r,e]]};return a.prototype.symbols={circle:function(t,e,i,o){return this.arc(t+i/2,e+o/2,i/2,o/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},rect:E=function(t,e,i,o,r){return r&&r.r?I(t,e,i,o,r):[["M",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},square:E,triangle:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},"triangle-down":function(t,e,i,o){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+o],["Z"]]},diamond:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o/2],["L",t+i/2,e+o],["L",t,e+o/2],["Z"]]},arc:function(t,e,i,o,r){var s=[];if(r){var n=r.start||0,a=w(r.r,i);i=w(r.r,o||i);var h=(r.end||0)-.001;o=r.innerR;var l=w(r.open,.001>Math.abs((r.end||0)-n-2*Math.PI)),c=Math.cos(n),d=Math.sin(n),p=Math.cos(h),f=Math.sin(h);n=w(r.longArc,.001>h-n-Math.PI?0:1),s.push(["M",t+a*c,e+i*d],["A",a,i,0,n,w(r.clockwise,1),t+a*p,e+i*f]),u(o)&&s.push(l?["M",t+o*p,e+o*f]:["L",t+o*p,e+o*f],["A",o,o,0,n,u(r.clockwise)?1-r.clockwise:0,t+o*c,e+o*d]),l||s.push(["Z"])}return s},callout:function(t,e,i,o,r){var s=Math.min(r&&r.r||0,i,o),n=s+6,a=r&&r.anchorX;r=r&&r.anchorY||0;var h=I(t,e,i,o,{r:s});return y(a)?(t+a>=i?r>e+n&&r<e+o-n?h.splice(3,1,["L",t+i,r-6],["L",t+i+6,r],["L",t+i,r+6],["L",t+i,e+o-s]):h.splice(3,1,["L",t+i,o/2],["L",a,r],["L",t+i,o/2],["L",t+i,e+o-s]):0>=t+a?r>e+n&&r<e+o-n?h.splice(7,1,["L",t,r+6],["L",t-6,r],["L",t,r-6],["L",t,e+s]):h.splice(7,1,["L",t,o/2],["L",a,r],["L",t,o/2],["L",t,e+s]):r&&r>o&&a>t+n&&a<t+i-n?h.splice(5,1,["L",a+6,e+o],["L",a,e+o+6],["L",a-6,e+o],["L",t+s,e+o]):r&&0>r&&a>t+n&&a<t+i-n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-s,e]),h):h}},e.SVGRenderer=a,e.Renderer=e.SVGRenderer,e.Renderer}),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.isFirefox,r=t.isMS,s=t.isWebKit,n=t.win,a=i.css,h=i.defined,l=i.extend,c=i.pick,d=i.pInt;return l(e.prototype,{htmlCss:function(t){var e="SPAN"===this.element.tagName&&t&&"width"in t,i=c(e&&t.width,void 0);if(e){delete t.width,this.textWidth=i;var o=!0}return t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=l(this.styles,t),a(this.element,t),o&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var t=this.element;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var t=this.renderer,e=this.element,i=this.translateX||0,o=this.translateY||0,r=this.x||0,s=this.y||0,n=this.textAlign||"left",l={left:0,center:.5,right:1}[n],c=this.styles;if(c=c&&c.whiteSpace,a(e,{marginLeft:i,marginTop:o}),!t.styledMode&&this.shadows&&this.shadows.forEach(function(t){a(t,{marginLeft:i+1,marginTop:o+1})}),this.inverted&&[].forEach.call(e.childNodes,function(i){t.invertChild(i,e)}),"SPAN"===e.tagName){var p=this.rotation,u=void 0;u=this.textWidth&&d(this.textWidth);var f,g=[p,n,e.innerHTML,this.textWidth,this.textAlign].join();(f=u!==this.oldTextWidth)&&!(f=u>this.oldTextWidth)&&((f=this.textPxLength)||(a(e,{width:"",whiteSpace:c||"nowrap"}),f=e.offsetWidth),f=f>u),f&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)?(a(e,{width:u+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=u,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,g!==this.cTT&&(u=t.fontMetrics(e.style.fontSize,e).b,!h(p)||p===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(p,l,u),this.getSpanCorrection(!h(p)&&this.textPxLength||e.offsetWidth,u,l,p,n)),a(e,{left:r+(this.xCorr||0)+"px",top:s+(this.yCorr||0)+"px"}),this.cTT=g,this.oldRotation=p,this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(t,e,i){var h={},l=r&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":s?"-webkit-transform":o?"MozTransform":n.opera?"-o-transform":void 0;l&&(h[l]=h.transform="rotate("+t+"deg)",h[l+(o?"Origin":"-origin")]=h.transformOrigin=100*e+"% "+i+"px",a(this.element,h))},getSpanCorrection:function(t,e,i){this.xCorr=-t*i,this.yCorr=-e}}),e}),e(i,"Core/Renderer/HTML/HTMLRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.attr,s=o.createElement,n=o.extend,a=o.pick;return n(i.prototype,{html:function(i,o,h){var l=this.createElement("span"),c=l.element,d=l.renderer,p=d.isSVG,u=function(t,i){["opacity","visibility"].forEach(function(o){t[o+"Setter"]=function(r,s,n){var a=t.div?t.div.style:i;e.prototype[o+"Setter"].call(this,r,s,n),a&&(a[s]=r)}}),t.addedSetters=!0};return l.textSetter=function(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,a(e,"")),this.textStr=e,l.doTransform=!0)},p&&u(l,l.element.style),l.xSetter=l.ySetter=l.alignSetter=l.rotationSetter=function(t,e){"align"===e?l.alignValue=l.textAlign=t:l[e]=t,l.doTransform=!0},l.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},l.attr({text:i,x:Math.round(o),y:Math.round(h)}).css({position:"absolute"}),d.styledMode||l.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",l.css=l.htmlCss,p&&(l.add=function(t){var e=d.box.parentNode,i=[];if(this.parentGroup=t){var o=t.div;if(!o){for(;t;)i.push(t),t=t.parentGroup;i.reverse().forEach(function(t){function a(e,i){t[i]=e,"translateX"===i?d.left=e+"px":d.top=e+"px",t.doTransform=!0}var h=r(t.element,"class"),c=t.styles||{},d=(o=t.div=t.div||s("div",h?{className:h}:void 0,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,cursor:c.cursor,pointerEvents:c.pointerEvents},o||e)).style;n(t,{classSetter:function(t){return function(e){this.element.setAttribute("class",e),t.className=e}}(o),on:function(){return i[0].div&&l.on.apply({element:i[0].div,onEvents:l.onEvents},arguments),t},translateXSetter:a,translateYSetter:a}),t.addedSetters||u(t)})}}else o=e;return o.appendChild(c),l.added=!0,l.alignOnAdd&&l.htmlUpdateTransform(),l}),l}}),i}),e(i,"Core/Axis/Tick.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=e.deg2rad,r=i.clamp,s=i.correctFloat,n=i.defined,a=i.destroyObjectProperties,h=i.extend,l=i.fireEvent,c=i.isNumber,d=i.merge,p=i.objectEach,u=i.pick;return i=function(){function e(t,e,i,o,r){this.isNewLabel=this.isNew=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||o||this.addLabel()}return e.prototype.addLabel=function(){var e,i,o=this,r=o.axis,a=r.options,d=r.chart,p=r.categories,f=r.logarithmic,g=r.names,m=o.pos,y=u(o.options&&o.options.labels,a.labels),v=r.tickPositions,x=m===v[0],b=m===v[v.length-1],w=o.label,C=(!y.step||1===y.step)&&1===r.tickInterval;if(v=v.info,p=this.parameters.category||(p?u(p[m],g[m],m):m),f&&c(p)&&(p=s(f.lin2log(p))),r.dateTime&&v)var S=d.time.resolveDTLFormat(a.dateTimeLabelFormats[!a.grid&&v.higherRanks[m]||v.unitName]),k=S.main;o.isFirst=x,o.isLast=b;var M={axis:r,chart:d,dateTimeLabelFormat:k,isFirst:x,isLast:b,pos:m,tick:o,tickPositionInfo:v,value:p};l(this,"labelFormat",M);var A=function(e){return y.formatter?y.formatter.call(e,e):y.format?(e.text=r.defaultLabelFormatter.call(e),t.format(y.format,e,d)):r.defaultLabelFormatter.call(e,e)};a=A.call(M,M),(i=S&&S.list)&&(o.shortenLabel=function(){for(e=0;e<i.length;e++)if(h(M,{dateTimeLabelFormat:i[e]}),w.attr({text:A.call(M,M)}),w.getBBox().width<r.getSlotWidth(o)-2*y.padding)return;w.attr({text:""})}),C&&r._addedPlotLB&&o.moveLabel(a,y),n(w)||o.movedLabel?w&&w.textStr!==a&&!C&&(!w.textWidth||y.style.width||w.styles.width||w.css({width:null}),w.attr({text:a}),w.textPxLength=w.getBBox().width):(o.label=w=o.createLabel({x:0,y:0},a,y),o.rotation=0)},e.prototype.createLabel=function(t,e,i){var o=this.axis,r=o.chart;return(t=n(e)&&i.enabled?r.renderer.text(e,t.x,t.y,i.useHTML).add(o.labelGroup):null)&&(r.styledMode||t.css(d(i.style)),t.textPxLength=t.getBBox().width),t},e.prototype.destroy=function(){a(this,this.axis)},e.prototype.getPosition=function(t,e,i,o){var n=this.axis,a=n.chart,h=o&&a.oldChartHeight||a.chartHeight;return(t={x:t?s(n.translate(e+i,null,null,o)+n.transB):n.left+n.offset+(n.opposite?(o&&a.oldChartWidth||a.chartWidth)-n.right-n.left:0),y:t?h-n.bottom+n.offset-(n.opposite?n.height:0):s(h-n.translate(e+i,null,null,o)-n.transB)}).y=r(t.y,-1e5,1e5),l(this,"afterGetPosition",{pos:t}),t},e.prototype.getLabelPosition=function(t,e,i,r,s,a,h,c){var d=this.axis,p=d.transA,u=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,f=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},m=s.y,y=r||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),v={};return n(m)||(m=0===d.side?i.rotation?-8:-i.getBBox().height:2===d.side?g.y+8:Math.cos(i.rotation*o)*(g.y-i.getBBox(!1,0).height/2)),e=e+m-(a&&!r?a*p*(u?1:-1):0),f&&(i=h/(c||1)%f,d.opposite&&(i=f-i-1),e+=d.labelOffset/f*i),v.x=t=t+s.x+y+g.x-(a&&r?a*p*(u?-1:1):0),v.y=Math.round(e),l(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:a,index:h}),v},e.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},e.prototype.getMarkPath=function(t,e,i,o,r,s){return s.crispLine([["M",t,e],["L",t+(r?0:-i),e+(r?i:0)]],o)},e.prototype.handleOverflow=function(t){var e=this.axis,i=e.options.labels,r=t.x,s=e.chart.chartWidth,n=e.chart.spacing,a=u(e.labelLeft,Math.min(e.pos,n[3]));n=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,s-n[1]));var h,l=this.label,c=this.rotation,d={left:0,center:.5,right:1}[e.labelAlign||l.attr("align")],p=l.getBBox().width,f=e.getSlotWidth(this),g=f,m=1,y={};c||"justify"!==i.overflow?0>c&&r-d*p<a?h=Math.round(r/Math.cos(c*o)-a):0<c&&r+d*p>n&&(h=Math.round((s-r)/Math.cos(c*o))):(s=r+(1-d)*p,r-d*p<a?g=t.x+g*(1-d)-a:s>n&&(g=n-t.x+g*d,m=-1),(g=Math.min(f,g))<f&&"center"===e.labelAlign&&(t.x+=m*(f-g-d*(f-Math.min(p,g)))),(p>g||e.autoRotation&&(l.styles||{}).width)&&(h=g)),h&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(h)+"px",(i.style||{}).textOverflow||(y.textOverflow="ellipsis"),l.css(y)))},e.prototype.moveLabel=function(t,e){var i=this,o=i.label,r=!1,s=i.axis,n=s.reversed;if(o&&o.textStr===t?(i.movedLabel=o,r=!0,delete i.label):p(s.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||o)){var a=i.labelPos||o.xy;i.movedLabel=i.createLabel({x:o=s.horiz?n?0:s.width+s.left:a.x,y:s=s.horiz?a.y:n?s.width+s.left:0},t,e),i.movedLabel&&i.movedLabel.attr({opacity:0})}},e.prototype.render=function(t,e,i){var o=this.axis,r=o.horiz,s=this.pos,n=u(this.tickmarkOffset,o.tickmarkOffset);n=(s=this.getPosition(r,s,n,e)).x,o=r&&n===o.pos+o.len||!r&&s.y===o.pos?-1:1,r=u(i,this.label&&this.label.newOpacity,1),i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,o),this.renderMark(s,i,o),this.renderLabel(s,e,r,t),this.isNew=!1,l(this,"afterRender")},e.prototype.renderGridLine=function(t,e,i){var o=this.axis,r=o.options,s=this.gridLine,n={},a=this.pos,h=this.type,l=u(this.tickmarkOffset,o.tickmarkOffset),c=o.chart.renderer,d=r.gridLineWidth,p=r.gridLineColor,f=r.gridLineDashStyle;"minor"===this.type&&(d=r.minorGridLineWidth,p=r.minorGridLineColor,f=r.minorGridLineDashStyle),s||(o.chart.styledMode||(n.stroke=p,n["stroke-width"]=d||0,n.dashstyle=f),h||(n.zIndex=1),t&&(e=0),this.gridLine=s=c.path().attr(n).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(o.gridGroup)),s&&(i=o.getPlotLinePath({value:a+l,lineWidth:s.strokeWidth()*i,force:"pass",old:t}))&&s[t||this.isNew?"attr":"animate"]({d:i,opacity:e})},e.prototype.renderMark=function(t,e,i){var o=this.axis,r=o.options,s=o.chart.renderer,n=this.type,a=o.tickSize(n?n+"Tick":"tick"),h=this.mark,l=!h,c=t.x;t=t.y;var d=u(r["minor"!==n?"tickWidth":"minorTickWidth"],!n&&o.isXAxis?1:0);r=r["minor"!==n?"tickColor":"minorTickColor"],a&&(o.opposite&&(a[0]=-a[0]),l&&(this.mark=h=s.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(o.axisGroup),o.chart.styledMode||h.attr({stroke:r,"stroke-width":d})),h[l?"attr":"animate"]({d:this.getMarkPath(c,t,a[0],h.strokeWidth()*i,o.horiz,s),opacity:e}))},e.prototype.renderLabel=function(t,e,i,o){var r=this.axis,s=r.horiz,n=r.options,a=this.label,h=n.labels,l=h.step;r=u(this.tickmarkOffset,r.tickmarkOffset);var d=!0,p=t.x;t=t.y,a&&c(p)&&(a.xy=t=this.getLabelPosition(p,t,a,s,h,r,o,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?d=!1:!s||h.step||h.rotation||e||0===i||this.handleOverflow(t),l&&o%l&&(d=!1),d&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t),this.isNewLabel=!1):(a.attr("y",-9999),this.isNewLabel=!0))},e.prototype.replaceMovedLabel=function(){var t=this.label,e=this.axis,i=e.reversed;t&&!this.isNew&&(t.animate({x:e.horiz?i?e.left:e.width+e.left:t.xy.x,y:i=e.horiz?t.xy.y:i?e.width+e.top:e.top,opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},e}(),e.Tick=i,e.Tick}),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Options.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.animObject,h=r.defaultOptions,l=n.addEvent,c=n.arrayMax,d=n.arrayMin,p=n.clamp,u=n.correctFloat,f=n.defined,g=n.destroyObjectProperties,m=n.erase,y=n.error,v=n.extend,x=n.fireEvent,b=n.getMagnitude,w=n.isArray,C=n.isFunction,S=n.isNumber,k=n.isString,M=n.merge,A=n.normalizeTickInterval,T=n.objectEach,P=n.pick,O=n.relativeLength,E=n.removeEvent,L=n.splat,D=n.syncTimeout,j=i.deg2rad;return t=function(){function t(t,e){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0,this.init(t,e)}return t.prototype.init=function(t,e){var i=e.isX,o=this;o.chart=t,o.horiz=t.inverted&&!o.isZAxis?!i:i,o.isXAxis=i,o.coll=o.coll||(i?"xAxis":"yAxis"),x(this,"init",{userOptions:e}),o.opposite=P(e.opposite,o.opposite),o.side=P(e.side,o.side,o.horiz?o.opposite?0:2:o.opposite?1:3),o.setOptions(e);var r=this.options,s=r.labels,n=r.type;o.userOptions=e,o.minPixelPadding=0,o.reversed=P(r.reversed,o.reversed),o.visible=r.visible,o.zoomEnabled=r.zoomEnabled,o.hasNames="category"===n||!0===r.categories,o.categories=r.categories||o.hasNames,o.names||(o.names=[],o.names.keys={}),o.plotLinesAndBandsGroups={},o.positiveValuesOnly=!!o.logarithmic,o.isLinked=f(r.linkedTo),o.ticks={},o.labelEdge=[],o.minorTicks={},o.plotLinesAndBands=[],o.alternateBands={},o.len=0,o.minRange=o.userMinRange=r.minRange||r.maxZoom,o.range=r.range,o.offset=r.offset||0,o.max=null,o.min=null,e=P(r.crosshair,L(t.options.tooltip.crosshairs)[i?0:1]),o.crosshair=!0===e?{}:e,e=o.options.events,-1===t.axes.indexOf(o)&&(i?t.axes.splice(t.xAxis.length,0,o):t.axes.push(o),t[o.coll].push(o)),o.series=o.series||[],t.inverted&&!o.isZAxis&&i&&void 0===o.reversed&&(o.reversed=!0),o.labelRotation=S(s.rotation)?s.rotation:void 0,T(e,function(t,e){C(t)&&l(o,e,t)}),x(this,"afterInit")},t.prototype.setOptions=function(e){this.options=M(t.defaultOptions,"yAxis"===this.coll&&t.defaultYAxisOptions,[t.defaultTopAxisOptions,t.defaultRightAxisOptions,t.defaultBottomAxisOptions,t.defaultLeftAxisOptions][this.side],M(h[this.coll],e)),x(this,"afterSetOptions",{userOptions:e})},t.prototype.defaultLabelFormatter=function(){var t=this.axis,e=S(this.value)?this.value:NaN,i=t.chart.time,o=this.dateTimeLabelFormat,r=h.lang,s=r.numericSymbols;r=r.numericSymbolMagnitude||1e3;var n=s&&s.length,a=t.logarithmic?Math.abs(e):t.tickInterval,l=this.chart.numberFormatter;if(t.categories)var c=""+this.value;else if(o)c=i.dateFormat(o,e);else if(n&&1e3<=a)for(;n--&&void 0===c;)a>=(t=Math.pow(r,n+1))&&0==10*e%t&&null!==s[n]&&0!==e&&(c=l(e/t,-1)+s[n]);return void 0===c&&(c=1e4<=Math.abs(e)?l(e,-1):l(e,-1,void 0,"")),c},t.prototype.getSeriesExtremes=function(){var t,e=this,i=e.chart;x(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=null,e.softThreshold=!e.isXAxis,e.stacking&&e.stacking.buildStacks(),e.series.forEach(function(o){if(o.visible||!i.options.chart.ignoreHiddenSeries){var r=o.options,s=r.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=s&&(s=null),e.isXAxis){if((r=o.xData).length){r=e.logarithmic?r.filter(e.validatePositiveValue):r;var n=(t=o.getXExtremes(r)).min,a=t.max;S(n)||n instanceof Date||(r=r.filter(S),n=(t=o.getXExtremes(r)).min,a=t.max),r.length&&(e.dataMin=Math.min(P(e.dataMin,n),n),e.dataMax=Math.max(P(e.dataMax,a),a))}}else o=o.applyExtremes(),S(o.dataMin)&&(n=o.dataMin,e.dataMin=Math.min(P(e.dataMin,n),n)),S(o.dataMax)&&(a=o.dataMax,e.dataMax=Math.max(P(e.dataMax,a),a)),f(s)&&(e.threshold=s),(!r.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}})}),x(this,"afterGetSeriesExtremes")},t.prototype.translate=function(t,e,i,o,r,s){var n=this.linkedParent||this,a=1,h=0,l=o&&n.old?n.old.transA:n.transA;o=o&&n.old?n.old.min:n.min;var c=n.minPixelPadding;return r=(n.isOrdinal||n.brokenAxis&&n.brokenAxis.hasBreaks||n.logarithmic&&r)&&n.lin2val,l||(l=n.transA),i&&(a*=-1,h=n.len),n.reversed&&(h-=(a*=-1)*(n.sector||n.len)),e?(t=(t*a+h-c)/l+o,r&&(t=n.lin2val(t))):(r&&(t=n.val2lin(t)),t=S(o)?a*(t-o)*l+h+a*c+(S(s)?l*s:0):void 0),t},t.prototype.toPixels=function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},t.prototype.toValue=function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},t.prototype.getPlotLinePath=function(t){function e(t,e,i){return("pass"!==m&&t<e||t>i)&&(m?t=p(t,e,i):n=!0),t}var i,o,r,s,n,a=this,h=a.chart,l=a.left,c=a.top,d=t.old,u=t.value,f=t.translatedValue,g=t.lineWidth,m=t.force,y=d&&h.oldChartHeight||h.chartHeight,v=d&&h.oldChartWidth||h.chartWidth,b=a.transB;return x(this,"getPlotLinePath",t={value:u,lineWidth:g,old:d,force:m,acrossPanes:t.acrossPanes,translatedValue:f},function(t){f=P(f,a.translate(u,null,null,d)),f=p(f,-1e5,1e5),i=r=Math.round(f+b),o=s=Math.round(y-f-b),S(f)?a.horiz?(o=c,s=y-a.bottom,i=r=e(i,l,l+a.width)):(i=l,r=v-a.right,o=s=e(o,c,c+a.height)):(n=!0,m=!1),t.path=n&&!m?null:h.renderer.crispLine([["M",i,o],["L",r,s]],g||1)}),t.path},t.prototype.getLinearTickPositions=function(t,e,i){var o=u(Math.floor(e/t)*t);i=u(Math.ceil(i/t)*t);var r,s=[];if(u(o+t)===o&&(r=20),this.single)return[e];for(e=o;e<=i&&(s.push(e),(e=u(e+t,r))!==n);)var n=e;return s},t.prototype.getMinorTickInterval=function(){var t=this.options;return!0===t.minorTicks?P(t.minorTickInterval,"auto"):!1===t.minorTicks?null:t.minorTickInterval},t.prototype.getMinorTickPositions=function(){var t=this.options,e=this.tickPositions,i=this.minorTickInterval,o=[],r=this.pointRangePadding||0,s=this.min-r,n=(r=this.max+r)-s;if(n&&n/i<this.len/3){var a=this.logarithmic;if(a)this.paddedTicks.forEach(function(t,e,r){e&&o.push.apply(o,a.getLogTickPositions(i,r[e-1],r[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())o=o.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),s,r,t.startOfWeek));else for(t=s+(e[0]-s)%i;t<=r&&t!==o[0];t+=i)o.push(t)}return 0!==o.length&&this.trimTicks(o),o},t.prototype.adjustForMinRange=function(){var t,e,i,o,r=this.options,s=this.min,n=this.max,a=this.logarithmic,h=0;if(this.isXAxis&&void 0===this.minRange&&!a&&(f(r.min)||f(r.max)?this.minRange=null:(this.series.forEach(function(r){if(i=r.xData,o=r.xIncrement?1:i.length-1,1<i.length)for(t=o;0<t;t--)e=i[t]-i[t-1],(!h||e<h)&&(h=e)}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin))),n-s<this.minRange){var l=this.dataMax-this.dataMin>=this.minRange,p=this.minRange,u=(p-n+s)/2;u=[s-u,P(r.min,s-u)],l&&(u[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),n=[(s=c(u))+p,P(r.max,s+p)],l&&(n[2]=a?a.log2lin(this.dataMax):this.dataMax),(n=d(n))-s<p&&(u[0]=n-p,u[1]=P(r.min,n-p),s=c(u))}this.min=s,this.max=n},t.prototype.getClosest=function(){var t;return this.categories?t=1:this.series.forEach(function(e){var i=e.closestPointRange,o=e.visible||!e.chart.options.chart.ignoreHiddenSeries;!e.noSharedTooltip&&f(i)&&o&&(t=f(t)?Math.min(t,i):i)}),t},t.prototype.nameToX=function(t){var e=w(this.categories),i=e?this.categories:this.names,o=t.options.x;if(t.series.requireSorting=!1,f(o)||(o=this.options.uniqueNames?e?i.indexOf(t.name):P(i.keys[t.name],-1):t.series.autoIncrement()),-1===o){if(!e)var r=i.length}else r=o;return void 0!==r&&(this.names[r]=t.name,this.names.keys[t.name]=r),r},t.prototype.updateNames=function(){var t=this,e=this.names;0<e.length&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null,e.points&&!e.isDirtyData||(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,o){if(i&&i.options&&void 0!==i.name){var r=t.nameToX(i);void 0!==r&&r!==i.x&&(i.x=r,e.xData[o]=r)}})}))},t.prototype.setAxisTranslation=function(){var t,e=this,i=e.max-e.min,o=e.axisPointRange||0,r=0,s=0,n=e.linkedParent,a=!!e.categories,h=e.isXAxis;if(h||a||o){var l=e.getClosest();n?(r=n.minPointOffset,s=n.pointRangePadding):e.series.forEach(function(t){var i=a?1:h?P(t.options.pointRange,l,0):e.axisPointRange||0,n=t.options.pointPlacement;o=Math.max(o,i),e.single&&!a||(t=t.is("xrange")?!h:h,r=Math.max(r,t&&k(n)?0:i/2),s=Math.max(s,t&&"on"===n?0:i))}),e.minPointOffset=r*=n=e.ordinal&&e.ordinal.slope&&l?e.ordinal.slope/l:1,e.pointRangePadding=s*=n,e.pointRange=Math.min(o,e.single&&a?1:i),h&&(e.closestPointRange=l)}e.translationSlope=e.transA=t=e.staticScale||e.len/(i+s||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=t*r,x(this,"afterSetAxisTranslation")},t.prototype.minFromRange=function(){return this.max-this.range},t.prototype.setTickInterval=function(t){var e=this,i=e.chart,o=e.logarithmic,r=e.options,s=e.isXAxis,n=e.isLinked,a=r.maxPadding,h=r.minPadding,l=r.tickInterval,c=r.tickPixelInterval,d=e.categories,p=S(e.threshold)?e.threshold:null,g=e.softThreshold;e.dateTime||d||n||this.getTickAmount();var m=P(e.userMin,r.min),v=P(e.userMax,r.max);if(n){e.linkedParent=i[e.coll][r.linkedTo];var w=e.linkedParent.getExtremes();e.min=P(w.min,w.dataMin),e.max=P(w.max,w.dataMax),r.type!==e.linkedParent.options.type&&y(11,1,i)}else{if(g&&f(p))if(e.dataMin>=p)w=p,h=0;else if(e.dataMax<=p){var C=p;a=0}e.min=P(m,w,e.dataMin),e.max=P(v,C,e.dataMax)}o&&(e.positiveValuesOnly&&!t&&0>=Math.min(e.min,P(e.dataMin,e.min))&&y(10,1,i),e.min=u(o.log2lin(e.min),16),e.max=u(o.log2lin(e.max),16)),e.range&&f(e.max)&&(e.userMin=e.min=m=Math.max(e.dataMin,e.minFromRange()),e.userMax=v=e.max,e.range=null),x(e,"foundExtremes"),e.beforePadding&&e.beforePadding(),e.adjustForMinRange(),!(d||e.axisPointRange||e.stacking&&e.stacking.usePercentage||n)&&f(e.min)&&f(e.max)&&(i=e.max-e.min)&&(!f(m)&&h&&(e.min-=i*h),!f(v)&&a&&(e.max+=i*a)),S(e.userMin)||(S(r.softMin)&&r.softMin<e.min&&(e.min=m=r.softMin),S(r.floor)&&(e.min=Math.max(e.min,r.floor))),S(e.userMax)||(S(r.softMax)&&r.softMax>e.max&&(e.max=v=r.softMax),S(r.ceiling)&&(e.max=Math.min(e.max,r.ceiling))),g&&f(e.dataMin)&&(p=p||0,!f(m)&&e.min<p&&e.dataMin>=p?e.min=e.options.minRange?Math.min(p,e.max-e.minRange):p:!f(v)&&e.max>p&&e.dataMax<=p&&(e.max=e.options.minRange?Math.max(p,e.min+e.minRange):p)),S(e.min)&&S(e.max)&&!this.chart.polar&&e.min>e.max&&(f(e.options.min)?e.max=e.min:f(e.options.max)&&(e.min=e.max)),e.tickInterval=e.min===e.max||void 0===e.min||void 0===e.max?1:n&&e.linkedParent&&!l&&c===e.linkedParent.options.tickPixelInterval?l=e.linkedParent.tickInterval:P(l,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):void 0,d?1:(e.max-e.min)*c/Math.max(e.len,c)),s&&!t&&e.series.forEach(function(t){t.processData(e.min!==(e.old&&e.old.min)||e.max!==(e.old&&e.old.max))}),e.setAxisTranslation(),x(this,"initialAxisTranslation"),e.pointRange&&!l&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval)),t=P(r.minTickInterval,e.dateTime&&!e.series.some(function(t){return t.noSharedTooltip})?e.closestPointRange:0),!l&&e.tickInterval<t&&(e.tickInterval=t),e.dateTime||e.logarithmic||l||(e.tickInterval=A(e.tickInterval,void 0,b(e.tickInterval),P(r.allowDecimals,.5>e.tickInterval||void 0!==this.tickAmount),!!this.tickAmount)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()},t.prototype.setTickPositions=function(){var t=this.options,e=t.tickPositions,i=this.getMinorTickInterval(),o=t.tickPositioner,r=this.hasVerticalPanning(),s="colorAxis"===this.coll,n=(s||!r)&&t.startOnTick;r=(s||!r)&&t.endOnTick,this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===i&&this.tickInterval?this.tickInterval/5:i,this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals),this.tickPositions=i=e&&e.slice(),!i&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?i=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(i=[this.min,this.max],y(19,!1,this.chart)),i.length>this.len&&(i=[i[0],i.pop()])[0]===i[1]&&(i.length=1),this.tickPositions=i,o&&(o=o.apply(this,[this.min,this.max])))&&(this.tickPositions=i=o),this.paddedTicks=i.slice(0),this.trimTicks(i,n,r),this.isLinked||(this.single&&2>i.length&&!this.categories&&!this.series.some(function(t){return t.is("heatmap")&&"between"===t.options.pointPlacement})&&(this.min-=.5,this.max+=.5),e||o||this.adjustTickAmount()),x(this,"afterSetTickPositions")},t.prototype.trimTicks=function(t,e,i){var o=t[0],r=t[t.length-1],s=!this.isOrdinal&&this.minPointOffset||0;if(x(this,"trimTicks"),!this.isLinked){if(e&&-1/0!==o)this.min=o;else for(;this.min-s>t[0];)t.shift();if(i)this.max=r;else for(;this.max+s<t[t.length-1];)t.pop();0===t.length&&f(o)&&!this.options.tickPositions&&t.push((r+o)/2)}},t.prototype.alignToOthers=function(){var t,e={},i=this.options;return!1!==this.chart.options.chart.alignTicks&&i.alignTicks&&!1!==i.startOnTick&&!1!==i.endOnTick&&!this.logarithmic&&this.chart[this.coll].forEach(function(i){var o=i.options;o=[i.horiz?o.left:o.top,o.width,o.height,o.pane].join(),i.series.length&&(e[o]?t=!0:e[o]=1)}),t},t.prototype.getTickAmount=function(){var t=this.options,e=t.tickAmount,i=t.tickPixelInterval;!f(t.tickInterval)&&!e&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),4>e&&(this.finalTickAmt=e,e=5),this.tickAmount=e},t.prototype.adjustTickAmount=function(){var t=this.options,e=this.tickInterval,i=this.tickPositions,o=this.tickAmount,r=this.finalTickAmt,s=i&&i.length,n=P(this.threshold,this.softThreshold?0:null);if(this.hasData()&&S(this.min)&&S(this.max)){if(s<o){for(;i.length<o;)i.length%2||this.min===n?i.push(u(i[i.length-1]+e)):i.unshift(u(i[0]-e));this.transA*=(s-1)/(o-1),this.min=t.startOnTick?i[0]:Math.min(this.min,i[0]),this.max=t.endOnTick?i[i.length-1]:Math.max(this.max,i[i.length-1])}else s>o&&(this.tickInterval*=2,this.setTickPositions());if(f(r)){for(e=t=i.length;e--;)(3===r&&1==e%2||2>=r&&0<e&&e<t-1)&&i.splice(e,1);this.finalTickAmt=void 0}}},t.prototype.setScale=function(){var t,e=!1,i=!1;this.series.forEach(function(t){e=e||t.isDirtyData||t.isDirty,i=i||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize(),(t=this.len!==(this.old&&this.old.len))||e||i||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=t||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),e&&this.panningState&&(this.panningState.isDirty=!0),x(this,"afterSetScale")},t.prototype.setExtremes=function(t,e,i,o,r){var s=this,n=s.chart;i=P(i,!0),s.series.forEach(function(t){delete t.kdTree}),r=v(r,{min:t,max:e}),x(s,"setExtremes",r,function(){s.userMin=t,s.userMax=e,s.eventArgs=r,i&&n.redraw(o)})},t.prototype.zoom=function(t,e){var i=this,o=this.dataMin,r=this.dataMax,s=this.options,n=Math.min(o,P(s.min,o)),a=Math.max(r,P(s.max,r));return x(this,"zoom",t={newMin:t,newMax:e},function(t){var e=t.newMin,s=t.newMax;e===i.min&&s===i.max||(i.allowZoomOutside||(f(o)&&(e<n&&(e=n),e>a&&(e=a)),f(r)&&(s<n&&(s=n),s>a&&(s=a))),i.displayBtn=void 0!==e||void 0!==s,i.setExtremes(e,s,!1,void 0,{trigger:"zoom"})),t.zoomed=!0}),t.zoomed},t.prototype.setAxisSize=function(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],o=this.horiz,r=this.width=Math.round(O(P(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),s=this.height=Math.round(O(P(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(O(P(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop));e=this.left=Math.round(O(P(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft)),this.bottom=t.chartHeight-s-n,this.right=t.chartWidth-r-e,this.len=Math.max(o?r:s,0),this.pos=o?e:n},t.prototype.getExtremes=function(){var t=this.logarithmic;return{min:t?u(t.lin2log(this.min)):this.min,max:t?u(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},t.prototype.getThreshold=function(t){var e=this.logarithmic,i=e?e.lin2log(this.min):this.min;return e=e?e.lin2log(this.max):this.max,null===t||-1/0===t?t=i:1/0===t?t=e:i>t?t=i:e<t&&(t=e),this.translate(t,0,1,0,1)},t.prototype.autoLabelAlign=function(t){var e=(P(t,0)-90*this.side+720)%360;return x(this,"autoLabelAlign",t={align:"center"},function(t){15<e&&165>e?t.align="right":195<e&&345>e&&(t.align="left")}),t.align},t.prototype.tickSize=function(t){var e=this.options,i=e["tick"===t?"tickLength":"minorTickLength"],o=P(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0);if(o&&i){"inside"===e[t+"Position"]&&(i=-i);var r=[i,o]}return x(this,"afterTickSize",t={tickSize:r}),t.tickSize},t.prototype.labelMetrics=function(){var t=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[t]&&this.ticks[t].label)},t.prototype.unsquish=function(){var t,e,i=this.options.labels,o=this.horiz,r=this.tickInterval,s=r,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,h=this.labelMetrics(),l=Number.MAX_VALUE,c=Math.max(this.max-this.min,0),d=function(t){var e=t/(n||1);return(e=1<e?Math.ceil(e):1)*r>c&&1/0!==t&&1/0!==n&&c&&(e=Math.ceil(c/r)),u(e*r)};if(o){if(!i.staggerLines&&!i.step)if(S(a))var p=[a];else n<i.autoRotationLimit&&(p=i.autoRotation);p&&p.forEach(function(i){if(i===a||i&&-90<=i&&90>=i){var o=(e=d(Math.abs(h.h/Math.sin(j*i))))+Math.abs(i/360);o<l&&(l=o,t=i,s=e)}})}else i.step||(s=d(h.h));return this.autoRotation=p,this.labelRotation=P(t,S(a)?a:0),s},t.prototype.getSlotWidth=function(t){var e=this.chart,i=this.horiz,o=this.options.labels,r=Math.max(this.tickPositions.length-(this.categories?0:1),1),s=e.margin[3];if(t&&S(t.slotWidth))return t.slotWidth;if(i&&2>o.step)return o.rotation?0:(this.staggerLines||1)*this.len/r;if(!i){if(void 0!==(t=o.style.width))return parseInt(String(t),10);if(s)return s-e.spacing[3]}return.33*e.chartWidth},t.prototype.renderUnsquish=function(){var t=this.chart,e=t.renderer,i=this.tickPositions,o=this.ticks,r=this.options.labels,s=r.style,n=this.horiz,a=this.getSlotWidth(),h=Math.max(1,Math.round(a-2*r.padding)),l={},c=this.labelMetrics(),d=s.textOverflow,p=0;if(k(r.rotation)||(l.rotation=r.rotation||0),i.forEach(function(t){(t=o[t]).movedLabel&&t.replaceMovedLabel(),t&&t.label&&t.label.textPxLength>p&&(p=t.label.textPxLength)}),this.maxLabelLength=p,this.autoRotation)p>h&&p>c.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(a){var u=h;if(!d){var f="clip";for(h=i.length;!n&&h--;){var g=i[h];(g=o[g].label)&&(g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>a&&g.css({width:a+"px"}),g.getBBox().height>this.len/i.length-(c.h-c.f)&&(g.specificTextOverflow="ellipsis"))}}}l.rotation&&(u=p>.5*t.chartHeight?.33*t.chartHeight:p,d||(f="ellipsis")),(this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation))&&(l.align=this.labelAlign),i.forEach(function(t){var e=(t=o[t])&&t.label,i=s.width,r={};e&&(e.attr(l),t.shortenLabel?t.shortenLabel():u&&!i&&"nowrap"!==s.whiteSpace&&(u<e.textPxLength||"SPAN"===e.element.tagName)?(r.width=u+"px",d||(r.textOverflow=e.specificTextOverflow||f),e.css(r)):e.styles&&e.styles.width&&!r.width&&!i&&e.css({width:null}),delete e.specificTextOverflow,t.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,0!==this.side)},t.prototype.hasData=function(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&f(this.min)&&f(this.max)},t.prototype.addTitle=function(t){var e,i=this.opposite,o=this.options.title,r=this.chart.styledMode;this.axisTitle||((e=o.textAlign)||(e=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[o.align]),this.axisTitle=this.chart.renderer.text(o.text||"",0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation,align:e}).addClass("highcharts-axis-title"),r||this.axisTitle.css(M(o.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),r||o.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)},t.prototype.generateTick=function(t){var e=this.ticks;e[t]?e[t].addLabel():e[t]=new s(this,t)},t.prototype.getOffset=function(){var t,e=this,i=this,o=i.chart,r=o.renderer,s=i.options,n=i.tickPositions,a=i.ticks,h=i.horiz,l=i.side,c=o.inverted&&!i.isZAxis?[1,0,3,2][l]:l,d=0,p=0,u=s.title,g=s.labels,m=0,y=o.axisOffset;o=o.clipOffset;var v=[-1,1,1,-1][l],b=s.className,w=i.axisParent,C=i.hasData();if(i.showAxis=t=C||s.showEmpty,i.staggerLines=i.horiz&&g.staggerLines||void 0,!i.axisGroup){var S=function(t,i,o){return r.g(t).attr({zIndex:o}).addClass("highcharts-"+e.coll.toLowerCase()+i+" "+(e.isRadial?"highcharts-radial-axis"+i+" ":"")+(b||"")).add(w)};i.gridGroup=S("grid","-grid",s.gridZIndex),i.axisGroup=S("axis","",s.zIndex),i.labelGroup=S("axis-labels","-labels",g.zIndex)}if(C||i.isLinked?(n.forEach(function(t,e){i.generateTick(t,e)}),i.renderUnsquish(),i.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===i.labelAlign,P(g.reserveSpace,"center"===i.labelAlign||null,i.reserveSpaceDefault)&&n.forEach(function(t){m=Math.max(a[t].getLabelSize(),m)}),i.staggerLines&&(m*=i.staggerLines),i.labelOffset=m*(i.opposite?-1:1)):T(a,function(t,e){t.destroy(),delete a[e]}),u&&u.text&&!1!==u.enabled&&(i.addTitle(t),t&&!1!==u.reserveSpace)){i.titleOffset=d=i.axisTitle.getBBox()[h?"height":"width"];var k=u.offset;p=f(k)?0:P(u.margin,h?5:10)}i.renderLine(),i.offset=v*P(s.offset,y[l]?y[l]+(s.margin||0):0),i.tickRotCorr=i.tickRotCorr||{x:0,y:0},u=0===l?-i.labelMetrics().h:2===l?i.tickRotCorr.y:0,p=Math.abs(m)+p,m&&(p=p-u+v*(h?P(g.y,i.tickRotCorr.y+8*v):g.x)),i.axisTitleMargin=P(k,p),i.getMaxLabelDimensions&&(i.maxLabelDimensions=i.getMaxLabelDimensions(a,n)),h=this.tickSize("tick"),y[l]=Math.max(y[l],(i.axisTitleMargin||0)+d+v*i.offset,p,n&&n.length&&h?h[0]+v*i.offset:0),s=s.offset?0:2*Math.floor(i.axisLine.strokeWidth()/2),o[c]=Math.max(o[c],s),x(this,"afterGetOffset")},t.prototype.getLinePath=function(t){var e=this.chart,i=this.opposite,o=this.offset,r=this.horiz,s=this.left+(i?this.width:0)+o;return o=e.chartHeight-this.bottom-(i?this.height:0)+o,i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:s,r?o:this.top],["L",r?e.chartWidth-this.right:s,r?o:e.chartHeight-this.bottom]],t)},t.prototype.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}))},t.prototype.getTitlePosition=function(){var t=this.horiz,e=this.left,i=this.top,o=this.len,r=this.options.title,s=t?e:i,n=this.opposite,a=this.offset,h=r.x,l=r.y,c=this.axisTitle,d=this.chart.renderer.fontMetrics(r.style.fontSize,c);return c=Math.max(c.getBBox(null,0).height-d.h-1,0),o={low:s+(t?0:o),middle:s+o/2,high:s+(t?o:0)}[r.align],e=(t?i+this.height:e)+(t?1:-1)*(n?-1:1)*this.axisTitleMargin+[-c,c,d.f,-c][this.side],x(this,"afterGetTitlePosition",{titlePosition:t={x:t?o+h:e+(n?this.width:0)+a+h,y:t?e+l-(n?this.height:0)+a:o+l}}),t},t.prototype.renderMinorTick=function(t){var e=this.chart.hasRendered&&this.old,i=this.minorTicks;i[t]||(i[t]=new s(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)},t.prototype.renderTick=function(t,e){var i=this.ticks,o=this.chart.hasRendered&&this.old;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(i[t]||(i[t]=new s(this,t)),o&&i[t].isNew&&i[t].render(e,!0,-1),i[t].render(e))},t.prototype.render=function(){var t,e,o=this,r=o.chart,n=o.logarithmic,h=o.options,l=o.isLinked,c=o.tickPositions,d=o.axisTitle,p=o.ticks,u=o.minorTicks,f=o.alternateBands,g=h.stackLabels,m=h.alternateGridColor,y=o.tickmarkOffset,v=o.axisLine,b=o.showAxis,w=a(r.renderer.globalAnimation);o.labelEdge.length=0,o.overlap=!1,[p,u,f].forEach(function(t){T(t,function(t){t.isActive=!1})}),(o.hasData()||l)&&(o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t)}),c.length&&(c.forEach(function(t,e){o.renderTick(t,e)}),y&&(0===o.min||o.single)&&(p[-1]||(p[-1]=new s(o,-1,null,!0)),p[-1].render(-1))),m&&c.forEach(function(s,a){e=void 0!==c[a+1]?c[a+1]+y:o.max-y,0==a%2&&s<o.max&&e<=o.max+(r.polar?-y:y)&&(f[s]||(f[s]=new i.PlotLineOrBand(o)),t=s+y,f[s].options={from:n?n.lin2log(t):t,to:n?n.lin2log(e):e,color:m,className:"highcharts-alternate-grid"},f[s].render(),f[s].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)}))),[p,u,f].forEach(function(t){var e,i=[],o=w.duration;T(t,function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))}),D(function(){for(e=i.length;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])},t!==f&&r.hasRendered&&o?o:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[b?"show":"hide"](b)),d&&b&&(h=o.getTitlePosition(),S(h.y)?(d[d.isNew?"attr":"animate"](h),d.isNew=!1):(d.attr("y",-9999),d.isNew=!0)),g&&g.enabled&&o.stacking&&o.stacking.renderStackTotals(),o.old={len:o.len,max:o.max,min:o.min,transA:o.transA,userMax:o.userMax,userMin:o.userMin},o.isDirty=!1,x(this,"afterRender")},t.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})},t.prototype.getKeepProps=function(){return this.keepProps||t.keepProps},t.prototype.destroy=function(t){var e,i=this,o=i.plotLinesAndBands;if(x(this,"destroy",{keepEvents:t}),t||E(i),[i.ticks,i.minorTicks,i.alternateBands].forEach(function(t){g(t)}),o)for(t=o.length;t--;)o[t].destroy();for(e in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(t){i[t]&&(i[t]=i[t].destroy())}),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[e]=i.plotLinesAndBandsGroups[e].destroy();T(i,function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})},t.prototype.drawCrosshair=function(t,i){var r,s=this.crosshair,n=P(s&&s.snap,!0),a=this.cross,h=this.chart;if(x(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),s&&!1!==(f(i)||!n)){if(n?f(i)&&(r=P("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):r=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),f(r)){var l={value:i&&(this.isXAxis?i.x:P(i.stackY,i.y)),translatedValue:r};h.polar&&v(l,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),l=this.getPlotLinePath(l)||null}if(!f(l))return void this.hideCrosshair();n=this.categories&&!this.isRadial,a||(this.cross=a=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(n?"category ":"thin ")+(s.className||"")).attr({zIndex:P(s.zIndex,2)}).add(),h.styledMode||(a.attr({stroke:s.color||(n?e.parse(o.highlightColor20).setOpacity(.25).get():o.neutralColor20),"stroke-width":P(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&a.attr({dashstyle:s.dashStyle}))),a.show().attr({d:l}),n&&!s.width&&a.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();x(this,"afterDrawCrosshair",{e:t,point:i})},t.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),x(this,"afterHideCrosshair")},t.prototype.hasVerticalPanning=function(){var t=this.chart.options.chart.panning;return!!(t&&t.enabled&&/y/.test(t.type))},t.prototype.validatePositiveValue=function(t){return S(t)&&0<t},t.prototype.update=function(t,e){var i=this.chart,o=t&&t.events||{};t=M(this.userOptions,t),T(i.options[this.coll].events,function(t,e){void 0===o[e]&&(o[e]=void 0)}),this.destroy(!0),this.init(i,v(t,{events:o})),i.isDirtyBox=!0,P(e,!0)&&i.redraw()},t.prototype.remove=function(t){for(var e=this.chart,i=this.coll,o=this.series,r=o.length;r--;)o[r]&&o[r].remove(!1);m(e.axes,this),m(e[i],this),e[i].forEach(function(t,e){t.options.index=t.userOptions.index=e}),this.destroy(),e.isDirtyBox=!0,P(t,!0)&&e.redraw()},t.prototype.setTitle=function(t,e){this.update({title:t},e)},t.prototype.setCategories=function(t,e){this.update({categories:t},e)},t.defaultOptions={alignTicks:!0,allowDecimals:void 0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:o.neutralColor60,cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:o.neutralColor60}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:o.neutralColor5,minorGridLineWidth:1,minorTickColor:o.neutralColor40,lineColor:o.highlightColor20,lineWidth:1,gridLineColor:o.neutralColor10,gridLineWidth:void 0,tickColor:o.highlightColor20},t.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:o.neutralColor100,fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},t.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},t.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.keepProps="extKey hcEvents names series userMax userMin".split(" "),t}(),i.Axis=t,i.Axis}),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.timeUnits,n=function(){function t(t){this.axis=t}return t.prototype.normalizeTimeTickInterval=function(t,e){var i,n=e||[["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]],a=s[(e=n[n.length-1])[0]],h=e[1];for(i=0;i<n.length&&(a=s[(e=n[i])[0]],h=e[1],!(n[i+1]&&t<=(a*h[h.length-1]+s[n[i+1][0]])/2));i++);return a===s.year&&t<5*a&&(h=[1,2,5]),{unitRange:a,count:t=r(t/a,h,"year"===e[0]?Math.max(o(t/a),1):1),unitName:e[0]}},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("dateTime"),t.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)},i(t,"init",function(t){"datetime"!==t.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new n(this))})},t.AdditionsClass=n,t}()).compose(t),e}),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.pick,n=function(){function t(t){this.axis=t}return t.prototype.getLogTickPositions=function(t,e,i,n){var a=this.axis,h=a.len,l=a.options,c=[];if(n||(this.minorAutoInterval=void 0),.5<=t)t=Math.round(t),c=a.getLinearTickPositions(t,e,i);else if(.08<=t){var d,p=Math.floor(e),u=l=void 0;for(h=.3<t?[1,2,4]:.15<t?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<i+1&&!u;p++){var f=h.length;for(d=0;d<f&&!u;d++){var g=this.log2lin(this.lin2log(p)*h[d]);g>e&&(!n||l<=i)&&void 0!==l&&c.push(l),l>i&&(u=!0),l=g}}}else e=this.lin2log(e),i=this.lin2log(i),t=n?a.getMinorTickInterval():l.tickInterval,t=s("auto"===t?null:t,this.minorAutoInterval,l.tickPixelInterval/(n?5:1)*(i-e)/((n?h/a.tickPositions.length:h)||1)),t=r(t,void 0,o(t)),c=a.getLinearTickPositions(t,e,i).map(this.log2lin),n||(this.minorAutoInterval=t/5);return n||(a.tickInterval=t),c},t.prototype.lin2log=function(t){return Math.pow(10,t)},t.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("logarithmic"),i(t,"init",function(t){var e=this.logarithmic;"logarithmic"!==t.userOptions.type?this.logarithmic=void 0:e||(this.logarithmic=new n(this))}),i(t,"afterInit",function(){var t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})})},t}()).compose(t),e}),e(i,"Core/Axis/PlotLineOrBand.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.arrayMax,s=o.arrayMin,n=o.defined,a=o.destroyObjectProperties,h=o.erase,l=o.extend,c=o.fireEvent,d=o.isNumber,p=o.merge,u=o.objectEach,f=o.pick;return o=function(){function t(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)}return t.prototype.render=function(){c(this,"render");var t=this,e=t.axis,o=e.horiz,r=e.logarithmic,s=t.options,a=s.label,h=t.label,l=s.to,d=s.from,g=s.value,m=n(d)&&n(l),y=n(g),v=t.svgElem,x=!v,b=[],w=s.color,C=f(s.zIndex,0),S=s.events;b={class:"highcharts-plot-"+(m?"band ":"line ")+(s.className||"")};var k={},M=e.chart.renderer,A=m?"bands":"lines";if(r&&(d=r.log2lin(d),l=r.log2lin(l),g=r.log2lin(g)),e.chart.styledMode||(y?(b.stroke=w||i.neutralColor40,b["stroke-width"]=f(s.width,1),s.dashStyle&&(b.dashstyle=s.dashStyle)):m&&(b.fill=w||i.highlightColor10,s.borderWidth&&(b.stroke=s.borderColor,b["stroke-width"]=s.borderWidth))),k.zIndex=C,(r=e.plotLinesAndBandsGroups[A+="-"+C])||(e.plotLinesAndBandsGroups[A]=r=M.g("plot-"+A).attr(k).add()),x&&(t.svgElem=v=M.path().attr(b).add(r)),y)b=e.getPlotLinePath({value:g,lineWidth:v.strokeWidth(),acrossPanes:s.acrossPanes});else{if(!m)return;b=e.getPlotBandPath(d,l,s)}return!t.eventsAdded&&S&&(u(S,function(e,i){v.on(i,function(e){S[i].apply(t,[e])})}),t.eventsAdded=!0),(x||!v.d)&&b&&b.length?v.attr({d:b}):v&&(b?(v.show(!0),v.animate({d:b})):v.d&&(v.hide(),h&&(t.label=h=h.destroy()))),a&&(n(a.text)||n(a.formatter))&&b&&b.length&&0<e.width&&0<e.height&&!b.isFlat?(a=p({align:o&&m&&"center",x:o?!m&&4:10,verticalAlign:!o&&m&&"middle",y:o?m?16:10:m?6:-4,rotation:o&&!m&&90},a),this.renderLabel(a,b,m,C)):h&&h.hide(),t},t.prototype.renderLabel=function(t,e,i,o){var n=this.label,a=this.axis.chart.renderer;n||((n={align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||"")}).zIndex=o,o=this.getLabelText(t),this.label=n=a.text(o,0,0,t.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(t.style)),a=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],e=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],i=s(a),o=s(e),n.align(t,!1,{x:i,y:o,width:r(a)-i,height:r(e)-o}),n.show(!0)},t.prototype.getLabelText=function(t){return n(t.formatter)?t.formatter.call(this):t.text},t.prototype.destroy=function(){h(this.axis.plotLinesAndBands,this),delete this.axis,a(this)},t}(),l(t.prototype,{getPlotBandPath:function(t,e,i){void 0===i&&(i=this.options);var o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes});i=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});var r=[],s=this.horiz,n=1;if(t=!d(this.min)||!d(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,i&&o){if(t){var a=i.toString()===o.toString();n=0}for(t=0;t<i.length;t+=2){var h=i[t+1],l=o[t],c=o[t+1];"M"!==(e=i[t])[0]&&"L"!==e[0]||"M"!==h[0]&&"L"!==h[0]||"M"!==l[0]&&"L"!==l[0]||"M"!==c[0]&&"L"!==c[0]||(s&&l[1]===e[1]?(l[1]+=n,c[1]+=n):s||l[2]!==e[2]||(l[2]+=n,c[2]+=n),r.push(["M",e[1],e[2]],["L",h[1],h[2]],["L",c[1],c[2]],["L",l[1],l[2]],["Z"])),r.isFlat=a}}return r},addPlotBand:function(t){return this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){return this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(t,i){var o=this,r=new e.PlotLineOrBand(this,t),s=this.userOptions;if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)})),i){var n=s[i]||[];n.push(t),s[i]=n}this.plotLinesAndBands.push(r)}return r},removePlotBandOrLine:function(t){for(var e=this.plotLinesAndBands,i=this.options,o=this.userOptions,r=e.length;r--;)e[r].id===t&&e[r].destroy();[i.plotLines||[],o.plotLines||[],i.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&h(e,e[r])})},removePlotBand:function(t){this.removePlotBandOrLine(t)},removePlotLine:function(t){this.removePlotBandOrLine(t)}}),e.PlotLineOrBand=o,e.PlotLineOrBand}),e(i,"Core/Tooltip.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=t.format,s=e.doc,n=o.clamp,a=o.css,h=o.defined,l=o.discardElement,c=o.extend,d=o.fireEvent,p=o.isArray,u=o.isNumber,f=o.isString,g=o.merge,m=o.pick,y=o.splat,v=o.syncTimeout,x=o.timeUnits;return t=function(){function t(t,e){this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e)}return t.prototype.applyFilter=function(){var t=this.chart;t.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+t.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]}),t.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+t.index+"{filter:url(#drop-shadow-"+t.index+")}"})},t.prototype.bodyFormatter=function(t){return t.map(function(t){var e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})},t.prototype.cleanSplit=function(t){this.chart.series.forEach(function(e){var i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})},t.prototype.defaultFormatter=function(t){var e=this.points||y(this),i=[t.tooltipFooterHeaderFormatter(e[0])];return(i=i.concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i},t.prototype.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(),l(this.container)),o.clearTimeout(this.hideTimer),o.clearTimeout(this.tooltipTimeout)},t.prototype.getAnchor=function(t,e){var i,o,r=this.chart,s=r.pointer,n=r.inverted,a=r.plotTop,h=r.plotLeft,l=0,c=0;return t=y(t),this.followPointer&&e?(void 0===e.chartX&&(e=s.normalize(e)),s=[e.chartX-h,e.chartY-a]):t[0].tooltipPos?s=t[0].tooltipPos:(t.forEach(function(t){i=t.series.yAxis,l+=t.plotX||0,c+=t.plotLow?(t.plotLow+(t.plotHigh||0))/2:t.plotY||0,(o=t.series.xAxis)&&i&&(n?(l+=a+r.plotHeight-o.len-o.pos,c+=h+r.plotWidth-i.len-i.pos):(l+=o.pos-h,c+=i.pos-a))}),l/=t.length,c/=t.length,s=[n?r.plotWidth-c:l,n?r.plotHeight-l:c],this.shared&&1<t.length&&e&&(n?s[0]=e.chartX-h:s[1]=e.chartY-a)),s.map(Math.round)},t.prototype.getDateFormat=function(t,e,i,o){var r=this.chart.time,s=r.dateFormat("%m-%d %H:%M:%S.%L",e),n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond";for(h in x){if(t===x.week&&+r.dateFormat("%w",e)===i&&"00:00:00.000"===s.substr(6)){var h="week";break}if(x[h]>t){h=a;break}if(n[h]&&s.substr(n[h])!=="01-01 00:00:00.000".substr(n[h]))break;"week"!==h&&(a=h)}if(h)var l=r.resolveDTLFormat(o[h]).main;return l},t.prototype.getLabel=function(){var t,i=this,o=this.chart.renderer,r=this.chart.styledMode,s=this.options,n="tooltip"+(h(s.className)?" "+s.className:""),l=s.style&&s.style.pointerEvents||(!this.followPointer&&s.stickOnContact?"auto":"none");if(!this.label){if(this.outside){var c=this.chart.options.chart.style;this.container=t=e.doc.createElement("div"),t.className="highcharts-tooltip-container",a(t,{position:"absolute",top:"1px",pointerEvents:l,zIndex:Math.max(this.options.style&&this.options.style.zIndex||0,(c&&c.zIndex||0)+3)}),e.doc.body.appendChild(t),this.renderer=o=new e.Renderer(t,0,0,c,void 0,void 0,o.styledMode)}if(this.split?this.label=o.g(n):(this.label=o.label("",0,0,s.shape||"callout",null,null,s.useHTML,null,n).attr({padding:s.padding,r:s.borderRadius}),r||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth}).css(s.style).css({pointerEvents:l}).shadow(s.shadow)),r&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var d=this.label,p=d.xSetter,u=d.ySetter;d.xSetter=function(e){p.call(d,i.distance),t.style.left=e+"px"},d.ySetter=function(e){u.call(d,i.distance),t.style.top=e+"px"}}this.label.on("mouseenter",function(){i.inContact=!0}).on("mouseleave",function(){var t=i.chart.hoverSeries;i.inContact=!1,t&&t.onMouseOut&&t.onMouseOut()}).attr({zIndex:8}).add()}return this.label},t.prototype.getPosition=function(t,e,i){var o,r=this.chart,n=this.distance,a={},h=r.inverted&&i.h||0,l=this.outside,c=l?s.documentElement.clientWidth-2*n:r.chartWidth,d=l?Math.max(s.body.scrollHeight,s.documentElement.scrollHeight,s.body.offsetHeight,s.documentElement.offsetHeight,s.documentElement.clientHeight):r.chartHeight,p=r.pointer.getChartPosition(),u=function(o){var s="x"===o;return[o,s?c:d,s?t:e].concat(l?[s?t*p.scaleX:e*p.scaleY,s?p.left-n+(i.plotX+r.plotLeft)*p.scaleX:p.top-n+(i.plotY+r.plotTop)*p.scaleY,0,s?c:d]:[s?t:e,s?i.plotX+r.plotLeft:i.plotY+r.plotTop,s?r.plotLeft:r.plotTop,s?r.plotLeft+r.plotWidth:r.plotTop+r.plotHeight])},f=u("y"),g=u("x"),y=!this.followPointer&&m(i.ttBelow,!r.inverted==!!i.negative),v=function(t,e,i,o,r,s,c){var d=l?"y"===t?n*p.scaleY:n*p.scaleX:n,u=(i-o)/2,f=o<r-n,g=r+n+o<e,m=r-d-i+u;if(r=r+d-u,y&&g)a[t]=r;else if(!y&&f)a[t]=m;else if(f)a[t]=Math.min(c-o,0>m-h?m:m-h);else{if(!g)return!1;a[t]=Math.max(s,r+h+i>e?r:r+h)}},x=function(t,e,i,o,r){var s;return r<n||r>e-n?s=!1:a[t]=r<i/2?1:r>e-o/2?e-o-2:r-i/2,s},b=function(t){var e=f;f=g,g=e,o=t},w=function(){!1!==v.apply(0,f)?!1!==x.apply(0,g)||o||(b(!0),w()):o?a.x=a.y=0:(b(!0),w())};return(r.inverted||1<this.len)&&b(),w(),a},t.prototype.getXDateFormat=function(t,e,i){e=e.dateTimeLabelFormats;var o=i&&i.closestPointRange;return(o?this.getDateFormat(o,t.x,i.options.startOfWeek,e):e.day)||e.year},t.prototype.hide=function(t){var e=this;o.clearTimeout(this.hideTimer),t=m(t,this.options.hideDelay,500),this.isHidden||(this.hideTimer=v(function(){e.getLabel().fadeOut(t?void 0:t),e.isHidden=!0},t))},t.prototype.init=function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=m(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))},t.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},t.prototype.move=function(t,e,i,r){var s=this,n=s.now,a=!1!==s.options.animation&&!s.isHidden&&(1<Math.abs(t-n.x)||1<Math.abs(e-n.y)),h=s.followPointer||1<s.len;c(n,{x:a?(2*n.x+t)/3:t,y:a?(n.y+e)/2:e,anchorX:h?void 0:a?(2*n.anchorX+i)/3:i,anchorY:h?void 0:a?(n.anchorY+r)/2:r}),s.getLabel().attr(n),s.drawTracker(),a&&(o.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){s&&s.move(t,e,i,r)},32))},t.prototype.refresh=function(t,e){var r=this.chart,s=this.options,n=y(t),a=n[0],h={},l=[],c=s.formatter||this.defaultFormatter;h=this.shared;var u=r.styledMode;if(s.enabled){o.clearTimeout(this.hideTimer),this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;var f=this.getAnchor(t,e),g=f[0],v=f[1];if(!h||!p(t)&&t.series&&t.series.noSharedTooltip?h=a.getLabelConfig():(r.pointer.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(h={x:a.category,y:a.y}).points=l),this.len=l.length,t=c.call(h,this),this.distance=m((c=a.series).tooltipOptions.distance,16),!1===t)this.hide();else{if(this.split)this.renderSplit(t,n);else{if(n=g,h=v,e&&r.pointer.isDirectTouch&&(n=e.chartX-r.plotLeft,h=e.chartY-r.plotTop),!r.polar&&!1!==c.options.clip&&!c.shouldShowTooltip(n,h))return void this.hide();e=this.getLabel(),s.style.width&&!u||e.css({width:this.chart.spacingBox.width+"px"}),e.attr({text:t&&t.join?t.join(""):t}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+m(a.colorIndex,c.colorIndex)),u||e.attr({stroke:s.borderColor||a.color||c.color||i.neutralColor60}),this.updatePosition({plotX:g,plotY:v,negative:a.negative,ttBelow:a.ttBelow,h:f[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}d(this,"refresh")}},t.prototype.renderSplit=function(t,o){function r(t,e,i,o,r){return void 0===r&&(r=!0),i?(e=O?0:j,t=n(t-o/2,A.left,A.right-o-(a.outside?E:0))):(e-=L,t=n(t=r?t-o-S:t+S,r?t:A.left,A.right)),{x:t,y:e}}var a=this,h=a.chart,l=a.chart,d=l.chartWidth,p=l.chartHeight,u=l.plotHeight,g=l.plotLeft,y=l.plotTop,v=l.pointer,x=l.scrollablePixelsY;x=void 0===x?0:x;var b=l.scrollingContainer,w=(b=void 0===b?{scrollLeft:0,scrollTop:0}:b).scrollLeft;b=b.scrollTop;var C=l.styledMode,S=a.distance,k=a.options,M=a.options.positioner,A=a.outside&&"number"!=typeof l.scrollablePixelsX?s.documentElement.getBoundingClientRect():{left:w,right:w+d,top:b,bottom:b+p},T=a.getLabel(),P=this.renderer||h.renderer,O=!(!h.xAxis[0]||!h.xAxis[0].opposite),E=(h=v.getChartPosition()).left;h=h.top;var L=y+b,D=0,j=u-x;f(t)&&(t=[!1,t]),t=t.slice(0,o.length+1).reduce(function(t,e,s){if(!1!==e&&""!==e){var h=(s=o[s-1]||{isHeader:!0,plotX:o[0].plotX,plotY:u,series:{}}).isHeader,l=h?a:s.series;e=e.toString();var c=l.tt,d=s.isHeader,p=s.series,f="highcharts-color-"+m(s.colorIndex,p.colorIndex,"none");if(c||(c={padding:k.padding,r:k.borderRadius},C||(c.fill=k.backgroundColor,c["stroke-width"]=k.borderWidth),c=P.label("",0,0,k[d?"headerShape":"shape"]||"callout",void 0,void 0,k.useHTML).addClass((d?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+f).attr(c).add(T)),c.isActive=!0,c.attr({text:e}),C||c.css(k.style).shadow(k.shadow).attr({stroke:k.borderColor||s.color||p.color||i.neutralColor80}),e=(d=(l=l.tt=c).getBBox()).width+l.strokeWidth(),h&&(j+=D=d.height,O&&(L-=D)),p=void 0===(p=s.plotX)?0:p,f=void 0===(f=s.plotY)?0:f,c=s.series,s.isHeader){p=g+p;var v=y+u/2}else{var x=c.xAxis,b=c.yAxis;p=x.pos+n(p,-S,x.len+S),c.shouldShowTooltip(0,b.pos-y+f,{ignoreX:!0})&&(v=b.pos+f)}p=n(p,A.left-S,A.right+S),"number"==typeof v?(d=d.height+1,f=M?M.call(a,e,d,s):r(p,v,h,e),t.push({align:M?0:void 0,anchorX:p,anchorY:v,boxWidth:e,point:s,rank:m(f.rank,h?1:0),size:d,target:f.y,tt:l,x:f.x})):l.isActive=!1}return t},[]),!M&&t.some(function(t){var e=(a.outside?E:0)+t.anchorX;return e<A.left&&e+t.boxWidth<A.right||e<E-A.left+t.boxWidth&&A.right-e>e})&&(t=t.map(function(t){var e=r(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return c(t,{target:e.y,x:e.x})})),a.cleanSplit(),e.distribute(t,j);var I=E,_=E;t.forEach(function(t){var e=t.x,i=t.boxWidth;(t=t.isHeader)||(a.outside&&E+e<I&&(I=E+e),!t&&a.outside&&I+i>_&&(_=E+e))}),t.forEach(function(t){var e=t.x,i=t.anchorX,o=t.pos,r=t.point.isHeader;if(o={visibility:void 0===o?"hidden":"inherit",x:e,y:o+L,anchorX:i,anchorY:t.anchorY},a.outside&&e<i){var s=E-I;0<s&&(r||(o.x=e+s,o.anchorX=i+s),r&&(o.x=(_-I)/2,o.anchorX=i+s))}t.tt.attr(o)}),t=a.container,x=a.renderer,a.outside&&t&&x&&(l=T.getBBox(),x.setSize(l.width+l.x,l.height+l.y,!1),t.style.left=I+"px",t.style.top=h+"px")},t.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var t=this.chart,e=this.label,i=t.hoverPoint;if(e&&i){var o={x:0,y:0,width:0,height:0};i=this.getAnchor(i);var r=e.getBBox();i[0]+=t.plotLeft-e.translateX,i[1]+=t.plotTop-e.translateY,o.x=Math.min(0,i[0]),o.y=Math.min(0,i[1]),o.width=0>i[0]?Math.max(Math.abs(i[0]),r.width-i[0]):Math.max(Math.abs(i[0]),r.width),o.height=0>i[1]?Math.max(Math.abs(i[1]),r.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),r.height),this.tracker?this.tracker.attr(o):(this.tracker=e.renderer.rect(o).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},t.prototype.styledModeFormat=function(t){return t.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},t.prototype.tooltipFooterHeaderFormatter=function(t,e){var i=e?"footer":"header",o=t.series,s=o.tooltipOptions,n=s.xDateFormat,a=o.xAxis,h=a&&"datetime"===a.options.type&&u(t.key),l=s[i+"Format"];return d(this,"headerFormatter",e={isFooter:e,labelConfig:t},function(e){h&&!n&&(n=this.getXDateFormat(t,s,a)),h&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+n+"}")}),o.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=r(l,{point:t,series:o},this.chart)}),e.text},t.prototype.update=function(t){this.destroy(),g(!0,this.chart.options.tooltip.userOptions,t),this.init(this.chart,g(!0,this.options,t))},t.prototype.updatePosition=function(t){var e=this.chart,i=e.pointer,o=this.getLabel(),r=t.plotX+e.plotLeft;if(e=t.plotY+e.plotTop,i=i.getChartPosition(),t=(this.options.positioner||this.getPosition).call(this,o.width,o.height,t),this.outside){var s=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(o.width+s,o.height+s,!1),1===i.scaleX&&1===i.scaleY||(a(this.container,{transform:"scale("+i.scaleX+", "+i.scaleY+")"}),r*=i.scaleX,e*=i.scaleY),r+=i.left-t.x,e+=i.top-t.y}this.move(Math.round(t.x),Math.round(t.y||0),r,e)},t}(),e.Tooltip=t,e.Tooltip}),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Tooltip.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.parse,n=e.charts,a=e.noop,h=r.addEvent,l=r.attr,c=r.css,d=r.defined,p=r.extend,u=r.find,f=r.fireEvent,g=r.isNumber,m=r.isObject,y=r.objectEach,v=r.offset,x=r.pick,b=r.splat;return t=function(){function t(t,e){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=t,this.hasDragged=!1,this.options=e,this.init(t,e)}return t.prototype.applyInactiveState=function(t){var e,i=[];(t||[]).forEach(function(t){i.push(e=t.series),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})},t.prototype.destroy=function(){var t=this;this.eventsToUnbind.forEach(function(t){return t()}),this.eventsToUnbind=[],e.chartCount||(e.unbindDocumentMouseUp&&(e.unbindDocumentMouseUp=e.unbindDocumentMouseUp()),e.unbindDocumentTouchEnd&&(e.unbindDocumentTouchEnd=e.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),y(t,function(e,i){t[i]=void 0})},t.prototype.drag=function(t){var e=this.chart,o=e.options.chart,r=t.chartX,n=t.chartY,a=this.zoomHor,h=this.zoomVert,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,p=e.plotHeight,u=this.selectionMarker,f=this.mouseDownX||0,g=this.mouseDownY||0,y=m(o.panning)?o.panning&&o.panning.enabled:o.panning,v=o.panKey&&t[o.panKey+"Key"];if((!u||!u.touch)&&(r<l?r=l:r>l+d&&(r=l+d),n<c?n=c:n>c+p&&(n=c+p),this.hasDragged=Math.sqrt(Math.pow(f-r,2)+Math.pow(g-n,2)),10<this.hasDragged)){var x=e.isInsidePlot(f-l,g-c,{visiblePlotOnly:!0});e.hasCartesianSeries&&(this.zoomX||this.zoomY)&&x&&!v&&!u&&(this.selectionMarker=u=e.renderer.rect(l,c,a?1:d,h?1:p,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||u.attr({fill:o.selectionMarkerFill||s(i.highlightColor80).setOpacity(.25).get()})),u&&a&&(r-=f,u.attr({width:Math.abs(r),x:(0<r?0:r)+f})),u&&h&&(r=n-g,u.attr({height:Math.abs(r),y:(0<r?0:r)+g})),x&&!u&&y&&e.pan(t,o.panning)}},t.prototype.dragStart=function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},t.prototype.drop=function(t){var e=this,i=this.chart,o=this.hasPinched;if(this.selectionMarker){var r,s={originalEvent:t,xAxis:[],yAxis:[]},n=this.selectionMarker,a=n.attr?n.attr("x"):n.x,h=n.attr?n.attr("y"):n.y,l=n.attr?n.attr("width"):n.width,u=n.attr?n.attr("height"):n.height;(this.hasDragged||o)&&(i.axes.forEach(function(i){if(i.zoomEnabled&&d(i.min)&&(o||e[{xAxis:"zoomX",yAxis:"zoomY"}[i.coll]])&&g(a)&&g(h)){var n=i.horiz,c="touchend"===t.type?i.minPixelPadding:0,p=i.toValue((n?a:h)+c);n=i.toValue((n?a+l:h+u)-c),s[i.coll].push({axis:i,min:Math.min(p,n),max:Math.max(p,n)}),r=!0}}),r&&f(i,"selection",s,function(t){i.zoom(p(t,o?{animation:!1}:null))})),g(i.index)&&(this.selectionMarker=this.selectionMarker.destroy()),o&&this.scaleGroups()}i&&g(i.index)&&(c(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},t.prototype.findNearestKDPoint=function(t,e,i){var o,r=this.chart,s=r.hoverPoint;return r=r.tooltip,s&&r&&r.isStickyOnContact()?s:(t.forEach(function(t){var r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y");if(t=t.searchPoint(i,r),(r=m(t,!0)&&t.series)&&!(r=!m(o,!0))){var s=o.dist-t.dist,n=(t.series.group&&t.series.group.zIndex)-(o.series.group&&o.series.group.zIndex);r=0<(0!=(r=o.distX-t.distX)&&e?r:0!==s?s:0!==n?n:o.series.index>t.series.index?-1:1)}r&&(o=t)}),o)},t.prototype.getChartCoordinatesFromPoint=function(t,e){var i=t.series,o=i.xAxis;i=i.yAxis;var r=t.shapeArgs;if(o&&i){var s=x(t.clientX,t.plotX),n=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(s=r.x,n=r.y),e?{chartX:i.len+i.pos-n,chartY:o.len+o.pos-s}:{chartX:s+o.pos,chartY:n+i.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}},t.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var t=this.chart.container,e=v(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};var i=t.offsetWidth;return t=t.offsetHeight,2<i&&2<t&&(this.chartPosition.scaleX=e.width/i,this.chartPosition.scaleY=e.height/t),this.chartPosition},t.prototype.getCoordinates=function(t){var e={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])})}),e},t.prototype.getHoverData=function(t,e,i,o,r,s){var n,a=[];o=!(!o||!t);var h=e&&!e.stickyTracking,l={chartX:s?s.chartX:void 0,chartY:s?s.chartY:void 0,shared:r};return f(this,"beforeGetHoverData",l),h=h?[e]:i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&t.stickyTracking}),e=(n=o||!s?t:this.findNearestKDPoint(h,r,s))&&n.series,n&&(r&&!e.noSharedTooltip?(h=i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&!t.noSharedTooltip})).forEach(function(t){var e=u(t.points,function(t){return t.x===n.x&&!t.isNull});m(e)&&(t.chart.isBoosting&&(e=t.getPoint(e)),a.push(e))}):a.push(n)),f(this,"afterGetHoverData",l={hoverPoint:n}),{hoverPoint:l.hoverPoint,hoverSeries:e,hoverPoints:a}},t.prototype.getPointFromEvent=function(t){t=t.target;for(var e;t&&!e;)e=t.point,t=t.parentNode;return e},t.prototype.onTrackerMouseOut=function(t){t=t.relatedTarget||t.toElement;var e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!t||e.stickyTracking||this.inClass(t,"highcharts-tooltip")||this.inClass(t,"highcharts-series-"+e.index)&&this.inClass(t,"highcharts-tracker")||e.onMouseOut()},t.prototype.inClass=function(t,e){for(var i;t;){if(i=l(t,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}t=t.parentNode}},t.prototype.init=function(t,e){this.options=e,this.chart=t,this.runChartClick=!(!e.chart.events||!e.chart.events.click),this.pinchDown=[],this.lastValidTouch={},o&&(t.tooltip=new o(t,e.tooltip),this.followTouchMove=x(e.tooltip.followTouchMove,!0)),this.setDOMEvents()},t.prototype.normalize=function(t,e){var i=t.touches,o=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;return e||(e=this.getChartPosition()),i=o.pageX-e.left,o=o.pageY-e.top,i/=e.scaleX,o/=e.scaleY,p(t,{chartX:Math.round(i),chartY:Math.round(o)})},t.prototype.onContainerClick=function(t){var e=this.chart,i=e.hoverPoint;t=this.normalize(t);var o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(t.target,"highcharts-tracker")?(f(i.series,"click",p(t,{point:i})),e.hoverPoint&&i.firePointEvent("click",t)):(p(t,this.getCoordinates(t)),e.isInsidePlot(t.chartX-o,t.chartY-r,{visiblePlotOnly:!0})&&f(e,"click",t)))},t.prototype.onContainerMouseDown=function(t){var i=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault&&t.preventDefault(),this.dragStart(t))},t.prototype.onContainerMouseLeave=function(t){var i=n[x(e.hoverChartIndex,-1)],o=this.chart.tooltip;t=this.normalize(t),i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset()},t.prototype.onContainerMouseEnter=function(t){delete this.chartPosition},t.prototype.onContainerMouseMove=function(t){var e=this.chart;t=this.normalize(t),this.setHoverChartIndex(),t.preventDefault||(t.returnValue=!1),("mousedown"===e.mouseIsDown||this.touchSelect(t))&&this.drag(t),e.openMenu||!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.runPointActions(t)},t.prototype.onDocumentTouchEnd=function(t){n[e.hoverChartIndex]&&n[e.hoverChartIndex].pointer.drop(t)},t.prototype.onContainerTouchMove=function(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)},t.prototype.onContainerTouchStart=function(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))},t.prototype.onDocumentMouseMove=function(t){var e=this.chart,i=this.chartPosition;t=this.normalize(t,i);var o=e.tooltip;!i||o&&o.isStickyOnContact()||e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.inClass(t.target,"highcharts-tracker")||this.reset()},t.prototype.onDocumentMouseUp=function(t){var i=n[x(e.hoverChartIndex,-1)];i&&i.pointer.drop(t)},t.prototype.pinch=function(t){var e=this,i=e.chart,o=e.pinchDown,r=t.touches||[],s=r.length,n=e.lastValidTouch,h=e.hasZoom,l=e.selectionMarker,c={},d=1===s&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),u={};1<s&&(e.initiated=!0),h&&e.initiated&&!d&&!1!==t.cancelable&&t.preventDefault(),[].map.call(r,function(t){return e.normalize(t)}),"touchstart"===t.type?([].forEach.call(r,function(t,e){o[e]={chartX:t.chartX,chartY:t.chartY}}),n.x=[o[0].chartX,o[1]&&o[1].chartX],n.y=[o[0].chartY,o[1]&&o[1].chartY],i.axes.forEach(function(t){if(t.zoomEnabled){var e=i.bounds[t.horiz?"h":"v"],o=t.minPixelPadding,r=t.toPixels(Math.min(x(t.options.min,t.dataMin),t.dataMin)),s=t.toPixels(Math.max(x(t.options.max,t.dataMax),t.dataMax)),n=Math.max(r,s);e.min=Math.min(t.pos,Math.min(r,s)-o),e.max=Math.max(t.pos+t.len,n+o)}}),e.res=!0):e.followTouchMove&&1===s?this.runPointActions(e.normalize(t)):o.length&&(l||(e.selectionMarker=l=p({destroy:a,touch:!0},i.plotBox)),e.pinchTranslate(o,r,c,l,u,n),e.hasPinched=h,e.scaleGroups(c,u),e.res&&(e.res=!1,this.reset(!1,0)))},t.prototype.pinchTranslate=function(t,e,i,o,r,s){this.zoomHor&&this.pinchTranslateDirection(!0,t,e,i,o,r,s),this.zoomVert&&this.pinchTranslateDirection(!1,t,e,i,o,r,s)},t.prototype.pinchTranslateDirection=function(t,e,i,o,r,s,n,a){var h,l,c=this.chart,d=t?"x":"y",p=t?"X":"Y",u="chart"+p,f=t?"width":"height",g=c["plot"+(t?"Left":"Top")],m=a||1,y=c.inverted,v=c.bounds[t?"h":"v"],x=1===e.length,b=e[0][u],w=i[0][u],C=!x&&e[1][u],S=!x&&i[1][u];if((i=function(){"number"==typeof S&&20<Math.abs(b-C)&&(m=a||Math.abs(w-S)/Math.abs(b-C)),l=(g-w)/m+b,h=c["plot"+(t?"Width":"Height")]/m})(),(e=l)<v.min){e=v.min;var k=!0}else e+h>v.max&&(e=v.max-h,k=!0);k?(w-=.8*(w-n[d][0]),"number"==typeof S&&(S-=.8*(S-n[d][1])),i()):n[d]=[w,S],y||(s[d]=l-g,s[f]=h),s=y?1/m:m,r[f]=h,r[d]=e,o[y?t?"scaleY":"scaleX":"scale"+p]=m,o["translate"+p]=s*g+(w-s*b)},t.prototype.reset=function(t,e){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,s=i.hoverPoints,n=i.tooltip,a=n&&n.shared?s:r;t&&a&&b(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&b(a).length&&(n.refresh(a),n.shared&&s?s.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),s&&s.forEach(function(t){t.setState()}),o&&o.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},t.prototype.runPointActions=function(t,i){var o=this.chart,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,s=!!r&&r.shared,a=i||o.hoverPoint,l=a&&a.series||o.hoverSeries;a=(l=this.getHoverData(a,l,o.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),s,t)).hoverPoint;var c=l.hoverPoints;if(i=(l=l.hoverSeries)&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,s=s&&l&&!l.noSharedTooltip,a&&(a!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!a.series)return;o.hoverPoints=c,o.hoverPoint=a,a.firePointEvent("mouseOver"),r&&r.refresh(s?c:a,t)}else i&&r&&!r.isHidden&&(a=r.getAnchor([{}],t),o.isInsidePlot(a[0],a[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:a[0],plotY:a[1]}));this.unDocMouseMove||(this.unDocMouseMove=h(o.container.ownerDocument,"mousemove",function(t){var i=n[e.hoverChartIndex];i&&i.pointer.onDocumentMouseMove(t)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){var i,r=x((e.crosshair||{}).snap,!0);r&&((i=o.hoverPoint)&&i.series[e.coll]===e||(i=u(c,function(t){return t.series[e.coll]===e}))),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()})},t.prototype.scaleGroups=function(t,e){var i,o=this.chart;o.series.forEach(function(r){i=t||r.getPlotBox(),r.xAxis&&r.xAxis.zoomEnabled&&r.group&&(r.group.attr(i),r.markerGroup&&(r.markerGroup.attr(i),r.markerGroup.clip(e?o.clipRect:null)),r.dataLabelsGroup&&r.dataLabelsGroup.attr(i))}),o.clipRect.attr(e||o.clipBox)},t.prototype.setDOMEvents=function(){var t=this,i=this.chart.container,o=i.ownerDocument;i.onmousedown=this.onContainerMouseDown.bind(this),i.onmousemove=this.onContainerMouseMove.bind(this),i.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(h(i,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(h(i,"mouseleave",this.onContainerMouseLeave.bind(this))),e.unbindDocumentMouseUp||(e.unbindDocumentMouseUp=h(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var r=this.chart.renderTo.parentElement;r&&"BODY"!==r.tagName;)this.eventsToUnbind.push(h(r,"scroll",function(){delete t.chartPosition})),r=r.parentElement;e.hasTouch&&(this.eventsToUnbind.push(h(i,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(h(i,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),e.unbindDocumentTouchEnd||(e.unbindDocumentTouchEnd=h(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},t.prototype.setHoverChartIndex=function(){var t=this.chart,i=e.charts[x(e.hoverChartIndex,-1)];i&&i!==t&&i.pointer.onContainerMouseLeave({relatedTarget:!0}),i&&i.mouseIsDown||(e.hoverChartIndex=t.index)},t.prototype.touch=function(t,e){var i=this.chart;if(this.setHoverChartIndex(),1===t.touches.length)if(t=this.normalize(t),i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&!i.openMenu){if(e&&this.runPointActions(t),"touchmove"===t.type)var o=!!(e=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(e[0].chartX-t.chartX,2)+Math.pow(e[0].chartY-t.chartY,2));x(o,!0)&&this.pinch(t)}else e&&this.reset();else 2===t.touches.length&&this.pinch(t)},t.prototype.touchSelect=function(t){return!(!this.chart.options.chart.zoomBySingleTouch||!t.touches||1!==t.touches.length)},t.prototype.zoomOption=function(t){var e=this.chart,i=e.options.chart,o=i.zoomType||"";e=e.inverted,/touch/.test(t.type)&&(o=x(i.pinchType,o)),this.zoomX=t=/x/.test(o),this.zoomY=o=/y/.test(o),this.zoomHor=t&&!e||o&&e,this.zoomVert=o&&!e||t&&e,this.hasZoom=t||o},t}(),e.Pointer=t}),e(i,"Core/MSPointer.js",[i["Core/Globals.js"],i["Core/Pointer.js"],i["Core/Utilities.js"]],function(t,e,i){function o(){var t=[];return t.item=function(t){return this[t]},d(u,function(e){t.push({pageX:e.pageX,pageY:e.pageY,target:e.target})}),t}function r(e,i,r,s){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!n[t.hoverChartIndex]||(s(e),(s=n[t.hoverChartIndex].pointer)[i]({type:r,target:e.currentTarget,preventDefault:h,touches:o()}))}var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.charts,a=t.doc,h=t.noop,l=i.addEvent,c=i.css,d=i.objectEach,p=i.removeEvent,u={},f=!!t.win.PointerEvent;return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.batchMSEvents=function(t){t(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown),t(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove),t(a,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},e.prototype.destroy=function(){this.batchMSEvents(p),t.prototype.destroy.call(this)},e.prototype.init=function(e,i){t.prototype.init.call(this,e,i),this.hasZoom&&c(e.container,{"-ms-touch-action":"none","touch-action":"none"})},e.prototype.onContainerPointerDown=function(t){r(t,"onContainerTouchStart","touchstart",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY,target:t.currentTarget}})},e.prototype.onContainerPointerMove=function(t){r(t,"onContainerTouchMove","touchmove",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY},u[t.pointerId].target||(u[t.pointerId].target=t.currentTarget)})},e.prototype.onDocumentPointerUp=function(t){r(t,"onDocumentTouchEnd","touchend",function(t){delete u[t.pointerId]})},e.prototype.setDOMEvents=function(){t.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},e}(e)}),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=e.animObject,a=i.format,h=r.defaultOptions,l=s.addEvent,c=s.defined,d=s.erase,p=s.extend,u=s.fireEvent,f=s.getNestedProperty,g=s.isArray,m=s.isFunction,y=s.isNumber,v=s.isObject,x=s.merge,b=s.objectEach,w=s.pick,C=s.syncTimeout,S=s.removeEvent,k=s.uniqueKey;return e=function(){function e(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return e.prototype.animateBeforeDestroy=function(){var t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(p({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})},e.prototype.applyOptions=function(t,i){var o=this.series,r=o.options.pointValKey||o.pointValKey;return t=e.prototype.optionsToObject.call(this,t),p(this,t),this.options=this.options?p(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,r&&(this.y=e.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!y(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===i&&o.xAxis&&o.xAxis.hasNames&&(this.x=o.xAxis.nameToX(this)),void 0===this.x&&o&&(this.x=void 0===i?o.autoIncrement(this):i),this},e.prototype.destroy=function(){function t(){for(r in(e.graphic||e.dataLabel||e.dataLabels)&&(S(e),e.destroyElements()),e)e[r]=null}var e=this,i=e.series,o=i.chart;i=i.options.dataSorting;var r,s=o.hoverPoints,a=n(e.series.chart.renderer.globalAnimation);e.legendItem&&o.legend.destroyItem(e),s&&(e.setState(),d(s,e),s.length||(o.hoverPoints=null)),e===o.hoverPoint&&e.onMouseOut(),i&&i.enabled?(this.animateBeforeDestroy(),C(t,a.duration)):t(),o.pointCount--},e.prototype.destroyElements=function(t){var e=this;(t=e.getGraphicalProps(t)).singular.forEach(function(t){e[t]=e[t].destroy()}),t.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.destroy()}),delete e[t]})},e.prototype.firePointEvent=function(t,e,i){var o=this,r=this.series.options;(r.point.events[t]||o.options&&o.options.events&&o.options.events[t])&&o.importEvents(),"click"===t&&r.allowPointSelect&&(i=function(t){o.select&&o.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(o,t,e,i)},e.prototype.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",""):"")},e.prototype.getGraphicalProps=function(t){var e,i=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","upperGraphic","shadowGroup"),t.dataLabel&&o.push("dataLabel","dataLabelUpper","connector"),e=o.length;e--;){var s=o[e];i[s]&&r.singular.push(s)}return["dataLabel","connector"].forEach(function(e){var o=e+"s";t[e]&&i[o]&&r.plural.push(o)}),r},e.prototype.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}},e.prototype.getNestedProperty=function(t){if(t)return 0===t.indexOf("custom.")?f(t,this.options):this[t]},e.prototype.getZone=function(){var t=this.series,e=t.zones;t=t.zoneAxis||"y";var i,o=0;for(i=e[o];this[t]>=i.value;)i=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=i&&i.color&&!this.options.color?i.color:this.nonZonedColor,i},e.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},e.prototype.init=function(t,e,i){return this.series=t,this.applyOptions(e,i),this.id=c(this.id)?this.id:k(),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit"),this},e.prototype.optionsToObject=function(t){var i={},o=this.series,r=o.options.keys,s=r||o.pointArrayMap||["y"],n=s.length,a=0,h=0;if(y(t)||null===t)i[s[0]]=t;else if(g(t))for(!r&&t.length>n&&("string"==(o=typeof t[0])?i.name=t[0]:"number"===o&&(i.x=t[0]),a++);h<n;)r&&void 0===t[a]||(0<s[h].indexOf(".")?e.prototype.setNestedProperty(i,t[a],s[h]):i[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(i=t,t.dataLabels&&(o._hasPointLabels=!0),t.marker&&(o._hasPointMarkers=!0));return i},e.prototype.resolveColor=function(){var t=this.series,e=t.chart.options.chart.colorCount,i=t.chart.styledMode;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){var o=(e=t.options.colors||t.chart.options.colors)[t.colorCounter];e=e.length}i=t.colorCounter,t.colorCounter++,t.colorCounter===e&&(t.colorCounter=0)}else i||(o=t.color),i=t.colorIndex;this.colorIndex=w(this.options.colorIndex,i),this.color=w(this.options.color,o)},e.prototype.setNestedProperty=function(t,e,i){return i.split(".").reduce(function(t,i,o,r){return t[i]=r.length-1===o?e:v(t[i],!0)?t[i]:{},t[i]},t),t},e.prototype.tooltipFormatter=function(t){var e=this.series,i=e.tooltipOptions,o=w(i.valueDecimals,""),r=i.valuePrefix||"",s=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(r||s)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+s)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),a(t,{point:this,series:this.series},e.chart)},e.prototype.update=function(t,e,i,o){function r(){n.applyOptions(t);var o=h&&n.hasDummyGraphic;o=null===n.y?!o:o,h&&o&&(n.graphic=h.destroy(),delete n.hasDummyGraphic),v(t,!0)&&(h&&h.element&&t&&t.marker&&void 0!==t.marker.symbol&&(n.graphic=h.destroy()),t&&t.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy()),n.connector&&(n.connector=n.connector.destroy())),a.updateParallelArrays(n,s=n.index),c.data[s]=v(c.data[s],!0)||v(t,!0)?n.options:w(t,c.data[s]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===c.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}var s,n=this,a=n.series,h=n.graphic,l=a.chart,c=a.options;e=w(e,!0),!1===o?r():n.firePointEvent("update",{options:t},r)},e.prototype.remove=function(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)},e.prototype.select=function(t,e){var i=this,o=i.series,r=o.chart;this.selectedStaging=t=w(t,!i.selected),i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,o.options.data[o.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){var e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging},e.prototype.onMouseOver=function(t){var e=this.series.chart,i=e.pointer;t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e.inverted),i.runPointActions(t,this)},e.prototype.onMouseOut=function(){var t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null},e.prototype.importEvents=function(){if(!this.hasImportedEvents){var t=this,e=x(t.series.options.point,t.options).events;t.events=e,b(e,function(e,i){m(e)&&l(t,i,e)}),this.hasImportedEvents=!0}},e.prototype.setState=function(e,i){var o,r=this.series,s=this.state,n=r.options.states[e||"normal"]||{},a=h.plotOptions[r.type].marker&&r.options.marker,l=a&&a.states&&a.states[e||"normal"]||{},c=r.stateMarkerGraphic,d=this.marker||{},f=r.chart,g=r.halo,m=a&&r.markerAttribs;if(!((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===n.enabled||e&&(!1===l.enabled||a&&!1===a.enabled&&!1===l.enabled)||e&&d.states&&d.states[e]&&!1===d.states[e].enabled)){if(this.state=e,m&&(o=r.markerAttribs(this,e)),this.graphic&&!this.hasDummyGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),e&&this.graphic.addClass("highcharts-point-"+e),!f.styledMode){var v=r.pointAttribs(this,e),x=w(f.options.chart.animation,n.animation);r.options.inactiveOtherPoints&&y(v.opacity)&&((this.dataLabels||[]).forEach(function(t){t&&t.animate({opacity:v.opacity},x)}),this.connector&&this.connector.animate({opacity:v.opacity},x)),this.graphic.animate(v,x)}o&&this.graphic.animate(o,w(f.options.chart.animation,l.animation,a.animation)),c&&c.hide()}else e&&l&&(s=d.symbol||r.symbol,c&&c.currentSymbol!==s&&(c=c.destroy()),o&&(c?c[i?"animate":"attr"]({x:o.x,y:o.y}):s&&(r.stateMarkerGraphic=c=f.renderer.symbol(s,o.x,o.y,o.width,o.height).add(r.markerGroup),c.currentSymbol=s)),!f.styledMode&&c&&c.attr(r.pointAttribs(this,e))),c&&(c[e&&this.isInside?"show":"hide"](),c.element.point=this);o=(c=this.graphic||c)&&c.visibility||"inherit",(n=n.halo)&&n.size&&c&&"hidden"!==o&&!this.isCluster?(g||(r.halo=g=f.renderer.path().add(c.parentGroup)),g.show()[i?"animate":"attr"]({d:this.haloPath(n.size)}),g.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:o,zIndex:-1}),g.point=this,f.styledMode||g.attr(p({fill:this.color||r.color,"fill-opacity":n.opacity},t.filterUserAttributes(n.attributes||{})))):g&&g.point&&g.point.haloPath&&g.animate({d:g.point.haloPath(0)},null,g.hide),u(this,"afterSetState",{state:e})}},e.prototype.haloPath=function(t){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-t,this.plotY-t,2*t,2*t)},e}(),o.Point=e}),e(i,"Core/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.animObject,n=t.setAnimation,a=e.format;t=i.isFirefox;var h=i.marginNames;e=i.win;var l=r.addEvent,c=r.createElement,d=r.css,p=r.defined,u=r.discardElement,f=r.find,g=r.fireEvent,m=r.isNumber,y=r.merge,v=r.pick,x=r.relativeLength,b=r.stableSort,w=r.syncTimeout;r=r.wrap;var C=function(){function t(t,e){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options={},this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=t,this.init(t,e)}return t.prototype.init=function(t,e){this.chart=t,this.setOptions(e),e.enabled&&(this.render(),l(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=l(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},t.prototype.setOptions=function(t){var e=v(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=y(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop||0,this.itemMarginBottom=t.itemMarginBottom||0,this.padding=e,this.initialItemY=e-5,this.symbolWidth=v(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0},t.prototype.update=function(t,e){var i=this.chart;this.setOptions(y(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,v(e,!0)&&i.redraw(),g(this,"afterUpdate")},t.prototype.colorizeItem=function(t,e){if(t.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=t.legendItem,r=t.legendLine,s=t.legendSymbol,n=this.itemHiddenStyle.color;i=e?i.itemStyle.color:n;var a=e&&t.color||n,h=t.options&&t.options.marker,l={fill:a};o&&o.css({fill:i,color:i}),r&&r.attr({stroke:a}),s&&(h&&s.isMarker&&(l=t.pointAttribs(),e||(l.stroke=l.fill=n)),s.attr(l))}g(this,"afterColorizeItem",{item:t,visible:e})},t.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},t.prototype.positionItem=function(t){var e=this,i=this.options,o=i.symbolPadding,r=!i.rtl,s=t._legendItemPos;i=s[0],s=s[1];var n=t.checkbox,a=t.legendGroup;a&&a.element&&(o={translateX:r?i:this.legendWidth-i-2*o-4,translateY:s},r=function(){g(e,"afterPositionItem",{item:t})},p(a.translateY)?a.animate(o,void 0,r):(a.attr(o),r())),n&&(n.x=i,n.y=s)},t.prototype.destroyItem=function(t){var e=t.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),e&&u(t.checkbox)},t.prototype.destroy=function(){function t(t){this[t]&&(this[t]=this[t].destroy())}this.getAllItems().forEach(function(e){["legendItem","legendGroup"].forEach(t,e)}),"clipRect up down pager nav box title group".split(" ").forEach(t,this),this.display=null},t.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,i=this.titleHeight;if(t){var o=t.translateY;this.allItems.forEach(function(r){var s=r.checkbox;if(s){var n=o+i+s.y+(this.scrollOffset||0)+3;d(s,{left:t.translateX+r.checkboxOffset+s.x-20+"px",top:n+"px",display:this.proximate||n>o-6&&n<o+e-6?"":"none"})}},this)}},t.prototype.renderTitle=function(){var t=this.options,e=this.padding,i=t.title,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,null,null,null,t.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o},t.prototype.setText=function(t){var e=this.options;t.legendItem.attr({text:e.labelFormat?a(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})},t.prototype.renderItem=function(t){var e=this.chart,i=e.renderer,o=this.options,r=this.symbolWidth,s=o.symbolPadding||0,n=this.itemStyle,a=this.itemHiddenStyle,h="horizontal"===o.layout?v(o.itemDistance,20):0,l=!o.rtl,c=t.legendItem,d=!t.series,p=!d&&t.series.drawLegendSymbol?t.series:t,u=p.options,f=this.createCheckboxForItem&&u&&u.showCheckbox;u=r+s+h+(f?20:0);var g=o.useHTML,m=t.options.className;c||(t.legendGroup=i.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),t.legendItem=c=i.text("",l?r+s:-s,this.baseline||0,g),e.styledMode||c.css(y(t.visible?n:a)),c.attr({align:l?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.fontMetrics=i.fontMetrics(e.styledMode?12:n.fontSize,c),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,c.attr("y",this.baseline),this.symbolHeight=o.symbolHeight||this.fontMetrics.f,o.squareSymbol&&(this.symbolWidth=v(o.symbolWidth,Math.max(this.symbolHeight,16)),u=this.symbolWidth+s+h+(f?20:0),l&&c.attr("x",this.symbolWidth+s))),p.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,c,g)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),!e.styledMode&&n.width||c.css({width:(o.itemWidth||this.widthOption||e.spacingBox.width)-u+"px"}),this.setText(t),e=c.getBBox(),t.itemWidth=t.checkboxOffset=o.itemWidth||t.legendItemWidth||e.width+u,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(t.legendItemHeight||e.height||this.symbolHeight)},t.prototype.layoutItem=function(t){var e=this.options,i=this.padding,o="horizontal"===e.layout,r=t.itemHeight,s=this.itemMarginBottom,n=this.itemMarginTop,a=o?v(e.itemDistance,20):0,h=this.maxLegendWidth;e=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,o&&this.itemX-i+e>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+s),this.lastLineHeight=0),this.lastItemY=n+this.itemY+s,this.lastLineHeight=Math.max(r,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],o?this.itemX+=e:(this.itemY+=n+r+s,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((o?this.itemX-i-(t.checkbox?0:a):e)+i,this.offsetWidth)},t.prototype.getAllItems=function(){var t=[];return this.chart.series.forEach(function(e){var i=e&&e.options;e&&v(i.showInLegend,!p(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItems||("point"===i.legendType?e.data:e)))}),g(this,"afterGetAllItems",{allItems:t}),t},t.prototype.getAlignment=function(){var t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)},t.prototype.adjustMargins=function(t,e){var i=this.chart,o=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(s,n){s.test(r)&&!p(t[n])&&(i[h[n]]=Math.max(i[h[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*o[n%2?"x":"y"]+v(o.margin,12)+e[n]+(i.titleOffset[n]||0)))})},t.prototype.proximatePositions=function(){var t=this.chart,e=[],o="left"===this.options.align;this.allItems.forEach(function(i){var r,s=o;if(i.yAxis){i.xAxis.options.reversed&&(s=!s),i.points&&(r=f(s?i.points:i.points.slice(0).reverse(),function(t){return m(t.plotY)})),s=this.itemMarginTop+i.legendItem.getBBox().height+this.itemMarginBottom;var n=i.yAxis.top-t.plotTop;i.visible?(r=r?r.plotY:i.yAxis.height,r+=n-.3*s):r=n+i.yAxis.height,e.push({target:r,size:s,item:i})}},this),i.distribute(e,t.plotHeight),e.forEach(function(e){e.item._legendItemPos[1]=t.plotTop-t.spacing[0]+e.pos})},t.prototype.render=function(){var t=this.chart,e=t.renderer,i=this.group,o=this.box,r=this.options,s=this.padding;this.itemX=s,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=x(r.width,t.spacingBox.width-s);var n=t.spacingBox.width-2*s-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(n/=2),this.maxLegendWidth=this.widthOption||n,i||(this.group=i=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(i),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle();var a=this.getAllItems();b(a,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),r.reversed&&a.reverse(),this.allItems=a,this.display=n=!!a.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s;var h=this.lastItemY+this.lastLineHeight+this.titleHeight;h=this.handleOverflow(h),h+=s,o||(this.box=o=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(i),o.isNew=!0),t.styledMode||o.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow),0<a&&0<h&&(o[o.isNew?"attr":"animate"](o.crisp.call({},{x:0,y:0,width:a,height:h},o.strokeWidth())),o.isNew=!1),o[n?"show":"hide"](),t.styledMode&&"none"===i.getStyle("display")&&(a=h=0),this.legendWidth=a,this.legendHeight=h,n&&this.align(),this.proximate||this.positionItems(),g(this,"afterRender")},t.prototype.align=function(t){void 0===t&&(t=this.chart.spacingBox);var e=this.chart,i=this.options,o=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<e.titleOffset[0]?o+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<e.titleOffset[2]&&(o-=e.titleOffset[2]),o!==t.y&&(t=y(t,{y:o})),this.group.align(y(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)},t.prototype.handleOverflow=function(t){var e=this,i=this.chart,o=i.renderer,r=this.options,s=r.y,n=this.padding;s=i.spacingBox.height+("top"===r.verticalAlign?-s:s)-n;var a,h,l=r.maxHeight,c=this.clipRect,d=r.navigation,p=v(d.animation,!0),u=d.arrowSize||12,f=this.nav,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?c.attr({height:t}):c&&(e.clipRect=c.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},x=function(t){return e[t]=o.circle(0,0,1.3*u).translate(u/2,u/2).add(f),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]};return"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(s/=2),l&&(s=Math.min(s,l)),g.length=0,t&&0<s&&t>s&&!1!==d.enabled?(this.clipHeight=a=Math.max(s-20-this.titleHeight-n,0),this.currentPage=v(this.currentPage,1),this.fullHeight=t,m.forEach(function(t,e){var i=t._legendItemPos[1],o=Math.round(t.legendItem.getBBox().height),r=g.length;(!r||i-g[r-1]>a&&(h||i)!==g[r-1])&&(g.push(h||i),r++),t.pageIx=r-1,h&&(m[e-1].pageIx=r-1),e===m.length-1&&i+o-g[r-1]>a&&i!==h&&(g.push(i),t.pageIx=r),i!==h&&(h=i)}),c||(c=e.clipRect=o.clipRect(0,n,9999,0),e.contentGroup.clip(c)),y(a),f||(this.nav=f=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(f),x("upTracker").on("click",function(){e.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),i.styledMode||this.pager.css(d.style),this.pager.add(f),this.down=o.symbol("triangle-down",0,0,u,u).add(f),x("downTracker").on("click",function(){e.scroll(1,p)})),e.scroll(0),t=s):f&&(y(),this.nav=f.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},t.prototype.scroll=function(t,e){var i=this,o=this.chart,r=this.pages,a=r.length,h=this.currentPage+t;t=this.clipHeight;var l=this.options.navigation,c=this.pager,d=this.padding;h>a&&(h=a),0<h&&(void 0!==e&&n(e,o),this.nav.attr({translateX:d,translateY:t+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:h+"/"+a}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===h?l.inactiveColor:l.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===a?l.inactiveColor:l.activeColor}),this.downTracker.css({cursor:h===a?"default":"pointer"})),this.scrollOffset=-r[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),e=s(v(e,o.renderer.globalAnimation,!0)),w(function(){g(i,"afterScroll",{currentPage:h})},e.duration))},t.prototype.setItemEvents=function(t,e,i){var r=this,s=r.chart.renderer.boxWrapper,n=t instanceof o,a="highcharts-legend-"+(n?"point":"series")+"-active",h=r.chart.styledMode;(i?[e,t.legendSymbol]:[t.legendGroup]).forEach(function(i){i&&i.on("mouseover",function(){t.visible&&r.allItems.forEach(function(e){t!==e&&e.setState("inactive",!n)}),t.setState("hover"),t.visible&&s.addClass(a),h||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(y(t.visible?r.itemStyle:r.itemHiddenStyle)),r.allItems.forEach(function(e){t!==e&&e.setState("",!n)}),s.removeClass(a),t.setState()}).on("click",function(e){var i=function(){t.setVisible&&t.setVisible(),r.allItems.forEach(function(e){t!==e&&e.setState(t.visible?"inactive":"",!n)})};s.removeClass(a),e={browserEvent:e},t.firePointEvent?t.firePointEvent("legendItemClick",e,i):g(t,"legendItemClick",e,i)})})},t.prototype.createCheckboxForItem=function(t){t.checkbox=c("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),l(t.checkbox,"click",function(e){g(t.series||t,"checkboxClick",{checked:e.target.checked,item:t},function(){t.select()})})},t}();return(/Trident\/7\.0/.test(e.navigator&&e.navigator.userAgent)||t)&&r(C.prototype,"positionItem",function(t,e){var i=this,o=function(){e._legendItemPos&&t.call(i,e)};o(),i.bubbleLegend||setTimeout(o)}),i.Legend=C,i.Legend}),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r,s=e.defaultOptions,n=o.error,a=o.extendClass,h=o.merge;return function(e){function o(t,o){var r=s.plotOptions||{},n=o.defaultOptions;o.prototype.pointClass||(o.prototype.pointClass=i),o.prototype.type=t,n&&(r[t]=n),e.seriesTypes[t]=o}e.seriesTypes=t.seriesTypes,e.getSeries=function(t,i){void 0===i&&(i={});var o=t.options.chart,r=e.seriesTypes[o=i.type||o.type||o.defaultSeriesType||""];return e||n(17,!0,t,{missingModuleFor:o}),"function"==typeof(o=new r).init&&o.init(t,i),o},e.registerSeriesType=o,e.seriesType=function(t,r,n,l,c){var d=s.plotOptions||{};return d[t]=h(d[r=r||""],n),o(t,a(e.seriesTypes[r]||function(){},l)),e.seriesTypes[t].prototype.type=t,c&&(e.seriesTypes[t].prototype.pointClass=a(i,c)),e.seriesTypes[t]}}(r||(r={})),t.seriesType=r.seriesType,r}),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Core/MSPointer.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Pointer.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i,o,r,s,n,a,h,l,c,d,p){var u=t.animate,f=t.animObject,g=t.setAnimation,m=i.numberFormat,y=o.charts,v=o.doc,x=o.win,b=n.defaultOptions,w=n.defaultTime,C=l.seriesTypes,S=d.addEvent,k=d.attr,M=d.cleanRecursively,A=d.createElement,T=d.css,P=d.defined,O=d.discardElement,E=d.erase,L=d.error,D=d.extend,j=d.find,I=d.fireEvent,_=d.getStyle,B=d.isArray,R=d.isFunction,z=d.isNumber,N=d.isObject,G=d.isString,W=d.merge,H=d.objectEach,X=d.pick,F=d.pInt,U=d.relativeLength,Y=d.removeEvent,V=d.splat,Z=d.syncTimeout,q=d.uniqueKey,K=o.marginNames,$=function(){function t(t,e,i){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(t,e,i)}return t.prototype.getArgs=function(t,e,i){G(t)||t.nodeName?(this.renderTo=t,this.init(e,i)):this.init(t,e)},t.prototype.init=function(t,e){var i=t.plotOptions||{};I(this,"init",{args:arguments},function(){var r=W(b,t),s=r.chart;H(r.plotOptions,function(t,e){N(t)&&(t.tooltip=i[e]&&W(i[e].tooltip)||void 0)}),r.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip,this.userOptions=t;var n=s.events;this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=r,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):o.time,this.numberFormatter=s.numberFormatter||m,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;var a=this;a.index=y.length,y.push(a),o.chartCount++,n&&H(n,function(t,e){R(t)&&S(a,e,t)}),a.xAxis=[],a.yAxis=[],a.pointCount=a.colorCounter=a.symbolCounter=0,I(a,"afterInit"),a.firstRender()})},t.prototype.initSeries=function(t){var e=this.options.chart,i=C[e=t.type||e.type||e.defaultSeriesType];return i||L(17,!0,this,{missingModuleFor:e}),"function"==typeof(e=new i).init&&e.init(this,t),e},t.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})},t.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})},t.prototype.orderSeries=function(t){var e=this.series;for(t=t||0;t<e.length;t++)e[t]&&(e[t].index=t,e[t].name=e[t].getName())},t.prototype.isInsidePlot=function(t,e,i){void 0===i&&(i={});var o=this.inverted,r=this.plotBox,s=this.plotLeft,n=this.plotTop,a=this.scrollablePlotBox,h=this.scrollingContainer,l=(h=void 0===h?{scrollLeft:0,scrollTop:0}:h).scrollLeft;h=h.scrollTop;var c=i.series;if(r=i.visiblePlotOnly&&a||r,t={x:a=i.inverted?e:t,y:e=i.inverted?t:e,isInsidePlot:!0},!i.ignoreX){var d=c&&(o?c.yAxis:c.xAxis)||{pos:s,len:1/0};(a=i.paneCoordinates?d.pos+a:s+a)>=Math.max(l+s,d.pos)&&a<=Math.min(l+s+r.width,d.pos+d.len)||(t.isInsidePlot=!1)}return!i.ignoreY&&t.isInsidePlot&&(o=c&&(o?c.xAxis:c.yAxis)||{pos:n,len:1/0},(i=i.paneCoordinates?o.pos+e:n+e)>=Math.max(h+n,o.pos)&&i<=Math.min(h+n+r.height,o.pos+o.len)||(t.isInsidePlot=!1)),I(this,"afterIsInsidePlot",t),t.isInsidePlot},t.prototype.redraw=function(t){I(this,"beforeRedraw");var e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,o=this.pointer,r=this.legend,s=this.userOptions.legend,n=this.isDirtyLegend,a=this.isDirtyBox,h=this.renderer,l=h.isHidden(),c=[];for(this.setResponsive&&this.setResponsive(!1),g(!!this.hasRendered&&t,this),l&&this.temporaryDisplay(),this.layOutTitles(),t=i.length;t--;){var d=i[t];if(d.options.stacking||d.options.centerInCategory){var p=!0;if(d.isDirty){var u=!0;break}}}if(u)for(t=i.length;t--;)(d=i[t]).options.stacking&&(d.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),n=!0):s&&(s.labelFormatter||s.labelFormat)&&(n=!0)),t.isDirtyData&&I(t,"updatedData")}),n&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),p&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(a=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,c.push(function(){I(t,"afterSetExtremes",D(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(a||p)&&t.redraw()}),a&&this.drawChartBox(),I(this,"predraw"),i.forEach(function(t){(a||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),o&&o.reset(!0),h.draw(),I(this,"redraw"),I(this,"render"),l&&this.temporaryDisplay(!0),c.forEach(function(t){t.call()})},t.prototype.get=function(t){function e(e){return e.id===t||e.options&&e.options.id===t}var i,o=this.series,r=j(this.axes,e)||j(this.series,e);for(i=0;!r&&i<o.length;i++)r=j(o[i].points||[],e);return r},t.prototype.getAxes=function(){var t=this,i=this.options,o=i.xAxis=V(i.xAxis||{});i=i.yAxis=V(i.yAxis||{}),I(this,"getAxes"),o.forEach(function(t,e){t.index=e,t.isX=!0}),i.forEach(function(t,e){t.index=e}),o.concat(i).forEach(function(i){new e(t,i)}),I(this,"afterGetAxes")},t.prototype.getSelectedPoints=function(){var t=[];return this.series.forEach(function(e){t=t.concat(e.getPointsCollection().filter(function(t){return X(t.selectedStaging,t.selected)}))}),t},t.prototype.getSelectedSeries=function(){return this.series.filter(function(t){return t.selected})},t.prototype.setTitle=function(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)},t.prototype.applyDescription=function(t,e){var i=this,o="title"===t?{color:a.neutralColor80,fontSize:this.options.isStock?"16px":"18px"}:{color:a.neutralColor60};o=this.options[t]=W(!this.styledMode&&{style:o},this.options[t],e);var r=this[t];r&&e&&(this[t]=r=r.destroy()),o&&!r&&((r=this.renderer.text(o.text,0,0,o.useHTML).attr({align:o.align,class:"highcharts-"+t,zIndex:o.zIndex||4}).add()).update=function(e){i[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[t]](e)},this.styledMode||r.css(o.style),this[t]=r)},t.prototype.layOutTitles=function(t){var e=[0,0,0],i=this.renderer,o=this.spacingBox;["title","subtitle","caption"].forEach(function(t){var r=this[t],s=this.options[t],n=s.verticalAlign||"top";if(t="title"===t?-3:"top"===n?e[0]+2:0,r){if(!this.styledMode)var a=s.style.fontSize;a=i.fontMetrics(a,r).b,r.css({width:(s.width||o.width+(s.widthAdjust||0))+"px"});var h=Math.round(r.getBBox(s.useHTML).height);r.align(D({y:"bottom"===n?a:t+a,height:h},s),!1,"spacingBox"),s.floating||("top"===n?e[0]=Math.ceil(e[0]+h):"bottom"===n&&(e[2]=Math.ceil(e[2]+h)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);var r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,I(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&X(t,!0)&&this.isDirtyBox&&this.redraw())},t.prototype.getChartSize=function(){var t=this.options.chart,e=t.width;t=t.height;var i=this.renderTo;P(e)||(this.containerWidth=_(i,"width")),P(t)||(this.containerHeight=_(i,"height")),this.chartWidth=Math.max(0,e||this.containerWidth||600),this.chartHeight=Math.max(0,U(t,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},t.prototype.temporaryDisplay=function(t){var e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(v.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(v.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,v.body.appendChild(e)),("none"===_(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},t={display:"block",overflow:"hidden"},e!==this.renderTo&&(t.height=0),T(e,t),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==v.body););},t.prototype.setClassName=function(t){this.container.className="highcharts-container "+(t||"")},t.prototype.getContainer=function(){var t,e,i=this.options,r=i.chart,s=this.renderTo,n=q();s||(this.renderTo=s=r.renderTo),G(s)&&(this.renderTo=s=v.getElementById(s)),s||L(13,!0,this);var a=F(k(s,"data-highcharts-chart"));z(a)&&y[a]&&y[a].hasRendered&&y[a].destroy(),k(s,"data-highcharts-chart",this.index),s.innerHTML="",r.skipClone||s.offsetWidth||this.temporaryDisplay(),this.getChartSize(),a=this.chartWidth;var h=this.chartHeight;if(T(s,{overflow:"hidden"}),this.styledMode||(t=D({position:"relative",overflow:"hidden",width:a+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},r.style||{})),this.container=s=A("div",{id:n},t,s),this._cursor=s.style.cursor,this.renderer=new(o[r.renderer]||o.Renderer)(s,a,h,null,r.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),g(void 0,this),this.setClassName(r.className),this.styledMode)for(e in i.defs)this.renderer.definition(i.defs[e]);else this.renderer.setStyle(r.style);this.renderer.chartIndex=this.index,I(this,"afterGetContainer")},t.prototype.getMargins=function(t){var e=this.spacing,i=this.margin,o=this.titleOffset;this.resetMargins(),o[0]&&!P(i[0])&&(this.plotTop=Math.max(this.plotTop,o[0]+e[0])),o[2]&&!P(i[2])&&(this.marginBottom=Math.max(this.marginBottom,o[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),I(this,"getMargins"),t||this.getAxisMargins()},t.prototype.getAxisMargins=function(){var t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,o=t.margin,r=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),K.forEach(function(i,r){P(o[r])||(t[i]+=e[r])}),t.setChartSize()},t.prototype.reflow=function(t){var e=this,i=e.options.chart,o=e.renderTo,r=P(i.width)&&P(i.height),s=i.width||_(o,"width");i=i.height||_(o,"height"),o=t?t.target:x,delete e.pointer.chartPosition,r||e.isPrinting||!s||!i||o!==x&&o!==v||(s===e.containerWidth&&i===e.containerHeight||(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerWidth=s,e.containerHeight=i)},t.prototype.setReflow=function(t){var e=this;!1===t||this.unbindReflow?!1===t&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=S(x,"resize",function(t){e.options&&e.reflow(t)}),S(this,"destroy",this.unbindReflow))},t.prototype.setSize=function(t,e,i){var o=this,r=o.renderer;o.isResizing+=1,g(i,o),i=r.globalAnimation,o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,void 0!==t&&(o.options.chart.width=t),void 0!==e&&(o.options.chart.height=e),o.getChartSize(),o.styledMode||(i?u:T)(o.container,{width:o.chartWidth+"px",height:o.chartHeight+"px"},i),o.setChartSize(!0),r.setSize(o.chartWidth,o.chartHeight,i),o.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(i),o.oldChartHeight=null,I(o,"resize"),Z(function(){o&&I(o,"endResize",null,function(){--o.isResizing})},f(i).duration)},t.prototype.setChartSize=function(t){var e,i,o,r,s=this.inverted,n=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=o=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=s?r:o,this.plotSizeY=s?o:r,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=n.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=n.plotBox={x:e,y:i,width:o,height:r},h=2*Math.floor(this.plotBorderWidth/2),s=Math.ceil(Math.max(h,d[3])/2),a=Math.ceil(Math.max(h,d[0])/2),this.clipBox={x:s,y:a,width:Math.floor(this.plotSizeX-Math.max(h,d[1])/2-s),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(h,d[2])/2-a))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),n.alignElements()),I(this,"afterSetChartSize",{skipAxes:t})},t.prototype.resetMargins=function(){I(this,"resetMargins");var t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){var o=e[i],r=N(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(o,s){t[i][s]=X(e[i+o],r[s])})}),K.forEach(function(e,i){t[e]=X(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},t.prototype.drawChartBox=function(){var t,e=this.options.chart,i=this.renderer,o=this.chartWidth,r=this.chartHeight,s=this.chartBackground,n=this.plotBackground,a=this.plotBorder,h=this.styledMode,l=this.plotBGImage,c=e.backgroundColor,d=e.plotBackgroundColor,p=e.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,g=this.plotWidth,m=this.plotHeight,y=this.plotBox,v=this.clipRect,x=this.clipBox,b="animate";if(s||(this.chartBackground=s=i.rect().addClass("highcharts-background").add(),b="attr"),h)var w=t=s.strokeWidth();else t=(w=e.borderWidth||0)+(e.shadow?8:0),c={fill:c||"none"},(w||s["stroke-width"])&&(c.stroke=e.borderColor,c["stroke-width"]=w),s.attr(c).shadow(e.shadow);s[b]({x:t/2,y:t/2,width:o-t-w%2,height:r-t-w%2,r:e.borderRadius}),b="animate",n||(b="attr",this.plotBackground=n=i.rect().addClass("highcharts-plot-background").add()),n[b](y),h||(n.attr({fill:d||"none"}).shadow(e.plotShadow),p&&(l?(p!==l.attr("href")&&l.attr("href",p),l.animate(y)):this.plotBGImage=i.image(p,u,f,g,m).add())),v?v.animate({width:x.width,height:x.height}):this.clipRect=i.clipRect(x),b="animate",a||(b="attr",this.plotBorder=a=i.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),h||a.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:"none"}),a[b](a.crisp({x:u,y:f,width:g,height:m},-a.strokeWidth())),this.isDirtyBox=!1,I(this,"afterDrawChartBox")},t.prototype.propFromSeries=function(){var t,e,i,o=this,r=o.options.chart,s=o.options.series;["inverted","angular","polar"].forEach(function(n){for(t=C[r.type||r.defaultSeriesType],i=r[n]||t&&t.prototype[n],e=s&&s.length;!i&&e--;)(t=C[s[e].type])&&t.prototype[n]&&(i=!0);o[n]=i})},t.prototype.linkSeries=function(){var t=this,e=t.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options.linkedTo;G(i)&&(i=":previous"===i?t.series[e.index-1]:t.get(i))&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,i.enabledDataSorting&&e.setDataSortingOptions(),e.visible=X(e.options.visible,i.options.visible,e.visible))}),I(this,"afterLinkSeries")},t.prototype.renderSeries=function(){this.series.forEach(function(t){t.translate(),t.render()})},t.prototype.renderLabels=function(){var t=this,e=t.options.labels;e.items&&e.items.forEach(function(i){var o=D(e.style,i.style),r=F(o.left)+t.plotLeft,s=F(o.top)+t.plotTop+12;delete o.left,delete o.top,t.renderer.text(i.html,r,s).attr({zIndex:2}).css(o).add()})},t.prototype.render=function(){var t=this.axes,e=this.colorAxis,i=this.renderer,o=this.options,s=0,n=function(t){t.forEach(function(t){t.visible&&t.render()})};this.setTitle(),this.legend=new r(this,o.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),o=this.plotWidth,t.some(function(t){if(t.horiz&&t.visible&&t.options.labels.enabled&&t.series.length)return s=21,!0});var a=this.plotHeight=Math.max(this.plotHeight-s,0);t.forEach(function(t){t.setScale()}),this.getAxisMargins();var h=1.1<o/this.plotWidth,l=1.05<a/this.plotHeight;(h||l)&&(t.forEach(function(t){(t.horiz&&h||!t.horiz&&l)&&t.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?n(t):e&&e.length&&n(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},t.prototype.addCredits=function(t){var e=this,i=W(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(x.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})},t.prototype.destroy=function(){var t,e=this,i=e.axes,r=e.series,s=e.container,n=s&&s.parentNode;for(I(e,"destroy"),e.renderer.forExport?E(y,e):y[e.index]=void 0,o.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Y(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=r.length;t--;)r[t]=r[t].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),s&&(s.innerHTML="",Y(s),n&&O(s)),H(e,function(t,i){delete e[i]})},t.prototype.firstRender=function(){var t=this,e=t.options;t.isReadyToRender&&!t.isReadyToRender()||(t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes(),(B(e.series)?e.series:[]).forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSeriesData(),I(t,"beforeRender"),h&&(t.pointer=o.hasTouch||!x.PointerEvent&&!x.MSPointerEvent?new h(t,e):new s(t,e)),t.render(),t.pointer.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0))},t.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),I(this,"load"),I(this,"render"),P(this.index)&&this.setReflow(this.options.chart.reflow),this.hasLoaded=!0},t.prototype.addSeries=function(t,e,i){var o,r=this;return t&&(e=X(e,!0),I(r,"addSeries",{options:t},function(){o=r.initSeries(t),r.isDirtyLegend=!0,r.linkSeries(),o.enabledDataSorting&&o.setData(t.data,!1),I(r,"afterAddSeries",{series:o}),e&&r.redraw(i)})),o},t.prototype.addAxis=function(t,e,i,o){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:o})},t.prototype.addColorAxis=function(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})},t.prototype.createAxis=function(t,i){var r="colorAxis"===t,s=i.redraw,n=i.animation;return t=W(i.axis,{index:this[t].length,isX:"xAxis"===t}),t=r?new o.ColorAxis(this,t):new e(this,t),r&&(this.isDirtyLegend=!0,this.axes.forEach(function(t){t.series=[]}),this.series.forEach(function(t){t.bindAxes(),t.isDirtyData=!0})),X(s,!0)&&this.redraw(n),t},t.prototype.showLoading=function(t){var e=this,i=e.options,o=e.loadingDiv,r=e.loadingSpan,s=i.loading,n=function(){o&&T(o,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})};o||(e.loadingDiv=o=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),r||(e.loadingSpan=r=A("span",{className:"highcharts-loading-inner"},null,o),S(e,"redraw",n)),o.className="highcharts-loading",p.setElementHTML(r,X(t,i.lang.loading,"")),e.styledMode||(T(o,D(s.style,{zIndex:10})),T(r,s.labelStyle),e.loadingShown||(T(o,{opacity:0,display:""}),u(o,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,n()},t.prototype.hideLoading=function(){var t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(e,{display:"none"})}})),this.loadingShown=!1},t.prototype.update=function(t,e,i,o){var r,s,n,a=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];if(I(a,"update",{options:t}),l||a.setResponsive(!1,!0),t=M(t,a.options),a.userOptions=W(a.userOptions,t),r=t.chart){if(W(!0,a.options.chart,r),"className"in r&&a.setClassName(r.className),"reflow"in r&&a.setReflow(r.reflow),"inverted"in r||"polar"in r||"type"in r){a.propFromSeries();var p=!0}"alignTicks"in r&&(p=!0),H(r,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(s=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(l?a.isDirtyBox=!0:n=!0)}),!a.styledMode&&"style"in r&&a.renderer.setStyle(r.style)}!a.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===w&&(this.time=new c(t.time)),W(!0,a.options.time,t.time)),H(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[h[i]]?a[h[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&W(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(s=!0)}),this.collectionsWithUpdate.forEach(function(e){if(t[e]){var o=[];a[e].forEach(function(t,e){t.options.isInternal||o.push(X(t.options.index,e))}),V(t[e]).forEach(function(t,r){var s,n=P(t.id);n&&(s=a.get(t.id)),!s&&a[e]&&(s=a[e][o?o[r]:r])&&n&&P(s.options.id)&&(s=void 0),s&&s.coll===e&&(s.update(t,!1),i&&(s.touched=!0)),!s&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})}}),d.forEach(function(t){t.chart&&t.remove(!1)}),p&&a.axes.forEach(function(t){t.update({},!1)}),s&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this),p=r&&r.width,G(r=r&&r.height)&&(r=U(r,p||a.chartWidth)),n||z(p)&&p!==a.chartWidth||z(r)&&r!==a.chartHeight?a.setSize(p,r,o):X(e,!0)&&a.redraw(o),I(a,"afterUpdate",{options:t,redraw:e,animation:o})},t.prototype.setSubtitle=function(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)},t.prototype.setCaption=function(t,e){this.applyDescription("caption",t),this.layOutTitles(e)},t.prototype.showResetZoom=function(){function t(){e.zoomOut()}var e=this,i=b.lang,o=e.options.chart.resetZoomButton,r=o.theme,s=r.states,n="chart"===o.relativeTo||"spacingBox"===o.relativeTo?null:"scrollablePlotBox";I(this,"beforeShowResetZoom",null,function(){e.resetZoomButton=e.renderer.button(i.resetZoom,null,null,t,r,s&&s.hover).attr({align:o.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(o.position,!1,n)}),I(this,"afterShowResetZoom")},t.prototype.zoomOut=function(){I(this,"selection",{resetSelection:!0},this.zoom)},t.prototype.zoom=function(t){var e,i=this,o=i.pointer,r=!1,s=i.inverted?o.mouseDownX:o.mouseDownY;!t||t.resetSelection?(i.axes.forEach(function(t){e=t.zoom()}),o.initiated=!1):t.xAxis.concat(t.yAxis).forEach(function(t){var n=t.axis,a=i.inverted?n.left:n.top,h=n.isXAxis,l=!1;(!h&&s>=a&&s<=(i.inverted?a+n.width:a+n.height)||h||!P(s))&&(l=!0),o[h?"zoomX":"zoomY"]&&l&&(e=n.zoom(t.min,t.max),n.displayBtn&&(r=!0))});var n=i.resetZoomButton;r&&!n?i.showResetZoom():!r&&N(n)&&(i.resetZoomButton=n.destroy()),e&&i.redraw(X(i.options.chart.animation,t&&t.animation,100>i.pointCount))},t.prototype.pan=function(t,e){var i,o=this,r=o.hoverPoints,s=o.options.chart,n=o.options.mapNavigation&&o.options.mapNavigation.enabled;e="object"==typeof e?e:{enabled:e,type:"x"},s&&s.panning&&(s.panning=e);var a=e.type;I(this,"pan",{originalEvent:t},function(){r&&r.forEach(function(t){t.setState()});var e=[1];"xy"===a?e=[1,0]:"y"===a&&(e=[0]),e.forEach(function(e){var r=o[e?"xAxis":"yAxis"][0],s=r.horiz,h=t[s?"chartX":"chartY"],l=o[s=s?"mouseDownX":"mouseDownY"],c=(r.pointRange||0)/2,d=r.reversed&&!o.inverted||!r.reversed&&o.inverted?-1:1,p=r.getExtremes(),u=r.toValue(l-h,!0)+c*d,f=(d=r.toValue(l+r.len-h,!0)-c*d)<u;l=f?d:u,u=f?u:d,d=r.hasVerticalPanning();var g=r.panningState;!d||e||g&&!g.isDirty||r.series.forEach(function(t){var e=t.getProcessedData(!0);e=t.getExtremes(e.yData,!0),g||(g={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),z(e.dataMin)&&z(e.dataMax)&&(g.startMin=Math.min(X(t.options.threshold,1/0),e.dataMin,g.startMin),g.startMax=Math.max(X(t.options.threshold,-1/0),e.dataMax,g.startMax))}),e=Math.min(X(g&&g.startMin,p.dataMin),c?p.min:r.toValue(r.toPixels(p.min)-r.minPixelPadding)),c=Math.max(X(g&&g.startMax,p.dataMax),c?p.max:r.toValue(r.toPixels(p.max)+r.minPixelPadding)),r.panningState=g,r.isOrdinal||(0<(d=e-l)&&(u+=d,l=e),0<(d=u-c)&&(u=c,l-=d),r.series.length&&l!==p.min&&u!==p.max&&l>=e&&u<=c&&(r.setExtremes(l,u,!1,!1,{trigger:"pan"}),o.resetZoomButton||n||l===e||u===c||!a.match("y")||(o.showResetZoom(),r.displayBtn=!1),i=!0),o[s]=h)}),i&&o.redraw(!1),T(o.container,{cursor:"move"})})},t}();return D($.prototype,{callbacks:[],collectionsWithInit:{xAxis:[$.prototype.addAxis,[!0]],yAxis:[$.prototype.addAxis,[!1]],series:[$.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),o.chart=function(t,e,i){return new $(t,e,i)},o.Chart=$,$}),e(i,"Mixins/LegendSymbol.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.merge,o=e.pick;return t.LegendSymbolMixin={drawRectangle:function(t,e){var i=t.symbolHeight,r=t.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(r?(t.symbolWidth-i)/2:0,t.baseline-i+1,r?i:t.symbolWidth,i,o(t.options.symbolRadius,i/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(t){var e=this.options,r=e.marker,s=t.symbolWidth,n=t.symbolHeight,a=n/2,h=this.chart.renderer,l=this.legendGroup;t=t.baseline-Math.round(.3*t.fontMetrics.b);var c={};this.chart.styledMode||(c={"stroke-width":e.lineWidth||0},e.dashStyle&&(c.dashstyle=e.dashStyle)),this.legendLine=h.path([["M",0,t],["L",s,t]]).addClass("highcharts-graph").attr(c).add(l),r&&!1!==r.enabled&&s&&(e=Math.min(o(r.radius,a),a),0===this.symbol.indexOf("url")&&(r=i(r,{width:n,height:n}),e=0),this.legendSymbol=r=h.symbol(this.symbol,s/2-e,t-e,2*e,2*e,r).addClass("highcharts-point").add(l),r.isMarker=!0)}}}),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=t.animObject,c=t.setAnimation,d=e.hasTouch,p=e.svg,u=e.win,f=o.defaultOptions,g=n.seriesTypes,m=h.addEvent,y=h.arrayMax,v=h.arrayMin,x=h.clamp,b=h.cleanRecursively,w=h.correctFloat,C=h.defined,S=h.erase,k=h.error,M=h.extend,A=h.find,T=h.fireEvent,P=h.getNestedProperty,O=h.isArray,E=h.isFunction,L=h.isNumber,D=h.isString,j=h.merge,I=h.objectEach,_=h.pick,B=h.removeEvent,R=h.splat,z=h.syncTimeout;return t=function(){function t(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return t.prototype.init=function(t,e){T(this,"init",{options:e});var i,o=this,r=t.series;this.eventOptions=this.eventOptions||{},this.eventsToUnbind=[],o.chart=t,o.options=o.setOptions(e);var s=o.options;o.linkedSeries=[],o.bindAxes(),M(o,{name:s.name,state:"",visible:!1!==s.visible,selected:!0===s.selected}),I(e=s.events,function(t,e){E(t)&&o.eventOptions[e]!==t&&(E(o.eventOptions[e])&&B(o,e,o.eventOptions[e]),o.eventOptions[e]=t,m(o,e,t))}),(e&&e.click||s.point&&s.point.events&&s.point.events.click||s.allowPointSelect)&&(t.runTrackerClick=!0),o.getColor(),o.getSymbol(),o.parallelArrays.forEach(function(t){o[t+"Data"]||(o[t+"Data"]=[])}),o.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),o._i=_(i&&i._i,-1)+1,o.opacity=o.options.opacity,t.orderSeries(this.insert(r)),s.dataSorting&&s.dataSorting.enabled?o.setDataSortingOptions():o.points||o.data||o.setData(s.data,!1),T(this,"afterInit")},t.prototype.is=function(t){return g[t]&&this instanceof g[t]},t.prototype.insert=function(t){var e,i=this.options.index;if(L(i)){for(e=t.length;e--;)if(i>=_(t[e].options.index,t[e]._i)){t.splice(e+1,0,this);break}-1===e&&t.unshift(this),e+=1}else t.push(this);return _(e,t.length-1)},t.prototype.bindAxes=function(){var t,e=this,i=e.options,o=e.chart;T(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){var s=0;o[r].forEach(function(o){t=o.options,(i[r]===s&&!t.isInternal||void 0!==i[r]&&i[r]===t.id||void 0===i[r]&&0===t.index)&&(e.insert(o.series),e[r]=o,o.isDirty=!0),t.isInternal||s++}),e[r]||e.optionalAxis===r||k(18,!0,o)})}),T(this,"afterBindAxes")},t.prototype.updateParallelArrays=function(t,e){var i=t.series,o=arguments,r=L(e)?function(o){var r="y"===o&&i.toYData?i.toYData(t):t[o];i[o+"Data"][e]=r}:function(t){Array.prototype[e].apply(i[t+"Data"],Array.prototype.slice.call(o,2))};i.parallelArrays.forEach(r)},t.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},t.prototype.autoIncrement=function(){var t,e=this.options,i=this.xIncrement,o=e.pointIntervalUnit,r=this.chart.time;return i=_(i,e.pointStart,0),this.pointInterval=t=_(this.pointInterval,e.pointInterval,1),o&&(e=new r.Date(i),"day"===o?r.set("Date",e,r.get("Date",e)+t):"month"===o?r.set("Month",e,r.get("Month",e)+t):"year"===o&&r.set("FullYear",e,r.get("FullYear",e)+t),t=e.getTime()-i),this.xIncrement=i+t,i},t.prototype.setDataSortingOptions=function(){var t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)},t.prototype.setOptions=function(t){var e=this.chart,i=e.options,o=i.plotOptions,r=e.userOptions||{};t=j(t),e=e.styledMode;var s={plotOptions:o,userOptions:t};T(this,"setOptions",s);var n=s.plotOptions[this.type],a=r.plotOptions||{};return this.userOptions=s.userOptions,r=j(n,o.series,r.plotOptions&&r.plotOptions[this.type],t),this.tooltipOptions=j(f.tooltip,f.plotOptions.series&&f.plotOptions.series.tooltip,f.plotOptions[this.type].tooltip,i.tooltip.userOptions,o.series&&o.series.tooltip,o[this.type].tooltip,t.tooltip),this.stickyTracking=_(t.stickyTracking,a[this.type]&&a[this.type].stickyTracking,a.series&&a.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||r.stickyTracking),null===n.marker&&delete r.marker,this.zoneAxis=r.zoneAxis,i=this.zones=(r.zones||[]).slice(),!r.negativeColor&&!r.negativeFillColor||r.zones||(o={value:r[this.zoneAxis+"Threshold"]||r.threshold||0,className:"highcharts-negative"},e||(o.color=r.negativeColor,o.fillColor=r.negativeFillColor),i.push(o)),i.length&&C(i[i.length-1].value)&&i.push(e?{}:{color:this.color,fillColor:this.fillColor}),T(this,"afterSetOptions",{options:r}),r},t.prototype.getName=function(){return _(this.options.name,"Series "+(this.index+1))},t.prototype.getCyclic=function(t,e,i){var o=this.chart,r=this.userOptions,s=t+"Index",n=t+"Counter",a=i?i.length:_(o.options.chart[t+"Count"],o[t+"Count"]);if(!e){var h=_(r[s],r["_"+s]);C(h)||(o.series.length||(o[n]=0),r["_"+s]=h=o[n]%a,o[n]+=1),i&&(e=i[h])}void 0!==h&&(this[s]=h),this[t]=e},t.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color=r.neutralColor20:this.getCyclic("color",this.options.color||f.plotOptions[this.type].color,this.chart.options.colors)},t.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},t.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},t.prototype.findPointIndex=function(t,e){var i,o=t.id,r=t.x,s=this.points,n=this.options.dataSorting;if(o)var a=this.chart.get(o);else if(this.linkedParent||this.enabledDataSorting){var h=n&&n.matchByName?"name":"index";if(!(a=A(s,function(e){return!e.touched&&e[h]===t[h]})))return}if(a){var l=a&&a.index;void 0!==l&&(i=!0)}return void 0===l&&L(r)&&(l=this.xData.indexOf(r,e)),-1!==l&&void 0!==l&&this.cropped&&(l=l>=this.cropStart?l-this.cropStart:l),!i&&s[l]&&s[l].touched&&(l=void 0),l},t.prototype.updateData=function(t,e){var i,o,r,s=this.options,n=s.dataSorting,a=this.points,h=[],l=this.requireSorting,c=t.length===a.length,d=!0;if(this.xIncrement=null,t.forEach(function(t,e){var o=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},d=o.x;o.id||L(d)?(-1===(d=this.findPointIndex(o,r))||void 0===d?h.push(t):a[d]&&t!==s.data[d]?(a[d].update(t,!1,null,!1),a[d].touched=!0,l&&(r=d+1)):a[d]&&(a[d].touched=!0),(!c||e!==d||n&&n.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)},this),i)for(t=a.length;t--;)(o=a[t])&&!o.touched&&o.remove&&o.remove(!1,e);else!c||n&&n.enabled?d=!1:(t.forEach(function(t,e){a[e].update&&t!==a[e].y&&a[e].update(t,!1,null,!1)}),h.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!d&&(h.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)},t.prototype.setData=function(t,e,i,o){var r,s=this,n=s.points,a=n&&n.length||0,h=s.options,l=s.chart,c=h.dataSorting,d=null,p=s.xAxis;d=h.turboThreshold;var u,f=this.xData,g=this.yData,m=(r=s.pointArrayMap)&&r.length,y=h.keys,v=0,x=1;if(r=(t=t||[]).length,e=_(e,!0),c&&c.enabled&&(t=this.sortData(t)),!1!==o&&r&&a&&!s.cropped&&!s.hasGroupedData&&s.visible&&!s.isSeriesBoosting&&(u=this.updateData(t,i)),!u){if(s.xIncrement=null,s.colorCounter=0,this.parallelArrays.forEach(function(t){s[t+"Data"].length=0}),d&&r>d)if(d=s.getFirstValidPoint(t),L(d))for(i=0;i<r;i++)f[i]=this.autoIncrement(),g[i]=t[i];else if(O(d))if(m)for(i=0;i<r;i++)f[i]=(o=t[i])[0],g[i]=o.slice(1,m+1);else for(y&&(v=0<=(v=y.indexOf("x"))?v:0,x=0<=(x=y.indexOf("y"))?x:1),i=0;i<r;i++)f[i]=(o=t[i])[v],g[i]=o[x];else k(12,!1,l);else for(i=0;i<r;i++)void 0!==t[i]&&(s.pointClass.prototype.applyOptions.apply(o={series:s},[t[i]]),s.updateParallelArrays(o,i));for(g&&D(g[0])&&k(14,!0,l),s.data=[],s.options.data=s.userOptions.data=t,i=a;i--;)n[i]&&n[i].destroy&&n[i].destroy();p&&(p.minRange=p.userMinRange),s.isDirty=l.isDirtyBox=!0,s.isDirtyData=!!n,i=!1}"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)},t.prototype.sortData=function(t){var e=this,i=e.options.dataSorting.sortKey||"y",o=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,r){t[r]=o(e,i),t[r].index=r},this),t.concat().sort(function(t,e){return t=P(i,t),(e=P(i,e))<t?-1:e>t?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){var i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,s){r[s]=o(e,i),t[s]&&(r[s].x=t[s].x,r[s].index=s)}),e.setData(r,!1))}),t},t.prototype.getProcessedData=function(t){var e=this.xData,i=this.yData,o=e.length,r=0,s=this.xAxis,n=this.options,a=n.cropThreshold,h=t||this.getExtremesFromAll||n.getExtremesFromAll,l=this.isCartesian;t=s&&s.val2lin,n=!(!s||!s.logarithmic);var c=this.requireSorting;if(s)var d=(s=s.getExtremes()).min,p=s.max;if(l&&this.sorted&&!h&&(!a||o>a||this.forceCrop))if(e[o-1]<d||e[0]>p)e=[],i=[];else if(this.yData&&(e[0]<d||e[o-1]>p)){e=(r=this.cropData(this.xData,this.yData,d,p)).xData,i=r.yData,r=r.start;var u=!0}for(a=e.length||1;--a;)if(0<(o=n?t(e[a])-t(e[a-1]):e[a]-e[a-1])&&(void 0===f||o<f))var f=o;else 0>o&&c&&(k(15,!1,this.chart),c=!1);return{xData:e,yData:i,cropped:u,cropStart:r,closestPointRange:f}},t.prototype.processData=function(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;t=this.getProcessedData(),this.cropped=t.cropped,this.cropStart=t.cropStart,this.processedXData=t.xData,this.processedYData=t.yData,this.closestPointRange=this.basePointRange=t.closestPointRange},t.prototype.cropData=function(t,e,i,o,r){var s,n=t.length,a=0,h=n;for(r=_(r,this.cropShoulder),s=0;s<n;s++)if(t[s]>=i){a=Math.max(0,s-r);break}for(i=s;i<n;i++)if(t[i]>o){h=i+r;break}return{xData:t.slice(a,h),yData:e.slice(a,h),start:a,end:h}},t.prototype.generatePoints=function(){var t,e,i=this.options,o=i.data,r=this.data,s=this.processedXData,n=this.processedYData,a=this.pointClass,h=s.length,l=this.cropStart||0,c=this.hasGroupedData,d=i.keys,p=[];for(i=i.dataGrouping&&i.dataGrouping.groupAll?l:0,r||c||((r=[]).length=o.length,r=this.data=r),d&&c&&(this.options.keys=!1),e=0;e<h;e++){var u=l+e;if(c){var f=(new a).init(this,[s[e]].concat(R(n[e])));f.dataGroup=this.groupMap[i+e],f.dataGroup.options&&(f.options=f.dataGroup.options,M(f,f.dataGroup.options),delete f.dataLabels)}else(f=r[u])||void 0===o[u]||(r[u]=f=(new a).init(this,o[u],s[e]));f&&(f.index=c?i+e:u,p[e]=f)}if(this.options.keys=d,r&&(h!==(t=r.length)||c))for(e=0;e<t;e++)e!==l||c||(e+=h),r[e]&&(r[e].destroyElements(),r[e].plotX=void 0);this.data=r,this.points=p,T(this,"afterGeneratePoints")},t.prototype.getXExtremes=function(t){return{min:v(t),max:y(t)}},t.prototype.getExtremes=function(t,e){var i,o=this.xAxis,r=this.yAxis,s=this.processedXData||this.xData,n=[],a=0,h=0,l=0,c=this.requireSorting?this.cropShoulder:0,d=!!r&&r.positiveValuesOnly;for(r=(t=t||this.stackedYData||this.processedYData||[]).length,o&&(h=(l=o.getExtremes()).min,l=l.max),i=0;i<r;i++){var p=s[i],u=t[i],f=(L(u)||O(u))&&(u.length||0<u||!d);if(p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!o||(s[i+c]||p)>=h&&(s[i-c]||p)<=l,f&&p)if(f=u.length)for(;f--;)L(u[f])&&(n[a++]=u[f]);else n[a++]=u}return t={dataMin:v(n),dataMax:y(n)},T(this,"afterGetExtremes",{dataExtremes:t}),t},t.prototype.applyExtremes=function(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t},t.prototype.getFirstValidPoint=function(t){for(var e=null,i=t.length,o=0;null===e&&o<i;)e=t[o],o++;return e},t.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var t,e,i=this.options,o=i.stacking,r=this.xAxis,s=r.categories,n=this.enabledDataSorting,a=this.yAxis,h=this.points,l=h.length,c=!!this.modifyValue,d=this.pointPlacementToXValue(),p=!!d,u=i.threshold,f=i.startFromThreshold?u:0,g=this.zoneAxis||"y",m=Number.MAX_VALUE;for(t=0;t<l;t++){var y=h[t],v=y.x,b=y.y,S=y.low,k=o&&a.stacking&&a.stacking.stacks[(this.negStacks&&b<(f?0:u)?"-":"")+this.stackKey],M=void 0,A=void 0;if((a.positiveValuesOnly&&!a.validatePositiveValue(b)||r.positiveValuesOnly&&!r.validatePositiveValue(v))&&(y.isNull=!0),y.plotX=e=w(x(r.translate(v,0,0,0,1,d,"flags"===this.type),-1e5,1e5)),o&&this.visible&&k&&k[v]){var P=this.getStackIndicator(P,v,this.index);y.isNull||(A=(M=k[v]).points[P.key])}if(O(A)&&(b=A[1],(S=A[0])===f&&P.key===k[v].base&&(S=_(L(u)&&u,a.min)),a.positiveValuesOnly&&0>=S&&(S=null),y.total=y.stackTotal=M.total,y.percentage=M.total&&y.y/M.total*100,y.stackY=b,this.irregularWidths||M.setOffset(this.pointXOffset||0,this.barW||0)),y.yBottom=C(S)?x(a.translate(S,0,1,0,1),-1e5,1e5):null,c&&(b=this.modifyValue(b,y)),y.plotY=void 0,L(b)&&void 0!==(b=a.translate(b,!1,!0,!1,!0))&&(y.plotY=x(b,-1e5,1e5)),y.isInside=this.isPointInside(y),y.clientX=p?w(r.translate(v,0,0,0,1,d)):e,y.negative=y[g]<(i[g+"Threshold"]||u||0),y.category=s&&void 0!==s[y.x]?s[y.x]:y.x,!y.isNull&&!1!==y.visible){void 0!==E&&(m=Math.min(m,Math.abs(e-E)));var E=e}y.zone=this.zones.length&&y.getZone(),!y.graphic&&this.group&&n&&(y.isNew=!0)}this.closestPointRangePx=m,T(this,"afterTranslate")},t.prototype.getValidPoints=function(t,e,i){var o=this.chart;return(t||this.points||[]).filter(function(t){return!(e&&!o.isInsidePlot(t.plotX,t.plotY,{inverted:o.inverted}))&&!1!==t.visible&&(i||!t.isNull)})},t.prototype.getClipBox=function(t,e){var i=this.chart,o=this.xAxis,r=o&&this.yAxis,s=i.options.chart.scrollablePlotArea||{};return t&&!1===this.options.clip&&r?t=i.inverted?{y:-i.chartWidth+r.len+r.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+o.len+o.pos}:{y:-r.pos,height:i.chartHeight,width:i.chartWidth,x:-o.pos}:(t=this.clipBox||i.clipBox,e&&(t.width=i.plotSizeX,t.x=(i.scrollablePixelsX||0)*(s.scrollPositionX||0))),e?{width:t.width,x:t.x}:t},t.prototype.getSharedClipKey=function(t){if(this.sharedClipKey)return this.sharedClipKey;var e=[t&&t.duration,t&&t.easing,t&&t.defer,this.getClipBox(t).height,this.options.xAxis,this.options.yAxis].join();return(!1!==this.options.clip||t)&&(this.sharedClipKey=e),e},t.prototype.setClip=function(t){var e=this.chart,i=this.options,o=e.renderer,r=e.inverted,s=this.clipBox,n=this.getClipBox(t),a=this.getSharedClipKey(t),h=e.sharedClips[a],l=e.sharedClips[a+"m"];t&&(n.width=0,r&&(n.x=e.plotHeight+(!1!==i.clip?0:e.plotTop))),h?e.hasLoaded||h.attr(n):(t&&(e.sharedClips[a+"m"]=l=o.clipRect(r?(e.plotSizeX||0)+99:-99,r?-e.plotLeft:-e.plotTop,99,r?e.chartWidth:e.chartHeight)),e.sharedClips[a]=h=o.clipRect(n),h.count={length:0}),t&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1),(!1!==i.clip||t)&&(this.group.clip(t||s?h:e.clipRect),this.markerGroup.clip(l)),t||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&(s||(e.sharedClips[a]=h.destroy()),l&&(e.sharedClips[a+"m"]=l.destroy())))},t.prototype.animate=function(t){var e=this.chart,i=l(this.options.animation),o=this.sharedClipKey;if(t)this.setClip(i);else if(o){t=e.sharedClips[o],o=e.sharedClips[o+"m"];var r=this.getClipBox(i,!0);t&&t.animate(r,i),o&&o.animate({width:r.width+99,x:r.x-(e.inverted?0:99)},i)}},t.prototype.afterAnimate=function(){this.setClip(),T(this,"afterAnimate"),this.finishedAnimating=!0},t.prototype.drawPoints=function(){var t,e,i=this.points,o=this.chart,r=this.options.marker,s=this[this.specialGroup]||this.markerGroup,n=this.xAxis,a=_(r.enabled,!(n&&!n.isRadial)||null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(t=0;t<i.length;t++){var h=i[t],l=(e=h.graphic)?"animate":"attr",c=h.marker||{},d=!!h.marker;if((a&&void 0===c.enabled||c.enabled)&&!h.isNull&&!1!==h.visible){var p=_(c.symbol,this.symbol),u=this.markerAttribs(h,h.selected&&"select");this.enabledDataSorting&&(h.startXPos=n.reversed?-(u.width||0):n.width);var f=!1!==h.isInside;e?e[f?"show":"hide"](f).animate(u):f&&(0<(u.width||0)||h.hasImage)&&(h.graphic=e=o.renderer.symbol(p,u.x,u.y,u.width,u.height,d?c:r).add(s),this.enabledDataSorting&&o.hasRendered&&(e.attr({x:h.startXPos}),l="animate")),e&&"animate"===l&&e[f?"show":"hide"](f).animate(u),e&&!o.styledMode&&e[l](this.pointAttribs(h,h.selected&&"select")),e&&e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())}},t.prototype.markerAttribs=function(t,e){var i=this.options,o=i.marker,r=t.marker||{},s=r.symbol||o.symbol,n=_(r.radius,o.radius);return e&&(o=o.states[e],n=_((e=r.states&&r.states[e])&&e.radius,o&&o.radius,n+(o&&o.radiusPlus||0))),t.hasImage=s&&0===s.indexOf("url"),t.hasImage&&(n=0),t={x:i.crisp?Math.floor(t.plotX-n):t.plotX-n,y:t.plotY-n},n&&(t.width=t.height=2*n),t},t.prototype.pointAttribs=function(t,e){var i=this.options.marker,o=t&&t.options,r=o&&o.marker||{},s=this.color,n=o&&o.color,a=t&&t.color;o=_(r.lineWidth,i.lineWidth);var h=t&&t.zone&&t.zone.color;return t=1,s=n||h||a||s,n=r.fillColor||i.fillColor||s,s=r.lineColor||i.lineColor||s,i=i.states[e=e||"normal"],o=_((e=r.states&&r.states[e]||{}).lineWidth,i.lineWidth,o+_(e.lineWidthPlus,i.lineWidthPlus,0)),{stroke:s=e.lineColor||i.lineColor||s,"stroke-width":o,fill:n=e.fillColor||i.fillColor||n,opacity:t=_(e.opacity,i.opacity,t)}},t.prototype.destroy=function(t){var e,i,o,r=this,s=r.chart,n=/AppleWebKit\/533/.test(u.navigator.userAgent),l=r.data||[];for(T(r,"destroy"),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(o=r[t])&&o.series&&(S(o.series,r),o.isDirty=o.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=l.length;e--;)(i=l[e])&&i.destroy&&i.destroy();r.clips&&r.clips.forEach(function(t){return t.destroy()}),h.clearTimeout(r.animationTimeout),I(r,function(t,e){t instanceof a&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),s.hoverSeries===r&&(s.hoverSeries=void 0),S(s.series,r),s.orderSeries(),I(r,function(e,i){t&&"hcEvents"===i||delete r[i]})},t.prototype.applyZones=function(){var t,e,i,o,r,s,n,a,h=this,l=this.chart,c=l.renderer,d=this.zones,p=this.clips||[],u=this.graph,f=this.area,g=Math.max(l.chartWidth,l.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],y=l.inverted,v=!1;if(d.length&&(u||f)&&m&&void 0!==m.min){var b=m.reversed,w=m.horiz;u&&!this.showLine&&u.hide(),f&&f.hide();var C=m.getExtremes();d.forEach(function(d,S){t=b?w?l.plotWidth:0:w?0:m.toPixels(C.min)||0,t=x(_(e,t),0,g),e=x(Math.round(m.toPixels(_(d.value,C.max),!0)||0),0,g),v&&(t=e=m.toPixels(C.max)),o=Math.abs(t-e),r=Math.min(t,e),s=Math.max(t,e),m.isXAxis?(i={x:y?s:r,y:0,width:o,height:g},w||(i.x=l.plotHeight-i.x)):(i={x:0,y:y?s:r,width:g,height:o},w&&(i.y=l.plotWidth-i.y)),y&&c.isVML&&(i=m.isXAxis?{x:0,y:b?r:s,height:i.width,width:l.chartWidth}:{x:i.y-l.plotLeft-l.spacingBox.x,y:0,width:i.height,height:l.chartHeight}),p[S]?p[S].animate(i):p[S]=c.clipRect(i),n=h["zone-area-"+S],a=h["zone-graph-"+S],u&&a&&a.clip(p[S]),f&&n&&n.clip(p[S]),v=d.value>C.max,h.resetZones&&0===e&&(e=void 0)}),this.clips=p}else h.visible&&(u&&u.show(!0),f&&f.show(!0))},t.prototype.invertGroups=function(t){function e(){["group","markerGroup"].forEach(function(e){i[e]&&(o.renderer.isVML&&i[e].attr({width:i.yAxis.len,height:i.xAxis.len}),i[e].width=i.yAxis.len,i[e].height=i.xAxis.len,i[e].invert(!i.isRadialSeries&&t))})}var i=this,o=i.chart;i.xAxis&&(i.eventsToUnbind.push(m(o,"resize",e)),e(),i.invertGroups=e)},t.prototype.plotGroup=function(t,e,i,o,r){var s=this[t],n=!s;return i={visibility:i,zIndex:o||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(i.opacity=this.opacity),n&&(this[t]=s=this.chart.renderer.g().add(r)),s.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(s.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),s.attr(i)[n?"attr":"animate"](this.getPlotBox()),s},t.prototype.getPlotBox=function(){var t=this.chart,e=this.xAxis,i=this.yAxis;return t.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:t.plotLeft,translateY:i?i.top:t.plotTop,scaleX:1,scaleY:1}},t.prototype.removeEvents=function(t){t||B(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind.length=0)},t.prototype.render=function(){var t=this,e=t.chart,i=t.options,o=l(i.animation),r=!t.finishedAnimating&&e.renderer.isSVG&&o.duration,s=t.visible?"inherit":"hidden",n=i.zIndex,a=t.hasRendered,h=e.seriesGroup,c=e.inverted;T(this,"render");var d=t.plotGroup("group","series",s,n,h);t.markerGroup=t.plotGroup("markerGroup","markers",s,n,h),r&&t.animate&&t.animate(!0),d.inverted=!!_(t.invertible,t.isCartesian)&&c,t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels&&t.drawDataLabels(),t.redrawPoints&&t.redrawPoints(),t.drawTracker&&!1!==t.options.enableMouseTracking&&t.drawTracker(),t.invertGroups(c),!1===i.clip||t.sharedClipKey||a||d.clip(e.clipRect),r&&t.animate&&t.animate(),a||(r&&o.defer&&(r+=o.defer),t.animationTimeout=z(function(){t.afterAnimate()},r||0)),t.isDirty=!1,t.hasRendered=!0,T(t,"afterRender")},t.prototype.redraw=function(){var t=this.chart,e=this.isDirty||this.isDirtyData,i=this.group,o=this.xAxis,r=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:_(o&&o.left,t.plotLeft),translateY:_(r&&r.top,t.plotTop)})),this.translate(),this.render(),e&&delete this.kdTree},t.prototype.searchPoint=function(t,e){var i=this.xAxis,o=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?o.len-t.chartX+o.pos:t.chartY-o.pos},e,t)},t.prototype.buildKDTree=function(t){function e(t,o,r){var s;if(s=t&&t.length){var n=i.kdAxisArray[o%r];return t.sort(function(t,e){return t[n]-e[n]}),{point:t[s=Math.floor(s/2)],left:e(t.slice(0,s),o+1,r),right:e(t.slice(s+1),o+1,r)}}}this.buildingKdTree=!0;var i=this,o=-1<i.options.findNearestPointBy.indexOf("y")?2:1;delete i.kdTree,z(function(){i.kdTree=e(i.getValidPoints(null,!i.directTouch),o,o),i.buildingKdTree=!1},i.options.kdNow||t&&"touchstart"===t.type?0:1)},t.prototype.searchKDTree=function(t,e,i){var o=this,r=this.kdAxisArray[0],s=this.kdAxisArray[1],n=e?"distX":"dist";if(e=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h){var l=i.point,c=o.kdAxisArray[a%h],d=l,p=C(e[r])&&C(l[r])?Math.pow(e[r]-l[r],2):null,u=C(e[s])&&C(l[s])?Math.pow(e[s]-l[s],2):null;return l.dist=C(u=(p||0)+(u||0))?Math.sqrt(u):Number.MAX_VALUE,l.distX=C(p)?Math.sqrt(p):Number.MAX_VALUE,p=0>(c=e[c]-l[c])?"right":"left",i[u=0>c?"left":"right"]&&(d=(u=t(e,i[u],a+1,h))[n]<d[n]?u:l),i[p]&&Math.sqrt(c*c)<d[n]&&(d=(e=t(e,i[p],a+1,h))[n]<d[n]?e:d),d}(t,this.kdTree,e,e)},t.prototype.pointPlacementToXValue=function(){var t=this.options,e=t.pointRange,i=this.xAxis;return"between"===(t=t.pointPlacement)&&(t=i.reversed?-.5:.5),L(t)?t*(e||i.pointRange):0},t.prototype.isPointInside=function(t){return void 0!==t.plotY&&void 0!==t.plotX&&0<=t.plotY&&t.plotY<=this.yAxis.len&&0<=t.plotX&&t.plotX<=this.xAxis.len},t.prototype.drawTracker=function(){var t=this,e=t.options,i=e.trackByArea,o=[].concat(i?t.areaPath:t.graphPath),r=t.chart,s=r.pointer,n=r.renderer,a=r.options.tooltip.snap,h=t.tracker,l=function(e){r.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(p?1e-4:.002)+")";h?h.attr({d:o}):t.graph&&(t.tracker=n.path(o).attr({visibility:t.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||t.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(function(t){t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(t){s.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),d)&&t.on("touchstart",l)})),T(this,"afterDrawTracker")},t.prototype.addPoint=function(t,e,i,o,r){var s=this.options,n=this.data,a=this.chart,h=this.xAxis;h=h&&h.hasNames&&h.names;var l,c=s.data,d=this.xData;e=_(e,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);var u=p.x,f=d.length;if(this.requireSorting&&u<d[f-1])for(l=!0;f&&d[f-1]>u;)f--;this.updateParallelArrays(p,"splice",f,0,0),this.updateParallelArrays(p,f),h&&p.name&&(h[u]=p.name),c.splice(f,0,t),l&&(this.data.splice(f,0,null),this.processData()),"point"===s.legendType&&this.generatePoints(),i&&(n[0]&&n[0].remove?n[0].remove(!1):(n.shift(),this.updateParallelArrays(p,"shift"),c.shift())),!1!==r&&T(this,"addPoint",{point:p}),this.isDirtyData=this.isDirty=!0,e&&a.redraw(o)},t.prototype.removePoint=function(t,e,i){var o=this,r=o.data,s=r[t],n=o.points,a=o.chart,h=function(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(s||{series:o},"splice",t,1),s&&s.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&a.redraw()};c(i,a),e=_(e,!0),s?s.firePointEvent("remove",null,h):h()},t.prototype.remove=function(t,e,i,o){function r(){s.destroy(o),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(),_(t,!0)&&n.redraw(e)}var s=this,n=s.chart;!1!==i?T(s,"remove",null,r):r()},t.prototype.update=function(t,e){t=b(t,this.userOptions),T(this,"update",{options:t});var i,o=this,r=o.chart,s=o.userOptions,n=o.initialType||o.type,a=r.options.plotOptions,h=t.type||s.type||r.options.chart.type,l=!(this.hasDerivedData||h&&h!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||o.hasOptionChanged("dataGrouping")||o.hasOptionChanged("pointStart")||o.hasOptionChanged("pointInterval")||o.hasOptionChanged("pointIntervalUnit")||o.hasOptionChanged("keys")),c=g[n].prototype,d=["eventOptions","navigatorSeries","baseSeries"],p=o.finishedAnimating&&{animation:!1},u={};if(h=h||n,l&&(d.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&d.push("area","graph"),o.parallelArrays.forEach(function(t){d.push(t+"Data")}),t.data&&(t.dataSorting&&M(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=j(s,p,{index:void 0===s.index?o.index:s.index,pointStart:_(a&&a.series&&a.series.pointStart,s.pointStart,o.xData[0])},!l&&{data:o.options.data},t),l&&t.data&&(t.data=o.options.data),(d=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(d)).forEach(function(t){d[t]=o[t],delete o[t]}),s=!1,g[h]){if(s=h!==o.type,o.remove(!1,!1,!1,!0),s)if(Object.setPrototypeOf)Object.setPrototypeOf(o,g[h].prototype);else{for(i in a=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents,c)o[i]=void 0;M(o,g[h].prototype),a?o.hcEvents=a:delete o.hcEvents}}else k(17,!0,r,{missingModuleFor:h});if(d.forEach(function(t){o[t]=d[t]}),o.init(r,t),l&&this.points){var f=o.options;!1===f.visible?(u.graphic=1,u.dataLabel=1):o._hasPointLabels||(h=f.dataLabels,(t=f.marker)&&(!1===t.enabled||"symbol"in t)&&(u.graphic=1),h&&!1===h.enabled&&(u.dataLabel=1)),this.points.forEach(function(t){t&&t.series&&(t.resolveColor(),Object.keys(u).length&&t.destroyElements(u),!1===f.showInLegend&&t.legendItem&&r.legend.destroyItem(t))},this)}o.initialType=n,r.linkSeries(),s&&o.linkedSeries.length&&(o.isDirtyData=!0),T(this,"afterUpdate"),_(e,!0)&&r.redraw(!!l&&void 0)},t.prototype.setName=function(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0},t.prototype.hasOptionChanged=function(t){var e=this.options[t],i=this.chart.options.plotOptions,o=this.userOptions[t];return o?e!==o:e!==_(i&&i[this.type]&&i[this.type][t],i&&i.series&&i.series[t],e)},t.prototype.onMouseOver=function(){var t=this.chart,e=t.hoverSeries;t.pointer.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&T(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},t.prototype.onMouseOut=function(){var t=this.options,e=this.chart,i=e.tooltip,o=e.hoverPoint;e.hoverSeries=null,o&&o.onMouseOut(),this&&t.events.mouseOut&&T(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})},t.prototype.setState=function(t,e){var i=this,o=i.options,r=i.graph,s=o.inactiveOtherPoints,n=o.states,a=o.lineWidth,h=o.opacity,l=_(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation);if(o=0,i.state!==(t=t||"")&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),h=_(n[t].opacity,h)),r&&!r.dashstyle)for(r.animate(n={"stroke-width":a},l);i["zone-graph-"+o];)i["zone-graph-"+o].animate(n,l),o+=1;s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},l)})}e&&s&&i.points&&i.setAllPointsToState(t||void 0)},t.prototype.setAllPointsToState=function(t){this.points.forEach(function(e){e.setState&&e.setState(t)})},t.prototype.setVisible=function(t,e){var i=this,o=i.chart,r=i.legendItem,s=o.options.chart.ignoreHiddenSeries,n=(i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!i.visible:t)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(t){i[t]&&i[t][n]()}),o.hoverSeries!==i&&(o.hoverPoint&&o.hoverPoint.series)!==i||i.onMouseOut(),r&&o.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&o.series.forEach(function(t){t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(function(e){e.setVisible(t,!1)}),s&&(o.isDirtyBox=!0),T(i,n),!1!==e&&o.redraw()},t.prototype.show=function(){this.setVisible(!0)},t.prototype.hide=function(){this.setVisible(!1)},t.prototype.select=function(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),T(this,t?"select":"unselect")},t.prototype.shouldShowTooltip=function(t,e,i){return void 0===i&&(i={}),i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)},t.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:r.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:r.neutralColor20,lineColor:r.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},t}(),M(t.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:i.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:s,requireSorting:!0,sorted:!0}),n.series=t,t}),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Series/Series.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.stop,a=s.addEvent,h=s.createElement,l=s.merge,c=s.pick;a(i,"afterSetChartSize",function(t){var e=this.options.chart.scrollablePlotArea,i=e&&e.minWidth;if(e=e&&e.minHeight,!this.renderer.forExport){if(i){if(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.width=this.plotWidth+=i,this.inverted?this.clipBox.height+=i:this.clipBox.width+=i;var o={1:{name:"right",value:i}}}}else e&&(this.scrollablePixelsY=i=Math.max(0,e-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.height=this.plotHeight+=i,this.inverted?this.clipBox.width+=i:this.clipBox.height+=i,o={2:{name:"bottom",value:i}});o&&!t.skipAxes&&this.axes.forEach(function(t){o[t.side]?t.getPlotLinePath=function(){var e=o[t.side].name,i=this[e];this[e]=i-o[t.side].value;var s=r.Axis.prototype.getPlotLinePath.apply(this,arguments);return this[e]=i,s}:(t.setAxisSize(),t.setAxisTranslation())})}}),a(i,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),i.prototype.setUpScrolling=function(){var t=this,e={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(e.overflowX="auto"),this.scrollablePixelsY&&(e.overflowY="auto"),this.scrollingParent=h("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=h("div",{className:"highcharts-scrolling"},e,this.scrollingParent),a(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition}),this.innerContainer=h("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},i.prototype.moveFixedElements=function(){var t,e=this.container,i=this.fixedRenderer,o=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis"),t&&o.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),o.forEach(function(t){[].forEach.call(e.querySelectorAll(t),function(t){(t.namespaceURI===i.SVG_NS?i.box:i.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})})},i.prototype.applyFixed=function(){var t=!this.fixedDiv,e=this.options.chart,i=e.scrollablePlotArea;t?(this.fixedDiv=h("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new r.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":c(i.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a(this,"afterShowResetZoom",this.moveFixedElements),a(this,"afterDrilldown",this.moveFixedElements),a(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||t)&&(this.scrollableDirty=!1,this.moveFixedElements()),e=this.chartWidth+(this.scrollablePixelsX||0);var o=this.chartHeight+(this.scrollablePixelsY||0);n(this.container),this.container.style.width=e+"px",this.container.style.height=o+"px",this.renderer.boxWrapper.attr({width:e,height:o,viewBox:[0,0,e,o].join(" ")}),this.chartBackground.attr({width:e,height:o}),this.scrollingContainer.style.height=this.chartHeight+"px",t&&(i.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*i.scrollPositionX),i.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*i.scrollPositionY)),t=this.plotTop-(o=this.axisOffset)[0]-1,i=this.plotLeft-o[3]-1,e=this.plotTop+this.plotHeight+o[2]+1,o=this.plotLeft+this.plotWidth+o[1]+1;var s=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),l=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);t=this.scrollablePixelsX?[["M",0,t],["L",this.plotLeft-1,t],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",s,t],["L",this.chartWidth,t],["L",this.chartWidth,e],["L",s,e],["Z"]]:this.scrollablePixelsY?[["M",i,0],["L",i,this.plotTop-1],["L",o,this.plotTop-1],["L",o,0],["Z"],["M",i,l],["L",i,this.chartHeight],["L",o,this.chartHeight],["L",o,l],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:t})},a(e,"afterInit",function(){this.chart.scrollableDirty=!0}),a(o,"show",function(){this.chart.scrollableDirty=!0})}),e(i,"Core/Axis/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Utilities.js"]],function(t,e){var i=t.getDeferredAnimation,o=e.addEvent,r=e.destroyObjectProperties,s=e.fireEvent,n=e.isNumber,a=e.objectEach,h=function(){function t(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return t.prototype.buildStacks=function(){var t,e=this.axis,i=e.series,o=e.options.reversedStacks,r=i.length;if(!e.isXAxis){for(this.usePercentage=!1,t=r;t--;){var n=i[o?t:r-t-1];n.setStackedPoints(),n.setGroupedPoints()}for(t=0;t<r;t++)i[t].modifyStacks();s(e,"afterBuildStacks")}},t.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var t=this.stacks=this.oldStacks;a(t,function(t){a(t,function(t){t.cumulative=t.total})})}},t.prototype.resetStacks=function(){var t=this;this.axis.isXAxis||a(this.stacks,function(e){a(e,function(i,o){n(i.touched)&&i.touched<t.stacksTouched?(i.destroy(),delete e[o]):(i.total=null,i.cumulative=null)})})},t.prototype.renderStackTotals=function(){var t=this.axis,e=t.chart,o=e.renderer,r=this.stacks;t=i(e,t.options.stackLabels&&t.options.stackLabels.animation||!1);var s=this.stackTotalGroup=this.stackTotalGroup||o.g("stack-labels").attr({visibility:"visible",zIndex:6,opacity:0}).add();s.translate(e.plotLeft,e.plotTop),a(r,function(t){a(t,function(t){t.render(s)})}),s.animate({opacity:1},t)},t}();return function(){function t(){}return t.compose=function(e){o(e,"init",t.onInit),o(e,"destroy",t.onDestroy)},t.onDestroy=function(){var t=this.stacking;if(t){var e=t.stacks;a(e,function(t,i){r(t),e[i]=null}),t&&t.stackTotalGroup&&t.stackTotalGroup.destroy()}},t.onInit=function(){this.stacking||(this.stacking=new h(this))},t}()}),e(i,"Extensions/Stacking.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Axis/StackingAxis.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=i.format,h=n.correctFloat,l=n.defined,c=n.destroyObjectProperties,d=n.isArray,p=n.isNumber,u=n.objectEach,f=n.pick,g=function(){function t(t,e,i,o,r){var s=t.chart.inverted;this.axis=t,this.isNegative=i,this.options=e=e||{},this.x=o,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.rightCliff=this.leftCliff=0,this.alignOptions={align:e.align||(s?i?"left":"right":"center"),verticalAlign:e.verticalAlign||(s?"middle":i?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(s?i?"right":"left":"center")}return t.prototype.destroy=function(){c(this,this.axis)},t.prototype.render=function(t){var e=this.axis.chart,i=this.options,o=i.format;o=o?a(o,this,e):i.formatter.call(this),this.label?this.label.attr({text:o,visibility:"hidden"}):(this.label=e.renderer.label(o,null,null,i.shape,null,null,i.useHTML,!1,"stack-labels"),o={r:i.borderRadius||0,text:o,rotation:i.rotation,padding:f(i.padding,5),visibility:"hidden"},e.styledMode||(o.fill=i.backgroundColor,o.stroke=i.borderColor,o["stroke-width"]=i.borderWidth,this.label.css(i.style)),this.label.attr(o),this.label.added||this.label.add(t)),this.label.labelrank=e.plotSizeY},t.prototype.setOffset=function(t,e,i,o,s){var n=this.axis,a=n.chart;o=n.translate(n.stacking.usePercentage?100:o||this.total,0,0,0,1),i=n.translate(i||0),i=l(o)&&Math.abs(o-i),t=f(s,a.xAxis[0].translate(this.x))+t,n=l(o)&&this.getStackBox(a,this,t,o,e,i,n),e=this.label,i=this.isNegative,t="justify"===f(this.options.overflow,"justify");var h=this.textAlign;e&&n&&(s=e.getBBox(),o=e.padding,h="left"===h?a.inverted?-o:o:"right"===h?s.width:a.inverted&&"center"===h?s.width/2:a.inverted?i?s.width+o:-o:s.width/2,i=a.inverted?s.height/2:i?-o:s.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),n.x-=h,n.y-=i,e.align(this.alignOptions,null,n),a.isInsidePlot(e.alignAttr.x+h-this.alignOptions.x,e.alignAttr.y+i-this.alignOptions.y)?e.show():(e.alignAttr.y=-9999,t=!1),t&&r.prototype.justifyDataLabel.call(this.axis,e,this.alignOptions,e.alignAttr,s,n),e.attr({x:e.alignAttr.x,y:e.alignAttr.y}),f(!t&&this.options.crop,!0)&&((a=p(e.x)&&p(e.y)&&a.isInsidePlot(e.x-o+e.width,e.y)&&a.isInsidePlot(e.x+o,e.y))||e.hide()))},t.prototype.getStackBox=function(t,e,i,o,r,s,n){var a=e.axis.reversed,h=t.inverted,l=n.height+n.pos-(h?t.plotLeft:t.plotTop);return e=e.isNegative&&!a||!e.isNegative&&a,{x:h?e?o-n.right:o-s+n.pos-t.plotLeft:i+t.xAxis[0].transB-t.plotLeft,y:h?n.height-i-r:e?l-o-s:l-o,width:h?s:r,height:h?r:s}},t}();return e.prototype.getStacks=function(){var t=this,e=t.inverted;t.yAxis.forEach(function(t){t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),t.series.forEach(function(i){var o=i.xAxis&&i.xAxis.options||{};!i.options.stacking||!0!==i.visible&&!1!==t.options.chart.ignoreHiddenSeries||(i.stackKey=[i.type,f(i.options.stack,""),e?o.top:o.left,e?o.height:o.width].join())})},s.compose(t),r.prototype.setGroupedPoints=function(){var t=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?r.prototype.setStackedPoints.call(this,"group"):t&&u(t.stacks,function(e,i){"group"===i.slice(-5)&&(u(e,function(t){return t.destroy()}),delete t.stacks[i])})},r.prototype.setStackedPoints=function(t){var e=t||this.options.stacking;if(e&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var i=this.processedXData,o=this.processedYData,r=[],s=o.length,n=this.options,a=n.threshold,c=f(n.startFromThreshold&&a,0);n=n.stack;var p,u,m="-"+(t=t?this.type+","+e:this.stackKey),y=this.negStacks,v=this.yAxis,x=v.stacking.stacks,b=v.stacking.oldStacks;for(v.stacking.stacksTouched+=1,u=0;u<s;u++){var w=i[u],C=o[u],S=this.getStackIndicator(S,w,this.index),k=S.key,M=(p=y&&C<(c?0:a))?m:t;x[M]||(x[M]={}),x[M][w]||(b[M]&&b[M][w]?(x[M][w]=b[M][w],x[M][w].total=null):x[M][w]=new g(v,v.options.stackLabels,p,w,n)),M=x[M][w],null!==C?(M.points[k]=M.points[this.index]=[f(M.cumulative,c)],l(M.cumulative)||(M.base=k),M.touched=v.stacking.stacksTouched,0<S.index&&!1===this.singleStacks&&(M.points[k][0]=M.points[this.index+","+w+",0"][0])):M.points[k]=M.points[this.index]=null,"percent"===e?(p=p?t:m,M.total=y&&x[p]&&x[p][w]?(p=x[p][w]).total=Math.max(p.total,M.total)+Math.abs(C)||0:h(M.total+(Math.abs(C)||0))):"group"===e?(d(C)&&(C=C[0]),null!==C&&(M.total=(M.total||0)+1)):M.total=h(M.total+(C||0)),M.cumulative="group"===e?(M.total||1)-1:f(M.cumulative,c)+(C||0),null!==C&&(M.points[k].push(M.cumulative),r[u]=M.cumulative,M.hasValidPoints=!0)}"percent"===e&&(v.stacking.usePercentage=!0),"group"!==e&&(this.stackedYData=r),v.stacking.oldStacks={}}},r.prototype.modifyStacks=function(){var t,e=this,i=e.stackKey,o=e.yAxis.stacking.stacks,r=e.processedXData,s=e.options.stacking;e[s+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var n,a,h=r.length;h--;)t=e.getStackIndicator(t,n=r[h],e.index,i),(a=(n=o[i]&&o[i][n])&&n.points[t.key])&&e[s+"Stacker"](a,n,h)})},r.prototype.percentStacker=function(t,e,i){t[0]=h(t[0]*(e=e.total?100/e.total:0)),t[1]=h(t[1]*e),this.stackedYData[i]=t[1]},r.prototype.getStackIndicator=function(t,e,i,o){return!l(t)||t.x!==e||o&&t.key!==o?t={x:e,index:0,key:o}:t.index++,t.key=[i,e,t.index].join(),t},o.StackItem=g,o.StackItem}),e(i,"Series/Line/LineSeries.js",[i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.defined,n=o.merge;return o=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return r(o,i),o.prototype.drawGraph=function(){var e=this,i=this.options,o=(this.gappedPath||this.getGraphPath).call(this),r=this.chart.styledMode,s=[["graph","highcharts-graph"]];r||s[0].push(i.lineColor||this.color||t.neutralColor20,i.dashStyle),(s=e.getZonesGraphs(s)).forEach(function(t,s){var n=t[0],a=e[n],h=a?"animate":"attr";a?(a.endX=e.preventGraphAnimation?null:o.xMap,a.animate({d:o})):o.length&&(e[n]=a=e.chart.renderer.path(o).addClass(t[1]).attr({zIndex:1}).add(e.group)),a&&!r&&(n={stroke:t[2],"stroke-width":i.lineWidth,fill:e.fillGraph&&e.color||"none"},t[3]?n.dashstyle=t[3]:"square"!==i.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),a[h](n).shadow(2>s&&i.shadow)),a&&(a.startX=o.xMap,a.isArea=o.isArea)})},o.prototype.getGraphPath=function(t,e,i){var o,r,n=this,a=n.options,h=a.step,l=[],c=[];return(o=(t=t||n.points).reversed)&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&o&&(h=4-h),(t=this.getValidPoints(t,!1,!(a.connectNulls&&!e&&!i))).forEach(function(o,d){var p=o.plotX,u=o.plotY,f=t[d-1];(o.leftCliff||f&&f.rightCliff)&&!i&&(r=!0),o.isNull&&!s(e)&&0<d?r=!a.connectNulls:o.isNull&&!e?r=!0:(0===d||r?d=[["M",o.plotX,o.plotY]]:n.getPointSpline?d=[n.getPointSpline(t,o,d)]:h?(d=1===h?[["L",f.plotX,u]]:2===h?[["L",(f.plotX+p)/2,f.plotY],["L",(f.plotX+p)/2,u]]:[["L",p,f.plotY]]).push(["L",p,u]):d=[["L",p,u]],c.push(o.x),h&&(c.push(o.x),2===h&&c.push(o.x)),l.push.apply(l,d),r=!1)}),l.xMap=c,n.graphPath=l},o.prototype.getZonesGraphs=function(t){return this.zones.forEach(function(e,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(e.className||"")],this.chart.styledMode||i.push(e.color||this.color,e.dashStyle||this.options.dashStyle),t.push(i)},this),t},o.defaultOptions=n(e.defaultOptions,{}),o}(e),i.registerSeriesType("line",o),o}),e(i,"Series/Area/AreaSeries.js",[i["Core/Color/Color.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=t.parse,n=i.seriesTypes.line;t=o.extend;var a=o.merge,h=o.objectEach,l=o.pick;return o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(e,t),e.prototype.drawGraph=function(){this.areaPath=[],t.prototype.drawGraph.apply(this);var e=this,i=this.areaPath,o=this.options,r=[["area","highcharts-area",this.color,o.fillColor]];this.zones.forEach(function(t,i){r.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||e.color,t.fillColor||o.fillColor])}),r.forEach(function(t){var r=t[0],n=e[r],a=n?"animate":"attr",h={};n?(n.endX=e.preventGraphAnimation?null:i.xMap,n.animate({d:i})):(h.zIndex=0,(n=e[r]=e.chart.renderer.path(i).addClass(t[1]).add(e.group)).isArea=!0),e.chart.styledMode||(h.fill=l(t[3],s(t[2]).setOpacity(l(o.fillOpacity,.75)).get())),n[a](h),n.startX=i.xMap,n.shiftUnit=o.step?2:1})},e.prototype.getGraphPath=function(t){var e,i=n.prototype.getGraphPath,o=this.options,r=o.stacking,s=this.yAxis,a=[],h=[],c=this.index,d=s.stacking.stacks[this.stackKey],p=o.threshold,u=Math.round(s.getThreshold(o.threshold));o=l(o.connectNulls,"percent"===r);var f=function(e,i,o){var n=t[e];e=r&&d[n.x].points[c];var l=n[o+"Null"]||0;if(o=n[o+"Cliff"]||0,n=!0,o||l){var f=(l?e[0]:e[1])+o,g=e[0]+o;n=!!l}else!r&&t[i]&&t[i].isNull&&(f=g=p);void 0!==f&&(h.push({plotX:m,plotY:null===f?u:s.getThreshold(f),isNull:n,isCliff:!0}),a.push({plotX:m,plotY:null===g?u:s.getThreshold(g),doCurve:!1}))};for(t=t||this.points,r&&(t=this.getStackPoints(t)),e=0;e<t.length;e++){r||(t[e].leftCliff=t[e].rightCliff=t[e].leftNull=t[e].rightNull=void 0);var g=t[e].isNull,m=l(t[e].rectPlotX,t[e].plotX),y=r?l(t[e].yBottom,u):u;g&&!o||(o||f(e,e-1,"left"),g&&!r&&o||(h.push(t[e]),a.push({x:e,plotX:m,plotY:y})),o||f(e,e+1,"right"))}return e=i.call(this,h,!0,!0),a.reversed=!0,(y=(g=i.call(this,a,!0,!0))[0])&&"M"===y[0]&&(g[0]=["L",y[1],y[2]]),(g=e.concat(g)).length&&g.push(["Z"]),i=i.call(this,h,!1,o),g.xMap=e.xMap,this.areaPath=g,i},e.prototype.getStackPoints=function(t){var e=this,i=[],o=[],r=this.xAxis,s=this.yAxis,n=s.stacking.stacks[this.stackKey],a={},c=s.series,d=c.length,p=s.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(var f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,a[t[f].x]=t[f];h(n,function(t,e){null!==t.total&&o.push(e)}),o.sort(function(t,e){return t-e});var g=c.map(function(t){return t.visible});o.forEach(function(t,h){var f,m,y=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){var r=1===i?"rightNull":"leftNull",s=0,l=n[o[h+i]];if(l)for(var y=u;0<=y&&y<d;){var v=c[y].index;(f=l.points[v])||(v===e.index?a[t][r]=!0:g[y]&&(m=n[t].points[v])&&(s-=m[1]-m[0])),y+=p}a[t][1===i?"rightCliff":"leftCliff"]=s});else{for(var v=u;0<=v&&v<d;){if(f=n[t].points[c[v].index]){y=f[1];break}v+=p}y=l(y,0),y=s.translate(y,0,1,0,1),i.push({isNull:!0,plotX:r.translate(t,0,0,0,1),x:t,plotY:y,yBottom:y})}})}return i},e.defaultOptions=a(n.defaultOptions,{threshold:0}),e}(n),t(o.prototype,{singleStacks:!1,drawLegendSymbol:e.drawRectangle}),i.registerSeriesType("area",o),o}),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=t.seriesTypes.line,r=e.merge,s=e.pick;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return i(e,t),e.prototype.getPointSpline=function(t,e,i){var o=e.plotX||0,r=e.plotY||0,n=t[i-1];if(i=t[i+1],n&&!n.isNull&&!1!==n.doCurve&&!e.isCliff&&i&&!i.isNull&&!1!==i.doCurve&&!e.isCliff){var a=i.plotX||0,h=0,l=(1.5*o+(n.plotX||0))/2.5,c=(1.5*r+(t=n.plotY||0))/2.5,d=(1.5*r+(i=i.plotY||0))/2.5;(a=(1.5*o+a)/2.5)!==l&&(h=(d-c)*(a-o)/(a-l)+r-d),d+=h,(c+=h)>t&&c>r?d=2*r-(c=Math.max(t,r)):c<t&&c<r&&(d=2*r-(c=Math.min(t,r))),d>i&&d>r?c=2*r-(d=Math.max(i,r)):d<i&&d<r&&(c=2*r-(d=Math.min(i,r))),e.rightContX=a,e.rightContY=d}return e=["C",s(n.rightContX,n.plotX,0),s(n.rightContY,n.plotY,0),s(l,o,0),s(c,r,0),o,r],n.rightContX=n.rightContY=void 0,e},e.defaultOptions=r(o.defaultOptions),e}(o),t.registerSeriesType("spline",e),e}),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Area/AreaSeries.js"],i["Series/Spline/SplineSeries.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.prototype,a=r.merge;return(0,r.extend)((r=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.points=void 0,t.options=void 0,t}return s(o,i),o.defaultOptions=a(e.defaultOptions,t.defaultOptions),o}(e)).prototype,{getGraphPath:n.getGraphPath,getStackPoints:n.getStackPoints,drawGraph:n.drawGraph,drawLegendSymbol:i.drawRectangle}),o.registerSeriesType("areaspline",r),r}),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=this&&this.__extends||(h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),c=t.animObject,d=e.parse,p=i.hasTouch;t=i.noop;var u=a.clamp,f=a.css,g=a.defined,m=a.extend,y=a.fireEvent,v=a.isArray,x=a.isNumber,b=a.merge,w=a.pick,C=a.objectEach;return a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.borderWidth=void 0,e.data=void 0,e.group=void 0,e.options=void 0,e.points=void 0,e}return l(e,t),e.prototype.animate=function(t){var e=this,i=this.yAxis,o=e.options,r=this.chart.inverted,s={},n=r?"translateX":"translateY";if(t)s.scaleY=.001,t=u(i.toPixels(o.threshold),i.pos,i.pos+i.len),r?s.translateX=t-i.len:s.translateY=t,e.clipBox&&e.setClip(),e.group.attr(s);else{var a=Number(e.group.attr(n));e.group.animate({scaleY:1},m(c(e.options.animation),{step:function(t,o){e.group&&(s[n]=a+o.pos*(i.pos-a),e.group.attr(s))}}))}},e.prototype.init=function(e,i){t.prototype.init.apply(this,arguments);var o=this;(e=o.chart).hasRendered&&e.series.forEach(function(t){t.type===o.type&&(t.isDirty=!0)})},e.prototype.getColumnMetrics=function(){var t=this,e=t.options,i=t.xAxis,o=t.yAxis,r=i.options.reversedStacks;r=i.reversed&&!r||!i.reversed&&r;var s,n={},a=0;!1===e.grouping?a=1:t.chart.series.forEach(function(e){var i=e.yAxis,r=e.options;if(e.type===t.type&&(e.visible||!t.chart.options.chart.ignoreHiddenSeries)&&o.len===i.len&&o.pos===i.pos){if(r.stacking&&"group"!==r.stacking){void 0===n[s=e.stackKey]&&(n[s]=a++);var h=n[s]}else!1!==r.grouping&&(h=a++);e.columnIndex=h}});var h=Math.min(Math.abs(i.transA)*(i.ordinal&&i.ordinal.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),l=h*e.groupPadding,c=(h-2*l)/(a||1);return e=Math.min(e.maxPointWidth||i.len,w(e.pointWidth,c*(1-2*e.pointPadding))),t.columnMetrics={width:e,offset:(c-e)/2+(l+((t.columnIndex||0)+(r?1:0))*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:a},t.columnMetrics},e.prototype.crispCol=function(t,e,i,o){var r=this.chart,s=this.borderWidth,n=-(s%2?.5:0);return s=s%2?.5:1,r.inverted&&r.renderer.isVML&&(s+=1),this.options.crisp&&(i=Math.round(t+i)+n,i-=t=Math.round(t)+n),o=Math.round(e+o)+s,n=.5>=Math.abs(e)&&.5<o,o-=e=Math.round(e)+s,n&&o&&(--e,o+=1),{x:t,y:e,width:i,height:o}},e.prototype.adjustForMissingColumns=function(t,e,i,o){var r=this,s=this.options.stacking;if(!i.isNull&&1<o.columnCount){var n=0,a=0;C(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(t){if("number"==typeof i.x&&(t=t[i.x.toString()])){var e=t.points[r.index],o=t.total;s?(e&&(n=a),t.hasValidPoints&&a++):v(e)&&(n=e[1],a=o||0)}}),t=(i.plotX||0)+((a-1)*o.paddedWidth+e)/2-e-n*o.paddedWidth}return t},e.prototype.translate=function(){var t=this,e=t.chart,i=t.options,o=t.dense=2>t.closestPointRange*t.xAxis.transA;o=t.borderWidth=w(i.borderWidth,o?0:1);var r=t.xAxis,n=t.yAxis,a=i.threshold,h=t.translatedThreshold=n.getThreshold(a),l=w(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.barW=Math.max(d,1+2*o),f=t.pointXOffset=c.offset,m=t.dataMin,y=t.dataMax;e.inverted&&(h-=.5),i.pointPadding&&(p=Math.ceil(p)),s.prototype.translate.apply(t),t.points.forEach(function(o){var s=w(o.yBottom,h),v=999+Math.abs(s),b=d,C=o.plotX||0;v=u(o.plotY,-v,n.len+v),C+=f;var S=p,k=Math.min(v,s),M=Math.max(v,s)-k;if(l&&Math.abs(M)<l){M=l;var A=!n.reversed&&!o.negative||n.reversed&&o.negative;x(a)&&x(y)&&o.y===a&&y<=a&&(n.min||0)<a&&(m!==y||(n.max||0)<=a)&&(A=!A),k=Math.abs(k-h)>l?s-l:h-(A?l:0)}g(o.options.pointWidth)&&(b=S=Math.ceil(o.options.pointWidth),C-=Math.round((b-d)/2)),i.centerInCategory&&(C=t.adjustForMissingColumns(C,b,o,c)),o.barX=C,o.pointWidth=b,o.tooltipPos=e.inverted?[u(n.len+n.pos-e.plotLeft-v,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-C-S/2,M]:[r.left-e.plotLeft+C+S/2,u(v+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],o.shapeType=t.pointClass.prototype.shapeType||"rect",o.shapeArgs=t.crispCol.apply(t,o.isNull?[C,h,S,0]:[C,k,S,M])})},e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},e.prototype.pointAttribs=function(t,e){var i=this.options,o=this.pointAttrToOptions||{},r=o.stroke||"borderColor",s=o["stroke-width"]||"borderWidth",n=t&&t.color||this.color,a=t&&t[r]||i[r]||n,h=t&&t[s]||i[s]||this[s]||0;o=t&&t.options.dashStyle||i.dashStyle;var l=w(t&&t.opacity,i.opacity,1);if(t&&this.zones.length){var c=t.getZone();n=t.options.color||c&&(c.color||t.nonZonedColor)||this.color,c&&(a=c.borderColor||a,o=c.dashStyle||o,h=c.borderWidth||h)}return e&&t&&(e=(t=b(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,n=t.color||void 0!==e&&d(n).brighten(t.brightness).get()||n,a=t[r]||a,h=t[s]||h,o=t.dashStyle||o,l=w(t.opacity,l)),r={fill:n,stroke:a,"stroke-width":h,opacity:l},o&&(r.dashstyle=o),r},e.prototype.drawPoints=function(){var t,e=this,i=this.chart,o=e.options,r=i.renderer,s=o.animationLimit||250;e.points.forEach(function(n){var a=n.graphic,h=!!a,l=a&&i.pointCount<s?"animate":"attr";x(n.plotY)&&null!==n.y?(t=n.shapeArgs,a&&n.hasNewShapeType()&&(a=a.destroy()),e.enabledDataSorting&&(n.startXPos=e.xAxis.reversed?-(t&&t.width||0):e.xAxis.width),a||(n.graphic=a=r[n.shapeType](t).add(n.group||e.group))&&e.enabledDataSorting&&i.hasRendered&&i.pointCount<s&&(a.attr({x:n.startXPos}),h=!0,l="animate"),a&&h&&a[l](b(t)),o.borderRadius&&a[l]({r:o.borderRadius}),i.styledMode||a[l](e.pointAttribs(n,n.selected&&"select")).shadow(!1!==n.allowShadow&&o.shadow,null,o.stacking&&!o.borderRadius),a&&(a.addClass(n.getClassName(),!0),a.attr({visibility:n.visible?"inherit":"hidden"}))):a&&(n.graphic=a.destroy())})},e.prototype.drawTracker=function(){var t,e=this,i=e.chart,o=i.pointer,r=function(t){var e=o.getPointFromEvent(t);void 0!==e&&(o.isDirectTouch=!0,e.onMouseOver(t))};e.points.forEach(function(e){t=v(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){t.div?t.div.point=e:t.element.point=e})}),e._hasTracking||(e.trackerGroups.forEach(function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o.onTrackerMouseOut(t)}),p&&e[t].on("touchstart",r),!i.styledMode&&e.options.cursor&&e[t].css(f).css({cursor:e.options.cursor}))}),e._hasTracking=!0),y(this,"afterDrawTracker")},e.prototype.remove=function(){var t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),s.prototype.remove.apply(t,arguments)},e.defaultOptions=b(s.defaultOptions,{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:r.neutralColor20,borderColor:r.neutralColor100}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:r.backgroundColor}),e}(s),m(a.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:o.drawRectangle,getSymbol:t,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("column",a),a}),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i.merge;return(0,i.extend)((i=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return o(i,e),i.defaultOptions=r(t.defaultOptions,{}),i}(t)).prototype,{inverted:!0}),e.registerSeriesType("bar",i),i}),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Column/ColumnSeries.js"],i["Series/Line/LineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.addEvent,n=o.merge;return(0,o.extend)((o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.applyJitter=function(){var t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(o,r){["x","y"].forEach(function(s,n){var a="plot"+s.toUpperCase();if(e[s]&&!o.isNull){var h=t[s+"Axis"],l=e[s]*h.transA;if(h&&!h.isLog){var c=Math.max(0,o[a]-l);h=Math.min(h.len,o[a]+l),n=1e4*Math.sin(r+n*i),o[a]=c+(h-c)*(n-Math.floor(n)),"x"===s&&(o.clientX=o.plotX)}}})})},i.prototype.drawGraph=function(){(this.options.lineWidth||0===this.options.lineWidth&&this.graph&&this.graph.strokeWidth())&&t.prototype.drawGraph.call(this)},i.defaultOptions=n(e.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),i}(e)).prototype,{drawTracker:t.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),s(o,"afterTranslate",function(){this.applyJitter()}),i.registerSeriesType("scatter",o),o}),e(i,"Mixins/CenteredSeries.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.isNumber,r=i.pick,s=i.relativeLength,n=t.deg2rad;return t.CenteredSeriesMixin={getCenter:function(){var t=this.options,i=this.chart,o=2*(t.slicedOffset||0),n=i.plotWidth-2*o,a=i.plotHeight-2*o,h=t.center,l=Math.min(n,a),c=t.size,d=t.innerSize||0;for("string"==typeof c&&(c=parseFloat(c)),"string"==typeof d&&(d=parseFloat(d)),t=[r(h[0],"50%"),r(h[1],"50%"),r(c&&0>c?void 0:t.size,"100%"),r(d&&0>d?void 0:t.innerSize||0,"0%")],!i.angular||this instanceof e||(t[3]=0),h=0;4>h;++h)c=t[h],i=2>h||2===h&&/%$/.test(c),t[h]=s(c,[n,a,l,t[2]][h])+(i?o:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(t,e){return t=o(t)?t:0,e=o(e)&&e>t&&360>e-t?e:t+360,{start:n*(t+-90),end:n*(e+-90)}}}}),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=t.setAnimation,s=i.addEvent,n=i.defined;t=i.extend;var a=i.isNumber,h=i.pick,l=i.relativeLength;return i=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelDistance=void 0,e.options=void 0,e.series=void 0,e}return o(i,t),i.prototype.getConnectorPath=function(){var t=this.labelPosition,e=this.series.options.dataLabels,i=e.connectorShape,o=this.connectorShapes;return o[i]&&(i=o[i]),i.call(this,{x:t.final.x,y:t.final.y,alignment:t.alignment},t.connectorPosition,e)},i.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},i.prototype.haloPath=function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end})},i.prototype.init=function(){e.prototype.init.apply(this,arguments);var t=this;t.name=h(t.name,"Slice");var i=function(e){t.slice("select"===e.type)};return s(t,"select",i),s(t,"unselect",i),t},i.prototype.isValid=function(){return a(this.y)&&0<=this.y},i.prototype.setVisible=function(t,e){var i=this,o=i.series,r=o.chart,s=o.options.ignoreHiddenPoint;e=h(e,s),t!==i.visible&&(i.visible=i.options.visible=t=void 0===t?!i.visible:t,o.options.data[o.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){i[e]&&i[e][t?"show":"hide"](t)}),i.legendItem&&r.legend.colorizeItem(i,t),t||"hover"!==i.state||i.setState(""),s&&(o.isDirty=!0),e&&r.redraw())},i.prototype.slice=function(t,e,i){var o=this.series;r(i,o.chart),h(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},i}(e),t(i.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var o=e.breakAt;return e=e.touchingSliceAt,[["M",t.x,t.y],i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*o.x-e.x,2*o.y-e.y,o.x,o.y]:["L",o.x,o.y],["L",e.x,e.y]]},straight:function(t,e){return[["M",t.x,t.y],["L",(e=e.touchingSliceAt).x,e.y]]},crookedLine:function(t,e,i){e=e.touchingSliceAt;var o=this.series,r=o.center[0],s=o.chart.plotWidth,n=o.chart.plotLeft;o=t.alignment;var a=this.shapeArgs.r;return i=l(i.crookDistance,1),i=["L",s="left"===o?r+a+(s+n-r-a)*(1-i):n+(r-a)*i,t.y],r=!0,("left"===o?s>t.x||s<e.x:s<t.x||s>e.x)&&(r=!1),t=[["M",t.x,t.y]],r&&t.push(i),t.push(["L",e.x,e.y]),t}}}),i}),e(i,"Series/Pie/PieSeries.js",[i["Mixins/CenteredSeries.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Series/Pie/PiePoint.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){var c=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),d=t.getStartAndEndRadians;i=i.noop;var p=l.clamp,u=l.fireEvent,f=l.merge,g=l.pick,m=l.relativeLength;return(0,l.extend)((l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.center=void 0,e.data=void 0,e.maxLabelDistance=void 0,e.options=void 0,e.points=void 0,e}return c(e,t),e.prototype.animate=function(t){var e=this,i=e.startAngleRad;t||e.points.forEach(function(t){var o=t.graphic,r=t.shapeArgs;o&&r&&(o.attr({r:g(t.startR,e.center&&e.center[3]/2),start:i,end:i}),o.animate({r:r.r,start:r.start,end:r.end},e.options.animation))})},e.prototype.drawEmpty=function(){var t=this.startAngleRad,e=this.endAngleRad,i=this.options;if(0===this.total&&this.center){var o=this.center[0],s=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(o,s,this.center[1]/2,0,t,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:h.prototype.symbols.arc(o,s,this.center[2]/2,0,{start:t,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||"none",stroke:i.color||r.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())},e.prototype.drawPoints=function(){var t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},e.prototype.generatePoints=function(){t.prototype.generatePoints.call(this),this.updateTotals()},e.prototype.getX=function(t,e,i){var o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2;return t=Math.asin(p((t-o[1])/(r+i.labelDistance),-1,1)),o[0]+(e?-1:1)*Math.cos(t)*(r+i.labelDistance)+(0<i.labelDistance?(e?-1:1)*this.options.dataLabels.padding:0)},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.redrawPoints=function(){var t,e,i,o,r=this,s=r.chart,n=s.renderer,a=r.options.shadow;this.drawEmpty(),!a||r.shadowGroup||s.styledMode||(r.shadowGroup=n.g("shadow").attr({zIndex:-1}).add(r.group)),r.points.forEach(function(h){var l={};if(e=h.graphic,!h.isNull&&e){var c=void 0;o=h.shapeArgs,t=h.getTranslate(),s.styledMode||(c=h.shadowGroup,a&&!c&&(c=h.shadowGroup=n.g("shadow").add(r.shadowGroup)),c&&c.attr(t),i=r.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(e.setRadialReference(r.center).attr(o).attr(t),s.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}).shadow(a,c),h.delayedRendering=!1):(e.setRadialReference(r.center),s.styledMode||f(!0,l,i),f(!0,l,o,t),e.animate(l)),e.attr({visibility:h.visible?"inherit":"hidden"}),e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())})},e.prototype.sortByAngle=function(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})},e.prototype.translate=function(t){this.generatePoints();var e=0,i=this.options,o=i.slicedOffset,r=o+(i.borderWidth||0),s=d(i.startAngle,i.endAngle),n=this.startAngleRad=s.start;s=(this.endAngleRad=s.end)-n;var a=this.points,h=i.dataLabels.distance;i=i.ignoreHiddenPoint;var l,c=a.length;for(t||(this.center=t=this.getCenter()),l=0;l<c;l++){var p=a[l],f=n+e*s;!p.isValid()||i&&!p.visible||(e+=p.percentage/100);var y=n+e*s,v={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*f)/1e3,end:Math.round(1e3*y)/1e3};p.shapeType="arc",p.shapeArgs=v,p.labelDistance=g(p.options.dataLabels&&p.options.dataLabels.distance,h),p.labelDistance=m(p.labelDistance,v.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,p.labelDistance),(y=(y+f)/2)>1.5*Math.PI?y-=2*Math.PI:y<-Math.PI/2&&(y+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(y)*o),translateY:Math.round(Math.sin(y)*o)},v=Math.cos(y)*t[2]/2;var x=Math.sin(y)*t[2]/2;p.tooltipPos=[t[0]+.7*v,t[1]+.7*x],p.half=y<-Math.PI/2||y>Math.PI/2?1:0,p.angle=y,f=Math.min(r,p.labelDistance/5),p.labelPosition={natural:{x:t[0]+v+Math.cos(y)*p.labelDistance,y:t[1]+x+Math.sin(y)*p.labelDistance},final:{},alignment:0>p.labelDistance?"center":p.half?"right":"left",connectorPosition:{breakAt:{x:t[0]+v+Math.cos(y)*f,y:t[1]+x+Math.sin(y)*f},touchingSliceAt:{x:t[0]+v,y:t[1]+x}}}}u(this,"afterTranslate")},e.prototype.updateTotals=function(){var t,e=0,i=this.points,o=i.length,r=this.options.ignoreHiddenPoint;for(t=0;t<o;t++){var s=i[t];!s.isValid()||r&&!s.visible||(e+=s.y)}for(this.total=e,t=0;t<o;t++)(s=i[t]).percentage=0<e&&(s.visible||!r)?s.y/e*100:0,s.total=e},e.defaultOptions=f(n.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:r.backgroundColor,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),e}(n)).prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:o.drawRectangle,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:i,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:i,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",l),l}),e(i,"Core/Series/DataLabels.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.getDeferredAnimation,h=e.format;t=i.noop,s=s.seriesTypes;var l=n.arrayMax,c=n.clamp,d=n.defined,p=n.extend,u=n.fireEvent,f=n.isArray,g=n.merge,m=n.objectEach,y=n.pick,v=n.relativeLength,x=n.splat,b=n.stableSort;i.distribute=function(t,e,o){function r(t,e){return t.target-e.target}var s,n=!0,a=t,h=[],l=0,d=a.reducedLen||e;for(s=t.length;s--;)l+=t[s].size;if(l>d){for(b(t,function(t,e){return(e.rank||0)-(t.rank||0)}),l=s=0;l<=d;)l+=t[s].size,s++;h=t.splice(s-1,t.length)}for(b(t,r),t=t.map(function(t){return{size:t.size,targets:[t.target],align:y(t.align,.5)}});n;){for(s=t.length;s--;)n=t[s],l=(Math.min.apply(0,n.targets)+Math.max.apply(0,n.targets))/2,n.pos=c(l-n.size*n.align,0,e-n.size);for(s=t.length,n=!1;s--;)0<s&&t[s-1].pos+t[s-1].size>t[s].pos&&(t[s-1].size+=t[s].size,t[s-1].targets=t[s-1].targets.concat(t[s].targets),t[s-1].align=.5,t[s-1].pos+t[s-1].size>e&&(t[s-1].pos=e-t[s-1].size),t.splice(s,1),n=!0)}a.push.apply(a,h),s=0,t.some(function(t){var r=0;if(t.targets.some(function(){if(a[s].pos=t.pos+r,void 0!==o&&Math.abs(a[s].pos-a[s].target)>o)return a.slice(0,s+1).forEach(function(t){delete t.pos}),a.reducedLen=(a.reducedLen||e)-.1*e,a.reducedLen>.1*e&&i.distribute(a,e,o),!0;r+=a[s].size,s++}))return!0}),b(a,r)},r.prototype.drawDataLabels=function(){function t(t,e){var i,o=[];if(f(t)&&!f(e))o=t.map(function(t){return g(t,e)});else if(f(e)&&!f(t))o=e.map(function(e){return g(t,e)});else if(f(t)||f(e))for(i=Math.max(t.length,e.length);i--;)o[i]=g(t[i],e[i]);else o=g(t,e);return o}var e=this,i=e.chart,r=e.options,s=r.dataLabels,n=e.points,l=e.hasRendered||0,c=s.animation;c=s.defer?a(i,c,e):{defer:0,duration:0};var p=i.renderer;if(s=t(t(i.options.plotOptions&&i.options.plotOptions.series&&i.options.plotOptions.series.dataLabels,i.options.plotOptions&&i.options.plotOptions[e.type]&&i.options.plotOptions[e.type].dataLabels),s),u(this,"drawDataLabels"),f(s)||s.enabled||e._hasPointLabels){var v=e.plotGroup("dataLabelsGroup","data-labels",l?"inherit":"hidden",s.zIndex||6);v.attr({opacity:+l}),!l&&(l=e.dataLabelsGroup)&&(e.visible&&v.show(!0),l[r.animation?"animate":"attr"]({opacity:1},c)),n.forEach(function(n){x(t(s,n.dlOptions||n.options&&n.options.dataLabels)).forEach(function(t,s){var a=t.enabled&&(!n.isNull||n.dataLabelOnNull)&&function(t,e){var i=e.filter;return!i||(e=i.operator,t=t[i.property],i=i.value,">"===e&&t>i||"<"===e&&t<i||">="===e&&t>=i||"<="===e&&t<=i||"=="===e&&t==i||"==="===e&&t===i)}(n,t),l=n.dataLabels?n.dataLabels[s]:n.dataLabel,c=n.connectors?n.connectors[s]:n.connector,u=y(t.distance,n.labelDistance),f=!l;if(a){var g=n.getLabelConfig(),x=y(t[n.formatPrefix+"Format"],t.format);g=d(x)?h(x,g,i):(t[n.formatPrefix+"Formatter"]||t.formatter).call(g,t),x=t.style;var b=t.rotation;i.styledMode||(x.color=y(t.color,x.color,e.color,o.neutralColor100),"contrast"===x.color?(n.contrastColor=p.getContrast(n.color||e.color),x.color=!d(u)&&t.inside||0>u||r.stacking?n.contrastColor:o.neutralColor100):delete n.contrastColor,r.cursor&&(x.cursor=r.cursor));var w={r:t.borderRadius||0,rotation:b,padding:t.padding,zIndex:1};i.styledMode||(w.fill=t.backgroundColor,w.stroke=t.borderColor,w["stroke-width"]=t.borderWidth),m(w,function(t,e){void 0===t&&delete w[e]})}!l||a&&d(g)?a&&d(g)&&(l?w.text=g:(n.dataLabels=n.dataLabels||[],l=n.dataLabels[s]=b?p.text(g,0,-9999,t.useHTML).addClass("highcharts-data-label"):p.label(g,0,-9999,t.shape,null,null,t.useHTML,null,"data-label"),s||(n.dataLabel=l),l.addClass(" highcharts-data-label-color-"+n.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":""))),l.options=t,l.attr(w),i.styledMode||l.css(x).shadow(t.shadow),l.added||l.add(v),t.textPath&&!t.useHTML&&(l.setTextPath(n.getDataLabelPath&&n.getDataLabelPath(l)||n.graphic,t.textPath),n.dataLabelPath&&!t.textPath.enabled&&(n.dataLabelPath=n.dataLabelPath.destroy())),e.alignDataLabel(n,l,t,null,f)):(n.dataLabel=n.dataLabel&&n.dataLabel.destroy(),n.dataLabels&&(1===n.dataLabels.length?delete n.dataLabels:delete n.dataLabels[s]),s||delete n.dataLabel,c&&(n.connector=n.connector.destroy(),n.connectors&&(1===n.connectors.length?delete n.connectors:delete n.connectors[s])))})})}u(this,"afterDrawDataLabels")},r.prototype.alignDataLabel=function(t,e,i,o,r){var s=this,n=this.chart,a=this.isCartesian&&n.inverted,h=this.enabledDataSorting,l=y(t.dlBox&&t.dlBox.centerX,t.plotX,-9999),c=y(t.plotY,-9999),d=e.getBBox(),u=i.rotation,f=i.align,g=n.isInsidePlot(l,Math.round(c),{inverted:a,paneCoordinates:!0,series:s}),m="justify"===y(i.overflow,h?"none":"justify"),v=this.visible&&!1!==t.visible&&(t.series.forceDL||h&&!m||g||y(i.inside,!!this.options.stacking)&&o&&n.isInsidePlot(l,a?o.x+1:o.y+o.height-1,{inverted:a,paneCoordinates:!0,series:s})),x=function(i){h&&s.xAxis&&!m&&s.setDataLabelStartPos(t,e,r,g,i)};if(v){var b=n.renderer.fontMetrics(n.styledMode?void 0:i.style.fontSize,e).b;o=p({x:a?this.yAxis.len-c:l,y:Math.round(a?this.xAxis.len-l:c),width:0,height:0},o),p(i,{width:d.width,height:d.height}),u?(m=!1,l=n.renderer.rotCorr(b,u),x(l={x:o.x+(i.x||0)+o.width/2+l.x,y:o.y+(i.y||0)+{top:0,middle:.5,bottom:1}[i.verticalAlign]*o.height}),e[r?"attr":"animate"](l).attr({align:f}),x=180<(x=(u+720)%360)&&360>x,"left"===f?l.y-=x?d.height:0:"center"===f?(l.x-=d.width/2,l.y-=d.height/2):"right"===f&&(l.x-=d.width,l.y-=x?0:d.height),e.placed=!0,e.alignAttr=l):(x(o),e.align(i,void 0,o),l=e.alignAttr),m&&0<=o.height?this.justifyDataLabel(e,i,l,d,o,r):y(i.crop,!0)&&(v=n.isInsidePlot(l.x,l.y,{paneCoordinates:!0,series:s})&&n.isInsidePlot(l.x+d.width,l.y+d.height,{paneCoordinates:!0,series:s})),i.shape&&!u&&e[r?"attr":"animate"]({anchorX:a?n.plotWidth-t.plotY:t.plotX,anchorY:a?n.plotHeight-t.plotX:t.plotY})}r&&h&&(e.placed=!1),v||h&&!m||(e.hide(!0),e.placed=!1)},r.prototype.setDataLabelStartPos=function(t,e,i,o,r){var s=this.chart,n=s.inverted,a=this.xAxis,h=a.reversed,l=n?e.height/2:e.width/2;t=(t=t.pointWidth)?t/2:0,a=n?r.x:h?-l-t:a.width-l+t,r=n?h?this.yAxis.height-l+t:-l-t:r.y,e.startXPos=a,e.startYPos=r,o?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),s.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)},r.prototype.justifyDataLabel=function(t,e,i,o,r,s){var n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,c=e.x;c=void 0===c?0:c;var d=e.y,p=void 0===d?0:d;if(0>(d=(i.x||0)+l)){"right"===a&&0<=c?(e.align="left",e.inside=!0):c-=d;var u=!0}return(d=(i.x||0)+o.width-l)>n.plotWidth&&("left"===a&&0>=c?(e.align="right",e.inside=!0):c+=n.plotWidth-d,u=!0),0>(d=i.y+l)&&("bottom"===h&&0<=p?(e.verticalAlign="top",e.inside=!0):p-=d,u=!0),(d=(i.y||0)+o.height-l)>n.plotHeight&&("top"===h&&0>=p?(e.verticalAlign="bottom",e.inside=!0):p+=n.plotHeight-d,u=!0),u&&(e.x=c,e.y=p,t.placed=!s,t.align(e,void 0,r)),u},s.pie&&(s.pie.prototype.dataLabelPositioners={radialDistributionY:function(t){return t.top+t.distributeBox.pos},radialDistributionX:function(t,e,i,o){return t.getX(i<e.top+2||i>e.bottom-2?o:i,e.half,e)},justify:function(t,e,i){return i[0]+(t.half?-1:1)*(e+t.labelDistance)},alignToPlotEdges:function(t,e,i,o){return t=t.getBBox().width,e?t+o:i-t-o},alignToConnectors:function(t,e,i,o){var r,s=0;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>s&&(s=r)}),e?s+o:i-s-o}},s.pie.prototype.drawDataLabels=function(){var t,e,s,n,a,h,c,p,u,f,m,v,x=this,b=x.data,w=x.chart,C=x.options.dataLabels||{},S=C.connectorPadding,k=w.plotWidth,M=w.plotHeight,A=w.plotLeft,T=Math.round(w.chartWidth/3),P=x.center,O=P[2]/2,E=P[1],L=[[],[]],D=[0,0,0,0],j=x.dataLabelPositioners;x.visible&&(C.enabled||x._hasPointLabels)&&(b.forEach(function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(x),b.forEach(function(t){t.dataLabel&&(t.visible?(L[t.half].push(t),t.dataLabel._pos=null,!d(C.style.width)&&!d(t.options.dataLabels&&t.options.dataLabels.style&&t.options.dataLabels.style.width)&&t.dataLabel.getBBox().width>T&&(t.dataLabel.css({width:Math.round(.7*T)+"px"}),t.dataLabel.shortened=!0)):(t.dataLabel=t.dataLabel.destroy(),t.dataLabels&&1===t.dataLabels.length&&delete t.dataLabels))}),L.forEach(function(e,o){var r,s=e.length,l=[];if(s){if(x.sortByAngle(e,o-.5),0<x.maxLabelDistance){var g=Math.max(0,E-O-x.maxLabelDistance),b=Math.min(E+O+x.maxLabelDistance,w.plotHeight);e.forEach(function(t){0<t.labelDistance&&t.dataLabel&&(t.top=Math.max(0,E-O-t.labelDistance),t.bottom=Math.min(E+O+t.labelDistance,w.plotHeight),r=t.dataLabel.getBBox().height||21,t.distributeBox={target:t.labelPosition.natural.y-t.top+r/2,size:r,rank:t.y},l.push(t.distributeBox))}),i.distribute(l,g=b+r-g,g/5)}for(m=0;m<s;m++){if(n=(t=e[m]).dataLabel,f=!1===t.visible?"hidden":"inherit",u=g=(h=t.labelPosition).natural.y,l&&d(t.distributeBox)&&(void 0===t.distributeBox.pos?f="hidden":(c=t.distributeBox.size,u=j.radialDistributionY(t))),delete t.positionIndex,C.justify)p=j.justify(t,O,P);else switch(C.alignTo){case"connectors":p=j.alignToConnectors(e,o,k,A);break;case"plotEdges":p=j.alignToPlotEdges(n,o,k,A);break;default:p=j.radialDistributionX(x,t,u,g)}n._attr={visibility:f,align:h.alignment},n._pos={x:p+y((v=t.options.dataLabels||{}).x,C.x)+({left:S,right:-S}[h.alignment]||0),y:u+y(v.y,C.y)-10},h.final.x=p,h.final.y=u,y(C.crop,!0)&&(a=n.getBBox().width,g=null,p-a<S&&1===o?(g=Math.round(a-p+S),D[3]=Math.max(g,D[3])):p+a>k-S&&0===o&&(g=Math.round(p+a-k+S),D[1]=Math.max(g,D[1])),0>u-c/2?D[0]=Math.max(Math.round(c/2-u),D[0]):u+c/2>M&&(D[2]=Math.max(Math.round(u+c/2-M),D[2])),n.sideOverflow=g)}}}),0===l(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(t){var i;v=g(C,t.options.dataLabels),(e=y(v.connectorWidth,1))&&(s=t.connector,(n=t.dataLabel)&&n._pos&&t.visible&&0<t.labelDistance?(f=n._attr.visibility,(i=!s)&&(t.connector=s=w.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(x.dataLabelsGroup),w.styledMode||s.attr({"stroke-width":e,stroke:v.connectorColor||t.color||o.neutralColor60})),s[i?"attr":"animate"]({d:t.getConnectorPath()}),s.attr("visibility",f)):s&&(t.connector=s.destroy()))}))},s.pie.prototype.placeDataLabels=function(){this.points.forEach(function(t){var e,i=t.dataLabel;i&&t.visible&&((e=i._pos)?(i.sideOverflow&&(i._attr.width=Math.max(i.getBBox().width-i.sideOverflow,0),i.css({width:i._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),i.shortened=!0),i.attr(i._attr),i[i.moved?"animate":"attr"](e),i.moved=!0):i&&i.attr({y:-9999})),delete t.distributeBox},this)},s.pie.prototype.alignDataLabel=t,s.pie.prototype.verifyDataLabelOverflow=function(t){var e=this.center,i=this.options,o=i.center,r=i.minSize||80,s=null!==i.size;if(!s){if(null!==o[0])var n=Math.max(e[2]-Math.max(t[1],t[3]),r);else n=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2;null!==o[1]?n=c(n,r,e[2]-Math.max(t[0],t[2])):(n=c(n,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),n<e[2]?(e[2]=n,e[3]=Math.min(v(i.innerSize||0,n),n),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):s=!0}return s}),s.column&&(s.column.prototype.alignDataLabel=function(t,e,i,o,s){var n=this.chart.inverted,a=t.series,h=t.dlBox||t.shapeArgs,l=y(t.below,t.plotY>y(this.translatedThreshold,a.yAxis.len)),c=y(i.inside,!!this.options.stacking);h&&(0>(o=g(h)).y&&(o.height+=o.y,o.y=0),0<(h=o.y+o.height-a.yAxis.len)&&h<o.height&&(o.height-=h),n&&(o={x:a.yAxis.len-o.y-o.height,y:a.xAxis.len-o.x-o.width,width:o.height,height:o.width}),c||(n?(o.x+=l?0:o.width,o.width=0):(o.y+=l?o.height:0,o.height=0))),i.align=y(i.align,!n||c?"center":l?"right":"left"),i.verticalAlign=y(i.verticalAlign,n||c?"middle":l?"top":"bottom"),r.prototype.alignDataLabel.call(this,t,e,i,o,s),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})})}),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){var i=!1;if(t){var r=t.newOpacity;t.oldOpacity!==r&&(t.alignAttr&&t.placed?(t[r?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,t.alignAttr.opacity=r,t[t.isOld?"animate":"attr"](t.alignAttr,null,function(){e.styledMode||t.css({pointerEvents:r?"auto":"none"}),t.visibility=r?"inherit":"hidden"}),o(e,"afterHideOverlappingLabel")):t.attr({opacity:r})),t.isOld=!0}return i}var o=e.fireEvent,r=e.isArray,s=e.isNumber,n=e.objectEach,a=e.pick;(0,e.addEvent)(t,"render",function(){var t=this,e=[];(this.labelCollectors||[]).forEach(function(t){e=e.concat(t())}),(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&n(t.stacking.stacks,function(t){n(t,function(t){e.push(t.label)})})}),(this.series||[]).forEach(function(o){var s=o.options.dataLabels;o.visible&&(!1!==s.enabled||o._hasPointLabels)&&((s=function(o){return o.forEach(function(o){o.visible&&(r(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[]).forEach(function(r){var s=r.options;r.labelrank=a(s.labelrank,o.labelrank,o.shapeArgs&&o.shapeArgs.height),s.allowOverlap?(r.oldOpacity=r.opacity,r.newOpacity=1,i(r,t)):e.push(r)})})})(o.nodes||[]),s(o.points))}),this.hideOverlappingLabels(e)}),t.prototype.hideOverlappingLabels=function(t){var e,r,n,a=this,h=t.length,l=a.renderer,c=!1,d=function(t){var e,i,o=t.box?0:t.padding||0,r=e=0;if(t&&(!t.alignAttr||t.placed)){var n=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},a=t.parentGroup;return t.width||(e=t.getBBox(),t.width=e.width,t.height=e.height,e=l.fontMetrics(null,t.element).h),(i={left:"0",center:"0.5",right:"1"}[t.alignValue])?r=+i*(t.width-2*o):s(t.x)&&Math.round(t.x)!==t.translateX&&(r=t.x-t.translateX),{x:n.x+(a.translateX||0)+o-(r||0),y:n.y+(a.translateY||0)+o-e,width:t.width-2*o,height:t.height-2*o}}};for(r=0;r<h;r++)(e=t[r])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=d(e));for(t.sort(function(t,e){return(e.labelrank||0)-(t.labelrank||0)}),r=0;r<h;r++){var p=(d=t[r])&&d.absoluteBox;for(e=r+1;e<h;++e){var u=(n=t[e])&&n.absoluteBox;!p||!u||d===n||0===d.newOpacity||0===n.newOpacity||u.x>=p.x+p.width||u.x+u.width<=p.x||u.y>=p.y+p.height||u.y+u.height<=p.y||((d.labelrank<n.labelrank?d:n).newOpacity=0)}}t.forEach(function(t){i(t,a)&&(c=!0)}),c&&o(a,"afterHideAllOverlappingLabels")}}),e(i,"Core/Responsive.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){var i=e.find,o=e.isArray,r=e.isObject,s=e.merge,n=e.objectEach,a=e.pick,h=e.splat,l=e.uniqueKey;t.prototype.setResponsive=function(t,e){var o=this.options.responsive,r=[],n=this.currentResponsive;!e&&o&&o.rules&&o.rules.forEach(function(t){void 0===t._id&&(t._id=l()),this.matchResponsiveRule(t,r)},this),(e=s.apply(0,r.map(function(t){return i(o.rules,function(e){return e._id===t}).chartOptions}))).isResponsiveOptions=!0,(r=r.toString()||void 0)!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,t,!0),r?((n=this.currentOptions(e)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:e,undoOptions:n},this.update(e,t,!0)):this.currentResponsive=void 0)},t.prototype.matchResponsiveRule=function(t,e){var i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)},t.prototype.currentOptions=function(t){var e=this,i={};return function t(i,s,a,l){var c;n(i,function(i,n){if(!l&&-1<e.collectionsWithUpdate.indexOf(n)&&s[n])for(i=h(i),a[n]=[],c=0;c<Math.max(i.length,s[n].length);c++)s[n][c]&&(void 0===i[c]?a[n][c]=s[n][c]:(a[n][c]={},t(i[c],s[n][c],a[n][c],l+1)));else r(i)?(a[n]=o(i)?[]:{},t(i,s[n]||{},a[n],l+1)):a[n]=void 0===s[n]?null:s[n]})}(t,this.options,i,0),i}}),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Options.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/FormatUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Series/Series.js"]],function(t,e,i,o,r,s,n,a,h){return t.animate=r.animate,t.animObject=r.animObject,t.getDeferredAnimation=r.getDeferredAnimation,t.setAnimation=r.setAnimation,t.stop=r.stop,t.timers=o.timers,t.AST=s,t.Fx=o,t.Series=h,t.SVGElement=a,t.dateFormat=n.dateFormat,t.format=n.format,t.numberFormat=n.numberFormat,t.defaultOptions=i.defaultOptions,t.getOptions=i.getOptions,t.time=i.defaultTime,t.setOptions=i.setOptions,t.addEvent=e.addEvent,t.arrayMax=e.arrayMax,t.arrayMin=e.arrayMin,t.attr=e.attr,t.clearTimeout=e.clearTimeout,t.correctFloat=e.correctFloat,t.createElement=e.createElement,t.css=e.css,t.defined=e.defined,t.destroyObjectProperties=e.destroyObjectProperties,t.discardElement=e.discardElement,t.erase=e.erase,t.error=e.error,t.extend=e.extend,t.extendClass=e.extendClass,t.find=e.find,t.fireEvent=e.fireEvent,t.getMagnitude=e.getMagnitude,t.getStyle=e.getStyle,t.inArray=e.inArray,t.isArray=e.isArray,t.isClass=e.isClass,t.isDOMElement=e.isDOMElement,t.isFunction=e.isFunction,t.isNumber=e.isNumber,t.isObject=e.isObject,t.isString=e.isString,t.keys=e.keys,t.merge=e.merge,t.normalizeTickInterval=e.normalizeTickInterval,t.objectEach=e.objectEach,t.offset=e.offset,t.pad=e.pad,t.pick=e.pick,t.pInt=e.pInt,t.relativeLength=e.relativeLength,t.removeEvent=e.removeEvent,t.splat=e.splat,t.stableSort=e.stableSort,t.syncTimeout=e.syncTimeout,t.timeUnits=e.timeUnits,t.uniqueKey=e.uniqueKey,t.useSerialIds=e.useSerialIds,t.wrap=e.wrap,t}),i["masters/highcharts.src.js"]._modules=i,i["masters/highcharts.src.js"]},t.exports?(s.default=s,t.exports=r.document?s(r):s):void 0===(o=(function(){return s(r)}).call(e,i,e,t))||(t.exports=o)},969:function(t,e,i){var o,r,s;r="undefined"!=typeof window?window:this,s=function(t){function e(t,e,i,o){t.hasOwnProperty(e)||(t[e]=o.apply(null,i))}var i={};return e(i,"Core/Globals.js",[],function(){var e,i=void 0!==t?t:"undefined"!=typeof window?window:{};return function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="9.1.0",t.win=i,t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=-1!==t.userAgent.indexOf("Chrome"),t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.hasBidiBug=t.isFirefox&&4>parseInt(t.userAgent.split("Firefox/")[1],10),t.hasTouch=!!t.win.TouchEvent,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){var e=!1;if(!t.isMS){var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={}}(e||(e={})),e}),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],function(t){function e(t,i,o,r){var s=i?"Highcharts error":"Highcharts warning";32===t&&(t=s+": Deprecated member");var n=h(t),a=n?s+" #"+t+": www.highcharts.com/errors/"+t+"/":t.toString();if(void 0!==r){var l="";n&&(a+="?"),m(r,function(t,e){l+="\n - "+e+": "+t,n&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=l}v(Highcharts,"displayError",{chart:o,code:t,message:a,params:r},function(){if(i)throw Error(a);C.console&&-1===e.messages.indexOf(a)&&console.warn(a)}),e.messages.push(a)}function i(t,e){return parseInt(t,e||10)}function o(t){return"string"==typeof t}function r(t){return"[object Array]"===(t=Object.prototype.toString.call(t))||"[object Array Iterator]"===t}function s(t,e){return!(!t||"object"!=typeof t||e&&r(t))}function n(t){return s(t)&&"number"==typeof t.nodeType}function a(t){var e=t&&t.constructor;return!(!s(t,!0)||n(t)||!e||!e.name||"Object"===e.name)}function h(t){return"number"==typeof t&&!isNaN(t)&&1/0>t&&-1/0<t}function l(t){return null!=t}function c(t,e,i){var r;return o(e)?l(i)?t.setAttribute(e,i):t&&t.getAttribute&&((r=t.getAttribute(e))||"class"!==e||(r=t.getAttribute(e+"Name"))):m(e,function(e,i){t.setAttribute(i,e)}),r}function d(t,e){var i;for(i in t||(t={}),e)t[i]=e[i];return t}function p(){for(var t=arguments,e=t.length,i=0;i<e;i++){var o=t[i];if(null!=o)return o}}function u(e,i){t.isMS&&!t.svg&&i&&void 0!==i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")"),d(e.style,i)}function f(t,e,i,o,r){return t=w.createElement(t),e&&d(t,e),r&&u(t,{padding:"0",border:"none",margin:"0"}),i&&u(t,i),o&&o.appendChild(t),t}function g(t,e){return parseFloat(t.toPrecision(e||14))}function m(t,e,i){for(var o in t)Object.hasOwnProperty.call(t,o)&&e.call(i||t[o],t[o],o,t)}function y(e,i,o){function r(i,o){var r=e.removeEventListener||t.removeEventListenerPolyfill;r&&r.call(e,i,o,!1)}function s(t){var o;if(e.nodeName){if(i){var s={};s[i]=!0}else s=t;m(s,function(e,i){if(t[i])for(o=t[i].length;o--;)r(i,t[i][o].fn)})}}var n="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(n,"hcEvents")){var a=n.hcEvents;i?(n=a[i]||[],o?(a[i]=n.filter(function(t){return o!==t.fn}),r(i,o)):(s(a),a[i]=[])):(s(a),delete n.hcEvents)}}function v(e,i,o,r){if(o=o||{},w.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){var s=w.createEvent("Events");s.initEvent(i,!0,!0),o=d(s,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(i,o)}else if(e.hcEvents){o.target||d(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:i}),s=[];for(var n=e,a=!1;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[i]&&(s.length&&(a=!0),s.unshift.apply(s,n.hcEvents[i])),n=Object.getPrototypeOf(n);a&&s.sort(function(t,e){return t.order-e.order}),s.forEach(function(t){!1===t.fn.call(e,o)&&o.preventDefault()})}r&&!o.defaultPrevented&&r.call(e,o)}var x,b=t.charts,w=t.doc,C=t.win;(e||(e={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){var i,o=t.length;for(i=0;i<o;i++)if(e(t[i],i))return t[i]};m({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,o){t[o]=function(t){var r;return e(32,!1,void 0,((r={})["Highcharts."+o]="use Array."+i,r)),Array.prototype[i].apply(t,[].slice.call(arguments,1))}});var k,M=function(){var t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(k?"":t)+e++}}();return C.jQuery&&(C.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[o(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):b[c(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,o,r){void 0===r&&(r={});var s="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={}),s=s.hcEvents,t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);var n=e.addEventListener||t.addEventListenerPolyfill;return n&&n.call(e,i,o,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),s[i]||(s[i]=[]),s[i].push({fn:o,order:"number"==typeof r.order?r.order:1/0}),s[i].sort(function(t,e){return t.order-e.order}),function(){y(e,i,o)}},arrayMax:function(t){for(var e=t.length,i=t[0];e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){for(var e=t.length,i=t[0];e--;)t[e]<i&&(i=t[e]);return i},attr:c,clamp:function(t,e,i){return t>e?t<i?t:i:e},cleanRecursively:function t(e,i){var o={};return m(e,function(r,n){s(e[n],!0)&&!e.nodeType&&i[n]?(r=t(e[n],i[n]),Object.keys(r).length&&(o[n]=r)):(s(e[n])||e[n]!==i[n])&&(o[n]=e[n])}),o},clearTimeout:function(t){l(t)&&clearTimeout(t)},correctFloat:g,createElement:f,css:u,defined:l,destroyObjectProperties:function(t,e){m(t,function(i,o){i&&i!==e&&i.destroy&&i.destroy(),delete t[o]})},discardElement:function(t){x||(x=f("div")),t&&x.appendChild(t),x.innerHTML=""},erase:function(t,e){for(var i=t.length;i--;)if(t[i]===e){t.splice(i,1);break}},error:e,extend:d,extendClass:function(t,e){var i=function(){};return d(i.prototype=new t,e),i},find:S,fireEvent:v,getMagnitude:function(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))},getNestedProperty:function(t,e){for(t=t.split(".");t.length&&l(e);){var i=t.shift();if(void 0===i||"__proto__"===i)return;if(!l(e=e[i])||"function"==typeof e||"number"==typeof e.nodeType||e===C)return}return e},getStyle:function o(r,s,n){var a=t.getStyle||o;if("width"===s)return s=Math.min(r.offsetWidth,r.scrollWidth),(n=r.getBoundingClientRect&&r.getBoundingClientRect().width)<s&&n>=s-1&&(s=Math.floor(n)),Math.max(0,s-(a(r,"padding-left",!0)||0)-(a(r,"padding-right",!0)||0));if("height"===s)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(a(r,"padding-top",!0)||0)-(a(r,"padding-bottom",!0)||0));if(C.getComputedStyle||e(27,!0),r=C.getComputedStyle(r,void 0)){var h=r.getPropertyValue(s);p(n,"opacity"!==s)&&(h=i(h))}return h},inArray:function(t,i,o){return e(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,o)},isArray:r,isClass:a,isDOMElement:n,isFunction:function(t){return"function"==typeof t},isNumber:h,isObject:s,isString:o,keys:function(t){return e(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){var t,e=arguments,i={},o=function(t,e){return"object"!=typeof t&&(t={}),m(e,function(i,r){"__proto__"!==r&&"constructor"!==r&&(t[r]=!s(i,!0)||a(i)||n(i)?e[r]:o(t[r]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));var r=e.length;for(t=0;t<r;t++)i=o(i,e[t]);return i},normalizeTickInterval:function(t,e,i,o,r){var s=t,n=t/(i=p(i,1));for(e||(e=r?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===o&&(1===i?e=e.filter(function(t){return 0==t%1}):.1>=i&&(e=[1/i]))),o=0;o<e.length&&(s=e[o],!(r&&s*i>=t||!r&&n<=(e[o]+(e[o+1]||e[o]))/2));o++);return g(s*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:m,offset:function(t){var e=w.documentElement;return{top:(t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(C.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(C.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:p,pInt:i,relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:y,splat:function(t){return r(t)?t:[t]},stableSort:function(t,e){var i,o,r=t.length;for(o=0;o<r;o++)t[o].safeI=o;for(t.sort(function(t,o){return 0===(i=e(t,o))?t.safeI-o.safeI:i}),o=0;o<r;o++)delete t[o].safeI},syncTimeout:function(t,e,i){return 0<e?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:M,useSerialIds:function(t){return k=p(t,k)},wrap:function(t,e,i){var o=t[e];t[e]=function(){var t=Array.prototype.slice.call(arguments),e=arguments,r=this;return r.proceed=function(){o.apply(r,arguments.length?arguments:e)},t.unshift(o),t=i.apply(this,t),r.proceed=null,t}}}}),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.isNumber,o=e.merge,r=e.pInt;return e=function(){function e(i){return this.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(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],this.rgba=[],t.Color!==e?new t.Color(i):this instanceof e?void this.init(i):new e(i)}return e.parse=function(t){return new e(t)},e.prototype.init=function(t){var i,o;if((this.input=t=e.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new e(t[1])});else{if(t&&t.charAt&&"#"===t.charAt()){var r=t.length;t=parseInt(t.substr(1),16),7===r?i=[(16711680&t)>>16,(65280&t)>>8,255&t,1]:4===r&&(i=[(3840&t)>>4|(3840&t)>>8,(240&t)>>4|240&t,(15&t)<<4|15&t,1])}if(!i)for(o=this.parsers.length;o--&&!i;){var s=this.parsers[o];(r=s.regex.exec(t))&&(i=s.parse(r))}}this.rgba=i||[]},e.prototype.get=function(t){var e=this.input,r=this.rgba;if(void 0!==this.stops){var s=o(e);s.stops=[].concat(s.stops),this.stops.forEach(function(e,i){s.stops[i]=[s.stops[i][0],e.get(t)]})}else s=r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?r[3]:"rgba("+r.join(",")+")":e;return s},e.prototype.brighten=function(t){var e,o=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(e=0;3>e;e++)o[e]+=r(255*t),0>o[e]&&(o[e]=0),255<o[e]&&(o[e]=255);return this},e.prototype.setOpacity=function(t){return this.rgba[3]=t,this},e.prototype.tweenTo=function(t,e){var i=this.rgba,o=t.rgba;return o.length&&i&&i.length?((t=1!==o[3]||1!==i[3])?"rgba(":"rgb(")+Math.round(o[0]+(i[0]-o[0])*(1-e))+","+Math.round(o[1]+(i[1]-o[1])*(1-e))+","+Math.round(o[2]+(i[2]-o[2])*(1-e))+(t?","+(o[3]+(i[3]-o[3])*(1-e)):"")+")":t.input||"none"},e.names={white:"#ffffff",black:"#000000"},e}(),t.Color=e,t.color=e.parse,e}),e(i,"Core/Color/Palette.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),backgroundColor:"#ffffff",neutralColor100:"#000000",neutralColor80:"#333333",neutralColor60:"#666666",neutralColor40:"#999999",neutralColor20:"#cccccc",neutralColor10:"#e6e6e6",neutralColor5:"#f2f2f2",neutralColor3:"#f7f7f7",highlightColor100:"#003399",highlightColor80:"#335cad",highlightColor60:"#6685c2",highlightColor20:"#ccd6eb",highlightColor10:"#e6ebf5",positiveColor:"#06b535",negativeColor:"#f21313"}}),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.win,o=e.defined,r=e.error,s=e.extend,n=e.isObject,a=e.merge,h=e.objectEach,l=e.pad,c=e.pick,d=e.splat,p=e.timeUnits;return e=function(){function e(t){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}return e.prototype.get=function(t,e){if(this.variableTimezone||this.timezoneOffset){var i=e.getTime(),o=i-this.getTimezoneOffset(e);return e.setTime(o),t=e["getUTC"+t](),e.setTime(i),t}return this.useUTC?e["getUTC"+t]():e["get"+t]()},e.prototype.set=function(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&0==this.getTimezoneOffset(e)%36e5)return e["setUTC"+t](i);var o=this.getTimezoneOffset(e);return o=e.getTime()-o,e.setTime(o),e["setUTC"+t](i),t=this.getTimezoneOffset(e),o=e.getTime()+t,e.setTime(o)}return this.useUTC?e["setUTC"+t](i):e["set"+t](i)},e.prototype.update=function(t){var e=c(t&&t.useUTC,!0);this.options=t=a(!0,this.options||{},t),this.Date=t.Date||i.Date||Date,this.timezoneOffset=(this.useUTC=e)&&t.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)},e.prototype.makeTime=function(e,i,o,r,s,n){if(this.useUTC){var a=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(a),l=this.getTimezoneOffset(a+=h);h!==l?a+=l-h:h-36e5!==this.getTimezoneOffset(a-36e5)||t.isSafari||(a-=36e5)}else a=new this.Date(e,i,c(o,1),c(r,0),c(s,0),c(n,0)).getTime();return a},e.prototype.timezoneOffsetFunction=function(){var t=this,e=this.options,o=e.moment||i.moment;if(!this.useUTC)return function(t){return 6e4*new Date(t.toString()).getTimezoneOffset()};if(e.timezone){if(o)return function(t){return 6e4*-o.tz(t,e.timezone).utcOffset()};r(25)}return this.useUTC&&e.getTimezoneOffset?function(t){return 6e4*e.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(t.timezoneOffset||0)}},e.prototype.dateFormat=function(e,i,r){if(!o(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");var n=this,a=new this.Date(i),d=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,v=m&&m.shortWeekdays;return a=s({a:v?v[p]:y[p].substr(0,3),A:y[p],d:l(u),e:l(u,2," "),w:p,b:m.shortMonths[f],B:m.months[f],m:l(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:l(d),k:d,I:l(d%12||12),l:d%12||12,M:l(this.get("Minutes",a)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:l(a.getSeconds()),L:l(Math.floor(i%1e3),3)},t.dateFormats),h(a,function(t,o){for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(n,i):t)}),r?e.substr(0,1).toUpperCase()+e.substr(1):e},e.prototype.resolveDTLFormat=function(t){return n(t,!0)?t:{main:(t=d(t))[0],from:t[1],to:t[2]}},e.prototype.getTimeTicks=function(t,e,i,r){var n,a=this,h=[],l={},d=new a.Date(e),u=t.unitRange,f=t.count||1;if(r=c(r,1),o(e)){if(a.set("Milliseconds",d,u>=p.second?0:f*Math.floor(a.get("Milliseconds",d)/f)),u>=p.second&&a.set("Seconds",d,u>=p.minute?0:f*Math.floor(a.get("Seconds",d)/f)),u>=p.minute&&a.set("Minutes",d,u>=p.hour?0:f*Math.floor(a.get("Minutes",d)/f)),u>=p.hour&&a.set("Hours",d,u>=p.day?0:f*Math.floor(a.get("Hours",d)/f)),u>=p.day&&a.set("Date",d,u>=p.month?1:Math.max(1,f*Math.floor(a.get("Date",d)/f))),u>=p.month){a.set("Month",d,u>=p.year?0:f*Math.floor(a.get("Month",d)/f));var g=a.get("FullYear",d)}u>=p.year&&a.set("FullYear",d,g-g%f),u===p.week&&(g=a.get("Day",d),a.set("Date",d,a.get("Date",d)-g+r+(g<r?-7:0))),g=a.get("FullYear",d),r=a.get("Month",d);var m=a.get("Date",d),y=a.get("Hours",d);for(e=d.getTime(),!a.variableTimezone&&a.useUTC||!o(i)||(n=i-e>4*p.month||a.getTimezoneOffset(e)!==a.getTimezoneOffset(i)),e=d.getTime(),d=1;e<i;)h.push(e),e=u===p.year?a.makeTime(g+d*f,0):u===p.month?a.makeTime(g,r+d*f):!n||u!==p.day&&u!==p.week?n&&u===p.hour&&1<f?a.makeTime(g,r,m,y+d*f):e+u*f:a.makeTime(g,r,m+d*f*(u===p.day?1:7)),d++;h.push(e),u<=p.hour&&1e4>h.length&&h.forEach(function(t){0==t%18e5&&"000000000"===a.dateFormat("%H%M%S%L",t)&&(l[t]="day")})}return h.info=s(t,{higherRanks:l,totalRange:u*f}),h},e}(),t.Time=e,t.Time}),e(i,"Core/Options.js",[i["Core/Globals.js"],i["Core/Color/Color.js"],i["Core/Color/Palette.js"],i["Core/Time.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.isTouchDevice,n=t.svg;e=e.parse;var a=r.merge,h={colors:i.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},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}},zoomBySingleTouch:!1,width:null,height:null,borderColor:i.highlightColor80,backgroundColor:i.backgroundColor,plotBorderColor:i.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:i.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:i.neutralColor40,borderRadius:0,navigation:{activeColor:i.highlightColor100,inactiveColor:i.neutralColor20},itemStyle:{color:i.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:i.neutralColor100},itemHiddenStyle:{color:i.neutralColor20},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:i.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n,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:s?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:e(i.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:i.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:i.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};h.chart.styledMode=!1;var l=new o(a(h.global,h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(e){return a(!0,h,e),(e.time||e.global)&&(t.time?t.time.update(a(h.global,h.time,e.global,e.time)):t.time=l),h}}}),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.parse,r=e.win,s=i.isNumber,n=i.objectEach;return function(){function t(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}return t.prototype.dSetter=function(){var t=this.paths,e=t&&t[0];t=t&&t[1];var i=this.now||0,o=[];if(1!==i&&e&&t)if(e.length===t.length&&1>i)for(var r=0;r<t.length;r++){for(var n=e[r],a=t[r],h=[],l=0;l<a.length;l++){var c=n[l],d=a[l];h[l]=s(c)&&s(d)&&("A"!==a[0]||4!==l&&5!==l)?c+i*(d-c):d}o.push(h)}else o=t;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)},t.prototype.update=function(){var t=this.elem,e=this.prop,i=this.now,o=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,o&&o.call(t,i,this)},t.prototype.run=function(e,i,o){var s=this,n=s.options,a=function(t){return!a.stopped&&s.step(t)},h=r.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(var e=0;e<t.timers.length;e++)t.timers[e]()||t.timers.splice(e--,1);t.timers.length&&h(l)};e!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=i,this.unit=o,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===t.timers.push(a)&&h(l)):(delete n.curAnim[this.prop],n.complete&&0===Object.keys(n.curAnim).length&&n.complete.call(this.elem))},t.prototype.step=function(t){var e=+new Date,i=this.options,o=this.elem,r=i.complete,s=i.duration,a=i.curAnim;if(o.attr&&!o.element)t=!1;else if(t||e>=s+this.startTime){this.now=this.end,this.pos=1,this.update();var h=a[this.prop]=!0;n(a,function(t){!0!==t&&(h=!1)}),h&&r&&r.call(o),t=!1}else this.pos=i.easing((e-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},t.prototype.initPath=function(t,e,i){function o(t,e){for(;t.length<p;){var i=t[0],o=e[p-t.length];o&&"M"===i[0]&&(t[0]="C"===o[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]),t.unshift(i),h&&(i=t.pop(),t.push(t[t.length-1],i))}}function r(t,e){for(;t.length<p;)if("C"===(e=t[Math.floor(t.length/l)-1].slice())[0]&&(e[1]=e[5],e[2]=e[6]),h){var i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}var n=t.startX,a=t.endX;i=i.slice();var h=t.isArea,l=h?2:1;if(!(e=e&&e.slice()))return[i,i];if(n&&a&&a.length){for(t=0;t<n.length;t++){if(n[t]===a[0]){var c=t;break}if(n[0]===a[a.length-n.length+t]){c=t;var d=!0;break}if(n[n.length-1]===a[a.length-n.length+t]){c=n.length-t;break}}void 0===c&&(e=[])}if(e.length&&s(c)){var p=i.length+c*l;d?(o(e,i),r(i,e)):(o(i,e),r(e,i))}return[e,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,o(this.start).tweenTo(o(this.end),this.pos),null,!0)},t.timers=[],t}()}),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],function(t,e){function i(t){return h(t)?l({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function o(e,i){for(var o=t.timers.length;o--;)t.timers[o].elem!==e||i&&i!==t.timers[o].prop||(t.timers[o].stopped=!0)}var r=e.defined,s=e.getStyle,n=e.isArray,a=e.isNumber,h=e.isObject,l=e.merge,c=e.objectEach,d=e.pick;return{animate:function(e,i,r){var d,p,u,f="";if(!h(r)){var g=arguments;r={duration:g[2],easing:g[3],complete:g[4]}}a(r.duration)||(r.duration=400),r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=l(i),c(i,function(a,h){o(e,h),u=new t(e,r,h),p=void 0,"d"===h&&n(i.d)?(u.paths=u.initPath(e,e.pathArray,i.d),u.toD=i.d,d=0,p=1):e.attr?d=e.attr(h):(d=parseFloat(s(e,h))||0,"opacity"!==h&&(f="px")),p||(p=a),"string"==typeof p&&p.match("px")&&(p=p.replace(/px/g,"")),u.run(d,p,f)})},animObject:i,getDeferredAnimation:function(t,e,o){var s=i(e),n=0,a=0;return(o?[o]:t.series).forEach(function(t){t=i(t.options.animation),n=e&&r(e.defer)?s.defer:Math.max(n,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-a),duration:Math.min(n,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=d(t,e.options.chart.animation,!0)},stop:o}}),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.SVG_NS,o=e.attr,r=e.createElement,s=e.discardElement,n=e.error,a=e.isString,h=e.objectEach,l=e.splat,c=!1;try{c=!!(new DOMParser).parseFromString("","text/html")}catch(d){}return function(){function e(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}return e.filterUserAttributes=function(t){return h(t,function(i,o){var r=!0;-1===e.allowedAttributes.indexOf(o)&&(r=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(o)&&(r=a(i)&&e.allowedReferences.some(function(t){return 0===i.indexOf(t)})),r||(n("Highcharts warning: Invalid attribute '"+o+"' in config"),delete t[o])}),t},e.setElementHTML=function(t,i){t.innerHTML="",i&&new e(i).addToDOM(t)},e.prototype.addToDOM=function(r){return function r(s,a){var c;return l(s).forEach(function(s){var l=s.tagName,d=s.textContent?t.doc.createTextNode(s.textContent):void 0;if(l)if("#text"===l)var p=d;else if(-1!==e.allowedTags.indexOf(l)){l=t.doc.createElementNS("svg"===l?i:a.namespaceURI||i,l);var u=s.attributes||{};h(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"textContent"!==e&&(u[e]=t)}),o(l,e.filterUserAttributes(u)),d&&l.appendChild(d),r(s.children||[],l),p=l}else n("Highcharts warning: Invalid tagName '"+l+"' in config");p&&a.appendChild(p),c=p}),c}(this.nodes,r)},e.prototype.parseMarkup=function(t){var e=[];if(c)t=(new DOMParser).parseFromString(t,"text/html");else{var i=r("div");i.innerHTML=t,t={body:i}}var o=function(t,e){var i=t.nodeName.toLowerCase(),r={tagName:i};if("#text"===i){if(/^[\s]*$/.test(i=t.textContent||""))return;r.textContent=i}if(i=t.attributes){var s={};[].forEach.call(i,function(t){s[t.name]=t.value}),r.attributes=s}if(t.childNodes.length){var n=[];[].forEach.call(t.childNodes,function(t){o(t,n)}),n.length&&(r.children=n)}e.push(r)};return[].forEach.call(t.body.childNodes,function(t){return o(t,e)}),i&&s(i),e},e.allowedTags="a b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),e.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style result rowspan summary target tabindex text-align textAnchor textLength type valign width x x1 x2 y y1 y2 zIndex".split(" "),e.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),e}()}),e(i,"Core/FormatUtilities.js",[i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e,i,r){e=+e;var s=o.lang,l=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,c=t.toString().split("e"),d=e;if(-1===e)e=Math.min(l,20);else if(n(e)){if(e&&c[1]&&0>c[1]){var p=e+ +c[1];0<=p?(c[0]=(+c[0]).toExponential(p).split("e")[0],e=p):(c[0]=c[0].split(".")[0]||0,t=20>e?(c[0]*Math.pow(10,c[1])).toFixed(e):0,c[1]=0)}}else e=2;p=(Math.abs(c[1]?c[0]:t)+Math.pow(10,-Math.max(e,l)-1)).toFixed(e);var u=3<(l=String(h(p))).length?l.length%3:0;return i=a(i,s.decimalPoint),r=a(r,s.thousandsSep),t=(0>t?"-":"")+(u?l.substr(0,u)+r:""),t=0>+c[1]&&!d?"0":t+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(t+=i+p.slice(-e)),c[1]&&0!=+t&&(t+="e"+c[1]),t}var o=t.defaultOptions,r=t.defaultTime,s=e.getNestedProperty,n=e.isNumber,a=e.pick,h=e.pInt;return{dateFormat:function(t,e,i){return r.dateFormat(t,e,i)},format:function(t,e,n){var a="{",h=!1,l=/f$/,c=/\.([0-9])/,d=o.lang,p=n&&n.time||r;n=n&&n.numberFormatter||i;for(var u=[];t;){var f=t.indexOf(a);if(-1===f)break;var g=t.slice(0,f);if(h){if(g=g.split(":"),a=s(g.shift()||"",e),g.length&&"number"==typeof a)if(g=g.join(":"),l.test(g)){var m=parseInt((g.match(c)||["","-1"])[1],10);null!==a&&(a=n(a,m,d.decimalPoint,-1<g.indexOf(",")?d.thousandsSep:""))}else a=p.dateFormat(g,a);u.push(a)}else u.push(g);t=t.slice(f+1),a=(h=!h)?"}":"{"}return u.push(t),u.join("")},numberFormat:i}}),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.animate,a=t.animObject,h=t.stop,l=o.deg2rad,c=o.doc,d=o.noop,p=o.svg,u=o.SVG_NS,f=o.win,g=s.addEvent,m=s.attr,y=s.createElement,v=s.css,x=s.defined,b=s.erase,w=s.extend,C=s.fireEvent,S=s.isArray,k=s.isFunction,M=s.isNumber,A=s.isString,T=s.merge,P=s.objectEach,O=s.pick,E=s.pInt,L=s.syncTimeout,D=s.uniqueKey;return(t=function(){function t(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=u,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return t.prototype._defaultGetter=function(t){return t=O(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0),/^[\-0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},t.prototype._defaultSetter=function(t,e,i){i.setAttribute(e,t)},t.prototype.add=function(t){var e=this.renderer,i=this.element;if(t&&(this.parentGroup=t),this.parentInverted=t&&t.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,!t||t.handleZ||this.zIndex)var o=this.zIndexSetter();return o||(t?t.element:e.box).appendChild(i),this.onAdd&&this.onAdd(),this},t.prototype.addClass=function(t,e){var i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this},t.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},t.prototype.align=function(t,e,i){var o,r,s,n={},a=this.renderer,h=a.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||A(i))&&(this.alignTo=o=i||"renderer",b(h,this),h.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,o=this.alignTo),i=O(i,a[o],"scrollablePlotBox"===o?a.plotBox:void 0,a);var l=t.verticalAlign;return a=(i.x||0)+(t.x||0),h=(i.y||0)+(t.y||0),"right"===(o=t.align)?r=1:"center"===o&&(r=2),r&&(a+=(i.width-(t.width||0))/r),n[e?"translateX":"x"]=Math.round(a),"bottom"===l?s=1:"middle"===l&&(s=2),s&&(h+=(i.height-(t.height||0))/s),n[e?"translateY":"y"]=Math.round(h),this[this.placed?"animate":"attr"](n),this.placed=!0,this.alignAttr=n,this},t.prototype.alignSetter=function(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))},t.prototype.animate=function(t,e,i){var o=this,r=a(O(e,this.renderer.globalAnimation,!0));return e=r.defer,O(c.hidden,c.msHidden,c.webkitHidden,!1)&&(r.duration=0),0!==r.duration?(i&&(r.complete=i),L(function(){o.element&&n(o,t,r)},e)):(this.attr(t,void 0,i),P(t,function(t,e){r.step&&r.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this},t.prototype.applyTextOutline=function(t){var e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));var i=t.split(" ");if(t=i[i.length-1],(i=i[0])&&"none"!==i&&o.svg){this.fakeTS=!0,this.ySetter=this.xSetter,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();var r=c.createElementNS(u,"tspan");m(r,{class:"highcharts-text-outline",fill:t,stroke:t,"stroke-width":i,"stroke-linejoin":"round"}),[].forEach.call(e.childNodes,function(t){var e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(t){return e.removeAttribute(t)}),r.appendChild(e)});var s=c.createElementNS(u,"tspan");s.textContent="\u200b",["x","y"].forEach(function(t){var i=e.getAttribute(t);i&&s.setAttribute(t,i)}),r.appendChild(s),e.insertBefore(r,e.firstChild)}},t.prototype.attr=function(t,e,i,o){var r,s,n,a=this.element,l=this.symbolCustomAttribs,c=this;if("string"==typeof t&&void 0!==e){var d=t;(t={})[d]=e}return"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(P(t,function(e,i){s=!1,o||h(this,i),this.symbolName&&-1!==l.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),s=!0),!this.rotation||"x"!==i&&"y"!==i||(this.doTransform=!0),s||((n=this[i+"Setter"]||this._defaultSetter).call(this,e,i,a),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,e,n))},this),this.afterSetters()),i&&i.call(this),c},t.prototype.clip=function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":"none")},t.prototype.crisp=function(t,e){e=e||t.strokeWidth||0;var i=Math.round(e)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),x(t.strokeWidth)&&(t.strokeWidth=e),t},t.prototype.complexColor=function(t,e,o){var r,s,n,a,h,l,c,d,p,u,f,g=this.renderer,m=[];C(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(h=g.gradients,l=t.stops,p=o.radialReference,S(n=t[s])&&(t[s]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&p&&!x(n.gradientUnits)&&(n=T(n,g.getRadialAttr(p,a=n),{gradientUnits:"userSpaceOnUse"})),P(n,function(t,e){"id"!==e&&m.push(e,t)}),P(l,function(t){m.push(t)}),m=m.join(","),h[m])u=h[m].attr("id");else{n.id=u=D();var y=h[m]=g.createElement(s).attr(n).add(g.defs);y.radAttr=a,y.stops=[],l.forEach(function(t){0===t[1].indexOf("rgba")?(r=i.parse(t[1]),c=r.get("rgb"),d=r.get("a")):(c=t[1],d=1),t=g.createElement("stop").attr({offset:t[0],"stop-color":c,"stop-opacity":d}).add(y),y.stops.push(t)})}o.setAttribute(e,f="url("+g.url+"#"+u+")"),o.gradient=m,t.toString=function(){return f}}})},t.prototype.css=function(t){var e=this.styles,i={},o=this.element,r=["textOutline","textOverflow","width"],s="",n=!e;if(t&&t.color&&(t.fill=t.color),e&&P(t,function(t,o){e&&e[o]!==t&&(i[o]=t,n=!0)}),n){if(e&&(t=w(e,i)),t)if(null===t.width||"auto"===t.width)delete this.textWidth;else if("text"===o.nodeName.toLowerCase()&&t.width)var a=this.textWidth=E(t.width);if(this.styles=t,a&&!p&&this.renderer.forExport&&delete t.width,o.namespaceURI===this.SVG_NS){var h=function(t,e){return"-"+e.toLowerCase()};P(t,function(t,e){-1===r.indexOf(e)&&(s+=e.replace(/([A-Z])/g,h)+":"+t+";")}),s&&m(o,"style",s)}else v(o,t);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t&&t.textOutline&&this.applyTextOutline(t.textOutline))}return this},t.prototype.dashstyleSetter=function(t){var e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){var i=t.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(t=i.length;t--;)i[t]=""+E(i[t])*O(e,NaN);t=i.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}},t.prototype.destroy=function(){var t=this,e=t.element||{},i=t.renderer,o=e.ownerSVGElement,r=i.isSVG&&"SPAN"===e.nodeName&&t.parentGroup||void 0;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,h(t),t.clipPath&&o){var s=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1<t.getAttribute("clip-path").indexOf(s.element.id)&&t.removeAttribute("clip-path")}),t.clipPath=s.destroy()}if(t.stops){for(o=0;o<t.stops.length;o++)t.stops[o].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e),i.styledMode||t.destroyShadows();r&&r.div&&0===r.div.childNodes.length;)e=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=e;t.alignTo&&b(i.alignedObjects,t),P(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})},t.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(t){this.safeRemoveChild(t)},this),this.shadows=void 0},t.prototype.destroyTextPath=function(t,e){var i=t.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),e.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(t=this.textPathWrapper.element.childNodes;t.length;)i.appendChild(t[0]);i.removeChild(this.textPathWrapper.element)}}else(t.getAttribute("dx")||t.getAttribute("dy"))&&(t.removeAttribute("dx"),t.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},t.prototype.dSetter=function(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(function(t,e,i){return e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()},"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)},t.prototype.fadeOut=function(t){var e=this;e.animate({opacity:0},{duration:O(t,150),complete:function(){e.attr({y:-9999}).hide()}})},t.prototype.fillSetter=function(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)},t.prototype.getBBox=function(e,i){var o=this.renderer,r=this.element,s=this.styles,n=this.textStr,a=o.cache,h=o.cacheKeys,c=r.namespaceURI===this.SVG_NS;i=O(i,this.rotation,0);var d,p=o.styledMode?r&&t.prototype.getStyle.call(r,"font-size"):s&&s.fontSize;if(x(n)){var u=n.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",i,p,this.textWidth,s&&s.textOverflow,s&&s.fontWeight].join()}if(u&&!e&&(d=a[u]),!d){if(c||o.forExport){try{var f=this.fakeTS&&function(t){var e=r.querySelector(".highcharts-text-outline");e&&v(e,{display:t})};k(f)&&f("none"),d=r.getBBox?w({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight},k(f)&&f("")}catch(g){}(!d||0>d.width)&&(d={width:0,height:0})}else d=this.htmlGetBBox();if(o.isSVG&&(e=d.width,o=d.height,c&&(d.height=o={"11px,17":14,"13px,20":16}[s&&s.fontSize+","+Math.round(o)]||o),i&&(s=i*l,d.width=Math.abs(o*Math.sin(s))+Math.abs(e*Math.cos(s)),d.height=Math.abs(o*Math.cos(s))+Math.abs(e*Math.sin(s)))),u&&0<d.height){for(;250<h.length;)delete a[h.shift()];a[u]||h.push(u),a[u]=d}}return d},t.prototype.getStyle=function(t){return f.getComputedStyle(this.element||this,"").getPropertyValue(t)},t.prototype.hasClass=function(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)},t.prototype.hide=function(t){return this.attr(t?{y:-9999}:{visibility:"hidden"}),this},t.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},t.prototype.init=function(t,e){this.element="span"===e?y(e):c.createElementNS(this.SVG_NS,e),this.renderer=t,C(this,"afterInit")},t.prototype.invert=function(t){return this.inverted=t,this.updateTransform(),this},t.prototype.on=function(t,e){var i=this.onEvents;return i[t]&&i[t](),i[t]=g(this.element,t,e),this},t.prototype.opacitySetter=function(t,e,i){this.opacity=t=Number(Number(t).toFixed(3)),i.setAttribute(e,t)},t.prototype.removeClass=function(t){return this.attr("class",(""+this.attr("class")).replace(A(t)?new RegExp("(^| )"+t+"( |$)"):t," ").replace(/ +/g," ").trim())},t.prototype.removeTextOutline=function(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)},t.prototype.safeRemoveChild=function(t){var e=t.parentNode;e&&e.removeChild(t)},t.prototype.setRadialReference=function(t){var e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this},t.prototype.setTextPath=function(t,i){var o=this.element,r=this.text?this.text.element:o,s={textAnchor:"text-anchor"},n=!1,a=this.textPathWrapper,h=!a;i=T(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},i);var l=e.filterUserAttributes(i.attributes);if(t&&i&&i.enabled){a&&null===a.element.parentNode?(h=!0,a=a.destroy()):a&&this.removeTextOutline.call(a.parentGroup),this.options&&this.options.padding&&(l.dx=-this.options.padding),a||(this.textPathWrapper=a=this.renderer.createElement("textPath"),n=!0);var c=a.element;if((i=t.element.getAttribute("id"))||t.element.setAttribute("id",i=D()),h)for(r.setAttribute("y",0),M(l.dx)&&r.setAttribute("x",-l.dx),t=[].slice.call(r.childNodes),h=0;h<t.length;h++){var p=t[h];p.nodeType!==Node.TEXT_NODE&&"tspan"!==p.nodeName||c.appendChild(p)}n&&a&&a.add({element:r}),c.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+i),x(l.dy)&&(c.parentNode.setAttribute("dy",l.dy),delete l.dy),x(l.dx)&&(c.parentNode.setAttribute("dx",l.dx),delete l.dx),P(l,function(t,e){c.setAttribute(s[e]||e,t)}),o.removeAttribute("transform"),this.removeTextOutline.call(a),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=d}else a&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(o,t),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},t.prototype.shadow=function(t,e,i){var o,s=[],n=this.element,a=this.oldShadowOptions,h={color:r.neutralColor100,offsetX:1,offsetY:1,opacity:.15,width:3},l=!1;if(!0===t?o=h:"object"==typeof t&&(o=w(h,t)),o&&(o&&a&&P(o,function(t,e){t!==a[e]&&(l=!0)}),l&&this.destroyShadows(),this.oldShadowOptions=o),o){if(!this.shadows){var c=o.opacity/o.width,d=this.parentInverted?"translate(-1,-1)":"translate("+o.offsetX+", "+o.offsetY+")";for(h=1;h<=o.width;h++){var p=n.cloneNode(!1),u=2*o.width+1-2*h;m(p,{stroke:t.color||r.neutralColor100,"stroke-opacity":c*h,"stroke-width":u,transform:d,fill:"none"}),p.setAttribute("class",(p.getAttribute("class")||"")+" highcharts-shadow"),i&&(m(p,"height",Math.max(m(p,"height")-u,0)),p.cutHeight=u),e?e.element.appendChild(p):n.parentNode&&n.parentNode.insertBefore(p,n),s.push(p)}this.shadows=s}}else this.destroyShadows();return this},t.prototype.show=function(t){return this.attr({visibility:t?"inherit":"visible"})},t.prototype.strokeSetter=function(e,i,o){this[i]=e,this.stroke&&this["stroke-width"]?(t.prototype.fillSetter.call(this,this.stroke,"stroke",o),o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===e&&this.hasStroke?(o.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},t.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var t=this.getStyle("stroke-width"),e=0;if(t.indexOf("px")===t.length-2)e=E(t);else if(""!==t){var i=c.createElementNS(u,"rect");m(i,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)}return e},t.prototype.symbolAttr=function(t){var e=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){e[i]=O(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})},t.prototype.textSetter=function(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))},t.prototype.titleSetter=function(t){var e=this.element,i=e.getElementsByTagName("title")[0]||c.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=String(O(t,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},t.prototype.toFront=function(){var t=this.element;return t.parentNode.appendChild(t),this},t.prototype.translate=function(t,e){return this.attr({translateX:t,translateY:e})},t.prototype.updateShadows=function(t,e,i){var o=this.shadows;if(o)for(var r=o.length;r--;)i.call(o[r],"height"===t?Math.max(e-(o[r].cutHeight||0),0):"d"===t?this.d:e,t,o[r])},t.prototype.updateTransform=function(){var t=this.scaleX,e=this.scaleY,i=this.inverted,o=this.rotation,r=this.matrix,s=this.element,n=this.translateX||0,a=this.translateY||0;i&&(n+=this.width,a+=this.height),n=["translate("+n+","+a+")"],x(r)&&n.push("matrix("+r.join(",")+")"),i?n.push("rotate(90) scale(-1,1)"):o&&n.push("rotate("+o+" "+O(this.rotationOriginX,s.getAttribute("x"),0)+" "+O(this.rotationOriginY,s.getAttribute("y")||0)+")"),(x(t)||x(e))&&n.push("scale("+O(t,1)+" "+O(e,1)+")"),n.length&&s.setAttribute("transform",n.join(" "))},t.prototype.visibilitySetter=function(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t},t.prototype.xGetter=function(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)},t.prototype.zIndexSetter=function(t,e){var i=this.renderer,o=this.parentGroup,r=(o||i).element||i.box,s=this.element;i=r===i.box;var n,a=!1,h=this.added;if(x(t)?(s.setAttribute("data-z-index",t),this[e]===(t=+t)&&(h=!1)):x(this[e])&&s.removeAttribute("data-z-index"),this[e]=t,h){for((t=this.zIndex)&&o&&(o.handleZ=!0),n=(e=r.childNodes).length-1;0<=n&&!a;n--){h=(o=e[n]).getAttribute("data-z-index");var l=!x(h);o!==s&&(0>t&&l&&!i&&!n?(r.insertBefore(s,e[n]),a=!0):(E(h)<=t||l&&(!x(t)||0<=t))&&(r.insertBefore(s,e[n+1]||null),a=!0))}a||(r.insertBefore(s,e[i?3:0]||null),a=!0)}return a},t}()).prototype["stroke-widthSetter"]=t.prototype.strokeSetter,t.prototype.yGetter=t.prototype.xGetter,t.prototype.matrixSetter=t.prototype.rotationOriginXSetter=t.prototype.rotationOriginYSetter=t.prototype.rotationSetter=t.prototype.scaleXSetter=t.prototype.scaleYSetter=t.prototype.translateXSetter=t.prototype.translateYSetter=t.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},t}),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){a(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),s=e.defined,n=e.extend,a=e.isNumber,h=e.merge,l=e.pick,c=e.removeEvent;return function(e){function o(t,r,s,n,a,h,l,c,d,p){var u=e.call(this)||this;if(u.paddingSetter=i,u.paddingLeftSetter=i,u.paddingRightSetter=i,u.init(t,"g"),u.textStr=r,u.x=s,u.y=n,u.anchorX=h,u.anchorY=l,u.baseline=d,u.className=p,"button"!==p&&u.addClass("highcharts-label"),p&&u.addClass("highcharts-"+p),u.text=t.text("",0,0,c).attr({zIndex:1}),"string"==typeof a){var f=/^url\((.*?)\)$/.test(a);(u.renderer.symbols[a]||f)&&(u.symbolKey=a)}return u.bBox=o.emptyBBox,u.padding=3,u.baselineOffset=0,u.needsBox=t.styledMode||f,u.deferredAttr={},u.alignFactor=0,u}return r(o,e),o.prototype.alignSetter=function(t){(t={left:0,center:.5,right:1}[t])!==this.alignFactor&&(this.alignFactor=t,this.bBox&&a(this.xSetting)&&this.attr({x:this.xSetting}))},o.prototype.anchorXSetter=function(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)},o.prototype.anchorYSetter=function(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)},o.prototype.boxAttr=function(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e},o.prototype.css=function(e){if(e){var i,r={};e=h(e),o.textProps.forEach(function(t){void 0!==e[t]&&(r[t]=e[t],delete e[t])}),this.text.css(r),i="width"in r,"fontSize"in r||"fontWeight"in r?this.updateTextPadding():i&&this.updateBoxSize()}return t.prototype.css.call(this,e)},o.prototype.destroy=function(){c(this.element,"mouseenter"),c(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)},o.prototype.fillSetter=function(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)},o.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var t=this.padding,e=l(this.paddingLeft,t);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-t}},o.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},o.prototype.heightSetter=function(t){this.heightSetting=t},o.prototype.on=function(e,i){var o=this,r=o.text,s=r&&"SPAN"===r.element.tagName?r:void 0;if(s){var n=function(t){("mouseenter"===e||"mouseleave"===e)&&t.relatedTarget instanceof Element&&(o.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||s.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||i.call(o.element,t)};s.on(e,n)}return t.prototype.on.call(o,e,n||i),o},o.prototype.onAdd=function(){var t=this.textStr;this.text.add(this),this.attr({text:s(t)?t:"",x:this.x,y:this.y}),this.box&&s(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},o.prototype.rSetter=function(t,e){this.boxAttr(e,t)},o.prototype.shadow=function(t){return t&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(t)),this},o.prototype.strokeSetter=function(t,e){this.stroke=t,this.boxAttr(e,t)},o.prototype["stroke-widthSetter"]=function(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)},o.prototype["text-alignSetter"]=function(t){this.textAlign=t},o.prototype.textSetter=function(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()},o.prototype.updateBoxSize=function(){var t=this.text.element.style,e={},i=this.padding,r=this.bBox=a(this.widthSetting)&&a(this.heightSetting)&&!this.textAlign||!s(this.text.textStr)?o.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||r.height||0)+2*i,this.baselineOffset=i+Math.min(this.renderer.fontMetrics(t&&t.fontSize,this.text).b,r.height||1/0),this.needsBox&&(this.box||((t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)),t=this.getCrispAdjust(),e.x=t,e.y=(this.baseline?-this.baselineOffset:0)+t,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(n(e,this.deferredAttr)),this.deferredAttr={})},o.prototype.updateTextPadding=function(){var t=this.text;this.updateBoxSize();var e=this.baseline?0:this.baselineOffset,i=l(this.paddingLeft,this.padding);s(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(i+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),i===t.x&&e===t.y||(t.attr("x",i),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=i,t.y=e},o.prototype.widthSetter=function(t){this.widthSetting=a(t)?t:void 0},o.prototype.getPaddedWidth=function(){var t=this.padding,e=l(this.paddingLeft,t);return t=l(this.paddingRight,t),(this.widthSetting||this.bBox.width||0)+e+t},o.prototype.xSetter=function(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)},o.prototype.ySetter=function(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)},o.emptyBBox={width:0,height:0,x:0,y:0},o.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),o}(t)}),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i){var o=t.doc,r=t.SVG_NS,s=e.attr,n=e.isString,a=e.objectEach,h=e.pick;return function(){function t(t){var e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace),this.fontSize=e&&e.fontSize}return t.prototype.buildSVG=function(){var t=this.svgElement,e=t.element,r=t.renderer,s=h(t.textStr,"").toString(),a=-1!==s.indexOf("<"),l=e.childNodes,c=l.length;r=this.width&&!t.added&&r.box;var d=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(d!==t.textCache){for(t.textCache=d,delete t.actualWidth;c--;)e.removeChild(l[c]);a||this.ellipsis||this.width||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))?""!==s&&(r&&r.appendChild(e),s=new i(s),this.modifyTree(s.nodes),s.addToDOM(t.element),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(e)):e.appendChild(o.createTextNode(this.unescapeEntities(s))),n(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}},t.prototype.modifyDOM=function(){var t=this,e=this.svgElement,i=s(e.element,"x");[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),function(e){e.nextSibling&&e.previousSibling&&s(e,{dy:t.getLineHeight(e.nextSibling),x:i})});var n=this.width||0;if(n){var a=function(a,h){var l=a.textContent||"",c=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!t.noWrap&&(1<c.length||1<e.element.childNodes.length),p=t.getLineHeight(h),u=0,f=e.actualWidth;if(t.ellipsis)l&&t.truncate(a,l,void 0,0,Math.max(0,n-parseInt(t.fontSize||12,10)),function(t,e){return t.substring(0,e)+"\u2026"});else if(d){for(l=[],d=[];h.firstChild&&h.firstChild!==a;)d.push(h.firstChild),h.removeChild(h.firstChild);for(;c.length;)c.length&&!t.noWrap&&0<u&&(l.push(a.textContent||""),a.textContent=c.join(" ").replace(/- /g,"-")),t.truncate(a,void 0,c,0===u&&f||0,n,function(t,e){return c.slice(0,e).join(" ").replace(/- /g,"-")}),f=e.actualWidth,u++;d.forEach(function(t){h.insertBefore(t,a)}),l.forEach(function(t){h.insertBefore(o.createTextNode(t),a),(t=o.createElementNS(r,"tspan")).textContent="\u200b",s(t,{dy:p,x:i}),h.insertBefore(t,a)})}},h=function(t){[].slice.call(t.childNodes).forEach(function(i){i.nodeType===Node.TEXT_NODE?a(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}},t.prototype.getLineHeight=function(t){var e;return t=t.nodeType===Node.TEXT_NODE?t.parentElement:t,this.renderer.styledMode||(e=t&&/(px|em)$/.test(t.style.fontSize)?t.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e,t||this.svgElement.element).h},t.prototype.modifyTree=function(t){var e=this,i=function(o,r){var s=o.tagName,a=e.renderer.styledMode,h=o.attributes||{};"b"===s||"strong"===s?a?h.class="highcharts-strong":h.style="font-weight:bold;"+(h.style||""):"i"!==s&&"em"!==s||(a?h.class="highcharts-emphasized":h.style="font-style:italic;"+(h.style||"")),n(h.style)&&(h.style=h.style.replace(/(;| |^)color([ :])/,"$1fill$2")),"br"===s&&(h.class="highcharts-br",o.textContent="\u200b",(r=t[r+1])&&r.textContent&&(r.textContent=r.textContent.replace(/^ +/gm,""))),"#text"!==s&&"a"!==s&&(o.tagName="tspan"),o.attributes=h,o.children&&o.children.filter(function(t){return"#text"!==t.tagName}).forEach(i)};for(t.forEach(i);t[0]&&"tspan"===t[0].tagName&&!t[0].children;)t.splice(0,1)},t.prototype.truncate=function(t,e,i,o,r,s){var n,a=this.svgElement,h=a.renderer,l=a.rotation,c=[],d=i?1:0,p=(e||i||"").length,u=p,f=function(r,n){n=n||r;var l=t.parentNode;if(l&&void 0===c[n])if(l.getSubStringLength)try{c[n]=o+l.getSubStringLength(0,i?n+1:n)}catch(d){}else h.getSpanWidth&&(t.textContent=s(e||i,r),c[n]=o+h.getSpanWidth(a,t));return c[n]};a.rotation=0;var g=f(t.textContent.length);if(o+g>r){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=s(i,u)),g=f(u,n&&n.length-1),d===p?d=p+1:g>r?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||s(e||i,u))}i&&i.splice(0,u),a.actualWidth=g,a.rotation=l},t.prototype.unescapeEntities=function(t,e){return a(this.renderer.escapes,function(i,o){e&&-1!==e.indexOf(i)||(t=t.toString().replace(new RegExp(i,"g"),o))}),t},t}()}),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=a.addEvent,c=a.attr,d=a.createElement,p=a.css,u=a.defined,f=a.destroyObjectProperties,g=a.extend,m=a.isArray,y=a.isNumber,v=a.isObject,x=a.isString,b=a.merge,w=a.pick,C=a.pInt,S=a.uniqueKey,k=e.charts,M=e.deg2rad,A=e.doc,T=e.isFirefox,P=e.isMS,O=e.isWebKit,E=e.noop,L=e.SVG_NS,D=e.symbolSizes,j=e.win;(a=function(){function e(t,e,i,o,r,s,n){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(t,e,i,o,r,s,n)}return e.prototype.init=function(t,e,i,o,r,s,n){var a,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"});n||h.css(this.getStyle(o)),t.appendChild(o=h.element),c(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&c(o,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=o,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(A.createTextNode("Created with Highcharts 9.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=r,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(e,i,!1),T&&t.getBoundingClientRect&&((e=function(){p(t,{left:0,top:0}),a=t.getBoundingClientRect(),p(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=l(j,"resize",e))},e.prototype.definition=function(t){return new s([t]).addToDOM(this.defs.element)},e.prototype.getReferenceURL=function(){if((T||O)&&A.getElementsByTagName("base").length){if(!u(h)){var t=S();t=new s([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+t+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(A.body),p(t,{position:"fixed",top:0,left:0,zIndex:9e5});var e=A.elementFromPoint(6,6);h="hitme"===(e&&e.id),A.body.removeChild(t)}if(h)return j.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},e.prototype.getStyle=function(t){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},t)},e.prototype.setStyle=function(t){this.boxWrapper.css(this.getStyle(t))},e.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},e.prototype.destroy=function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),f(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},e.prototype.createElement=function(t){var e=new this.Element;return e.init(this,t),e},e.prototype.getRadialAttr=function(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}},e.prototype.buildText=function(t){new n(t).buildSVG()},e.prototype.getContrast=function(e){return(e=t.parse(e).rgba)[0]*=1,e[1]*=1.2,e[2]*=.5,459<e[0]+e[1]+e[2]?"#000000":"#FFFFFF"},e.prototype.button=function(t,e,o,r,n,a,h,c,d,p){var u=this.label(t,e,o,d,void 0,void 0,p,void 0,"button"),f=0,m=this.styledMode,y=n?b(n):{};if(t=y&&y.style||{},y=s.filterUserAttributes(y),u.attr(b({padding:8,r:2},y)),!m){var v=(y=b({fill:i.neutralColor3,stroke:i.neutralColor20,"stroke-width":1,style:{color:i.neutralColor80,cursor:"pointer",fontWeight:"normal"}},{style:t},y)).style;delete y.style;var x=(a=b(y,{fill:i.neutralColor10},s.filterUserAttributes(a||{}))).style;delete a.style;var w=(h=b(y,{fill:i.highlightColor10,style:{color:i.neutralColor100,fontWeight:"bold"}},s.filterUserAttributes(h||{}))).style;delete h.style;var C=(c=b(y,{style:{color:i.neutralColor20}},s.filterUserAttributes(c||{}))).style;delete c.style}return l(u.element,P?"mouseover":"mouseenter",function(){3!==f&&u.setState(1)}),l(u.element,P?"mouseout":"mouseleave",function(){3!==f&&u.setState(f)}),u.setState=function(t){1!==t&&(u.state=f=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),m||u.attr([y,a,h,c][t||0]).css([v,x,w,C][t||0])},m||u.attr(y).css(g({cursor:"default"},v)),u.on("touchstart",function(t){return t.stopPropagation()}).on("click",function(t){3!==f&&r.call(u,t)})},e.prototype.crispLine=function(t,e,i){void 0===i&&(i="round");var o=t[0],r=t[1];return o[1]===r[1]&&(o[1]=r[1]=Math[i](o[1])-e%2/2),o[2]===r[2]&&(o[2]=r[2]=Math[i](o[2])+e%2/2),t},e.prototype.path=function(t){var e=this.styledMode?{}:{fill:"none"};return m(t)?e.d=t:v(t)&&g(e,t),this.createElement("path").attr(e)},e.prototype.circle=function(t,e,i){return t=v(t)?t:void 0===t?{}:{x:t,y:e,r:i},(e=this.createElement("circle")).xSetter=e.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},e.attr(t)},e.prototype.arc=function(t,e,i,o,r,s){return v(t)?(e=(o=t).y,i=o.r,t=o.x):o={innerR:o,start:r,end:s},(t=this.symbol("arc",t,e,i,i,o)).r=i,t},e.prototype.rect=function(t,e,i,o,r,s){r=v(t)?t.r:r;var n=this.createElement("rect");return t=v(t)?t:void 0===t?{}:{x:t,y:e,width:Math.max(i,0),height:Math.max(o,0)},this.styledMode||(void 0!==s&&(t["stroke-width"]=s,t=n.crisp(t)),t.fill="none"),r&&(t.r=r),n.rSetter=function(t,e,i){n.r=t,c(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(t)},e.prototype.setSize=function(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(i,!0)?void 0:0}),this.alignElements()},e.prototype.g=function(t){var e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e},e.prototype.image=function(t,e,i,o,r,s){var n={preserveAspectRatio:"none"},a=function(t,e){t.setAttributeNS?t.setAttributeNS("http://www.w3.org/1999/xlink","href",e):t.setAttribute("hc-svg-href",e)},h=function(e){a(c.element,t),s.call(c,e)};1<arguments.length&&g(n,{x:e,y:i,width:o,height:r});var c=this.createElement("image").attr(n);return s?(a(c.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),n=new j.Image,l(n,"load",h),n.src=t,n.complete&&h({})):a(c.element,t),c},e.prototype.symbol=function(t,e,i,o,r,s){var n,a=this,h=/^url\((.*?)\)$/,l=h.test(t),c=!l&&(this.symbols[t]?t:"circle"),f=c&&this.symbols[c];if(f){"number"==typeof e&&(n=f.call(this.symbols,Math.round(e||0),Math.round(i||0),o||0,r||0,s));var m=this.path(n);a.styledMode||m.attr("fill","none"),g(m,{symbolName:c,x:e,y:i,width:o,height:r}),s&&g(m,s)}else if(l){var y=t.match(h)[1];(m=this.image(y)).imgwidth=w(D[y]&&D[y].width,s&&s.width),m.imgheight=w(D[y]&&D[y].height,s&&s.height);var v=function(){m.attr({width:m.width,height:m.height})};["width","height"].forEach(function(t){m[t+"Setter"]=function(t,e){var i=this["img"+e];this[e]=t,u(i)&&(s&&"within"===s.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(e,i),this.alignByTranslate||(t=((this[e]||0)-i)/2,this.attr("width"===e?{translateX:t}:{translateY:t})))}}),u(e)&&m.attr({x:e,y:i}),m.isImg=!0,u(m.imgwidth)&&u(m.imgheight)?v():(m.attr({width:0,height:0}),d("img",{onload:function(){var t=k[a.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),A.body.appendChild(this)),D[y]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&v(),this.parentNode&&this.parentNode.removeChild(this),a.imgCount--,a.imgCount||!t||t.hasLoaded||t.onload()},src:y}),this.imgCount++)}return m},e.prototype.clipRect=function(t,e,i,o){var r=S()+"-",s=this.createElement("clipPath").attr({id:r}).add(this.defs);return(t=this.rect(t,e,i,o,0).add(s)).id=r,t.clipPath=s,t.count=0,t},e.prototype.text=function(t,e,i,o){var r={};return!o||!this.allowHTML&&this.forExport?(r.x=Math.round(e||0),i&&(r.y=Math.round(i)),u(t)&&(r.text=t),t=this.createElement("text").attr(r),o||(t.xSetter=function(t,e,i){var o,r=i.getElementsByTagName("tspan"),s=i.getAttribute(e);for(o=0;o<r.length;o++){var n=r[o];n.getAttribute(e)===s&&n.setAttribute(e,t)}i.setAttribute(e,t)}),t):this.html(t,e,i)},e.prototype.fontMetrics=function(t,e){return t=!this.styledMode&&/px/.test(t)||!j.getComputedStyle?t||e&&e.style&&e.style.fontSize||this.style&&this.style.fontSize:e&&o.prototype.getStyle.call(e,"font-size"),{h:e=24>(t=/px/.test(t)?C(t):12)?t+3:Math.round(1.2*t),b:Math.round(.8*e),f:t}},e.prototype.rotCorr=function(t,e,i){var o=t;return e&&i&&(o=Math.max(o*Math.cos(e*M),4)),{x:-t/3*Math.sin(e*M),y:o}},e.prototype.pathToSegments=function(t){for(var e=[],i=[],o={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},r=0;r<t.length;r++)x(i[0])&&y(t[r])&&i.length===o[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[r]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e},e.prototype.label=function(t,e,i,o,s,n,a,h,l){return new r(this,t,e,i,o,s,n,a,h,l)},e.prototype.alignElements=function(){this.alignedObjects.forEach(function(t){return t.align()})},e}()).prototype.Element=o,a.prototype.SVG_NS=L,a.prototype.draw=E,a.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};var I=function(t,e,i,o,r){return[["M",t+(r=r&&r.r||0),e],["L",t+i-r,e],["C",t+i,e,t+i,e,t+i,e+r],["L",t+i,e+o-r],["C",t+i,e+o,t+i,e+o,t+i-r,e+o],["L",t+r,e+o],["C",t,e+o,t,e+o,t,e+o-r],["L",t,e+r],["C",t,e,t,e,t+r,e]]};return a.prototype.symbols={circle:function(t,e,i,o){return this.arc(t+i/2,e+o/2,i/2,o/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},rect:E=function(t,e,i,o,r){return r&&r.r?I(t,e,i,o,r):[["M",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},square:E,triangle:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},"triangle-down":function(t,e,i,o){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+o],["Z"]]},diamond:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o/2],["L",t+i/2,e+o],["L",t,e+o/2],["Z"]]},arc:function(t,e,i,o,r){var s=[];if(r){var n=r.start||0,a=w(r.r,i);i=w(r.r,o||i);var h=(r.end||0)-.001;o=r.innerR;var l=w(r.open,.001>Math.abs((r.end||0)-n-2*Math.PI)),c=Math.cos(n),d=Math.sin(n),p=Math.cos(h),f=Math.sin(h);n=w(r.longArc,.001>h-n-Math.PI?0:1),s.push(["M",t+a*c,e+i*d],["A",a,i,0,n,w(r.clockwise,1),t+a*p,e+i*f]),u(o)&&s.push(l?["M",t+o*p,e+o*f]:["L",t+o*p,e+o*f],["A",o,o,0,n,u(r.clockwise)?1-r.clockwise:0,t+o*c,e+o*d]),l||s.push(["Z"])}return s},callout:function(t,e,i,o,r){var s=Math.min(r&&r.r||0,i,o),n=s+6,a=r&&r.anchorX;r=r&&r.anchorY||0;var h=I(t,e,i,o,{r:s});return y(a)?(t+a>=i?r>e+n&&r<e+o-n?h.splice(3,1,["L",t+i,r-6],["L",t+i+6,r],["L",t+i,r+6],["L",t+i,e+o-s]):h.splice(3,1,["L",t+i,o/2],["L",a,r],["L",t+i,o/2],["L",t+i,e+o-s]):0>=t+a?r>e+n&&r<e+o-n?h.splice(7,1,["L",t,r+6],["L",t-6,r],["L",t,r-6],["L",t,e+s]):h.splice(7,1,["L",t,o/2],["L",a,r],["L",t,o/2],["L",t,e+s]):r&&r>o&&a>t+n&&a<t+i-n?h.splice(5,1,["L",a+6,e+o],["L",a,e+o+6],["L",a-6,e+o],["L",t+s,e+o]):r&&0>r&&a>t+n&&a<t+i-n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-s,e]),h):h}},e.SVGRenderer=a,e.Renderer=e.SVGRenderer,e.Renderer}),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.isFirefox,r=t.isMS,s=t.isWebKit,n=t.win,a=i.css,h=i.defined,l=i.extend,c=i.pick,d=i.pInt;return l(e.prototype,{htmlCss:function(t){var e="SPAN"===this.element.tagName&&t&&"width"in t,i=c(e&&t.width,void 0);if(e){delete t.width,this.textWidth=i;var o=!0}return t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=l(this.styles,t),a(this.element,t),o&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var t=this.element;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var t=this.renderer,e=this.element,i=this.translateX||0,o=this.translateY||0,r=this.x||0,s=this.y||0,n=this.textAlign||"left",l={left:0,center:.5,right:1}[n],c=this.styles;if(c=c&&c.whiteSpace,a(e,{marginLeft:i,marginTop:o}),!t.styledMode&&this.shadows&&this.shadows.forEach(function(t){a(t,{marginLeft:i+1,marginTop:o+1})}),this.inverted&&[].forEach.call(e.childNodes,function(i){t.invertChild(i,e)}),"SPAN"===e.tagName){var p=this.rotation,u=void 0;u=this.textWidth&&d(this.textWidth);var f,g=[p,n,e.innerHTML,this.textWidth,this.textAlign].join();(f=u!==this.oldTextWidth)&&!(f=u>this.oldTextWidth)&&((f=this.textPxLength)||(a(e,{width:"",whiteSpace:c||"nowrap"}),f=e.offsetWidth),f=f>u),f&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)?(a(e,{width:u+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=u,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,g!==this.cTT&&(u=t.fontMetrics(e.style.fontSize,e).b,!h(p)||p===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(p,l,u),this.getSpanCorrection(!h(p)&&this.textPxLength||e.offsetWidth,u,l,p,n)),a(e,{left:r+(this.xCorr||0)+"px",top:s+(this.yCorr||0)+"px"}),this.cTT=g,this.oldRotation=p,this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(t,e,i){var h={},l=r&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":s?"-webkit-transform":o?"MozTransform":n.opera?"-o-transform":void 0;l&&(h[l]=h.transform="rotate("+t+"deg)",h[l+(o?"Origin":"-origin")]=h.transformOrigin=100*e+"% "+i+"px",a(this.element,h))},getSpanCorrection:function(t,e,i){this.xCorr=-t*i,this.yCorr=-e}}),e}),e(i,"Core/Renderer/HTML/HTMLRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.attr,s=o.createElement,n=o.extend,a=o.pick;return n(i.prototype,{html:function(i,o,h){var l=this.createElement("span"),c=l.element,d=l.renderer,p=d.isSVG,u=function(t,i){["opacity","visibility"].forEach(function(o){t[o+"Setter"]=function(r,s,n){var a=t.div?t.div.style:i;e.prototype[o+"Setter"].call(this,r,s,n),a&&(a[s]=r)}}),t.addedSetters=!0};return l.textSetter=function(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,a(e,"")),this.textStr=e,l.doTransform=!0)},p&&u(l,l.element.style),l.xSetter=l.ySetter=l.alignSetter=l.rotationSetter=function(t,e){"align"===e?l.alignValue=l.textAlign=t:l[e]=t,l.doTransform=!0},l.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},l.attr({text:i,x:Math.round(o),y:Math.round(h)}).css({position:"absolute"}),d.styledMode||l.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",l.css=l.htmlCss,p&&(l.add=function(t){var e=d.box.parentNode,i=[];if(this.parentGroup=t){var o=t.div;if(!o){for(;t;)i.push(t),t=t.parentGroup;i.reverse().forEach(function(t){function a(e,i){t[i]=e,"translateX"===i?d.left=e+"px":d.top=e+"px",t.doTransform=!0}var h=r(t.element,"class"),c=t.styles||{},d=(o=t.div=t.div||s("div",h?{className:h}:void 0,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,cursor:c.cursor,pointerEvents:c.pointerEvents},o||e)).style;n(t,{classSetter:function(t){return function(e){this.element.setAttribute("class",e),t.className=e}}(o),on:function(){return i[0].div&&l.on.apply({element:i[0].div,onEvents:l.onEvents},arguments),t},translateXSetter:a,translateYSetter:a}),t.addedSetters||u(t)})}}else o=e;return o.appendChild(c),l.added=!0,l.alignOnAdd&&l.htmlUpdateTransform(),l}),l}}),i}),e(i,"Core/Axis/Tick.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=e.deg2rad,r=i.clamp,s=i.correctFloat,n=i.defined,a=i.destroyObjectProperties,h=i.extend,l=i.fireEvent,c=i.isNumber,d=i.merge,p=i.objectEach,u=i.pick;return i=function(){function e(t,e,i,o,r){this.isNewLabel=this.isNew=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||o||this.addLabel()}return e.prototype.addLabel=function(){var e,i,o=this,r=o.axis,a=r.options,d=r.chart,p=r.categories,f=r.logarithmic,g=r.names,m=o.pos,y=u(o.options&&o.options.labels,a.labels),v=r.tickPositions,x=m===v[0],b=m===v[v.length-1],w=o.label,C=(!y.step||1===y.step)&&1===r.tickInterval;if(v=v.info,p=this.parameters.category||(p?u(p[m],g[m],m):m),f&&c(p)&&(p=s(f.lin2log(p))),r.dateTime&&v)var S=d.time.resolveDTLFormat(a.dateTimeLabelFormats[!a.grid&&v.higherRanks[m]||v.unitName]),k=S.main;o.isFirst=x,o.isLast=b;var M={axis:r,chart:d,dateTimeLabelFormat:k,isFirst:x,isLast:b,pos:m,tick:o,tickPositionInfo:v,value:p};l(this,"labelFormat",M);var A=function(e){return y.formatter?y.formatter.call(e,e):y.format?(e.text=r.defaultLabelFormatter.call(e),t.format(y.format,e,d)):r.defaultLabelFormatter.call(e,e)};a=A.call(M,M),(i=S&&S.list)&&(o.shortenLabel=function(){for(e=0;e<i.length;e++)if(h(M,{dateTimeLabelFormat:i[e]}),w.attr({text:A.call(M,M)}),w.getBBox().width<r.getSlotWidth(o)-2*y.padding)return;w.attr({text:""})}),C&&r._addedPlotLB&&o.moveLabel(a,y),n(w)||o.movedLabel?w&&w.textStr!==a&&!C&&(!w.textWidth||y.style.width||w.styles.width||w.css({width:null}),w.attr({text:a}),w.textPxLength=w.getBBox().width):(o.label=w=o.createLabel({x:0,y:0},a,y),o.rotation=0)},e.prototype.createLabel=function(t,e,i){var o=this.axis,r=o.chart;return(t=n(e)&&i.enabled?r.renderer.text(e,t.x,t.y,i.useHTML).add(o.labelGroup):null)&&(r.styledMode||t.css(d(i.style)),t.textPxLength=t.getBBox().width),t},e.prototype.destroy=function(){a(this,this.axis)},e.prototype.getPosition=function(t,e,i,o){var n=this.axis,a=n.chart,h=o&&a.oldChartHeight||a.chartHeight;return(t={x:t?s(n.translate(e+i,null,null,o)+n.transB):n.left+n.offset+(n.opposite?(o&&a.oldChartWidth||a.chartWidth)-n.right-n.left:0),y:t?h-n.bottom+n.offset-(n.opposite?n.height:0):s(h-n.translate(e+i,null,null,o)-n.transB)}).y=r(t.y,-1e5,1e5),l(this,"afterGetPosition",{pos:t}),t},e.prototype.getLabelPosition=function(t,e,i,r,s,a,h,c){var d=this.axis,p=d.transA,u=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,f=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},m=s.y,y=r||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),v={};return n(m)||(m=0===d.side?i.rotation?-8:-i.getBBox().height:2===d.side?g.y+8:Math.cos(i.rotation*o)*(g.y-i.getBBox(!1,0).height/2)),e=e+m-(a&&!r?a*p*(u?1:-1):0),f&&(i=h/(c||1)%f,d.opposite&&(i=f-i-1),e+=d.labelOffset/f*i),v.x=t=t+s.x+y+g.x-(a&&r?a*p*(u?-1:1):0),v.y=Math.round(e),l(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:a,index:h}),v},e.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},e.prototype.getMarkPath=function(t,e,i,o,r,s){return s.crispLine([["M",t,e],["L",t+(r?0:-i),e+(r?i:0)]],o)},e.prototype.handleOverflow=function(t){var e=this.axis,i=e.options.labels,r=t.x,s=e.chart.chartWidth,n=e.chart.spacing,a=u(e.labelLeft,Math.min(e.pos,n[3]));n=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,s-n[1]));var h,l=this.label,c=this.rotation,d={left:0,center:.5,right:1}[e.labelAlign||l.attr("align")],p=l.getBBox().width,f=e.getSlotWidth(this),g=f,m=1,y={};c||"justify"!==i.overflow?0>c&&r-d*p<a?h=Math.round(r/Math.cos(c*o)-a):0<c&&r+d*p>n&&(h=Math.round((s-r)/Math.cos(c*o))):(s=r+(1-d)*p,r-d*p<a?g=t.x+g*(1-d)-a:s>n&&(g=n-t.x+g*d,m=-1),(g=Math.min(f,g))<f&&"center"===e.labelAlign&&(t.x+=m*(f-g-d*(f-Math.min(p,g)))),(p>g||e.autoRotation&&(l.styles||{}).width)&&(h=g)),h&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(h)+"px",(i.style||{}).textOverflow||(y.textOverflow="ellipsis"),l.css(y)))},e.prototype.moveLabel=function(t,e){var i=this,o=i.label,r=!1,s=i.axis,n=s.reversed;if(o&&o.textStr===t?(i.movedLabel=o,r=!0,delete i.label):p(s.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||o)){var a=i.labelPos||o.xy;i.movedLabel=i.createLabel({x:o=s.horiz?n?0:s.width+s.left:a.x,y:s=s.horiz?a.y:n?s.width+s.left:0},t,e),i.movedLabel&&i.movedLabel.attr({opacity:0})}},e.prototype.render=function(t,e,i){var o=this.axis,r=o.horiz,s=this.pos,n=u(this.tickmarkOffset,o.tickmarkOffset);n=(s=this.getPosition(r,s,n,e)).x,o=r&&n===o.pos+o.len||!r&&s.y===o.pos?-1:1,r=u(i,this.label&&this.label.newOpacity,1),i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,o),this.renderMark(s,i,o),this.renderLabel(s,e,r,t),this.isNew=!1,l(this,"afterRender")},e.prototype.renderGridLine=function(t,e,i){var o=this.axis,r=o.options,s=this.gridLine,n={},a=this.pos,h=this.type,l=u(this.tickmarkOffset,o.tickmarkOffset),c=o.chart.renderer,d=r.gridLineWidth,p=r.gridLineColor,f=r.gridLineDashStyle;"minor"===this.type&&(d=r.minorGridLineWidth,p=r.minorGridLineColor,f=r.minorGridLineDashStyle),s||(o.chart.styledMode||(n.stroke=p,n["stroke-width"]=d||0,n.dashstyle=f),h||(n.zIndex=1),t&&(e=0),this.gridLine=s=c.path().attr(n).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(o.gridGroup)),s&&(i=o.getPlotLinePath({value:a+l,lineWidth:s.strokeWidth()*i,force:"pass",old:t}))&&s[t||this.isNew?"attr":"animate"]({d:i,opacity:e})},e.prototype.renderMark=function(t,e,i){var o=this.axis,r=o.options,s=o.chart.renderer,n=this.type,a=o.tickSize(n?n+"Tick":"tick"),h=this.mark,l=!h,c=t.x;t=t.y;var d=u(r["minor"!==n?"tickWidth":"minorTickWidth"],!n&&o.isXAxis?1:0);r=r["minor"!==n?"tickColor":"minorTickColor"],a&&(o.opposite&&(a[0]=-a[0]),l&&(this.mark=h=s.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(o.axisGroup),o.chart.styledMode||h.attr({stroke:r,"stroke-width":d})),h[l?"attr":"animate"]({d:this.getMarkPath(c,t,a[0],h.strokeWidth()*i,o.horiz,s),opacity:e}))},e.prototype.renderLabel=function(t,e,i,o){var r=this.axis,s=r.horiz,n=r.options,a=this.label,h=n.labels,l=h.step;r=u(this.tickmarkOffset,r.tickmarkOffset);var d=!0,p=t.x;t=t.y,a&&c(p)&&(a.xy=t=this.getLabelPosition(p,t,a,s,h,r,o,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?d=!1:!s||h.step||h.rotation||e||0===i||this.handleOverflow(t),l&&o%l&&(d=!1),d&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t),this.isNewLabel=!1):(a.attr("y",-9999),this.isNewLabel=!0))},e.prototype.replaceMovedLabel=function(){var t=this.label,e=this.axis,i=e.reversed;t&&!this.isNew&&(t.animate({x:e.horiz?i?e.left:e.width+e.left:t.xy.x,y:i=e.horiz?t.xy.y:i?e.width+e.top:e.top,opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},e}(),e.Tick=i,e.Tick}),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Options.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.animObject,h=r.defaultOptions,l=n.addEvent,c=n.arrayMax,d=n.arrayMin,p=n.clamp,u=n.correctFloat,f=n.defined,g=n.destroyObjectProperties,m=n.erase,y=n.error,v=n.extend,x=n.fireEvent,b=n.getMagnitude,w=n.isArray,C=n.isFunction,S=n.isNumber,k=n.isString,M=n.merge,A=n.normalizeTickInterval,T=n.objectEach,P=n.pick,O=n.relativeLength,E=n.removeEvent,L=n.splat,D=n.syncTimeout,j=i.deg2rad;return t=function(){function t(t,e){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0,this.init(t,e)}return t.prototype.init=function(t,e){var i=e.isX,o=this;o.chart=t,o.horiz=t.inverted&&!o.isZAxis?!i:i,o.isXAxis=i,o.coll=o.coll||(i?"xAxis":"yAxis"),x(this,"init",{userOptions:e}),o.opposite=P(e.opposite,o.opposite),o.side=P(e.side,o.side,o.horiz?o.opposite?0:2:o.opposite?1:3),o.setOptions(e);var r=this.options,s=r.labels,n=r.type;o.userOptions=e,o.minPixelPadding=0,o.reversed=P(r.reversed,o.reversed),o.visible=r.visible,o.zoomEnabled=r.zoomEnabled,o.hasNames="category"===n||!0===r.categories,o.categories=r.categories||o.hasNames,o.names||(o.names=[],o.names.keys={}),o.plotLinesAndBandsGroups={},o.positiveValuesOnly=!!o.logarithmic,o.isLinked=f(r.linkedTo),o.ticks={},o.labelEdge=[],o.minorTicks={},o.plotLinesAndBands=[],o.alternateBands={},o.len=0,o.minRange=o.userMinRange=r.minRange||r.maxZoom,o.range=r.range,o.offset=r.offset||0,o.max=null,o.min=null,e=P(r.crosshair,L(t.options.tooltip.crosshairs)[i?0:1]),o.crosshair=!0===e?{}:e,e=o.options.events,-1===t.axes.indexOf(o)&&(i?t.axes.splice(t.xAxis.length,0,o):t.axes.push(o),t[o.coll].push(o)),o.series=o.series||[],t.inverted&&!o.isZAxis&&i&&void 0===o.reversed&&(o.reversed=!0),o.labelRotation=S(s.rotation)?s.rotation:void 0,T(e,function(t,e){C(t)&&l(o,e,t)}),x(this,"afterInit")},t.prototype.setOptions=function(e){this.options=M(t.defaultOptions,"yAxis"===this.coll&&t.defaultYAxisOptions,[t.defaultTopAxisOptions,t.defaultRightAxisOptions,t.defaultBottomAxisOptions,t.defaultLeftAxisOptions][this.side],M(h[this.coll],e)),x(this,"afterSetOptions",{userOptions:e})},t.prototype.defaultLabelFormatter=function(){var t=this.axis,e=S(this.value)?this.value:NaN,i=t.chart.time,o=this.dateTimeLabelFormat,r=h.lang,s=r.numericSymbols;r=r.numericSymbolMagnitude||1e3;var n=s&&s.length,a=t.logarithmic?Math.abs(e):t.tickInterval,l=this.chart.numberFormatter;if(t.categories)var c=""+this.value;else if(o)c=i.dateFormat(o,e);else if(n&&1e3<=a)for(;n--&&void 0===c;)a>=(t=Math.pow(r,n+1))&&0==10*e%t&&null!==s[n]&&0!==e&&(c=l(e/t,-1)+s[n]);return void 0===c&&(c=1e4<=Math.abs(e)?l(e,-1):l(e,-1,void 0,"")),c},t.prototype.getSeriesExtremes=function(){var t,e=this,i=e.chart;x(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=null,e.softThreshold=!e.isXAxis,e.stacking&&e.stacking.buildStacks(),e.series.forEach(function(o){if(o.visible||!i.options.chart.ignoreHiddenSeries){var r=o.options,s=r.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=s&&(s=null),e.isXAxis){if((r=o.xData).length){r=e.logarithmic?r.filter(e.validatePositiveValue):r;var n=(t=o.getXExtremes(r)).min,a=t.max;S(n)||n instanceof Date||(r=r.filter(S),n=(t=o.getXExtremes(r)).min,a=t.max),r.length&&(e.dataMin=Math.min(P(e.dataMin,n),n),e.dataMax=Math.max(P(e.dataMax,a),a))}}else o=o.applyExtremes(),S(o.dataMin)&&(n=o.dataMin,e.dataMin=Math.min(P(e.dataMin,n),n)),S(o.dataMax)&&(a=o.dataMax,e.dataMax=Math.max(P(e.dataMax,a),a)),f(s)&&(e.threshold=s),(!r.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}})}),x(this,"afterGetSeriesExtremes")},t.prototype.translate=function(t,e,i,o,r,s){var n=this.linkedParent||this,a=1,h=0,l=o&&n.old?n.old.transA:n.transA;o=o&&n.old?n.old.min:n.min;var c=n.minPixelPadding;return r=(n.isOrdinal||n.brokenAxis&&n.brokenAxis.hasBreaks||n.logarithmic&&r)&&n.lin2val,l||(l=n.transA),i&&(a*=-1,h=n.len),n.reversed&&(h-=(a*=-1)*(n.sector||n.len)),e?(t=(t*a+h-c)/l+o,r&&(t=n.lin2val(t))):(r&&(t=n.val2lin(t)),t=S(o)?a*(t-o)*l+h+a*c+(S(s)?l*s:0):void 0),t},t.prototype.toPixels=function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},t.prototype.toValue=function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},t.prototype.getPlotLinePath=function(t){function e(t,e,i){return("pass"!==m&&t<e||t>i)&&(m?t=p(t,e,i):n=!0),t}var i,o,r,s,n,a=this,h=a.chart,l=a.left,c=a.top,d=t.old,u=t.value,f=t.translatedValue,g=t.lineWidth,m=t.force,y=d&&h.oldChartHeight||h.chartHeight,v=d&&h.oldChartWidth||h.chartWidth,b=a.transB;return x(this,"getPlotLinePath",t={value:u,lineWidth:g,old:d,force:m,acrossPanes:t.acrossPanes,translatedValue:f},function(t){f=P(f,a.translate(u,null,null,d)),f=p(f,-1e5,1e5),i=r=Math.round(f+b),o=s=Math.round(y-f-b),S(f)?a.horiz?(o=c,s=y-a.bottom,i=r=e(i,l,l+a.width)):(i=l,r=v-a.right,o=s=e(o,c,c+a.height)):(n=!0,m=!1),t.path=n&&!m?null:h.renderer.crispLine([["M",i,o],["L",r,s]],g||1)}),t.path},t.prototype.getLinearTickPositions=function(t,e,i){var o=u(Math.floor(e/t)*t);i=u(Math.ceil(i/t)*t);var r,s=[];if(u(o+t)===o&&(r=20),this.single)return[e];for(e=o;e<=i&&(s.push(e),(e=u(e+t,r))!==n);)var n=e;return s},t.prototype.getMinorTickInterval=function(){var t=this.options;return!0===t.minorTicks?P(t.minorTickInterval,"auto"):!1===t.minorTicks?null:t.minorTickInterval},t.prototype.getMinorTickPositions=function(){var t=this.options,e=this.tickPositions,i=this.minorTickInterval,o=[],r=this.pointRangePadding||0,s=this.min-r,n=(r=this.max+r)-s;if(n&&n/i<this.len/3){var a=this.logarithmic;if(a)this.paddedTicks.forEach(function(t,e,r){e&&o.push.apply(o,a.getLogTickPositions(i,r[e-1],r[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())o=o.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),s,r,t.startOfWeek));else for(t=s+(e[0]-s)%i;t<=r&&t!==o[0];t+=i)o.push(t)}return 0!==o.length&&this.trimTicks(o),o},t.prototype.adjustForMinRange=function(){var t,e,i,o,r=this.options,s=this.min,n=this.max,a=this.logarithmic,h=0;if(this.isXAxis&&void 0===this.minRange&&!a&&(f(r.min)||f(r.max)?this.minRange=null:(this.series.forEach(function(r){if(i=r.xData,o=r.xIncrement?1:i.length-1,1<i.length)for(t=o;0<t;t--)e=i[t]-i[t-1],(!h||e<h)&&(h=e)}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin))),n-s<this.minRange){var l=this.dataMax-this.dataMin>=this.minRange,p=this.minRange,u=(p-n+s)/2;u=[s-u,P(r.min,s-u)],l&&(u[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),n=[(s=c(u))+p,P(r.max,s+p)],l&&(n[2]=a?a.log2lin(this.dataMax):this.dataMax),(n=d(n))-s<p&&(u[0]=n-p,u[1]=P(r.min,n-p),s=c(u))}this.min=s,this.max=n},t.prototype.getClosest=function(){var t;return this.categories?t=1:this.series.forEach(function(e){var i=e.closestPointRange,o=e.visible||!e.chart.options.chart.ignoreHiddenSeries;!e.noSharedTooltip&&f(i)&&o&&(t=f(t)?Math.min(t,i):i)}),t},t.prototype.nameToX=function(t){var e=w(this.categories),i=e?this.categories:this.names,o=t.options.x;if(t.series.requireSorting=!1,f(o)||(o=this.options.uniqueNames?e?i.indexOf(t.name):P(i.keys[t.name],-1):t.series.autoIncrement()),-1===o){if(!e)var r=i.length}else r=o;return void 0!==r&&(this.names[r]=t.name,this.names.keys[t.name]=r),r},t.prototype.updateNames=function(){var t=this,e=this.names;0<e.length&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null,e.points&&!e.isDirtyData||(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,o){if(i&&i.options&&void 0!==i.name){var r=t.nameToX(i);void 0!==r&&r!==i.x&&(i.x=r,e.xData[o]=r)}})}))},t.prototype.setAxisTranslation=function(){var t,e=this,i=e.max-e.min,o=e.axisPointRange||0,r=0,s=0,n=e.linkedParent,a=!!e.categories,h=e.isXAxis;if(h||a||o){var l=e.getClosest();n?(r=n.minPointOffset,s=n.pointRangePadding):e.series.forEach(function(t){var i=a?1:h?P(t.options.pointRange,l,0):e.axisPointRange||0,n=t.options.pointPlacement;o=Math.max(o,i),e.single&&!a||(t=t.is("xrange")?!h:h,r=Math.max(r,t&&k(n)?0:i/2),s=Math.max(s,t&&"on"===n?0:i))}),e.minPointOffset=r*=n=e.ordinal&&e.ordinal.slope&&l?e.ordinal.slope/l:1,e.pointRangePadding=s*=n,e.pointRange=Math.min(o,e.single&&a?1:i),h&&(e.closestPointRange=l)}e.translationSlope=e.transA=t=e.staticScale||e.len/(i+s||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=t*r,x(this,"afterSetAxisTranslation")},t.prototype.minFromRange=function(){return this.max-this.range},t.prototype.setTickInterval=function(t){var e=this,i=e.chart,o=e.logarithmic,r=e.options,s=e.isXAxis,n=e.isLinked,a=r.maxPadding,h=r.minPadding,l=r.tickInterval,c=r.tickPixelInterval,d=e.categories,p=S(e.threshold)?e.threshold:null,g=e.softThreshold;e.dateTime||d||n||this.getTickAmount();var m=P(e.userMin,r.min),v=P(e.userMax,r.max);if(n){e.linkedParent=i[e.coll][r.linkedTo];var w=e.linkedParent.getExtremes();e.min=P(w.min,w.dataMin),e.max=P(w.max,w.dataMax),r.type!==e.linkedParent.options.type&&y(11,1,i)}else{if(g&&f(p))if(e.dataMin>=p)w=p,h=0;else if(e.dataMax<=p){var C=p;a=0}e.min=P(m,w,e.dataMin),e.max=P(v,C,e.dataMax)}o&&(e.positiveValuesOnly&&!t&&0>=Math.min(e.min,P(e.dataMin,e.min))&&y(10,1,i),e.min=u(o.log2lin(e.min),16),e.max=u(o.log2lin(e.max),16)),e.range&&f(e.max)&&(e.userMin=e.min=m=Math.max(e.dataMin,e.minFromRange()),e.userMax=v=e.max,e.range=null),x(e,"foundExtremes"),e.beforePadding&&e.beforePadding(),e.adjustForMinRange(),!(d||e.axisPointRange||e.stacking&&e.stacking.usePercentage||n)&&f(e.min)&&f(e.max)&&(i=e.max-e.min)&&(!f(m)&&h&&(e.min-=i*h),!f(v)&&a&&(e.max+=i*a)),S(e.userMin)||(S(r.softMin)&&r.softMin<e.min&&(e.min=m=r.softMin),S(r.floor)&&(e.min=Math.max(e.min,r.floor))),S(e.userMax)||(S(r.softMax)&&r.softMax>e.max&&(e.max=v=r.softMax),S(r.ceiling)&&(e.max=Math.min(e.max,r.ceiling))),g&&f(e.dataMin)&&(p=p||0,!f(m)&&e.min<p&&e.dataMin>=p?e.min=e.options.minRange?Math.min(p,e.max-e.minRange):p:!f(v)&&e.max>p&&e.dataMax<=p&&(e.max=e.options.minRange?Math.max(p,e.min+e.minRange):p)),S(e.min)&&S(e.max)&&!this.chart.polar&&e.min>e.max&&(f(e.options.min)?e.max=e.min:f(e.options.max)&&(e.min=e.max)),e.tickInterval=e.min===e.max||void 0===e.min||void 0===e.max?1:n&&e.linkedParent&&!l&&c===e.linkedParent.options.tickPixelInterval?l=e.linkedParent.tickInterval:P(l,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):void 0,d?1:(e.max-e.min)*c/Math.max(e.len,c)),s&&!t&&e.series.forEach(function(t){t.processData(e.min!==(e.old&&e.old.min)||e.max!==(e.old&&e.old.max))}),e.setAxisTranslation(),x(this,"initialAxisTranslation"),e.pointRange&&!l&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval)),t=P(r.minTickInterval,e.dateTime&&!e.series.some(function(t){return t.noSharedTooltip})?e.closestPointRange:0),!l&&e.tickInterval<t&&(e.tickInterval=t),e.dateTime||e.logarithmic||l||(e.tickInterval=A(e.tickInterval,void 0,b(e.tickInterval),P(r.allowDecimals,.5>e.tickInterval||void 0!==this.tickAmount),!!this.tickAmount)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()},t.prototype.setTickPositions=function(){var t=this.options,e=t.tickPositions,i=this.getMinorTickInterval(),o=t.tickPositioner,r=this.hasVerticalPanning(),s="colorAxis"===this.coll,n=(s||!r)&&t.startOnTick;r=(s||!r)&&t.endOnTick,this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===i&&this.tickInterval?this.tickInterval/5:i,this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals),this.tickPositions=i=e&&e.slice(),!i&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?i=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(i=[this.min,this.max],y(19,!1,this.chart)),i.length>this.len&&(i=[i[0],i.pop()])[0]===i[1]&&(i.length=1),this.tickPositions=i,o&&(o=o.apply(this,[this.min,this.max])))&&(this.tickPositions=i=o),this.paddedTicks=i.slice(0),this.trimTicks(i,n,r),this.isLinked||(this.single&&2>i.length&&!this.categories&&!this.series.some(function(t){return t.is("heatmap")&&"between"===t.options.pointPlacement})&&(this.min-=.5,this.max+=.5),e||o||this.adjustTickAmount()),x(this,"afterSetTickPositions")},t.prototype.trimTicks=function(t,e,i){var o=t[0],r=t[t.length-1],s=!this.isOrdinal&&this.minPointOffset||0;if(x(this,"trimTicks"),!this.isLinked){if(e&&-1/0!==o)this.min=o;else for(;this.min-s>t[0];)t.shift();if(i)this.max=r;else for(;this.max+s<t[t.length-1];)t.pop();0===t.length&&f(o)&&!this.options.tickPositions&&t.push((r+o)/2)}},t.prototype.alignToOthers=function(){var t,e={},i=this.options;return!1!==this.chart.options.chart.alignTicks&&i.alignTicks&&!1!==i.startOnTick&&!1!==i.endOnTick&&!this.logarithmic&&this.chart[this.coll].forEach(function(i){var o=i.options;o=[i.horiz?o.left:o.top,o.width,o.height,o.pane].join(),i.series.length&&(e[o]?t=!0:e[o]=1)}),t},t.prototype.getTickAmount=function(){var t=this.options,e=t.tickAmount,i=t.tickPixelInterval;!f(t.tickInterval)&&!e&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),4>e&&(this.finalTickAmt=e,e=5),this.tickAmount=e},t.prototype.adjustTickAmount=function(){var t=this.options,e=this.tickInterval,i=this.tickPositions,o=this.tickAmount,r=this.finalTickAmt,s=i&&i.length,n=P(this.threshold,this.softThreshold?0:null);if(this.hasData()&&S(this.min)&&S(this.max)){if(s<o){for(;i.length<o;)i.length%2||this.min===n?i.push(u(i[i.length-1]+e)):i.unshift(u(i[0]-e));this.transA*=(s-1)/(o-1),this.min=t.startOnTick?i[0]:Math.min(this.min,i[0]),this.max=t.endOnTick?i[i.length-1]:Math.max(this.max,i[i.length-1])}else s>o&&(this.tickInterval*=2,this.setTickPositions());if(f(r)){for(e=t=i.length;e--;)(3===r&&1==e%2||2>=r&&0<e&&e<t-1)&&i.splice(e,1);this.finalTickAmt=void 0}}},t.prototype.setScale=function(){var t,e=!1,i=!1;this.series.forEach(function(t){e=e||t.isDirtyData||t.isDirty,i=i||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize(),(t=this.len!==(this.old&&this.old.len))||e||i||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=t||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),e&&this.panningState&&(this.panningState.isDirty=!0),x(this,"afterSetScale")},t.prototype.setExtremes=function(t,e,i,o,r){var s=this,n=s.chart;i=P(i,!0),s.series.forEach(function(t){delete t.kdTree}),r=v(r,{min:t,max:e}),x(s,"setExtremes",r,function(){s.userMin=t,s.userMax=e,s.eventArgs=r,i&&n.redraw(o)})},t.prototype.zoom=function(t,e){var i=this,o=this.dataMin,r=this.dataMax,s=this.options,n=Math.min(o,P(s.min,o)),a=Math.max(r,P(s.max,r));return x(this,"zoom",t={newMin:t,newMax:e},function(t){var e=t.newMin,s=t.newMax;e===i.min&&s===i.max||(i.allowZoomOutside||(f(o)&&(e<n&&(e=n),e>a&&(e=a)),f(r)&&(s<n&&(s=n),s>a&&(s=a))),i.displayBtn=void 0!==e||void 0!==s,i.setExtremes(e,s,!1,void 0,{trigger:"zoom"})),t.zoomed=!0}),t.zoomed},t.prototype.setAxisSize=function(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],o=this.horiz,r=this.width=Math.round(O(P(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),s=this.height=Math.round(O(P(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(O(P(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop));e=this.left=Math.round(O(P(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft)),this.bottom=t.chartHeight-s-n,this.right=t.chartWidth-r-e,this.len=Math.max(o?r:s,0),this.pos=o?e:n},t.prototype.getExtremes=function(){var t=this.logarithmic;return{min:t?u(t.lin2log(this.min)):this.min,max:t?u(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},t.prototype.getThreshold=function(t){var e=this.logarithmic,i=e?e.lin2log(this.min):this.min;return e=e?e.lin2log(this.max):this.max,null===t||-1/0===t?t=i:1/0===t?t=e:i>t?t=i:e<t&&(t=e),this.translate(t,0,1,0,1)},t.prototype.autoLabelAlign=function(t){var e=(P(t,0)-90*this.side+720)%360;return x(this,"autoLabelAlign",t={align:"center"},function(t){15<e&&165>e?t.align="right":195<e&&345>e&&(t.align="left")}),t.align},t.prototype.tickSize=function(t){var e=this.options,i=e["tick"===t?"tickLength":"minorTickLength"],o=P(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0);if(o&&i){"inside"===e[t+"Position"]&&(i=-i);var r=[i,o]}return x(this,"afterTickSize",t={tickSize:r}),t.tickSize},t.prototype.labelMetrics=function(){var t=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[t]&&this.ticks[t].label)},t.prototype.unsquish=function(){var t,e,i=this.options.labels,o=this.horiz,r=this.tickInterval,s=r,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,h=this.labelMetrics(),l=Number.MAX_VALUE,c=Math.max(this.max-this.min,0),d=function(t){var e=t/(n||1);return(e=1<e?Math.ceil(e):1)*r>c&&1/0!==t&&1/0!==n&&c&&(e=Math.ceil(c/r)),u(e*r)};if(o){if(!i.staggerLines&&!i.step)if(S(a))var p=[a];else n<i.autoRotationLimit&&(p=i.autoRotation);p&&p.forEach(function(i){if(i===a||i&&-90<=i&&90>=i){var o=(e=d(Math.abs(h.h/Math.sin(j*i))))+Math.abs(i/360);o<l&&(l=o,t=i,s=e)}})}else i.step||(s=d(h.h));return this.autoRotation=p,this.labelRotation=P(t,S(a)?a:0),s},t.prototype.getSlotWidth=function(t){var e=this.chart,i=this.horiz,o=this.options.labels,r=Math.max(this.tickPositions.length-(this.categories?0:1),1),s=e.margin[3];if(t&&S(t.slotWidth))return t.slotWidth;if(i&&2>o.step)return o.rotation?0:(this.staggerLines||1)*this.len/r;if(!i){if(void 0!==(t=o.style.width))return parseInt(String(t),10);if(s)return s-e.spacing[3]}return.33*e.chartWidth},t.prototype.renderUnsquish=function(){var t=this.chart,e=t.renderer,i=this.tickPositions,o=this.ticks,r=this.options.labels,s=r.style,n=this.horiz,a=this.getSlotWidth(),h=Math.max(1,Math.round(a-2*r.padding)),l={},c=this.labelMetrics(),d=s.textOverflow,p=0;if(k(r.rotation)||(l.rotation=r.rotation||0),i.forEach(function(t){(t=o[t]).movedLabel&&t.replaceMovedLabel(),t&&t.label&&t.label.textPxLength>p&&(p=t.label.textPxLength)}),this.maxLabelLength=p,this.autoRotation)p>h&&p>c.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(a){var u=h;if(!d){var f="clip";for(h=i.length;!n&&h--;){var g=i[h];(g=o[g].label)&&(g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>a&&g.css({width:a+"px"}),g.getBBox().height>this.len/i.length-(c.h-c.f)&&(g.specificTextOverflow="ellipsis"))}}}l.rotation&&(u=p>.5*t.chartHeight?.33*t.chartHeight:p,d||(f="ellipsis")),(this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation))&&(l.align=this.labelAlign),i.forEach(function(t){var e=(t=o[t])&&t.label,i=s.width,r={};e&&(e.attr(l),t.shortenLabel?t.shortenLabel():u&&!i&&"nowrap"!==s.whiteSpace&&(u<e.textPxLength||"SPAN"===e.element.tagName)?(r.width=u+"px",d||(r.textOverflow=e.specificTextOverflow||f),e.css(r)):e.styles&&e.styles.width&&!r.width&&!i&&e.css({width:null}),delete e.specificTextOverflow,t.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,0!==this.side)},t.prototype.hasData=function(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&f(this.min)&&f(this.max)},t.prototype.addTitle=function(t){var e,i=this.opposite,o=this.options.title,r=this.chart.styledMode;this.axisTitle||((e=o.textAlign)||(e=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[o.align]),this.axisTitle=this.chart.renderer.text(o.text||"",0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation,align:e}).addClass("highcharts-axis-title"),r||this.axisTitle.css(M(o.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),r||o.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)},t.prototype.generateTick=function(t){var e=this.ticks;e[t]?e[t].addLabel():e[t]=new s(this,t)},t.prototype.getOffset=function(){var t,e=this,i=this,o=i.chart,r=o.renderer,s=i.options,n=i.tickPositions,a=i.ticks,h=i.horiz,l=i.side,c=o.inverted&&!i.isZAxis?[1,0,3,2][l]:l,d=0,p=0,u=s.title,g=s.labels,m=0,y=o.axisOffset;o=o.clipOffset;var v=[-1,1,1,-1][l],b=s.className,w=i.axisParent,C=i.hasData();if(i.showAxis=t=C||s.showEmpty,i.staggerLines=i.horiz&&g.staggerLines||void 0,!i.axisGroup){var S=function(t,i,o){return r.g(t).attr({zIndex:o}).addClass("highcharts-"+e.coll.toLowerCase()+i+" "+(e.isRadial?"highcharts-radial-axis"+i+" ":"")+(b||"")).add(w)};i.gridGroup=S("grid","-grid",s.gridZIndex),i.axisGroup=S("axis","",s.zIndex),i.labelGroup=S("axis-labels","-labels",g.zIndex)}if(C||i.isLinked?(n.forEach(function(t,e){i.generateTick(t,e)}),i.renderUnsquish(),i.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===i.labelAlign,P(g.reserveSpace,"center"===i.labelAlign||null,i.reserveSpaceDefault)&&n.forEach(function(t){m=Math.max(a[t].getLabelSize(),m)}),i.staggerLines&&(m*=i.staggerLines),i.labelOffset=m*(i.opposite?-1:1)):T(a,function(t,e){t.destroy(),delete a[e]}),u&&u.text&&!1!==u.enabled&&(i.addTitle(t),t&&!1!==u.reserveSpace)){i.titleOffset=d=i.axisTitle.getBBox()[h?"height":"width"];var k=u.offset;p=f(k)?0:P(u.margin,h?5:10)}i.renderLine(),i.offset=v*P(s.offset,y[l]?y[l]+(s.margin||0):0),i.tickRotCorr=i.tickRotCorr||{x:0,y:0},u=0===l?-i.labelMetrics().h:2===l?i.tickRotCorr.y:0,p=Math.abs(m)+p,m&&(p=p-u+v*(h?P(g.y,i.tickRotCorr.y+8*v):g.x)),i.axisTitleMargin=P(k,p),i.getMaxLabelDimensions&&(i.maxLabelDimensions=i.getMaxLabelDimensions(a,n)),h=this.tickSize("tick"),y[l]=Math.max(y[l],(i.axisTitleMargin||0)+d+v*i.offset,p,n&&n.length&&h?h[0]+v*i.offset:0),s=s.offset?0:2*Math.floor(i.axisLine.strokeWidth()/2),o[c]=Math.max(o[c],s),x(this,"afterGetOffset")},t.prototype.getLinePath=function(t){var e=this.chart,i=this.opposite,o=this.offset,r=this.horiz,s=this.left+(i?this.width:0)+o;return o=e.chartHeight-this.bottom-(i?this.height:0)+o,i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:s,r?o:this.top],["L",r?e.chartWidth-this.right:s,r?o:e.chartHeight-this.bottom]],t)},t.prototype.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}))},t.prototype.getTitlePosition=function(){var t=this.horiz,e=this.left,i=this.top,o=this.len,r=this.options.title,s=t?e:i,n=this.opposite,a=this.offset,h=r.x,l=r.y,c=this.axisTitle,d=this.chart.renderer.fontMetrics(r.style.fontSize,c);return c=Math.max(c.getBBox(null,0).height-d.h-1,0),o={low:s+(t?0:o),middle:s+o/2,high:s+(t?o:0)}[r.align],e=(t?i+this.height:e)+(t?1:-1)*(n?-1:1)*this.axisTitleMargin+[-c,c,d.f,-c][this.side],x(this,"afterGetTitlePosition",{titlePosition:t={x:t?o+h:e+(n?this.width:0)+a+h,y:t?e+l-(n?this.height:0)+a:o+l}}),t},t.prototype.renderMinorTick=function(t){var e=this.chart.hasRendered&&this.old,i=this.minorTicks;i[t]||(i[t]=new s(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)},t.prototype.renderTick=function(t,e){var i=this.ticks,o=this.chart.hasRendered&&this.old;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(i[t]||(i[t]=new s(this,t)),o&&i[t].isNew&&i[t].render(e,!0,-1),i[t].render(e))},t.prototype.render=function(){var t,e,o=this,r=o.chart,n=o.logarithmic,h=o.options,l=o.isLinked,c=o.tickPositions,d=o.axisTitle,p=o.ticks,u=o.minorTicks,f=o.alternateBands,g=h.stackLabels,m=h.alternateGridColor,y=o.tickmarkOffset,v=o.axisLine,b=o.showAxis,w=a(r.renderer.globalAnimation);o.labelEdge.length=0,o.overlap=!1,[p,u,f].forEach(function(t){T(t,function(t){t.isActive=!1})}),(o.hasData()||l)&&(o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t)}),c.length&&(c.forEach(function(t,e){o.renderTick(t,e)}),y&&(0===o.min||o.single)&&(p[-1]||(p[-1]=new s(o,-1,null,!0)),p[-1].render(-1))),m&&c.forEach(function(s,a){e=void 0!==c[a+1]?c[a+1]+y:o.max-y,0==a%2&&s<o.max&&e<=o.max+(r.polar?-y:y)&&(f[s]||(f[s]=new i.PlotLineOrBand(o)),t=s+y,f[s].options={from:n?n.lin2log(t):t,to:n?n.lin2log(e):e,color:m,className:"highcharts-alternate-grid"},f[s].render(),f[s].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)}))),[p,u,f].forEach(function(t){var e,i=[],o=w.duration;T(t,function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))}),D(function(){for(e=i.length;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])},t!==f&&r.hasRendered&&o?o:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[b?"show":"hide"](b)),d&&b&&(h=o.getTitlePosition(),S(h.y)?(d[d.isNew?"attr":"animate"](h),d.isNew=!1):(d.attr("y",-9999),d.isNew=!0)),g&&g.enabled&&o.stacking&&o.stacking.renderStackTotals(),o.old={len:o.len,max:o.max,min:o.min,transA:o.transA,userMax:o.userMax,userMin:o.userMin},o.isDirty=!1,x(this,"afterRender")},t.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})},t.prototype.getKeepProps=function(){return this.keepProps||t.keepProps},t.prototype.destroy=function(t){var e,i=this,o=i.plotLinesAndBands;if(x(this,"destroy",{keepEvents:t}),t||E(i),[i.ticks,i.minorTicks,i.alternateBands].forEach(function(t){g(t)}),o)for(t=o.length;t--;)o[t].destroy();for(e in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(t){i[t]&&(i[t]=i[t].destroy())}),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[e]=i.plotLinesAndBandsGroups[e].destroy();T(i,function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})},t.prototype.drawCrosshair=function(t,i){var r,s=this.crosshair,n=P(s&&s.snap,!0),a=this.cross,h=this.chart;if(x(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),s&&!1!==(f(i)||!n)){if(n?f(i)&&(r=P("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):r=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),f(r)){var l={value:i&&(this.isXAxis?i.x:P(i.stackY,i.y)),translatedValue:r};h.polar&&v(l,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),l=this.getPlotLinePath(l)||null}if(!f(l))return void this.hideCrosshair();n=this.categories&&!this.isRadial,a||(this.cross=a=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(n?"category ":"thin ")+(s.className||"")).attr({zIndex:P(s.zIndex,2)}).add(),h.styledMode||(a.attr({stroke:s.color||(n?e.parse(o.highlightColor20).setOpacity(.25).get():o.neutralColor20),"stroke-width":P(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&a.attr({dashstyle:s.dashStyle}))),a.show().attr({d:l}),n&&!s.width&&a.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();x(this,"afterDrawCrosshair",{e:t,point:i})},t.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),x(this,"afterHideCrosshair")},t.prototype.hasVerticalPanning=function(){var t=this.chart.options.chart.panning;return!!(t&&t.enabled&&/y/.test(t.type))},t.prototype.validatePositiveValue=function(t){return S(t)&&0<t},t.prototype.update=function(t,e){var i=this.chart,o=t&&t.events||{};t=M(this.userOptions,t),T(i.options[this.coll].events,function(t,e){void 0===o[e]&&(o[e]=void 0)}),this.destroy(!0),this.init(i,v(t,{events:o})),i.isDirtyBox=!0,P(e,!0)&&i.redraw()},t.prototype.remove=function(t){for(var e=this.chart,i=this.coll,o=this.series,r=o.length;r--;)o[r]&&o[r].remove(!1);m(e.axes,this),m(e[i],this),e[i].forEach(function(t,e){t.options.index=t.userOptions.index=e}),this.destroy(),e.isDirtyBox=!0,P(t,!0)&&e.redraw()},t.prototype.setTitle=function(t,e){this.update({title:t},e)},t.prototype.setCategories=function(t,e){this.update({categories:t},e)},t.defaultOptions={alignTicks:!0,allowDecimals:void 0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:o.neutralColor60,cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:o.neutralColor60}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:o.neutralColor5,minorGridLineWidth:1,minorTickColor:o.neutralColor40,lineColor:o.highlightColor20,lineWidth:1,gridLineColor:o.neutralColor10,gridLineWidth:void 0,tickColor:o.highlightColor20},t.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:o.neutralColor100,fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},t.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},t.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.keepProps="extKey hcEvents names series userMax userMin".split(" "),t}(),i.Axis=t,i.Axis}),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.timeUnits,n=function(){function t(t){this.axis=t}return t.prototype.normalizeTimeTickInterval=function(t,e){var i,n=e||[["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]],a=s[(e=n[n.length-1])[0]],h=e[1];for(i=0;i<n.length&&(a=s[(e=n[i])[0]],h=e[1],!(n[i+1]&&t<=(a*h[h.length-1]+s[n[i+1][0]])/2));i++);return a===s.year&&t<5*a&&(h=[1,2,5]),{unitRange:a,count:t=r(t/a,h,"year"===e[0]?Math.max(o(t/a),1):1),unitName:e[0]}},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("dateTime"),t.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)},i(t,"init",function(t){"datetime"!==t.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new n(this))})},t.AdditionsClass=n,t}()).compose(t),e}),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.pick,n=function(){function t(t){this.axis=t}return t.prototype.getLogTickPositions=function(t,e,i,n){var a=this.axis,h=a.len,l=a.options,c=[];if(n||(this.minorAutoInterval=void 0),.5<=t)t=Math.round(t),c=a.getLinearTickPositions(t,e,i);else if(.08<=t){var d,p=Math.floor(e),u=l=void 0;for(h=.3<t?[1,2,4]:.15<t?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<i+1&&!u;p++){var f=h.length;for(d=0;d<f&&!u;d++){var g=this.log2lin(this.lin2log(p)*h[d]);g>e&&(!n||l<=i)&&void 0!==l&&c.push(l),l>i&&(u=!0),l=g}}}else e=this.lin2log(e),i=this.lin2log(i),t=n?a.getMinorTickInterval():l.tickInterval,t=s("auto"===t?null:t,this.minorAutoInterval,l.tickPixelInterval/(n?5:1)*(i-e)/((n?h/a.tickPositions.length:h)||1)),t=r(t,void 0,o(t)),c=a.getLinearTickPositions(t,e,i).map(this.log2lin),n||(this.minorAutoInterval=t/5);return n||(a.tickInterval=t),c},t.prototype.lin2log=function(t){return Math.pow(10,t)},t.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("logarithmic"),i(t,"init",function(t){var e=this.logarithmic;"logarithmic"!==t.userOptions.type?this.logarithmic=void 0:e||(this.logarithmic=new n(this))}),i(t,"afterInit",function(){var t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})})},t}()).compose(t),e}),e(i,"Core/Axis/PlotLineOrBand.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.arrayMax,s=o.arrayMin,n=o.defined,a=o.destroyObjectProperties,h=o.erase,l=o.extend,c=o.fireEvent,d=o.isNumber,p=o.merge,u=o.objectEach,f=o.pick;return o=function(){function t(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)}return t.prototype.render=function(){c(this,"render");var t=this,e=t.axis,o=e.horiz,r=e.logarithmic,s=t.options,a=s.label,h=t.label,l=s.to,d=s.from,g=s.value,m=n(d)&&n(l),y=n(g),v=t.svgElem,x=!v,b=[],w=s.color,C=f(s.zIndex,0),S=s.events;b={class:"highcharts-plot-"+(m?"band ":"line ")+(s.className||"")};var k={},M=e.chart.renderer,A=m?"bands":"lines";if(r&&(d=r.log2lin(d),l=r.log2lin(l),g=r.log2lin(g)),e.chart.styledMode||(y?(b.stroke=w||i.neutralColor40,b["stroke-width"]=f(s.width,1),s.dashStyle&&(b.dashstyle=s.dashStyle)):m&&(b.fill=w||i.highlightColor10,s.borderWidth&&(b.stroke=s.borderColor,b["stroke-width"]=s.borderWidth))),k.zIndex=C,(r=e.plotLinesAndBandsGroups[A+="-"+C])||(e.plotLinesAndBandsGroups[A]=r=M.g("plot-"+A).attr(k).add()),x&&(t.svgElem=v=M.path().attr(b).add(r)),y)b=e.getPlotLinePath({value:g,lineWidth:v.strokeWidth(),acrossPanes:s.acrossPanes});else{if(!m)return;b=e.getPlotBandPath(d,l,s)}return!t.eventsAdded&&S&&(u(S,function(e,i){v.on(i,function(e){S[i].apply(t,[e])})}),t.eventsAdded=!0),(x||!v.d)&&b&&b.length?v.attr({d:b}):v&&(b?(v.show(!0),v.animate({d:b})):v.d&&(v.hide(),h&&(t.label=h=h.destroy()))),a&&(n(a.text)||n(a.formatter))&&b&&b.length&&0<e.width&&0<e.height&&!b.isFlat?(a=p({align:o&&m&&"center",x:o?!m&&4:10,verticalAlign:!o&&m&&"middle",y:o?m?16:10:m?6:-4,rotation:o&&!m&&90},a),this.renderLabel(a,b,m,C)):h&&h.hide(),t},t.prototype.renderLabel=function(t,e,i,o){var n=this.label,a=this.axis.chart.renderer;n||((n={align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||"")}).zIndex=o,o=this.getLabelText(t),this.label=n=a.text(o,0,0,t.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(t.style)),a=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],e=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],i=s(a),o=s(e),n.align(t,!1,{x:i,y:o,width:r(a)-i,height:r(e)-o}),n.show(!0)},t.prototype.getLabelText=function(t){return n(t.formatter)?t.formatter.call(this):t.text},t.prototype.destroy=function(){h(this.axis.plotLinesAndBands,this),delete this.axis,a(this)},t}(),l(t.prototype,{getPlotBandPath:function(t,e,i){void 0===i&&(i=this.options);var o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes});i=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});var r=[],s=this.horiz,n=1;if(t=!d(this.min)||!d(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,i&&o){if(t){var a=i.toString()===o.toString();n=0}for(t=0;t<i.length;t+=2){var h=i[t+1],l=o[t],c=o[t+1];"M"!==(e=i[t])[0]&&"L"!==e[0]||"M"!==h[0]&&"L"!==h[0]||"M"!==l[0]&&"L"!==l[0]||"M"!==c[0]&&"L"!==c[0]||(s&&l[1]===e[1]?(l[1]+=n,c[1]+=n):s||l[2]!==e[2]||(l[2]+=n,c[2]+=n),r.push(["M",e[1],e[2]],["L",h[1],h[2]],["L",c[1],c[2]],["L",l[1],l[2]],["Z"])),r.isFlat=a}}return r},addPlotBand:function(t){return this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){return this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(t,i){var o=this,r=new e.PlotLineOrBand(this,t),s=this.userOptions;if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)})),i){var n=s[i]||[];n.push(t),s[i]=n}this.plotLinesAndBands.push(r)}return r},removePlotBandOrLine:function(t){for(var e=this.plotLinesAndBands,i=this.options,o=this.userOptions,r=e.length;r--;)e[r].id===t&&e[r].destroy();[i.plotLines||[],o.plotLines||[],i.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&h(e,e[r])})},removePlotBand:function(t){this.removePlotBandOrLine(t)},removePlotLine:function(t){this.removePlotBandOrLine(t)}}),e.PlotLineOrBand=o,e.PlotLineOrBand}),e(i,"Core/Tooltip.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=t.format,s=e.doc,n=o.clamp,a=o.css,h=o.defined,l=o.discardElement,c=o.extend,d=o.fireEvent,p=o.isArray,u=o.isNumber,f=o.isString,g=o.merge,m=o.pick,y=o.splat,v=o.syncTimeout,x=o.timeUnits;return t=function(){function t(t,e){this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e)}return t.prototype.applyFilter=function(){var t=this.chart;t.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+t.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]}),t.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+t.index+"{filter:url(#drop-shadow-"+t.index+")}"})},t.prototype.bodyFormatter=function(t){return t.map(function(t){var e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})},t.prototype.cleanSplit=function(t){this.chart.series.forEach(function(e){var i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})},t.prototype.defaultFormatter=function(t){var e=this.points||y(this),i=[t.tooltipFooterHeaderFormatter(e[0])];return(i=i.concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i},t.prototype.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(),l(this.container)),o.clearTimeout(this.hideTimer),o.clearTimeout(this.tooltipTimeout)},t.prototype.getAnchor=function(t,e){var i,o,r=this.chart,s=r.pointer,n=r.inverted,a=r.plotTop,h=r.plotLeft,l=0,c=0;return t=y(t),this.followPointer&&e?(void 0===e.chartX&&(e=s.normalize(e)),s=[e.chartX-h,e.chartY-a]):t[0].tooltipPos?s=t[0].tooltipPos:(t.forEach(function(t){i=t.series.yAxis,l+=t.plotX||0,c+=t.plotLow?(t.plotLow+(t.plotHigh||0))/2:t.plotY||0,(o=t.series.xAxis)&&i&&(n?(l+=a+r.plotHeight-o.len-o.pos,c+=h+r.plotWidth-i.len-i.pos):(l+=o.pos-h,c+=i.pos-a))}),l/=t.length,c/=t.length,s=[n?r.plotWidth-c:l,n?r.plotHeight-l:c],this.shared&&1<t.length&&e&&(n?s[0]=e.chartX-h:s[1]=e.chartY-a)),s.map(Math.round)},t.prototype.getDateFormat=function(t,e,i,o){var r=this.chart.time,s=r.dateFormat("%m-%d %H:%M:%S.%L",e),n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond";for(h in x){if(t===x.week&&+r.dateFormat("%w",e)===i&&"00:00:00.000"===s.substr(6)){var h="week";break}if(x[h]>t){h=a;break}if(n[h]&&s.substr(n[h])!=="01-01 00:00:00.000".substr(n[h]))break;"week"!==h&&(a=h)}if(h)var l=r.resolveDTLFormat(o[h]).main;return l},t.prototype.getLabel=function(){var t,i=this,o=this.chart.renderer,r=this.chart.styledMode,s=this.options,n="tooltip"+(h(s.className)?" "+s.className:""),l=s.style&&s.style.pointerEvents||(!this.followPointer&&s.stickOnContact?"auto":"none");if(!this.label){if(this.outside){var c=this.chart.options.chart.style;this.container=t=e.doc.createElement("div"),t.className="highcharts-tooltip-container",a(t,{position:"absolute",top:"1px",pointerEvents:l,zIndex:Math.max(this.options.style&&this.options.style.zIndex||0,(c&&c.zIndex||0)+3)}),e.doc.body.appendChild(t),this.renderer=o=new e.Renderer(t,0,0,c,void 0,void 0,o.styledMode)}if(this.split?this.label=o.g(n):(this.label=o.label("",0,0,s.shape||"callout",null,null,s.useHTML,null,n).attr({padding:s.padding,r:s.borderRadius}),r||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth}).css(s.style).css({pointerEvents:l}).shadow(s.shadow)),r&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var d=this.label,p=d.xSetter,u=d.ySetter;d.xSetter=function(e){p.call(d,i.distance),t.style.left=e+"px"},d.ySetter=function(e){u.call(d,i.distance),t.style.top=e+"px"}}this.label.on("mouseenter",function(){i.inContact=!0}).on("mouseleave",function(){var t=i.chart.hoverSeries;i.inContact=!1,t&&t.onMouseOut&&t.onMouseOut()}).attr({zIndex:8}).add()}return this.label},t.prototype.getPosition=function(t,e,i){var o,r=this.chart,n=this.distance,a={},h=r.inverted&&i.h||0,l=this.outside,c=l?s.documentElement.clientWidth-2*n:r.chartWidth,d=l?Math.max(s.body.scrollHeight,s.documentElement.scrollHeight,s.body.offsetHeight,s.documentElement.offsetHeight,s.documentElement.clientHeight):r.chartHeight,p=r.pointer.getChartPosition(),u=function(o){var s="x"===o;return[o,s?c:d,s?t:e].concat(l?[s?t*p.scaleX:e*p.scaleY,s?p.left-n+(i.plotX+r.plotLeft)*p.scaleX:p.top-n+(i.plotY+r.plotTop)*p.scaleY,0,s?c:d]:[s?t:e,s?i.plotX+r.plotLeft:i.plotY+r.plotTop,s?r.plotLeft:r.plotTop,s?r.plotLeft+r.plotWidth:r.plotTop+r.plotHeight])},f=u("y"),g=u("x"),y=!this.followPointer&&m(i.ttBelow,!r.inverted==!!i.negative),v=function(t,e,i,o,r,s,c){var d=l?"y"===t?n*p.scaleY:n*p.scaleX:n,u=(i-o)/2,f=o<r-n,g=r+n+o<e,m=r-d-i+u;if(r=r+d-u,y&&g)a[t]=r;else if(!y&&f)a[t]=m;else if(f)a[t]=Math.min(c-o,0>m-h?m:m-h);else{if(!g)return!1;a[t]=Math.max(s,r+h+i>e?r:r+h)}},x=function(t,e,i,o,r){var s;return r<n||r>e-n?s=!1:a[t]=r<i/2?1:r>e-o/2?e-o-2:r-i/2,s},b=function(t){var e=f;f=g,g=e,o=t},w=function(){!1!==v.apply(0,f)?!1!==x.apply(0,g)||o||(b(!0),w()):o?a.x=a.y=0:(b(!0),w())};return(r.inverted||1<this.len)&&b(),w(),a},t.prototype.getXDateFormat=function(t,e,i){e=e.dateTimeLabelFormats;var o=i&&i.closestPointRange;return(o?this.getDateFormat(o,t.x,i.options.startOfWeek,e):e.day)||e.year},t.prototype.hide=function(t){var e=this;o.clearTimeout(this.hideTimer),t=m(t,this.options.hideDelay,500),this.isHidden||(this.hideTimer=v(function(){e.getLabel().fadeOut(t?void 0:t),e.isHidden=!0},t))},t.prototype.init=function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=m(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))},t.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},t.prototype.move=function(t,e,i,r){var s=this,n=s.now,a=!1!==s.options.animation&&!s.isHidden&&(1<Math.abs(t-n.x)||1<Math.abs(e-n.y)),h=s.followPointer||1<s.len;c(n,{x:a?(2*n.x+t)/3:t,y:a?(n.y+e)/2:e,anchorX:h?void 0:a?(2*n.anchorX+i)/3:i,anchorY:h?void 0:a?(n.anchorY+r)/2:r}),s.getLabel().attr(n),s.drawTracker(),a&&(o.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){s&&s.move(t,e,i,r)},32))},t.prototype.refresh=function(t,e){var r=this.chart,s=this.options,n=y(t),a=n[0],h={},l=[],c=s.formatter||this.defaultFormatter;h=this.shared;var u=r.styledMode;if(s.enabled){o.clearTimeout(this.hideTimer),this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;var f=this.getAnchor(t,e),g=f[0],v=f[1];if(!h||!p(t)&&t.series&&t.series.noSharedTooltip?h=a.getLabelConfig():(r.pointer.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(h={x:a.category,y:a.y}).points=l),this.len=l.length,t=c.call(h,this),this.distance=m((c=a.series).tooltipOptions.distance,16),!1===t)this.hide();else{if(this.split)this.renderSplit(t,n);else{if(n=g,h=v,e&&r.pointer.isDirectTouch&&(n=e.chartX-r.plotLeft,h=e.chartY-r.plotTop),!r.polar&&!1!==c.options.clip&&!c.shouldShowTooltip(n,h))return void this.hide();e=this.getLabel(),s.style.width&&!u||e.css({width:this.chart.spacingBox.width+"px"}),e.attr({text:t&&t.join?t.join(""):t}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+m(a.colorIndex,c.colorIndex)),u||e.attr({stroke:s.borderColor||a.color||c.color||i.neutralColor60}),this.updatePosition({plotX:g,plotY:v,negative:a.negative,ttBelow:a.ttBelow,h:f[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}d(this,"refresh")}},t.prototype.renderSplit=function(t,o){function r(t,e,i,o,r){return void 0===r&&(r=!0),i?(e=O?0:j,t=n(t-o/2,A.left,A.right-o-(a.outside?E:0))):(e-=L,t=n(t=r?t-o-S:t+S,r?t:A.left,A.right)),{x:t,y:e}}var a=this,h=a.chart,l=a.chart,d=l.chartWidth,p=l.chartHeight,u=l.plotHeight,g=l.plotLeft,y=l.plotTop,v=l.pointer,x=l.scrollablePixelsY;x=void 0===x?0:x;var b=l.scrollingContainer,w=(b=void 0===b?{scrollLeft:0,scrollTop:0}:b).scrollLeft;b=b.scrollTop;var C=l.styledMode,S=a.distance,k=a.options,M=a.options.positioner,A=a.outside&&"number"!=typeof l.scrollablePixelsX?s.documentElement.getBoundingClientRect():{left:w,right:w+d,top:b,bottom:b+p},T=a.getLabel(),P=this.renderer||h.renderer,O=!(!h.xAxis[0]||!h.xAxis[0].opposite),E=(h=v.getChartPosition()).left;h=h.top;var L=y+b,D=0,j=u-x;f(t)&&(t=[!1,t]),t=t.slice(0,o.length+1).reduce(function(t,e,s){if(!1!==e&&""!==e){var h=(s=o[s-1]||{isHeader:!0,plotX:o[0].plotX,plotY:u,series:{}}).isHeader,l=h?a:s.series;e=e.toString();var c=l.tt,d=s.isHeader,p=s.series,f="highcharts-color-"+m(s.colorIndex,p.colorIndex,"none");if(c||(c={padding:k.padding,r:k.borderRadius},C||(c.fill=k.backgroundColor,c["stroke-width"]=k.borderWidth),c=P.label("",0,0,k[d?"headerShape":"shape"]||"callout",void 0,void 0,k.useHTML).addClass((d?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+f).attr(c).add(T)),c.isActive=!0,c.attr({text:e}),C||c.css(k.style).shadow(k.shadow).attr({stroke:k.borderColor||s.color||p.color||i.neutralColor80}),e=(d=(l=l.tt=c).getBBox()).width+l.strokeWidth(),h&&(j+=D=d.height,O&&(L-=D)),p=void 0===(p=s.plotX)?0:p,f=void 0===(f=s.plotY)?0:f,c=s.series,s.isHeader){p=g+p;var v=y+u/2}else{var x=c.xAxis,b=c.yAxis;p=x.pos+n(p,-S,x.len+S),c.shouldShowTooltip(0,b.pos-y+f,{ignoreX:!0})&&(v=b.pos+f)}p=n(p,A.left-S,A.right+S),"number"==typeof v?(d=d.height+1,f=M?M.call(a,e,d,s):r(p,v,h,e),t.push({align:M?0:void 0,anchorX:p,anchorY:v,boxWidth:e,point:s,rank:m(f.rank,h?1:0),size:d,target:f.y,tt:l,x:f.x})):l.isActive=!1}return t},[]),!M&&t.some(function(t){var e=(a.outside?E:0)+t.anchorX;return e<A.left&&e+t.boxWidth<A.right||e<E-A.left+t.boxWidth&&A.right-e>e})&&(t=t.map(function(t){var e=r(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return c(t,{target:e.y,x:e.x})})),a.cleanSplit(),e.distribute(t,j);var I=E,_=E;t.forEach(function(t){var e=t.x,i=t.boxWidth;(t=t.isHeader)||(a.outside&&E+e<I&&(I=E+e),!t&&a.outside&&I+i>_&&(_=E+e))}),t.forEach(function(t){var e=t.x,i=t.anchorX,o=t.pos,r=t.point.isHeader;if(o={visibility:void 0===o?"hidden":"inherit",x:e,y:o+L,anchorX:i,anchorY:t.anchorY},a.outside&&e<i){var s=E-I;0<s&&(r||(o.x=e+s,o.anchorX=i+s),r&&(o.x=(_-I)/2,o.anchorX=i+s))}t.tt.attr(o)}),t=a.container,x=a.renderer,a.outside&&t&&x&&(l=T.getBBox(),x.setSize(l.width+l.x,l.height+l.y,!1),t.style.left=I+"px",t.style.top=h+"px")},t.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var t=this.chart,e=this.label,i=t.hoverPoint;if(e&&i){var o={x:0,y:0,width:0,height:0};i=this.getAnchor(i);var r=e.getBBox();i[0]+=t.plotLeft-e.translateX,i[1]+=t.plotTop-e.translateY,o.x=Math.min(0,i[0]),o.y=Math.min(0,i[1]),o.width=0>i[0]?Math.max(Math.abs(i[0]),r.width-i[0]):Math.max(Math.abs(i[0]),r.width),o.height=0>i[1]?Math.max(Math.abs(i[1]),r.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),r.height),this.tracker?this.tracker.attr(o):(this.tracker=e.renderer.rect(o).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},t.prototype.styledModeFormat=function(t){return t.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},t.prototype.tooltipFooterHeaderFormatter=function(t,e){var i=e?"footer":"header",o=t.series,s=o.tooltipOptions,n=s.xDateFormat,a=o.xAxis,h=a&&"datetime"===a.options.type&&u(t.key),l=s[i+"Format"];return d(this,"headerFormatter",e={isFooter:e,labelConfig:t},function(e){h&&!n&&(n=this.getXDateFormat(t,s,a)),h&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+n+"}")}),o.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=r(l,{point:t,series:o},this.chart)}),e.text},t.prototype.update=function(t){this.destroy(),g(!0,this.chart.options.tooltip.userOptions,t),this.init(this.chart,g(!0,this.options,t))},t.prototype.updatePosition=function(t){var e=this.chart,i=e.pointer,o=this.getLabel(),r=t.plotX+e.plotLeft;if(e=t.plotY+e.plotTop,i=i.getChartPosition(),t=(this.options.positioner||this.getPosition).call(this,o.width,o.height,t),this.outside){var s=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(o.width+s,o.height+s,!1),1===i.scaleX&&1===i.scaleY||(a(this.container,{transform:"scale("+i.scaleX+", "+i.scaleY+")"}),r*=i.scaleX,e*=i.scaleY),r+=i.left-t.x,e+=i.top-t.y}this.move(Math.round(t.x),Math.round(t.y||0),r,e)},t}(),e.Tooltip=t,e.Tooltip}),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Tooltip.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.parse,n=e.charts,a=e.noop,h=r.addEvent,l=r.attr,c=r.css,d=r.defined,p=r.extend,u=r.find,f=r.fireEvent,g=r.isNumber,m=r.isObject,y=r.objectEach,v=r.offset,x=r.pick,b=r.splat;return t=function(){function t(t,e){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=t,this.hasDragged=!1,this.options=e,this.init(t,e)}return t.prototype.applyInactiveState=function(t){var e,i=[];(t||[]).forEach(function(t){i.push(e=t.series),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})},t.prototype.destroy=function(){var t=this;this.eventsToUnbind.forEach(function(t){return t()}),this.eventsToUnbind=[],e.chartCount||(e.unbindDocumentMouseUp&&(e.unbindDocumentMouseUp=e.unbindDocumentMouseUp()),e.unbindDocumentTouchEnd&&(e.unbindDocumentTouchEnd=e.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),y(t,function(e,i){t[i]=void 0})},t.prototype.drag=function(t){var e=this.chart,o=e.options.chart,r=t.chartX,n=t.chartY,a=this.zoomHor,h=this.zoomVert,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,p=e.plotHeight,u=this.selectionMarker,f=this.mouseDownX||0,g=this.mouseDownY||0,y=m(o.panning)?o.panning&&o.panning.enabled:o.panning,v=o.panKey&&t[o.panKey+"Key"];if((!u||!u.touch)&&(r<l?r=l:r>l+d&&(r=l+d),n<c?n=c:n>c+p&&(n=c+p),this.hasDragged=Math.sqrt(Math.pow(f-r,2)+Math.pow(g-n,2)),10<this.hasDragged)){var x=e.isInsidePlot(f-l,g-c,{visiblePlotOnly:!0});e.hasCartesianSeries&&(this.zoomX||this.zoomY)&&x&&!v&&!u&&(this.selectionMarker=u=e.renderer.rect(l,c,a?1:d,h?1:p,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||u.attr({fill:o.selectionMarkerFill||s(i.highlightColor80).setOpacity(.25).get()})),u&&a&&(r-=f,u.attr({width:Math.abs(r),x:(0<r?0:r)+f})),u&&h&&(r=n-g,u.attr({height:Math.abs(r),y:(0<r?0:r)+g})),x&&!u&&y&&e.pan(t,o.panning)}},t.prototype.dragStart=function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},t.prototype.drop=function(t){var e=this,i=this.chart,o=this.hasPinched;if(this.selectionMarker){var r,s={originalEvent:t,xAxis:[],yAxis:[]},n=this.selectionMarker,a=n.attr?n.attr("x"):n.x,h=n.attr?n.attr("y"):n.y,l=n.attr?n.attr("width"):n.width,u=n.attr?n.attr("height"):n.height;(this.hasDragged||o)&&(i.axes.forEach(function(i){if(i.zoomEnabled&&d(i.min)&&(o||e[{xAxis:"zoomX",yAxis:"zoomY"}[i.coll]])&&g(a)&&g(h)){var n=i.horiz,c="touchend"===t.type?i.minPixelPadding:0,p=i.toValue((n?a:h)+c);n=i.toValue((n?a+l:h+u)-c),s[i.coll].push({axis:i,min:Math.min(p,n),max:Math.max(p,n)}),r=!0}}),r&&f(i,"selection",s,function(t){i.zoom(p(t,o?{animation:!1}:null))})),g(i.index)&&(this.selectionMarker=this.selectionMarker.destroy()),o&&this.scaleGroups()}i&&g(i.index)&&(c(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},t.prototype.findNearestKDPoint=function(t,e,i){var o,r=this.chart,s=r.hoverPoint;return r=r.tooltip,s&&r&&r.isStickyOnContact()?s:(t.forEach(function(t){var r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y");if(t=t.searchPoint(i,r),(r=m(t,!0)&&t.series)&&!(r=!m(o,!0))){var s=o.dist-t.dist,n=(t.series.group&&t.series.group.zIndex)-(o.series.group&&o.series.group.zIndex);r=0<(0!=(r=o.distX-t.distX)&&e?r:0!==s?s:0!==n?n:o.series.index>t.series.index?-1:1)}r&&(o=t)}),o)},t.prototype.getChartCoordinatesFromPoint=function(t,e){var i=t.series,o=i.xAxis;i=i.yAxis;var r=t.shapeArgs;if(o&&i){var s=x(t.clientX,t.plotX),n=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(s=r.x,n=r.y),e?{chartX:i.len+i.pos-n,chartY:o.len+o.pos-s}:{chartX:s+o.pos,chartY:n+i.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}},t.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var t=this.chart.container,e=v(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};var i=t.offsetWidth;return t=t.offsetHeight,2<i&&2<t&&(this.chartPosition.scaleX=e.width/i,this.chartPosition.scaleY=e.height/t),this.chartPosition},t.prototype.getCoordinates=function(t){var e={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])})}),e},t.prototype.getHoverData=function(t,e,i,o,r,s){var n,a=[];o=!(!o||!t);var h=e&&!e.stickyTracking,l={chartX:s?s.chartX:void 0,chartY:s?s.chartY:void 0,shared:r};return f(this,"beforeGetHoverData",l),h=h?[e]:i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&t.stickyTracking}),e=(n=o||!s?t:this.findNearestKDPoint(h,r,s))&&n.series,n&&(r&&!e.noSharedTooltip?(h=i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&!t.noSharedTooltip})).forEach(function(t){var e=u(t.points,function(t){return t.x===n.x&&!t.isNull});m(e)&&(t.chart.isBoosting&&(e=t.getPoint(e)),a.push(e))}):a.push(n)),f(this,"afterGetHoverData",l={hoverPoint:n}),{hoverPoint:l.hoverPoint,hoverSeries:e,hoverPoints:a}},t.prototype.getPointFromEvent=function(t){t=t.target;for(var e;t&&!e;)e=t.point,t=t.parentNode;return e},t.prototype.onTrackerMouseOut=function(t){t=t.relatedTarget||t.toElement;var e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!t||e.stickyTracking||this.inClass(t,"highcharts-tooltip")||this.inClass(t,"highcharts-series-"+e.index)&&this.inClass(t,"highcharts-tracker")||e.onMouseOut()},t.prototype.inClass=function(t,e){for(var i;t;){if(i=l(t,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}t=t.parentNode}},t.prototype.init=function(t,e){this.options=e,this.chart=t,this.runChartClick=!(!e.chart.events||!e.chart.events.click),this.pinchDown=[],this.lastValidTouch={},o&&(t.tooltip=new o(t,e.tooltip),this.followTouchMove=x(e.tooltip.followTouchMove,!0)),this.setDOMEvents()},t.prototype.normalize=function(t,e){var i=t.touches,o=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;return e||(e=this.getChartPosition()),i=o.pageX-e.left,o=o.pageY-e.top,i/=e.scaleX,o/=e.scaleY,p(t,{chartX:Math.round(i),chartY:Math.round(o)})},t.prototype.onContainerClick=function(t){var e=this.chart,i=e.hoverPoint;t=this.normalize(t);var o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(t.target,"highcharts-tracker")?(f(i.series,"click",p(t,{point:i})),e.hoverPoint&&i.firePointEvent("click",t)):(p(t,this.getCoordinates(t)),e.isInsidePlot(t.chartX-o,t.chartY-r,{visiblePlotOnly:!0})&&f(e,"click",t)))},t.prototype.onContainerMouseDown=function(t){var i=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault&&t.preventDefault(),this.dragStart(t))},t.prototype.onContainerMouseLeave=function(t){var i=n[x(e.hoverChartIndex,-1)],o=this.chart.tooltip;t=this.normalize(t),i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset()},t.prototype.onContainerMouseEnter=function(t){delete this.chartPosition},t.prototype.onContainerMouseMove=function(t){var e=this.chart;t=this.normalize(t),this.setHoverChartIndex(),t.preventDefault||(t.returnValue=!1),("mousedown"===e.mouseIsDown||this.touchSelect(t))&&this.drag(t),e.openMenu||!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.runPointActions(t)},t.prototype.onDocumentTouchEnd=function(t){n[e.hoverChartIndex]&&n[e.hoverChartIndex].pointer.drop(t)},t.prototype.onContainerTouchMove=function(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)},t.prototype.onContainerTouchStart=function(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))},t.prototype.onDocumentMouseMove=function(t){var e=this.chart,i=this.chartPosition;t=this.normalize(t,i);var o=e.tooltip;!i||o&&o.isStickyOnContact()||e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.inClass(t.target,"highcharts-tracker")||this.reset()},t.prototype.onDocumentMouseUp=function(t){var i=n[x(e.hoverChartIndex,-1)];i&&i.pointer.drop(t)},t.prototype.pinch=function(t){var e=this,i=e.chart,o=e.pinchDown,r=t.touches||[],s=r.length,n=e.lastValidTouch,h=e.hasZoom,l=e.selectionMarker,c={},d=1===s&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),u={};1<s&&(e.initiated=!0),h&&e.initiated&&!d&&!1!==t.cancelable&&t.preventDefault(),[].map.call(r,function(t){return e.normalize(t)}),"touchstart"===t.type?([].forEach.call(r,function(t,e){o[e]={chartX:t.chartX,chartY:t.chartY}}),n.x=[o[0].chartX,o[1]&&o[1].chartX],n.y=[o[0].chartY,o[1]&&o[1].chartY],i.axes.forEach(function(t){if(t.zoomEnabled){var e=i.bounds[t.horiz?"h":"v"],o=t.minPixelPadding,r=t.toPixels(Math.min(x(t.options.min,t.dataMin),t.dataMin)),s=t.toPixels(Math.max(x(t.options.max,t.dataMax),t.dataMax)),n=Math.max(r,s);e.min=Math.min(t.pos,Math.min(r,s)-o),e.max=Math.max(t.pos+t.len,n+o)}}),e.res=!0):e.followTouchMove&&1===s?this.runPointActions(e.normalize(t)):o.length&&(l||(e.selectionMarker=l=p({destroy:a,touch:!0},i.plotBox)),e.pinchTranslate(o,r,c,l,u,n),e.hasPinched=h,e.scaleGroups(c,u),e.res&&(e.res=!1,this.reset(!1,0)))},t.prototype.pinchTranslate=function(t,e,i,o,r,s){this.zoomHor&&this.pinchTranslateDirection(!0,t,e,i,o,r,s),this.zoomVert&&this.pinchTranslateDirection(!1,t,e,i,o,r,s)},t.prototype.pinchTranslateDirection=function(t,e,i,o,r,s,n,a){var h,l,c=this.chart,d=t?"x":"y",p=t?"X":"Y",u="chart"+p,f=t?"width":"height",g=c["plot"+(t?"Left":"Top")],m=a||1,y=c.inverted,v=c.bounds[t?"h":"v"],x=1===e.length,b=e[0][u],w=i[0][u],C=!x&&e[1][u],S=!x&&i[1][u];if((i=function(){"number"==typeof S&&20<Math.abs(b-C)&&(m=a||Math.abs(w-S)/Math.abs(b-C)),l=(g-w)/m+b,h=c["plot"+(t?"Width":"Height")]/m})(),(e=l)<v.min){e=v.min;var k=!0}else e+h>v.max&&(e=v.max-h,k=!0);k?(w-=.8*(w-n[d][0]),"number"==typeof S&&(S-=.8*(S-n[d][1])),i()):n[d]=[w,S],y||(s[d]=l-g,s[f]=h),s=y?1/m:m,r[f]=h,r[d]=e,o[y?t?"scaleY":"scaleX":"scale"+p]=m,o["translate"+p]=s*g+(w-s*b)},t.prototype.reset=function(t,e){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,s=i.hoverPoints,n=i.tooltip,a=n&&n.shared?s:r;t&&a&&b(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&b(a).length&&(n.refresh(a),n.shared&&s?s.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),s&&s.forEach(function(t){t.setState()}),o&&o.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},t.prototype.runPointActions=function(t,i){var o=this.chart,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,s=!!r&&r.shared,a=i||o.hoverPoint,l=a&&a.series||o.hoverSeries;a=(l=this.getHoverData(a,l,o.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),s,t)).hoverPoint;var c=l.hoverPoints;if(i=(l=l.hoverSeries)&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,s=s&&l&&!l.noSharedTooltip,a&&(a!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!a.series)return;o.hoverPoints=c,o.hoverPoint=a,a.firePointEvent("mouseOver"),r&&r.refresh(s?c:a,t)}else i&&r&&!r.isHidden&&(a=r.getAnchor([{}],t),o.isInsidePlot(a[0],a[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:a[0],plotY:a[1]}));this.unDocMouseMove||(this.unDocMouseMove=h(o.container.ownerDocument,"mousemove",function(t){var i=n[e.hoverChartIndex];i&&i.pointer.onDocumentMouseMove(t)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){var i,r=x((e.crosshair||{}).snap,!0);r&&((i=o.hoverPoint)&&i.series[e.coll]===e||(i=u(c,function(t){return t.series[e.coll]===e}))),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()})},t.prototype.scaleGroups=function(t,e){var i,o=this.chart;o.series.forEach(function(r){i=t||r.getPlotBox(),r.xAxis&&r.xAxis.zoomEnabled&&r.group&&(r.group.attr(i),r.markerGroup&&(r.markerGroup.attr(i),r.markerGroup.clip(e?o.clipRect:null)),r.dataLabelsGroup&&r.dataLabelsGroup.attr(i))}),o.clipRect.attr(e||o.clipBox)},t.prototype.setDOMEvents=function(){var t=this,i=this.chart.container,o=i.ownerDocument;i.onmousedown=this.onContainerMouseDown.bind(this),i.onmousemove=this.onContainerMouseMove.bind(this),i.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(h(i,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(h(i,"mouseleave",this.onContainerMouseLeave.bind(this))),e.unbindDocumentMouseUp||(e.unbindDocumentMouseUp=h(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var r=this.chart.renderTo.parentElement;r&&"BODY"!==r.tagName;)this.eventsToUnbind.push(h(r,"scroll",function(){delete t.chartPosition})),r=r.parentElement;e.hasTouch&&(this.eventsToUnbind.push(h(i,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(h(i,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),e.unbindDocumentTouchEnd||(e.unbindDocumentTouchEnd=h(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},t.prototype.setHoverChartIndex=function(){var t=this.chart,i=e.charts[x(e.hoverChartIndex,-1)];i&&i!==t&&i.pointer.onContainerMouseLeave({relatedTarget:!0}),i&&i.mouseIsDown||(e.hoverChartIndex=t.index)},t.prototype.touch=function(t,e){var i=this.chart;if(this.setHoverChartIndex(),1===t.touches.length)if(t=this.normalize(t),i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&!i.openMenu){if(e&&this.runPointActions(t),"touchmove"===t.type)var o=!!(e=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(e[0].chartX-t.chartX,2)+Math.pow(e[0].chartY-t.chartY,2));x(o,!0)&&this.pinch(t)}else e&&this.reset();else 2===t.touches.length&&this.pinch(t)},t.prototype.touchSelect=function(t){return!(!this.chart.options.chart.zoomBySingleTouch||!t.touches||1!==t.touches.length)},t.prototype.zoomOption=function(t){var e=this.chart,i=e.options.chart,o=i.zoomType||"";e=e.inverted,/touch/.test(t.type)&&(o=x(i.pinchType,o)),this.zoomX=t=/x/.test(o),this.zoomY=o=/y/.test(o),this.zoomHor=t&&!e||o&&e,this.zoomVert=o&&!e||t&&e,this.hasZoom=t||o},t}(),e.Pointer=t}),e(i,"Core/MSPointer.js",[i["Core/Globals.js"],i["Core/Pointer.js"],i["Core/Utilities.js"]],function(t,e,i){function o(){var t=[];return t.item=function(t){return this[t]},d(u,function(e){t.push({pageX:e.pageX,pageY:e.pageY,target:e.target})}),t}function r(e,i,r,s){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!n[t.hoverChartIndex]||(s(e),(s=n[t.hoverChartIndex].pointer)[i]({type:r,target:e.currentTarget,preventDefault:h,touches:o()}))}var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.charts,a=t.doc,h=t.noop,l=i.addEvent,c=i.css,d=i.objectEach,p=i.removeEvent,u={},f=!!t.win.PointerEvent;return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.batchMSEvents=function(t){t(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown),t(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove),t(a,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},e.prototype.destroy=function(){this.batchMSEvents(p),t.prototype.destroy.call(this)},e.prototype.init=function(e,i){t.prototype.init.call(this,e,i),this.hasZoom&&c(e.container,{"-ms-touch-action":"none","touch-action":"none"})},e.prototype.onContainerPointerDown=function(t){r(t,"onContainerTouchStart","touchstart",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY,target:t.currentTarget}})},e.prototype.onContainerPointerMove=function(t){r(t,"onContainerTouchMove","touchmove",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY},u[t.pointerId].target||(u[t.pointerId].target=t.currentTarget)})},e.prototype.onDocumentPointerUp=function(t){r(t,"onDocumentTouchEnd","touchend",function(t){delete u[t.pointerId]})},e.prototype.setDOMEvents=function(){t.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},e}(e)}),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=e.animObject,a=i.format,h=r.defaultOptions,l=s.addEvent,c=s.defined,d=s.erase,p=s.extend,u=s.fireEvent,f=s.getNestedProperty,g=s.isArray,m=s.isFunction,y=s.isNumber,v=s.isObject,x=s.merge,b=s.objectEach,w=s.pick,C=s.syncTimeout,S=s.removeEvent,k=s.uniqueKey;return e=function(){function e(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return e.prototype.animateBeforeDestroy=function(){var t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(p({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})},e.prototype.applyOptions=function(t,i){var o=this.series,r=o.options.pointValKey||o.pointValKey;return t=e.prototype.optionsToObject.call(this,t),p(this,t),this.options=this.options?p(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,r&&(this.y=e.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!y(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===i&&o.xAxis&&o.xAxis.hasNames&&(this.x=o.xAxis.nameToX(this)),void 0===this.x&&o&&(this.x=void 0===i?o.autoIncrement(this):i),this},e.prototype.destroy=function(){function t(){for(r in(e.graphic||e.dataLabel||e.dataLabels)&&(S(e),e.destroyElements()),e)e[r]=null}var e=this,i=e.series,o=i.chart;i=i.options.dataSorting;var r,s=o.hoverPoints,a=n(e.series.chart.renderer.globalAnimation);e.legendItem&&o.legend.destroyItem(e),s&&(e.setState(),d(s,e),s.length||(o.hoverPoints=null)),e===o.hoverPoint&&e.onMouseOut(),i&&i.enabled?(this.animateBeforeDestroy(),C(t,a.duration)):t(),o.pointCount--},e.prototype.destroyElements=function(t){var e=this;(t=e.getGraphicalProps(t)).singular.forEach(function(t){e[t]=e[t].destroy()}),t.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.destroy()}),delete e[t]})},e.prototype.firePointEvent=function(t,e,i){var o=this,r=this.series.options;(r.point.events[t]||o.options&&o.options.events&&o.options.events[t])&&o.importEvents(),"click"===t&&r.allowPointSelect&&(i=function(t){o.select&&o.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(o,t,e,i)},e.prototype.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",""):"")},e.prototype.getGraphicalProps=function(t){var e,i=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","upperGraphic","shadowGroup"),t.dataLabel&&o.push("dataLabel","dataLabelUpper","connector"),e=o.length;e--;){var s=o[e];i[s]&&r.singular.push(s)}return["dataLabel","connector"].forEach(function(e){var o=e+"s";t[e]&&i[o]&&r.plural.push(o)}),r},e.prototype.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}},e.prototype.getNestedProperty=function(t){if(t)return 0===t.indexOf("custom.")?f(t,this.options):this[t]},e.prototype.getZone=function(){var t=this.series,e=t.zones;t=t.zoneAxis||"y";var i,o=0;for(i=e[o];this[t]>=i.value;)i=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=i&&i.color&&!this.options.color?i.color:this.nonZonedColor,i},e.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},e.prototype.init=function(t,e,i){return this.series=t,this.applyOptions(e,i),this.id=c(this.id)?this.id:k(),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit"),this},e.prototype.optionsToObject=function(t){var i={},o=this.series,r=o.options.keys,s=r||o.pointArrayMap||["y"],n=s.length,a=0,h=0;if(y(t)||null===t)i[s[0]]=t;else if(g(t))for(!r&&t.length>n&&("string"==(o=typeof t[0])?i.name=t[0]:"number"===o&&(i.x=t[0]),a++);h<n;)r&&void 0===t[a]||(0<s[h].indexOf(".")?e.prototype.setNestedProperty(i,t[a],s[h]):i[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(i=t,t.dataLabels&&(o._hasPointLabels=!0),t.marker&&(o._hasPointMarkers=!0));return i},e.prototype.resolveColor=function(){var t=this.series,e=t.chart.options.chart.colorCount,i=t.chart.styledMode;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){var o=(e=t.options.colors||t.chart.options.colors)[t.colorCounter];e=e.length}i=t.colorCounter,t.colorCounter++,t.colorCounter===e&&(t.colorCounter=0)}else i||(o=t.color),i=t.colorIndex;this.colorIndex=w(this.options.colorIndex,i),this.color=w(this.options.color,o)},e.prototype.setNestedProperty=function(t,e,i){return i.split(".").reduce(function(t,i,o,r){return t[i]=r.length-1===o?e:v(t[i],!0)?t[i]:{},t[i]},t),t},e.prototype.tooltipFormatter=function(t){var e=this.series,i=e.tooltipOptions,o=w(i.valueDecimals,""),r=i.valuePrefix||"",s=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(r||s)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+s)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),a(t,{point:this,series:this.series},e.chart)},e.prototype.update=function(t,e,i,o){function r(){n.applyOptions(t);var o=h&&n.hasDummyGraphic;o=null===n.y?!o:o,h&&o&&(n.graphic=h.destroy(),delete n.hasDummyGraphic),v(t,!0)&&(h&&h.element&&t&&t.marker&&void 0!==t.marker.symbol&&(n.graphic=h.destroy()),t&&t.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy()),n.connector&&(n.connector=n.connector.destroy())),a.updateParallelArrays(n,s=n.index),c.data[s]=v(c.data[s],!0)||v(t,!0)?n.options:w(t,c.data[s]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===c.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}var s,n=this,a=n.series,h=n.graphic,l=a.chart,c=a.options;e=w(e,!0),!1===o?r():n.firePointEvent("update",{options:t},r)},e.prototype.remove=function(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)},e.prototype.select=function(t,e){var i=this,o=i.series,r=o.chart;this.selectedStaging=t=w(t,!i.selected),i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,o.options.data[o.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){var e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging},e.prototype.onMouseOver=function(t){var e=this.series.chart,i=e.pointer;t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e.inverted),i.runPointActions(t,this)},e.prototype.onMouseOut=function(){var t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null},e.prototype.importEvents=function(){if(!this.hasImportedEvents){var t=this,e=x(t.series.options.point,t.options).events;t.events=e,b(e,function(e,i){m(e)&&l(t,i,e)}),this.hasImportedEvents=!0}},e.prototype.setState=function(e,i){var o,r=this.series,s=this.state,n=r.options.states[e||"normal"]||{},a=h.plotOptions[r.type].marker&&r.options.marker,l=a&&a.states&&a.states[e||"normal"]||{},c=r.stateMarkerGraphic,d=this.marker||{},f=r.chart,g=r.halo,m=a&&r.markerAttribs;if(!((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===n.enabled||e&&(!1===l.enabled||a&&!1===a.enabled&&!1===l.enabled)||e&&d.states&&d.states[e]&&!1===d.states[e].enabled)){if(this.state=e,m&&(o=r.markerAttribs(this,e)),this.graphic&&!this.hasDummyGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),e&&this.graphic.addClass("highcharts-point-"+e),!f.styledMode){var v=r.pointAttribs(this,e),x=w(f.options.chart.animation,n.animation);r.options.inactiveOtherPoints&&y(v.opacity)&&((this.dataLabels||[]).forEach(function(t){t&&t.animate({opacity:v.opacity},x)}),this.connector&&this.connector.animate({opacity:v.opacity},x)),this.graphic.animate(v,x)}o&&this.graphic.animate(o,w(f.options.chart.animation,l.animation,a.animation)),c&&c.hide()}else e&&l&&(s=d.symbol||r.symbol,c&&c.currentSymbol!==s&&(c=c.destroy()),o&&(c?c[i?"animate":"attr"]({x:o.x,y:o.y}):s&&(r.stateMarkerGraphic=c=f.renderer.symbol(s,o.x,o.y,o.width,o.height).add(r.markerGroup),c.currentSymbol=s)),!f.styledMode&&c&&c.attr(r.pointAttribs(this,e))),c&&(c[e&&this.isInside?"show":"hide"](),c.element.point=this);o=(c=this.graphic||c)&&c.visibility||"inherit",(n=n.halo)&&n.size&&c&&"hidden"!==o&&!this.isCluster?(g||(r.halo=g=f.renderer.path().add(c.parentGroup)),g.show()[i?"animate":"attr"]({d:this.haloPath(n.size)}),g.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:o,zIndex:-1}),g.point=this,f.styledMode||g.attr(p({fill:this.color||r.color,"fill-opacity":n.opacity},t.filterUserAttributes(n.attributes||{})))):g&&g.point&&g.point.haloPath&&g.animate({d:g.point.haloPath(0)},null,g.hide),u(this,"afterSetState",{state:e})}},e.prototype.haloPath=function(t){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-t,this.plotY-t,2*t,2*t)},e}(),o.Point=e}),e(i,"Core/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.animObject,n=t.setAnimation,a=e.format;t=i.isFirefox;var h=i.marginNames;e=i.win;var l=r.addEvent,c=r.createElement,d=r.css,p=r.defined,u=r.discardElement,f=r.find,g=r.fireEvent,m=r.isNumber,y=r.merge,v=r.pick,x=r.relativeLength,b=r.stableSort,w=r.syncTimeout;r=r.wrap;var C=function(){function t(t,e){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options={},this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=t,this.init(t,e)}return t.prototype.init=function(t,e){this.chart=t,this.setOptions(e),e.enabled&&(this.render(),l(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=l(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},t.prototype.setOptions=function(t){var e=v(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=y(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop||0,this.itemMarginBottom=t.itemMarginBottom||0,this.padding=e,this.initialItemY=e-5,this.symbolWidth=v(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0},t.prototype.update=function(t,e){var i=this.chart;this.setOptions(y(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,v(e,!0)&&i.redraw(),g(this,"afterUpdate")},t.prototype.colorizeItem=function(t,e){if(t.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=t.legendItem,r=t.legendLine,s=t.legendSymbol,n=this.itemHiddenStyle.color;i=e?i.itemStyle.color:n;var a=e&&t.color||n,h=t.options&&t.options.marker,l={fill:a};o&&o.css({fill:i,color:i}),r&&r.attr({stroke:a}),s&&(h&&s.isMarker&&(l=t.pointAttribs(),e||(l.stroke=l.fill=n)),s.attr(l))}g(this,"afterColorizeItem",{item:t,visible:e})},t.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},t.prototype.positionItem=function(t){var e=this,i=this.options,o=i.symbolPadding,r=!i.rtl,s=t._legendItemPos;i=s[0],s=s[1];var n=t.checkbox,a=t.legendGroup;a&&a.element&&(o={translateX:r?i:this.legendWidth-i-2*o-4,translateY:s},r=function(){g(e,"afterPositionItem",{item:t})},p(a.translateY)?a.animate(o,void 0,r):(a.attr(o),r())),n&&(n.x=i,n.y=s)},t.prototype.destroyItem=function(t){var e=t.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),e&&u(t.checkbox)},t.prototype.destroy=function(){function t(t){this[t]&&(this[t]=this[t].destroy())}this.getAllItems().forEach(function(e){["legendItem","legendGroup"].forEach(t,e)}),"clipRect up down pager nav box title group".split(" ").forEach(t,this),this.display=null},t.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,i=this.titleHeight;if(t){var o=t.translateY;this.allItems.forEach(function(r){var s=r.checkbox;if(s){var n=o+i+s.y+(this.scrollOffset||0)+3;d(s,{left:t.translateX+r.checkboxOffset+s.x-20+"px",top:n+"px",display:this.proximate||n>o-6&&n<o+e-6?"":"none"})}},this)}},t.prototype.renderTitle=function(){var t=this.options,e=this.padding,i=t.title,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,null,null,null,t.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o},t.prototype.setText=function(t){var e=this.options;t.legendItem.attr({text:e.labelFormat?a(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})},t.prototype.renderItem=function(t){var e=this.chart,i=e.renderer,o=this.options,r=this.symbolWidth,s=o.symbolPadding||0,n=this.itemStyle,a=this.itemHiddenStyle,h="horizontal"===o.layout?v(o.itemDistance,20):0,l=!o.rtl,c=t.legendItem,d=!t.series,p=!d&&t.series.drawLegendSymbol?t.series:t,u=p.options,f=this.createCheckboxForItem&&u&&u.showCheckbox;u=r+s+h+(f?20:0);var g=o.useHTML,m=t.options.className;c||(t.legendGroup=i.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),t.legendItem=c=i.text("",l?r+s:-s,this.baseline||0,g),e.styledMode||c.css(y(t.visible?n:a)),c.attr({align:l?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.fontMetrics=i.fontMetrics(e.styledMode?12:n.fontSize,c),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,c.attr("y",this.baseline),this.symbolHeight=o.symbolHeight||this.fontMetrics.f,o.squareSymbol&&(this.symbolWidth=v(o.symbolWidth,Math.max(this.symbolHeight,16)),u=this.symbolWidth+s+h+(f?20:0),l&&c.attr("x",this.symbolWidth+s))),p.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,c,g)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),!e.styledMode&&n.width||c.css({width:(o.itemWidth||this.widthOption||e.spacingBox.width)-u+"px"}),this.setText(t),e=c.getBBox(),t.itemWidth=t.checkboxOffset=o.itemWidth||t.legendItemWidth||e.width+u,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(t.legendItemHeight||e.height||this.symbolHeight)},t.prototype.layoutItem=function(t){var e=this.options,i=this.padding,o="horizontal"===e.layout,r=t.itemHeight,s=this.itemMarginBottom,n=this.itemMarginTop,a=o?v(e.itemDistance,20):0,h=this.maxLegendWidth;e=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,o&&this.itemX-i+e>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+s),this.lastLineHeight=0),this.lastItemY=n+this.itemY+s,this.lastLineHeight=Math.max(r,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],o?this.itemX+=e:(this.itemY+=n+r+s,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((o?this.itemX-i-(t.checkbox?0:a):e)+i,this.offsetWidth)},t.prototype.getAllItems=function(){var t=[];return this.chart.series.forEach(function(e){var i=e&&e.options;e&&v(i.showInLegend,!p(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItems||("point"===i.legendType?e.data:e)))}),g(this,"afterGetAllItems",{allItems:t}),t},t.prototype.getAlignment=function(){var t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)},t.prototype.adjustMargins=function(t,e){var i=this.chart,o=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(s,n){s.test(r)&&!p(t[n])&&(i[h[n]]=Math.max(i[h[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*o[n%2?"x":"y"]+v(o.margin,12)+e[n]+(i.titleOffset[n]||0)))})},t.prototype.proximatePositions=function(){var t=this.chart,e=[],o="left"===this.options.align;this.allItems.forEach(function(i){var r,s=o;if(i.yAxis){i.xAxis.options.reversed&&(s=!s),i.points&&(r=f(s?i.points:i.points.slice(0).reverse(),function(t){return m(t.plotY)})),s=this.itemMarginTop+i.legendItem.getBBox().height+this.itemMarginBottom;var n=i.yAxis.top-t.plotTop;i.visible?(r=r?r.plotY:i.yAxis.height,r+=n-.3*s):r=n+i.yAxis.height,e.push({target:r,size:s,item:i})}},this),i.distribute(e,t.plotHeight),e.forEach(function(e){e.item._legendItemPos[1]=t.plotTop-t.spacing[0]+e.pos})},t.prototype.render=function(){var t=this.chart,e=t.renderer,i=this.group,o=this.box,r=this.options,s=this.padding;this.itemX=s,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=x(r.width,t.spacingBox.width-s);var n=t.spacingBox.width-2*s-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(n/=2),this.maxLegendWidth=this.widthOption||n,i||(this.group=i=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(i),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle();var a=this.getAllItems();b(a,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),r.reversed&&a.reverse(),this.allItems=a,this.display=n=!!a.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s;var h=this.lastItemY+this.lastLineHeight+this.titleHeight;h=this.handleOverflow(h),h+=s,o||(this.box=o=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(i),o.isNew=!0),t.styledMode||o.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow),0<a&&0<h&&(o[o.isNew?"attr":"animate"](o.crisp.call({},{x:0,y:0,width:a,height:h},o.strokeWidth())),o.isNew=!1),o[n?"show":"hide"](),t.styledMode&&"none"===i.getStyle("display")&&(a=h=0),this.legendWidth=a,this.legendHeight=h,n&&this.align(),this.proximate||this.positionItems(),g(this,"afterRender")},t.prototype.align=function(t){void 0===t&&(t=this.chart.spacingBox);var e=this.chart,i=this.options,o=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<e.titleOffset[0]?o+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<e.titleOffset[2]&&(o-=e.titleOffset[2]),o!==t.y&&(t=y(t,{y:o})),this.group.align(y(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)},t.prototype.handleOverflow=function(t){var e=this,i=this.chart,o=i.renderer,r=this.options,s=r.y,n=this.padding;s=i.spacingBox.height+("top"===r.verticalAlign?-s:s)-n;var a,h,l=r.maxHeight,c=this.clipRect,d=r.navigation,p=v(d.animation,!0),u=d.arrowSize||12,f=this.nav,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?c.attr({height:t}):c&&(e.clipRect=c.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},x=function(t){return e[t]=o.circle(0,0,1.3*u).translate(u/2,u/2).add(f),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]};return"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(s/=2),l&&(s=Math.min(s,l)),g.length=0,t&&0<s&&t>s&&!1!==d.enabled?(this.clipHeight=a=Math.max(s-20-this.titleHeight-n,0),this.currentPage=v(this.currentPage,1),this.fullHeight=t,m.forEach(function(t,e){var i=t._legendItemPos[1],o=Math.round(t.legendItem.getBBox().height),r=g.length;(!r||i-g[r-1]>a&&(h||i)!==g[r-1])&&(g.push(h||i),r++),t.pageIx=r-1,h&&(m[e-1].pageIx=r-1),e===m.length-1&&i+o-g[r-1]>a&&i!==h&&(g.push(i),t.pageIx=r),i!==h&&(h=i)}),c||(c=e.clipRect=o.clipRect(0,n,9999,0),e.contentGroup.clip(c)),y(a),f||(this.nav=f=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(f),x("upTracker").on("click",function(){e.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),i.styledMode||this.pager.css(d.style),this.pager.add(f),this.down=o.symbol("triangle-down",0,0,u,u).add(f),x("downTracker").on("click",function(){e.scroll(1,p)})),e.scroll(0),t=s):f&&(y(),this.nav=f.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},t.prototype.scroll=function(t,e){var i=this,o=this.chart,r=this.pages,a=r.length,h=this.currentPage+t;t=this.clipHeight;var l=this.options.navigation,c=this.pager,d=this.padding;h>a&&(h=a),0<h&&(void 0!==e&&n(e,o),this.nav.attr({translateX:d,translateY:t+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:h+"/"+a}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===h?l.inactiveColor:l.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===a?l.inactiveColor:l.activeColor}),this.downTracker.css({cursor:h===a?"default":"pointer"})),this.scrollOffset=-r[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),e=s(v(e,o.renderer.globalAnimation,!0)),w(function(){g(i,"afterScroll",{currentPage:h})},e.duration))},t.prototype.setItemEvents=function(t,e,i){var r=this,s=r.chart.renderer.boxWrapper,n=t instanceof o,a="highcharts-legend-"+(n?"point":"series")+"-active",h=r.chart.styledMode;(i?[e,t.legendSymbol]:[t.legendGroup]).forEach(function(i){i&&i.on("mouseover",function(){t.visible&&r.allItems.forEach(function(e){t!==e&&e.setState("inactive",!n)}),t.setState("hover"),t.visible&&s.addClass(a),h||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(y(t.visible?r.itemStyle:r.itemHiddenStyle)),r.allItems.forEach(function(e){t!==e&&e.setState("",!n)}),s.removeClass(a),t.setState()}).on("click",function(e){var i=function(){t.setVisible&&t.setVisible(),r.allItems.forEach(function(e){t!==e&&e.setState(t.visible?"inactive":"",!n)})};s.removeClass(a),e={browserEvent:e},t.firePointEvent?t.firePointEvent("legendItemClick",e,i):g(t,"legendItemClick",e,i)})})},t.prototype.createCheckboxForItem=function(t){t.checkbox=c("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),l(t.checkbox,"click",function(e){g(t.series||t,"checkboxClick",{checked:e.target.checked,item:t},function(){t.select()})})},t}();return(/Trident\/7\.0/.test(e.navigator&&e.navigator.userAgent)||t)&&r(C.prototype,"positionItem",function(t,e){var i=this,o=function(){e._legendItemPos&&t.call(i,e)};o(),i.bubbleLegend||setTimeout(o)}),i.Legend=C,i.Legend}),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r,s=e.defaultOptions,n=o.error,a=o.extendClass,h=o.merge;return function(e){function o(t,o){var r=s.plotOptions||{},n=o.defaultOptions;o.prototype.pointClass||(o.prototype.pointClass=i),o.prototype.type=t,n&&(r[t]=n),e.seriesTypes[t]=o}e.seriesTypes=t.seriesTypes,e.getSeries=function(t,i){void 0===i&&(i={});var o=t.options.chart,r=e.seriesTypes[o=i.type||o.type||o.defaultSeriesType||""];return e||n(17,!0,t,{missingModuleFor:o}),"function"==typeof(o=new r).init&&o.init(t,i),o},e.registerSeriesType=o,e.seriesType=function(t,r,n,l,c){var d=s.plotOptions||{};return d[t]=h(d[r=r||""],n),o(t,a(e.seriesTypes[r]||function(){},l)),e.seriesTypes[t].prototype.type=t,c&&(e.seriesTypes[t].prototype.pointClass=a(i,c)),e.seriesTypes[t]}}(r||(r={})),t.seriesType=r.seriesType,r}),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Core/MSPointer.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Pointer.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i,o,r,s,n,a,h,l,c,d,p){var u=t.animate,f=t.animObject,g=t.setAnimation,m=i.numberFormat,y=o.charts,v=o.doc,x=o.win,b=n.defaultOptions,w=n.defaultTime,C=l.seriesTypes,S=d.addEvent,k=d.attr,M=d.cleanRecursively,A=d.createElement,T=d.css,P=d.defined,O=d.discardElement,E=d.erase,L=d.error,D=d.extend,j=d.find,I=d.fireEvent,_=d.getStyle,B=d.isArray,R=d.isFunction,z=d.isNumber,N=d.isObject,G=d.isString,W=d.merge,H=d.objectEach,X=d.pick,F=d.pInt,U=d.relativeLength,Y=d.removeEvent,V=d.splat,Z=d.syncTimeout,q=d.uniqueKey,K=o.marginNames,$=function(){function t(t,e,i){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(t,e,i)}return t.prototype.getArgs=function(t,e,i){G(t)||t.nodeName?(this.renderTo=t,this.init(e,i)):this.init(t,e)},t.prototype.init=function(t,e){var i=t.plotOptions||{};I(this,"init",{args:arguments},function(){var r=W(b,t),s=r.chart;H(r.plotOptions,function(t,e){N(t)&&(t.tooltip=i[e]&&W(i[e].tooltip)||void 0)}),r.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip,this.userOptions=t;var n=s.events;this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=r,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):o.time,this.numberFormatter=s.numberFormatter||m,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;var a=this;a.index=y.length,y.push(a),o.chartCount++,n&&H(n,function(t,e){R(t)&&S(a,e,t)}),a.xAxis=[],a.yAxis=[],a.pointCount=a.colorCounter=a.symbolCounter=0,I(a,"afterInit"),a.firstRender()})},t.prototype.initSeries=function(t){var e=this.options.chart,i=C[e=t.type||e.type||e.defaultSeriesType];return i||L(17,!0,this,{missingModuleFor:e}),"function"==typeof(e=new i).init&&e.init(this,t),e},t.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})},t.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})},t.prototype.orderSeries=function(t){var e=this.series;for(t=t||0;t<e.length;t++)e[t]&&(e[t].index=t,e[t].name=e[t].getName())},t.prototype.isInsidePlot=function(t,e,i){void 0===i&&(i={});var o=this.inverted,r=this.plotBox,s=this.plotLeft,n=this.plotTop,a=this.scrollablePlotBox,h=this.scrollingContainer,l=(h=void 0===h?{scrollLeft:0,scrollTop:0}:h).scrollLeft;h=h.scrollTop;var c=i.series;if(r=i.visiblePlotOnly&&a||r,t={x:a=i.inverted?e:t,y:e=i.inverted?t:e,isInsidePlot:!0},!i.ignoreX){var d=c&&(o?c.yAxis:c.xAxis)||{pos:s,len:1/0};(a=i.paneCoordinates?d.pos+a:s+a)>=Math.max(l+s,d.pos)&&a<=Math.min(l+s+r.width,d.pos+d.len)||(t.isInsidePlot=!1)}return!i.ignoreY&&t.isInsidePlot&&(o=c&&(o?c.xAxis:c.yAxis)||{pos:n,len:1/0},(i=i.paneCoordinates?o.pos+e:n+e)>=Math.max(h+n,o.pos)&&i<=Math.min(h+n+r.height,o.pos+o.len)||(t.isInsidePlot=!1)),I(this,"afterIsInsidePlot",t),t.isInsidePlot},t.prototype.redraw=function(t){I(this,"beforeRedraw");var e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,o=this.pointer,r=this.legend,s=this.userOptions.legend,n=this.isDirtyLegend,a=this.isDirtyBox,h=this.renderer,l=h.isHidden(),c=[];for(this.setResponsive&&this.setResponsive(!1),g(!!this.hasRendered&&t,this),l&&this.temporaryDisplay(),this.layOutTitles(),t=i.length;t--;){var d=i[t];if(d.options.stacking||d.options.centerInCategory){var p=!0;if(d.isDirty){var u=!0;break}}}if(u)for(t=i.length;t--;)(d=i[t]).options.stacking&&(d.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),n=!0):s&&(s.labelFormatter||s.labelFormat)&&(n=!0)),t.isDirtyData&&I(t,"updatedData")}),n&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),p&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(a=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,c.push(function(){I(t,"afterSetExtremes",D(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(a||p)&&t.redraw()}),a&&this.drawChartBox(),I(this,"predraw"),i.forEach(function(t){(a||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),o&&o.reset(!0),h.draw(),I(this,"redraw"),I(this,"render"),l&&this.temporaryDisplay(!0),c.forEach(function(t){t.call()})},t.prototype.get=function(t){function e(e){return e.id===t||e.options&&e.options.id===t}var i,o=this.series,r=j(this.axes,e)||j(this.series,e);for(i=0;!r&&i<o.length;i++)r=j(o[i].points||[],e);return r},t.prototype.getAxes=function(){var t=this,i=this.options,o=i.xAxis=V(i.xAxis||{});i=i.yAxis=V(i.yAxis||{}),I(this,"getAxes"),o.forEach(function(t,e){t.index=e,t.isX=!0}),i.forEach(function(t,e){t.index=e}),o.concat(i).forEach(function(i){new e(t,i)}),I(this,"afterGetAxes")},t.prototype.getSelectedPoints=function(){var t=[];return this.series.forEach(function(e){t=t.concat(e.getPointsCollection().filter(function(t){return X(t.selectedStaging,t.selected)}))}),t},t.prototype.getSelectedSeries=function(){return this.series.filter(function(t){return t.selected})},t.prototype.setTitle=function(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)},t.prototype.applyDescription=function(t,e){var i=this,o="title"===t?{color:a.neutralColor80,fontSize:this.options.isStock?"16px":"18px"}:{color:a.neutralColor60};o=this.options[t]=W(!this.styledMode&&{style:o},this.options[t],e);var r=this[t];r&&e&&(this[t]=r=r.destroy()),o&&!r&&((r=this.renderer.text(o.text,0,0,o.useHTML).attr({align:o.align,class:"highcharts-"+t,zIndex:o.zIndex||4}).add()).update=function(e){i[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[t]](e)},this.styledMode||r.css(o.style),this[t]=r)},t.prototype.layOutTitles=function(t){var e=[0,0,0],i=this.renderer,o=this.spacingBox;["title","subtitle","caption"].forEach(function(t){var r=this[t],s=this.options[t],n=s.verticalAlign||"top";if(t="title"===t?-3:"top"===n?e[0]+2:0,r){if(!this.styledMode)var a=s.style.fontSize;a=i.fontMetrics(a,r).b,r.css({width:(s.width||o.width+(s.widthAdjust||0))+"px"});var h=Math.round(r.getBBox(s.useHTML).height);r.align(D({y:"bottom"===n?a:t+a,height:h},s),!1,"spacingBox"),s.floating||("top"===n?e[0]=Math.ceil(e[0]+h):"bottom"===n&&(e[2]=Math.ceil(e[2]+h)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);var r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,I(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&X(t,!0)&&this.isDirtyBox&&this.redraw())},t.prototype.getChartSize=function(){var t=this.options.chart,e=t.width;t=t.height;var i=this.renderTo;P(e)||(this.containerWidth=_(i,"width")),P(t)||(this.containerHeight=_(i,"height")),this.chartWidth=Math.max(0,e||this.containerWidth||600),this.chartHeight=Math.max(0,U(t,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},t.prototype.temporaryDisplay=function(t){var e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(v.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(v.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,v.body.appendChild(e)),("none"===_(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},t={display:"block",overflow:"hidden"},e!==this.renderTo&&(t.height=0),T(e,t),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==v.body););},t.prototype.setClassName=function(t){this.container.className="highcharts-container "+(t||"")},t.prototype.getContainer=function(){var t,e,i=this.options,r=i.chart,s=this.renderTo,n=q();s||(this.renderTo=s=r.renderTo),G(s)&&(this.renderTo=s=v.getElementById(s)),s||L(13,!0,this);var a=F(k(s,"data-highcharts-chart"));z(a)&&y[a]&&y[a].hasRendered&&y[a].destroy(),k(s,"data-highcharts-chart",this.index),s.innerHTML="",r.skipClone||s.offsetWidth||this.temporaryDisplay(),this.getChartSize(),a=this.chartWidth;var h=this.chartHeight;if(T(s,{overflow:"hidden"}),this.styledMode||(t=D({position:"relative",overflow:"hidden",width:a+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},r.style||{})),this.container=s=A("div",{id:n},t,s),this._cursor=s.style.cursor,this.renderer=new(o[r.renderer]||o.Renderer)(s,a,h,null,r.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),g(void 0,this),this.setClassName(r.className),this.styledMode)for(e in i.defs)this.renderer.definition(i.defs[e]);else this.renderer.setStyle(r.style);this.renderer.chartIndex=this.index,I(this,"afterGetContainer")},t.prototype.getMargins=function(t){var e=this.spacing,i=this.margin,o=this.titleOffset;this.resetMargins(),o[0]&&!P(i[0])&&(this.plotTop=Math.max(this.plotTop,o[0]+e[0])),o[2]&&!P(i[2])&&(this.marginBottom=Math.max(this.marginBottom,o[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),I(this,"getMargins"),t||this.getAxisMargins()},t.prototype.getAxisMargins=function(){var t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,o=t.margin,r=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),K.forEach(function(i,r){P(o[r])||(t[i]+=e[r])}),t.setChartSize()},t.prototype.reflow=function(t){var e=this,i=e.options.chart,o=e.renderTo,r=P(i.width)&&P(i.height),s=i.width||_(o,"width");i=i.height||_(o,"height"),o=t?t.target:x,delete e.pointer.chartPosition,r||e.isPrinting||!s||!i||o!==x&&o!==v||(s===e.containerWidth&&i===e.containerHeight||(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerWidth=s,e.containerHeight=i)},t.prototype.setReflow=function(t){var e=this;!1===t||this.unbindReflow?!1===t&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=S(x,"resize",function(t){e.options&&e.reflow(t)}),S(this,"destroy",this.unbindReflow))},t.prototype.setSize=function(t,e,i){var o=this,r=o.renderer;o.isResizing+=1,g(i,o),i=r.globalAnimation,o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,void 0!==t&&(o.options.chart.width=t),void 0!==e&&(o.options.chart.height=e),o.getChartSize(),o.styledMode||(i?u:T)(o.container,{width:o.chartWidth+"px",height:o.chartHeight+"px"},i),o.setChartSize(!0),r.setSize(o.chartWidth,o.chartHeight,i),o.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(i),o.oldChartHeight=null,I(o,"resize"),Z(function(){o&&I(o,"endResize",null,function(){--o.isResizing})},f(i).duration)},t.prototype.setChartSize=function(t){var e,i,o,r,s=this.inverted,n=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=o=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=s?r:o,this.plotSizeY=s?o:r,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=n.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=n.plotBox={x:e,y:i,width:o,height:r},h=2*Math.floor(this.plotBorderWidth/2),s=Math.ceil(Math.max(h,d[3])/2),a=Math.ceil(Math.max(h,d[0])/2),this.clipBox={x:s,y:a,width:Math.floor(this.plotSizeX-Math.max(h,d[1])/2-s),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(h,d[2])/2-a))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),n.alignElements()),I(this,"afterSetChartSize",{skipAxes:t})},t.prototype.resetMargins=function(){I(this,"resetMargins");var t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){var o=e[i],r=N(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(o,s){t[i][s]=X(e[i+o],r[s])})}),K.forEach(function(e,i){t[e]=X(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},t.prototype.drawChartBox=function(){var t,e=this.options.chart,i=this.renderer,o=this.chartWidth,r=this.chartHeight,s=this.chartBackground,n=this.plotBackground,a=this.plotBorder,h=this.styledMode,l=this.plotBGImage,c=e.backgroundColor,d=e.plotBackgroundColor,p=e.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,g=this.plotWidth,m=this.plotHeight,y=this.plotBox,v=this.clipRect,x=this.clipBox,b="animate";if(s||(this.chartBackground=s=i.rect().addClass("highcharts-background").add(),b="attr"),h)var w=t=s.strokeWidth();else t=(w=e.borderWidth||0)+(e.shadow?8:0),c={fill:c||"none"},(w||s["stroke-width"])&&(c.stroke=e.borderColor,c["stroke-width"]=w),s.attr(c).shadow(e.shadow);s[b]({x:t/2,y:t/2,width:o-t-w%2,height:r-t-w%2,r:e.borderRadius}),b="animate",n||(b="attr",this.plotBackground=n=i.rect().addClass("highcharts-plot-background").add()),n[b](y),h||(n.attr({fill:d||"none"}).shadow(e.plotShadow),p&&(l?(p!==l.attr("href")&&l.attr("href",p),l.animate(y)):this.plotBGImage=i.image(p,u,f,g,m).add())),v?v.animate({width:x.width,height:x.height}):this.clipRect=i.clipRect(x),b="animate",a||(b="attr",this.plotBorder=a=i.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),h||a.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:"none"}),a[b](a.crisp({x:u,y:f,width:g,height:m},-a.strokeWidth())),this.isDirtyBox=!1,I(this,"afterDrawChartBox")},t.prototype.propFromSeries=function(){var t,e,i,o=this,r=o.options.chart,s=o.options.series;["inverted","angular","polar"].forEach(function(n){for(t=C[r.type||r.defaultSeriesType],i=r[n]||t&&t.prototype[n],e=s&&s.length;!i&&e--;)(t=C[s[e].type])&&t.prototype[n]&&(i=!0);o[n]=i})},t.prototype.linkSeries=function(){var t=this,e=t.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options.linkedTo;G(i)&&(i=":previous"===i?t.series[e.index-1]:t.get(i))&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,i.enabledDataSorting&&e.setDataSortingOptions(),e.visible=X(e.options.visible,i.options.visible,e.visible))}),I(this,"afterLinkSeries")},t.prototype.renderSeries=function(){this.series.forEach(function(t){t.translate(),t.render()})},t.prototype.renderLabels=function(){var t=this,e=t.options.labels;e.items&&e.items.forEach(function(i){var o=D(e.style,i.style),r=F(o.left)+t.plotLeft,s=F(o.top)+t.plotTop+12;delete o.left,delete o.top,t.renderer.text(i.html,r,s).attr({zIndex:2}).css(o).add()})},t.prototype.render=function(){var t=this.axes,e=this.colorAxis,i=this.renderer,o=this.options,s=0,n=function(t){t.forEach(function(t){t.visible&&t.render()})};this.setTitle(),this.legend=new r(this,o.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),o=this.plotWidth,t.some(function(t){if(t.horiz&&t.visible&&t.options.labels.enabled&&t.series.length)return s=21,!0});var a=this.plotHeight=Math.max(this.plotHeight-s,0);t.forEach(function(t){t.setScale()}),this.getAxisMargins();var h=1.1<o/this.plotWidth,l=1.05<a/this.plotHeight;(h||l)&&(t.forEach(function(t){(t.horiz&&h||!t.horiz&&l)&&t.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?n(t):e&&e.length&&n(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},t.prototype.addCredits=function(t){var e=this,i=W(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(x.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})},t.prototype.destroy=function(){var t,e=this,i=e.axes,r=e.series,s=e.container,n=s&&s.parentNode;for(I(e,"destroy"),e.renderer.forExport?E(y,e):y[e.index]=void 0,o.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Y(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=r.length;t--;)r[t]=r[t].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),s&&(s.innerHTML="",Y(s),n&&O(s)),H(e,function(t,i){delete e[i]})},t.prototype.firstRender=function(){var t=this,e=t.options;t.isReadyToRender&&!t.isReadyToRender()||(t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes(),(B(e.series)?e.series:[]).forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSeriesData(),I(t,"beforeRender"),h&&(t.pointer=o.hasTouch||!x.PointerEvent&&!x.MSPointerEvent?new h(t,e):new s(t,e)),t.render(),t.pointer.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0))},t.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),I(this,"load"),I(this,"render"),P(this.index)&&this.setReflow(this.options.chart.reflow),this.hasLoaded=!0},t.prototype.addSeries=function(t,e,i){var o,r=this;return t&&(e=X(e,!0),I(r,"addSeries",{options:t},function(){o=r.initSeries(t),r.isDirtyLegend=!0,r.linkSeries(),o.enabledDataSorting&&o.setData(t.data,!1),I(r,"afterAddSeries",{series:o}),e&&r.redraw(i)})),o},t.prototype.addAxis=function(t,e,i,o){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:o})},t.prototype.addColorAxis=function(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})},t.prototype.createAxis=function(t,i){var r="colorAxis"===t,s=i.redraw,n=i.animation;return t=W(i.axis,{index:this[t].length,isX:"xAxis"===t}),t=r?new o.ColorAxis(this,t):new e(this,t),r&&(this.isDirtyLegend=!0,this.axes.forEach(function(t){t.series=[]}),this.series.forEach(function(t){t.bindAxes(),t.isDirtyData=!0})),X(s,!0)&&this.redraw(n),t},t.prototype.showLoading=function(t){var e=this,i=e.options,o=e.loadingDiv,r=e.loadingSpan,s=i.loading,n=function(){o&&T(o,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})};o||(e.loadingDiv=o=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),r||(e.loadingSpan=r=A("span",{className:"highcharts-loading-inner"},null,o),S(e,"redraw",n)),o.className="highcharts-loading",p.setElementHTML(r,X(t,i.lang.loading,"")),e.styledMode||(T(o,D(s.style,{zIndex:10})),T(r,s.labelStyle),e.loadingShown||(T(o,{opacity:0,display:""}),u(o,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,n()},t.prototype.hideLoading=function(){var t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(e,{display:"none"})}})),this.loadingShown=!1},t.prototype.update=function(t,e,i,o){var r,s,n,a=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];if(I(a,"update",{options:t}),l||a.setResponsive(!1,!0),t=M(t,a.options),a.userOptions=W(a.userOptions,t),r=t.chart){if(W(!0,a.options.chart,r),"className"in r&&a.setClassName(r.className),"reflow"in r&&a.setReflow(r.reflow),"inverted"in r||"polar"in r||"type"in r){a.propFromSeries();var p=!0}"alignTicks"in r&&(p=!0),H(r,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(s=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(l?a.isDirtyBox=!0:n=!0)}),!a.styledMode&&"style"in r&&a.renderer.setStyle(r.style)}!a.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===w&&(this.time=new c(t.time)),W(!0,a.options.time,t.time)),H(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[h[i]]?a[h[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&W(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(s=!0)}),this.collectionsWithUpdate.forEach(function(e){if(t[e]){var o=[];a[e].forEach(function(t,e){t.options.isInternal||o.push(X(t.options.index,e))}),V(t[e]).forEach(function(t,r){var s,n=P(t.id);n&&(s=a.get(t.id)),!s&&a[e]&&(s=a[e][o?o[r]:r])&&n&&P(s.options.id)&&(s=void 0),s&&s.coll===e&&(s.update(t,!1),i&&(s.touched=!0)),!s&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})}}),d.forEach(function(t){t.chart&&t.remove(!1)}),p&&a.axes.forEach(function(t){t.update({},!1)}),s&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this),p=r&&r.width,G(r=r&&r.height)&&(r=U(r,p||a.chartWidth)),n||z(p)&&p!==a.chartWidth||z(r)&&r!==a.chartHeight?a.setSize(p,r,o):X(e,!0)&&a.redraw(o),I(a,"afterUpdate",{options:t,redraw:e,animation:o})},t.prototype.setSubtitle=function(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)},t.prototype.setCaption=function(t,e){this.applyDescription("caption",t),this.layOutTitles(e)},t.prototype.showResetZoom=function(){function t(){e.zoomOut()}var e=this,i=b.lang,o=e.options.chart.resetZoomButton,r=o.theme,s=r.states,n="chart"===o.relativeTo||"spacingBox"===o.relativeTo?null:"scrollablePlotBox";I(this,"beforeShowResetZoom",null,function(){e.resetZoomButton=e.renderer.button(i.resetZoom,null,null,t,r,s&&s.hover).attr({align:o.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(o.position,!1,n)}),I(this,"afterShowResetZoom")},t.prototype.zoomOut=function(){I(this,"selection",{resetSelection:!0},this.zoom)},t.prototype.zoom=function(t){var e,i=this,o=i.pointer,r=!1,s=i.inverted?o.mouseDownX:o.mouseDownY;!t||t.resetSelection?(i.axes.forEach(function(t){e=t.zoom()}),o.initiated=!1):t.xAxis.concat(t.yAxis).forEach(function(t){var n=t.axis,a=i.inverted?n.left:n.top,h=n.isXAxis,l=!1;(!h&&s>=a&&s<=(i.inverted?a+n.width:a+n.height)||h||!P(s))&&(l=!0),o[h?"zoomX":"zoomY"]&&l&&(e=n.zoom(t.min,t.max),n.displayBtn&&(r=!0))});var n=i.resetZoomButton;r&&!n?i.showResetZoom():!r&&N(n)&&(i.resetZoomButton=n.destroy()),e&&i.redraw(X(i.options.chart.animation,t&&t.animation,100>i.pointCount))},t.prototype.pan=function(t,e){var i,o=this,r=o.hoverPoints,s=o.options.chart,n=o.options.mapNavigation&&o.options.mapNavigation.enabled;e="object"==typeof e?e:{enabled:e,type:"x"},s&&s.panning&&(s.panning=e);var a=e.type;I(this,"pan",{originalEvent:t},function(){r&&r.forEach(function(t){t.setState()});var e=[1];"xy"===a?e=[1,0]:"y"===a&&(e=[0]),e.forEach(function(e){var r=o[e?"xAxis":"yAxis"][0],s=r.horiz,h=t[s?"chartX":"chartY"],l=o[s=s?"mouseDownX":"mouseDownY"],c=(r.pointRange||0)/2,d=r.reversed&&!o.inverted||!r.reversed&&o.inverted?-1:1,p=r.getExtremes(),u=r.toValue(l-h,!0)+c*d,f=(d=r.toValue(l+r.len-h,!0)-c*d)<u;l=f?d:u,u=f?u:d,d=r.hasVerticalPanning();var g=r.panningState;!d||e||g&&!g.isDirty||r.series.forEach(function(t){var e=t.getProcessedData(!0);e=t.getExtremes(e.yData,!0),g||(g={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),z(e.dataMin)&&z(e.dataMax)&&(g.startMin=Math.min(X(t.options.threshold,1/0),e.dataMin,g.startMin),g.startMax=Math.max(X(t.options.threshold,-1/0),e.dataMax,g.startMax))}),e=Math.min(X(g&&g.startMin,p.dataMin),c?p.min:r.toValue(r.toPixels(p.min)-r.minPixelPadding)),c=Math.max(X(g&&g.startMax,p.dataMax),c?p.max:r.toValue(r.toPixels(p.max)+r.minPixelPadding)),r.panningState=g,r.isOrdinal||(0<(d=e-l)&&(u+=d,l=e),0<(d=u-c)&&(u=c,l-=d),r.series.length&&l!==p.min&&u!==p.max&&l>=e&&u<=c&&(r.setExtremes(l,u,!1,!1,{trigger:"pan"}),o.resetZoomButton||n||l===e||u===c||!a.match("y")||(o.showResetZoom(),r.displayBtn=!1),i=!0),o[s]=h)}),i&&o.redraw(!1),T(o.container,{cursor:"move"})})},t}();return D($.prototype,{callbacks:[],collectionsWithInit:{xAxis:[$.prototype.addAxis,[!0]],yAxis:[$.prototype.addAxis,[!1]],series:[$.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),o.chart=function(t,e,i){return new $(t,e,i)},o.Chart=$,$}),e(i,"Mixins/LegendSymbol.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.merge,o=e.pick;return t.LegendSymbolMixin={drawRectangle:function(t,e){var i=t.symbolHeight,r=t.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(r?(t.symbolWidth-i)/2:0,t.baseline-i+1,r?i:t.symbolWidth,i,o(t.options.symbolRadius,i/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(t){var e=this.options,r=e.marker,s=t.symbolWidth,n=t.symbolHeight,a=n/2,h=this.chart.renderer,l=this.legendGroup;t=t.baseline-Math.round(.3*t.fontMetrics.b);var c={};this.chart.styledMode||(c={"stroke-width":e.lineWidth||0},e.dashStyle&&(c.dashstyle=e.dashStyle)),this.legendLine=h.path([["M",0,t],["L",s,t]]).addClass("highcharts-graph").attr(c).add(l),r&&!1!==r.enabled&&s&&(e=Math.min(o(r.radius,a),a),0===this.symbol.indexOf("url")&&(r=i(r,{width:n,height:n}),e=0),this.legendSymbol=r=h.symbol(this.symbol,s/2-e,t-e,2*e,2*e,r).addClass("highcharts-point").add(l),r.isMarker=!0)}}}),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=t.animObject,c=t.setAnimation,d=e.hasTouch,p=e.svg,u=e.win,f=o.defaultOptions,g=n.seriesTypes,m=h.addEvent,y=h.arrayMax,v=h.arrayMin,x=h.clamp,b=h.cleanRecursively,w=h.correctFloat,C=h.defined,S=h.erase,k=h.error,M=h.extend,A=h.find,T=h.fireEvent,P=h.getNestedProperty,O=h.isArray,E=h.isFunction,L=h.isNumber,D=h.isString,j=h.merge,I=h.objectEach,_=h.pick,B=h.removeEvent,R=h.splat,z=h.syncTimeout;return t=function(){function t(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return t.prototype.init=function(t,e){T(this,"init",{options:e});var i,o=this,r=t.series;this.eventOptions=this.eventOptions||{},this.eventsToUnbind=[],o.chart=t,o.options=o.setOptions(e);var s=o.options;o.linkedSeries=[],o.bindAxes(),M(o,{name:s.name,state:"",visible:!1!==s.visible,selected:!0===s.selected}),I(e=s.events,function(t,e){E(t)&&o.eventOptions[e]!==t&&(E(o.eventOptions[e])&&B(o,e,o.eventOptions[e]),o.eventOptions[e]=t,m(o,e,t))}),(e&&e.click||s.point&&s.point.events&&s.point.events.click||s.allowPointSelect)&&(t.runTrackerClick=!0),o.getColor(),o.getSymbol(),o.parallelArrays.forEach(function(t){o[t+"Data"]||(o[t+"Data"]=[])}),o.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),o._i=_(i&&i._i,-1)+1,o.opacity=o.options.opacity,t.orderSeries(this.insert(r)),s.dataSorting&&s.dataSorting.enabled?o.setDataSortingOptions():o.points||o.data||o.setData(s.data,!1),T(this,"afterInit")},t.prototype.is=function(t){return g[t]&&this instanceof g[t]},t.prototype.insert=function(t){var e,i=this.options.index;if(L(i)){for(e=t.length;e--;)if(i>=_(t[e].options.index,t[e]._i)){t.splice(e+1,0,this);break}-1===e&&t.unshift(this),e+=1}else t.push(this);return _(e,t.length-1)},t.prototype.bindAxes=function(){var t,e=this,i=e.options,o=e.chart;T(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){var s=0;o[r].forEach(function(o){t=o.options,(i[r]===s&&!t.isInternal||void 0!==i[r]&&i[r]===t.id||void 0===i[r]&&0===t.index)&&(e.insert(o.series),e[r]=o,o.isDirty=!0),t.isInternal||s++}),e[r]||e.optionalAxis===r||k(18,!0,o)})}),T(this,"afterBindAxes")},t.prototype.updateParallelArrays=function(t,e){var i=t.series,o=arguments,r=L(e)?function(o){var r="y"===o&&i.toYData?i.toYData(t):t[o];i[o+"Data"][e]=r}:function(t){Array.prototype[e].apply(i[t+"Data"],Array.prototype.slice.call(o,2))};i.parallelArrays.forEach(r)},t.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},t.prototype.autoIncrement=function(){var t,e=this.options,i=this.xIncrement,o=e.pointIntervalUnit,r=this.chart.time;return i=_(i,e.pointStart,0),this.pointInterval=t=_(this.pointInterval,e.pointInterval,1),o&&(e=new r.Date(i),"day"===o?r.set("Date",e,r.get("Date",e)+t):"month"===o?r.set("Month",e,r.get("Month",e)+t):"year"===o&&r.set("FullYear",e,r.get("FullYear",e)+t),t=e.getTime()-i),this.xIncrement=i+t,i},t.prototype.setDataSortingOptions=function(){var t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)},t.prototype.setOptions=function(t){var e=this.chart,i=e.options,o=i.plotOptions,r=e.userOptions||{};t=j(t),e=e.styledMode;var s={plotOptions:o,userOptions:t};T(this,"setOptions",s);var n=s.plotOptions[this.type],a=r.plotOptions||{};return this.userOptions=s.userOptions,r=j(n,o.series,r.plotOptions&&r.plotOptions[this.type],t),this.tooltipOptions=j(f.tooltip,f.plotOptions.series&&f.plotOptions.series.tooltip,f.plotOptions[this.type].tooltip,i.tooltip.userOptions,o.series&&o.series.tooltip,o[this.type].tooltip,t.tooltip),this.stickyTracking=_(t.stickyTracking,a[this.type]&&a[this.type].stickyTracking,a.series&&a.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||r.stickyTracking),null===n.marker&&delete r.marker,this.zoneAxis=r.zoneAxis,i=this.zones=(r.zones||[]).slice(),!r.negativeColor&&!r.negativeFillColor||r.zones||(o={value:r[this.zoneAxis+"Threshold"]||r.threshold||0,className:"highcharts-negative"},e||(o.color=r.negativeColor,o.fillColor=r.negativeFillColor),i.push(o)),i.length&&C(i[i.length-1].value)&&i.push(e?{}:{color:this.color,fillColor:this.fillColor}),T(this,"afterSetOptions",{options:r}),r},t.prototype.getName=function(){return _(this.options.name,"Series "+(this.index+1))},t.prototype.getCyclic=function(t,e,i){var o=this.chart,r=this.userOptions,s=t+"Index",n=t+"Counter",a=i?i.length:_(o.options.chart[t+"Count"],o[t+"Count"]);if(!e){var h=_(r[s],r["_"+s]);C(h)||(o.series.length||(o[n]=0),r["_"+s]=h=o[n]%a,o[n]+=1),i&&(e=i[h])}void 0!==h&&(this[s]=h),this[t]=e},t.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color=r.neutralColor20:this.getCyclic("color",this.options.color||f.plotOptions[this.type].color,this.chart.options.colors)},t.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},t.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},t.prototype.findPointIndex=function(t,e){var i,o=t.id,r=t.x,s=this.points,n=this.options.dataSorting;if(o)var a=this.chart.get(o);else if(this.linkedParent||this.enabledDataSorting){var h=n&&n.matchByName?"name":"index";if(!(a=A(s,function(e){return!e.touched&&e[h]===t[h]})))return}if(a){var l=a&&a.index;void 0!==l&&(i=!0)}return void 0===l&&L(r)&&(l=this.xData.indexOf(r,e)),-1!==l&&void 0!==l&&this.cropped&&(l=l>=this.cropStart?l-this.cropStart:l),!i&&s[l]&&s[l].touched&&(l=void 0),l},t.prototype.updateData=function(t,e){var i,o,r,s=this.options,n=s.dataSorting,a=this.points,h=[],l=this.requireSorting,c=t.length===a.length,d=!0;if(this.xIncrement=null,t.forEach(function(t,e){var o=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},d=o.x;o.id||L(d)?(-1===(d=this.findPointIndex(o,r))||void 0===d?h.push(t):a[d]&&t!==s.data[d]?(a[d].update(t,!1,null,!1),a[d].touched=!0,l&&(r=d+1)):a[d]&&(a[d].touched=!0),(!c||e!==d||n&&n.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)},this),i)for(t=a.length;t--;)(o=a[t])&&!o.touched&&o.remove&&o.remove(!1,e);else!c||n&&n.enabled?d=!1:(t.forEach(function(t,e){a[e].update&&t!==a[e].y&&a[e].update(t,!1,null,!1)}),h.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!d&&(h.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)},t.prototype.setData=function(t,e,i,o){var r,s=this,n=s.points,a=n&&n.length||0,h=s.options,l=s.chart,c=h.dataSorting,d=null,p=s.xAxis;d=h.turboThreshold;var u,f=this.xData,g=this.yData,m=(r=s.pointArrayMap)&&r.length,y=h.keys,v=0,x=1;if(r=(t=t||[]).length,e=_(e,!0),c&&c.enabled&&(t=this.sortData(t)),!1!==o&&r&&a&&!s.cropped&&!s.hasGroupedData&&s.visible&&!s.isSeriesBoosting&&(u=this.updateData(t,i)),!u){if(s.xIncrement=null,s.colorCounter=0,this.parallelArrays.forEach(function(t){s[t+"Data"].length=0}),d&&r>d)if(d=s.getFirstValidPoint(t),L(d))for(i=0;i<r;i++)f[i]=this.autoIncrement(),g[i]=t[i];else if(O(d))if(m)for(i=0;i<r;i++)f[i]=(o=t[i])[0],g[i]=o.slice(1,m+1);else for(y&&(v=0<=(v=y.indexOf("x"))?v:0,x=0<=(x=y.indexOf("y"))?x:1),i=0;i<r;i++)f[i]=(o=t[i])[v],g[i]=o[x];else k(12,!1,l);else for(i=0;i<r;i++)void 0!==t[i]&&(s.pointClass.prototype.applyOptions.apply(o={series:s},[t[i]]),s.updateParallelArrays(o,i));for(g&&D(g[0])&&k(14,!0,l),s.data=[],s.options.data=s.userOptions.data=t,i=a;i--;)n[i]&&n[i].destroy&&n[i].destroy();p&&(p.minRange=p.userMinRange),s.isDirty=l.isDirtyBox=!0,s.isDirtyData=!!n,i=!1}"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)},t.prototype.sortData=function(t){var e=this,i=e.options.dataSorting.sortKey||"y",o=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,r){t[r]=o(e,i),t[r].index=r},this),t.concat().sort(function(t,e){return t=P(i,t),(e=P(i,e))<t?-1:e>t?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){var i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,s){r[s]=o(e,i),t[s]&&(r[s].x=t[s].x,r[s].index=s)}),e.setData(r,!1))}),t},t.prototype.getProcessedData=function(t){var e=this.xData,i=this.yData,o=e.length,r=0,s=this.xAxis,n=this.options,a=n.cropThreshold,h=t||this.getExtremesFromAll||n.getExtremesFromAll,l=this.isCartesian;t=s&&s.val2lin,n=!(!s||!s.logarithmic);var c=this.requireSorting;if(s)var d=(s=s.getExtremes()).min,p=s.max;if(l&&this.sorted&&!h&&(!a||o>a||this.forceCrop))if(e[o-1]<d||e[0]>p)e=[],i=[];else if(this.yData&&(e[0]<d||e[o-1]>p)){e=(r=this.cropData(this.xData,this.yData,d,p)).xData,i=r.yData,r=r.start;var u=!0}for(a=e.length||1;--a;)if(0<(o=n?t(e[a])-t(e[a-1]):e[a]-e[a-1])&&(void 0===f||o<f))var f=o;else 0>o&&c&&(k(15,!1,this.chart),c=!1);return{xData:e,yData:i,cropped:u,cropStart:r,closestPointRange:f}},t.prototype.processData=function(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;t=this.getProcessedData(),this.cropped=t.cropped,this.cropStart=t.cropStart,this.processedXData=t.xData,this.processedYData=t.yData,this.closestPointRange=this.basePointRange=t.closestPointRange},t.prototype.cropData=function(t,e,i,o,r){var s,n=t.length,a=0,h=n;for(r=_(r,this.cropShoulder),s=0;s<n;s++)if(t[s]>=i){a=Math.max(0,s-r);break}for(i=s;i<n;i++)if(t[i]>o){h=i+r;break}return{xData:t.slice(a,h),yData:e.slice(a,h),start:a,end:h}},t.prototype.generatePoints=function(){var t,e,i=this.options,o=i.data,r=this.data,s=this.processedXData,n=this.processedYData,a=this.pointClass,h=s.length,l=this.cropStart||0,c=this.hasGroupedData,d=i.keys,p=[];for(i=i.dataGrouping&&i.dataGrouping.groupAll?l:0,r||c||((r=[]).length=o.length,r=this.data=r),d&&c&&(this.options.keys=!1),e=0;e<h;e++){var u=l+e;if(c){var f=(new a).init(this,[s[e]].concat(R(n[e])));f.dataGroup=this.groupMap[i+e],f.dataGroup.options&&(f.options=f.dataGroup.options,M(f,f.dataGroup.options),delete f.dataLabels)}else(f=r[u])||void 0===o[u]||(r[u]=f=(new a).init(this,o[u],s[e]));f&&(f.index=c?i+e:u,p[e]=f)}if(this.options.keys=d,r&&(h!==(t=r.length)||c))for(e=0;e<t;e++)e!==l||c||(e+=h),r[e]&&(r[e].destroyElements(),r[e].plotX=void 0);this.data=r,this.points=p,T(this,"afterGeneratePoints")},t.prototype.getXExtremes=function(t){return{min:v(t),max:y(t)}},t.prototype.getExtremes=function(t,e){var i,o=this.xAxis,r=this.yAxis,s=this.processedXData||this.xData,n=[],a=0,h=0,l=0,c=this.requireSorting?this.cropShoulder:0,d=!!r&&r.positiveValuesOnly;for(r=(t=t||this.stackedYData||this.processedYData||[]).length,o&&(h=(l=o.getExtremes()).min,l=l.max),i=0;i<r;i++){var p=s[i],u=t[i],f=(L(u)||O(u))&&(u.length||0<u||!d);if(p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!o||(s[i+c]||p)>=h&&(s[i-c]||p)<=l,f&&p)if(f=u.length)for(;f--;)L(u[f])&&(n[a++]=u[f]);else n[a++]=u}return t={dataMin:v(n),dataMax:y(n)},T(this,"afterGetExtremes",{dataExtremes:t}),t},t.prototype.applyExtremes=function(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t},t.prototype.getFirstValidPoint=function(t){for(var e=null,i=t.length,o=0;null===e&&o<i;)e=t[o],o++;return e},t.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var t,e,i=this.options,o=i.stacking,r=this.xAxis,s=r.categories,n=this.enabledDataSorting,a=this.yAxis,h=this.points,l=h.length,c=!!this.modifyValue,d=this.pointPlacementToXValue(),p=!!d,u=i.threshold,f=i.startFromThreshold?u:0,g=this.zoneAxis||"y",m=Number.MAX_VALUE;for(t=0;t<l;t++){var y=h[t],v=y.x,b=y.y,S=y.low,k=o&&a.stacking&&a.stacking.stacks[(this.negStacks&&b<(f?0:u)?"-":"")+this.stackKey],M=void 0,A=void 0;if((a.positiveValuesOnly&&!a.validatePositiveValue(b)||r.positiveValuesOnly&&!r.validatePositiveValue(v))&&(y.isNull=!0),y.plotX=e=w(x(r.translate(v,0,0,0,1,d,"flags"===this.type),-1e5,1e5)),o&&this.visible&&k&&k[v]){var P=this.getStackIndicator(P,v,this.index);y.isNull||(A=(M=k[v]).points[P.key])}if(O(A)&&(b=A[1],(S=A[0])===f&&P.key===k[v].base&&(S=_(L(u)&&u,a.min)),a.positiveValuesOnly&&0>=S&&(S=null),y.total=y.stackTotal=M.total,y.percentage=M.total&&y.y/M.total*100,y.stackY=b,this.irregularWidths||M.setOffset(this.pointXOffset||0,this.barW||0)),y.yBottom=C(S)?x(a.translate(S,0,1,0,1),-1e5,1e5):null,c&&(b=this.modifyValue(b,y)),y.plotY=void 0,L(b)&&void 0!==(b=a.translate(b,!1,!0,!1,!0))&&(y.plotY=x(b,-1e5,1e5)),y.isInside=this.isPointInside(y),y.clientX=p?w(r.translate(v,0,0,0,1,d)):e,y.negative=y[g]<(i[g+"Threshold"]||u||0),y.category=s&&void 0!==s[y.x]?s[y.x]:y.x,!y.isNull&&!1!==y.visible){void 0!==E&&(m=Math.min(m,Math.abs(e-E)));var E=e}y.zone=this.zones.length&&y.getZone(),!y.graphic&&this.group&&n&&(y.isNew=!0)}this.closestPointRangePx=m,T(this,"afterTranslate")},t.prototype.getValidPoints=function(t,e,i){var o=this.chart;return(t||this.points||[]).filter(function(t){return!(e&&!o.isInsidePlot(t.plotX,t.plotY,{inverted:o.inverted}))&&!1!==t.visible&&(i||!t.isNull)})},t.prototype.getClipBox=function(t,e){var i=this.chart,o=this.xAxis,r=o&&this.yAxis,s=i.options.chart.scrollablePlotArea||{};return t&&!1===this.options.clip&&r?t=i.inverted?{y:-i.chartWidth+r.len+r.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+o.len+o.pos}:{y:-r.pos,height:i.chartHeight,width:i.chartWidth,x:-o.pos}:(t=this.clipBox||i.clipBox,e&&(t.width=i.plotSizeX,t.x=(i.scrollablePixelsX||0)*(s.scrollPositionX||0))),e?{width:t.width,x:t.x}:t},t.prototype.getSharedClipKey=function(t){if(this.sharedClipKey)return this.sharedClipKey;var e=[t&&t.duration,t&&t.easing,t&&t.defer,this.getClipBox(t).height,this.options.xAxis,this.options.yAxis].join();return(!1!==this.options.clip||t)&&(this.sharedClipKey=e),e},t.prototype.setClip=function(t){var e=this.chart,i=this.options,o=e.renderer,r=e.inverted,s=this.clipBox,n=this.getClipBox(t),a=this.getSharedClipKey(t),h=e.sharedClips[a],l=e.sharedClips[a+"m"];t&&(n.width=0,r&&(n.x=e.plotHeight+(!1!==i.clip?0:e.plotTop))),h?e.hasLoaded||h.attr(n):(t&&(e.sharedClips[a+"m"]=l=o.clipRect(r?(e.plotSizeX||0)+99:-99,r?-e.plotLeft:-e.plotTop,99,r?e.chartWidth:e.chartHeight)),e.sharedClips[a]=h=o.clipRect(n),h.count={length:0}),t&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1),(!1!==i.clip||t)&&(this.group.clip(t||s?h:e.clipRect),this.markerGroup.clip(l)),t||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&(s||(e.sharedClips[a]=h.destroy()),l&&(e.sharedClips[a+"m"]=l.destroy())))},t.prototype.animate=function(t){var e=this.chart,i=l(this.options.animation),o=this.sharedClipKey;if(t)this.setClip(i);else if(o){t=e.sharedClips[o],o=e.sharedClips[o+"m"];var r=this.getClipBox(i,!0);t&&t.animate(r,i),o&&o.animate({width:r.width+99,x:r.x-(e.inverted?0:99)},i)}},t.prototype.afterAnimate=function(){this.setClip(),T(this,"afterAnimate"),this.finishedAnimating=!0},t.prototype.drawPoints=function(){var t,e,i=this.points,o=this.chart,r=this.options.marker,s=this[this.specialGroup]||this.markerGroup,n=this.xAxis,a=_(r.enabled,!(n&&!n.isRadial)||null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(t=0;t<i.length;t++){var h=i[t],l=(e=h.graphic)?"animate":"attr",c=h.marker||{},d=!!h.marker;if((a&&void 0===c.enabled||c.enabled)&&!h.isNull&&!1!==h.visible){var p=_(c.symbol,this.symbol),u=this.markerAttribs(h,h.selected&&"select");this.enabledDataSorting&&(h.startXPos=n.reversed?-(u.width||0):n.width);var f=!1!==h.isInside;e?e[f?"show":"hide"](f).animate(u):f&&(0<(u.width||0)||h.hasImage)&&(h.graphic=e=o.renderer.symbol(p,u.x,u.y,u.width,u.height,d?c:r).add(s),this.enabledDataSorting&&o.hasRendered&&(e.attr({x:h.startXPos}),l="animate")),e&&"animate"===l&&e[f?"show":"hide"](f).animate(u),e&&!o.styledMode&&e[l](this.pointAttribs(h,h.selected&&"select")),e&&e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())}},t.prototype.markerAttribs=function(t,e){var i=this.options,o=i.marker,r=t.marker||{},s=r.symbol||o.symbol,n=_(r.radius,o.radius);return e&&(o=o.states[e],n=_((e=r.states&&r.states[e])&&e.radius,o&&o.radius,n+(o&&o.radiusPlus||0))),t.hasImage=s&&0===s.indexOf("url"),t.hasImage&&(n=0),t={x:i.crisp?Math.floor(t.plotX-n):t.plotX-n,y:t.plotY-n},n&&(t.width=t.height=2*n),t},t.prototype.pointAttribs=function(t,e){var i=this.options.marker,o=t&&t.options,r=o&&o.marker||{},s=this.color,n=o&&o.color,a=t&&t.color;o=_(r.lineWidth,i.lineWidth);var h=t&&t.zone&&t.zone.color;return t=1,s=n||h||a||s,n=r.fillColor||i.fillColor||s,s=r.lineColor||i.lineColor||s,i=i.states[e=e||"normal"],o=_((e=r.states&&r.states[e]||{}).lineWidth,i.lineWidth,o+_(e.lineWidthPlus,i.lineWidthPlus,0)),{stroke:s=e.lineColor||i.lineColor||s,"stroke-width":o,fill:n=e.fillColor||i.fillColor||n,opacity:t=_(e.opacity,i.opacity,t)}},t.prototype.destroy=function(t){var e,i,o,r=this,s=r.chart,n=/AppleWebKit\/533/.test(u.navigator.userAgent),l=r.data||[];for(T(r,"destroy"),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(o=r[t])&&o.series&&(S(o.series,r),o.isDirty=o.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=l.length;e--;)(i=l[e])&&i.destroy&&i.destroy();r.clips&&r.clips.forEach(function(t){return t.destroy()}),h.clearTimeout(r.animationTimeout),I(r,function(t,e){t instanceof a&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),s.hoverSeries===r&&(s.hoverSeries=void 0),S(s.series,r),s.orderSeries(),I(r,function(e,i){t&&"hcEvents"===i||delete r[i]})},t.prototype.applyZones=function(){var t,e,i,o,r,s,n,a,h=this,l=this.chart,c=l.renderer,d=this.zones,p=this.clips||[],u=this.graph,f=this.area,g=Math.max(l.chartWidth,l.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],y=l.inverted,v=!1;if(d.length&&(u||f)&&m&&void 0!==m.min){var b=m.reversed,w=m.horiz;u&&!this.showLine&&u.hide(),f&&f.hide();var C=m.getExtremes();d.forEach(function(d,S){t=b?w?l.plotWidth:0:w?0:m.toPixels(C.min)||0,t=x(_(e,t),0,g),e=x(Math.round(m.toPixels(_(d.value,C.max),!0)||0),0,g),v&&(t=e=m.toPixels(C.max)),o=Math.abs(t-e),r=Math.min(t,e),s=Math.max(t,e),m.isXAxis?(i={x:y?s:r,y:0,width:o,height:g},w||(i.x=l.plotHeight-i.x)):(i={x:0,y:y?s:r,width:g,height:o},w&&(i.y=l.plotWidth-i.y)),y&&c.isVML&&(i=m.isXAxis?{x:0,y:b?r:s,height:i.width,width:l.chartWidth}:{x:i.y-l.plotLeft-l.spacingBox.x,y:0,width:i.height,height:l.chartHeight}),p[S]?p[S].animate(i):p[S]=c.clipRect(i),n=h["zone-area-"+S],a=h["zone-graph-"+S],u&&a&&a.clip(p[S]),f&&n&&n.clip(p[S]),v=d.value>C.max,h.resetZones&&0===e&&(e=void 0)}),this.clips=p}else h.visible&&(u&&u.show(!0),f&&f.show(!0))},t.prototype.invertGroups=function(t){function e(){["group","markerGroup"].forEach(function(e){i[e]&&(o.renderer.isVML&&i[e].attr({width:i.yAxis.len,height:i.xAxis.len}),i[e].width=i.yAxis.len,i[e].height=i.xAxis.len,i[e].invert(!i.isRadialSeries&&t))})}var i=this,o=i.chart;i.xAxis&&(i.eventsToUnbind.push(m(o,"resize",e)),e(),i.invertGroups=e)},t.prototype.plotGroup=function(t,e,i,o,r){var s=this[t],n=!s;return i={visibility:i,zIndex:o||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(i.opacity=this.opacity),n&&(this[t]=s=this.chart.renderer.g().add(r)),s.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(s.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),s.attr(i)[n?"attr":"animate"](this.getPlotBox()),s},t.prototype.getPlotBox=function(){var t=this.chart,e=this.xAxis,i=this.yAxis;return t.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:t.plotLeft,translateY:i?i.top:t.plotTop,scaleX:1,scaleY:1}},t.prototype.removeEvents=function(t){t||B(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind.length=0)},t.prototype.render=function(){var t=this,e=t.chart,i=t.options,o=l(i.animation),r=!t.finishedAnimating&&e.renderer.isSVG&&o.duration,s=t.visible?"inherit":"hidden",n=i.zIndex,a=t.hasRendered,h=e.seriesGroup,c=e.inverted;T(this,"render");var d=t.plotGroup("group","series",s,n,h);t.markerGroup=t.plotGroup("markerGroup","markers",s,n,h),r&&t.animate&&t.animate(!0),d.inverted=!!_(t.invertible,t.isCartesian)&&c,t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels&&t.drawDataLabels(),t.redrawPoints&&t.redrawPoints(),t.drawTracker&&!1!==t.options.enableMouseTracking&&t.drawTracker(),t.invertGroups(c),!1===i.clip||t.sharedClipKey||a||d.clip(e.clipRect),r&&t.animate&&t.animate(),a||(r&&o.defer&&(r+=o.defer),t.animationTimeout=z(function(){t.afterAnimate()},r||0)),t.isDirty=!1,t.hasRendered=!0,T(t,"afterRender")},t.prototype.redraw=function(){var t=this.chart,e=this.isDirty||this.isDirtyData,i=this.group,o=this.xAxis,r=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:_(o&&o.left,t.plotLeft),translateY:_(r&&r.top,t.plotTop)})),this.translate(),this.render(),e&&delete this.kdTree},t.prototype.searchPoint=function(t,e){var i=this.xAxis,o=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?o.len-t.chartX+o.pos:t.chartY-o.pos},e,t)},t.prototype.buildKDTree=function(t){function e(t,o,r){var s;if(s=t&&t.length){var n=i.kdAxisArray[o%r];return t.sort(function(t,e){return t[n]-e[n]}),{point:t[s=Math.floor(s/2)],left:e(t.slice(0,s),o+1,r),right:e(t.slice(s+1),o+1,r)}}}this.buildingKdTree=!0;var i=this,o=-1<i.options.findNearestPointBy.indexOf("y")?2:1;delete i.kdTree,z(function(){i.kdTree=e(i.getValidPoints(null,!i.directTouch),o,o),i.buildingKdTree=!1},i.options.kdNow||t&&"touchstart"===t.type?0:1)},t.prototype.searchKDTree=function(t,e,i){var o=this,r=this.kdAxisArray[0],s=this.kdAxisArray[1],n=e?"distX":"dist";if(e=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h){var l=i.point,c=o.kdAxisArray[a%h],d=l,p=C(e[r])&&C(l[r])?Math.pow(e[r]-l[r],2):null,u=C(e[s])&&C(l[s])?Math.pow(e[s]-l[s],2):null;return l.dist=C(u=(p||0)+(u||0))?Math.sqrt(u):Number.MAX_VALUE,l.distX=C(p)?Math.sqrt(p):Number.MAX_VALUE,p=0>(c=e[c]-l[c])?"right":"left",i[u=0>c?"left":"right"]&&(d=(u=t(e,i[u],a+1,h))[n]<d[n]?u:l),i[p]&&Math.sqrt(c*c)<d[n]&&(d=(e=t(e,i[p],a+1,h))[n]<d[n]?e:d),d}(t,this.kdTree,e,e)},t.prototype.pointPlacementToXValue=function(){var t=this.options,e=t.pointRange,i=this.xAxis;return"between"===(t=t.pointPlacement)&&(t=i.reversed?-.5:.5),L(t)?t*(e||i.pointRange):0},t.prototype.isPointInside=function(t){return void 0!==t.plotY&&void 0!==t.plotX&&0<=t.plotY&&t.plotY<=this.yAxis.len&&0<=t.plotX&&t.plotX<=this.xAxis.len},t.prototype.drawTracker=function(){var t=this,e=t.options,i=e.trackByArea,o=[].concat(i?t.areaPath:t.graphPath),r=t.chart,s=r.pointer,n=r.renderer,a=r.options.tooltip.snap,h=t.tracker,l=function(e){r.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(p?1e-4:.002)+")";h?h.attr({d:o}):t.graph&&(t.tracker=n.path(o).attr({visibility:t.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||t.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(function(t){t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(t){s.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),d)&&t.on("touchstart",l)})),T(this,"afterDrawTracker")},t.prototype.addPoint=function(t,e,i,o,r){var s=this.options,n=this.data,a=this.chart,h=this.xAxis;h=h&&h.hasNames&&h.names;var l,c=s.data,d=this.xData;e=_(e,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);var u=p.x,f=d.length;if(this.requireSorting&&u<d[f-1])for(l=!0;f&&d[f-1]>u;)f--;this.updateParallelArrays(p,"splice",f,0,0),this.updateParallelArrays(p,f),h&&p.name&&(h[u]=p.name),c.splice(f,0,t),l&&(this.data.splice(f,0,null),this.processData()),"point"===s.legendType&&this.generatePoints(),i&&(n[0]&&n[0].remove?n[0].remove(!1):(n.shift(),this.updateParallelArrays(p,"shift"),c.shift())),!1!==r&&T(this,"addPoint",{point:p}),this.isDirtyData=this.isDirty=!0,e&&a.redraw(o)},t.prototype.removePoint=function(t,e,i){var o=this,r=o.data,s=r[t],n=o.points,a=o.chart,h=function(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(s||{series:o},"splice",t,1),s&&s.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&a.redraw()};c(i,a),e=_(e,!0),s?s.firePointEvent("remove",null,h):h()},t.prototype.remove=function(t,e,i,o){function r(){s.destroy(o),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(),_(t,!0)&&n.redraw(e)}var s=this,n=s.chart;!1!==i?T(s,"remove",null,r):r()},t.prototype.update=function(t,e){t=b(t,this.userOptions),T(this,"update",{options:t});var i,o=this,r=o.chart,s=o.userOptions,n=o.initialType||o.type,a=r.options.plotOptions,h=t.type||s.type||r.options.chart.type,l=!(this.hasDerivedData||h&&h!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||o.hasOptionChanged("dataGrouping")||o.hasOptionChanged("pointStart")||o.hasOptionChanged("pointInterval")||o.hasOptionChanged("pointIntervalUnit")||o.hasOptionChanged("keys")),c=g[n].prototype,d=["eventOptions","navigatorSeries","baseSeries"],p=o.finishedAnimating&&{animation:!1},u={};if(h=h||n,l&&(d.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&d.push("area","graph"),o.parallelArrays.forEach(function(t){d.push(t+"Data")}),t.data&&(t.dataSorting&&M(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=j(s,p,{index:void 0===s.index?o.index:s.index,pointStart:_(a&&a.series&&a.series.pointStart,s.pointStart,o.xData[0])},!l&&{data:o.options.data},t),l&&t.data&&(t.data=o.options.data),(d=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(d)).forEach(function(t){d[t]=o[t],delete o[t]}),s=!1,g[h]){if(s=h!==o.type,o.remove(!1,!1,!1,!0),s)if(Object.setPrototypeOf)Object.setPrototypeOf(o,g[h].prototype);else{for(i in a=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents,c)o[i]=void 0;M(o,g[h].prototype),a?o.hcEvents=a:delete o.hcEvents}}else k(17,!0,r,{missingModuleFor:h});if(d.forEach(function(t){o[t]=d[t]}),o.init(r,t),l&&this.points){var f=o.options;!1===f.visible?(u.graphic=1,u.dataLabel=1):o._hasPointLabels||(h=f.dataLabels,(t=f.marker)&&(!1===t.enabled||"symbol"in t)&&(u.graphic=1),h&&!1===h.enabled&&(u.dataLabel=1)),this.points.forEach(function(t){t&&t.series&&(t.resolveColor(),Object.keys(u).length&&t.destroyElements(u),!1===f.showInLegend&&t.legendItem&&r.legend.destroyItem(t))},this)}o.initialType=n,r.linkSeries(),s&&o.linkedSeries.length&&(o.isDirtyData=!0),T(this,"afterUpdate"),_(e,!0)&&r.redraw(!!l&&void 0)},t.prototype.setName=function(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0},t.prototype.hasOptionChanged=function(t){var e=this.options[t],i=this.chart.options.plotOptions,o=this.userOptions[t];return o?e!==o:e!==_(i&&i[this.type]&&i[this.type][t],i&&i.series&&i.series[t],e)},t.prototype.onMouseOver=function(){var t=this.chart,e=t.hoverSeries;t.pointer.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&T(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},t.prototype.onMouseOut=function(){var t=this.options,e=this.chart,i=e.tooltip,o=e.hoverPoint;e.hoverSeries=null,o&&o.onMouseOut(),this&&t.events.mouseOut&&T(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})},t.prototype.setState=function(t,e){var i=this,o=i.options,r=i.graph,s=o.inactiveOtherPoints,n=o.states,a=o.lineWidth,h=o.opacity,l=_(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation);if(o=0,i.state!==(t=t||"")&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),h=_(n[t].opacity,h)),r&&!r.dashstyle)for(r.animate(n={"stroke-width":a},l);i["zone-graph-"+o];)i["zone-graph-"+o].animate(n,l),o+=1;s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},l)})}e&&s&&i.points&&i.setAllPointsToState(t||void 0)},t.prototype.setAllPointsToState=function(t){this.points.forEach(function(e){e.setState&&e.setState(t)})},t.prototype.setVisible=function(t,e){var i=this,o=i.chart,r=i.legendItem,s=o.options.chart.ignoreHiddenSeries,n=(i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!i.visible:t)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(t){i[t]&&i[t][n]()}),o.hoverSeries!==i&&(o.hoverPoint&&o.hoverPoint.series)!==i||i.onMouseOut(),r&&o.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&o.series.forEach(function(t){t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(function(e){e.setVisible(t,!1)}),s&&(o.isDirtyBox=!0),T(i,n),!1!==e&&o.redraw()},t.prototype.show=function(){this.setVisible(!0)},t.prototype.hide=function(){this.setVisible(!1)},t.prototype.select=function(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),T(this,t?"select":"unselect")},t.prototype.shouldShowTooltip=function(t,e,i){return void 0===i&&(i={}),i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)},t.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:r.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:r.neutralColor20,lineColor:r.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},t}(),M(t.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:i.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:s,requireSorting:!0,sorted:!0}),n.series=t,t}),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Series/Series.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.stop,a=s.addEvent,h=s.createElement,l=s.merge,c=s.pick;a(i,"afterSetChartSize",function(t){var e=this.options.chart.scrollablePlotArea,i=e&&e.minWidth;if(e=e&&e.minHeight,!this.renderer.forExport){if(i){if(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.width=this.plotWidth+=i,this.inverted?this.clipBox.height+=i:this.clipBox.width+=i;var o={1:{name:"right",value:i}}}}else e&&(this.scrollablePixelsY=i=Math.max(0,e-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.height=this.plotHeight+=i,this.inverted?this.clipBox.width+=i:this.clipBox.height+=i,o={2:{name:"bottom",value:i}});o&&!t.skipAxes&&this.axes.forEach(function(t){o[t.side]?t.getPlotLinePath=function(){var e=o[t.side].name,i=this[e];this[e]=i-o[t.side].value;var s=r.Axis.prototype.getPlotLinePath.apply(this,arguments);return this[e]=i,s}:(t.setAxisSize(),t.setAxisTranslation())})}}),a(i,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),i.prototype.setUpScrolling=function(){var t=this,e={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(e.overflowX="auto"),this.scrollablePixelsY&&(e.overflowY="auto"),this.scrollingParent=h("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=h("div",{className:"highcharts-scrolling"},e,this.scrollingParent),a(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition}),this.innerContainer=h("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},i.prototype.moveFixedElements=function(){var t,e=this.container,i=this.fixedRenderer,o=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis"),t&&o.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),o.forEach(function(t){[].forEach.call(e.querySelectorAll(t),function(t){(t.namespaceURI===i.SVG_NS?i.box:i.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})})},i.prototype.applyFixed=function(){var t=!this.fixedDiv,e=this.options.chart,i=e.scrollablePlotArea;t?(this.fixedDiv=h("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new r.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":c(i.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a(this,"afterShowResetZoom",this.moveFixedElements),a(this,"afterDrilldown",this.moveFixedElements),a(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||t)&&(this.scrollableDirty=!1,this.moveFixedElements()),e=this.chartWidth+(this.scrollablePixelsX||0);var o=this.chartHeight+(this.scrollablePixelsY||0);n(this.container),this.container.style.width=e+"px",this.container.style.height=o+"px",this.renderer.boxWrapper.attr({width:e,height:o,viewBox:[0,0,e,o].join(" ")}),this.chartBackground.attr({width:e,height:o}),this.scrollingContainer.style.height=this.chartHeight+"px",t&&(i.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*i.scrollPositionX),i.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*i.scrollPositionY)),t=this.plotTop-(o=this.axisOffset)[0]-1,i=this.plotLeft-o[3]-1,e=this.plotTop+this.plotHeight+o[2]+1,o=this.plotLeft+this.plotWidth+o[1]+1;var s=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),l=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);t=this.scrollablePixelsX?[["M",0,t],["L",this.plotLeft-1,t],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",s,t],["L",this.chartWidth,t],["L",this.chartWidth,e],["L",s,e],["Z"]]:this.scrollablePixelsY?[["M",i,0],["L",i,this.plotTop-1],["L",o,this.plotTop-1],["L",o,0],["Z"],["M",i,l],["L",i,this.chartHeight],["L",o,this.chartHeight],["L",o,l],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:t})},a(e,"afterInit",function(){this.chart.scrollableDirty=!0}),a(o,"show",function(){this.chart.scrollableDirty=!0})}),e(i,"Core/Axis/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Utilities.js"]],function(t,e){var i=t.getDeferredAnimation,o=e.addEvent,r=e.destroyObjectProperties,s=e.fireEvent,n=e.isNumber,a=e.objectEach,h=function(){function t(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return t.prototype.buildStacks=function(){var t,e=this.axis,i=e.series,o=e.options.reversedStacks,r=i.length;if(!e.isXAxis){for(this.usePercentage=!1,t=r;t--;){var n=i[o?t:r-t-1];n.setStackedPoints(),n.setGroupedPoints()}for(t=0;t<r;t++)i[t].modifyStacks();s(e,"afterBuildStacks")}},t.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var t=this.stacks=this.oldStacks;a(t,function(t){a(t,function(t){t.cumulative=t.total})})}},t.prototype.resetStacks=function(){var t=this;this.axis.isXAxis||a(this.stacks,function(e){a(e,function(i,o){n(i.touched)&&i.touched<t.stacksTouched?(i.destroy(),delete e[o]):(i.total=null,i.cumulative=null)})})},t.prototype.renderStackTotals=function(){var t=this.axis,e=t.chart,o=e.renderer,r=this.stacks;t=i(e,t.options.stackLabels&&t.options.stackLabels.animation||!1);var s=this.stackTotalGroup=this.stackTotalGroup||o.g("stack-labels").attr({visibility:"visible",zIndex:6,opacity:0}).add();s.translate(e.plotLeft,e.plotTop),a(r,function(t){a(t,function(t){t.render(s)})}),s.animate({opacity:1},t)},t}();return function(){function t(){}return t.compose=function(e){o(e,"init",t.onInit),o(e,"destroy",t.onDestroy)},t.onDestroy=function(){var t=this.stacking;if(t){var e=t.stacks;a(e,function(t,i){r(t),e[i]=null}),t&&t.stackTotalGroup&&t.stackTotalGroup.destroy()}},t.onInit=function(){this.stacking||(this.stacking=new h(this))},t}()}),e(i,"Extensions/Stacking.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Axis/StackingAxis.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=i.format,h=n.correctFloat,l=n.defined,c=n.destroyObjectProperties,d=n.isArray,p=n.isNumber,u=n.objectEach,f=n.pick,g=function(){function t(t,e,i,o,r){var s=t.chart.inverted;this.axis=t,this.isNegative=i,this.options=e=e||{},this.x=o,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.rightCliff=this.leftCliff=0,this.alignOptions={align:e.align||(s?i?"left":"right":"center"),verticalAlign:e.verticalAlign||(s?"middle":i?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(s?i?"right":"left":"center")}return t.prototype.destroy=function(){c(this,this.axis)},t.prototype.render=function(t){var e=this.axis.chart,i=this.options,o=i.format;o=o?a(o,this,e):i.formatter.call(this),this.label?this.label.attr({text:o,visibility:"hidden"}):(this.label=e.renderer.label(o,null,null,i.shape,null,null,i.useHTML,!1,"stack-labels"),o={r:i.borderRadius||0,text:o,rotation:i.rotation,padding:f(i.padding,5),visibility:"hidden"},e.styledMode||(o.fill=i.backgroundColor,o.stroke=i.borderColor,o["stroke-width"]=i.borderWidth,this.label.css(i.style)),this.label.attr(o),this.label.added||this.label.add(t)),this.label.labelrank=e.plotSizeY},t.prototype.setOffset=function(t,e,i,o,s){var n=this.axis,a=n.chart;o=n.translate(n.stacking.usePercentage?100:o||this.total,0,0,0,1),i=n.translate(i||0),i=l(o)&&Math.abs(o-i),t=f(s,a.xAxis[0].translate(this.x))+t,n=l(o)&&this.getStackBox(a,this,t,o,e,i,n),e=this.label,i=this.isNegative,t="justify"===f(this.options.overflow,"justify");var h=this.textAlign;e&&n&&(s=e.getBBox(),o=e.padding,h="left"===h?a.inverted?-o:o:"right"===h?s.width:a.inverted&&"center"===h?s.width/2:a.inverted?i?s.width+o:-o:s.width/2,i=a.inverted?s.height/2:i?-o:s.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),n.x-=h,n.y-=i,e.align(this.alignOptions,null,n),a.isInsidePlot(e.alignAttr.x+h-this.alignOptions.x,e.alignAttr.y+i-this.alignOptions.y)?e.show():(e.alignAttr.y=-9999,t=!1),t&&r.prototype.justifyDataLabel.call(this.axis,e,this.alignOptions,e.alignAttr,s,n),e.attr({x:e.alignAttr.x,y:e.alignAttr.y}),f(!t&&this.options.crop,!0)&&((a=p(e.x)&&p(e.y)&&a.isInsidePlot(e.x-o+e.width,e.y)&&a.isInsidePlot(e.x+o,e.y))||e.hide()))},t.prototype.getStackBox=function(t,e,i,o,r,s,n){var a=e.axis.reversed,h=t.inverted,l=n.height+n.pos-(h?t.plotLeft:t.plotTop);return e=e.isNegative&&!a||!e.isNegative&&a,{x:h?e?o-n.right:o-s+n.pos-t.plotLeft:i+t.xAxis[0].transB-t.plotLeft,y:h?n.height-i-r:e?l-o-s:l-o,width:h?s:r,height:h?r:s}},t}();return e.prototype.getStacks=function(){var t=this,e=t.inverted;t.yAxis.forEach(function(t){t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),t.series.forEach(function(i){var o=i.xAxis&&i.xAxis.options||{};!i.options.stacking||!0!==i.visible&&!1!==t.options.chart.ignoreHiddenSeries||(i.stackKey=[i.type,f(i.options.stack,""),e?o.top:o.left,e?o.height:o.width].join())})},s.compose(t),r.prototype.setGroupedPoints=function(){var t=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?r.prototype.setStackedPoints.call(this,"group"):t&&u(t.stacks,function(e,i){"group"===i.slice(-5)&&(u(e,function(t){return t.destroy()}),delete t.stacks[i])})},r.prototype.setStackedPoints=function(t){var e=t||this.options.stacking;if(e&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var i=this.processedXData,o=this.processedYData,r=[],s=o.length,n=this.options,a=n.threshold,c=f(n.startFromThreshold&&a,0);n=n.stack;var p,u,m="-"+(t=t?this.type+","+e:this.stackKey),y=this.negStacks,v=this.yAxis,x=v.stacking.stacks,b=v.stacking.oldStacks;for(v.stacking.stacksTouched+=1,u=0;u<s;u++){var w=i[u],C=o[u],S=this.getStackIndicator(S,w,this.index),k=S.key,M=(p=y&&C<(c?0:a))?m:t;x[M]||(x[M]={}),x[M][w]||(b[M]&&b[M][w]?(x[M][w]=b[M][w],x[M][w].total=null):x[M][w]=new g(v,v.options.stackLabels,p,w,n)),M=x[M][w],null!==C?(M.points[k]=M.points[this.index]=[f(M.cumulative,c)],l(M.cumulative)||(M.base=k),M.touched=v.stacking.stacksTouched,0<S.index&&!1===this.singleStacks&&(M.points[k][0]=M.points[this.index+","+w+",0"][0])):M.points[k]=M.points[this.index]=null,"percent"===e?(p=p?t:m,M.total=y&&x[p]&&x[p][w]?(p=x[p][w]).total=Math.max(p.total,M.total)+Math.abs(C)||0:h(M.total+(Math.abs(C)||0))):"group"===e?(d(C)&&(C=C[0]),null!==C&&(M.total=(M.total||0)+1)):M.total=h(M.total+(C||0)),M.cumulative="group"===e?(M.total||1)-1:f(M.cumulative,c)+(C||0),null!==C&&(M.points[k].push(M.cumulative),r[u]=M.cumulative,M.hasValidPoints=!0)}"percent"===e&&(v.stacking.usePercentage=!0),"group"!==e&&(this.stackedYData=r),v.stacking.oldStacks={}}},r.prototype.modifyStacks=function(){var t,e=this,i=e.stackKey,o=e.yAxis.stacking.stacks,r=e.processedXData,s=e.options.stacking;e[s+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var n,a,h=r.length;h--;)t=e.getStackIndicator(t,n=r[h],e.index,i),(a=(n=o[i]&&o[i][n])&&n.points[t.key])&&e[s+"Stacker"](a,n,h)})},r.prototype.percentStacker=function(t,e,i){t[0]=h(t[0]*(e=e.total?100/e.total:0)),t[1]=h(t[1]*e),this.stackedYData[i]=t[1]},r.prototype.getStackIndicator=function(t,e,i,o){return!l(t)||t.x!==e||o&&t.key!==o?t={x:e,index:0,key:o}:t.index++,t.key=[i,e,t.index].join(),t},o.StackItem=g,o.StackItem}),e(i,"Series/Line/LineSeries.js",[i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.defined,n=o.merge;return o=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return r(o,i),o.prototype.drawGraph=function(){var e=this,i=this.options,o=(this.gappedPath||this.getGraphPath).call(this),r=this.chart.styledMode,s=[["graph","highcharts-graph"]];r||s[0].push(i.lineColor||this.color||t.neutralColor20,i.dashStyle),(s=e.getZonesGraphs(s)).forEach(function(t,s){var n=t[0],a=e[n],h=a?"animate":"attr";a?(a.endX=e.preventGraphAnimation?null:o.xMap,a.animate({d:o})):o.length&&(e[n]=a=e.chart.renderer.path(o).addClass(t[1]).attr({zIndex:1}).add(e.group)),a&&!r&&(n={stroke:t[2],"stroke-width":i.lineWidth,fill:e.fillGraph&&e.color||"none"},t[3]?n.dashstyle=t[3]:"square"!==i.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),a[h](n).shadow(2>s&&i.shadow)),a&&(a.startX=o.xMap,a.isArea=o.isArea)})},o.prototype.getGraphPath=function(t,e,i){var o,r,n=this,a=n.options,h=a.step,l=[],c=[];return(o=(t=t||n.points).reversed)&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&o&&(h=4-h),(t=this.getValidPoints(t,!1,!(a.connectNulls&&!e&&!i))).forEach(function(o,d){var p=o.plotX,u=o.plotY,f=t[d-1];(o.leftCliff||f&&f.rightCliff)&&!i&&(r=!0),o.isNull&&!s(e)&&0<d?r=!a.connectNulls:o.isNull&&!e?r=!0:(0===d||r?d=[["M",o.plotX,o.plotY]]:n.getPointSpline?d=[n.getPointSpline(t,o,d)]:h?(d=1===h?[["L",f.plotX,u]]:2===h?[["L",(f.plotX+p)/2,f.plotY],["L",(f.plotX+p)/2,u]]:[["L",p,f.plotY]]).push(["L",p,u]):d=[["L",p,u]],c.push(o.x),h&&(c.push(o.x),2===h&&c.push(o.x)),l.push.apply(l,d),r=!1)}),l.xMap=c,n.graphPath=l},o.prototype.getZonesGraphs=function(t){return this.zones.forEach(function(e,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(e.className||"")],this.chart.styledMode||i.push(e.color||this.color,e.dashStyle||this.options.dashStyle),t.push(i)},this),t},o.defaultOptions=n(e.defaultOptions,{}),o}(e),i.registerSeriesType("line",o),o}),e(i,"Series/Area/AreaSeries.js",[i["Core/Color/Color.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=t.parse,n=i.seriesTypes.line;t=o.extend;var a=o.merge,h=o.objectEach,l=o.pick;return o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(e,t),e.prototype.drawGraph=function(){this.areaPath=[],t.prototype.drawGraph.apply(this);var e=this,i=this.areaPath,o=this.options,r=[["area","highcharts-area",this.color,o.fillColor]];this.zones.forEach(function(t,i){r.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||e.color,t.fillColor||o.fillColor])}),r.forEach(function(t){var r=t[0],n=e[r],a=n?"animate":"attr",h={};n?(n.endX=e.preventGraphAnimation?null:i.xMap,n.animate({d:i})):(h.zIndex=0,(n=e[r]=e.chart.renderer.path(i).addClass(t[1]).add(e.group)).isArea=!0),e.chart.styledMode||(h.fill=l(t[3],s(t[2]).setOpacity(l(o.fillOpacity,.75)).get())),n[a](h),n.startX=i.xMap,n.shiftUnit=o.step?2:1})},e.prototype.getGraphPath=function(t){var e,i=n.prototype.getGraphPath,o=this.options,r=o.stacking,s=this.yAxis,a=[],h=[],c=this.index,d=s.stacking.stacks[this.stackKey],p=o.threshold,u=Math.round(s.getThreshold(o.threshold));o=l(o.connectNulls,"percent"===r);var f=function(e,i,o){var n=t[e];e=r&&d[n.x].points[c];var l=n[o+"Null"]||0;if(o=n[o+"Cliff"]||0,n=!0,o||l){var f=(l?e[0]:e[1])+o,g=e[0]+o;n=!!l}else!r&&t[i]&&t[i].isNull&&(f=g=p);void 0!==f&&(h.push({plotX:m,plotY:null===f?u:s.getThreshold(f),isNull:n,isCliff:!0}),a.push({plotX:m,plotY:null===g?u:s.getThreshold(g),doCurve:!1}))};for(t=t||this.points,r&&(t=this.getStackPoints(t)),e=0;e<t.length;e++){r||(t[e].leftCliff=t[e].rightCliff=t[e].leftNull=t[e].rightNull=void 0);var g=t[e].isNull,m=l(t[e].rectPlotX,t[e].plotX),y=r?l(t[e].yBottom,u):u;g&&!o||(o||f(e,e-1,"left"),g&&!r&&o||(h.push(t[e]),a.push({x:e,plotX:m,plotY:y})),o||f(e,e+1,"right"))}return e=i.call(this,h,!0,!0),a.reversed=!0,(y=(g=i.call(this,a,!0,!0))[0])&&"M"===y[0]&&(g[0]=["L",y[1],y[2]]),(g=e.concat(g)).length&&g.push(["Z"]),i=i.call(this,h,!1,o),g.xMap=e.xMap,this.areaPath=g,i},e.prototype.getStackPoints=function(t){var e=this,i=[],o=[],r=this.xAxis,s=this.yAxis,n=s.stacking.stacks[this.stackKey],a={},c=s.series,d=c.length,p=s.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(var f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,a[t[f].x]=t[f];h(n,function(t,e){null!==t.total&&o.push(e)}),o.sort(function(t,e){return t-e});var g=c.map(function(t){return t.visible});o.forEach(function(t,h){var f,m,y=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){var r=1===i?"rightNull":"leftNull",s=0,l=n[o[h+i]];if(l)for(var y=u;0<=y&&y<d;){var v=c[y].index;(f=l.points[v])||(v===e.index?a[t][r]=!0:g[y]&&(m=n[t].points[v])&&(s-=m[1]-m[0])),y+=p}a[t][1===i?"rightCliff":"leftCliff"]=s});else{for(var v=u;0<=v&&v<d;){if(f=n[t].points[c[v].index]){y=f[1];break}v+=p}y=l(y,0),y=s.translate(y,0,1,0,1),i.push({isNull:!0,plotX:r.translate(t,0,0,0,1),x:t,plotY:y,yBottom:y})}})}return i},e.defaultOptions=a(n.defaultOptions,{threshold:0}),e}(n),t(o.prototype,{singleStacks:!1,drawLegendSymbol:e.drawRectangle}),i.registerSeriesType("area",o),o}),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=t.seriesTypes.line,r=e.merge,s=e.pick;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return i(e,t),e.prototype.getPointSpline=function(t,e,i){var o=e.plotX||0,r=e.plotY||0,n=t[i-1];if(i=t[i+1],n&&!n.isNull&&!1!==n.doCurve&&!e.isCliff&&i&&!i.isNull&&!1!==i.doCurve&&!e.isCliff){var a=i.plotX||0,h=0,l=(1.5*o+(n.plotX||0))/2.5,c=(1.5*r+(t=n.plotY||0))/2.5,d=(1.5*r+(i=i.plotY||0))/2.5;(a=(1.5*o+a)/2.5)!==l&&(h=(d-c)*(a-o)/(a-l)+r-d),d+=h,(c+=h)>t&&c>r?d=2*r-(c=Math.max(t,r)):c<t&&c<r&&(d=2*r-(c=Math.min(t,r))),d>i&&d>r?c=2*r-(d=Math.max(i,r)):d<i&&d<r&&(c=2*r-(d=Math.min(i,r))),e.rightContX=a,e.rightContY=d}return e=["C",s(n.rightContX,n.plotX,0),s(n.rightContY,n.plotY,0),s(l,o,0),s(c,r,0),o,r],n.rightContX=n.rightContY=void 0,e},e.defaultOptions=r(o.defaultOptions),e}(o),t.registerSeriesType("spline",e),e}),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Area/AreaSeries.js"],i["Series/Spline/SplineSeries.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.prototype,a=r.merge;return(0,r.extend)((r=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.points=void 0,t.options=void 0,t}return s(o,i),o.defaultOptions=a(e.defaultOptions,t.defaultOptions),o}(e)).prototype,{getGraphPath:n.getGraphPath,getStackPoints:n.getStackPoints,drawGraph:n.drawGraph,drawLegendSymbol:i.drawRectangle}),o.registerSeriesType("areaspline",r),r}),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=this&&this.__extends||(h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),c=t.animObject,d=e.parse,p=i.hasTouch;t=i.noop;var u=a.clamp,f=a.css,g=a.defined,m=a.extend,y=a.fireEvent,v=a.isArray,x=a.isNumber,b=a.merge,w=a.pick,C=a.objectEach;return a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.borderWidth=void 0,e.data=void 0,e.group=void 0,e.options=void 0,e.points=void 0,e}return l(e,t),e.prototype.animate=function(t){var e=this,i=this.yAxis,o=e.options,r=this.chart.inverted,s={},n=r?"translateX":"translateY";if(t)s.scaleY=.001,t=u(i.toPixels(o.threshold),i.pos,i.pos+i.len),r?s.translateX=t-i.len:s.translateY=t,e.clipBox&&e.setClip(),e.group.attr(s);else{var a=Number(e.group.attr(n));e.group.animate({scaleY:1},m(c(e.options.animation),{step:function(t,o){e.group&&(s[n]=a+o.pos*(i.pos-a),e.group.attr(s))}}))}},e.prototype.init=function(e,i){t.prototype.init.apply(this,arguments);var o=this;(e=o.chart).hasRendered&&e.series.forEach(function(t){t.type===o.type&&(t.isDirty=!0)})},e.prototype.getColumnMetrics=function(){var t=this,e=t.options,i=t.xAxis,o=t.yAxis,r=i.options.reversedStacks;r=i.reversed&&!r||!i.reversed&&r;var s,n={},a=0;!1===e.grouping?a=1:t.chart.series.forEach(function(e){var i=e.yAxis,r=e.options;if(e.type===t.type&&(e.visible||!t.chart.options.chart.ignoreHiddenSeries)&&o.len===i.len&&o.pos===i.pos){if(r.stacking&&"group"!==r.stacking){void 0===n[s=e.stackKey]&&(n[s]=a++);var h=n[s]}else!1!==r.grouping&&(h=a++);e.columnIndex=h}});var h=Math.min(Math.abs(i.transA)*(i.ordinal&&i.ordinal.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),l=h*e.groupPadding,c=(h-2*l)/(a||1);return e=Math.min(e.maxPointWidth||i.len,w(e.pointWidth,c*(1-2*e.pointPadding))),t.columnMetrics={width:e,offset:(c-e)/2+(l+((t.columnIndex||0)+(r?1:0))*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:a},t.columnMetrics},e.prototype.crispCol=function(t,e,i,o){var r=this.chart,s=this.borderWidth,n=-(s%2?.5:0);return s=s%2?.5:1,r.inverted&&r.renderer.isVML&&(s+=1),this.options.crisp&&(i=Math.round(t+i)+n,i-=t=Math.round(t)+n),o=Math.round(e+o)+s,n=.5>=Math.abs(e)&&.5<o,o-=e=Math.round(e)+s,n&&o&&(--e,o+=1),{x:t,y:e,width:i,height:o}},e.prototype.adjustForMissingColumns=function(t,e,i,o){var r=this,s=this.options.stacking;if(!i.isNull&&1<o.columnCount){var n=0,a=0;C(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(t){if("number"==typeof i.x&&(t=t[i.x.toString()])){var e=t.points[r.index],o=t.total;s?(e&&(n=a),t.hasValidPoints&&a++):v(e)&&(n=e[1],a=o||0)}}),t=(i.plotX||0)+((a-1)*o.paddedWidth+e)/2-e-n*o.paddedWidth}return t},e.prototype.translate=function(){var t=this,e=t.chart,i=t.options,o=t.dense=2>t.closestPointRange*t.xAxis.transA;o=t.borderWidth=w(i.borderWidth,o?0:1);var r=t.xAxis,n=t.yAxis,a=i.threshold,h=t.translatedThreshold=n.getThreshold(a),l=w(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.barW=Math.max(d,1+2*o),f=t.pointXOffset=c.offset,m=t.dataMin,y=t.dataMax;e.inverted&&(h-=.5),i.pointPadding&&(p=Math.ceil(p)),s.prototype.translate.apply(t),t.points.forEach(function(o){var s=w(o.yBottom,h),v=999+Math.abs(s),b=d,C=o.plotX||0;v=u(o.plotY,-v,n.len+v),C+=f;var S=p,k=Math.min(v,s),M=Math.max(v,s)-k;if(l&&Math.abs(M)<l){M=l;var A=!n.reversed&&!o.negative||n.reversed&&o.negative;x(a)&&x(y)&&o.y===a&&y<=a&&(n.min||0)<a&&(m!==y||(n.max||0)<=a)&&(A=!A),k=Math.abs(k-h)>l?s-l:h-(A?l:0)}g(o.options.pointWidth)&&(b=S=Math.ceil(o.options.pointWidth),C-=Math.round((b-d)/2)),i.centerInCategory&&(C=t.adjustForMissingColumns(C,b,o,c)),o.barX=C,o.pointWidth=b,o.tooltipPos=e.inverted?[u(n.len+n.pos-e.plotLeft-v,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-C-S/2,M]:[r.left-e.plotLeft+C+S/2,u(v+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],o.shapeType=t.pointClass.prototype.shapeType||"rect",o.shapeArgs=t.crispCol.apply(t,o.isNull?[C,h,S,0]:[C,k,S,M])})},e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},e.prototype.pointAttribs=function(t,e){var i=this.options,o=this.pointAttrToOptions||{},r=o.stroke||"borderColor",s=o["stroke-width"]||"borderWidth",n=t&&t.color||this.color,a=t&&t[r]||i[r]||n,h=t&&t[s]||i[s]||this[s]||0;o=t&&t.options.dashStyle||i.dashStyle;var l=w(t&&t.opacity,i.opacity,1);if(t&&this.zones.length){var c=t.getZone();n=t.options.color||c&&(c.color||t.nonZonedColor)||this.color,c&&(a=c.borderColor||a,o=c.dashStyle||o,h=c.borderWidth||h)}return e&&t&&(e=(t=b(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,n=t.color||void 0!==e&&d(n).brighten(t.brightness).get()||n,a=t[r]||a,h=t[s]||h,o=t.dashStyle||o,l=w(t.opacity,l)),r={fill:n,stroke:a,"stroke-width":h,opacity:l},o&&(r.dashstyle=o),r},e.prototype.drawPoints=function(){var t,e=this,i=this.chart,o=e.options,r=i.renderer,s=o.animationLimit||250;e.points.forEach(function(n){var a=n.graphic,h=!!a,l=a&&i.pointCount<s?"animate":"attr";x(n.plotY)&&null!==n.y?(t=n.shapeArgs,a&&n.hasNewShapeType()&&(a=a.destroy()),e.enabledDataSorting&&(n.startXPos=e.xAxis.reversed?-(t&&t.width||0):e.xAxis.width),a||(n.graphic=a=r[n.shapeType](t).add(n.group||e.group))&&e.enabledDataSorting&&i.hasRendered&&i.pointCount<s&&(a.attr({x:n.startXPos}),h=!0,l="animate"),a&&h&&a[l](b(t)),o.borderRadius&&a[l]({r:o.borderRadius}),i.styledMode||a[l](e.pointAttribs(n,n.selected&&"select")).shadow(!1!==n.allowShadow&&o.shadow,null,o.stacking&&!o.borderRadius),a&&(a.addClass(n.getClassName(),!0),a.attr({visibility:n.visible?"inherit":"hidden"}))):a&&(n.graphic=a.destroy())})},e.prototype.drawTracker=function(){var t,e=this,i=e.chart,o=i.pointer,r=function(t){var e=o.getPointFromEvent(t);void 0!==e&&(o.isDirectTouch=!0,e.onMouseOver(t))};e.points.forEach(function(e){t=v(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){t.div?t.div.point=e:t.element.point=e})}),e._hasTracking||(e.trackerGroups.forEach(function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o.onTrackerMouseOut(t)}),p&&e[t].on("touchstart",r),!i.styledMode&&e.options.cursor&&e[t].css(f).css({cursor:e.options.cursor}))}),e._hasTracking=!0),y(this,"afterDrawTracker")},e.prototype.remove=function(){var t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),s.prototype.remove.apply(t,arguments)},e.defaultOptions=b(s.defaultOptions,{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:r.neutralColor20,borderColor:r.neutralColor100}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:r.backgroundColor}),e}(s),m(a.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:o.drawRectangle,getSymbol:t,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("column",a),a}),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i.merge;return(0,i.extend)((i=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return o(i,e),i.defaultOptions=r(t.defaultOptions,{}),i}(t)).prototype,{inverted:!0}),e.registerSeriesType("bar",i),i}),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Column/ColumnSeries.js"],i["Series/Line/LineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.addEvent,n=o.merge;return(0,o.extend)((o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.applyJitter=function(){var t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(o,r){["x","y"].forEach(function(s,n){var a="plot"+s.toUpperCase();if(e[s]&&!o.isNull){var h=t[s+"Axis"],l=e[s]*h.transA;if(h&&!h.isLog){var c=Math.max(0,o[a]-l);h=Math.min(h.len,o[a]+l),n=1e4*Math.sin(r+n*i),o[a]=c+(h-c)*(n-Math.floor(n)),"x"===s&&(o.clientX=o.plotX)}}})})},i.prototype.drawGraph=function(){(this.options.lineWidth||0===this.options.lineWidth&&this.graph&&this.graph.strokeWidth())&&t.prototype.drawGraph.call(this)},i.defaultOptions=n(e.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),i}(e)).prototype,{drawTracker:t.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),s(o,"afterTranslate",function(){this.applyJitter()}),i.registerSeriesType("scatter",o),o}),e(i,"Mixins/CenteredSeries.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.isNumber,r=i.pick,s=i.relativeLength,n=t.deg2rad;return t.CenteredSeriesMixin={getCenter:function(){var t=this.options,i=this.chart,o=2*(t.slicedOffset||0),n=i.plotWidth-2*o,a=i.plotHeight-2*o,h=t.center,l=Math.min(n,a),c=t.size,d=t.innerSize||0;for("string"==typeof c&&(c=parseFloat(c)),"string"==typeof d&&(d=parseFloat(d)),t=[r(h[0],"50%"),r(h[1],"50%"),r(c&&0>c?void 0:t.size,"100%"),r(d&&0>d?void 0:t.innerSize||0,"0%")],!i.angular||this instanceof e||(t[3]=0),h=0;4>h;++h)c=t[h],i=2>h||2===h&&/%$/.test(c),t[h]=s(c,[n,a,l,t[2]][h])+(i?o:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(t,e){return t=o(t)?t:0,e=o(e)&&e>t&&360>e-t?e:t+360,{start:n*(t+-90),end:n*(e+-90)}}}}),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=t.setAnimation,s=i.addEvent,n=i.defined;t=i.extend;var a=i.isNumber,h=i.pick,l=i.relativeLength;return i=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelDistance=void 0,e.options=void 0,e.series=void 0,e}return o(i,t),i.prototype.getConnectorPath=function(){var t=this.labelPosition,e=this.series.options.dataLabels,i=e.connectorShape,o=this.connectorShapes;return o[i]&&(i=o[i]),i.call(this,{x:t.final.x,y:t.final.y,alignment:t.alignment},t.connectorPosition,e)},i.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},i.prototype.haloPath=function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end})},i.prototype.init=function(){e.prototype.init.apply(this,arguments);var t=this;t.name=h(t.name,"Slice");var i=function(e){t.slice("select"===e.type)};return s(t,"select",i),s(t,"unselect",i),t},i.prototype.isValid=function(){return a(this.y)&&0<=this.y},i.prototype.setVisible=function(t,e){var i=this,o=i.series,r=o.chart,s=o.options.ignoreHiddenPoint;e=h(e,s),t!==i.visible&&(i.visible=i.options.visible=t=void 0===t?!i.visible:t,o.options.data[o.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){i[e]&&i[e][t?"show":"hide"](t)}),i.legendItem&&r.legend.colorizeItem(i,t),t||"hover"!==i.state||i.setState(""),s&&(o.isDirty=!0),e&&r.redraw())},i.prototype.slice=function(t,e,i){var o=this.series;r(i,o.chart),h(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},i}(e),t(i.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var o=e.breakAt;return e=e.touchingSliceAt,[["M",t.x,t.y],i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*o.x-e.x,2*o.y-e.y,o.x,o.y]:["L",o.x,o.y],["L",e.x,e.y]]},straight:function(t,e){return[["M",t.x,t.y],["L",(e=e.touchingSliceAt).x,e.y]]},crookedLine:function(t,e,i){e=e.touchingSliceAt;var o=this.series,r=o.center[0],s=o.chart.plotWidth,n=o.chart.plotLeft;o=t.alignment;var a=this.shapeArgs.r;return i=l(i.crookDistance,1),i=["L",s="left"===o?r+a+(s+n-r-a)*(1-i):n+(r-a)*i,t.y],r=!0,("left"===o?s>t.x||s<e.x:s<t.x||s>e.x)&&(r=!1),t=[["M",t.x,t.y]],r&&t.push(i),t.push(["L",e.x,e.y]),t}}}),i}),e(i,"Series/Pie/PieSeries.js",[i["Mixins/CenteredSeries.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Series/Pie/PiePoint.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){var c=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),d=t.getStartAndEndRadians;i=i.noop;var p=l.clamp,u=l.extend,f=l.fireEvent,g=l.merge,m=l.pick,y=l.relativeLength;return l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.center=void 0,e.data=void 0,e.maxLabelDistance=void 0,e.options=void 0,e.points=void 0,e}return c(e,t),e.prototype.animate=function(t){var e=this,i=e.startAngleRad;t||e.points.forEach(function(t){var o=t.graphic,r=t.shapeArgs;o&&r&&(o.attr({r:m(t.startR,e.center&&e.center[3]/2),start:i,end:i}),o.animate({r:r.r,start:r.start,end:r.end},e.options.animation))})},e.prototype.drawEmpty=function(){var t=this.startAngleRad,e=this.endAngleRad,i=this.options;if(0===this.total&&this.center){var o=this.center[0],s=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(o,s,this.center[1]/2,0,t,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:h.prototype.symbols.arc(o,s,this.center[2]/2,0,{start:t,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||"none",stroke:i.color||r.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())},e.prototype.drawPoints=function(){var t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},e.prototype.generatePoints=function(){t.prototype.generatePoints.call(this),this.updateTotals()},e.prototype.getX=function(t,e,i){var o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2;return t=Math.asin(p((t-o[1])/(r+i.labelDistance),-1,1)),o[0]+(e?-1:1)*Math.cos(t)*(r+i.labelDistance)+(0<i.labelDistance?(e?-1:1)*this.options.dataLabels.padding:0)},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.redrawPoints=function(){var t,e,i,o,r=this,s=r.chart,n=s.renderer,a=r.options.shadow;this.drawEmpty(),!a||r.shadowGroup||s.styledMode||(r.shadowGroup=n.g("shadow").attr({zIndex:-1}).add(r.group)),r.points.forEach(function(h){var l={};if(e=h.graphic,!h.isNull&&e){var c=void 0;o=h.shapeArgs,t=h.getTranslate(),s.styledMode||(c=h.shadowGroup,a&&!c&&(c=h.shadowGroup=n.g("shadow").add(r.shadowGroup)),c&&c.attr(t),i=r.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(e.setRadialReference(r.center).attr(o).attr(t),s.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}).shadow(a,c),h.delayedRendering=!1):(e.setRadialReference(r.center),s.styledMode||g(!0,l,i),g(!0,l,o,t),e.animate(l)),e.attr({visibility:h.visible?"inherit":"hidden"}),e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())})},e.prototype.sortByAngle=function(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})},e.prototype.translate=function(t){this.generatePoints();var e=0,i=this.options,o=i.slicedOffset,r=o+(i.borderWidth||0),s=d(i.startAngle,i.endAngle),n=this.startAngleRad=s.start;s=(this.endAngleRad=s.end)-n;var a=this.points,h=i.dataLabels.distance;i=i.ignoreHiddenPoint;var l,c=a.length;for(t||(this.center=t=this.getCenter()),l=0;l<c;l++){var p=a[l],u=n+e*s;!p.isValid()||i&&!p.visible||(e+=p.percentage/100);var g=n+e*s,v={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*u)/1e3,end:Math.round(1e3*g)/1e3};p.shapeType="arc",p.shapeArgs=v,p.labelDistance=m(p.options.dataLabels&&p.options.dataLabels.distance,h),p.labelDistance=y(p.labelDistance,v.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,p.labelDistance),(g=(g+u)/2)>1.5*Math.PI?g-=2*Math.PI:g<-Math.PI/2&&(g+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(g)*o),translateY:Math.round(Math.sin(g)*o)},v=Math.cos(g)*t[2]/2;var x=Math.sin(g)*t[2]/2;p.tooltipPos=[t[0]+.7*v,t[1]+.7*x],p.half=g<-Math.PI/2||g>Math.PI/2?1:0,p.angle=g,u=Math.min(r,p.labelDistance/5),p.labelPosition={natural:{x:t[0]+v+Math.cos(g)*p.labelDistance,y:t[1]+x+Math.sin(g)*p.labelDistance},final:{},alignment:0>p.labelDistance?"center":p.half?"right":"left",connectorPosition:{breakAt:{x:t[0]+v+Math.cos(g)*u,y:t[1]+x+Math.sin(g)*u},touchingSliceAt:{x:t[0]+v,y:t[1]+x}}}}f(this,"afterTranslate")},e.prototype.updateTotals=function(){var t,e=0,i=this.points,o=i.length,r=this.options.ignoreHiddenPoint;for(t=0;t<o;t++){var s=i[t];!s.isValid()||r&&!s.visible||(e+=s.y)}for(this.total=e,t=0;t<o;t++)(s=i[t]).percentage=0<e&&(s.visible||!r)?s.y/e*100:0,s.total=e},e.defaultOptions=g(n.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:r.backgroundColor,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),e}(n),u(l.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:o.drawRectangle,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:i,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:i,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",l),l}),e(i,"Core/Series/DataLabels.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.getDeferredAnimation,h=e.format;t=i.noop,s=s.seriesTypes;var l=n.arrayMax,c=n.clamp,d=n.defined,p=n.extend,u=n.fireEvent,f=n.isArray,g=n.merge,m=n.objectEach,y=n.pick,v=n.relativeLength,x=n.splat,b=n.stableSort;i.distribute=function(t,e,o){function r(t,e){return t.target-e.target}var s,n=!0,a=t,h=[],l=0,d=a.reducedLen||e;for(s=t.length;s--;)l+=t[s].size;if(l>d){for(b(t,function(t,e){return(e.rank||0)-(t.rank||0)}),l=s=0;l<=d;)l+=t[s].size,s++;h=t.splice(s-1,t.length)}for(b(t,r),t=t.map(function(t){return{size:t.size,targets:[t.target],align:y(t.align,.5)}});n;){for(s=t.length;s--;)n=t[s],l=(Math.min.apply(0,n.targets)+Math.max.apply(0,n.targets))/2,n.pos=c(l-n.size*n.align,0,e-n.size);for(s=t.length,n=!1;s--;)0<s&&t[s-1].pos+t[s-1].size>t[s].pos&&(t[s-1].size+=t[s].size,t[s-1].targets=t[s-1].targets.concat(t[s].targets),t[s-1].align=.5,t[s-1].pos+t[s-1].size>e&&(t[s-1].pos=e-t[s-1].size),t.splice(s,1),n=!0)}a.push.apply(a,h),s=0,t.some(function(t){var r=0;if(t.targets.some(function(){if(a[s].pos=t.pos+r,void 0!==o&&Math.abs(a[s].pos-a[s].target)>o)return a.slice(0,s+1).forEach(function(t){delete t.pos}),a.reducedLen=(a.reducedLen||e)-.1*e,a.reducedLen>.1*e&&i.distribute(a,e,o),!0;r+=a[s].size,s++}))return!0}),b(a,r)},r.prototype.drawDataLabels=function(){function t(t,e){var i,o=[];if(f(t)&&!f(e))o=t.map(function(t){return g(t,e)});else if(f(e)&&!f(t))o=e.map(function(e){return g(t,e)});else if(f(t)||f(e))for(i=Math.max(t.length,e.length);i--;)o[i]=g(t[i],e[i]);else o=g(t,e);return o}var e=this,i=e.chart,r=e.options,s=r.dataLabels,n=e.points,l=e.hasRendered||0,c=s.animation;c=s.defer?a(i,c,e):{defer:0,duration:0};var p=i.renderer;if(s=t(t(i.options.plotOptions&&i.options.plotOptions.series&&i.options.plotOptions.series.dataLabels,i.options.plotOptions&&i.options.plotOptions[e.type]&&i.options.plotOptions[e.type].dataLabels),s),u(this,"drawDataLabels"),f(s)||s.enabled||e._hasPointLabels){var v=e.plotGroup("dataLabelsGroup","data-labels",l?"inherit":"hidden",s.zIndex||6);v.attr({opacity:+l}),!l&&(l=e.dataLabelsGroup)&&(e.visible&&v.show(!0),l[r.animation?"animate":"attr"]({opacity:1},c)),n.forEach(function(n){x(t(s,n.dlOptions||n.options&&n.options.dataLabels)).forEach(function(t,s){var a=t.enabled&&(!n.isNull||n.dataLabelOnNull)&&function(t,e){var i=e.filter;return!i||(e=i.operator,t=t[i.property],i=i.value,">"===e&&t>i||"<"===e&&t<i||">="===e&&t>=i||"<="===e&&t<=i||"=="===e&&t==i||"==="===e&&t===i)}(n,t),l=n.dataLabels?n.dataLabels[s]:n.dataLabel,c=n.connectors?n.connectors[s]:n.connector,u=y(t.distance,n.labelDistance),f=!l;if(a){var g=n.getLabelConfig(),x=y(t[n.formatPrefix+"Format"],t.format);g=d(x)?h(x,g,i):(t[n.formatPrefix+"Formatter"]||t.formatter).call(g,t),x=t.style;var b=t.rotation;i.styledMode||(x.color=y(t.color,x.color,e.color,o.neutralColor100),"contrast"===x.color?(n.contrastColor=p.getContrast(n.color||e.color),x.color=!d(u)&&t.inside||0>u||r.stacking?n.contrastColor:o.neutralColor100):delete n.contrastColor,r.cursor&&(x.cursor=r.cursor));var w={r:t.borderRadius||0,rotation:b,padding:t.padding,zIndex:1};i.styledMode||(w.fill=t.backgroundColor,w.stroke=t.borderColor,w["stroke-width"]=t.borderWidth),m(w,function(t,e){void 0===t&&delete w[e]})}!l||a&&d(g)?a&&d(g)&&(l?w.text=g:(n.dataLabels=n.dataLabels||[],l=n.dataLabels[s]=b?p.text(g,0,-9999,t.useHTML).addClass("highcharts-data-label"):p.label(g,0,-9999,t.shape,null,null,t.useHTML,null,"data-label"),s||(n.dataLabel=l),l.addClass(" highcharts-data-label-color-"+n.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":""))),l.options=t,l.attr(w),i.styledMode||l.css(x).shadow(t.shadow),l.added||l.add(v),t.textPath&&!t.useHTML&&(l.setTextPath(n.getDataLabelPath&&n.getDataLabelPath(l)||n.graphic,t.textPath),n.dataLabelPath&&!t.textPath.enabled&&(n.dataLabelPath=n.dataLabelPath.destroy())),e.alignDataLabel(n,l,t,null,f)):(n.dataLabel=n.dataLabel&&n.dataLabel.destroy(),n.dataLabels&&(1===n.dataLabels.length?delete n.dataLabels:delete n.dataLabels[s]),s||delete n.dataLabel,c&&(n.connector=n.connector.destroy(),n.connectors&&(1===n.connectors.length?delete n.connectors:delete n.connectors[s])))})})}u(this,"afterDrawDataLabels")},r.prototype.alignDataLabel=function(t,e,i,o,r){var s=this,n=this.chart,a=this.isCartesian&&n.inverted,h=this.enabledDataSorting,l=y(t.dlBox&&t.dlBox.centerX,t.plotX,-9999),c=y(t.plotY,-9999),d=e.getBBox(),u=i.rotation,f=i.align,g=n.isInsidePlot(l,Math.round(c),{inverted:a,paneCoordinates:!0,series:s}),m="justify"===y(i.overflow,h?"none":"justify"),v=this.visible&&!1!==t.visible&&(t.series.forceDL||h&&!m||g||y(i.inside,!!this.options.stacking)&&o&&n.isInsidePlot(l,a?o.x+1:o.y+o.height-1,{inverted:a,paneCoordinates:!0,series:s})),x=function(i){h&&s.xAxis&&!m&&s.setDataLabelStartPos(t,e,r,g,i)};if(v){var b=n.renderer.fontMetrics(n.styledMode?void 0:i.style.fontSize,e).b;o=p({x:a?this.yAxis.len-c:l,y:Math.round(a?this.xAxis.len-l:c),width:0,height:0},o),p(i,{width:d.width,height:d.height}),u?(m=!1,l=n.renderer.rotCorr(b,u),x(l={x:o.x+(i.x||0)+o.width/2+l.x,y:o.y+(i.y||0)+{top:0,middle:.5,bottom:1}[i.verticalAlign]*o.height}),e[r?"attr":"animate"](l).attr({align:f}),x=180<(x=(u+720)%360)&&360>x,"left"===f?l.y-=x?d.height:0:"center"===f?(l.x-=d.width/2,l.y-=d.height/2):"right"===f&&(l.x-=d.width,l.y-=x?0:d.height),e.placed=!0,e.alignAttr=l):(x(o),e.align(i,void 0,o),l=e.alignAttr),m&&0<=o.height?this.justifyDataLabel(e,i,l,d,o,r):y(i.crop,!0)&&(v=n.isInsidePlot(l.x,l.y,{paneCoordinates:!0,series:s})&&n.isInsidePlot(l.x+d.width,l.y+d.height,{paneCoordinates:!0,series:s})),i.shape&&!u&&e[r?"attr":"animate"]({anchorX:a?n.plotWidth-t.plotY:t.plotX,anchorY:a?n.plotHeight-t.plotX:t.plotY})}r&&h&&(e.placed=!1),v||h&&!m||(e.hide(!0),e.placed=!1)},r.prototype.setDataLabelStartPos=function(t,e,i,o,r){var s=this.chart,n=s.inverted,a=this.xAxis,h=a.reversed,l=n?e.height/2:e.width/2;t=(t=t.pointWidth)?t/2:0,a=n?r.x:h?-l-t:a.width-l+t,r=n?h?this.yAxis.height-l+t:-l-t:r.y,e.startXPos=a,e.startYPos=r,o?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),s.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)},r.prototype.justifyDataLabel=function(t,e,i,o,r,s){var n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,c=e.x;c=void 0===c?0:c;var d=e.y,p=void 0===d?0:d;if(0>(d=(i.x||0)+l)){"right"===a&&0<=c?(e.align="left",e.inside=!0):c-=d;var u=!0}return(d=(i.x||0)+o.width-l)>n.plotWidth&&("left"===a&&0>=c?(e.align="right",e.inside=!0):c+=n.plotWidth-d,u=!0),0>(d=i.y+l)&&("bottom"===h&&0<=p?(e.verticalAlign="top",e.inside=!0):p-=d,u=!0),(d=(i.y||0)+o.height-l)>n.plotHeight&&("top"===h&&0>=p?(e.verticalAlign="bottom",e.inside=!0):p+=n.plotHeight-d,u=!0),u&&(e.x=c,e.y=p,t.placed=!s,t.align(e,void 0,r)),u},s.pie&&(s.pie.prototype.dataLabelPositioners={radialDistributionY:function(t){return t.top+t.distributeBox.pos},radialDistributionX:function(t,e,i,o){return t.getX(i<e.top+2||i>e.bottom-2?o:i,e.half,e)},justify:function(t,e,i){return i[0]+(t.half?-1:1)*(e+t.labelDistance)},alignToPlotEdges:function(t,e,i,o){return t=t.getBBox().width,e?t+o:i-t-o},alignToConnectors:function(t,e,i,o){var r,s=0;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>s&&(s=r)}),e?s+o:i-s-o}},s.pie.prototype.drawDataLabels=function(){var t,e,s,n,a,h,c,p,u,f,m,v,x=this,b=x.data,w=x.chart,C=x.options.dataLabels||{},S=C.connectorPadding,k=w.plotWidth,M=w.plotHeight,A=w.plotLeft,T=Math.round(w.chartWidth/3),P=x.center,O=P[2]/2,E=P[1],L=[[],[]],D=[0,0,0,0],j=x.dataLabelPositioners;x.visible&&(C.enabled||x._hasPointLabels)&&(b.forEach(function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(x),b.forEach(function(t){t.dataLabel&&(t.visible?(L[t.half].push(t),t.dataLabel._pos=null,!d(C.style.width)&&!d(t.options.dataLabels&&t.options.dataLabels.style&&t.options.dataLabels.style.width)&&t.dataLabel.getBBox().width>T&&(t.dataLabel.css({width:Math.round(.7*T)+"px"}),t.dataLabel.shortened=!0)):(t.dataLabel=t.dataLabel.destroy(),t.dataLabels&&1===t.dataLabels.length&&delete t.dataLabels))}),L.forEach(function(e,o){var r,s=e.length,l=[];if(s){if(x.sortByAngle(e,o-.5),0<x.maxLabelDistance){var g=Math.max(0,E-O-x.maxLabelDistance),b=Math.min(E+O+x.maxLabelDistance,w.plotHeight);e.forEach(function(t){0<t.labelDistance&&t.dataLabel&&(t.top=Math.max(0,E-O-t.labelDistance),t.bottom=Math.min(E+O+t.labelDistance,w.plotHeight),r=t.dataLabel.getBBox().height||21,t.distributeBox={target:t.labelPosition.natural.y-t.top+r/2,size:r,rank:t.y},l.push(t.distributeBox))}),i.distribute(l,g=b+r-g,g/5)}for(m=0;m<s;m++){if(n=(t=e[m]).dataLabel,f=!1===t.visible?"hidden":"inherit",u=g=(h=t.labelPosition).natural.y,l&&d(t.distributeBox)&&(void 0===t.distributeBox.pos?f="hidden":(c=t.distributeBox.size,u=j.radialDistributionY(t))),delete t.positionIndex,C.justify)p=j.justify(t,O,P);else switch(C.alignTo){case"connectors":p=j.alignToConnectors(e,o,k,A);break;case"plotEdges":p=j.alignToPlotEdges(n,o,k,A);break;default:p=j.radialDistributionX(x,t,u,g)}n._attr={visibility:f,align:h.alignment},n._pos={x:p+y((v=t.options.dataLabels||{}).x,C.x)+({left:S,right:-S}[h.alignment]||0),y:u+y(v.y,C.y)-10},h.final.x=p,h.final.y=u,y(C.crop,!0)&&(a=n.getBBox().width,g=null,p-a<S&&1===o?(g=Math.round(a-p+S),D[3]=Math.max(g,D[3])):p+a>k-S&&0===o&&(g=Math.round(p+a-k+S),D[1]=Math.max(g,D[1])),0>u-c/2?D[0]=Math.max(Math.round(c/2-u),D[0]):u+c/2>M&&(D[2]=Math.max(Math.round(u+c/2-M),D[2])),n.sideOverflow=g)}}}),0===l(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(t){var i;v=g(C,t.options.dataLabels),(e=y(v.connectorWidth,1))&&(s=t.connector,(n=t.dataLabel)&&n._pos&&t.visible&&0<t.labelDistance?(f=n._attr.visibility,(i=!s)&&(t.connector=s=w.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(x.dataLabelsGroup),w.styledMode||s.attr({"stroke-width":e,stroke:v.connectorColor||t.color||o.neutralColor60})),s[i?"attr":"animate"]({d:t.getConnectorPath()}),s.attr("visibility",f)):s&&(t.connector=s.destroy()))}))},s.pie.prototype.placeDataLabels=function(){this.points.forEach(function(t){var e,i=t.dataLabel;i&&t.visible&&((e=i._pos)?(i.sideOverflow&&(i._attr.width=Math.max(i.getBBox().width-i.sideOverflow,0),i.css({width:i._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),i.shortened=!0),i.attr(i._attr),i[i.moved?"animate":"attr"](e),i.moved=!0):i&&i.attr({y:-9999})),delete t.distributeBox},this)},s.pie.prototype.alignDataLabel=t,s.pie.prototype.verifyDataLabelOverflow=function(t){var e=this.center,i=this.options,o=i.center,r=i.minSize||80,s=null!==i.size;if(!s){if(null!==o[0])var n=Math.max(e[2]-Math.max(t[1],t[3]),r);else n=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2;null!==o[1]?n=c(n,r,e[2]-Math.max(t[0],t[2])):(n=c(n,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),n<e[2]?(e[2]=n,e[3]=Math.min(v(i.innerSize||0,n),n),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):s=!0}return s}),s.column&&(s.column.prototype.alignDataLabel=function(t,e,i,o,s){var n=this.chart.inverted,a=t.series,h=t.dlBox||t.shapeArgs,l=y(t.below,t.plotY>y(this.translatedThreshold,a.yAxis.len)),c=y(i.inside,!!this.options.stacking);h&&(0>(o=g(h)).y&&(o.height+=o.y,o.y=0),0<(h=o.y+o.height-a.yAxis.len)&&h<o.height&&(o.height-=h),n&&(o={x:a.yAxis.len-o.y-o.height,y:a.xAxis.len-o.x-o.width,width:o.height,height:o.width}),c||(n?(o.x+=l?0:o.width,o.width=0):(o.y+=l?o.height:0,o.height=0))),i.align=y(i.align,!n||c?"center":l?"right":"left"),i.verticalAlign=y(i.verticalAlign,n||c?"middle":l?"top":"bottom"),r.prototype.alignDataLabel.call(this,t,e,i,o,s),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})})}),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){var i=!1;if(t){var r=t.newOpacity;t.oldOpacity!==r&&(t.alignAttr&&t.placed?(t[r?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,t.alignAttr.opacity=r,t[t.isOld?"animate":"attr"](t.alignAttr,null,function(){e.styledMode||t.css({pointerEvents:r?"auto":"none"}),t.visibility=r?"inherit":"hidden"}),o(e,"afterHideOverlappingLabel")):t.attr({opacity:r})),t.isOld=!0}return i}var o=e.fireEvent,r=e.isArray,s=e.isNumber,n=e.objectEach,a=e.pick;(0,e.addEvent)(t,"render",function(){var t=this,e=[];(this.labelCollectors||[]).forEach(function(t){e=e.concat(t())}),(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&n(t.stacking.stacks,function(t){n(t,function(t){e.push(t.label)})})}),(this.series||[]).forEach(function(o){var s=o.options.dataLabels;o.visible&&(!1!==s.enabled||o._hasPointLabels)&&((s=function(o){return o.forEach(function(o){o.visible&&(r(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[]).forEach(function(r){var s=r.options;r.labelrank=a(s.labelrank,o.labelrank,o.shapeArgs&&o.shapeArgs.height),s.allowOverlap?(r.oldOpacity=r.opacity,r.newOpacity=1,i(r,t)):e.push(r)})})})(o.nodes||[]),s(o.points))}),this.hideOverlappingLabels(e)}),t.prototype.hideOverlappingLabels=function(t){var e,r,n,a=this,h=t.length,l=a.renderer,c=!1,d=function(t){var e,i,o=t.box?0:t.padding||0,r=e=0;if(t&&(!t.alignAttr||t.placed)){var n=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},a=t.parentGroup;return t.width||(e=t.getBBox(),t.width=e.width,t.height=e.height,e=l.fontMetrics(null,t.element).h),(i={left:"0",center:"0.5",right:"1"}[t.alignValue])?r=+i*(t.width-2*o):s(t.x)&&Math.round(t.x)!==t.translateX&&(r=t.x-t.translateX),{x:n.x+(a.translateX||0)+o-(r||0),y:n.y+(a.translateY||0)+o-e,width:t.width-2*o,height:t.height-2*o}}};for(r=0;r<h;r++)(e=t[r])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=d(e));for(t.sort(function(t,e){return(e.labelrank||0)-(t.labelrank||0)}),r=0;r<h;r++){var p=(d=t[r])&&d.absoluteBox;for(e=r+1;e<h;++e){var u=(n=t[e])&&n.absoluteBox;!p||!u||d===n||0===d.newOpacity||0===n.newOpacity||u.x>=p.x+p.width||u.x+u.width<=p.x||u.y>=p.y+p.height||u.y+u.height<=p.y||((d.labelrank<n.labelrank?d:n).newOpacity=0)}}t.forEach(function(t){i(t,a)&&(c=!0)}),c&&o(a,"afterHideAllOverlappingLabels")}}),e(i,"Core/Responsive.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){var i=e.find,o=e.isArray,r=e.isObject,s=e.merge,n=e.objectEach,a=e.pick,h=e.splat,l=e.uniqueKey;t.prototype.setResponsive=function(t,e){var o=this.options.responsive,r=[],n=this.currentResponsive;!e&&o&&o.rules&&o.rules.forEach(function(t){void 0===t._id&&(t._id=l()),this.matchResponsiveRule(t,r)},this),(e=s.apply(0,r.map(function(t){return i(o.rules,function(e){return e._id===t}).chartOptions}))).isResponsiveOptions=!0,(r=r.toString()||void 0)!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,t,!0),r?((n=this.currentOptions(e)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:e,undoOptions:n},this.update(e,t,!0)):this.currentResponsive=void 0)},t.prototype.matchResponsiveRule=function(t,e){var i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)},t.prototype.currentOptions=function(t){var e=this,i={};return function t(i,s,a,l){var c;n(i,function(i,n){if(!l&&-1<e.collectionsWithUpdate.indexOf(n)&&s[n])for(i=h(i),a[n]=[],c=0;c<Math.max(i.length,s[n].length);c++)s[n][c]&&(void 0===i[c]?a[n][c]=s[n][c]:(a[n][c]={},t(i[c],s[n][c],a[n][c],l+1)));else r(i)?(a[n]=o(i)?[]:{},t(i,s[n]||{},a[n],l+1)):a[n]=void 0===s[n]?null:s[n]})}(t,this.options,i,0),i}}),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Options.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/FormatUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Series/Series.js"]],function(t,e,i,o,r,s,n,a,h){return t.animate=r.animate,t.animObject=r.animObject,t.getDeferredAnimation=r.getDeferredAnimation,t.setAnimation=r.setAnimation,t.stop=r.stop,t.timers=o.timers,t.AST=s,t.Fx=o,t.Series=h,t.SVGElement=a,t.dateFormat=n.dateFormat,t.format=n.format,t.numberFormat=n.numberFormat,t.defaultOptions=i.defaultOptions,t.getOptions=i.getOptions,t.time=i.defaultTime,t.setOptions=i.setOptions,t.addEvent=e.addEvent,t.arrayMax=e.arrayMax,t.arrayMin=e.arrayMin,t.attr=e.attr,t.clearTimeout=e.clearTimeout,t.correctFloat=e.correctFloat,t.createElement=e.createElement,t.css=e.css,t.defined=e.defined,t.destroyObjectProperties=e.destroyObjectProperties,t.discardElement=e.discardElement,t.erase=e.erase,t.error=e.error,t.extend=e.extend,t.extendClass=e.extendClass,t.find=e.find,t.fireEvent=e.fireEvent,t.getMagnitude=e.getMagnitude,t.getStyle=e.getStyle,t.inArray=e.inArray,t.isArray=e.isArray,t.isClass=e.isClass,t.isDOMElement=e.isDOMElement,t.isFunction=e.isFunction,t.isNumber=e.isNumber,t.isObject=e.isObject,t.isString=e.isString,t.keys=e.keys,t.merge=e.merge,t.normalizeTickInterval=e.normalizeTickInterval,t.objectEach=e.objectEach,t.offset=e.offset,t.pad=e.pad,t.pick=e.pick,t.pInt=e.pInt,t.relativeLength=e.relativeLength,t.removeEvent=e.removeEvent,t.splat=e.splat,t.stableSort=e.stableSort,t.syncTimeout=e.syncTimeout,t.timeUnits=e.timeUnits,t.uniqueKey=e.uniqueKey,t.useSerialIds=e.useSerialIds,t.wrap=e.wrap,t}),e(i,"Core/Axis/MapAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.pick,r=function(t){this.axis=t};return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("mapAxis"),i(t,"init",function(){this.mapAxis||(this.mapAxis=new r(this))}),i(t,"getSeriesExtremes",function(){if(this.mapAxis){var t=[];this.isXAxis&&(this.series.forEach(function(e,i){e.useMapGeometry&&(t[i]=e.xData,e.xData=[])}),this.mapAxis.seriesXData=t)}}),i(t,"afterGetSeriesExtremes",function(){if(this.mapAxis){var t,e=this.mapAxis.seriesXData||[];if(this.isXAxis){var i=o(this.dataMin,Number.MAX_VALUE),r=o(this.dataMax,-Number.MAX_VALUE);this.series.forEach(function(s,n){s.useMapGeometry&&(i=Math.min(i,o(s.minX,i)),r=Math.max(r,o(s.maxX,r)),s.xData=e[n],t=!0)}),t&&(this.dataMin=i,this.dataMax=r),this.mapAxis.seriesXData=void 0}}}),i(t,"afterSetAxisTranslation",function(){if(this.mapAxis){var t,e=this.chart,i=e.plotWidth/e.plotHeight;e=e.xAxis[0],"yAxis"===this.coll&&void 0!==e.transA&&this.series.forEach(function(e){e.preserveAspectRatio&&(t=!0)}),t&&(this.transA=e.transA=Math.min(this.transA,e.transA),(i=1>(i/=(e.max-e.min)/(this.max-this.min))?this:e).mapAxis.pixelPadding=i.len-(e=(i.max-i.min)*i.transA),i.minPixelPadding=i.mapAxis.pixelPadding/2,e=i.mapAxis.fixTo)&&(e=e[1]-i.toValue(e[0],!0),e*=i.transA,(Math.abs(e)>i.minPixelPadding||i.min===i.dataMin&&i.max===i.dataMax)&&(e=0),i.minPixelPadding-=e)}}),i(t,"render",function(){this.mapAxis&&(this.mapAxis.fixTo=void 0)})},t}()).compose(t),e}),e(i,"Mixins/ColorSeries.js",[],function(){return{colorPointMixin:{setVisible:function(t){var e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}},colorSeriesMixin:{optionalAxis:"colorAxis",colorAxis:0,translateColors:function(){var t=this,e=this.options.nullColor,i=this.colorAxis,o=this.colorKey;(this.data.length?this.data:this.points).forEach(function(r){var s=r.getNestedProperty(o);(s=r.options.color||(r.isNull||null===r.value?e:i&&void 0!==s?i.toColor(s,r):r.color||t.color))&&r.color!==s&&(r.color=s,"point"===t.options.legendType&&r.legendItem&&t.chart.legend.colorizeItem(r,r.visible))})}}}}),e(i,"Core/Axis/ColorAxis.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Color/Color.js"],i["Mixins/ColorSeries.js"],i["Core/Animation/Fx.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l,c,d){var p,u=this&&this.__extends||(p=function(t,e){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),f=i.parse;i=o.colorPointMixin;var g=s.noop,m=d.addEvent,y=d.extend,v=d.isNumber,x=d.merge,b=d.pick,w=d.splat;y(c.prototype,o=o.colorSeriesMixin),y(l.prototype,i),e.prototype.collectionsWithUpdate.push("colorAxis"),e.prototype.collectionsWithInit.colorAxis=[e.prototype.addColorAxis];var C=function(t){function e(e,i){var o=t.call(this,e,i)||this;return o.beforePadding=!1,o.chart=void 0,o.coll="colorAxis",o.dataClasses=void 0,o.legendItem=void 0,o.legendItems=void 0,o.name="",o.options=void 0,o.stops=void 0,o.visible=!0,o.init(e,i),o}return u(e,t),e.prototype.init=function(i,o){var r=i.options.legend||{},s=o.layout?"vertical"!==o.layout:"vertical"!==r.layout;r=x(e.defaultColorAxisOptions,o,{showEmpty:!1,title:null,visible:r.enabled&&(!o||!1!==o.visible)}),this.coll="colorAxis",this.side=o.side||s?2:1,this.reversed=o.reversed||!s,this.opposite=!s,t.prototype.init.call(this,i,r),o.dataClasses&&this.initDataClasses(o),this.initStops(),this.horiz=s,this.zoomEnabled=!1},e.prototype.initDataClasses=function(t){var e,i=this.chart,o=0,r=i.options.chart.colorCount,s=this.options,n=t.dataClasses.length;this.dataClasses=e=[],this.legendItems=[],t.dataClasses.forEach(function(t,a){t=x(t),e.push(t),!i.styledMode&&t.color||("category"===s.dataClassColor?(i.styledMode||(r=(a=i.options.colors).length,t.color=a[o]),t.colorIndex=o,++o===r&&(o=0)):t.color=f(s.minColor).tweenTo(f(s.maxColor),2>n?.5:a/(n-1)))})},e.prototype.hasData=function(){return!!(this.tickPositions||[]).length},e.prototype.setTickPositions=function(){if(!this.dataClasses)return t.prototype.setTickPositions.call(this)},e.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]],this.stops.forEach(function(t){t.color=f(t[1])})},e.prototype.setOptions=function(e){t.prototype.setOptions.call(this,e),this.options.crosshair=this.options.marker},e.prototype.setAxisSize=function(){var t,i,o=this.legendSymbol,r=this.chart,s=r.options.legend||{};o?(this.left=s=o.attr("x"),this.top=t=o.attr("y"),this.width=i=o.attr("width"),this.height=o=o.attr("height"),this.right=r.chartWidth-s-i,this.bottom=r.chartHeight-t-o,this.len=this.horiz?i:o,this.pos=this.horiz?s:t):this.len=(this.horiz?s.symbolWidth:s.symbolHeight)||e.defaultLegendLength},e.prototype.normalizedValue=function(t){return this.logarithmic&&(t=this.logarithmic.log2lin(t)),1-(this.max-t)/(this.max-this.min||1)},e.prototype.toColor=function(t,e){var i,o=this.dataClasses,r=this.stops;if(o)for(i=o.length;i--;){var s=o[i],n=s.from;if(r=s.to,(void 0===n||t>=n)&&(void 0===r||t<=r)){var a=s.color;e&&(e.dataClass=i,e.colorIndex=s.colorIndex);break}}else{for(t=this.normalizedValue(t),i=r.length;i--&&!(t>r[i][0]););a=(n=r[i]||r[i+1]).color.tweenTo((r=r[i+1]||n).color,t=1-(r[0]-t)/(r[0]-n[0]||1))}return a},e.prototype.getOffset=function(){var e=this.legendGroup,i=this.chart.axisOffset[this.side];e&&(this.axisParent=e,t.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i)},e.prototype.setLegendColor=function(){var t=this.reversed,e=t?1:0;t=t?0:1,this.legendColor={linearGradient:{x1:(e=this.horiz?[e,0,t,0]:[0,t,0,e])[0],y1:e[1],x2:e[2],y2:e[3]},stops:this.stops}},e.prototype.drawLegendSymbol=function(t,i){var o=t.padding,r=t.options,s=this.horiz,n=b(r.symbolWidth,s?e.defaultLegendLength:12),a=b(r.symbolHeight,s?12:e.defaultLegendLength),h=b(r.labelPadding,s?16:30);r=b(r.itemDistance,10),this.setLegendColor(),i.legendSymbol=this.chart.renderer.rect(0,t.baseline-11,n,a).attr({zIndex:1}).add(i.legendGroup),this.legendItemWidth=n+o+(s?r:h),this.legendItemHeight=a+o+(s?h:0)},e.prototype.setState=function(t){this.series.forEach(function(e){e.setState(t)})},e.prototype.setVisible=function(){},e.prototype.getSeriesExtremes=function(){var t,e=this.series,i=e.length;for(this.dataMin=1/0,this.dataMax=-1/0;i--;){var o=e[i],r=o.colorKey=b(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),s=o.pointArrayMap,n=o[r+"Min"]&&o[r+"Max"];if(o[r+"Data"])var a=o[r+"Data"];else if(s){a=[],s=s.indexOf(r);var h=o.yData;if(0<=s&&h)for(t=0;t<h.length;t++)a.push(b(h[t][s],h[t]))}else a=o.yData;n?(o.minColorValue=o[r+"Min"],o.maxColorValue=o[r+"Max"]):(a=c.prototype.getExtremes.call(o,a),o.minColorValue=a.dataMin,o.maxColorValue=a.dataMax),void 0!==o.minColorValue&&(this.dataMin=Math.min(this.dataMin,o.minColorValue),this.dataMax=Math.max(this.dataMax,o.maxColorValue)),n||c.prototype.applyExtremes.call(o)}},e.prototype.drawCrosshair=function(e,i){var o=i&&i.plotX,r=i&&i.plotY,s=this.pos,n=this.len;if(i){var a=this.toPixels(i.getNestedProperty(i.series.colorKey));a<s?a=s-2:a>s+n&&(a=s+n+2),i.plotX=a,i.plotY=this.len-a,t.prototype.drawCrosshair.call(this,e,i),i.plotX=o,i.plotY=r,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}},e.prototype.getPlotLinePath=function(e){var i=this.left,o=e.translatedValue,r=this.top;return v(o)?this.horiz?[["M",o-4,r-6],["L",o+4,r-6],["L",o,r],["Z"]]:[["M",i,o],["L",i-6,o+6],["L",i-6,o-6],["Z"]]:t.prototype.getPlotLinePath.call(this,e)},e.prototype.update=function(e,i){var o=this.chart.legend;this.series.forEach(function(t){t.isDirtyData=!0}),(e.dataClasses&&o.allItems||this.dataClasses)&&this.destroyItems(),t.prototype.update.call(this,e,i),this.legendItem&&(this.setLegendColor(),o.colorizeItem(this,!0))},e.prototype.destroyItems=function(){var t=this.chart;this.legendItem?t.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(e){t.legend.destroyItem(e)}),t.isDirtyLegend=!0},e.prototype.destroy=function(){this.chart.isDirtyLegend=!0,this.destroyItems(),t.prototype.destroy.apply(this,[].slice.call(arguments))},e.prototype.remove=function(e){this.destroyItems(),t.prototype.remove.call(this,e)},e.prototype.getDataClassLegendSymbols=function(){var t,e=this,i=e.chart,o=e.legendItems,r=i.options.legend,s=r.valueDecimals,n=r.valueSuffix||"";return o.length||e.dataClasses.forEach(function(r,h){var l=!0,c=r.from,d=r.to,p=i.numberFormatter;t="",void 0===c?t="< ":void 0===d&&(t="> "),void 0!==c&&(t+=p(c,s)+n),void 0!==c&&void 0!==d&&(t+=" - "),void 0!==d&&(t+=p(d,s)+n),o.push(y({chart:i,name:t,options:{},drawLegendSymbol:a.drawRectangle,visible:!0,setState:g,isDataClass:!0,setVisible:function(){l=e.visible=!l,e.series.forEach(function(t){t.points.forEach(function(t){t.dataClass===h&&t.setVisible(l)})}),i.legend.colorizeItem(this,l)}},r))}),o},e.defaultLegendLength=200,e.defaultColorAxisOptions={lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:h.neutralColor40},labels:{overflow:"justify",rotation:0},minColor:h.highlightColor10,maxColor:h.highlightColor100,tickLength:5,showInLegend:!0},e.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"],e}(t);return Array.prototype.push.apply(t.keepProps,C.keepProps),s.ColorAxis=C,["fill","stroke"].forEach(function(t){r.prototype[t+"Setter"]=function(){this.elem.attr(t,f(this.start).tweenTo(f(this.end),this.pos),null,!0)}}),m(e,"afterGetAxes",function(){var t=this,e=t.options;this.colorAxis=[],e.colorAxis&&(e.colorAxis=w(e.colorAxis),e.colorAxis.forEach(function(e,i){e.index=i,new C(t,e)}))}),m(c,"bindAxes",function(){var t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}),m(n,"afterGetAllItems",function(t){var e,i,o=this,r=[],s=function(e){-1!==(e=t.allItems.indexOf(e))&&(o.destroyItem(t.allItems[e]),t.allItems.splice(e,1))};for((this.chart.colorAxis||[]).forEach(function(t){(e=t.options)&&e.showInLegend&&(e.dataClasses&&e.visible?r=r.concat(t.getDataClassLegendSymbols()):e.visible&&r.push(t),t.series.forEach(function(t){t.options.showInLegend&&!e.dataClasses||("point"===t.options.legendType?t.points.forEach(function(t){s(t)}):s(t))}))}),i=r.length;i--;)t.allItems.unshift(r[i])}),m(n,"afterColorizeItem",function(t){t.visible&&t.item.legendColor&&t.item.legendSymbol.attr({fill:t.item.legendColor})}),m(n,"afterUpdate",function(){var t=this.chart.colorAxis;t&&t.forEach(function(t,e,i){t.update({},i)})}),m(c,"afterTranslate",function(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}),C}),e(i,"Mixins/ColorMapSeries.js",[i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.defined,r=t.noop;return t=t.seriesTypes,(i=i.addEvent)(e,"afterSetState",function(t){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:t&&"hover"===t.state?1:0})}),{colorMapPointMixin:{dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&1/0!==this.value&&-1/0!==this.value}},colorMapSeriesMixin:{pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:r,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:t.column.prototype.pointAttribs,colorAttribs:function(t){var e={};return o(t.color)&&(e[this.colorProp||"fill"]=t.color),e}}}}),e(i,"Maps/MapNavigationOptionsDefault.js",[i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e){return(e=e.extend)(t.defaultOptions.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"}),t.defaultOptions.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}}),e(i,"Maps/MapNavigation.js",[i["Core/Chart/Chart.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){function o(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}function r(t){this.init(t)}var s=e.doc,n=i.addEvent,a=i.extend,h=i.merge,l=i.objectEach,c=i.pick;r.prototype.init=function(t){this.chart=t,t.mapNavButtons=[]},r.prototype.update=function(t){var e,i,r,s,d=this.chart,p=d.options.mapNavigation,u=function(t){this.handler.call(d,t),o(t)},f=d.mapNavButtons;for(t&&(p=d.options.mapNavigation=h(d.options.mapNavigation,t));f.length;)f.pop().destroy();c(p.enableButtons,p.enabled)&&!d.renderer.forExport&&l(p.buttons,function(t,l){t=h(p.buttonOptions,t),!d.styledMode&&t.theme&&((e=t.theme).style=h(t.theme.style,t.style),r=(i=e.states)&&i.hover,s=i&&i.select,delete e.states);var c=d.renderer.button(t.text||"",0,0,u,e,r,s,void 0,"zoomIn"===l?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[l]).attr({width:t.width,height:t.height,title:d.options.lang[l],padding:t.padding,zIndex:5}).add();if(c.handler=t.onclick,n(c.element,"dblclick",o),f.push(c),a(t,{width:c.width,height:2*c.height}),d.hasLoaded)c.align(t,!1,t.alignTo);else var g=n(d,"load",function(){c.element&&c.align(t,!1,t.alignTo),g()})}),this.updateEvents(p)},r.prototype.updateEvents=function(t){var e=this.chart;c(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||n(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),c(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||n(e.container,void 0!==s.onwheel?"wheel":void 0!==s.onmousewheel?"mousewheel":"DOMMouseScroll",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),o(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())},a(t.prototype,{fitToBox:function(t,e){return[["x","width"],["y","height"]].forEach(function(i){var o=i[0];t[o]+t[i=i[1]]>e[o]+e[i]&&(t[i]>e[i]?(t[i]=e[i],t[o]=e[o]):t[o]=e[o]+e[i]-t[i]),t[i]>e[i]&&(t[i]=e[i]),t[o]<e[o]&&(t[o]=e[o])}),t},mapZoom:function(t,e,i,o,r,s){var n=this.xAxis[0],a=n.max-n.min,h=c(e,n.min+a/2),l=a*t,d=(a=this.yAxis[0]).max-a.min,p=c(i,a.min+d/2);l=(h=this.fitToBox({x:h-l*(o?(o-n.pos)/n.len:.5),y:p-(d*=t)*(r?(r-a.pos)/a.len:.5),width:l,height:d},{x:n.dataMin,y:a.dataMin,width:n.dataMax-n.dataMin,height:a.dataMax-a.dataMin})).x<=n.dataMin&&h.width>=n.dataMax-n.dataMin&&h.y<=a.dataMin&&h.height>=a.dataMax-a.dataMin,o&&n.mapAxis&&(n.mapAxis.fixTo=[o-n.pos,e]),r&&a.mapAxis&&(a.mapAxis.fixTo=[r-a.pos,i]),void 0===t||l?(n.setExtremes(void 0,void 0,!1),a.setExtremes(void 0,void 0,!1)):(n.setExtremes(h.x,h.x+h.width,!1),a.setExtremes(h.y,h.y+h.height,!1)),this.redraw(s)}}),n(t,"beforeRender",function(){this.mapNavigation=new r(this),this.mapNavigation.update()}),e.MapNavigation=r}),e(i,"Maps/MapPointer.js",[i["Core/Pointer.js"],i["Core/Utilities.js"]],function(t,e){var i=e.extend,o=e.pick;e=e.wrap;var r,s=0;i(t.prototype,{onContainerDblClick:function(t){var e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,e.xAxis[0].toValue(t.chartX),e.yAxis[0].toValue(t.chartY),t.chartX,t.chartY)},onContainerMouseWheel:function(t){var e=this.chart,i=(t=this.normalize(t)).deltaY||t.detail||-t.wheelDelta/120;1<=Math.abs(i)&&(s+=Math.abs(i),r&&clearTimeout(r),r=setTimeout(function(){s=0},50)),10>s&&e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(Math.pow(e.options.mapNavigation.mouseWheelSensitivity,i),e.xAxis[0].toValue(t.chartX),e.yAxis[0].toValue(t.chartY),t.chartX,t.chartY,!(1>Math.abs(i))&&void 0)}}),e(t.prototype,"zoomOption",function(t){var e=this.chart.options.mapNavigation;o(e.enableTouchZoom,e.enabled)&&(this.chart.options.chart.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}),e(t.prototype,"pinchTranslate",function(t,e,i,o,r,s,n){t.call(this,e,i,o,r,s,n),"map"===this.chart.options.chart.type&&this.hasZoom&&this.pinchTranslateDirection(!(t=o.scaleX>o.scaleY),e,i,o,r,s,n,t?o.scaleX:o.scaleY)})}),e(i,"Maps/MapSymbols.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGRenderer.js"]],function(t,e){function i(t,e,i,o,r,s,n,a){return[["M",t+r,e],["L",t+i-s,e],["C",t+i-s/2,e,t+i,e+s/2,t+i,e+s],["L",t+i,e+o-n],["C",t+i,e+o-n/2,t+i-n/2,e+o,t+i-n,e+o],["L",t+a,e+o],["C",t+a/2,e+o,t,e+o-a/2,t,e+o-a],["L",t,e+r],["C",t,e+r/2,t+r/2,e,t+r,e],["Z"]]}var o=t.Renderer;return e.prototype.symbols.topbutton=function(t,e,o,r,s){return i(t-1,e-1,o,r,s=s&&s.r||0,s,0,0)},e.prototype.symbols.bottombutton=function(t,e,o,r,s){return i(t-1,e-1,o,r,0,0,s=s&&s.r||0,s)},o!==e&&["topbutton","bottombutton"].forEach(function(t){o.prototype.symbols[t]=e.prototype.symbols[t]}),e.prototype.symbols}),e(i,"Core/Chart/MapChart.js",[i["Core/Chart/Chart.js"],i["Core/Options.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=e.getOptions,n=o.merge,a=o.pick;return function(t){t.maps={},t.mapChart=function(e,i,o){return new t(e,i,o)},t.splitPath=function(t){return"string"==typeof t&&(t=(t=t.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(function(t){return/[A-za-z]/.test(t)?t:parseFloat(t)})),i.prototype.pathToSegments(t)}}((t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype.init=function(e,i){var o={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},r=e.series,h=s().credits;e.series=void 0,(e=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:a(h.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:a(h.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:o,yAxis:n(o,{reversed:!0})},e,{chart:{inverted:!1,alignTicks:!1}})).series=r,t.prototype.init.call(this,e,i)},e}(t))||(t={})),t}),e(i,"Series/Map/MapPoint.js",[i["Mixins/ColorMapSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();t=t.colorMapPointMixin;var r=i.extend;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.options=void 0,e.path=void 0,e.series=void 0,e}return o(e,t),e.prototype.applyOptions=function(e,i){var o=this.series;return e=t.prototype.applyOptions.call(this,e,i),i=o.joinBy,o.mapData&&o.mapMap&&((i=void 0!==(i=t.prototype.getNestedProperty.call(e,i[1]))&&o.mapMap[i])?(o.xyFromShape&&(e.x=i._midX,e.y=i._midY),r(e,i)):e.value=e.value||null),e},e.prototype.onMouseOver=function(e){i.clearTimeout(this.colorInterval),null!==this.value||this.series.options.nullInteraction?t.prototype.onMouseOver.call(this,e):this.series.onMouseOut(e)},e.prototype.zoomTo=function(){var t=this.series;t.xAxis.setExtremes(this._minX,this._maxX,!1),t.yAxis.setExtremes(this._minY,this._maxY,!1),t.chart.redraw()},e}(e.seriesTypes.scatter.prototype.pointClass),r(e.prototype,{dataLabelOnNull:t.dataLabelOnNull,isValid:t.isValid,moveToTopOnHover:t.moveToTopOnHover}),e}),e(i,"Series/Map/MapSeries.js",[i["Mixins/ColorMapSeries.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Chart/MapChart.js"],i["Series/Map/MapPoint.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){var c,d=this&&this.__extends||(c=function(t,e){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}c(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});t=t.colorMapSeriesMixin;var p=e.noop,u=o.maps,f=o.splitPath,g=(o=a.seriesTypes).column,m=o.scatter,y=l.fireEvent,v=l.getNestedProperty,x=l.isArray,b=l.isNumber,w=l.merge,C=l.objectEach,S=l.pick,k=l.splat;return(o=l.extend)((l=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.baseTrans=void 0,e.chart=void 0,e.data=void 0,e.group=void 0,e.joinBy=void 0,e.options=void 0,e.points=void 0,e.transformGroup=void 0,e}return d(i,t),i.prototype.animate=function(t){var e=this.options.animation,i=this.group,o=this.xAxis,r=this.yAxis,s=o.pos,n=r.pos;this.chart.renderer.isSVG&&(!0===e&&(e={duration:1e3}),t?i.attr({translateX:s+o.len/2,translateY:n+r.len/2,scaleX:.001,scaleY:.001}):i.animate({translateX:s,translateY:n,scaleX:1,scaleY:1},e))},i.prototype.animateDrilldown=function(t){var e=this.chart.plotBox,i=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],o=i.bBox,r=this.chart.options.drilldown.animation;t||(t=Math.min(o.width/e.width,o.height/e.height),i.shapeArgs={scaleX:t,scaleY:t,translateX:o.x,translateY:o.y},this.points.forEach(function(t){t.graphic&&t.graphic.attr(i.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},r)}))},i.prototype.animateDrillupFrom=function(t){g.prototype.animateDrillupFrom.call(this,t)},i.prototype.animateDrillupTo=function(t){g.prototype.animateDrillupTo.call(this,t)},i.prototype.doFullTranslate=function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},i.prototype.drawMapDataLabels=function(){n.prototype.drawDataLabels.call(this),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},i.prototype.drawPoints=function(){var t=this,e=t.xAxis,i=t.yAxis,o=t.group,r=t.chart,s=this.baseTrans;if(t.transformGroup||(t.transformGroup=r.renderer.g().attr({scaleX:1,scaleY:1}).add(o),t.transformGroup.survive=!0),t.doFullTranslate())r.hasRendered&&!r.styledMode&&t.points.forEach(function(e){e.shapeArgs&&(e.shapeArgs.fill=t.pointAttribs(e,e.state).fill)}),t.group=t.transformGroup,g.prototype.drawPoints.apply(t),t.group=o,t.points.forEach(function(e){if(e.graphic){var i="";e.name&&(i+="highcharts-name-"+e.name.replace(/ /g,"-").toLowerCase()),e.properties&&e.properties["hc-key"]&&(i+=" highcharts-key-"+e.properties["hc-key"].toLowerCase()),i&&e.graphic.addClass(i),r.styledMode&&e.graphic.css(t.pointAttribs(e,e.selected?"select":void 0))}}),this.baseTrans={originX:e.min-e.minPixelPadding/e.transA,originY:i.min-i.minPixelPadding/i.transA+(i.reversed?0:i.len/i.transA),transAX:e.transA,transAY:i.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1});else{var n=e.transA/s.transAX,a=i.transA/s.transAY,h=e.toPixels(s.originX,!0),l=i.toPixels(s.originY,!0);.99<n&&1.01>n&&.99<a&&1.01>a&&(a=n=1,h=Math.round(h),l=Math.round(l));var c=this.transformGroup;if(r.renderer.globalAnimation){var d=c.attr("translateX"),p=c.attr("translateY"),u=c.attr("scaleX"),f=c.attr("scaleY");c.attr({animator:0}).animate({animator:1},{step:function(t,e){c.attr({translateX:d+(h-d)*e.pos,translateY:p+(l-p)*e.pos,scaleX:u+(n-u)*e.pos,scaleY:f+(a-f)*e.pos})}})}else c.attr({translateX:h,translateY:l,scaleX:n,scaleY:a})}r.styledMode||o.element.setAttribute("stroke-width",S(t.options[t.pointAttrToOptions&&t.pointAttrToOptions["stroke-width"]||"borderWidth"],1)/(n||1)),this.drawMapDataLabels()},i.prototype.getBox=function(t){var e,i=Number.MAX_VALUE,o=-i,r=i,s=-i,n=i,a=i,l=this.xAxis,c=this.yAxis;(t||[]).forEach(function(t){if(t.path){"string"==typeof t.path?t.path=f(t.path):"M"===t.path[0]&&(t.path=h.prototype.pathToSegments(t.path));var l=-i,c=i,d=-i,p=i,u=t.properties;t._foundBox||((t.path||[]).forEach(function(t){var e=t[t.length-2];t=t[t.length-1],"number"==typeof e&&"number"==typeof t&&(c=Math.min(c,e),l=Math.max(l,e),p=Math.min(p,t),d=Math.max(d,t))}),t._midX=c+(l-c)*S(t.middleX,u&&u["hc-middle-x"],.5),t._midY=p+(d-p)*S(t.middleY,u&&u["hc-middle-y"],.5),t._maxX=l,t._minX=c,t._maxY=d,t._minY=p,t.labelrank=S(t.labelrank,(l-c)*(d-p)),t._foundBox=!0),o=Math.max(o,t._maxX),r=Math.min(r,t._minX),s=Math.max(s,t._maxY),n=Math.min(n,t._minY),a=Math.min(t._maxX-t._minX,t._maxY-t._minY,a),e=!0}}),e&&(this.minY=Math.min(n,S(this.minY,i)),this.maxY=Math.max(s,S(this.maxY,-i)),this.minX=Math.min(r,S(this.minX,i)),this.maxX=Math.max(o,S(this.maxX,-i)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*a,(this.maxX-this.minX)/5,l.minRange||i)),c&&void 0===c.options.minRange&&(c.minRange=Math.min(5*a,(this.maxY-this.minY)/5,c.minRange||i)))},i.prototype.getExtremes=function(){var t=n.prototype.getExtremes.call(this,this.valueData),e=t.dataMin;return t=t.dataMax,this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data),b(e)&&(this.valueMin=e),b(t)&&(this.valueMax=t),{dataMin:this.minY,dataMax:this.maxY}},i.prototype.hasData=function(){return!!this.processedXData.length},i.prototype.pointAttribs=function(t,e){return(e=t.series.chart.styledMode?this.colorAttribs(t):g.prototype.pointAttribs.call(this,t,e))["stroke-width"]=S(t.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit"),e},i.prototype.render=function(){var t=this,e=n.prototype.render;t.chart.renderer.isVML&&3e3<t.data.length?setTimeout(function(){e.call(t)}):e.call(t)},i.prototype.setData=function(t,i,o,s){var a=this.options,h=this.chart.options.chart,l=h&&h.map,c=a.mapData,d=this.joinBy,p=a.keys||this.pointArrayMap,f=[],g={},m=this.chart.mapTransforms;if(!c&&l&&(c="string"==typeof l?u[l]:l),t&&t.forEach(function(e,i){var o=0;if(b(e))t[i]={value:e};else if(x(e)){t[i]={},!a.keys&&e.length>p.length&&"string"==typeof e[0]&&(t[i]["hc-key"]=e[0],++o);for(var s=0;s<p.length;++s,++o)p[s]&&void 0!==e[o]&&(0<p[s].indexOf(".")?r.prototype.setNestedProperty(t[i],e[o],p[s]):t[i][p[s]]=e[o])}d&&"_i"===d[0]&&(t[i]._i=i)}),this.getBox(t),(this.chart.mapTransforms=m=h.mapTransforms||c&&c["hc-transform"]||m)&&C(m,function(t){t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),c){for("FeatureCollection"===c.type&&(this.mapTitle=c.title,c=e.geojson(c,this.type,this)),this.mapData=c,this.mapMap={},m=0;m<c.length;m++)l=(h=c[m]).properties,h._i=m,d[0]&&l&&l[d[0]]&&(h[d[0]]=l[d[0]]),g[h[d[0]]]=h;if(this.mapMap=g,t&&d[1]){var y=d[1];t.forEach(function(t){t=v(y,t),g[t]&&f.push(g[t])})}if(a.allAreas){if(this.getBox(c),t=t||[],d[1]){var S=d[1];t.forEach(function(t){f.push(v(S,t))})}f="|"+f.map(function(t){return t&&t[d[0]]}).join("|")+"|",c.forEach(function(e){d[0]&&-1!==f.indexOf("|"+e[d[0]]+"|")||(t.push(w(e,{value:null})),s=!1)})}else this.getBox(f)}n.prototype.setData.call(this,t,i,o,s)},i.prototype.setOptions=function(t){var e=(t=n.prototype.setOptions.call(this,t)).joinBy;return null===e&&(e="_i"),(e=this.joinBy=k(e))[1]||(e[1]=e[0]),t},i.prototype.translate=function(){var t=this,e=t.xAxis,i=t.yAxis,o=t.doFullTranslate();t.generatePoints(),t.data.forEach(function(r){b(r._midX)&&b(r._midY)&&(r.plotX=e.toPixels(r._midX,!0),r.plotY=i.toPixels(r._midY,!0)),o&&(r.shapeType="path",r.shapeArgs={d:t.translatePath(r.path)})}),y(t,"afterTranslate")},i.prototype.translatePath=function(t){var e=this.xAxis,i=this.yAxis,o=e.min,r=e.transA,s=e.minPixelPadding,n=i.min,a=i.transA,h=i.minPixelPadding,l=[];return t&&t.forEach(function(t){"M"===t[0]?l.push(["M",(t[1]-(o||0))*r+s,(t[2]-(n||0))*a+h]):"L"===t[0]?l.push(["L",(t[1]-(o||0))*r+s,(t[2]-(n||0))*a+h]):"C"===t[0]?l.push(["C",(t[1]-(o||0))*r+s,(t[2]-(n||0))*a+h,(t[3]-(o||0))*r+s,(t[4]-(n||0))*a+h,(t[5]-(o||0))*r+s,(t[6]-(n||0))*a+h]):"Q"===t[0]?l.push(["Q",(t[1]-(o||0))*r+s,(t[2]-(n||0))*a+h,(t[3]-(o||0))*r+s,(t[4]-(n||0))*a+h]):"Z"===t[0]&&l.push(["Z"])}),l},i.defaultOptions=w(m.defaultOptions,{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:s.neutralColor3,stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:s.neutralColor20,borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:s.neutralColor20},inactive:{opacity:1}}}),i}(m)).prototype,{type:"map",axisTypes:t.axisTypes,colorAttribs:t.colorAttribs,colorKey:t.colorKey,directTouch:!0,drawDataLabels:p,drawGraph:p,drawLegendSymbol:i.drawRectangle,forceDL:!0,getExtremesFromAll:!0,getSymbol:t.getSymbol,parallelArrays:t.parallelArrays,pointArrayMap:t.pointArrayMap,pointClass:r,preserveAspectRatio:!0,searchPoint:p,trackerGroups:t.trackerGroups,useMapGeometry:!0}),a.registerSeriesType("map",l),l}),e(i,"Series/MapLine/MapLineSeries.js",[i["Series/Map/MapSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=e.series,s=i.merge;return(0,i.extend)((i=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return o(i,e),i.prototype.pointAttribs=function(e,i){return(e=t.prototype.pointAttribs.call(this,e,i)).fill=this.options.fillColor,e},i.defaultOptions=s(t.defaultOptions,{lineWidth:1,fillColor:"none"}),i}(t)).prototype,{type:"mapline",colorProp:"stroke",drawLegendSymbol:r.prototype.drawLegendSymbol,pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),e.registerSeriesType("mapline",i),i}),e(i,"Series/MapPoint/MapPointPoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=e.merge;return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.options=void 0,e.series=void 0,e}return i(e,t),e.prototype.applyOptions=function(e,i){return e=void 0!==e.lat&&void 0!==e.lon?o(e,this.series.chart.fromLatLonToPoint(e)):e,t.prototype.applyOptions.call(this,e,i)},e}(t.seriesTypes.scatter.prototype.pointClass)}),e(i,"Series/MapPoint/MapPointSeries.js",[i["Series/MapPoint/MapPointPoint.js"],i["Core/Color/Palette.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=i.seriesTypes.scatter,n=o.merge;return(0,o.extend)((o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.drawDataLabels=function(){t.prototype.drawDataLabels.call(this),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},i.defaultOptions=n(s.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:e.neutralColor100}}}),i}(s)).prototype,{type:"mappoint",forceDL:!0,pointClass:t}),i.registerSeriesType("mappoint",o),o}),e(i,"Series/Bubble/BubblePoint.js",[i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();return(i=i.extend)((e=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=void 0,t.series=void 0,t}return o(i,e),i.prototype.haloPath=function(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)},i}(e.seriesTypes.scatter.prototype.pointClass)).prototype,{ttBelow:!1}),e}),e(i,"Series/Bubble/BubbleLegend.js",[i["Core/Chart/Chart.js"],i["Core/Color/Color.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=e.parse,c=o.noop;e=h.addEvent;var d=h.arrayMax,p=h.arrayMin,u=h.isNumber,f=h.merge,g=h.objectEach,m=h.pick,y=h.stableSort;return h=h.wrap,(s=s.setOptions)({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:"10px",color:n.neutralColor100},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}}}),n=function(){function t(t,e){this.options=this.symbols=this.visible=this.ranges=this.movementX=this.maxLabel=this.legendSymbol=this.legendItemWidth=this.legendItemHeight=this.legendItem=this.legendGroup=this.legend=this.fontMetrics=this.chart=void 0,this.setState=c,this.init(t,e)}return t.prototype.init=function(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e},t.prototype.addToLegend=function(t){t.splice(this.options.legendIndex,0,this)},t.prototype.drawLegendSymbol=function(t){var e=this.chart,i=this.options,o=m(t.options.itemDistance,20),r=i.ranges,s=i.connectorDistance;this.fontMetrics=e.renderer.fontMetrics(i.labels.style.fontSize),r&&r.length&&u(r[0].value)?(y(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render(),e=this.getMaxLabelSize(),t=2*(r=this.ranges[0].radius),s=0<(s=s-r+e.width)?s:0,this.maxLabel=e,this.movementX="left"===i.labels.align?s:0,this.legendItemWidth=t+s+o,this.legendItemHeight=t+this.fontMetrics.h/2):t.options.bubbleLegend.autoRanges=!0},t.prototype.setOptions=function(){var t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],o=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},s={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},a=i.options.marker.fillOpacity,h=this.chart.styledMode;t.forEach(function(c,d){h||(r.stroke=m(c.borderColor,e.borderColor,i.color),r.fill=m(c.color,e.color,1!==a?l(i.color).setOpacity(a).get("rgba"):i.color),s.stroke=m(c.connectorColor,e.connectorColor,i.color)),t[d].radius=this.getRangeRadius(c.value),t[d]=f(t[d],{center:t[0].radius-t[d].radius+o}),h||f(!0,t[d],{bubbleAttribs:f(r),connectorAttribs:f(s),labelAttribs:n})},this)},t.prototype.getRangeRadius=function(t){var e=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,e.ranges[e.ranges.length-1].value,e.ranges[0].value,e.minSize,e.maxSize,t)},t.prototype.render=function(){var t=this.chart.renderer,e=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),this.legendSymbol=t.g("bubble-legend"),this.legendItem=t.g("bubble-legend-item"),this.legendSymbol.translateX=0,this.legendSymbol.translateY=0,this.ranges.forEach(function(t){t.value>=e&&this.renderRange(t)},this),this.legendSymbol.add(this.legendItem),this.legendItem.add(this.legendGroup),this.hideOverlappingLabels()},t.prototype.renderRange=function(t){var e=this.options,i=e.labels,o=this.chart,r=o.series[e.seriesIndex],s=o.renderer,n=this.symbols;o=n.labels;var a=t.center,h=Math.abs(t.radius),l=e.connectorDistance||0,c=i.align;l=this.legend.options.rtl||"left"===c?-l:l;var d=e.connectorWidth,p=this.ranges[0].radius||0,u=a-h-e.borderWidth/2+d/2,f=this.fontMetrics;f=f.f/2-(f.h-f.f)/2;var g=s.styledMode;"center"===c&&(l=0,e.connectorDistance=0,t.labelAttribs.align="center"),c=u+e.labels.y;var m=p+l+e.labels.x;n.bubbleItems.push(s.circle(p,a+((u%1?1:.5)-(d%2?0:.5)),h).attr(g?{}:t.bubbleAttribs).addClass((g?"highcharts-color-"+r.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(e.className||"")).add(this.legendSymbol)),n.connectors.push(s.path(s.crispLine([["M",p,u],["L",p+l,u]],e.connectorWidth)).attr(g?{}:t.connectorAttribs).addClass((g?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(e.connectorClassName||"")).add(this.legendSymbol)),t=s.text(this.formatLabel(t),m,c+f).attr(g?{}:t.labelAttribs).css(g?{}:i.style).addClass("highcharts-bubble-legend-labels "+(e.labels.className||"")).add(this.legendSymbol),o.push(t),t.placed=!0,t.alignAttr={x:m,y:c+f}},t.prototype.getMaxLabelSize=function(){var t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}},t.prototype.formatLabel=function(t){var e=this.options,o=e.labels.formatter,r=this.chart.numberFormatter;return(e=e.labels.format)?i.format(e,t):o?o.call(t):r(t.value,1)},t.prototype.hideOverlappingLabels=function(){var t=this.symbols;!this.options.labels.allowOverlap&&t&&(this.chart.hideOverlappingLabels(t.labels),t.labels.forEach(function(e,i){e.newOpacity?e.newOpacity!==e.oldOpacity&&t.connectors[i].show():t.connectors[i].hide()}))},t.prototype.getRanges=function(){var t,e=this.legend.bubbleLegend,i=e.options.ranges,o=Number.MAX_VALUE,r=-Number.MAX_VALUE;e.chart.series.forEach(function(e){e.isBubble&&!e.ignoreSeries&&(t=e.zData.filter(u)).length&&(o=m(e.options.zMin,Math.min(o,Math.max(p(t),!1===e.options.displayNegative?e.options.zThreshold:-Number.MAX_VALUE))),r=m(e.options.zMax,Math.max(r,d(t))))});var s=o===r?[{value:r}]:[{value:o},{value:(o+r)/2},{value:r,autoRanges:!0}];return i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=f(i[e],t))}),s},t.prototype.predictBubbleSizes=function(){var t=this.chart,e=this.fontMetrics,i=t.legend.options,o="horizontal"===i.layout,r=o?t.legend.lastLineHeight:0,s=t.plotSizeX,n=t.plotSizeY,a=t.series[this.options.seriesIndex];t=Math.ceil(a.minPxSize);var h=Math.ceil(a.maxPxSize);a=a.options.maxSize;var l=Math.min(n,s);return i.floating||!/%$/.test(a)?e=h:(a=parseFloat(a),e=(l+r-e.h/2)*a/100/(a/100+1),(o&&n-e>=s||!o&&s-e>=n)&&(e=h)),[t,Math.ceil(e)]},t.prototype.updateRanges=function(t,e){var i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()},t.prototype.correctSizes=function(){var t=this.legend,e=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())},t}(),e(r,"afterGetAllItems",function(t){var e=this.bubbleLegend,i=this.options,r=i.bubbleLegend,s=this.chart.getVisibleBubbleSeriesIndex();e&&e.ranges&&e.ranges.length&&(r.ranges.length&&(r.autoRanges=!!r.ranges[0].autoRanges),this.destroyItem(e)),0<=s&&i.enabled&&r.enabled&&(r.seriesIndex=s,this.bubbleLegend=new o.BubbleLegend(r,this),this.bubbleLegend.addToLegend(t.allItems))}),t.prototype.getVisibleBubbleSeriesIndex=function(){for(var t=this.series,e=0;e<t.length;){if(t[e]&&t[e].isBubble&&t[e].visible&&t[e].zData.length)return e;e++}return-1},r.prototype.getLinesHeights=function(){var t,e=this.allItems,i=[],o=e.length,r=0;for(t=0;t<o;t++)if(e[t].legendItemHeight&&(e[t].itemHeight=e[t].legendItemHeight),e[t]===e[o-1]||e[t+1]&&e[t]._legendItemPos[1]!==e[t+1]._legendItemPos[1]){i.push({height:0});for(var s=i[i.length-1];r<=t;r++)e[r].itemHeight>s.height&&(s.height=e[r].itemHeight);s.step=t}return i},r.prototype.retranslateItems=function(t){var e,i,o,r=this.options.rtl,s=0;this.allItems.forEach(function(n,a){e=n.legendGroup.translateX,i=n._legendItemPos[1],((o=n.movementX)||r&&n.ranges)&&n.legendGroup.attr({translateX:o=r?e-n.options.maxSize/2:e+o}),a>t[s].step&&s++,n.legendGroup.attr({translateY:Math.round(i+t[s].height/2)}),n._legendItemPos[1]=i+t[s].height/2})},e(a,"legendItemClick",function(){var t=this.chart,e=this.visible,i=this.chart.legend;i&&i.bubbleLegend&&(this.visible=!e,this.ignoreSeries=e,t=0<=t.getVisibleBubbleSeriesIndex(),i.bubbleLegend.visible!==t&&(i.update({bubbleLegend:{enabled:t}}),i.bubbleLegend.visible=t),this.visible=e)}),h(t.prototype,"drawChartBox",function(t,e,i){var o=this.legend,r=0<=this.getVisibleBubbleSeriesIndex();if(o&&o.options.enabled&&o.bubbleLegend&&o.options.bubbleLegend.autoRanges&&r){var s=o.bubbleLegend.options;r=o.bubbleLegend.predictBubbleSizes(),o.bubbleLegend.updateRanges(r[0],r[1]),s.placed||(o.group.placed=!1,o.allItems.forEach(function(t){t.legendGroup.translateY=null})),o.render(),this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),g(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),s.placed=!0,this.getMargins(),t.call(this,e,i),o.bubbleLegend.correctSizes(),o.retranslateItems(o.getLinesHeights())}else t.call(this,e,i),o&&o.options.enabled&&o.bubbleLegend&&(o.render(),o.retranslateItems(o.getLinesHeights()))}),o.BubbleLegend=n,o.BubbleLegend}),e(i,"Series/Bubble/BubbleSeries.js",[i["Core/Axis/Axis.js"],i["Series/Bubble/BubblePoint.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),h=i.parse;i=o.noop;var l=s.seriesTypes;o=l.column;var c=l.scatter,d=n.arrayMax,p=n.arrayMin,u=n.clamp,f=n.extend,g=n.isNumber,m=n.merge,y=n.pick,v=n.pInt;return n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.maxPxSize=void 0,e.minPxSize=void 0,e.options=void 0,e.points=void 0,e.radii=void 0,e.yData=void 0,e.zData=void 0,e}return a(e,t),e.prototype.animate=function(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){var e=t.graphic;e&&e.width&&(this.hasRendered||e.attr({x:t.plotX,y:t.plotY,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)},e.prototype.getRadii=function(t,e,i){var o=this.zData,r=this.yData,s=i.minPxSize,n=i.maxPxSize,a=[],h=0;for(i=o.length;h<i;h++)a.push(this.getRadius(t,e,s,n,o[h],r[h]));this.radii=a},e.prototype.getRadius=function(t,e,i,o,r,s){var n=this.options,a="width"!==n.sizeBy,h=n.zThreshold,l=e-t,c=.5;if(null===s||null===r)return null;if(g(r)){if(n.sizeByAbsoluteValue&&(r=Math.abs(r-h),l=Math.max(e-h,Math.abs(t-h)),t=0),r<t)return i/2-1;0<l&&(c=(r-t)/l)}return a&&0<=c&&(c=Math.sqrt(c)),Math.ceil(i+c*(o-i))/2},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.pointAttribs=function(t,e){var i=this.options.marker.fillOpacity;return t=r.prototype.pointAttribs.call(this,t,e),1!==i&&(t.fill=h(t.fill).setOpacity(i).get("rgba")),t},e.prototype.translate=function(){var e,i=this.data,o=this.radii;for(t.prototype.translate.call(this),e=i.length;e--;){var r=i[e],s=o?o[e]:0;g(s)&&s>=this.minPxSize/2?(r.marker=f(r.marker,{radius:s,width:2*s,height:2*s}),r.dlBox={x:r.plotX-s,y:r.plotY-s,width:2*s,height:2*s}):r.shapeArgs=r.plotY=r.dlBox=void 0}},e.defaultOptions=m(c.defaultOptions,{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"}),e}(c),f(n.prototype,{alignDataLabel:o.prototype.alignDataLabel,applyZones:i,bubblePadding:!0,buildKDTree:i,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),t.prototype.beforePadding=function(){var t=this,e=this.len,i=this.chart,o=0,r=e,s=this.isXAxis,n=s?"xData":"yData",a=this.min,h={},l=Math.min(i.plotWidth,i.plotHeight),c=Number.MAX_VALUE,f=-Number.MAX_VALUE,m=this.max-a,x=e/m,b=[];this.series.forEach(function(e){var o=e.options;!e.bubblePadding||!e.visible&&i.options.chart.ignoreHiddenSeries||(t.allowZoomOutside=!0,b.push(e),s&&(["minSize","maxSize"].forEach(function(t){var e=o[t],i=/%$/.test(e);e=v(e),h[t]=i?l*e/100:e}),e.minPxSize=h.minSize,e.maxPxSize=Math.max(h.maxSize,h.minSize),(e=e.zData.filter(g)).length&&(c=y(o.zMin,u(p(e),!1===o.displayNegative?o.zThreshold:-Number.MAX_VALUE,c)),f=y(o.zMax,Math.max(f,d(e))))))}),b.forEach(function(e){var i=e[n],h=i.length;if(s&&e.getRadii(c,f,e),0<m)for(;h--;)if(g(i[h])&&t.dataMin<=i[h]&&i[h]<=t.max){var l=e.radii?e.radii[h]:0;o=Math.min((i[h]-a)*x-l,o),r=Math.max((i[h]-a)*x+l,r)}}),b.length&&0<m&&!this.logarithmic&&(r-=e,x*=(e+Math.max(0,o)-Math.min(r,e))/e,[["min","userMin",o],["max","userMax",r]].forEach(function(e){void 0===y(t.options[e[0]],t[e[1]])&&(t[e[0]]+=e[2]/x)}))},s.registerSeriesType("bubble",n),n}),e(i,"Series/MapBubble/MapBubblePoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=t.seriesTypes,r=o.map;t=e.extend;var s=e.merge;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.applyOptions=function(e,i){return e&&void 0!==e.lat&&void 0!==e.lon?t.prototype.applyOptions.call(this,s(e,this.series.chart.fromLatLonToPoint(e)),i):r.prototype.pointClass.prototype.applyOptions.call(this,e,i)},e.prototype.isValid=function(){return"number"==typeof this.z},e}(o.bubble.prototype.pointClass),t(e.prototype,{ttBelow:!1}),e}),e(i,"Series/MapBubble/MapBubbleSeries.js",[i["Series/Bubble/BubbleSeries.js"],i["Series/MapBubble/MapBubblePoint.js"],i["Series/Map/MapSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=r.merge;return(0,r.extend)((r=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return s(i,e),i.defaultOptions=n(t.defaultOptions,{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}}),i}(t)).prototype,{type:"mapbubble",getBox:i.prototype.getBox,pointArrayMap:["z"],pointClass:e,setData:i.prototype.setData,setOptions:i.prototype.setOptions,xyFromShape:!0}),o.registerSeriesType("mapbubble",r),r}),e(i,"Series/Heatmap/HeatmapPoint.js",[i["Mixins/ColorMapSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();t=t.colorMapPointMixin;var r=i.clamp,s=i.pick;return(0,i.extend)((e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.options=void 0,e.series=void 0,e.value=void 0,e.x=void 0,e.y=void 0,e}return o(e,t),e.prototype.applyOptions=function(e,i){return(e=t.prototype.applyOptions.call(this,e,i)).formatPrefix=e.isNull||null===e.value?"null":"point",e},e.prototype.getCellAttributes=function(){var t=this.series,e=t.options,i=(e.colsize||1)/2,o=(e.rowsize||1)/2,n=t.xAxis,a=t.yAxis,h=this.options.marker||t.options.marker;t=t.pointPlacementToXValue();var l=s(this.pointPadding,e.pointPadding,0),c={x1:r(Math.round(n.len-(n.translate(this.x-i,!1,!0,!1,!0,-t)||0)),-n.len,2*n.len),x2:r(Math.round(n.len-(n.translate(this.x+i,!1,!0,!1,!0,-t)||0)),-n.len,2*n.len),y1:r(Math.round(a.translate(this.y-o,!1,!0,!1,!0)||0),-a.len,2*a.len),y2:r(Math.round(a.translate(this.y+o,!1,!0,!1,!0)||0),-a.len,2*a.len)};return[["width","x"],["height","y"]].forEach(function(t){var e=t[0],i=(t=t[1])+"1",o=t+"2",r=Math.abs(c[i]-c[o]),s=h&&h.lineWidth||0,n=Math.abs(c[i]+c[o])/2;h[e]&&h[e]<r&&(c[i]=n-h[e]/2-s/2,c[o]=n+h[e]/2+s/2),l&&("y"===t&&(i=o,o=t+"1"),c[i]+=l,c[o]-=l)}),c},e.prototype.haloPath=function(t){if(!t)return[];var e=this.shapeArgs;return["M",e.x-t,e.y-t,"L",e.x-t,e.y+e.height+t,e.x+e.width+t,e.y+e.height+t,e.x+e.width+t,e.y-t,"Z"]},e.prototype.isValid=function(){return 1/0!==this.value&&-1/0!==this.value},e}(e.seriesTypes.scatter.prototype.pointClass)).prototype,{dataLabelOnNull:t.dataLabelOnNull,moveToTopOnHover:t.moveToTopOnHover}),e}),e(i,"Series/Heatmap/HeatmapSeries.js",[i["Mixins/ColorMapSeries.js"],i["Core/Globals.js"],i["Series/Heatmap/HeatmapPoint.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();t=t.colorMapSeriesMixin;var l=s.series,c=s.seriesTypes,d=c.column,p=c.scatter,u=n.prototype.symbols,f=a.extend,g=a.fireEvent,m=a.isNumber,y=a.merge,v=a.pick;return n=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.colorAxis=void 0,e.data=void 0,e.options=void 0,e.points=void 0,e.valueMax=NaN,e.valueMin=NaN,e}return h(i,t),i.prototype.drawPoints=function(){var t=this;((this.options.marker||{}).enabled||this._hasPointMarkers)&&(l.prototype.drawPoints.call(this),this.points.forEach(function(e){e.graphic&&e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e))}))},i.prototype.getExtremes=function(){var t=l.prototype.getExtremes.call(this,this.valueData),e=t.dataMin;return t=t.dataMax,m(e)&&(this.valueMin=e),m(t)&&(this.valueMax=t),l.prototype.getExtremes.call(this)},i.prototype.getValidPoints=function(t,e){return l.prototype.getValidPoints.call(this,t,e,!0)},i.prototype.hasData=function(){return!!this.processedXData.length},i.prototype.init=function(){l.prototype.init.apply(this,arguments);var t=this.options;t.pointRange=v(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,f(u,{ellipse:u.circle})},i.prototype.markerAttribs=function(t,e){var i=t.marker||{},o=t.shapeArgs||{},r={};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e){var s=(this.options.marker||{}).states[e]||{},n=i.states&&i.states[e]||{};[["width","x"],["height","y"]].forEach(function(t){r[t[0]]=(n[t[0]]||s[t[0]]||o[t[0]])+(n[t[0]+"Plus"]||s[t[0]+"Plus"]||0),r[t[1]]=o[t[1]]+(o[t[0]]-r[t[0]])/2})}return e?r:o},i.prototype.pointAttribs=function(t,i){var o=l.prototype.pointAttribs.call(this,t,i),r=this.options||{},s=this.chart.options.plotOptions||{},n=s.series||{},a=s.heatmap||{};return s=r.borderColor||a.borderColor||n.borderColor,n=r.borderWidth||a.borderWidth||n.borderWidth||o["stroke-width"],o.stroke=t&&t.marker&&t.marker.lineColor||r.marker&&r.marker.lineColor||s||this.color,o["stroke-width"]=n,i&&(i=(t=y(r.states[i],r.marker&&r.marker.states[i],t&&t.options.states&&t.options.states[i]||{})).brightness,o.fill=t.color||e.color(o.fill).brighten(i||0).get(),o.stroke=t.lineColor),o},i.prototype.setClip=function(t){var e=this.chart;l.prototype.setClip.apply(this,arguments),(!1!==this.options.clip||t)&&this.markerGroup.clip((t||this.clipBox)&&this.sharedClipKey?e.sharedClips[this.sharedClipKey]:e.clipRect)},i.prototype.translate=function(){var t=this.options,e=t.marker&&t.marker.symbol||"",i=u[e]?e:"rect",o=-1!==["circle","square"].indexOf(i);this.generatePoints(),this.points.forEach(function(t){var r=t.getCellAttributes(),s={};s.x=Math.min(r.x1,r.x2),s.y=Math.min(r.y1,r.y2),s.width=Math.max(Math.abs(r.x2-r.x1),0),s.height=Math.max(Math.abs(r.y2-r.y1),0);var n=t.hasImage=0===(t.marker&&t.marker.symbol||e||"").indexOf("url");if(o){var a=Math.abs(s.width-s.height);s.x=Math.min(r.x1,r.x2)+(s.width<s.height?0:a/2),s.y=Math.min(r.y1,r.y2)+(s.width<s.height?a/2:0),s.width=s.height=Math.min(s.width,s.height)}a={plotX:(r.x1+r.x2)/2,plotY:(r.y1+r.y2)/2,clientX:(r.x1+r.x2)/2,shapeType:"path",shapeArgs:y(!0,s,{d:u[i](s.x,s.y,s.width,s.height)})},n&&(t.marker={width:s.width,height:s.height}),f(t,a)}),g(this,"afterTranslate")},i.defaultOptions=y(p.defaultOptions,{animation:!1,borderWidth:0,nullColor:r.neutralColor3,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}}}),i}(p),f(n.prototype,{alignDataLabel:d.prototype.alignDataLabel,axisTypes:t.axisTypes,colorAttribs:t.colorAttribs,colorKey:t.colorKey,directTouch:!0,drawLegendSymbol:o.drawRectangle,getExtremesFromAll:!0,getSymbol:l.prototype.getSymbol,parallelArrays:t.parallelArrays,pointArrayMap:["y","value"],pointClass:i,trackerGroups:t.trackerGroups}),s.registerSeriesType("heatmap",n),n}),e(i,"Extensions/GeoJSON.js",[i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i,o){function r(t,e){var i,o=!1,r=t.x,s=t.y;for(t=0,i=e.length-1;t<e.length;i=t++)e[t][1]>s!=e[i][1]>s&&r<(e[i][0]-e[t][0])*(s-e[t][1])/(e[i][1]-e[t][1])+e[t][0]&&(o=!o);return o}var s=e.format,n=i.win,a=o.error,h=o.extend,l=o.merge;e=o.wrap,t.prototype.transformFromLatLon=function(t,e){var i=this.userOptions.chart&&this.userOptions.chart.proj4||n.proj4;if(!i)return a(21,!1,this),{x:0,y:null};t=i(e.crs,[t.lon,t.lat]),i=e.cosAngle||e.rotation&&Math.cos(e.rotation);var o=e.sinAngle||e.rotation&&Math.sin(e.rotation);return{x:(((t=e.rotation?[t[0]*i+t[1]*o,-t[0]*o+t[1]*i]:t)[0]-(e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset||0)-t[1])*(e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}},t.prototype.transformToLatLon=function(t,e){if(void 0!==n.proj4){t={x:((t.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-t.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var i=e.cosAngle||e.rotation&&Math.cos(e.rotation),o=e.sinAngle||e.rotation&&Math.sin(e.rotation);return{lat:(e=n.proj4(e.crs,"WGS84",e.rotation?{x:t.x*i+t.y*-o,y:t.x*o+t.y*i}:t)).y,lon:e.x}}a(21,!1,this)},t.prototype.fromPointToLatLon=function(t){var e,i=this.mapTransforms;if(i){for(e in i)if(Object.hasOwnProperty.call(i,e)&&i[e].hitZone&&r({x:t.x,y:-t.y},i[e].hitZone.coordinates[0]))return this.transformToLatLon(t,i[e]);return this.transformToLatLon(t,i.default)}a(22,!1,this)},t.prototype.fromLatLonToPoint=function(t){var e,i=this.mapTransforms;if(!i)return a(22,!1,this),{x:0,y:null};for(e in i)if(Object.hasOwnProperty.call(i,e)&&i[e].hitZone){var o=this.transformFromLatLon(t,i[e]);if(r({x:o.x,y:-o.y},i[e].hitZone.coordinates[0]))return o}return this.transformFromLatLon(t,i.default)},i.geojson=function(t,e,i){var o=[],r=[],n=function(t){t.forEach(function(t,e){r.push(0===e?["M",t[0],-t[1]]:["L",t[0],-t[1]])})};return e=e||"map",t.features.forEach(function(t){var i,s=t.geometry,a=s.type;s=s.coordinates,t=t.properties,r=[],"map"===e||"mapbubble"===e?("Polygon"===a?(s.forEach(n),r.push(["Z"])):"MultiPolygon"===a&&(s.forEach(function(t){t.forEach(n)}),r.push(["Z"])),r.length&&(i={path:r})):"mapline"===e?("LineString"===a?n(s):"MultiLineString"===a&&s.forEach(n),r.length&&(i={path:r})):"mappoint"===e&&"Point"===a&&(i={x:s[0],y:-s[1]}),i&&o.push(h(i,{name:t.name||t.NAME,properties:t}))}),i&&t.copyrightShort&&(i.chart.mapCredits=s(i.chart.options.credits.mapText,{geojson:t}),i.chart.mapCreditsFull=s(i.chart.options.credits.mapTextFull,{geojson:t})),o},e(t.prototype,"addCredits",function(t,e){e=l(!0,this.options.credits,e),this.mapCredits&&(e.href=null),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})}),e(i,"masters/modules/map.src.js",[i["Core/Globals.js"],i["Core/Chart/MapChart.js"]],function(t,e){t.MapChart=e,t.mapChart=t.Map=e.mapChart,t.maps=e.maps}),e(i,"masters/highmaps.src.js",[i["masters/highcharts.src.js"]],function(t){return t.product="Highmaps",t}),i["masters/highmaps.src.js"]._modules=i,i["masters/highmaps.src.js"]},t.exports?(s.default=s,t.exports=r.document?s(r):s):void 0===(o=(function(){return s(r)}).call(e,i,e,t))||(t.exports=o)},712:function(t,e,i){var o,r,s;r="undefined"!=typeof window?window:this,s=function(t){function e(t,e,i,o){t.hasOwnProperty(e)||(t[e]=o.apply(null,i))}var i={};return e(i,"Core/Globals.js",[],function(){var e,i=void 0!==t?t:"undefined"!=typeof window?window:{};return function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="9.1.0",t.win=i,t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=-1!==t.userAgent.indexOf("Chrome"),t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.hasBidiBug=t.isFirefox&&4>parseInt(t.userAgent.split("Firefox/")[1],10),t.hasTouch=!!t.win.TouchEvent,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){var e=!1;if(!t.isMS){var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={}}(e||(e={})),e}),e(i,"Core/Utilities.js",[i["Core/Globals.js"]],function(t){function e(t,i,o,r){var s=i?"Highcharts error":"Highcharts warning";32===t&&(t=s+": Deprecated member");var n=h(t),a=n?s+" #"+t+": www.highcharts.com/errors/"+t+"/":t.toString();if(void 0!==r){var l="";n&&(a+="?"),m(r,function(t,e){l+="\n - "+e+": "+t,n&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=l}v(Highcharts,"displayError",{chart:o,code:t,message:a,params:r},function(){if(i)throw Error(a);C.console&&-1===e.messages.indexOf(a)&&console.warn(a)}),e.messages.push(a)}function i(t,e){return parseInt(t,e||10)}function o(t){return"string"==typeof t}function r(t){return"[object Array]"===(t=Object.prototype.toString.call(t))||"[object Array Iterator]"===t}function s(t,e){return!(!t||"object"!=typeof t||e&&r(t))}function n(t){return s(t)&&"number"==typeof t.nodeType}function a(t){var e=t&&t.constructor;return!(!s(t,!0)||n(t)||!e||!e.name||"Object"===e.name)}function h(t){return"number"==typeof t&&!isNaN(t)&&1/0>t&&-1/0<t}function l(t){return null!=t}function c(t,e,i){var r;return o(e)?l(i)?t.setAttribute(e,i):t&&t.getAttribute&&((r=t.getAttribute(e))||"class"!==e||(r=t.getAttribute(e+"Name"))):m(e,function(e,i){t.setAttribute(i,e)}),r}function d(t,e){var i;for(i in t||(t={}),e)t[i]=e[i];return t}function p(){for(var t=arguments,e=t.length,i=0;i<e;i++){var o=t[i];if(null!=o)return o}}function u(e,i){t.isMS&&!t.svg&&i&&void 0!==i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")"),d(e.style,i)}function f(t,e,i,o,r){return t=w.createElement(t),e&&d(t,e),r&&u(t,{padding:"0",border:"none",margin:"0"}),i&&u(t,i),o&&o.appendChild(t),t}function g(t,e){return parseFloat(t.toPrecision(e||14))}function m(t,e,i){for(var o in t)Object.hasOwnProperty.call(t,o)&&e.call(i||t[o],t[o],o,t)}function y(e,i,o){function r(i,o){var r=e.removeEventListener||t.removeEventListenerPolyfill;r&&r.call(e,i,o,!1)}function s(t){var o;if(e.nodeName){if(i){var s={};s[i]=!0}else s=t;m(s,function(e,i){if(t[i])for(o=t[i].length;o--;)r(i,t[i][o].fn)})}}var n="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(n,"hcEvents")){var a=n.hcEvents;i?(n=a[i]||[],o?(a[i]=n.filter(function(t){return o!==t.fn}),r(i,o)):(s(a),a[i]=[])):(s(a),delete n.hcEvents)}}function v(e,i,o,r){if(o=o||{},w.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){var s=w.createEvent("Events");s.initEvent(i,!0,!0),o=d(s,o),e.dispatchEvent?e.dispatchEvent(o):e.fireEvent(i,o)}else if(e.hcEvents){o.target||d(o,{preventDefault:function(){o.defaultPrevented=!0},target:e,type:i}),s=[];for(var n=e,a=!1;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[i]&&(s.length&&(a=!0),s.unshift.apply(s,n.hcEvents[i])),n=Object.getPrototypeOf(n);a&&s.sort(function(t,e){return t.order-e.order}),s.forEach(function(t){!1===t.fn.call(e,o)&&o.preventDefault()})}r&&!o.defaultPrevented&&r.call(e,o)}var x,b=t.charts,w=t.doc,C=t.win;(e||(e={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};var S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){var i,o=t.length;for(i=0;i<o;i++)if(e(t[i],i))return t[i]};m({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,o){t[o]=function(t){var r;return e(32,!1,void 0,((r={})["Highcharts."+o]="use Array."+i,r)),Array.prototype[i].apply(t,[].slice.call(arguments,1))}});var k,M=function(){var t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(k?"":t)+e++}}();return C.jQuery&&(C.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[o(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):b[c(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,o,r){void 0===r&&(r={});var s="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={}),s=s.hcEvents,t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);var n=e.addEventListener||t.addEventListenerPolyfill;return n&&n.call(e,i,o,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),s[i]||(s[i]=[]),s[i].push({fn:o,order:"number"==typeof r.order?r.order:1/0}),s[i].sort(function(t,e){return t.order-e.order}),function(){y(e,i,o)}},arrayMax:function(t){for(var e=t.length,i=t[0];e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){for(var e=t.length,i=t[0];e--;)t[e]<i&&(i=t[e]);return i},attr:c,clamp:function(t,e,i){return t>e?t<i?t:i:e},cleanRecursively:function t(e,i){var o={};return m(e,function(r,n){s(e[n],!0)&&!e.nodeType&&i[n]?(r=t(e[n],i[n]),Object.keys(r).length&&(o[n]=r)):(s(e[n])||e[n]!==i[n])&&(o[n]=e[n])}),o},clearTimeout:function(t){l(t)&&clearTimeout(t)},correctFloat:g,createElement:f,css:u,defined:l,destroyObjectProperties:function(t,e){m(t,function(i,o){i&&i!==e&&i.destroy&&i.destroy(),delete t[o]})},discardElement:function(t){x||(x=f("div")),t&&x.appendChild(t),x.innerHTML=""},erase:function(t,e){for(var i=t.length;i--;)if(t[i]===e){t.splice(i,1);break}},error:e,extend:d,extendClass:function(t,e){var i=function(){};return d(i.prototype=new t,e),i},find:S,fireEvent:v,getMagnitude:function(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))},getNestedProperty:function(t,e){for(t=t.split(".");t.length&&l(e);){var i=t.shift();if(void 0===i||"__proto__"===i)return;if(!l(e=e[i])||"function"==typeof e||"number"==typeof e.nodeType||e===C)return}return e},getStyle:function o(r,s,n){var a=t.getStyle||o;if("width"===s)return s=Math.min(r.offsetWidth,r.scrollWidth),(n=r.getBoundingClientRect&&r.getBoundingClientRect().width)<s&&n>=s-1&&(s=Math.floor(n)),Math.max(0,s-(a(r,"padding-left",!0)||0)-(a(r,"padding-right",!0)||0));if("height"===s)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(a(r,"padding-top",!0)||0)-(a(r,"padding-bottom",!0)||0));if(C.getComputedStyle||e(27,!0),r=C.getComputedStyle(r,void 0)){var h=r.getPropertyValue(s);p(n,"opacity"!==s)&&(h=i(h))}return h},inArray:function(t,i,o){return e(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(t,o)},isArray:r,isClass:a,isDOMElement:n,isFunction:function(t){return"function"==typeof t},isNumber:h,isObject:s,isString:o,keys:function(t){return e(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){var t,e=arguments,i={},o=function(t,e){return"object"!=typeof t&&(t={}),m(e,function(i,r){"__proto__"!==r&&"constructor"!==r&&(t[r]=!s(i,!0)||a(i)||n(i)?e[r]:o(t[r]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));var r=e.length;for(t=0;t<r;t++)i=o(i,e[t]);return i},normalizeTickInterval:function(t,e,i,o,r){var s=t,n=t/(i=p(i,1));for(e||(e=r?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===o&&(1===i?e=e.filter(function(t){return 0==t%1}):.1>=i&&(e=[1/i]))),o=0;o<e.length&&(s=e[o],!(r&&s*i>=t||!r&&n<=(e[o]+(e[o+1]||e[o]))/2));o++);return g(s*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:m,offset:function(t){var e=w.documentElement;return{top:(t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0}).top+(C.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(C.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:p,pInt:i,relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:y,splat:function(t){return r(t)?t:[t]},stableSort:function(t,e){var i,o,r=t.length;for(o=0;o<r;o++)t[o].safeI=o;for(t.sort(function(t,o){return 0===(i=e(t,o))?t.safeI-o.safeI:i}),o=0;o<r;o++)delete t[o].safeI},syncTimeout:function(t,e,i){return 0<e?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:M,useSerialIds:function(t){return k=p(t,k)},wrap:function(t,e,i){var o=t[e];t[e]=function(){var t=Array.prototype.slice.call(arguments),e=arguments,r=this;return r.proceed=function(){o.apply(r,arguments.length?arguments:e)},t.unshift(o),t=i.apply(this,t),r.proceed=null,t}}}}),e(i,"Core/Color/Color.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.isNumber,o=e.merge,r=e.pInt;return e=function(){function e(i){return this.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(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],this.rgba=[],t.Color!==e?new t.Color(i):this instanceof e?void this.init(i):new e(i)}return e.parse=function(t){return new e(t)},e.prototype.init=function(t){var i,o;if((this.input=t=e.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new e(t[1])});else{if(t&&t.charAt&&"#"===t.charAt()){var r=t.length;t=parseInt(t.substr(1),16),7===r?i=[(16711680&t)>>16,(65280&t)>>8,255&t,1]:4===r&&(i=[(3840&t)>>4|(3840&t)>>8,(240&t)>>4|240&t,(15&t)<<4|15&t,1])}if(!i)for(o=this.parsers.length;o--&&!i;){var s=this.parsers[o];(r=s.regex.exec(t))&&(i=s.parse(r))}}this.rgba=i||[]},e.prototype.get=function(t){var e=this.input,r=this.rgba;if(void 0!==this.stops){var s=o(e);s.stops=[].concat(s.stops),this.stops.forEach(function(e,i){s.stops[i]=[s.stops[i][0],e.get(t)]})}else s=r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?r[3]:"rgba("+r.join(",")+")":e;return s},e.prototype.brighten=function(t){var e,o=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(e=0;3>e;e++)o[e]+=r(255*t),0>o[e]&&(o[e]=0),255<o[e]&&(o[e]=255);return this},e.prototype.setOpacity=function(t){return this.rgba[3]=t,this},e.prototype.tweenTo=function(t,e){var i=this.rgba,o=t.rgba;return o.length&&i&&i.length?((t=1!==o[3]||1!==i[3])?"rgba(":"rgb(")+Math.round(o[0]+(i[0]-o[0])*(1-e))+","+Math.round(o[1]+(i[1]-o[1])*(1-e))+","+Math.round(o[2]+(i[2]-o[2])*(1-e))+(t?","+(o[3]+(i[3]-o[3])*(1-e)):"")+")":t.input||"none"},e.names={white:"#ffffff",black:"#000000"},e}(),t.Color=e,t.color=e.parse,e}),e(i,"Core/Color/Palette.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),backgroundColor:"#ffffff",neutralColor100:"#000000",neutralColor80:"#333333",neutralColor60:"#666666",neutralColor40:"#999999",neutralColor20:"#cccccc",neutralColor10:"#e6e6e6",neutralColor5:"#f2f2f2",neutralColor3:"#f7f7f7",highlightColor100:"#003399",highlightColor80:"#335cad",highlightColor60:"#6685c2",highlightColor20:"#ccd6eb",highlightColor10:"#e6ebf5",positiveColor:"#06b535",negativeColor:"#f21313"}}),e(i,"Core/Time.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.win,o=e.defined,r=e.error,s=e.extend,n=e.isObject,a=e.merge,h=e.objectEach,l=e.pad,c=e.pick,d=e.splat,p=e.timeUnits;return e=function(){function e(t){this.options={},this.variableTimezone=this.useUTC=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}return e.prototype.get=function(t,e){if(this.variableTimezone||this.timezoneOffset){var i=e.getTime(),o=i-this.getTimezoneOffset(e);return e.setTime(o),t=e["getUTC"+t](),e.setTime(i),t}return this.useUTC?e["getUTC"+t]():e["get"+t]()},e.prototype.set=function(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&0==this.getTimezoneOffset(e)%36e5)return e["setUTC"+t](i);var o=this.getTimezoneOffset(e);return o=e.getTime()-o,e.setTime(o),e["setUTC"+t](i),t=this.getTimezoneOffset(e),o=e.getTime()+t,e.setTime(o)}return this.useUTC?e["setUTC"+t](i):e["set"+t](i)},e.prototype.update=function(t){var e=c(t&&t.useUTC,!0);this.options=t=a(!0,this.options||{},t),this.Date=t.Date||i.Date||Date,this.timezoneOffset=(this.useUTC=e)&&t.timezoneOffset,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!(!t.getTimezoneOffset&&!t.timezone)},e.prototype.makeTime=function(e,i,o,r,s,n){if(this.useUTC){var a=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(a),l=this.getTimezoneOffset(a+=h);h!==l?a+=l-h:h-36e5!==this.getTimezoneOffset(a-36e5)||t.isSafari||(a-=36e5)}else a=new this.Date(e,i,c(o,1),c(r,0),c(s,0),c(n,0)).getTime();return a},e.prototype.timezoneOffsetFunction=function(){var t=this,e=this.options,o=e.moment||i.moment;if(!this.useUTC)return function(t){return 6e4*new Date(t.toString()).getTimezoneOffset()};if(e.timezone){if(o)return function(t){return 6e4*-o.tz(t,e.timezone).utcOffset()};r(25)}return this.useUTC&&e.getTimezoneOffset?function(t){return 6e4*e.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(t.timezoneOffset||0)}},e.prototype.dateFormat=function(e,i,r){if(!o(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");var n=this,a=new this.Date(i),d=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),f=this.get("Month",a),g=this.get("FullYear",a),m=t.defaultOptions.lang,y=m&&m.weekdays,v=m&&m.shortWeekdays;return a=s({a:v?v[p]:y[p].substr(0,3),A:y[p],d:l(u),e:l(u,2," "),w:p,b:m.shortMonths[f],B:m.months[f],m:l(f+1),o:f+1,y:g.toString().substr(2,2),Y:g,H:l(d),k:d,I:l(d%12||12),l:d%12||12,M:l(this.get("Minutes",a)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:l(a.getSeconds()),L:l(Math.floor(i%1e3),3)},t.dateFormats),h(a,function(t,o){for(;-1!==e.indexOf("%"+o);)e=e.replace("%"+o,"function"==typeof t?t.call(n,i):t)}),r?e.substr(0,1).toUpperCase()+e.substr(1):e},e.prototype.resolveDTLFormat=function(t){return n(t,!0)?t:{main:(t=d(t))[0],from:t[1],to:t[2]}},e.prototype.getTimeTicks=function(t,e,i,r){var n,a=this,h=[],l={},d=new a.Date(e),u=t.unitRange,f=t.count||1;if(r=c(r,1),o(e)){if(a.set("Milliseconds",d,u>=p.second?0:f*Math.floor(a.get("Milliseconds",d)/f)),u>=p.second&&a.set("Seconds",d,u>=p.minute?0:f*Math.floor(a.get("Seconds",d)/f)),u>=p.minute&&a.set("Minutes",d,u>=p.hour?0:f*Math.floor(a.get("Minutes",d)/f)),u>=p.hour&&a.set("Hours",d,u>=p.day?0:f*Math.floor(a.get("Hours",d)/f)),u>=p.day&&a.set("Date",d,u>=p.month?1:Math.max(1,f*Math.floor(a.get("Date",d)/f))),u>=p.month){a.set("Month",d,u>=p.year?0:f*Math.floor(a.get("Month",d)/f));var g=a.get("FullYear",d)}u>=p.year&&a.set("FullYear",d,g-g%f),u===p.week&&(g=a.get("Day",d),a.set("Date",d,a.get("Date",d)-g+r+(g<r?-7:0))),g=a.get("FullYear",d),r=a.get("Month",d);var m=a.get("Date",d),y=a.get("Hours",d);for(e=d.getTime(),!a.variableTimezone&&a.useUTC||!o(i)||(n=i-e>4*p.month||a.getTimezoneOffset(e)!==a.getTimezoneOffset(i)),e=d.getTime(),d=1;e<i;)h.push(e),e=u===p.year?a.makeTime(g+d*f,0):u===p.month?a.makeTime(g,r+d*f):!n||u!==p.day&&u!==p.week?n&&u===p.hour&&1<f?a.makeTime(g,r,m,y+d*f):e+u*f:a.makeTime(g,r,m+d*f*(u===p.day?1:7)),d++;h.push(e),u<=p.hour&&1e4>h.length&&h.forEach(function(t){0==t%18e5&&"000000000"===a.dateFormat("%H%M%S%L",t)&&(l[t]="day")})}return h.info=s(t,{higherRanks:l,totalRange:u*f}),h},e}(),t.Time=e,t.Time}),e(i,"Core/Options.js",[i["Core/Globals.js"],i["Core/Color/Color.js"],i["Core/Color/Palette.js"],i["Core/Time.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.isTouchDevice,n=t.svg;e=e.parse;var a=r.merge,h={colors:i.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},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}},zoomBySingleTouch:!1,width:null,height:null,borderColor:i.highlightColor80,backgroundColor:i.backgroundColor,plotBorderColor:i.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:i.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:i.neutralColor40,borderRadius:0,navigation:{activeColor:i.highlightColor100,inactiveColor:i.neutralColor20},itemStyle:{color:i.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:i.neutralColor100},itemHiddenStyle:{color:i.neutralColor20},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:i.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n,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:s?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:e(i.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:i.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:i.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};h.chart.styledMode=!1;var l=new o(a(h.global,h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(e){return a(!0,h,e),(e.time||e.global)&&(t.time?t.time.update(a(h.global,h.time,e.global,e.time)):t.time=l),h}}}),e(i,"Core/Animation/Fx.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.parse,r=e.win,s=i.isNumber,n=i.objectEach;return function(){function t(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}return t.prototype.dSetter=function(){var t=this.paths,e=t&&t[0];t=t&&t[1];var i=this.now||0,o=[];if(1!==i&&e&&t)if(e.length===t.length&&1>i)for(var r=0;r<t.length;r++){for(var n=e[r],a=t[r],h=[],l=0;l<a.length;l++){var c=n[l],d=a[l];h[l]=s(c)&&s(d)&&("A"!==a[0]||4!==l&&5!==l)?c+i*(d-c):d}o.push(h)}else o=t;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)},t.prototype.update=function(){var t=this.elem,e=this.prop,i=this.now,o=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,o&&o.call(t,i,this)},t.prototype.run=function(e,i,o){var s=this,n=s.options,a=function(t){return!a.stopped&&s.step(t)},h=r.requestAnimationFrame||function(t){setTimeout(t,13)},l=function(){for(var e=0;e<t.timers.length;e++)t.timers[e]()||t.timers.splice(e--,1);t.timers.length&&h(l)};e!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=i,this.unit=o,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===t.timers.push(a)&&h(l)):(delete n.curAnim[this.prop],n.complete&&0===Object.keys(n.curAnim).length&&n.complete.call(this.elem))},t.prototype.step=function(t){var e=+new Date,i=this.options,o=this.elem,r=i.complete,s=i.duration,a=i.curAnim;if(o.attr&&!o.element)t=!1;else if(t||e>=s+this.startTime){this.now=this.end,this.pos=1,this.update();var h=a[this.prop]=!0;n(a,function(t){!0!==t&&(h=!1)}),h&&r&&r.call(o),t=!1}else this.pos=i.easing((e-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},t.prototype.initPath=function(t,e,i){function o(t,e){for(;t.length<p;){var i=t[0],o=e[p-t.length];o&&"M"===i[0]&&(t[0]="C"===o[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]),t.unshift(i),h&&(i=t.pop(),t.push(t[t.length-1],i))}}function r(t,e){for(;t.length<p;)if("C"===(e=t[Math.floor(t.length/l)-1].slice())[0]&&(e[1]=e[5],e[2]=e[6]),h){var i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}var n=t.startX,a=t.endX;i=i.slice();var h=t.isArea,l=h?2:1;if(!(e=e&&e.slice()))return[i,i];if(n&&a&&a.length){for(t=0;t<n.length;t++){if(n[t]===a[0]){var c=t;break}if(n[0]===a[a.length-n.length+t]){c=t;var d=!0;break}if(n[n.length-1]===a[a.length-n.length+t]){c=n.length-t;break}}void 0===c&&(e=[])}if(e.length&&s(c)){var p=i.length+c*l;d?(o(e,i),r(i,e)):(o(i,e),r(e,i))}return[e,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,o(this.start).tweenTo(o(this.end),this.pos),null,!0)},t.timers=[],t}()}),e(i,"Core/Animation/AnimationUtilities.js",[i["Core/Animation/Fx.js"],i["Core/Utilities.js"]],function(t,e){function i(t){return h(t)?l({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function o(e,i){for(var o=t.timers.length;o--;)t.timers[o].elem!==e||i&&i!==t.timers[o].prop||(t.timers[o].stopped=!0)}var r=e.defined,s=e.getStyle,n=e.isArray,a=e.isNumber,h=e.isObject,l=e.merge,c=e.objectEach,d=e.pick;return{animate:function(e,i,r){var d,p,u,f="";if(!h(r)){var g=arguments;r={duration:g[2],easing:g[3],complete:g[4]}}a(r.duration)||(r.duration=400),r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=l(i),c(i,function(a,h){o(e,h),u=new t(e,r,h),p=void 0,"d"===h&&n(i.d)?(u.paths=u.initPath(e,e.pathArray,i.d),u.toD=i.d,d=0,p=1):e.attr?d=e.attr(h):(d=parseFloat(s(e,h))||0,"opacity"!==h&&(f="px")),p||(p=a),"string"==typeof p&&p.match("px")&&(p=p.replace(/px/g,"")),u.run(d,p,f)})},animObject:i,getDeferredAnimation:function(t,e,o){var s=i(e),n=0,a=0;return(o?[o]:t.series).forEach(function(t){t=i(t.options.animation),n=e&&r(e.defer)?s.defer:Math.max(n,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-a),duration:Math.min(n,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=d(t,e.options.chart.animation,!0)},stop:o}}),e(i,"Core/Renderer/HTML/AST.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.SVG_NS,o=e.attr,r=e.createElement,s=e.discardElement,n=e.error,a=e.isString,h=e.objectEach,l=e.splat,c=!1;try{c=!!(new DOMParser).parseFromString("","text/html")}catch(d){}return function(){function e(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}return e.filterUserAttributes=function(t){return h(t,function(i,o){var r=!0;-1===e.allowedAttributes.indexOf(o)&&(r=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(o)&&(r=a(i)&&e.allowedReferences.some(function(t){return 0===i.indexOf(t)})),r||(n("Highcharts warning: Invalid attribute '"+o+"' in config"),delete t[o])}),t},e.setElementHTML=function(t,i){t.innerHTML="",i&&new e(i).addToDOM(t)},e.prototype.addToDOM=function(r){return function r(s,a){var c;return l(s).forEach(function(s){var l=s.tagName,d=s.textContent?t.doc.createTextNode(s.textContent):void 0;if(l)if("#text"===l)var p=d;else if(-1!==e.allowedTags.indexOf(l)){l=t.doc.createElementNS("svg"===l?i:a.namespaceURI||i,l);var u=s.attributes||{};h(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"textContent"!==e&&(u[e]=t)}),o(l,e.filterUserAttributes(u)),d&&l.appendChild(d),r(s.children||[],l),p=l}else n("Highcharts warning: Invalid tagName '"+l+"' in config");p&&a.appendChild(p),c=p}),c}(this.nodes,r)},e.prototype.parseMarkup=function(t){var e=[];if(c)t=(new DOMParser).parseFromString(t,"text/html");else{var i=r("div");i.innerHTML=t,t={body:i}}var o=function(t,e){var i=t.nodeName.toLowerCase(),r={tagName:i};if("#text"===i){if(/^[\s]*$/.test(i=t.textContent||""))return;r.textContent=i}if(i=t.attributes){var s={};[].forEach.call(i,function(t){s[t.name]=t.value}),r.attributes=s}if(t.childNodes.length){var n=[];[].forEach.call(t.childNodes,function(t){o(t,n)}),n.length&&(r.children=n)}e.push(r)};return[].forEach.call(t.body.childNodes,function(t){return o(t,e)}),i&&s(i),e},e.allowedTags="a b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text thead tbody tspan td th tr u ul #text".split(" "),e.allowedAttributes="aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill height href id in markerHeight markerWidth offset opacity orient padding paddingLeft patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style result rowspan summary target tabindex text-align textAnchor textLength type valign width x x1 x2 y y1 y2 zIndex".split(" "),e.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" "),e}()}),e(i,"Core/FormatUtilities.js",[i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e,i,r){e=+e;var s=o.lang,l=((t=+t||0).toString().split(".")[1]||"").split("e")[0].length,c=t.toString().split("e"),d=e;if(-1===e)e=Math.min(l,20);else if(n(e)){if(e&&c[1]&&0>c[1]){var p=e+ +c[1];0<=p?(c[0]=(+c[0]).toExponential(p).split("e")[0],e=p):(c[0]=c[0].split(".")[0]||0,t=20>e?(c[0]*Math.pow(10,c[1])).toFixed(e):0,c[1]=0)}}else e=2;p=(Math.abs(c[1]?c[0]:t)+Math.pow(10,-Math.max(e,l)-1)).toFixed(e);var u=3<(l=String(h(p))).length?l.length%3:0;return i=a(i,s.decimalPoint),r=a(r,s.thousandsSep),t=(0>t?"-":"")+(u?l.substr(0,u)+r:""),t=0>+c[1]&&!d?"0":t+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(t+=i+p.slice(-e)),c[1]&&0!=+t&&(t+="e"+c[1]),t}var o=t.defaultOptions,r=t.defaultTime,s=e.getNestedProperty,n=e.isNumber,a=e.pick,h=e.pInt;return{dateFormat:function(t,e,i){return r.dateFormat(t,e,i)},format:function(t,e,n){var a="{",h=!1,l=/f$/,c=/\.([0-9])/,d=o.lang,p=n&&n.time||r;n=n&&n.numberFormatter||i;for(var u=[];t;){var f=t.indexOf(a);if(-1===f)break;var g=t.slice(0,f);if(h){if(g=g.split(":"),a=s(g.shift()||"",e),g.length&&"number"==typeof a)if(g=g.join(":"),l.test(g)){var m=parseInt((g.match(c)||["","-1"])[1],10);null!==a&&(a=n(a,m,d.decimalPoint,-1<g.indexOf(",")?d.thousandsSep:""))}else a=p.dateFormat(g,a);u.push(a)}else u.push(g);t=t.slice(f+1),a=(h=!h)?"}":"{"}return u.push(t),u.join("")},numberFormat:i}}),e(i,"Core/Renderer/SVG/SVGElement.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.animate,a=t.animObject,h=t.stop,l=o.deg2rad,c=o.doc,d=o.noop,p=o.svg,u=o.SVG_NS,f=o.win,g=s.addEvent,m=s.attr,y=s.createElement,v=s.css,x=s.defined,b=s.erase,w=s.extend,C=s.fireEvent,S=s.isArray,k=s.isFunction,M=s.isNumber,A=s.isString,T=s.merge,P=s.objectEach,O=s.pick,E=s.pInt,L=s.syncTimeout,D=s.uniqueKey;return(t=function(){function t(){this.element=void 0,this.onEvents={},this.opacity=1,this.renderer=void 0,this.SVG_NS=u,this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}return t.prototype._defaultGetter=function(t){return t=O(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0),/^[\-0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},t.prototype._defaultSetter=function(t,e,i){i.setAttribute(e,t)},t.prototype.add=function(t){var e=this.renderer,i=this.element;if(t&&(this.parentGroup=t),this.parentInverted=t&&t.inverted,void 0!==this.textStr&&"text"===this.element.nodeName&&e.buildText(this),this.added=!0,!t||t.handleZ||this.zIndex)var o=this.zIndexSetter();return o||(t?t.element:e.box).appendChild(i),this.onAdd&&this.onAdd(),this},t.prototype.addClass=function(t,e){var i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this},t.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},t.prototype.align=function(t,e,i){var o,r,s,n={},a=this.renderer,h=a.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||A(i))&&(this.alignTo=o=i||"renderer",b(h,this),h.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,o=this.alignTo),i=O(i,a[o],"scrollablePlotBox"===o?a.plotBox:void 0,a);var l=t.verticalAlign;return a=(i.x||0)+(t.x||0),h=(i.y||0)+(t.y||0),"right"===(o=t.align)?r=1:"center"===o&&(r=2),r&&(a+=(i.width-(t.width||0))/r),n[e?"translateX":"x"]=Math.round(a),"bottom"===l?s=1:"middle"===l&&(s=2),s&&(h+=(i.height-(t.height||0))/s),n[e?"translateY":"y"]=Math.round(h),this[this.placed?"animate":"attr"](n),this.placed=!0,this.alignAttr=n,this},t.prototype.alignSetter=function(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))},t.prototype.animate=function(t,e,i){var o=this,r=a(O(e,this.renderer.globalAnimation,!0));return e=r.defer,O(c.hidden,c.msHidden,c.webkitHidden,!1)&&(r.duration=0),0!==r.duration?(i&&(r.complete=i),L(function(){o.element&&n(o,t,r)},e)):(this.attr(t,void 0,i),P(t,function(t,e){r.step&&r.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this},t.prototype.applyTextOutline=function(t){var e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));var i=t.split(" ");if(t=i[i.length-1],(i=i[0])&&"none"!==i&&o.svg){this.fakeTS=!0,this.ySetter=this.xSetter,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();var r=c.createElementNS(u,"tspan");m(r,{class:"highcharts-text-outline",fill:t,stroke:t,"stroke-width":i,"stroke-linejoin":"round"}),[].forEach.call(e.childNodes,function(t){var e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(t){return e.removeAttribute(t)}),r.appendChild(e)});var s=c.createElementNS(u,"tspan");s.textContent="\u200b",["x","y"].forEach(function(t){var i=e.getAttribute(t);i&&s.setAttribute(t,i)}),r.appendChild(s),e.insertBefore(r,e.firstChild)}},t.prototype.attr=function(t,e,i,o){var r,s,n,a=this.element,l=this.symbolCustomAttribs,c=this;if("string"==typeof t&&void 0!==e){var d=t;(t={})[d]=e}return"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(P(t,function(e,i){s=!1,o||h(this,i),this.symbolName&&-1!==l.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),s=!0),!this.rotation||"x"!==i&&"y"!==i||(this.doTransform=!0),s||((n=this[i+"Setter"]||this._defaultSetter).call(this,e,i,a),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,e,n))},this),this.afterSetters()),i&&i.call(this),c},t.prototype.clip=function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":"none")},t.prototype.crisp=function(t,e){e=e||t.strokeWidth||0;var i=Math.round(e)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),x(t.strokeWidth)&&(t.strokeWidth=e),t},t.prototype.complexColor=function(t,e,o){var r,s,n,a,h,l,c,d,p,u,f,g=this.renderer,m=[];C(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(h=g.gradients,l=t.stops,p=o.radialReference,S(n=t[s])&&(t[s]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&p&&!x(n.gradientUnits)&&(n=T(n,g.getRadialAttr(p,a=n),{gradientUnits:"userSpaceOnUse"})),P(n,function(t,e){"id"!==e&&m.push(e,t)}),P(l,function(t){m.push(t)}),m=m.join(","),h[m])u=h[m].attr("id");else{n.id=u=D();var y=h[m]=g.createElement(s).attr(n).add(g.defs);y.radAttr=a,y.stops=[],l.forEach(function(t){0===t[1].indexOf("rgba")?(r=i.parse(t[1]),c=r.get("rgb"),d=r.get("a")):(c=t[1],d=1),t=g.createElement("stop").attr({offset:t[0],"stop-color":c,"stop-opacity":d}).add(y),y.stops.push(t)})}o.setAttribute(e,f="url("+g.url+"#"+u+")"),o.gradient=m,t.toString=function(){return f}}})},t.prototype.css=function(t){var e=this.styles,i={},o=this.element,r=["textOutline","textOverflow","width"],s="",n=!e;if(t&&t.color&&(t.fill=t.color),e&&P(t,function(t,o){e&&e[o]!==t&&(i[o]=t,n=!0)}),n){if(e&&(t=w(e,i)),t)if(null===t.width||"auto"===t.width)delete this.textWidth;else if("text"===o.nodeName.toLowerCase()&&t.width)var a=this.textWidth=E(t.width);if(this.styles=t,a&&!p&&this.renderer.forExport&&delete t.width,o.namespaceURI===this.SVG_NS){var h=function(t,e){return"-"+e.toLowerCase()};P(t,function(t,e){-1===r.indexOf(e)&&(s+=e.replace(/([A-Z])/g,h)+":"+t+";")}),s&&m(o,"style",s)}else v(o,t);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t&&t.textOutline&&this.applyTextOutline(t.textOutline))}return this},t.prototype.dashstyleSetter=function(t){var e=this["stroke-width"];if("inherit"===e&&(e=1),t=t&&t.toLowerCase()){var i=t.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(t=i.length;t--;)i[t]=""+E(i[t])*O(e,NaN);t=i.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}},t.prototype.destroy=function(){var t=this,e=t.element||{},i=t.renderer,o=e.ownerSVGElement,r=i.isSVG&&"SPAN"===e.nodeName&&t.parentGroup||void 0;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,h(t),t.clipPath&&o){var s=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1<t.getAttribute("clip-path").indexOf(s.element.id)&&t.removeAttribute("clip-path")}),t.clipPath=s.destroy()}if(t.stops){for(o=0;o<t.stops.length;o++)t.stops[o].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e),i.styledMode||t.destroyShadows();r&&r.div&&0===r.div.childNodes.length;)e=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=e;t.alignTo&&b(i.alignedObjects,t),P(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})},t.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(t){this.safeRemoveChild(t)},this),this.shadows=void 0},t.prototype.destroyTextPath=function(t,e){var i=t.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),e.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(t=this.textPathWrapper.element.childNodes;t.length;)i.appendChild(t[0]);i.removeChild(this.textPathWrapper.element)}}else(t.getAttribute("dx")||t.getAttribute("dy"))&&(t.removeAttribute("dx"),t.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},t.prototype.dSetter=function(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(function(t,e,i){return e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString()},"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)},t.prototype.fadeOut=function(t){var e=this;e.animate({opacity:0},{duration:O(t,150),complete:function(){e.attr({y:-9999}).hide()}})},t.prototype.fillSetter=function(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)},t.prototype.getBBox=function(e,i){var o=this.renderer,r=this.element,s=this.styles,n=this.textStr,a=o.cache,h=o.cacheKeys,c=r.namespaceURI===this.SVG_NS;i=O(i,this.rotation,0);var d,p=o.styledMode?r&&t.prototype.getStyle.call(r,"font-size"):s&&s.fontSize;if(x(n)){var u=n.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",i,p,this.textWidth,s&&s.textOverflow,s&&s.fontWeight].join()}if(u&&!e&&(d=a[u]),!d){if(c||o.forExport){try{var f=this.fakeTS&&function(t){var e=r.querySelector(".highcharts-text-outline");e&&v(e,{display:t})};k(f)&&f("none"),d=r.getBBox?w({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight},k(f)&&f("")}catch(g){}(!d||0>d.width)&&(d={width:0,height:0})}else d=this.htmlGetBBox();if(o.isSVG&&(e=d.width,o=d.height,c&&(d.height=o={"11px,17":14,"13px,20":16}[s&&s.fontSize+","+Math.round(o)]||o),i&&(s=i*l,d.width=Math.abs(o*Math.sin(s))+Math.abs(e*Math.cos(s)),d.height=Math.abs(o*Math.cos(s))+Math.abs(e*Math.sin(s)))),u&&0<d.height){for(;250<h.length;)delete a[h.shift()];a[u]||h.push(u),a[u]=d}}return d},t.prototype.getStyle=function(t){return f.getComputedStyle(this.element||this,"").getPropertyValue(t)},t.prototype.hasClass=function(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)},t.prototype.hide=function(t){return this.attr(t?{y:-9999}:{visibility:"hidden"}),this},t.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},t.prototype.init=function(t,e){this.element="span"===e?y(e):c.createElementNS(this.SVG_NS,e),this.renderer=t,C(this,"afterInit")},t.prototype.invert=function(t){return this.inverted=t,this.updateTransform(),this},t.prototype.on=function(t,e){var i=this.onEvents;return i[t]&&i[t](),i[t]=g(this.element,t,e),this},t.prototype.opacitySetter=function(t,e,i){this.opacity=t=Number(Number(t).toFixed(3)),i.setAttribute(e,t)},t.prototype.removeClass=function(t){return this.attr("class",(""+this.attr("class")).replace(A(t)?new RegExp("(^| )"+t+"( |$)"):t," ").replace(/ +/g," ").trim())},t.prototype.removeTextOutline=function(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)},t.prototype.safeRemoveChild=function(t){var e=t.parentNode;e&&e.removeChild(t)},t.prototype.setRadialReference=function(t){var e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this},t.prototype.setTextPath=function(t,i){var o=this.element,r=this.text?this.text.element:o,s={textAnchor:"text-anchor"},n=!1,a=this.textPathWrapper,h=!a;i=T(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},i);var l=e.filterUserAttributes(i.attributes);if(t&&i&&i.enabled){a&&null===a.element.parentNode?(h=!0,a=a.destroy()):a&&this.removeTextOutline.call(a.parentGroup),this.options&&this.options.padding&&(l.dx=-this.options.padding),a||(this.textPathWrapper=a=this.renderer.createElement("textPath"),n=!0);var c=a.element;if((i=t.element.getAttribute("id"))||t.element.setAttribute("id",i=D()),h)for(r.setAttribute("y",0),M(l.dx)&&r.setAttribute("x",-l.dx),t=[].slice.call(r.childNodes),h=0;h<t.length;h++){var p=t[h];p.nodeType!==Node.TEXT_NODE&&"tspan"!==p.nodeName||c.appendChild(p)}n&&a&&a.add({element:r}),c.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+i),x(l.dy)&&(c.parentNode.setAttribute("dy",l.dy),delete l.dy),x(l.dx)&&(c.parentNode.setAttribute("dx",l.dx),delete l.dx),P(l,function(t,e){c.setAttribute(s[e]||e,t)}),o.removeAttribute("transform"),this.removeTextOutline.call(a),this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}),this.applyTextOutline=this.updateTransform=d}else a&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(o,t),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},t.prototype.shadow=function(t,e,i){var o,s=[],n=this.element,a=this.oldShadowOptions,h={color:r.neutralColor100,offsetX:1,offsetY:1,opacity:.15,width:3},l=!1;if(!0===t?o=h:"object"==typeof t&&(o=w(h,t)),o&&(o&&a&&P(o,function(t,e){t!==a[e]&&(l=!0)}),l&&this.destroyShadows(),this.oldShadowOptions=o),o){if(!this.shadows){var c=o.opacity/o.width,d=this.parentInverted?"translate(-1,-1)":"translate("+o.offsetX+", "+o.offsetY+")";for(h=1;h<=o.width;h++){var p=n.cloneNode(!1),u=2*o.width+1-2*h;m(p,{stroke:t.color||r.neutralColor100,"stroke-opacity":c*h,"stroke-width":u,transform:d,fill:"none"}),p.setAttribute("class",(p.getAttribute("class")||"")+" highcharts-shadow"),i&&(m(p,"height",Math.max(m(p,"height")-u,0)),p.cutHeight=u),e?e.element.appendChild(p):n.parentNode&&n.parentNode.insertBefore(p,n),s.push(p)}this.shadows=s}}else this.destroyShadows();return this},t.prototype.show=function(t){return this.attr({visibility:t?"inherit":"visible"})},t.prototype.strokeSetter=function(e,i,o){this[i]=e,this.stroke&&this["stroke-width"]?(t.prototype.fillSetter.call(this,this.stroke,"stroke",o),o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===e&&this.hasStroke?(o.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(o.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},t.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var t=this.getStyle("stroke-width"),e=0;if(t.indexOf("px")===t.length-2)e=E(t);else if(""!==t){var i=c.createElementNS(u,"rect");m(i,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)}return e},t.prototype.symbolAttr=function(t){var e=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){e[i]=O(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})},t.prototype.textSetter=function(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))},t.prototype.titleSetter=function(t){var e=this.element,i=e.getElementsByTagName("title")[0]||c.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=String(O(t,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")},t.prototype.toFront=function(){var t=this.element;return t.parentNode.appendChild(t),this},t.prototype.translate=function(t,e){return this.attr({translateX:t,translateY:e})},t.prototype.updateShadows=function(t,e,i){var o=this.shadows;if(o)for(var r=o.length;r--;)i.call(o[r],"height"===t?Math.max(e-(o[r].cutHeight||0),0):"d"===t?this.d:e,t,o[r])},t.prototype.updateTransform=function(){var t=this.scaleX,e=this.scaleY,i=this.inverted,o=this.rotation,r=this.matrix,s=this.element,n=this.translateX||0,a=this.translateY||0;i&&(n+=this.width,a+=this.height),n=["translate("+n+","+a+")"],x(r)&&n.push("matrix("+r.join(",")+")"),i?n.push("rotate(90) scale(-1,1)"):o&&n.push("rotate("+o+" "+O(this.rotationOriginX,s.getAttribute("x"),0)+" "+O(this.rotationOriginY,s.getAttribute("y")||0)+")"),(x(t)||x(e))&&n.push("scale("+O(t,1)+" "+O(e,1)+")"),n.length&&s.setAttribute("transform",n.join(" "))},t.prototype.visibilitySetter=function(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t},t.prototype.xGetter=function(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)},t.prototype.zIndexSetter=function(t,e){var i=this.renderer,o=this.parentGroup,r=(o||i).element||i.box,s=this.element;i=r===i.box;var n,a=!1,h=this.added;if(x(t)?(s.setAttribute("data-z-index",t),this[e]===(t=+t)&&(h=!1)):x(this[e])&&s.removeAttribute("data-z-index"),this[e]=t,h){for((t=this.zIndex)&&o&&(o.handleZ=!0),n=(e=r.childNodes).length-1;0<=n&&!a;n--){h=(o=e[n]).getAttribute("data-z-index");var l=!x(h);o!==s&&(0>t&&l&&!i&&!n?(r.insertBefore(s,e[n]),a=!0):(E(h)<=t||l&&(!x(t)||0<=t))&&(r.insertBefore(s,e[n+1]||null),a=!0))}a||(r.insertBefore(s,e[i?3:0]||null),a=!0)}return a},t}()).prototype["stroke-widthSetter"]=t.prototype.strokeSetter,t.prototype.yGetter=t.prototype.xGetter,t.prototype.matrixSetter=t.prototype.rotationOriginXSetter=t.prototype.rotationOriginYSetter=t.prototype.rotationSetter=t.prototype.scaleXSetter=t.prototype.scaleYSetter=t.prototype.translateXSetter=t.prototype.translateYSetter=t.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},t}),e(i,"Core/Renderer/SVG/SVGLabel.js",[i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){a(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),s=e.defined,n=e.extend,a=e.isNumber,h=e.merge,l=e.pick,c=e.removeEvent;return function(e){function o(t,r,s,n,a,h,l,c,d,p){var u=e.call(this)||this;if(u.paddingSetter=i,u.paddingLeftSetter=i,u.paddingRightSetter=i,u.init(t,"g"),u.textStr=r,u.x=s,u.y=n,u.anchorX=h,u.anchorY=l,u.baseline=d,u.className=p,"button"!==p&&u.addClass("highcharts-label"),p&&u.addClass("highcharts-"+p),u.text=t.text("",0,0,c).attr({zIndex:1}),"string"==typeof a){var f=/^url\((.*?)\)$/.test(a);(u.renderer.symbols[a]||f)&&(u.symbolKey=a)}return u.bBox=o.emptyBBox,u.padding=3,u.baselineOffset=0,u.needsBox=t.styledMode||f,u.deferredAttr={},u.alignFactor=0,u}return r(o,e),o.prototype.alignSetter=function(t){(t={left:0,center:.5,right:1}[t])!==this.alignFactor&&(this.alignFactor=t,this.bBox&&a(this.xSetting)&&this.attr({x:this.xSetting}))},o.prototype.anchorXSetter=function(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)},o.prototype.anchorYSetter=function(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)},o.prototype.boxAttr=function(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e},o.prototype.css=function(e){if(e){var i,r={};e=h(e),o.textProps.forEach(function(t){void 0!==e[t]&&(r[t]=e[t],delete e[t])}),this.text.css(r),i="width"in r,"fontSize"in r||"fontWeight"in r?this.updateTextPadding():i&&this.updateBoxSize()}return t.prototype.css.call(this,e)},o.prototype.destroy=function(){c(this.element,"mouseenter"),c(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)},o.prototype.fillSetter=function(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)},o.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var t=this.padding,e=l(this.paddingLeft,t);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-t}},o.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},o.prototype.heightSetter=function(t){this.heightSetting=t},o.prototype.on=function(e,i){var o=this,r=o.text,s=r&&"SPAN"===r.element.tagName?r:void 0;if(s){var n=function(t){("mouseenter"===e||"mouseleave"===e)&&t.relatedTarget instanceof Element&&(o.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||s.element.compareDocumentPosition(t.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||i.call(o.element,t)};s.on(e,n)}return t.prototype.on.call(o,e,n||i),o},o.prototype.onAdd=function(){var t=this.textStr;this.text.add(this),this.attr({text:s(t)?t:"",x:this.x,y:this.y}),this.box&&s(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},o.prototype.rSetter=function(t,e){this.boxAttr(e,t)},o.prototype.shadow=function(t){return t&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(t)),this},o.prototype.strokeSetter=function(t,e){this.stroke=t,this.boxAttr(e,t)},o.prototype["stroke-widthSetter"]=function(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)},o.prototype["text-alignSetter"]=function(t){this.textAlign=t},o.prototype.textSetter=function(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()},o.prototype.updateBoxSize=function(){var t=this.text.element.style,e={},i=this.padding,r=this.bBox=a(this.widthSetting)&&a(this.heightSetting)&&!this.textAlign||!s(this.text.textStr)?o.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth(),this.height=(this.heightSetting||r.height||0)+2*i,this.baselineOffset=i+Math.min(this.renderer.fontMetrics(t&&t.fontSize,this.text).b,r.height||1/0),this.needsBox&&(this.box||((t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect()).addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)),t=this.getCrispAdjust(),e.x=t,e.y=(this.baseline?-this.baselineOffset:0)+t,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(n(e,this.deferredAttr)),this.deferredAttr={})},o.prototype.updateTextPadding=function(){var t=this.text;this.updateBoxSize();var e=this.baseline?0:this.baselineOffset,i=l(this.paddingLeft,this.padding);s(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(i+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),i===t.x&&e===t.y||(t.attr("x",i),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=i,t.y=e},o.prototype.widthSetter=function(t){this.widthSetting=a(t)?t:void 0},o.prototype.getPaddedWidth=function(){var t=this.padding,e=l(this.paddingLeft,t);return t=l(this.paddingRight,t),(this.widthSetting||this.bBox.width||0)+e+t},o.prototype.xSetter=function(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)},o.prototype.ySetter=function(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)},o.emptyBBox={width:0,height:0,x:0,y:0},o.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),o}(t)}),e(i,"Core/Renderer/SVG/TextBuilder.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i){var o=t.doc,r=t.SVG_NS,s=e.attr,n=e.isString,a=e.objectEach,h=e.pick;return function(){function t(t){var e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.noWrap=!(!e||"nowrap"!==e.whiteSpace),this.fontSize=e&&e.fontSize}return t.prototype.buildSVG=function(){var t=this.svgElement,e=t.element,r=t.renderer,s=h(t.textStr,"").toString(),a=-1!==s.indexOf("<"),l=e.childNodes,c=l.length;r=this.width&&!t.added&&r.box;var d=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(d!==t.textCache){for(t.textCache=d,delete t.actualWidth;c--;)e.removeChild(l[c]);a||this.ellipsis||this.width||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))?""!==s&&(r&&r.appendChild(e),s=new i(s),this.modifyTree(s.nodes),s.addToDOM(t.element),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(e)):e.appendChild(o.createTextNode(this.unescapeEntities(s))),n(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}},t.prototype.modifyDOM=function(){var t=this,e=this.svgElement,i=s(e.element,"x");[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),function(e){e.nextSibling&&e.previousSibling&&s(e,{dy:t.getLineHeight(e.nextSibling),x:i})});var n=this.width||0;if(n){var a=function(a,h){var l=a.textContent||"",c=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!t.noWrap&&(1<c.length||1<e.element.childNodes.length),p=t.getLineHeight(h),u=0,f=e.actualWidth;if(t.ellipsis)l&&t.truncate(a,l,void 0,0,Math.max(0,n-parseInt(t.fontSize||12,10)),function(t,e){return t.substring(0,e)+"\u2026"});else if(d){for(l=[],d=[];h.firstChild&&h.firstChild!==a;)d.push(h.firstChild),h.removeChild(h.firstChild);for(;c.length;)c.length&&!t.noWrap&&0<u&&(l.push(a.textContent||""),a.textContent=c.join(" ").replace(/- /g,"-")),t.truncate(a,void 0,c,0===u&&f||0,n,function(t,e){return c.slice(0,e).join(" ").replace(/- /g,"-")}),f=e.actualWidth,u++;d.forEach(function(t){h.insertBefore(t,a)}),l.forEach(function(t){h.insertBefore(o.createTextNode(t),a),(t=o.createElementNS(r,"tspan")).textContent="\u200b",s(t,{dy:p,x:i}),h.insertBefore(t,a)})}},h=function(t){[].slice.call(t.childNodes).forEach(function(i){i.nodeType===Node.TEXT_NODE?a(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}},t.prototype.getLineHeight=function(t){var e;return t=t.nodeType===Node.TEXT_NODE?t.parentElement:t,this.renderer.styledMode||(e=t&&/(px|em)$/.test(t.style.fontSize)?t.style.fontSize:this.fontSize||this.renderer.style.fontSize||12),this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e,t||this.svgElement.element).h},t.prototype.modifyTree=function(t){var e=this,i=function(o,r){var s=o.tagName,a=e.renderer.styledMode,h=o.attributes||{};"b"===s||"strong"===s?a?h.class="highcharts-strong":h.style="font-weight:bold;"+(h.style||""):"i"!==s&&"em"!==s||(a?h.class="highcharts-emphasized":h.style="font-style:italic;"+(h.style||"")),n(h.style)&&(h.style=h.style.replace(/(;| |^)color([ :])/,"$1fill$2")),"br"===s&&(h.class="highcharts-br",o.textContent="\u200b",(r=t[r+1])&&r.textContent&&(r.textContent=r.textContent.replace(/^ +/gm,""))),"#text"!==s&&"a"!==s&&(o.tagName="tspan"),o.attributes=h,o.children&&o.children.filter(function(t){return"#text"!==t.tagName}).forEach(i)};for(t.forEach(i);t[0]&&"tspan"===t[0].tagName&&!t[0].children;)t.splice(0,1)},t.prototype.truncate=function(t,e,i,o,r,s){var n,a=this.svgElement,h=a.renderer,l=a.rotation,c=[],d=i?1:0,p=(e||i||"").length,u=p,f=function(r,n){n=n||r;var l=t.parentNode;if(l&&void 0===c[n])if(l.getSubStringLength)try{c[n]=o+l.getSubStringLength(0,i?n+1:n)}catch(d){}else h.getSpanWidth&&(t.textContent=s(e||i,r),c[n]=o+h.getSpanWidth(a,t));return c[n]};a.rotation=0;var g=f(t.textContent.length);if(o+g>r){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=s(i,u)),g=f(u,n&&n.length-1),d===p?d=p+1:g>r?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||s(e||i,u))}i&&i.splice(0,u),a.actualWidth=g,a.rotation=l},t.prototype.unescapeEntities=function(t,e){return a(this.renderer.escapes,function(i,o){e&&-1!==e.indexOf(i)||(t=t.toString().replace(new RegExp(i,"g"),o))}),t},t}()}),e(i,"Core/Renderer/SVG/SVGRenderer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGLabel.js"],i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/TextBuilder.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h,l=a.addEvent,c=a.attr,d=a.createElement,p=a.css,u=a.defined,f=a.destroyObjectProperties,g=a.extend,m=a.isArray,y=a.isNumber,v=a.isObject,x=a.isString,b=a.merge,w=a.pick,C=a.pInt,S=a.uniqueKey,k=e.charts,M=e.deg2rad,A=e.doc,T=e.isFirefox,P=e.isMS,O=e.isWebKit,E=e.noop,L=e.SVG_NS,D=e.symbolSizes,j=e.win;(a=function(){function e(t,e,i,o,r,s,n){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0,this.init(t,e,i,o,r,s,n)}return e.prototype.init=function(t,e,i,o,r,s,n){var a,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"});n||h.css(this.getStyle(o)),t.appendChild(o=h.element),c(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&c(o,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=o,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(A.createTextNode("Created with Highcharts 9.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=s,this.forExport=r,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(e,i,!1),T&&t.getBoundingClientRect&&((e=function(){p(t,{left:0,top:0}),a=t.getBoundingClientRect(),p(t,{left:Math.ceil(a.left)-a.left+"px",top:Math.ceil(a.top)-a.top+"px"})})(),this.unSubPixelFix=l(j,"resize",e))},e.prototype.definition=function(t){return new s([t]).addToDOM(this.defs.element)},e.prototype.getReferenceURL=function(){if((T||O)&&A.getElementsByTagName("base").length){if(!u(h)){var t=S();t=new s([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+t+")",fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(A.body),p(t,{position:"fixed",top:0,left:0,zIndex:9e5});var e=A.elementFromPoint(6,6);h="hitme"===(e&&e.id),A.body.removeChild(t)}if(h)return j.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""},e.prototype.getStyle=function(t){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},t)},e.prototype.setStyle=function(t){this.boxWrapper.css(this.getStyle(t))},e.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},e.prototype.destroy=function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),f(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},e.prototype.createElement=function(t){var e=new this.Element;return e.init(this,t),e},e.prototype.getRadialAttr=function(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}},e.prototype.buildText=function(t){new n(t).buildSVG()},e.prototype.getContrast=function(e){return(e=t.parse(e).rgba)[0]*=1,e[1]*=1.2,e[2]*=.5,459<e[0]+e[1]+e[2]?"#000000":"#FFFFFF"},e.prototype.button=function(t,e,o,r,n,a,h,c,d,p){var u=this.label(t,e,o,d,void 0,void 0,p,void 0,"button"),f=0,m=this.styledMode,y=n?b(n):{};if(t=y&&y.style||{},y=s.filterUserAttributes(y),u.attr(b({padding:8,r:2},y)),!m){var v=(y=b({fill:i.neutralColor3,stroke:i.neutralColor20,"stroke-width":1,style:{color:i.neutralColor80,cursor:"pointer",fontWeight:"normal"}},{style:t},y)).style;delete y.style;var x=(a=b(y,{fill:i.neutralColor10},s.filterUserAttributes(a||{}))).style;delete a.style;var w=(h=b(y,{fill:i.highlightColor10,style:{color:i.neutralColor100,fontWeight:"bold"}},s.filterUserAttributes(h||{}))).style;delete h.style;var C=(c=b(y,{style:{color:i.neutralColor20}},s.filterUserAttributes(c||{}))).style;delete c.style}return l(u.element,P?"mouseover":"mouseenter",function(){3!==f&&u.setState(1)}),l(u.element,P?"mouseout":"mouseleave",function(){3!==f&&u.setState(f)}),u.setState=function(t){1!==t&&(u.state=f=t),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),m||u.attr([y,a,h,c][t||0]).css([v,x,w,C][t||0])},m||u.attr(y).css(g({cursor:"default"},v)),u.on("touchstart",function(t){return t.stopPropagation()}).on("click",function(t){3!==f&&r.call(u,t)})},e.prototype.crispLine=function(t,e,i){void 0===i&&(i="round");var o=t[0],r=t[1];return o[1]===r[1]&&(o[1]=r[1]=Math[i](o[1])-e%2/2),o[2]===r[2]&&(o[2]=r[2]=Math[i](o[2])+e%2/2),t},e.prototype.path=function(t){var e=this.styledMode?{}:{fill:"none"};return m(t)?e.d=t:v(t)&&g(e,t),this.createElement("path").attr(e)},e.prototype.circle=function(t,e,i){return t=v(t)?t:void 0===t?{}:{x:t,y:e,r:i},(e=this.createElement("circle")).xSetter=e.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},e.attr(t)},e.prototype.arc=function(t,e,i,o,r,s){return v(t)?(e=(o=t).y,i=o.r,t=o.x):o={innerR:o,start:r,end:s},(t=this.symbol("arc",t,e,i,i,o)).r=i,t},e.prototype.rect=function(t,e,i,o,r,s){r=v(t)?t.r:r;var n=this.createElement("rect");return t=v(t)?t:void 0===t?{}:{x:t,y:e,width:Math.max(i,0),height:Math.max(o,0)},this.styledMode||(void 0!==s&&(t["stroke-width"]=s,t=n.crisp(t)),t.fill="none"),r&&(t.r=r),n.rSetter=function(t,e,i){n.r=t,c(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(t)},e.prototype.setSize=function(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(i,!0)?void 0:0}),this.alignElements()},e.prototype.g=function(t){var e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e},e.prototype.image=function(t,e,i,o,r,s){var n={preserveAspectRatio:"none"},a=function(t,e){t.setAttributeNS?t.setAttributeNS("http://www.w3.org/1999/xlink","href",e):t.setAttribute("hc-svg-href",e)},h=function(e){a(c.element,t),s.call(c,e)};1<arguments.length&&g(n,{x:e,y:i,width:o,height:r});var c=this.createElement("image").attr(n);return s?(a(c.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),n=new j.Image,l(n,"load",h),n.src=t,n.complete&&h({})):a(c.element,t),c},e.prototype.symbol=function(t,e,i,o,r,s){var n,a=this,h=/^url\((.*?)\)$/,l=h.test(t),c=!l&&(this.symbols[t]?t:"circle"),f=c&&this.symbols[c];if(f){"number"==typeof e&&(n=f.call(this.symbols,Math.round(e||0),Math.round(i||0),o||0,r||0,s));var m=this.path(n);a.styledMode||m.attr("fill","none"),g(m,{symbolName:c,x:e,y:i,width:o,height:r}),s&&g(m,s)}else if(l){var y=t.match(h)[1];(m=this.image(y)).imgwidth=w(D[y]&&D[y].width,s&&s.width),m.imgheight=w(D[y]&&D[y].height,s&&s.height);var v=function(){m.attr({width:m.width,height:m.height})};["width","height"].forEach(function(t){m[t+"Setter"]=function(t,e){var i=this["img"+e];this[e]=t,u(i)&&(s&&"within"===s.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(e,i),this.alignByTranslate||(t=((this[e]||0)-i)/2,this.attr("width"===e?{translateX:t}:{translateY:t})))}}),u(e)&&m.attr({x:e,y:i}),m.isImg=!0,u(m.imgwidth)&&u(m.imgheight)?v():(m.attr({width:0,height:0}),d("img",{onload:function(){var t=k[a.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),A.body.appendChild(this)),D[y]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&v(),this.parentNode&&this.parentNode.removeChild(this),a.imgCount--,a.imgCount||!t||t.hasLoaded||t.onload()},src:y}),this.imgCount++)}return m},e.prototype.clipRect=function(t,e,i,o){var r=S()+"-",s=this.createElement("clipPath").attr({id:r}).add(this.defs);return(t=this.rect(t,e,i,o,0).add(s)).id=r,t.clipPath=s,t.count=0,t},e.prototype.text=function(t,e,i,o){var r={};return!o||!this.allowHTML&&this.forExport?(r.x=Math.round(e||0),i&&(r.y=Math.round(i)),u(t)&&(r.text=t),t=this.createElement("text").attr(r),o||(t.xSetter=function(t,e,i){var o,r=i.getElementsByTagName("tspan"),s=i.getAttribute(e);for(o=0;o<r.length;o++){var n=r[o];n.getAttribute(e)===s&&n.setAttribute(e,t)}i.setAttribute(e,t)}),t):this.html(t,e,i)},e.prototype.fontMetrics=function(t,e){return t=!this.styledMode&&/px/.test(t)||!j.getComputedStyle?t||e&&e.style&&e.style.fontSize||this.style&&this.style.fontSize:e&&o.prototype.getStyle.call(e,"font-size"),{h:e=24>(t=/px/.test(t)?C(t):12)?t+3:Math.round(1.2*t),b:Math.round(.8*e),f:t}},e.prototype.rotCorr=function(t,e,i){var o=t;return e&&i&&(o=Math.max(o*Math.cos(e*M),4)),{x:-t/3*Math.sin(e*M),y:o}},e.prototype.pathToSegments=function(t){for(var e=[],i=[],o={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},r=0;r<t.length;r++)x(i[0])&&y(t[r])&&i.length===o[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[r]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e},e.prototype.label=function(t,e,i,o,s,n,a,h,l){return new r(this,t,e,i,o,s,n,a,h,l)},e.prototype.alignElements=function(){this.alignedObjects.forEach(function(t){return t.align()})},e}()).prototype.Element=o,a.prototype.SVG_NS=L,a.prototype.draw=E,a.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};var I=function(t,e,i,o,r){return[["M",t+(r=r&&r.r||0),e],["L",t+i-r,e],["C",t+i,e,t+i,e,t+i,e+r],["L",t+i,e+o-r],["C",t+i,e+o,t+i,e+o,t+i-r,e+o],["L",t+r,e+o],["C",t,e+o,t,e+o,t,e+o-r],["L",t,e+r],["C",t,e,t,e,t+r,e]]};return a.prototype.symbols={circle:function(t,e,i,o){return this.arc(t+i/2,e+o/2,i/2,o/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},rect:E=function(t,e,i,o,r){return r&&r.r?I(t,e,i,o,r):[["M",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},square:E,triangle:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o],["L",t,e+o],["Z"]]},"triangle-down":function(t,e,i,o){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+o],["Z"]]},diamond:function(t,e,i,o){return[["M",t+i/2,e],["L",t+i,e+o/2],["L",t+i/2,e+o],["L",t,e+o/2],["Z"]]},arc:function(t,e,i,o,r){var s=[];if(r){var n=r.start||0,a=w(r.r,i);i=w(r.r,o||i);var h=(r.end||0)-.001;o=r.innerR;var l=w(r.open,.001>Math.abs((r.end||0)-n-2*Math.PI)),c=Math.cos(n),d=Math.sin(n),p=Math.cos(h),f=Math.sin(h);n=w(r.longArc,.001>h-n-Math.PI?0:1),s.push(["M",t+a*c,e+i*d],["A",a,i,0,n,w(r.clockwise,1),t+a*p,e+i*f]),u(o)&&s.push(l?["M",t+o*p,e+o*f]:["L",t+o*p,e+o*f],["A",o,o,0,n,u(r.clockwise)?1-r.clockwise:0,t+o*c,e+o*d]),l||s.push(["Z"])}return s},callout:function(t,e,i,o,r){var s=Math.min(r&&r.r||0,i,o),n=s+6,a=r&&r.anchorX;r=r&&r.anchorY||0;var h=I(t,e,i,o,{r:s});return y(a)?(t+a>=i?r>e+n&&r<e+o-n?h.splice(3,1,["L",t+i,r-6],["L",t+i+6,r],["L",t+i,r+6],["L",t+i,e+o-s]):h.splice(3,1,["L",t+i,o/2],["L",a,r],["L",t+i,o/2],["L",t+i,e+o-s]):0>=t+a?r>e+n&&r<e+o-n?h.splice(7,1,["L",t,r+6],["L",t-6,r],["L",t,r-6],["L",t,e+s]):h.splice(7,1,["L",t,o/2],["L",a,r],["L",t,o/2],["L",t,e+s]):r&&r>o&&a>t+n&&a<t+i-n?h.splice(5,1,["L",a+6,e+o],["L",a,e+o+6],["L",a-6,e+o],["L",t+s,e+o]):r&&0>r&&a>t+n&&a<t+i-n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-s,e]),h):h}},e.SVGRenderer=a,e.Renderer=e.SVGRenderer,e.Renderer}),e(i,"Core/Renderer/HTML/HTMLElement.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.isFirefox,r=t.isMS,s=t.isWebKit,n=t.win,a=i.css,h=i.defined,l=i.extend,c=i.pick,d=i.pInt;return l(e.prototype,{htmlCss:function(t){var e="SPAN"===this.element.tagName&&t&&"width"in t,i=c(e&&t.width,void 0);if(e){delete t.width,this.textWidth=i;var o=!0}return t&&"ellipsis"===t.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),this.styles=l(this.styles,t),a(this.element,t),o&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var t=this.element;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var t=this.renderer,e=this.element,i=this.translateX||0,o=this.translateY||0,r=this.x||0,s=this.y||0,n=this.textAlign||"left",l={left:0,center:.5,right:1}[n],c=this.styles;if(c=c&&c.whiteSpace,a(e,{marginLeft:i,marginTop:o}),!t.styledMode&&this.shadows&&this.shadows.forEach(function(t){a(t,{marginLeft:i+1,marginTop:o+1})}),this.inverted&&[].forEach.call(e.childNodes,function(i){t.invertChild(i,e)}),"SPAN"===e.tagName){var p=this.rotation,u=void 0;u=this.textWidth&&d(this.textWidth);var f,g=[p,n,e.innerHTML,this.textWidth,this.textAlign].join();(f=u!==this.oldTextWidth)&&!(f=u>this.oldTextWidth)&&((f=this.textPxLength)||(a(e,{width:"",whiteSpace:c||"nowrap"}),f=e.offsetWidth),f=f>u),f&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)?(a(e,{width:u+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=u,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,g!==this.cTT&&(u=t.fontMetrics(e.style.fontSize,e).b,!h(p)||p===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(p,l,u),this.getSpanCorrection(!h(p)&&this.textPxLength||e.offsetWidth,u,l,p,n)),a(e,{left:r+(this.xCorr||0)+"px",top:s+(this.yCorr||0)+"px"}),this.cTT=g,this.oldRotation=p,this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(t,e,i){var h={},l=r&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":s?"-webkit-transform":o?"MozTransform":n.opera?"-o-transform":void 0;l&&(h[l]=h.transform="rotate("+t+"deg)",h[l+(o?"Origin":"-origin")]=h.transformOrigin=100*e+"% "+i+"px",a(this.element,h))},getSpanCorrection:function(t,e,i){this.xCorr=-t*i,this.yCorr=-e}}),e}),e(i,"Core/Renderer/HTML/HTMLRenderer.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.attr,s=o.createElement,n=o.extend,a=o.pick;return n(i.prototype,{html:function(i,o,h){var l=this.createElement("span"),c=l.element,d=l.renderer,p=d.isSVG,u=function(t,i){["opacity","visibility"].forEach(function(o){t[o+"Setter"]=function(r,s,n){var a=t.div?t.div.style:i;e.prototype[o+"Setter"].call(this,r,s,n),a&&(a[s]=r)}}),t.addedSetters=!0};return l.textSetter=function(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,a(e,"")),this.textStr=e,l.doTransform=!0)},p&&u(l,l.element.style),l.xSetter=l.ySetter=l.alignSetter=l.rotationSetter=function(t,e){"align"===e?l.alignValue=l.textAlign=t:l[e]=t,l.doTransform=!0},l.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},l.attr({text:i,x:Math.round(o),y:Math.round(h)}).css({position:"absolute"}),d.styledMode||l.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",l.css=l.htmlCss,p&&(l.add=function(t){var e=d.box.parentNode,i=[];if(this.parentGroup=t){var o=t.div;if(!o){for(;t;)i.push(t),t=t.parentGroup;i.reverse().forEach(function(t){function a(e,i){t[i]=e,"translateX"===i?d.left=e+"px":d.top=e+"px",t.doTransform=!0}var h=r(t.element,"class"),c=t.styles||{},d=(o=t.div=t.div||s("div",h?{className:h}:void 0,{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px",display:t.display,opacity:t.opacity,cursor:c.cursor,pointerEvents:c.pointerEvents},o||e)).style;n(t,{classSetter:function(t){return function(e){this.element.setAttribute("class",e),t.className=e}}(o),on:function(){return i[0].div&&l.on.apply({element:i[0].div,onEvents:l.onEvents},arguments),t},translateXSetter:a,translateYSetter:a}),t.addedSetters||u(t)})}}else o=e;return o.appendChild(c),l.added=!0,l.alignOnAdd&&l.htmlUpdateTransform(),l}),l}}),i}),e(i,"Core/Axis/Tick.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i){var o=e.deg2rad,r=i.clamp,s=i.correctFloat,n=i.defined,a=i.destroyObjectProperties,h=i.extend,l=i.fireEvent,c=i.isNumber,d=i.merge,p=i.objectEach,u=i.pick;return i=function(){function e(t,e,i,o,r){this.isNewLabel=this.isNew=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||o||this.addLabel()}return e.prototype.addLabel=function(){var e,i,o=this,r=o.axis,a=r.options,d=r.chart,p=r.categories,f=r.logarithmic,g=r.names,m=o.pos,y=u(o.options&&o.options.labels,a.labels),v=r.tickPositions,x=m===v[0],b=m===v[v.length-1],w=o.label,C=(!y.step||1===y.step)&&1===r.tickInterval;if(v=v.info,p=this.parameters.category||(p?u(p[m],g[m],m):m),f&&c(p)&&(p=s(f.lin2log(p))),r.dateTime&&v)var S=d.time.resolveDTLFormat(a.dateTimeLabelFormats[!a.grid&&v.higherRanks[m]||v.unitName]),k=S.main;o.isFirst=x,o.isLast=b;var M={axis:r,chart:d,dateTimeLabelFormat:k,isFirst:x,isLast:b,pos:m,tick:o,tickPositionInfo:v,value:p};l(this,"labelFormat",M);var A=function(e){return y.formatter?y.formatter.call(e,e):y.format?(e.text=r.defaultLabelFormatter.call(e),t.format(y.format,e,d)):r.defaultLabelFormatter.call(e,e)};a=A.call(M,M),(i=S&&S.list)&&(o.shortenLabel=function(){for(e=0;e<i.length;e++)if(h(M,{dateTimeLabelFormat:i[e]}),w.attr({text:A.call(M,M)}),w.getBBox().width<r.getSlotWidth(o)-2*y.padding)return;w.attr({text:""})}),C&&r._addedPlotLB&&o.moveLabel(a,y),n(w)||o.movedLabel?w&&w.textStr!==a&&!C&&(!w.textWidth||y.style.width||w.styles.width||w.css({width:null}),w.attr({text:a}),w.textPxLength=w.getBBox().width):(o.label=w=o.createLabel({x:0,y:0},a,y),o.rotation=0)},e.prototype.createLabel=function(t,e,i){var o=this.axis,r=o.chart;return(t=n(e)&&i.enabled?r.renderer.text(e,t.x,t.y,i.useHTML).add(o.labelGroup):null)&&(r.styledMode||t.css(d(i.style)),t.textPxLength=t.getBBox().width),t},e.prototype.destroy=function(){a(this,this.axis)},e.prototype.getPosition=function(t,e,i,o){var n=this.axis,a=n.chart,h=o&&a.oldChartHeight||a.chartHeight;return(t={x:t?s(n.translate(e+i,null,null,o)+n.transB):n.left+n.offset+(n.opposite?(o&&a.oldChartWidth||a.chartWidth)-n.right-n.left:0),y:t?h-n.bottom+n.offset-(n.opposite?n.height:0):s(h-n.translate(e+i,null,null,o)-n.transB)}).y=r(t.y,-1e5,1e5),l(this,"afterGetPosition",{pos:t}),t},e.prototype.getLabelPosition=function(t,e,i,r,s,a,h,c){var d=this.axis,p=d.transA,u=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,f=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},m=s.y,y=r||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),v={};return n(m)||(m=0===d.side?i.rotation?-8:-i.getBBox().height:2===d.side?g.y+8:Math.cos(i.rotation*o)*(g.y-i.getBBox(!1,0).height/2)),e=e+m-(a&&!r?a*p*(u?1:-1):0),f&&(i=h/(c||1)%f,d.opposite&&(i=f-i-1),e+=d.labelOffset/f*i),v.x=t=t+s.x+y+g.x-(a&&r?a*p*(u?-1:1):0),v.y=Math.round(e),l(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:a,index:h}),v},e.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},e.prototype.getMarkPath=function(t,e,i,o,r,s){return s.crispLine([["M",t,e],["L",t+(r?0:-i),e+(r?i:0)]],o)},e.prototype.handleOverflow=function(t){var e=this.axis,i=e.options.labels,r=t.x,s=e.chart.chartWidth,n=e.chart.spacing,a=u(e.labelLeft,Math.min(e.pos,n[3]));n=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,s-n[1]));var h,l=this.label,c=this.rotation,d={left:0,center:.5,right:1}[e.labelAlign||l.attr("align")],p=l.getBBox().width,f=e.getSlotWidth(this),g=f,m=1,y={};c||"justify"!==i.overflow?0>c&&r-d*p<a?h=Math.round(r/Math.cos(c*o)-a):0<c&&r+d*p>n&&(h=Math.round((s-r)/Math.cos(c*o))):(s=r+(1-d)*p,r-d*p<a?g=t.x+g*(1-d)-a:s>n&&(g=n-t.x+g*d,m=-1),(g=Math.min(f,g))<f&&"center"===e.labelAlign&&(t.x+=m*(f-g-d*(f-Math.min(p,g)))),(p>g||e.autoRotation&&(l.styles||{}).width)&&(h=g)),h&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(h)+"px",(i.style||{}).textOverflow||(y.textOverflow="ellipsis"),l.css(y)))},e.prototype.moveLabel=function(t,e){var i=this,o=i.label,r=!1,s=i.axis,n=s.reversed;if(o&&o.textStr===t?(i.movedLabel=o,r=!0,delete i.label):p(s.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||o)){var a=i.labelPos||o.xy;i.movedLabel=i.createLabel({x:o=s.horiz?n?0:s.width+s.left:a.x,y:s=s.horiz?a.y:n?s.width+s.left:0},t,e),i.movedLabel&&i.movedLabel.attr({opacity:0})}},e.prototype.render=function(t,e,i){var o=this.axis,r=o.horiz,s=this.pos,n=u(this.tickmarkOffset,o.tickmarkOffset);n=(s=this.getPosition(r,s,n,e)).x,o=r&&n===o.pos+o.len||!r&&s.y===o.pos?-1:1,r=u(i,this.label&&this.label.newOpacity,1),i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,o),this.renderMark(s,i,o),this.renderLabel(s,e,r,t),this.isNew=!1,l(this,"afterRender")},e.prototype.renderGridLine=function(t,e,i){var o=this.axis,r=o.options,s=this.gridLine,n={},a=this.pos,h=this.type,l=u(this.tickmarkOffset,o.tickmarkOffset),c=o.chart.renderer,d=r.gridLineWidth,p=r.gridLineColor,f=r.gridLineDashStyle;"minor"===this.type&&(d=r.minorGridLineWidth,p=r.minorGridLineColor,f=r.minorGridLineDashStyle),s||(o.chart.styledMode||(n.stroke=p,n["stroke-width"]=d||0,n.dashstyle=f),h||(n.zIndex=1),t&&(e=0),this.gridLine=s=c.path().attr(n).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(o.gridGroup)),s&&(i=o.getPlotLinePath({value:a+l,lineWidth:s.strokeWidth()*i,force:"pass",old:t}))&&s[t||this.isNew?"attr":"animate"]({d:i,opacity:e})},e.prototype.renderMark=function(t,e,i){var o=this.axis,r=o.options,s=o.chart.renderer,n=this.type,a=o.tickSize(n?n+"Tick":"tick"),h=this.mark,l=!h,c=t.x;t=t.y;var d=u(r["minor"!==n?"tickWidth":"minorTickWidth"],!n&&o.isXAxis?1:0);r=r["minor"!==n?"tickColor":"minorTickColor"],a&&(o.opposite&&(a[0]=-a[0]),l&&(this.mark=h=s.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(o.axisGroup),o.chart.styledMode||h.attr({stroke:r,"stroke-width":d})),h[l?"attr":"animate"]({d:this.getMarkPath(c,t,a[0],h.strokeWidth()*i,o.horiz,s),opacity:e}))},e.prototype.renderLabel=function(t,e,i,o){var r=this.axis,s=r.horiz,n=r.options,a=this.label,h=n.labels,l=h.step;r=u(this.tickmarkOffset,r.tickmarkOffset);var d=!0,p=t.x;t=t.y,a&&c(p)&&(a.xy=t=this.getLabelPosition(p,t,a,s,h,r,o,l),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?d=!1:!s||h.step||h.rotation||e||0===i||this.handleOverflow(t),l&&o%l&&(d=!1),d&&c(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t),this.isNewLabel=!1):(a.attr("y",-9999),this.isNewLabel=!0))},e.prototype.replaceMovedLabel=function(){var t=this.label,e=this.axis,i=e.reversed;t&&!this.isNew&&(t.animate({x:e.horiz?i?e.left:e.width+e.left:t.xy.x,y:i=e.horiz?t.xy.y:i?e.width+e.top:e.top,opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel},e}(),e.Tick=i,e.Tick}),e(i,"Core/Axis/Axis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Options.js"],i["Core/Axis/Tick.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.animObject,h=r.defaultOptions,l=n.addEvent,c=n.arrayMax,d=n.arrayMin,p=n.clamp,u=n.correctFloat,f=n.defined,g=n.destroyObjectProperties,m=n.erase,y=n.error,v=n.extend,x=n.fireEvent,b=n.getMagnitude,w=n.isArray,C=n.isFunction,S=n.isNumber,k=n.isString,M=n.merge,A=n.normalizeTickInterval,T=n.objectEach,P=n.pick,O=n.relativeLength,E=n.removeEvent,L=n.splat,D=n.syncTimeout,j=i.deg2rad;return t=function(){function t(t,e){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0,this.init(t,e)}return t.prototype.init=function(t,e){var i=e.isX,o=this;o.chart=t,o.horiz=t.inverted&&!o.isZAxis?!i:i,o.isXAxis=i,o.coll=o.coll||(i?"xAxis":"yAxis"),x(this,"init",{userOptions:e}),o.opposite=P(e.opposite,o.opposite),o.side=P(e.side,o.side,o.horiz?o.opposite?0:2:o.opposite?1:3),o.setOptions(e);var r=this.options,s=r.labels,n=r.type;o.userOptions=e,o.minPixelPadding=0,o.reversed=P(r.reversed,o.reversed),o.visible=r.visible,o.zoomEnabled=r.zoomEnabled,o.hasNames="category"===n||!0===r.categories,o.categories=r.categories||o.hasNames,o.names||(o.names=[],o.names.keys={}),o.plotLinesAndBandsGroups={},o.positiveValuesOnly=!!o.logarithmic,o.isLinked=f(r.linkedTo),o.ticks={},o.labelEdge=[],o.minorTicks={},o.plotLinesAndBands=[],o.alternateBands={},o.len=0,o.minRange=o.userMinRange=r.minRange||r.maxZoom,o.range=r.range,o.offset=r.offset||0,o.max=null,o.min=null,e=P(r.crosshair,L(t.options.tooltip.crosshairs)[i?0:1]),o.crosshair=!0===e?{}:e,e=o.options.events,-1===t.axes.indexOf(o)&&(i?t.axes.splice(t.xAxis.length,0,o):t.axes.push(o),t[o.coll].push(o)),o.series=o.series||[],t.inverted&&!o.isZAxis&&i&&void 0===o.reversed&&(o.reversed=!0),o.labelRotation=S(s.rotation)?s.rotation:void 0,T(e,function(t,e){C(t)&&l(o,e,t)}),x(this,"afterInit")},t.prototype.setOptions=function(e){this.options=M(t.defaultOptions,"yAxis"===this.coll&&t.defaultYAxisOptions,[t.defaultTopAxisOptions,t.defaultRightAxisOptions,t.defaultBottomAxisOptions,t.defaultLeftAxisOptions][this.side],M(h[this.coll],e)),x(this,"afterSetOptions",{userOptions:e})},t.prototype.defaultLabelFormatter=function(){var t=this.axis,e=S(this.value)?this.value:NaN,i=t.chart.time,o=this.dateTimeLabelFormat,r=h.lang,s=r.numericSymbols;r=r.numericSymbolMagnitude||1e3;var n=s&&s.length,a=t.logarithmic?Math.abs(e):t.tickInterval,l=this.chart.numberFormatter;if(t.categories)var c=""+this.value;else if(o)c=i.dateFormat(o,e);else if(n&&1e3<=a)for(;n--&&void 0===c;)a>=(t=Math.pow(r,n+1))&&0==10*e%t&&null!==s[n]&&0!==e&&(c=l(e/t,-1)+s[n]);return void 0===c&&(c=1e4<=Math.abs(e)?l(e,-1):l(e,-1,void 0,"")),c},t.prototype.getSeriesExtremes=function(){var t,e=this,i=e.chart;x(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=null,e.softThreshold=!e.isXAxis,e.stacking&&e.stacking.buildStacks(),e.series.forEach(function(o){if(o.visible||!i.options.chart.ignoreHiddenSeries){var r=o.options,s=r.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=s&&(s=null),e.isXAxis){if((r=o.xData).length){r=e.logarithmic?r.filter(e.validatePositiveValue):r;var n=(t=o.getXExtremes(r)).min,a=t.max;S(n)||n instanceof Date||(r=r.filter(S),n=(t=o.getXExtremes(r)).min,a=t.max),r.length&&(e.dataMin=Math.min(P(e.dataMin,n),n),e.dataMax=Math.max(P(e.dataMax,a),a))}}else o=o.applyExtremes(),S(o.dataMin)&&(n=o.dataMin,e.dataMin=Math.min(P(e.dataMin,n),n)),S(o.dataMax)&&(a=o.dataMax,e.dataMax=Math.max(P(e.dataMax,a),a)),f(s)&&(e.threshold=s),(!r.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}})}),x(this,"afterGetSeriesExtremes")},t.prototype.translate=function(t,e,i,o,r,s){var n=this.linkedParent||this,a=1,h=0,l=o&&n.old?n.old.transA:n.transA;o=o&&n.old?n.old.min:n.min;var c=n.minPixelPadding;return r=(n.isOrdinal||n.brokenAxis&&n.brokenAxis.hasBreaks||n.logarithmic&&r)&&n.lin2val,l||(l=n.transA),i&&(a*=-1,h=n.len),n.reversed&&(h-=(a*=-1)*(n.sector||n.len)),e?(t=(t*a+h-c)/l+o,r&&(t=n.lin2val(t))):(r&&(t=n.val2lin(t)),t=S(o)?a*(t-o)*l+h+a*c+(S(s)?l*s:0):void 0),t},t.prototype.toPixels=function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},t.prototype.toValue=function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},t.prototype.getPlotLinePath=function(t){function e(t,e,i){return("pass"!==m&&t<e||t>i)&&(m?t=p(t,e,i):n=!0),t}var i,o,r,s,n,a=this,h=a.chart,l=a.left,c=a.top,d=t.old,u=t.value,f=t.translatedValue,g=t.lineWidth,m=t.force,y=d&&h.oldChartHeight||h.chartHeight,v=d&&h.oldChartWidth||h.chartWidth,b=a.transB;return x(this,"getPlotLinePath",t={value:u,lineWidth:g,old:d,force:m,acrossPanes:t.acrossPanes,translatedValue:f},function(t){f=P(f,a.translate(u,null,null,d)),f=p(f,-1e5,1e5),i=r=Math.round(f+b),o=s=Math.round(y-f-b),S(f)?a.horiz?(o=c,s=y-a.bottom,i=r=e(i,l,l+a.width)):(i=l,r=v-a.right,o=s=e(o,c,c+a.height)):(n=!0,m=!1),t.path=n&&!m?null:h.renderer.crispLine([["M",i,o],["L",r,s]],g||1)}),t.path},t.prototype.getLinearTickPositions=function(t,e,i){var o=u(Math.floor(e/t)*t);i=u(Math.ceil(i/t)*t);var r,s=[];if(u(o+t)===o&&(r=20),this.single)return[e];for(e=o;e<=i&&(s.push(e),(e=u(e+t,r))!==n);)var n=e;return s},t.prototype.getMinorTickInterval=function(){var t=this.options;return!0===t.minorTicks?P(t.minorTickInterval,"auto"):!1===t.minorTicks?null:t.minorTickInterval},t.prototype.getMinorTickPositions=function(){var t=this.options,e=this.tickPositions,i=this.minorTickInterval,o=[],r=this.pointRangePadding||0,s=this.min-r,n=(r=this.max+r)-s;if(n&&n/i<this.len/3){var a=this.logarithmic;if(a)this.paddedTicks.forEach(function(t,e,r){e&&o.push.apply(o,a.getLogTickPositions(i,r[e-1],r[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())o=o.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),s,r,t.startOfWeek));else for(t=s+(e[0]-s)%i;t<=r&&t!==o[0];t+=i)o.push(t)}return 0!==o.length&&this.trimTicks(o),o},t.prototype.adjustForMinRange=function(){var t,e,i,o,r=this.options,s=this.min,n=this.max,a=this.logarithmic,h=0;if(this.isXAxis&&void 0===this.minRange&&!a&&(f(r.min)||f(r.max)?this.minRange=null:(this.series.forEach(function(r){if(i=r.xData,o=r.xIncrement?1:i.length-1,1<i.length)for(t=o;0<t;t--)e=i[t]-i[t-1],(!h||e<h)&&(h=e)}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin))),n-s<this.minRange){var l=this.dataMax-this.dataMin>=this.minRange,p=this.minRange,u=(p-n+s)/2;u=[s-u,P(r.min,s-u)],l&&(u[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin),n=[(s=c(u))+p,P(r.max,s+p)],l&&(n[2]=a?a.log2lin(this.dataMax):this.dataMax),(n=d(n))-s<p&&(u[0]=n-p,u[1]=P(r.min,n-p),s=c(u))}this.min=s,this.max=n},t.prototype.getClosest=function(){var t;return this.categories?t=1:this.series.forEach(function(e){var i=e.closestPointRange,o=e.visible||!e.chart.options.chart.ignoreHiddenSeries;!e.noSharedTooltip&&f(i)&&o&&(t=f(t)?Math.min(t,i):i)}),t},t.prototype.nameToX=function(t){var e=w(this.categories),i=e?this.categories:this.names,o=t.options.x;if(t.series.requireSorting=!1,f(o)||(o=this.options.uniqueNames?e?i.indexOf(t.name):P(i.keys[t.name],-1):t.series.autoIncrement()),-1===o){if(!e)var r=i.length}else r=o;return void 0!==r&&(this.names[r]=t.name,this.names.keys[t.name]=r),r},t.prototype.updateNames=function(){var t=this,e=this.names;0<e.length&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null,e.points&&!e.isDirtyData||(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,o){if(i&&i.options&&void 0!==i.name){var r=t.nameToX(i);void 0!==r&&r!==i.x&&(i.x=r,e.xData[o]=r)}})}))},t.prototype.setAxisTranslation=function(){var t,e=this,i=e.max-e.min,o=e.axisPointRange||0,r=0,s=0,n=e.linkedParent,a=!!e.categories,h=e.isXAxis;if(h||a||o){var l=e.getClosest();n?(r=n.minPointOffset,s=n.pointRangePadding):e.series.forEach(function(t){var i=a?1:h?P(t.options.pointRange,l,0):e.axisPointRange||0,n=t.options.pointPlacement;o=Math.max(o,i),e.single&&!a||(t=t.is("xrange")?!h:h,r=Math.max(r,t&&k(n)?0:i/2),s=Math.max(s,t&&"on"===n?0:i))}),e.minPointOffset=r*=n=e.ordinal&&e.ordinal.slope&&l?e.ordinal.slope/l:1,e.pointRangePadding=s*=n,e.pointRange=Math.min(o,e.single&&a?1:i),h&&(e.closestPointRange=l)}e.translationSlope=e.transA=t=e.staticScale||e.len/(i+s||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=t*r,x(this,"afterSetAxisTranslation")},t.prototype.minFromRange=function(){return this.max-this.range},t.prototype.setTickInterval=function(t){var e=this,i=e.chart,o=e.logarithmic,r=e.options,s=e.isXAxis,n=e.isLinked,a=r.maxPadding,h=r.minPadding,l=r.tickInterval,c=r.tickPixelInterval,d=e.categories,p=S(e.threshold)?e.threshold:null,g=e.softThreshold;e.dateTime||d||n||this.getTickAmount();var m=P(e.userMin,r.min),v=P(e.userMax,r.max);if(n){e.linkedParent=i[e.coll][r.linkedTo];var w=e.linkedParent.getExtremes();e.min=P(w.min,w.dataMin),e.max=P(w.max,w.dataMax),r.type!==e.linkedParent.options.type&&y(11,1,i)}else{if(g&&f(p))if(e.dataMin>=p)w=p,h=0;else if(e.dataMax<=p){var C=p;a=0}e.min=P(m,w,e.dataMin),e.max=P(v,C,e.dataMax)}o&&(e.positiveValuesOnly&&!t&&0>=Math.min(e.min,P(e.dataMin,e.min))&&y(10,1,i),e.min=u(o.log2lin(e.min),16),e.max=u(o.log2lin(e.max),16)),e.range&&f(e.max)&&(e.userMin=e.min=m=Math.max(e.dataMin,e.minFromRange()),e.userMax=v=e.max,e.range=null),x(e,"foundExtremes"),e.beforePadding&&e.beforePadding(),e.adjustForMinRange(),!(d||e.axisPointRange||e.stacking&&e.stacking.usePercentage||n)&&f(e.min)&&f(e.max)&&(i=e.max-e.min)&&(!f(m)&&h&&(e.min-=i*h),!f(v)&&a&&(e.max+=i*a)),S(e.userMin)||(S(r.softMin)&&r.softMin<e.min&&(e.min=m=r.softMin),S(r.floor)&&(e.min=Math.max(e.min,r.floor))),S(e.userMax)||(S(r.softMax)&&r.softMax>e.max&&(e.max=v=r.softMax),S(r.ceiling)&&(e.max=Math.min(e.max,r.ceiling))),g&&f(e.dataMin)&&(p=p||0,!f(m)&&e.min<p&&e.dataMin>=p?e.min=e.options.minRange?Math.min(p,e.max-e.minRange):p:!f(v)&&e.max>p&&e.dataMax<=p&&(e.max=e.options.minRange?Math.max(p,e.min+e.minRange):p)),S(e.min)&&S(e.max)&&!this.chart.polar&&e.min>e.max&&(f(e.options.min)?e.max=e.min:f(e.options.max)&&(e.min=e.max)),e.tickInterval=e.min===e.max||void 0===e.min||void 0===e.max?1:n&&e.linkedParent&&!l&&c===e.linkedParent.options.tickPixelInterval?l=e.linkedParent.tickInterval:P(l,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):void 0,d?1:(e.max-e.min)*c/Math.max(e.len,c)),s&&!t&&e.series.forEach(function(t){t.processData(e.min!==(e.old&&e.old.min)||e.max!==(e.old&&e.old.max))}),e.setAxisTranslation(),x(this,"initialAxisTranslation"),e.pointRange&&!l&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval)),t=P(r.minTickInterval,e.dateTime&&!e.series.some(function(t){return t.noSharedTooltip})?e.closestPointRange:0),!l&&e.tickInterval<t&&(e.tickInterval=t),e.dateTime||e.logarithmic||l||(e.tickInterval=A(e.tickInterval,void 0,b(e.tickInterval),P(r.allowDecimals,.5>e.tickInterval||void 0!==this.tickAmount),!!this.tickAmount)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()},t.prototype.setTickPositions=function(){var t=this.options,e=t.tickPositions,i=this.getMinorTickInterval(),o=t.tickPositioner,r=this.hasVerticalPanning(),s="colorAxis"===this.coll,n=(s||!r)&&t.startOnTick;r=(s||!r)&&t.endOnTick,this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===i&&this.tickInterval?this.tickInterval/5:i,this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals),this.tickPositions=i=e&&e.slice(),!i&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?i=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(i=[this.min,this.max],y(19,!1,this.chart)),i.length>this.len&&(i=[i[0],i.pop()])[0]===i[1]&&(i.length=1),this.tickPositions=i,o&&(o=o.apply(this,[this.min,this.max])))&&(this.tickPositions=i=o),this.paddedTicks=i.slice(0),this.trimTicks(i,n,r),this.isLinked||(this.single&&2>i.length&&!this.categories&&!this.series.some(function(t){return t.is("heatmap")&&"between"===t.options.pointPlacement})&&(this.min-=.5,this.max+=.5),e||o||this.adjustTickAmount()),x(this,"afterSetTickPositions")},t.prototype.trimTicks=function(t,e,i){var o=t[0],r=t[t.length-1],s=!this.isOrdinal&&this.minPointOffset||0;if(x(this,"trimTicks"),!this.isLinked){if(e&&-1/0!==o)this.min=o;else for(;this.min-s>t[0];)t.shift();if(i)this.max=r;else for(;this.max+s<t[t.length-1];)t.pop();0===t.length&&f(o)&&!this.options.tickPositions&&t.push((r+o)/2)}},t.prototype.alignToOthers=function(){var t,e={},i=this.options;return!1!==this.chart.options.chart.alignTicks&&i.alignTicks&&!1!==i.startOnTick&&!1!==i.endOnTick&&!this.logarithmic&&this.chart[this.coll].forEach(function(i){var o=i.options;o=[i.horiz?o.left:o.top,o.width,o.height,o.pane].join(),i.series.length&&(e[o]?t=!0:e[o]=1)}),t},t.prototype.getTickAmount=function(){var t=this.options,e=t.tickAmount,i=t.tickPixelInterval;!f(t.tickInterval)&&!e&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(e=2),!e&&this.alignToOthers()&&(e=Math.ceil(this.len/i)+1),4>e&&(this.finalTickAmt=e,e=5),this.tickAmount=e},t.prototype.adjustTickAmount=function(){var t=this.options,e=this.tickInterval,i=this.tickPositions,o=this.tickAmount,r=this.finalTickAmt,s=i&&i.length,n=P(this.threshold,this.softThreshold?0:null);if(this.hasData()&&S(this.min)&&S(this.max)){if(s<o){for(;i.length<o;)i.length%2||this.min===n?i.push(u(i[i.length-1]+e)):i.unshift(u(i[0]-e));this.transA*=(s-1)/(o-1),this.min=t.startOnTick?i[0]:Math.min(this.min,i[0]),this.max=t.endOnTick?i[i.length-1]:Math.max(this.max,i[i.length-1])}else s>o&&(this.tickInterval*=2,this.setTickPositions());if(f(r)){for(e=t=i.length;e--;)(3===r&&1==e%2||2>=r&&0<e&&e<t-1)&&i.splice(e,1);this.finalTickAmt=void 0}}},t.prototype.setScale=function(){var t,e=!1,i=!1;this.series.forEach(function(t){e=e||t.isDirtyData||t.isDirty,i=i||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize(),(t=this.len!==(this.old&&this.old.len))||e||i||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=t||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks(),e&&this.panningState&&(this.panningState.isDirty=!0),x(this,"afterSetScale")},t.prototype.setExtremes=function(t,e,i,o,r){var s=this,n=s.chart;i=P(i,!0),s.series.forEach(function(t){delete t.kdTree}),r=v(r,{min:t,max:e}),x(s,"setExtremes",r,function(){s.userMin=t,s.userMax=e,s.eventArgs=r,i&&n.redraw(o)})},t.prototype.zoom=function(t,e){var i=this,o=this.dataMin,r=this.dataMax,s=this.options,n=Math.min(o,P(s.min,o)),a=Math.max(r,P(s.max,r));return x(this,"zoom",t={newMin:t,newMax:e},function(t){var e=t.newMin,s=t.newMax;e===i.min&&s===i.max||(i.allowZoomOutside||(f(o)&&(e<n&&(e=n),e>a&&(e=a)),f(r)&&(s<n&&(s=n),s>a&&(s=a))),i.displayBtn=void 0!==e||void 0!==s,i.setExtremes(e,s,!1,void 0,{trigger:"zoom"})),t.zoomed=!0}),t.zoomed},t.prototype.setAxisSize=function(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],o=this.horiz,r=this.width=Math.round(O(P(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),s=this.height=Math.round(O(P(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(O(P(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop));e=this.left=Math.round(O(P(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft)),this.bottom=t.chartHeight-s-n,this.right=t.chartWidth-r-e,this.len=Math.max(o?r:s,0),this.pos=o?e:n},t.prototype.getExtremes=function(){var t=this.logarithmic;return{min:t?u(t.lin2log(this.min)):this.min,max:t?u(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},t.prototype.getThreshold=function(t){var e=this.logarithmic,i=e?e.lin2log(this.min):this.min;return e=e?e.lin2log(this.max):this.max,null===t||-1/0===t?t=i:1/0===t?t=e:i>t?t=i:e<t&&(t=e),this.translate(t,0,1,0,1)},t.prototype.autoLabelAlign=function(t){var e=(P(t,0)-90*this.side+720)%360;return x(this,"autoLabelAlign",t={align:"center"},function(t){15<e&&165>e?t.align="right":195<e&&345>e&&(t.align="left")}),t.align},t.prototype.tickSize=function(t){var e=this.options,i=e["tick"===t?"tickLength":"minorTickLength"],o=P(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0);if(o&&i){"inside"===e[t+"Position"]&&(i=-i);var r=[i,o]}return x(this,"afterTickSize",t={tickSize:r}),t.tickSize},t.prototype.labelMetrics=function(){var t=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[t]&&this.ticks[t].label)},t.prototype.unsquish=function(){var t,e,i=this.options.labels,o=this.horiz,r=this.tickInterval,s=r,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,h=this.labelMetrics(),l=Number.MAX_VALUE,c=Math.max(this.max-this.min,0),d=function(t){var e=t/(n||1);return(e=1<e?Math.ceil(e):1)*r>c&&1/0!==t&&1/0!==n&&c&&(e=Math.ceil(c/r)),u(e*r)};if(o){if(!i.staggerLines&&!i.step)if(S(a))var p=[a];else n<i.autoRotationLimit&&(p=i.autoRotation);p&&p.forEach(function(i){if(i===a||i&&-90<=i&&90>=i){var o=(e=d(Math.abs(h.h/Math.sin(j*i))))+Math.abs(i/360);o<l&&(l=o,t=i,s=e)}})}else i.step||(s=d(h.h));return this.autoRotation=p,this.labelRotation=P(t,S(a)?a:0),s},t.prototype.getSlotWidth=function(t){var e=this.chart,i=this.horiz,o=this.options.labels,r=Math.max(this.tickPositions.length-(this.categories?0:1),1),s=e.margin[3];if(t&&S(t.slotWidth))return t.slotWidth;if(i&&2>o.step)return o.rotation?0:(this.staggerLines||1)*this.len/r;if(!i){if(void 0!==(t=o.style.width))return parseInt(String(t),10);if(s)return s-e.spacing[3]}return.33*e.chartWidth},t.prototype.renderUnsquish=function(){var t=this.chart,e=t.renderer,i=this.tickPositions,o=this.ticks,r=this.options.labels,s=r.style,n=this.horiz,a=this.getSlotWidth(),h=Math.max(1,Math.round(a-2*r.padding)),l={},c=this.labelMetrics(),d=s.textOverflow,p=0;if(k(r.rotation)||(l.rotation=r.rotation||0),i.forEach(function(t){(t=o[t]).movedLabel&&t.replaceMovedLabel(),t&&t.label&&t.label.textPxLength>p&&(p=t.label.textPxLength)}),this.maxLabelLength=p,this.autoRotation)p>h&&p>c.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(a){var u=h;if(!d){var f="clip";for(h=i.length;!n&&h--;){var g=i[h];(g=o[g].label)&&(g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>a&&g.css({width:a+"px"}),g.getBBox().height>this.len/i.length-(c.h-c.f)&&(g.specificTextOverflow="ellipsis"))}}}l.rotation&&(u=p>.5*t.chartHeight?.33*t.chartHeight:p,d||(f="ellipsis")),(this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation))&&(l.align=this.labelAlign),i.forEach(function(t){var e=(t=o[t])&&t.label,i=s.width,r={};e&&(e.attr(l),t.shortenLabel?t.shortenLabel():u&&!i&&"nowrap"!==s.whiteSpace&&(u<e.textPxLength||"SPAN"===e.element.tagName)?(r.width=u+"px",d||(r.textOverflow=e.specificTextOverflow||f),e.css(r)):e.styles&&e.styles.width&&!r.width&&!i&&e.css({width:null}),delete e.specificTextOverflow,t.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,0!==this.side)},t.prototype.hasData=function(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&f(this.min)&&f(this.max)},t.prototype.addTitle=function(t){var e,i=this.opposite,o=this.options.title,r=this.chart.styledMode;this.axisTitle||((e=o.textAlign)||(e=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[o.align]),this.axisTitle=this.chart.renderer.text(o.text||"",0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation,align:e}).addClass("highcharts-axis-title"),r||this.axisTitle.css(M(o.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),r||o.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)},t.prototype.generateTick=function(t){var e=this.ticks;e[t]?e[t].addLabel():e[t]=new s(this,t)},t.prototype.getOffset=function(){var t,e=this,i=this,o=i.chart,r=o.renderer,s=i.options,n=i.tickPositions,a=i.ticks,h=i.horiz,l=i.side,c=o.inverted&&!i.isZAxis?[1,0,3,2][l]:l,d=0,p=0,u=s.title,g=s.labels,m=0,y=o.axisOffset;o=o.clipOffset;var v=[-1,1,1,-1][l],b=s.className,w=i.axisParent,C=i.hasData();if(i.showAxis=t=C||s.showEmpty,i.staggerLines=i.horiz&&g.staggerLines||void 0,!i.axisGroup){var S=function(t,i,o){return r.g(t).attr({zIndex:o}).addClass("highcharts-"+e.coll.toLowerCase()+i+" "+(e.isRadial?"highcharts-radial-axis"+i+" ":"")+(b||"")).add(w)};i.gridGroup=S("grid","-grid",s.gridZIndex),i.axisGroup=S("axis","",s.zIndex),i.labelGroup=S("axis-labels","-labels",g.zIndex)}if(C||i.isLinked?(n.forEach(function(t,e){i.generateTick(t,e)}),i.renderUnsquish(),i.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===i.labelAlign,P(g.reserveSpace,"center"===i.labelAlign||null,i.reserveSpaceDefault)&&n.forEach(function(t){m=Math.max(a[t].getLabelSize(),m)}),i.staggerLines&&(m*=i.staggerLines),i.labelOffset=m*(i.opposite?-1:1)):T(a,function(t,e){t.destroy(),delete a[e]}),u&&u.text&&!1!==u.enabled&&(i.addTitle(t),t&&!1!==u.reserveSpace)){i.titleOffset=d=i.axisTitle.getBBox()[h?"height":"width"];var k=u.offset;p=f(k)?0:P(u.margin,h?5:10)}i.renderLine(),i.offset=v*P(s.offset,y[l]?y[l]+(s.margin||0):0),i.tickRotCorr=i.tickRotCorr||{x:0,y:0},u=0===l?-i.labelMetrics().h:2===l?i.tickRotCorr.y:0,p=Math.abs(m)+p,m&&(p=p-u+v*(h?P(g.y,i.tickRotCorr.y+8*v):g.x)),i.axisTitleMargin=P(k,p),i.getMaxLabelDimensions&&(i.maxLabelDimensions=i.getMaxLabelDimensions(a,n)),h=this.tickSize("tick"),y[l]=Math.max(y[l],(i.axisTitleMargin||0)+d+v*i.offset,p,n&&n.length&&h?h[0]+v*i.offset:0),s=s.offset?0:2*Math.floor(i.axisLine.strokeWidth()/2),o[c]=Math.max(o[c],s),x(this,"afterGetOffset")},t.prototype.getLinePath=function(t){var e=this.chart,i=this.opposite,o=this.offset,r=this.horiz,s=this.left+(i?this.width:0)+o;return o=e.chartHeight-this.bottom-(i?this.height:0)+o,i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:s,r?o:this.top],["L",r?e.chartWidth-this.right:s,r?o:e.chartHeight-this.bottom]],t)},t.prototype.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}))},t.prototype.getTitlePosition=function(){var t=this.horiz,e=this.left,i=this.top,o=this.len,r=this.options.title,s=t?e:i,n=this.opposite,a=this.offset,h=r.x,l=r.y,c=this.axisTitle,d=this.chart.renderer.fontMetrics(r.style.fontSize,c);return c=Math.max(c.getBBox(null,0).height-d.h-1,0),o={low:s+(t?0:o),middle:s+o/2,high:s+(t?o:0)}[r.align],e=(t?i+this.height:e)+(t?1:-1)*(n?-1:1)*this.axisTitleMargin+[-c,c,d.f,-c][this.side],x(this,"afterGetTitlePosition",{titlePosition:t={x:t?o+h:e+(n?this.width:0)+a+h,y:t?e+l-(n?this.height:0)+a:o+l}}),t},t.prototype.renderMinorTick=function(t){var e=this.chart.hasRendered&&this.old,i=this.minorTicks;i[t]||(i[t]=new s(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)},t.prototype.renderTick=function(t,e){var i=this.ticks,o=this.chart.hasRendered&&this.old;(!this.isLinked||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(i[t]||(i[t]=new s(this,t)),o&&i[t].isNew&&i[t].render(e,!0,-1),i[t].render(e))},t.prototype.render=function(){var t,e,o=this,r=o.chart,n=o.logarithmic,h=o.options,l=o.isLinked,c=o.tickPositions,d=o.axisTitle,p=o.ticks,u=o.minorTicks,f=o.alternateBands,g=h.stackLabels,m=h.alternateGridColor,y=o.tickmarkOffset,v=o.axisLine,b=o.showAxis,w=a(r.renderer.globalAnimation);o.labelEdge.length=0,o.overlap=!1,[p,u,f].forEach(function(t){T(t,function(t){t.isActive=!1})}),(o.hasData()||l)&&(o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t)}),c.length&&(c.forEach(function(t,e){o.renderTick(t,e)}),y&&(0===o.min||o.single)&&(p[-1]||(p[-1]=new s(o,-1,null,!0)),p[-1].render(-1))),m&&c.forEach(function(s,a){e=void 0!==c[a+1]?c[a+1]+y:o.max-y,0==a%2&&s<o.max&&e<=o.max+(r.polar?-y:y)&&(f[s]||(f[s]=new i.PlotLineOrBand(o)),t=s+y,f[s].options={from:n?n.lin2log(t):t,to:n?n.lin2log(e):e,color:m,className:"highcharts-alternate-grid"},f[s].render(),f[s].isActive=!0)}),o._addedPlotLB||(o._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)}))),[p,u,f].forEach(function(t){var e,i=[],o=w.duration;T(t,function(t,e){t.isActive||(t.render(e,!1,0),t.isActive=!1,i.push(e))}),D(function(){for(e=i.length;e--;)t[i[e]]&&!t[i[e]].isActive&&(t[i[e]].destroy(),delete t[i[e]])},t!==f&&r.hasRendered&&o?o:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[b?"show":"hide"](b)),d&&b&&(h=o.getTitlePosition(),S(h.y)?(d[d.isNew?"attr":"animate"](h),d.isNew=!1):(d.attr("y",-9999),d.isNew=!0)),g&&g.enabled&&o.stacking&&o.stacking.renderStackTotals(),o.old={len:o.len,max:o.max,min:o.min,transA:o.transA,userMax:o.userMax,userMin:o.userMin},o.isDirty=!1,x(this,"afterRender")},t.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})},t.prototype.getKeepProps=function(){return this.keepProps||t.keepProps},t.prototype.destroy=function(t){var e,i=this,o=i.plotLinesAndBands;if(x(this,"destroy",{keepEvents:t}),t||E(i),[i.ticks,i.minorTicks,i.alternateBands].forEach(function(t){g(t)}),o)for(t=o.length;t--;)o[t].destroy();for(e in"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(t){i[t]&&(i[t]=i[t].destroy())}),i.plotLinesAndBandsGroups)i.plotLinesAndBandsGroups[e]=i.plotLinesAndBandsGroups[e].destroy();T(i,function(t,e){-1===i.getKeepProps().indexOf(e)&&delete i[e]})},t.prototype.drawCrosshair=function(t,i){var r,s=this.crosshair,n=P(s&&s.snap,!0),a=this.cross,h=this.chart;if(x(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),s&&!1!==(f(i)||!n)){if(n?f(i)&&(r=P("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):r=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),f(r)){var l={value:i&&(this.isXAxis?i.x:P(i.stackY,i.y)),translatedValue:r};h.polar&&v(l,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),l=this.getPlotLinePath(l)||null}if(!f(l))return void this.hideCrosshair();n=this.categories&&!this.isRadial,a||(this.cross=a=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(n?"category ":"thin ")+(s.className||"")).attr({zIndex:P(s.zIndex,2)}).add(),h.styledMode||(a.attr({stroke:s.color||(n?e.parse(o.highlightColor20).setOpacity(.25).get():o.neutralColor20),"stroke-width":P(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&a.attr({dashstyle:s.dashStyle}))),a.show().attr({d:l}),n&&!s.width&&a.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();x(this,"afterDrawCrosshair",{e:t,point:i})},t.prototype.hideCrosshair=function(){this.cross&&this.cross.hide(),x(this,"afterHideCrosshair")},t.prototype.hasVerticalPanning=function(){var t=this.chart.options.chart.panning;return!!(t&&t.enabled&&/y/.test(t.type))},t.prototype.validatePositiveValue=function(t){return S(t)&&0<t},t.prototype.update=function(t,e){var i=this.chart,o=t&&t.events||{};t=M(this.userOptions,t),T(i.options[this.coll].events,function(t,e){void 0===o[e]&&(o[e]=void 0)}),this.destroy(!0),this.init(i,v(t,{events:o})),i.isDirtyBox=!0,P(e,!0)&&i.redraw()},t.prototype.remove=function(t){for(var e=this.chart,i=this.coll,o=this.series,r=o.length;r--;)o[r]&&o[r].remove(!1);m(e.axes,this),m(e[i],this),e[i].forEach(function(t,e){t.options.index=t.userOptions.index=e}),this.destroy(),e.isDirtyBox=!0,P(t,!0)&&e.redraw()},t.prototype.setTitle=function(t,e){this.update({title:t},e)},t.prototype.setCategories=function(t,e){this.update({categories:t},e)},t.defaultOptions={alignTicks:!0,allowDecimals:void 0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:o.neutralColor60,cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:o.neutralColor60}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:o.neutralColor5,minorGridLineWidth:1,minorTickColor:o.neutralColor40,lineColor:o.highlightColor20,lineWidth:1,gridLineColor:o.neutralColor10,gridLineWidth:void 0,tickColor:o.highlightColor20},t.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return(0,this.axis.chart.numberFormatter)(this.total,-1)},style:{color:o.neutralColor100,fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},t.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},t.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},t.keepProps="extKey hcEvents names series userMax userMin".split(" "),t}(),i.Axis=t,i.Axis}),e(i,"Core/Axis/DateTimeAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.timeUnits,n=function(){function t(t){this.axis=t}return t.prototype.normalizeTimeTickInterval=function(t,e){var i,n=e||[["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]],a=s[(e=n[n.length-1])[0]],h=e[1];for(i=0;i<n.length&&(a=s[(e=n[i])[0]],h=e[1],!(n[i+1]&&t<=(a*h[h.length-1]+s[n[i+1][0]])/2));i++);return a===s.year&&t<5*a&&(h=[1,2,5]),{unitRange:a,count:t=r(t/a,h,"year"===e[0]?Math.max(o(t/a),1):1),unitName:e[0]}},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("dateTime"),t.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)},i(t,"init",function(t){"datetime"!==t.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new n(this))})},t.AdditionsClass=n,t}()).compose(t),e}),e(i,"Core/Axis/LogarithmicAxis.js",[i["Core/Axis/Axis.js"],i["Core/Utilities.js"]],function(t,e){var i=e.addEvent,o=e.getMagnitude,r=e.normalizeTickInterval,s=e.pick,n=function(){function t(t){this.axis=t}return t.prototype.getLogTickPositions=function(t,e,i,n){var a=this.axis,h=a.len,l=a.options,c=[];if(n||(this.minorAutoInterval=void 0),.5<=t)t=Math.round(t),c=a.getLinearTickPositions(t,e,i);else if(.08<=t){var d,p=Math.floor(e),u=l=void 0;for(h=.3<t?[1,2,4]:.15<t?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<i+1&&!u;p++){var f=h.length;for(d=0;d<f&&!u;d++){var g=this.log2lin(this.lin2log(p)*h[d]);g>e&&(!n||l<=i)&&void 0!==l&&c.push(l),l>i&&(u=!0),l=g}}}else e=this.lin2log(e),i=this.lin2log(i),t=n?a.getMinorTickInterval():l.tickInterval,t=s("auto"===t?null:t,this.minorAutoInterval,l.tickPixelInterval/(n?5:1)*(i-e)/((n?h/a.tickPositions.length:h)||1)),t=r(t,void 0,o(t)),c=a.getLinearTickPositions(t,e,i).map(this.log2lin),n||(this.minorAutoInterval=t/5);return n||(a.tickInterval=t),c},t.prototype.lin2log=function(t){return Math.pow(10,t)},t.prototype.log2lin=function(t){return Math.log(t)/Math.LN10},t}();return(e=function(){function t(){}return t.compose=function(t){t.keepProps.push("logarithmic"),i(t,"init",function(t){var e=this.logarithmic;"logarithmic"!==t.userOptions.type?this.logarithmic=void 0:e||(this.logarithmic=new n(this))}),i(t,"afterInit",function(){var t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})})},t}()).compose(t),e}),e(i,"Core/Axis/PlotLineOrBand.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.arrayMax,s=o.arrayMin,n=o.defined,a=o.destroyObjectProperties,h=o.erase,l=o.extend,c=o.fireEvent,d=o.isNumber,p=o.merge,u=o.objectEach,f=o.pick;return o=function(){function t(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)}return t.prototype.render=function(){c(this,"render");var t=this,e=t.axis,o=e.horiz,r=e.logarithmic,s=t.options,a=s.label,h=t.label,l=s.to,d=s.from,g=s.value,m=n(d)&&n(l),y=n(g),v=t.svgElem,x=!v,b=[],w=s.color,C=f(s.zIndex,0),S=s.events;b={class:"highcharts-plot-"+(m?"band ":"line ")+(s.className||"")};var k={},M=e.chart.renderer,A=m?"bands":"lines";if(r&&(d=r.log2lin(d),l=r.log2lin(l),g=r.log2lin(g)),e.chart.styledMode||(y?(b.stroke=w||i.neutralColor40,b["stroke-width"]=f(s.width,1),s.dashStyle&&(b.dashstyle=s.dashStyle)):m&&(b.fill=w||i.highlightColor10,s.borderWidth&&(b.stroke=s.borderColor,b["stroke-width"]=s.borderWidth))),k.zIndex=C,(r=e.plotLinesAndBandsGroups[A+="-"+C])||(e.plotLinesAndBandsGroups[A]=r=M.g("plot-"+A).attr(k).add()),x&&(t.svgElem=v=M.path().attr(b).add(r)),y)b=e.getPlotLinePath({value:g,lineWidth:v.strokeWidth(),acrossPanes:s.acrossPanes});else{if(!m)return;b=e.getPlotBandPath(d,l,s)}return!t.eventsAdded&&S&&(u(S,function(e,i){v.on(i,function(e){S[i].apply(t,[e])})}),t.eventsAdded=!0),(x||!v.d)&&b&&b.length?v.attr({d:b}):v&&(b?(v.show(!0),v.animate({d:b})):v.d&&(v.hide(),h&&(t.label=h=h.destroy()))),a&&(n(a.text)||n(a.formatter))&&b&&b.length&&0<e.width&&0<e.height&&!b.isFlat?(a=p({align:o&&m&&"center",x:o?!m&&4:10,verticalAlign:!o&&m&&"middle",y:o?m?16:10:m?6:-4,rotation:o&&!m&&90},a),this.renderLabel(a,b,m,C)):h&&h.hide(),t},t.prototype.renderLabel=function(t,e,i,o){var n=this.label,a=this.axis.chart.renderer;n||((n={align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||"")}).zIndex=o,o=this.getLabelText(t),this.label=n=a.text(o,0,0,t.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(t.style)),a=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],e=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],i=s(a),o=s(e),n.align(t,!1,{x:i,y:o,width:r(a)-i,height:r(e)-o}),n.show(!0)},t.prototype.getLabelText=function(t){return n(t.formatter)?t.formatter.call(this):t.text},t.prototype.destroy=function(){h(this.axis.plotLinesAndBands,this),delete this.axis,a(this)},t}(),l(t.prototype,{getPlotBandPath:function(t,e,i){void 0===i&&(i=this.options);var o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes});i=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});var r=[],s=this.horiz,n=1;if(t=!d(this.min)||!d(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,i&&o){if(t){var a=i.toString()===o.toString();n=0}for(t=0;t<i.length;t+=2){var h=i[t+1],l=o[t],c=o[t+1];"M"!==(e=i[t])[0]&&"L"!==e[0]||"M"!==h[0]&&"L"!==h[0]||"M"!==l[0]&&"L"!==l[0]||"M"!==c[0]&&"L"!==c[0]||(s&&l[1]===e[1]?(l[1]+=n,c[1]+=n):s||l[2]!==e[2]||(l[2]+=n,c[2]+=n),r.push(["M",e[1],e[2]],["L",h[1],h[2]],["L",c[1],c[2]],["L",l[1],l[2]],["Z"])),r.isFlat=a}}return r},addPlotBand:function(t){return this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){return this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(t,i){var o=this,r=new e.PlotLineOrBand(this,t),s=this.userOptions;if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(function(t){o.addPlotBandOrLine(t)})),i){var n=s[i]||[];n.push(t),s[i]=n}this.plotLinesAndBands.push(r)}return r},removePlotBandOrLine:function(t){for(var e=this.plotLinesAndBands,i=this.options,o=this.userOptions,r=e.length;r--;)e[r].id===t&&e[r].destroy();[i.plotLines||[],o.plotLines||[],i.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&h(e,e[r])})},removePlotBand:function(t){this.removePlotBandOrLine(t)},removePlotLine:function(t){this.removePlotBandOrLine(t)}}),e.PlotLineOrBand=o,e.PlotLineOrBand}),e(i,"Core/Tooltip.js",[i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=t.format,s=e.doc,n=o.clamp,a=o.css,h=o.defined,l=o.discardElement,c=o.extend,d=o.fireEvent,p=o.isArray,u=o.isNumber,f=o.isString,g=o.merge,m=o.pick,y=o.splat,v=o.syncTimeout,x=o.timeUnits;return t=function(){function t(t,e){this.container=void 0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e)}return t.prototype.applyFilter=function(){var t=this.chart;t.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+t.index,opacity:.5},children:[{tagName:"feGaussianBlur",attributes:{in:"SourceAlpha",stdDeviation:1}},{tagName:"feOffset",attributes:{dx:1,dy:1}},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"linear",slope:.3}}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",attributes:{in:"SourceGraphic"}}]}]}),t.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+t.index+"{filter:url(#drop-shadow-"+t.index+")}"})},t.prototype.bodyFormatter=function(t){return t.map(function(t){var e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})},t.prototype.cleanSplit=function(t){this.chart.series.forEach(function(e){var i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})},t.prototype.defaultFormatter=function(t){var e=this.points||y(this),i=[t.tooltipFooterHeaderFormatter(e[0])];return(i=i.concat(t.bodyFormatter(e))).push(t.tooltipFooterHeaderFormatter(e[0],!0)),i},t.prototype.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(),l(this.container)),o.clearTimeout(this.hideTimer),o.clearTimeout(this.tooltipTimeout)},t.prototype.getAnchor=function(t,e){var i,o,r=this.chart,s=r.pointer,n=r.inverted,a=r.plotTop,h=r.plotLeft,l=0,c=0;return t=y(t),this.followPointer&&e?(void 0===e.chartX&&(e=s.normalize(e)),s=[e.chartX-h,e.chartY-a]):t[0].tooltipPos?s=t[0].tooltipPos:(t.forEach(function(t){i=t.series.yAxis,l+=t.plotX||0,c+=t.plotLow?(t.plotLow+(t.plotHigh||0))/2:t.plotY||0,(o=t.series.xAxis)&&i&&(n?(l+=a+r.plotHeight-o.len-o.pos,c+=h+r.plotWidth-i.len-i.pos):(l+=o.pos-h,c+=i.pos-a))}),l/=t.length,c/=t.length,s=[n?r.plotWidth-c:l,n?r.plotHeight-l:c],this.shared&&1<t.length&&e&&(n?s[0]=e.chartX-h:s[1]=e.chartY-a)),s.map(Math.round)},t.prototype.getDateFormat=function(t,e,i,o){var r=this.chart.time,s=r.dateFormat("%m-%d %H:%M:%S.%L",e),n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond";for(h in x){if(t===x.week&&+r.dateFormat("%w",e)===i&&"00:00:00.000"===s.substr(6)){var h="week";break}if(x[h]>t){h=a;break}if(n[h]&&s.substr(n[h])!=="01-01 00:00:00.000".substr(n[h]))break;"week"!==h&&(a=h)}if(h)var l=r.resolveDTLFormat(o[h]).main;return l},t.prototype.getLabel=function(){var t,i=this,o=this.chart.renderer,r=this.chart.styledMode,s=this.options,n="tooltip"+(h(s.className)?" "+s.className:""),l=s.style&&s.style.pointerEvents||(!this.followPointer&&s.stickOnContact?"auto":"none");if(!this.label){if(this.outside){var c=this.chart.options.chart.style;this.container=t=e.doc.createElement("div"),t.className="highcharts-tooltip-container",a(t,{position:"absolute",top:"1px",pointerEvents:l,zIndex:Math.max(this.options.style&&this.options.style.zIndex||0,(c&&c.zIndex||0)+3)}),e.doc.body.appendChild(t),this.renderer=o=new e.Renderer(t,0,0,c,void 0,void 0,o.styledMode)}if(this.split?this.label=o.g(n):(this.label=o.label("",0,0,s.shape||"callout",null,null,s.useHTML,null,n).attr({padding:s.padding,r:s.borderRadius}),r||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth}).css(s.style).css({pointerEvents:l}).shadow(s.shadow)),r&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var d=this.label,p=d.xSetter,u=d.ySetter;d.xSetter=function(e){p.call(d,i.distance),t.style.left=e+"px"},d.ySetter=function(e){u.call(d,i.distance),t.style.top=e+"px"}}this.label.on("mouseenter",function(){i.inContact=!0}).on("mouseleave",function(){var t=i.chart.hoverSeries;i.inContact=!1,t&&t.onMouseOut&&t.onMouseOut()}).attr({zIndex:8}).add()}return this.label},t.prototype.getPosition=function(t,e,i){var o,r=this.chart,n=this.distance,a={},h=r.inverted&&i.h||0,l=this.outside,c=l?s.documentElement.clientWidth-2*n:r.chartWidth,d=l?Math.max(s.body.scrollHeight,s.documentElement.scrollHeight,s.body.offsetHeight,s.documentElement.offsetHeight,s.documentElement.clientHeight):r.chartHeight,p=r.pointer.getChartPosition(),u=function(o){var s="x"===o;return[o,s?c:d,s?t:e].concat(l?[s?t*p.scaleX:e*p.scaleY,s?p.left-n+(i.plotX+r.plotLeft)*p.scaleX:p.top-n+(i.plotY+r.plotTop)*p.scaleY,0,s?c:d]:[s?t:e,s?i.plotX+r.plotLeft:i.plotY+r.plotTop,s?r.plotLeft:r.plotTop,s?r.plotLeft+r.plotWidth:r.plotTop+r.plotHeight])},f=u("y"),g=u("x"),y=!this.followPointer&&m(i.ttBelow,!r.inverted==!!i.negative),v=function(t,e,i,o,r,s,c){var d=l?"y"===t?n*p.scaleY:n*p.scaleX:n,u=(i-o)/2,f=o<r-n,g=r+n+o<e,m=r-d-i+u;if(r=r+d-u,y&&g)a[t]=r;else if(!y&&f)a[t]=m;else if(f)a[t]=Math.min(c-o,0>m-h?m:m-h);else{if(!g)return!1;a[t]=Math.max(s,r+h+i>e?r:r+h)}},x=function(t,e,i,o,r){var s;return r<n||r>e-n?s=!1:a[t]=r<i/2?1:r>e-o/2?e-o-2:r-i/2,s},b=function(t){var e=f;f=g,g=e,o=t},w=function(){!1!==v.apply(0,f)?!1!==x.apply(0,g)||o||(b(!0),w()):o?a.x=a.y=0:(b(!0),w())};return(r.inverted||1<this.len)&&b(),w(),a},t.prototype.getXDateFormat=function(t,e,i){e=e.dateTimeLabelFormats;var o=i&&i.closestPointRange;return(o?this.getDateFormat(o,t.x,i.options.startOfWeek,e):e.day)||e.year},t.prototype.hide=function(t){var e=this;o.clearTimeout(this.hideTimer),t=m(t,this.options.hideDelay,500),this.isHidden||(this.hideTimer=v(function(){e.getLabel().fadeOut(t?void 0:t),e.isHidden=!0},t))},t.prototype.init=function(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=m(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))},t.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},t.prototype.move=function(t,e,i,r){var s=this,n=s.now,a=!1!==s.options.animation&&!s.isHidden&&(1<Math.abs(t-n.x)||1<Math.abs(e-n.y)),h=s.followPointer||1<s.len;c(n,{x:a?(2*n.x+t)/3:t,y:a?(n.y+e)/2:e,anchorX:h?void 0:a?(2*n.anchorX+i)/3:i,anchorY:h?void 0:a?(n.anchorY+r)/2:r}),s.getLabel().attr(n),s.drawTracker(),a&&(o.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){s&&s.move(t,e,i,r)},32))},t.prototype.refresh=function(t,e){var r=this.chart,s=this.options,n=y(t),a=n[0],h={},l=[],c=s.formatter||this.defaultFormatter;h=this.shared;var u=r.styledMode;if(s.enabled){o.clearTimeout(this.hideTimer),this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;var f=this.getAnchor(t,e),g=f[0],v=f[1];if(!h||!p(t)&&t.series&&t.series.noSharedTooltip?h=a.getLabelConfig():(r.pointer.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(h={x:a.category,y:a.y}).points=l),this.len=l.length,t=c.call(h,this),this.distance=m((c=a.series).tooltipOptions.distance,16),!1===t)this.hide();else{if(this.split)this.renderSplit(t,n);else{if(n=g,h=v,e&&r.pointer.isDirectTouch&&(n=e.chartX-r.plotLeft,h=e.chartY-r.plotTop),!r.polar&&!1!==c.options.clip&&!c.shouldShowTooltip(n,h))return void this.hide();e=this.getLabel(),s.style.width&&!u||e.css({width:this.chart.spacingBox.width+"px"}),e.attr({text:t&&t.join?t.join(""):t}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+m(a.colorIndex,c.colorIndex)),u||e.attr({stroke:s.borderColor||a.color||c.color||i.neutralColor60}),this.updatePosition({plotX:g,plotY:v,negative:a.negative,ttBelow:a.ttBelow,h:f[2]||0})}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}d(this,"refresh")}},t.prototype.renderSplit=function(t,o){function r(t,e,i,o,r){return void 0===r&&(r=!0),i?(e=O?0:j,t=n(t-o/2,A.left,A.right-o-(a.outside?E:0))):(e-=L,t=n(t=r?t-o-S:t+S,r?t:A.left,A.right)),{x:t,y:e}}var a=this,h=a.chart,l=a.chart,d=l.chartWidth,p=l.chartHeight,u=l.plotHeight,g=l.plotLeft,y=l.plotTop,v=l.pointer,x=l.scrollablePixelsY;x=void 0===x?0:x;var b=l.scrollingContainer,w=(b=void 0===b?{scrollLeft:0,scrollTop:0}:b).scrollLeft;b=b.scrollTop;var C=l.styledMode,S=a.distance,k=a.options,M=a.options.positioner,A=a.outside&&"number"!=typeof l.scrollablePixelsX?s.documentElement.getBoundingClientRect():{left:w,right:w+d,top:b,bottom:b+p},T=a.getLabel(),P=this.renderer||h.renderer,O=!(!h.xAxis[0]||!h.xAxis[0].opposite),E=(h=v.getChartPosition()).left;h=h.top;var L=y+b,D=0,j=u-x;f(t)&&(t=[!1,t]),t=t.slice(0,o.length+1).reduce(function(t,e,s){if(!1!==e&&""!==e){var h=(s=o[s-1]||{isHeader:!0,plotX:o[0].plotX,plotY:u,series:{}}).isHeader,l=h?a:s.series;e=e.toString();var c=l.tt,d=s.isHeader,p=s.series,f="highcharts-color-"+m(s.colorIndex,p.colorIndex,"none");if(c||(c={padding:k.padding,r:k.borderRadius},C||(c.fill=k.backgroundColor,c["stroke-width"]=k.borderWidth),c=P.label("",0,0,k[d?"headerShape":"shape"]||"callout",void 0,void 0,k.useHTML).addClass((d?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+f).attr(c).add(T)),c.isActive=!0,c.attr({text:e}),C||c.css(k.style).shadow(k.shadow).attr({stroke:k.borderColor||s.color||p.color||i.neutralColor80}),e=(d=(l=l.tt=c).getBBox()).width+l.strokeWidth(),h&&(j+=D=d.height,O&&(L-=D)),p=void 0===(p=s.plotX)?0:p,f=void 0===(f=s.plotY)?0:f,c=s.series,s.isHeader){p=g+p;var v=y+u/2}else{var x=c.xAxis,b=c.yAxis;p=x.pos+n(p,-S,x.len+S),c.shouldShowTooltip(0,b.pos-y+f,{ignoreX:!0})&&(v=b.pos+f)}p=n(p,A.left-S,A.right+S),"number"==typeof v?(d=d.height+1,f=M?M.call(a,e,d,s):r(p,v,h,e),t.push({align:M?0:void 0,anchorX:p,anchorY:v,boxWidth:e,point:s,rank:m(f.rank,h?1:0),size:d,target:f.y,tt:l,x:f.x})):l.isActive=!1}return t},[]),!M&&t.some(function(t){var e=(a.outside?E:0)+t.anchorX;return e<A.left&&e+t.boxWidth<A.right||e<E-A.left+t.boxWidth&&A.right-e>e})&&(t=t.map(function(t){var e=r(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return c(t,{target:e.y,x:e.x})})),a.cleanSplit(),e.distribute(t,j);var I=E,_=E;t.forEach(function(t){var e=t.x,i=t.boxWidth;(t=t.isHeader)||(a.outside&&E+e<I&&(I=E+e),!t&&a.outside&&I+i>_&&(_=E+e))}),t.forEach(function(t){var e=t.x,i=t.anchorX,o=t.pos,r=t.point.isHeader;if(o={visibility:void 0===o?"hidden":"inherit",x:e,y:o+L,anchorX:i,anchorY:t.anchorY},a.outside&&e<i){var s=E-I;0<s&&(r||(o.x=e+s,o.anchorX=i+s),r&&(o.x=(_-I)/2,o.anchorX=i+s))}t.tt.attr(o)}),t=a.container,x=a.renderer,a.outside&&t&&x&&(l=T.getBBox(),x.setSize(l.width+l.x,l.height+l.y,!1),t.style.left=I+"px",t.style.top=h+"px")},t.prototype.drawTracker=function(){if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var t=this.chart,e=this.label,i=t.hoverPoint;if(e&&i){var o={x:0,y:0,width:0,height:0};i=this.getAnchor(i);var r=e.getBBox();i[0]+=t.plotLeft-e.translateX,i[1]+=t.plotTop-e.translateY,o.x=Math.min(0,i[0]),o.y=Math.min(0,i[1]),o.width=0>i[0]?Math.max(Math.abs(i[0]),r.width-i[0]):Math.max(Math.abs(i[0]),r.width),o.height=0>i[1]?Math.max(Math.abs(i[1]),r.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),r.height),this.tracker?this.tracker.attr(o):(this.tracker=e.renderer.rect(o).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}},t.prototype.styledModeFormat=function(t){return t.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},t.prototype.tooltipFooterHeaderFormatter=function(t,e){var i=e?"footer":"header",o=t.series,s=o.tooltipOptions,n=s.xDateFormat,a=o.xAxis,h=a&&"datetime"===a.options.type&&u(t.key),l=s[i+"Format"];return d(this,"headerFormatter",e={isFooter:e,labelConfig:t},function(e){h&&!n&&(n=this.getXDateFormat(t,s,a)),h&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+n+"}")}),o.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=r(l,{point:t,series:o},this.chart)}),e.text},t.prototype.update=function(t){this.destroy(),g(!0,this.chart.options.tooltip.userOptions,t),this.init(this.chart,g(!0,this.options,t))},t.prototype.updatePosition=function(t){var e=this.chart,i=e.pointer,o=this.getLabel(),r=t.plotX+e.plotLeft;if(e=t.plotY+e.plotTop,i=i.getChartPosition(),t=(this.options.positioner||this.getPosition).call(this,o.width,o.height,t),this.outside){var s=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(o.width+s,o.height+s,!1),1===i.scaleX&&1===i.scaleY||(a(this.container,{transform:"scale("+i.scaleX+", "+i.scaleY+")"}),r*=i.scaleX,e*=i.scaleY),r+=i.left-t.x,e+=i.top-t.y}this.move(Math.round(t.x),Math.round(t.y||0),r,e)},t}(),e.Tooltip=t,e.Tooltip}),e(i,"Core/Pointer.js",[i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Tooltip.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.parse,n=e.charts,a=e.noop,h=r.addEvent,l=r.attr,c=r.css,d=r.defined,p=r.extend,u=r.find,f=r.fireEvent,g=r.isNumber,m=r.isObject,y=r.objectEach,v=r.offset,x=r.pick,b=r.splat;return t=function(){function t(t,e){this.lastValidTouch={},this.pinchDown=[],this.runChartClick=!1,this.eventsToUnbind=[],this.chart=t,this.hasDragged=!1,this.options=e,this.init(t,e)}return t.prototype.applyInactiveState=function(t){var e,i=[];(t||[]).forEach(function(t){i.push(e=t.series),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})},t.prototype.destroy=function(){var t=this;this.eventsToUnbind.forEach(function(t){return t()}),this.eventsToUnbind=[],e.chartCount||(e.unbindDocumentMouseUp&&(e.unbindDocumentMouseUp=e.unbindDocumentMouseUp()),e.unbindDocumentTouchEnd&&(e.unbindDocumentTouchEnd=e.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),y(t,function(e,i){t[i]=void 0})},t.prototype.drag=function(t){var e=this.chart,o=e.options.chart,r=t.chartX,n=t.chartY,a=this.zoomHor,h=this.zoomVert,l=e.plotLeft,c=e.plotTop,d=e.plotWidth,p=e.plotHeight,u=this.selectionMarker,f=this.mouseDownX||0,g=this.mouseDownY||0,y=m(o.panning)?o.panning&&o.panning.enabled:o.panning,v=o.panKey&&t[o.panKey+"Key"];if((!u||!u.touch)&&(r<l?r=l:r>l+d&&(r=l+d),n<c?n=c:n>c+p&&(n=c+p),this.hasDragged=Math.sqrt(Math.pow(f-r,2)+Math.pow(g-n,2)),10<this.hasDragged)){var x=e.isInsidePlot(f-l,g-c,{visiblePlotOnly:!0});e.hasCartesianSeries&&(this.zoomX||this.zoomY)&&x&&!v&&!u&&(this.selectionMarker=u=e.renderer.rect(l,c,a?1:d,h?1:p,0).attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||u.attr({fill:o.selectionMarkerFill||s(i.highlightColor80).setOpacity(.25).get()})),u&&a&&(r-=f,u.attr({width:Math.abs(r),x:(0<r?0:r)+f})),u&&h&&(r=n-g,u.attr({height:Math.abs(r),y:(0<r?0:r)+g})),x&&!u&&y&&e.pan(t,o.panning)}},t.prototype.dragStart=function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},t.prototype.drop=function(t){var e=this,i=this.chart,o=this.hasPinched;if(this.selectionMarker){var r,s={originalEvent:t,xAxis:[],yAxis:[]},n=this.selectionMarker,a=n.attr?n.attr("x"):n.x,h=n.attr?n.attr("y"):n.y,l=n.attr?n.attr("width"):n.width,u=n.attr?n.attr("height"):n.height;(this.hasDragged||o)&&(i.axes.forEach(function(i){if(i.zoomEnabled&&d(i.min)&&(o||e[{xAxis:"zoomX",yAxis:"zoomY"}[i.coll]])&&g(a)&&g(h)){var n=i.horiz,c="touchend"===t.type?i.minPixelPadding:0,p=i.toValue((n?a:h)+c);n=i.toValue((n?a+l:h+u)-c),s[i.coll].push({axis:i,min:Math.min(p,n),max:Math.max(p,n)}),r=!0}}),r&&f(i,"selection",s,function(t){i.zoom(p(t,o?{animation:!1}:null))})),g(i.index)&&(this.selectionMarker=this.selectionMarker.destroy()),o&&this.scaleGroups()}i&&g(i.index)&&(c(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},t.prototype.findNearestKDPoint=function(t,e,i){var o,r=this.chart,s=r.hoverPoint;return r=r.tooltip,s&&r&&r.isStickyOnContact()?s:(t.forEach(function(t){var r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y");if(t=t.searchPoint(i,r),(r=m(t,!0)&&t.series)&&!(r=!m(o,!0))){var s=o.dist-t.dist,n=(t.series.group&&t.series.group.zIndex)-(o.series.group&&o.series.group.zIndex);r=0<(0!=(r=o.distX-t.distX)&&e?r:0!==s?s:0!==n?n:o.series.index>t.series.index?-1:1)}r&&(o=t)}),o)},t.prototype.getChartCoordinatesFromPoint=function(t,e){var i=t.series,o=i.xAxis;i=i.yAxis;var r=t.shapeArgs;if(o&&i){var s=x(t.clientX,t.plotX),n=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(s=r.x,n=r.y),e?{chartX:i.len+i.pos-n,chartY:o.len+o.pos-s}:{chartX:s+o.pos,chartY:n+i.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}},t.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var t=this.chart.container,e=v(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};var i=t.offsetWidth;return t=t.offsetHeight,2<i&&2<t&&(this.chartPosition.scaleX=e.width/i,this.chartPosition.scaleY=e.height/t),this.chartPosition},t.prototype.getCoordinates=function(t){var e={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])})}),e},t.prototype.getHoverData=function(t,e,i,o,r,s){var n,a=[];o=!(!o||!t);var h=e&&!e.stickyTracking,l={chartX:s?s.chartX:void 0,chartY:s?s.chartY:void 0,shared:r};return f(this,"beforeGetHoverData",l),h=h?[e]:i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&t.stickyTracking}),e=(n=o||!s?t:this.findNearestKDPoint(h,r,s))&&n.series,n&&(r&&!e.noSharedTooltip?(h=i.filter(function(t){return l.filter?l.filter(t):t.visible&&!(!r&&t.directTouch)&&x(t.options.enableMouseTracking,!0)&&!t.noSharedTooltip})).forEach(function(t){var e=u(t.points,function(t){return t.x===n.x&&!t.isNull});m(e)&&(t.chart.isBoosting&&(e=t.getPoint(e)),a.push(e))}):a.push(n)),f(this,"afterGetHoverData",l={hoverPoint:n}),{hoverPoint:l.hoverPoint,hoverSeries:e,hoverPoints:a}},t.prototype.getPointFromEvent=function(t){t=t.target;for(var e;t&&!e;)e=t.point,t=t.parentNode;return e},t.prototype.onTrackerMouseOut=function(t){t=t.relatedTarget||t.toElement;var e=this.chart.hoverSeries;this.isDirectTouch=!1,!e||!t||e.stickyTracking||this.inClass(t,"highcharts-tooltip")||this.inClass(t,"highcharts-series-"+e.index)&&this.inClass(t,"highcharts-tracker")||e.onMouseOut()},t.prototype.inClass=function(t,e){for(var i;t;){if(i=l(t,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}t=t.parentNode}},t.prototype.init=function(t,e){this.options=e,this.chart=t,this.runChartClick=!(!e.chart.events||!e.chart.events.click),this.pinchDown=[],this.lastValidTouch={},o&&(t.tooltip=new o(t,e.tooltip),this.followTouchMove=x(e.tooltip.followTouchMove,!0)),this.setDOMEvents()},t.prototype.normalize=function(t,e){var i=t.touches,o=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;return e||(e=this.getChartPosition()),i=o.pageX-e.left,o=o.pageY-e.top,i/=e.scaleX,o/=e.scaleY,p(t,{chartX:Math.round(i),chartY:Math.round(o)})},t.prototype.onContainerClick=function(t){var e=this.chart,i=e.hoverPoint;t=this.normalize(t);var o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(t.target,"highcharts-tracker")?(f(i.series,"click",p(t,{point:i})),e.hoverPoint&&i.firePointEvent("click",t)):(p(t,this.getCoordinates(t)),e.isInsidePlot(t.chartX-o,t.chartY-r,{visiblePlotOnly:!0})&&f(e,"click",t)))},t.prototype.onContainerMouseDown=function(t){var i=1==(1&(t.buttons||t.button));t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault&&t.preventDefault(),this.dragStart(t))},t.prototype.onContainerMouseLeave=function(t){var i=n[x(e.hoverChartIndex,-1)],o=this.chart.tooltip;t=this.normalize(t),i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0),o&&!o.isHidden&&this.reset()},t.prototype.onContainerMouseEnter=function(t){delete this.chartPosition},t.prototype.onContainerMouseMove=function(t){var e=this.chart;t=this.normalize(t),this.setHoverChartIndex(),t.preventDefault||(t.returnValue=!1),("mousedown"===e.mouseIsDown||this.touchSelect(t))&&this.drag(t),e.openMenu||!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.runPointActions(t)},t.prototype.onDocumentTouchEnd=function(t){n[e.hoverChartIndex]&&n[e.hoverChartIndex].pointer.drop(t)},t.prototype.onContainerTouchMove=function(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)},t.prototype.onContainerTouchStart=function(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))},t.prototype.onDocumentMouseMove=function(t){var e=this.chart,i=this.chartPosition;t=this.normalize(t,i);var o=e.tooltip;!i||o&&o.isStickyOnContact()||e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop,{visiblePlotOnly:!0})||this.inClass(t.target,"highcharts-tracker")||this.reset()},t.prototype.onDocumentMouseUp=function(t){var i=n[x(e.hoverChartIndex,-1)];i&&i.pointer.drop(t)},t.prototype.pinch=function(t){var e=this,i=e.chart,o=e.pinchDown,r=t.touches||[],s=r.length,n=e.lastValidTouch,h=e.hasZoom,l=e.selectionMarker,c={},d=1===s&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),u={};1<s&&(e.initiated=!0),h&&e.initiated&&!d&&!1!==t.cancelable&&t.preventDefault(),[].map.call(r,function(t){return e.normalize(t)}),"touchstart"===t.type?([].forEach.call(r,function(t,e){o[e]={chartX:t.chartX,chartY:t.chartY}}),n.x=[o[0].chartX,o[1]&&o[1].chartX],n.y=[o[0].chartY,o[1]&&o[1].chartY],i.axes.forEach(function(t){if(t.zoomEnabled){var e=i.bounds[t.horiz?"h":"v"],o=t.minPixelPadding,r=t.toPixels(Math.min(x(t.options.min,t.dataMin),t.dataMin)),s=t.toPixels(Math.max(x(t.options.max,t.dataMax),t.dataMax)),n=Math.max(r,s);e.min=Math.min(t.pos,Math.min(r,s)-o),e.max=Math.max(t.pos+t.len,n+o)}}),e.res=!0):e.followTouchMove&&1===s?this.runPointActions(e.normalize(t)):o.length&&(l||(e.selectionMarker=l=p({destroy:a,touch:!0},i.plotBox)),e.pinchTranslate(o,r,c,l,u,n),e.hasPinched=h,e.scaleGroups(c,u),e.res&&(e.res=!1,this.reset(!1,0)))},t.prototype.pinchTranslate=function(t,e,i,o,r,s){this.zoomHor&&this.pinchTranslateDirection(!0,t,e,i,o,r,s),this.zoomVert&&this.pinchTranslateDirection(!1,t,e,i,o,r,s)},t.prototype.pinchTranslateDirection=function(t,e,i,o,r,s,n,a){var h,l,c=this.chart,d=t?"x":"y",p=t?"X":"Y",u="chart"+p,f=t?"width":"height",g=c["plot"+(t?"Left":"Top")],m=a||1,y=c.inverted,v=c.bounds[t?"h":"v"],x=1===e.length,b=e[0][u],w=i[0][u],C=!x&&e[1][u],S=!x&&i[1][u];if((i=function(){"number"==typeof S&&20<Math.abs(b-C)&&(m=a||Math.abs(w-S)/Math.abs(b-C)),l=(g-w)/m+b,h=c["plot"+(t?"Width":"Height")]/m})(),(e=l)<v.min){e=v.min;var k=!0}else e+h>v.max&&(e=v.max-h,k=!0);k?(w-=.8*(w-n[d][0]),"number"==typeof S&&(S-=.8*(S-n[d][1])),i()):n[d]=[w,S],y||(s[d]=l-g,s[f]=h),s=y?1/m:m,r[f]=h,r[d]=e,o[y?t?"scaleY":"scaleX":"scale"+p]=m,o["translate"+p]=s*g+(w-s*b)},t.prototype.reset=function(t,e){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,s=i.hoverPoints,n=i.tooltip,a=n&&n.shared?s:r;t&&a&&b(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&b(a).length&&(n.refresh(a),n.shared&&s?s.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),s&&s.forEach(function(t){t.setState()}),o&&o.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},t.prototype.runPointActions=function(t,i){var o=this.chart,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,s=!!r&&r.shared,a=i||o.hoverPoint,l=a&&a.series||o.hoverSeries;a=(l=this.getHoverData(a,l,o.series,(!t||"touchmove"!==t.type)&&(!!i||l&&l.directTouch&&this.isDirectTouch),s,t)).hoverPoint;var c=l.hoverPoints;if(i=(l=l.hoverSeries)&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,s=s&&l&&!l.noSharedTooltip,a&&(a!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!a.series)return;o.hoverPoints=c,o.hoverPoint=a,a.firePointEvent("mouseOver"),r&&r.refresh(s?c:a,t)}else i&&r&&!r.isHidden&&(a=r.getAnchor([{}],t),o.isInsidePlot(a[0],a[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:a[0],plotY:a[1]}));this.unDocMouseMove||(this.unDocMouseMove=h(o.container.ownerDocument,"mousemove",function(t){var i=n[e.hoverChartIndex];i&&i.pointer.onDocumentMouseMove(t)}),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){var i,r=x((e.crosshair||{}).snap,!0);r&&((i=o.hoverPoint)&&i.series[e.coll]===e||(i=u(c,function(t){return t.series[e.coll]===e}))),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()})},t.prototype.scaleGroups=function(t,e){var i,o=this.chart;o.series.forEach(function(r){i=t||r.getPlotBox(),r.xAxis&&r.xAxis.zoomEnabled&&r.group&&(r.group.attr(i),r.markerGroup&&(r.markerGroup.attr(i),r.markerGroup.clip(e?o.clipRect:null)),r.dataLabelsGroup&&r.dataLabelsGroup.attr(i))}),o.clipRect.attr(e||o.clipBox)},t.prototype.setDOMEvents=function(){var t=this,i=this.chart.container,o=i.ownerDocument;i.onmousedown=this.onContainerMouseDown.bind(this),i.onmousemove=this.onContainerMouseMove.bind(this),i.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(h(i,"mouseenter",this.onContainerMouseEnter.bind(this))),this.eventsToUnbind.push(h(i,"mouseleave",this.onContainerMouseLeave.bind(this))),e.unbindDocumentMouseUp||(e.unbindDocumentMouseUp=h(o,"mouseup",this.onDocumentMouseUp.bind(this)));for(var r=this.chart.renderTo.parentElement;r&&"BODY"!==r.tagName;)this.eventsToUnbind.push(h(r,"scroll",function(){delete t.chartPosition})),r=r.parentElement;e.hasTouch&&(this.eventsToUnbind.push(h(i,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(h(i,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),e.unbindDocumentTouchEnd||(e.unbindDocumentTouchEnd=h(o,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))},t.prototype.setHoverChartIndex=function(){var t=this.chart,i=e.charts[x(e.hoverChartIndex,-1)];i&&i!==t&&i.pointer.onContainerMouseLeave({relatedTarget:!0}),i&&i.mouseIsDown||(e.hoverChartIndex=t.index)},t.prototype.touch=function(t,e){var i=this.chart;if(this.setHoverChartIndex(),1===t.touches.length)if(t=this.normalize(t),i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&!i.openMenu){if(e&&this.runPointActions(t),"touchmove"===t.type)var o=!!(e=this.pinchDown)[0]&&4<=Math.sqrt(Math.pow(e[0].chartX-t.chartX,2)+Math.pow(e[0].chartY-t.chartY,2));x(o,!0)&&this.pinch(t)}else e&&this.reset();else 2===t.touches.length&&this.pinch(t)},t.prototype.touchSelect=function(t){return!(!this.chart.options.chart.zoomBySingleTouch||!t.touches||1!==t.touches.length)},t.prototype.zoomOption=function(t){var e=this.chart,i=e.options.chart,o=i.zoomType||"";e=e.inverted,/touch/.test(t.type)&&(o=x(i.pinchType,o)),this.zoomX=t=/x/.test(o),this.zoomY=o=/y/.test(o),this.zoomHor=t&&!e||o&&e,this.zoomVert=o&&!e||t&&e,this.hasZoom=t||o},t}(),e.Pointer=t}),e(i,"Core/MSPointer.js",[i["Core/Globals.js"],i["Core/Pointer.js"],i["Core/Utilities.js"]],function(t,e,i){function o(){var t=[];return t.item=function(t){return this[t]},d(u,function(e){t.push({pageX:e.pageX,pageY:e.pageY,target:e.target})}),t}function r(e,i,r,s){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!n[t.hoverChartIndex]||(s(e),(s=n[t.hoverChartIndex].pointer)[i]({type:r,target:e.currentTarget,preventDefault:h,touches:o()}))}var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.charts,a=t.doc,h=t.noop,l=i.addEvent,c=i.css,d=i.objectEach,p=i.removeEvent,u={},f=!!t.win.PointerEvent;return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.batchMSEvents=function(t){t(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown),t(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove),t(a,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},e.prototype.destroy=function(){this.batchMSEvents(p),t.prototype.destroy.call(this)},e.prototype.init=function(e,i){t.prototype.init.call(this,e,i),this.hasZoom&&c(e.container,{"-ms-touch-action":"none","touch-action":"none"})},e.prototype.onContainerPointerDown=function(t){r(t,"onContainerTouchStart","touchstart",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY,target:t.currentTarget}})},e.prototype.onContainerPointerMove=function(t){r(t,"onContainerTouchMove","touchmove",function(t){u[t.pointerId]={pageX:t.pageX,pageY:t.pageY},u[t.pointerId].target||(u[t.pointerId].target=t.currentTarget)})},e.prototype.onDocumentPointerUp=function(t){r(t,"onDocumentTouchEnd","touchend",function(t){delete u[t.pointerId]})},e.prototype.setDOMEvents=function(){t.prototype.setDOMEvents.call(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},e}(e)}),e(i,"Core/Series/Point.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=e.animObject,a=i.format,h=r.defaultOptions,l=s.addEvent,c=s.defined,d=s.erase,p=s.extend,u=s.fireEvent,f=s.getNestedProperty,g=s.isArray,m=s.isFunction,y=s.isNumber,v=s.isObject,x=s.merge,b=s.objectEach,w=s.pick,C=s.syncTimeout,S=s.removeEvent,k=s.uniqueKey;return e=function(){function e(){this.colorIndex=this.category=void 0,this.formatPrefix="point",this.id=void 0,this.isNull=!1,this.percentage=this.options=this.name=void 0,this.selected=!1,this.total=this.series=void 0,this.visible=!0,this.x=void 0}return e.prototype.animateBeforeDestroy=function(){var t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(p({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})},e.prototype.applyOptions=function(t,i){var o=this.series,r=o.options.pointValKey||o.pointValKey;return t=e.prototype.optionsToObject.call(this,t),p(this,t),this.options=this.options?p(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,r&&(this.y=e.prototype.getNestedProperty.call(this,r)),this.formatPrefix=(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!y(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&void 0===i&&o.xAxis&&o.xAxis.hasNames&&(this.x=o.xAxis.nameToX(this)),void 0===this.x&&o&&(this.x=void 0===i?o.autoIncrement(this):i),this},e.prototype.destroy=function(){function t(){for(r in(e.graphic||e.dataLabel||e.dataLabels)&&(S(e),e.destroyElements()),e)e[r]=null}var e=this,i=e.series,o=i.chart;i=i.options.dataSorting;var r,s=o.hoverPoints,a=n(e.series.chart.renderer.globalAnimation);e.legendItem&&o.legend.destroyItem(e),s&&(e.setState(),d(s,e),s.length||(o.hoverPoints=null)),e===o.hoverPoint&&e.onMouseOut(),i&&i.enabled?(this.animateBeforeDestroy(),C(t,a.duration)):t(),o.pointCount--},e.prototype.destroyElements=function(t){var e=this;(t=e.getGraphicalProps(t)).singular.forEach(function(t){e[t]=e[t].destroy()}),t.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.destroy()}),delete e[t]})},e.prototype.firePointEvent=function(t,e,i){var o=this,r=this.series.options;(r.point.events[t]||o.options&&o.options.events&&o.options.events[t])&&o.importEvents(),"click"===t&&r.allowPointSelect&&(i=function(t){o.select&&o.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),u(o,t,e,i)},e.prototype.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",""):"")},e.prototype.getGraphicalProps=function(t){var e,i=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","upperGraphic","shadowGroup"),t.dataLabel&&o.push("dataLabel","dataLabelUpper","connector"),e=o.length;e--;){var s=o[e];i[s]&&r.singular.push(s)}return["dataLabel","connector"].forEach(function(e){var o=e+"s";t[e]&&i[o]&&r.plural.push(o)}),r},e.prototype.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}},e.prototype.getNestedProperty=function(t){if(t)return 0===t.indexOf("custom.")?f(t,this.options):this[t]},e.prototype.getZone=function(){var t=this.series,e=t.zones;t=t.zoneAxis||"y";var i,o=0;for(i=e[o];this[t]>=i.value;)i=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=i&&i.color&&!this.options.color?i.color:this.nonZonedColor,i},e.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},e.prototype.init=function(t,e,i){return this.series=t,this.applyOptions(e,i),this.id=c(this.id)?this.id:k(),this.resolveColor(),t.chart.pointCount++,u(this,"afterInit"),this},e.prototype.optionsToObject=function(t){var i={},o=this.series,r=o.options.keys,s=r||o.pointArrayMap||["y"],n=s.length,a=0,h=0;if(y(t)||null===t)i[s[0]]=t;else if(g(t))for(!r&&t.length>n&&("string"==(o=typeof t[0])?i.name=t[0]:"number"===o&&(i.x=t[0]),a++);h<n;)r&&void 0===t[a]||(0<s[h].indexOf(".")?e.prototype.setNestedProperty(i,t[a],s[h]):i[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(i=t,t.dataLabels&&(o._hasPointLabels=!0),t.marker&&(o._hasPointMarkers=!0));return i},e.prototype.resolveColor=function(){var t=this.series,e=t.chart.options.chart.colorCount,i=t.chart.styledMode;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){var o=(e=t.options.colors||t.chart.options.colors)[t.colorCounter];e=e.length}i=t.colorCounter,t.colorCounter++,t.colorCounter===e&&(t.colorCounter=0)}else i||(o=t.color),i=t.colorIndex;this.colorIndex=w(this.options.colorIndex,i),this.color=w(this.options.color,o)},e.prototype.setNestedProperty=function(t,e,i){return i.split(".").reduce(function(t,i,o,r){return t[i]=r.length-1===o?e:v(t[i],!0)?t[i]:{},t[i]},t),t},e.prototype.tooltipFormatter=function(t){var e=this.series,i=e.tooltipOptions,o=w(i.valueDecimals,""),r=i.valuePrefix||"",s=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(r||s)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+s)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),a(t,{point:this,series:this.series},e.chart)},e.prototype.update=function(t,e,i,o){function r(){n.applyOptions(t);var o=h&&n.hasDummyGraphic;o=null===n.y?!o:o,h&&o&&(n.graphic=h.destroy(),delete n.hasDummyGraphic),v(t,!0)&&(h&&h.element&&t&&t.marker&&void 0!==t.marker.symbol&&(n.graphic=h.destroy()),t&&t.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy()),n.connector&&(n.connector=n.connector.destroy())),a.updateParallelArrays(n,s=n.index),c.data[s]=v(c.data[s],!0)||v(t,!0)?n.options:w(t,c.data[s]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===c.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}var s,n=this,a=n.series,h=n.graphic,l=a.chart,c=a.options;e=w(e,!0),!1===o?r():n.firePointEvent("update",{options:t},r)},e.prototype.remove=function(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)},e.prototype.select=function(t,e){var i=this,o=i.series,r=o.chart;this.selectedStaging=t=w(t,!i.selected),i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,o.options.data[o.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){var e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging},e.prototype.onMouseOver=function(t){var e=this.series.chart,i=e.pointer;t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e.inverted),i.runPointActions(t,this)},e.prototype.onMouseOut=function(){var t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null},e.prototype.importEvents=function(){if(!this.hasImportedEvents){var t=this,e=x(t.series.options.point,t.options).events;t.events=e,b(e,function(e,i){m(e)&&l(t,i,e)}),this.hasImportedEvents=!0}},e.prototype.setState=function(e,i){var o,r=this.series,s=this.state,n=r.options.states[e||"normal"]||{},a=h.plotOptions[r.type].marker&&r.options.marker,l=a&&a.states&&a.states[e||"normal"]||{},c=r.stateMarkerGraphic,d=this.marker||{},f=r.chart,g=r.halo,m=a&&r.markerAttribs;if(!((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===n.enabled||e&&(!1===l.enabled||a&&!1===a.enabled&&!1===l.enabled)||e&&d.states&&d.states[e]&&!1===d.states[e].enabled)){if(this.state=e,m&&(o=r.markerAttribs(this,e)),this.graphic&&!this.hasDummyGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),e&&this.graphic.addClass("highcharts-point-"+e),!f.styledMode){var v=r.pointAttribs(this,e),x=w(f.options.chart.animation,n.animation);r.options.inactiveOtherPoints&&y(v.opacity)&&((this.dataLabels||[]).forEach(function(t){t&&t.animate({opacity:v.opacity},x)}),this.connector&&this.connector.animate({opacity:v.opacity},x)),this.graphic.animate(v,x)}o&&this.graphic.animate(o,w(f.options.chart.animation,l.animation,a.animation)),c&&c.hide()}else e&&l&&(s=d.symbol||r.symbol,c&&c.currentSymbol!==s&&(c=c.destroy()),o&&(c?c[i?"animate":"attr"]({x:o.x,y:o.y}):s&&(r.stateMarkerGraphic=c=f.renderer.symbol(s,o.x,o.y,o.width,o.height).add(r.markerGroup),c.currentSymbol=s)),!f.styledMode&&c&&c.attr(r.pointAttribs(this,e))),c&&(c[e&&this.isInside?"show":"hide"](),c.element.point=this);o=(c=this.graphic||c)&&c.visibility||"inherit",(n=n.halo)&&n.size&&c&&"hidden"!==o&&!this.isCluster?(g||(r.halo=g=f.renderer.path().add(c.parentGroup)),g.show()[i?"animate":"attr"]({d:this.haloPath(n.size)}),g.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:o,zIndex:-1}),g.point=this,f.styledMode||g.attr(p({fill:this.color||r.color,"fill-opacity":n.opacity},t.filterUserAttributes(n.attributes||{})))):g&&g.point&&g.point.haloPath&&g.animate({d:g.point.haloPath(0)},null,g.hide),u(this,"afterSetState",{state:e})}},e.prototype.haloPath=function(t){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-t,this.plotY-t,2*t,2*t)},e}(),o.Point=e}),e(i,"Core/Legend.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=t.animObject,n=t.setAnimation,a=e.format;t=i.isFirefox;var h=i.marginNames;e=i.win;var l=r.addEvent,c=r.createElement,d=r.css,p=r.defined,u=r.discardElement,f=r.find,g=r.fireEvent,m=r.isNumber,y=r.merge,v=r.pick,x=r.relativeLength,b=r.stableSort,w=r.syncTimeout;r=r.wrap;var C=function(){function t(t,e){this.allItems=[],this.contentGroup=this.box=void 0,this.display=!1,this.group=void 0,this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0,this.options={},this.padding=0,this.pages=[],this.proximate=!1,this.scrollGroup=void 0,this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0,this.chart=t,this.init(t,e)}return t.prototype.init=function(t,e){this.chart=t,this.setOptions(e),e.enabled&&(this.render(),l(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=l(this.chart,"render",function(){this.legend.proximatePositions(),this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},t.prototype.setOptions=function(t){var e=v(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=y(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop||0,this.itemMarginBottom=t.itemMarginBottom||0,this.padding=e,this.initialItemY=e-5,this.symbolWidth=v(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0},t.prototype.update=function(t,e){var i=this.chart;this.setOptions(y(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,v(e,!0)&&i.redraw(),g(this,"afterUpdate")},t.prototype.colorizeItem=function(t,e){if(t.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=t.legendItem,r=t.legendLine,s=t.legendSymbol,n=this.itemHiddenStyle.color;i=e?i.itemStyle.color:n;var a=e&&t.color||n,h=t.options&&t.options.marker,l={fill:a};o&&o.css({fill:i,color:i}),r&&r.attr({stroke:a}),s&&(h&&s.isMarker&&(l=t.pointAttribs(),e||(l.stroke=l.fill=n)),s.attr(l))}g(this,"afterColorizeItem",{item:t,visible:e})},t.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()},t.prototype.positionItem=function(t){var e=this,i=this.options,o=i.symbolPadding,r=!i.rtl,s=t._legendItemPos;i=s[0],s=s[1];var n=t.checkbox,a=t.legendGroup;a&&a.element&&(o={translateX:r?i:this.legendWidth-i-2*o-4,translateY:s},r=function(){g(e,"afterPositionItem",{item:t})},p(a.translateY)?a.animate(o,void 0,r):(a.attr(o),r())),n&&(n.x=i,n.y=s)},t.prototype.destroyItem=function(t){var e=t.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),e&&u(t.checkbox)},t.prototype.destroy=function(){function t(t){this[t]&&(this[t]=this[t].destroy())}this.getAllItems().forEach(function(e){["legendItem","legendGroup"].forEach(t,e)}),"clipRect up down pager nav box title group".split(" ").forEach(t,this),this.display=null},t.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,e=this.clipHeight||this.legendHeight,i=this.titleHeight;if(t){var o=t.translateY;this.allItems.forEach(function(r){var s=r.checkbox;if(s){var n=o+i+s.y+(this.scrollOffset||0)+3;d(s,{left:t.translateX+r.checkboxOffset+s.x-20+"px",top:n+"px",display:this.proximate||n>o-6&&n<o+e-6?"":"none"})}},this)}},t.prototype.renderTitle=function(){var t=this.options,e=this.padding,i=t.title,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,null,null,null,t.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o},t.prototype.setText=function(t){var e=this.options;t.legendItem.attr({text:e.labelFormat?a(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})},t.prototype.renderItem=function(t){var e=this.chart,i=e.renderer,o=this.options,r=this.symbolWidth,s=o.symbolPadding||0,n=this.itemStyle,a=this.itemHiddenStyle,h="horizontal"===o.layout?v(o.itemDistance,20):0,l=!o.rtl,c=t.legendItem,d=!t.series,p=!d&&t.series.drawLegendSymbol?t.series:t,u=p.options,f=this.createCheckboxForItem&&u&&u.showCheckbox;u=r+s+h+(f?20:0);var g=o.useHTML,m=t.options.className;c||(t.legendGroup=i.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+t.colorIndex+(m?" "+m:"")+(d?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),t.legendItem=c=i.text("",l?r+s:-s,this.baseline||0,g),e.styledMode||c.css(y(t.visible?n:a)),c.attr({align:l?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.fontMetrics=i.fontMetrics(e.styledMode?12:n.fontSize,c),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,c.attr("y",this.baseline),this.symbolHeight=o.symbolHeight||this.fontMetrics.f,o.squareSymbol&&(this.symbolWidth=v(o.symbolWidth,Math.max(this.symbolHeight,16)),u=this.symbolWidth+s+h+(f?20:0),l&&c.attr("x",this.symbolWidth+s))),p.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,c,g)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),!e.styledMode&&n.width||c.css({width:(o.itemWidth||this.widthOption||e.spacingBox.width)-u+"px"}),this.setText(t),e=c.getBBox(),t.itemWidth=t.checkboxOffset=o.itemWidth||t.legendItemWidth||e.width+u,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(t.legendItemHeight||e.height||this.symbolHeight)},t.prototype.layoutItem=function(t){var e=this.options,i=this.padding,o="horizontal"===e.layout,r=t.itemHeight,s=this.itemMarginBottom,n=this.itemMarginTop,a=o?v(e.itemDistance,20):0,h=this.maxLegendWidth;e=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,o&&this.itemX-i+e>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+s),this.lastLineHeight=0),this.lastItemY=n+this.itemY+s,this.lastLineHeight=Math.max(r,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],o?this.itemX+=e:(this.itemY+=n+r+s,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((o?this.itemX-i-(t.checkbox?0:a):e)+i,this.offsetWidth)},t.prototype.getAllItems=function(){var t=[];return this.chart.series.forEach(function(e){var i=e&&e.options;e&&v(i.showInLegend,!p(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItems||("point"===i.legendType?e.data:e)))}),g(this,"afterGetAllItems",{allItems:t}),t},t.prototype.getAlignment=function(){var t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)},t.prototype.adjustMargins=function(t,e){var i=this.chart,o=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(s,n){s.test(r)&&!p(t[n])&&(i[h[n]]=Math.max(i[h[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*o[n%2?"x":"y"]+v(o.margin,12)+e[n]+(i.titleOffset[n]||0)))})},t.prototype.proximatePositions=function(){var t=this.chart,e=[],o="left"===this.options.align;this.allItems.forEach(function(i){var r,s=o;if(i.yAxis){i.xAxis.options.reversed&&(s=!s),i.points&&(r=f(s?i.points:i.points.slice(0).reverse(),function(t){return m(t.plotY)})),s=this.itemMarginTop+i.legendItem.getBBox().height+this.itemMarginBottom;var n=i.yAxis.top-t.plotTop;i.visible?(r=r?r.plotY:i.yAxis.height,r+=n-.3*s):r=n+i.yAxis.height,e.push({target:r,size:s,item:i})}},this),i.distribute(e,t.plotHeight),e.forEach(function(e){e.item._legendItemPos[1]=t.plotTop-t.spacing[0]+e.pos})},t.prototype.render=function(){var t=this.chart,e=t.renderer,i=this.group,o=this.box,r=this.options,s=this.padding;this.itemX=s,this.itemY=this.initialItemY,this.lastItemY=this.offsetWidth=0,this.widthOption=x(r.width,t.spacingBox.width-s);var n=t.spacingBox.width-2*s-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(n/=2),this.maxLegendWidth=this.widthOption||n,i||(this.group=i=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(i),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle();var a=this.getAllItems();b(a,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),r.reversed&&a.reverse(),this.allItems=a,this.display=n=!!a.length,this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s;var h=this.lastItemY+this.lastLineHeight+this.titleHeight;h=this.handleOverflow(h),h+=s,o||(this.box=o=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(i),o.isNew=!0),t.styledMode||o.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow),0<a&&0<h&&(o[o.isNew?"attr":"animate"](o.crisp.call({},{x:0,y:0,width:a,height:h},o.strokeWidth())),o.isNew=!1),o[n?"show":"hide"](),t.styledMode&&"none"===i.getStyle("display")&&(a=h=0),this.legendWidth=a,this.legendHeight=h,n&&this.align(),this.proximate||this.positionItems(),g(this,"afterRender")},t.prototype.align=function(t){void 0===t&&(t=this.chart.spacingBox);var e=this.chart,i=this.options,o=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<e.titleOffset[0]?o+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<e.titleOffset[2]&&(o-=e.titleOffset[2]),o!==t.y&&(t=y(t,{y:o})),this.group.align(y(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)},t.prototype.handleOverflow=function(t){var e=this,i=this.chart,o=i.renderer,r=this.options,s=r.y,n=this.padding;s=i.spacingBox.height+("top"===r.verticalAlign?-s:s)-n;var a,h,l=r.maxHeight,c=this.clipRect,d=r.navigation,p=v(d.animation,!0),u=d.arrowSize||12,f=this.nav,g=this.pages,m=this.allItems,y=function(t){"number"==typeof t?c.attr({height:t}):c&&(e.clipRect=c.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},x=function(t){return e[t]=o.circle(0,0,1.3*u).translate(u/2,u/2).add(f),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]};return"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(s/=2),l&&(s=Math.min(s,l)),g.length=0,t&&0<s&&t>s&&!1!==d.enabled?(this.clipHeight=a=Math.max(s-20-this.titleHeight-n,0),this.currentPage=v(this.currentPage,1),this.fullHeight=t,m.forEach(function(t,e){var i=t._legendItemPos[1],o=Math.round(t.legendItem.getBBox().height),r=g.length;(!r||i-g[r-1]>a&&(h||i)!==g[r-1])&&(g.push(h||i),r++),t.pageIx=r-1,h&&(m[e-1].pageIx=r-1),e===m.length-1&&i+o-g[r-1]>a&&i!==h&&(g.push(i),t.pageIx=r),i!==h&&(h=i)}),c||(c=e.clipRect=o.clipRect(0,n,9999,0),e.contentGroup.clip(c)),y(a),f||(this.nav=f=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(f),x("upTracker").on("click",function(){e.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),i.styledMode||this.pager.css(d.style),this.pager.add(f),this.down=o.symbol("triangle-down",0,0,u,u).add(f),x("downTracker").on("click",function(){e.scroll(1,p)})),e.scroll(0),t=s):f&&(y(),this.nav=f.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},t.prototype.scroll=function(t,e){var i=this,o=this.chart,r=this.pages,a=r.length,h=this.currentPage+t;t=this.clipHeight;var l=this.options.navigation,c=this.pager,d=this.padding;h>a&&(h=a),0<h&&(void 0!==e&&n(e,o),this.nav.attr({translateX:d,translateY:t+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:h+"/"+a}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===h?l.inactiveColor:l.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===a?l.inactiveColor:l.activeColor}),this.downTracker.css({cursor:h===a?"default":"pointer"})),this.scrollOffset=-r[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),e=s(v(e,o.renderer.globalAnimation,!0)),w(function(){g(i,"afterScroll",{currentPage:h})},e.duration))},t.prototype.setItemEvents=function(t,e,i){var r=this,s=r.chart.renderer.boxWrapper,n=t instanceof o,a="highcharts-legend-"+(n?"point":"series")+"-active",h=r.chart.styledMode;(i?[e,t.legendSymbol]:[t.legendGroup]).forEach(function(i){i&&i.on("mouseover",function(){t.visible&&r.allItems.forEach(function(e){t!==e&&e.setState("inactive",!n)}),t.setState("hover"),t.visible&&s.addClass(a),h||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(y(t.visible?r.itemStyle:r.itemHiddenStyle)),r.allItems.forEach(function(e){t!==e&&e.setState("",!n)}),s.removeClass(a),t.setState()}).on("click",function(e){var i=function(){t.setVisible&&t.setVisible(),r.allItems.forEach(function(e){t!==e&&e.setState(t.visible?"inactive":"",!n)})};s.removeClass(a),e={browserEvent:e},t.firePointEvent?t.firePointEvent("legendItemClick",e,i):g(t,"legendItemClick",e,i)})})},t.prototype.createCheckboxForItem=function(t){t.checkbox=c("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),l(t.checkbox,"click",function(e){g(t.series||t,"checkboxClick",{checked:e.target.checked,item:t},function(){t.select()})})},t}();return(/Trident\/7\.0/.test(e.navigator&&e.navigator.userAgent)||t)&&r(C.prototype,"positionItem",function(t,e){var i=this,o=function(){e._legendItemPos&&t.call(i,e)};o(),i.bubbleLegend||setTimeout(o)}),i.Legend=C,i.Legend}),e(i,"Core/Series/SeriesRegistry.js",[i["Core/Globals.js"],i["Core/Options.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r,s=e.defaultOptions,n=o.error,a=o.extendClass,h=o.merge;return function(e){function o(t,o){var r=s.plotOptions||{},n=o.defaultOptions;o.prototype.pointClass||(o.prototype.pointClass=i),o.prototype.type=t,n&&(r[t]=n),e.seriesTypes[t]=o}e.seriesTypes=t.seriesTypes,e.getSeries=function(t,i){void 0===i&&(i={});var o=t.options.chart,r=e.seriesTypes[o=i.type||o.type||o.defaultSeriesType||""];return e||n(17,!0,t,{missingModuleFor:o}),"function"==typeof(o=new r).init&&o.init(t,i),o},e.registerSeriesType=o,e.seriesType=function(t,r,n,l,c){var d=s.plotOptions||{};return d[t]=h(d[r=r||""],n),o(t,a(e.seriesTypes[r]||function(){},l)),e.seriesTypes[t].prototype.type=t,c&&(e.seriesTypes[t].prototype.pointClass=a(i,c)),e.seriesTypes[t]}}(r||(r={})),t.seriesType=r.seriesType,r}),e(i,"Core/Chart/Chart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Legend.js"],i["Core/MSPointer.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Pointer.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Time.js"],i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"]],function(t,e,i,o,r,s,n,a,h,l,c,d,p){var u=t.animate,f=t.animObject,g=t.setAnimation,m=i.numberFormat,y=o.charts,v=o.doc,x=o.win,b=n.defaultOptions,w=n.defaultTime,C=l.seriesTypes,S=d.addEvent,k=d.attr,M=d.cleanRecursively,A=d.createElement,T=d.css,P=d.defined,O=d.discardElement,E=d.erase,L=d.error,D=d.extend,j=d.find,I=d.fireEvent,_=d.getStyle,B=d.isArray,R=d.isFunction,z=d.isNumber,N=d.isObject,G=d.isString,W=d.merge,H=d.objectEach,X=d.pick,F=d.pInt,U=d.relativeLength,Y=d.removeEvent,V=d.splat,Z=d.syncTimeout,q=d.uniqueKey,K=o.marginNames,$=function(){function t(t,e,i){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0,this.sharedClips={},this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0,this.getArgs(t,e,i)}return t.prototype.getArgs=function(t,e,i){G(t)||t.nodeName?(this.renderTo=t,this.init(e,i)):this.init(t,e)},t.prototype.init=function(t,e){var i=t.plotOptions||{};I(this,"init",{args:arguments},function(){var r=W(b,t),s=r.chart;H(r.plotOptions,function(t,e){N(t)&&(t.tooltip=i[e]&&W(i[e].tooltip)||void 0)}),r.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip,this.userOptions=t;var n=s.events;this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=r,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new c(t.time):o.time,this.numberFormatter=s.numberFormatter||m,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;var a=this;a.index=y.length,y.push(a),o.chartCount++,n&&H(n,function(t,e){R(t)&&S(a,e,t)}),a.xAxis=[],a.yAxis=[],a.pointCount=a.colorCounter=a.symbolCounter=0,I(a,"afterInit"),a.firstRender()})},t.prototype.initSeries=function(t){var e=this.options.chart,i=C[e=t.type||e.type||e.defaultSeriesType];return i||L(17,!0,this,{missingModuleFor:e}),"function"==typeof(e=new i).init&&e.init(this,t),e},t.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})},t.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})},t.prototype.orderSeries=function(t){var e=this.series;for(t=t||0;t<e.length;t++)e[t]&&(e[t].index=t,e[t].name=e[t].getName())},t.prototype.isInsidePlot=function(t,e,i){void 0===i&&(i={});var o=this.inverted,r=this.plotBox,s=this.plotLeft,n=this.plotTop,a=this.scrollablePlotBox,h=this.scrollingContainer,l=(h=void 0===h?{scrollLeft:0,scrollTop:0}:h).scrollLeft;h=h.scrollTop;var c=i.series;if(r=i.visiblePlotOnly&&a||r,t={x:a=i.inverted?e:t,y:e=i.inverted?t:e,isInsidePlot:!0},!i.ignoreX){var d=c&&(o?c.yAxis:c.xAxis)||{pos:s,len:1/0};(a=i.paneCoordinates?d.pos+a:s+a)>=Math.max(l+s,d.pos)&&a<=Math.min(l+s+r.width,d.pos+d.len)||(t.isInsidePlot=!1)}return!i.ignoreY&&t.isInsidePlot&&(o=c&&(o?c.xAxis:c.yAxis)||{pos:n,len:1/0},(i=i.paneCoordinates?o.pos+e:n+e)>=Math.max(h+n,o.pos)&&i<=Math.min(h+n+r.height,o.pos+o.len)||(t.isInsidePlot=!1)),I(this,"afterIsInsidePlot",t),t.isInsidePlot},t.prototype.redraw=function(t){I(this,"beforeRedraw");var e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,o=this.pointer,r=this.legend,s=this.userOptions.legend,n=this.isDirtyLegend,a=this.isDirtyBox,h=this.renderer,l=h.isHidden(),c=[];for(this.setResponsive&&this.setResponsive(!1),g(!!this.hasRendered&&t,this),l&&this.temporaryDisplay(),this.layOutTitles(),t=i.length;t--;){var d=i[t];if(d.options.stacking||d.options.centerInCategory){var p=!0;if(d.isDirty){var u=!0;break}}}if(u)for(t=i.length;t--;)(d=i[t]).options.stacking&&(d.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),n=!0):s&&(s.labelFormatter||s.labelFormat)&&(n=!0)),t.isDirtyData&&I(t,"updatedData")}),n&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),p&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(a=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,c.push(function(){I(t,"afterSetExtremes",D(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(a||p)&&t.redraw()}),a&&this.drawChartBox(),I(this,"predraw"),i.forEach(function(t){(a||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),o&&o.reset(!0),h.draw(),I(this,"redraw"),I(this,"render"),l&&this.temporaryDisplay(!0),c.forEach(function(t){t.call()})},t.prototype.get=function(t){function e(e){return e.id===t||e.options&&e.options.id===t}var i,o=this.series,r=j(this.axes,e)||j(this.series,e);for(i=0;!r&&i<o.length;i++)r=j(o[i].points||[],e);return r},t.prototype.getAxes=function(){var t=this,i=this.options,o=i.xAxis=V(i.xAxis||{});i=i.yAxis=V(i.yAxis||{}),I(this,"getAxes"),o.forEach(function(t,e){t.index=e,t.isX=!0}),i.forEach(function(t,e){t.index=e}),o.concat(i).forEach(function(i){new e(t,i)}),I(this,"afterGetAxes")},t.prototype.getSelectedPoints=function(){var t=[];return this.series.forEach(function(e){t=t.concat(e.getPointsCollection().filter(function(t){return X(t.selectedStaging,t.selected)}))}),t},t.prototype.getSelectedSeries=function(){return this.series.filter(function(t){return t.selected})},t.prototype.setTitle=function(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)},t.prototype.applyDescription=function(t,e){var i=this,o="title"===t?{color:a.neutralColor80,fontSize:this.options.isStock?"16px":"18px"}:{color:a.neutralColor60};o=this.options[t]=W(!this.styledMode&&{style:o},this.options[t],e);var r=this[t];r&&e&&(this[t]=r=r.destroy()),o&&!r&&((r=this.renderer.text(o.text,0,0,o.useHTML).attr({align:o.align,class:"highcharts-"+t,zIndex:o.zIndex||4}).add()).update=function(e){i[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[t]](e)},this.styledMode||r.css(o.style),this[t]=r)},t.prototype.layOutTitles=function(t){var e=[0,0,0],i=this.renderer,o=this.spacingBox;["title","subtitle","caption"].forEach(function(t){var r=this[t],s=this.options[t],n=s.verticalAlign||"top";if(t="title"===t?-3:"top"===n?e[0]+2:0,r){if(!this.styledMode)var a=s.style.fontSize;a=i.fontMetrics(a,r).b,r.css({width:(s.width||o.width+(s.widthAdjust||0))+"px"});var h=Math.round(r.getBBox(s.useHTML).height);r.align(D({y:"bottom"===n?a:t+a,height:h},s),!1,"spacingBox"),s.floating||("top"===n?e[0]=Math.ceil(e[0]+h):"bottom"===n&&(e[2]=Math.ceil(e[2]+h)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);var r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,I(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&X(t,!0)&&this.isDirtyBox&&this.redraw())},t.prototype.getChartSize=function(){var t=this.options.chart,e=t.width;t=t.height;var i=this.renderTo;P(e)||(this.containerWidth=_(i,"width")),P(t)||(this.containerHeight=_(i,"height")),this.chartWidth=Math.max(0,e||this.containerWidth||600),this.chartHeight=Math.max(0,U(t,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},t.prototype.temporaryDisplay=function(t){var e=this.renderTo;if(t)for(;e&&e.style;)e.hcOrigStyle&&(T(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(v.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(v.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,v.body.appendChild(e)),("none"===_(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},t={display:"block",overflow:"hidden"},e!==this.renderTo&&(t.height=0),T(e,t),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==v.body););},t.prototype.setClassName=function(t){this.container.className="highcharts-container "+(t||"")},t.prototype.getContainer=function(){var t,e,i=this.options,r=i.chart,s=this.renderTo,n=q();s||(this.renderTo=s=r.renderTo),G(s)&&(this.renderTo=s=v.getElementById(s)),s||L(13,!0,this);var a=F(k(s,"data-highcharts-chart"));z(a)&&y[a]&&y[a].hasRendered&&y[a].destroy(),k(s,"data-highcharts-chart",this.index),s.innerHTML="",r.skipClone||s.offsetWidth||this.temporaryDisplay(),this.getChartSize(),a=this.chartWidth;var h=this.chartHeight;if(T(s,{overflow:"hidden"}),this.styledMode||(t=D({position:"relative",overflow:"hidden",width:a+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},r.style||{})),this.container=s=A("div",{id:n},t,s),this._cursor=s.style.cursor,this.renderer=new(o[r.renderer]||o.Renderer)(s,a,h,null,r.forExport,i.exporting&&i.exporting.allowHTML,this.styledMode),g(void 0,this),this.setClassName(r.className),this.styledMode)for(e in i.defs)this.renderer.definition(i.defs[e]);else this.renderer.setStyle(r.style);this.renderer.chartIndex=this.index,I(this,"afterGetContainer")},t.prototype.getMargins=function(t){var e=this.spacing,i=this.margin,o=this.titleOffset;this.resetMargins(),o[0]&&!P(i[0])&&(this.plotTop=Math.max(this.plotTop,o[0]+e[0])),o[2]&&!P(i[2])&&(this.marginBottom=Math.max(this.marginBottom,o[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),I(this,"getMargins"),t||this.getAxisMargins()},t.prototype.getAxisMargins=function(){var t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,o=t.margin,r=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),K.forEach(function(i,r){P(o[r])||(t[i]+=e[r])}),t.setChartSize()},t.prototype.reflow=function(t){var e=this,i=e.options.chart,o=e.renderTo,r=P(i.width)&&P(i.height),s=i.width||_(o,"width");i=i.height||_(o,"height"),o=t?t.target:x,delete e.pointer.chartPosition,r||e.isPrinting||!s||!i||o!==x&&o!==v||(s===e.containerWidth&&i===e.containerHeight||(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerWidth=s,e.containerHeight=i)},t.prototype.setReflow=function(t){var e=this;!1===t||this.unbindReflow?!1===t&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=S(x,"resize",function(t){e.options&&e.reflow(t)}),S(this,"destroy",this.unbindReflow))},t.prototype.setSize=function(t,e,i){var o=this,r=o.renderer;o.isResizing+=1,g(i,o),i=r.globalAnimation,o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,void 0!==t&&(o.options.chart.width=t),void 0!==e&&(o.options.chart.height=e),o.getChartSize(),o.styledMode||(i?u:T)(o.container,{width:o.chartWidth+"px",height:o.chartHeight+"px"},i),o.setChartSize(!0),r.setSize(o.chartWidth,o.chartHeight,i),o.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(i),o.oldChartHeight=null,I(o,"resize"),Z(function(){o&&I(o,"endResize",null,function(){--o.isResizing})},f(i).duration)},t.prototype.setChartSize=function(t){var e,i,o,r,s=this.inverted,n=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=o=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=s?r:o,this.plotSizeY=s?o:r,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=n.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=n.plotBox={x:e,y:i,width:o,height:r},h=2*Math.floor(this.plotBorderWidth/2),s=Math.ceil(Math.max(h,d[3])/2),a=Math.ceil(Math.max(h,d[0])/2),this.clipBox={x:s,y:a,width:Math.floor(this.plotSizeX-Math.max(h,d[1])/2-s),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(h,d[2])/2-a))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),n.alignElements()),I(this,"afterSetChartSize",{skipAxes:t})},t.prototype.resetMargins=function(){I(this,"resetMargins");var t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){var o=e[i],r=N(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(o,s){t[i][s]=X(e[i+o],r[s])})}),K.forEach(function(e,i){t[e]=X(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]},t.prototype.drawChartBox=function(){var t,e=this.options.chart,i=this.renderer,o=this.chartWidth,r=this.chartHeight,s=this.chartBackground,n=this.plotBackground,a=this.plotBorder,h=this.styledMode,l=this.plotBGImage,c=e.backgroundColor,d=e.plotBackgroundColor,p=e.plotBackgroundImage,u=this.plotLeft,f=this.plotTop,g=this.plotWidth,m=this.plotHeight,y=this.plotBox,v=this.clipRect,x=this.clipBox,b="animate";if(s||(this.chartBackground=s=i.rect().addClass("highcharts-background").add(),b="attr"),h)var w=t=s.strokeWidth();else t=(w=e.borderWidth||0)+(e.shadow?8:0),c={fill:c||"none"},(w||s["stroke-width"])&&(c.stroke=e.borderColor,c["stroke-width"]=w),s.attr(c).shadow(e.shadow);s[b]({x:t/2,y:t/2,width:o-t-w%2,height:r-t-w%2,r:e.borderRadius}),b="animate",n||(b="attr",this.plotBackground=n=i.rect().addClass("highcharts-plot-background").add()),n[b](y),h||(n.attr({fill:d||"none"}).shadow(e.plotShadow),p&&(l?(p!==l.attr("href")&&l.attr("href",p),l.animate(y)):this.plotBGImage=i.image(p,u,f,g,m).add())),v?v.animate({width:x.width,height:x.height}):this.clipRect=i.clipRect(x),b="animate",a||(b="attr",this.plotBorder=a=i.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),h||a.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:"none"}),a[b](a.crisp({x:u,y:f,width:g,height:m},-a.strokeWidth())),this.isDirtyBox=!1,I(this,"afterDrawChartBox")},t.prototype.propFromSeries=function(){var t,e,i,o=this,r=o.options.chart,s=o.options.series;["inverted","angular","polar"].forEach(function(n){for(t=C[r.type||r.defaultSeriesType],i=r[n]||t&&t.prototype[n],e=s&&s.length;!i&&e--;)(t=C[s[e].type])&&t.prototype[n]&&(i=!0);o[n]=i})},t.prototype.linkSeries=function(){var t=this,e=t.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options.linkedTo;G(i)&&(i=":previous"===i?t.series[e.index-1]:t.get(i))&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,i.enabledDataSorting&&e.setDataSortingOptions(),e.visible=X(e.options.visible,i.options.visible,e.visible))}),I(this,"afterLinkSeries")},t.prototype.renderSeries=function(){this.series.forEach(function(t){t.translate(),t.render()})},t.prototype.renderLabels=function(){var t=this,e=t.options.labels;e.items&&e.items.forEach(function(i){var o=D(e.style,i.style),r=F(o.left)+t.plotLeft,s=F(o.top)+t.plotTop+12;delete o.left,delete o.top,t.renderer.text(i.html,r,s).attr({zIndex:2}).css(o).add()})},t.prototype.render=function(){var t=this.axes,e=this.colorAxis,i=this.renderer,o=this.options,s=0,n=function(t){t.forEach(function(t){t.visible&&t.render()})};this.setTitle(),this.legend=new r(this,o.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),o=this.plotWidth,t.some(function(t){if(t.horiz&&t.visible&&t.options.labels.enabled&&t.series.length)return s=21,!0});var a=this.plotHeight=Math.max(this.plotHeight-s,0);t.forEach(function(t){t.setScale()}),this.getAxisMargins();var h=1.1<o/this.plotWidth,l=1.05<a/this.plotHeight;(h||l)&&(t.forEach(function(t){(t.horiz&&h||!t.horiz&&l)&&t.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries?n(t):e&&e.length&&n(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},t.prototype.addCredits=function(t){var e=this,i=W(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(x.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})},t.prototype.destroy=function(){var t,e=this,i=e.axes,r=e.series,s=e.container,n=s&&s.parentNode;for(I(e,"destroy"),e.renderer.forExport?E(y,e):y[e.index]=void 0,o.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Y(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=r.length;t--;)r[t]=r[t].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),s&&(s.innerHTML="",Y(s),n&&O(s)),H(e,function(t,i){delete e[i]})},t.prototype.firstRender=function(){var t=this,e=t.options;t.isReadyToRender&&!t.isReadyToRender()||(t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes(),(B(e.series)?e.series:[]).forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSeriesData(),I(t,"beforeRender"),h&&(t.pointer=o.hasTouch||!x.PointerEvent&&!x.MSPointerEvent?new h(t,e):new s(t,e)),t.render(),t.pointer.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0))},t.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),I(this,"load"),I(this,"render"),P(this.index)&&this.setReflow(this.options.chart.reflow),this.hasLoaded=!0},t.prototype.addSeries=function(t,e,i){var o,r=this;return t&&(e=X(e,!0),I(r,"addSeries",{options:t},function(){o=r.initSeries(t),r.isDirtyLegend=!0,r.linkSeries(),o.enabledDataSorting&&o.setData(t.data,!1),I(r,"afterAddSeries",{series:o}),e&&r.redraw(i)})),o},t.prototype.addAxis=function(t,e,i,o){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:o})},t.prototype.addColorAxis=function(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})},t.prototype.createAxis=function(t,i){var r="colorAxis"===t,s=i.redraw,n=i.animation;return t=W(i.axis,{index:this[t].length,isX:"xAxis"===t}),t=r?new o.ColorAxis(this,t):new e(this,t),r&&(this.isDirtyLegend=!0,this.axes.forEach(function(t){t.series=[]}),this.series.forEach(function(t){t.bindAxes(),t.isDirtyData=!0})),X(s,!0)&&this.redraw(n),t},t.prototype.showLoading=function(t){var e=this,i=e.options,o=e.loadingDiv,r=e.loadingSpan,s=i.loading,n=function(){o&&T(o,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})};o||(e.loadingDiv=o=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),r||(e.loadingSpan=r=A("span",{className:"highcharts-loading-inner"},null,o),S(e,"redraw",n)),o.className="highcharts-loading",p.setElementHTML(r,X(t,i.lang.loading,"")),e.styledMode||(T(o,D(s.style,{zIndex:10})),T(r,s.labelStyle),e.loadingShown||(T(o,{opacity:0,display:""}),u(o,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,n()},t.prototype.hideLoading=function(){var t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){T(e,{display:"none"})}})),this.loadingShown=!1},t.prototype.update=function(t,e,i,o){var r,s,n,a=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];if(I(a,"update",{options:t}),l||a.setResponsive(!1,!0),t=M(t,a.options),a.userOptions=W(a.userOptions,t),r=t.chart){if(W(!0,a.options.chart,r),"className"in r&&a.setClassName(r.className),"reflow"in r&&a.setReflow(r.reflow),"inverted"in r||"polar"in r||"type"in r){a.propFromSeries();var p=!0}"alignTicks"in r&&(p=!0),H(r,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(s=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(l?a.isDirtyBox=!0:n=!0)}),!a.styledMode&&"style"in r&&a.renderer.setStyle(r.style)}!a.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===w&&(this.time=new c(t.time)),W(!0,a.options.time,t.time)),H(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[h[i]]?a[h[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&W(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(s=!0)}),this.collectionsWithUpdate.forEach(function(e){if(t[e]){var o=[];a[e].forEach(function(t,e){t.options.isInternal||o.push(X(t.options.index,e))}),V(t[e]).forEach(function(t,r){var s,n=P(t.id);n&&(s=a.get(t.id)),!s&&a[e]&&(s=a[e][o?o[r]:r])&&n&&P(s.options.id)&&(s=void 0),s&&s.coll===e&&(s.update(t,!1),i&&(s.touched=!0)),!s&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:d.push(t)})}}),d.forEach(function(t){t.chart&&t.remove(!1)}),p&&a.axes.forEach(function(t){t.update({},!1)}),s&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this),p=r&&r.width,G(r=r&&r.height)&&(r=U(r,p||a.chartWidth)),n||z(p)&&p!==a.chartWidth||z(r)&&r!==a.chartHeight?a.setSize(p,r,o):X(e,!0)&&a.redraw(o),I(a,"afterUpdate",{options:t,redraw:e,animation:o})},t.prototype.setSubtitle=function(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)},t.prototype.setCaption=function(t,e){this.applyDescription("caption",t),this.layOutTitles(e)},t.prototype.showResetZoom=function(){function t(){e.zoomOut()}var e=this,i=b.lang,o=e.options.chart.resetZoomButton,r=o.theme,s=r.states,n="chart"===o.relativeTo||"spacingBox"===o.relativeTo?null:"scrollablePlotBox";I(this,"beforeShowResetZoom",null,function(){e.resetZoomButton=e.renderer.button(i.resetZoom,null,null,t,r,s&&s.hover).attr({align:o.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(o.position,!1,n)}),I(this,"afterShowResetZoom")},t.prototype.zoomOut=function(){I(this,"selection",{resetSelection:!0},this.zoom)},t.prototype.zoom=function(t){var e,i=this,o=i.pointer,r=!1,s=i.inverted?o.mouseDownX:o.mouseDownY;!t||t.resetSelection?(i.axes.forEach(function(t){e=t.zoom()}),o.initiated=!1):t.xAxis.concat(t.yAxis).forEach(function(t){var n=t.axis,a=i.inverted?n.left:n.top,h=n.isXAxis,l=!1;(!h&&s>=a&&s<=(i.inverted?a+n.width:a+n.height)||h||!P(s))&&(l=!0),o[h?"zoomX":"zoomY"]&&l&&(e=n.zoom(t.min,t.max),n.displayBtn&&(r=!0))});var n=i.resetZoomButton;r&&!n?i.showResetZoom():!r&&N(n)&&(i.resetZoomButton=n.destroy()),e&&i.redraw(X(i.options.chart.animation,t&&t.animation,100>i.pointCount))},t.prototype.pan=function(t,e){var i,o=this,r=o.hoverPoints,s=o.options.chart,n=o.options.mapNavigation&&o.options.mapNavigation.enabled;e="object"==typeof e?e:{enabled:e,type:"x"},s&&s.panning&&(s.panning=e);var a=e.type;I(this,"pan",{originalEvent:t},function(){r&&r.forEach(function(t){t.setState()});var e=[1];"xy"===a?e=[1,0]:"y"===a&&(e=[0]),e.forEach(function(e){var r=o[e?"xAxis":"yAxis"][0],s=r.horiz,h=t[s?"chartX":"chartY"],l=o[s=s?"mouseDownX":"mouseDownY"],c=(r.pointRange||0)/2,d=r.reversed&&!o.inverted||!r.reversed&&o.inverted?-1:1,p=r.getExtremes(),u=r.toValue(l-h,!0)+c*d,f=(d=r.toValue(l+r.len-h,!0)-c*d)<u;l=f?d:u,u=f?u:d,d=r.hasVerticalPanning();var g=r.panningState;!d||e||g&&!g.isDirty||r.series.forEach(function(t){var e=t.getProcessedData(!0);e=t.getExtremes(e.yData,!0),g||(g={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE}),z(e.dataMin)&&z(e.dataMax)&&(g.startMin=Math.min(X(t.options.threshold,1/0),e.dataMin,g.startMin),g.startMax=Math.max(X(t.options.threshold,-1/0),e.dataMax,g.startMax))}),e=Math.min(X(g&&g.startMin,p.dataMin),c?p.min:r.toValue(r.toPixels(p.min)-r.minPixelPadding)),c=Math.max(X(g&&g.startMax,p.dataMax),c?p.max:r.toValue(r.toPixels(p.max)+r.minPixelPadding)),r.panningState=g,r.isOrdinal||(0<(d=e-l)&&(u+=d,l=e),0<(d=u-c)&&(u=c,l-=d),r.series.length&&l!==p.min&&u!==p.max&&l>=e&&u<=c&&(r.setExtremes(l,u,!1,!1,{trigger:"pan"}),o.resetZoomButton||n||l===e||u===c||!a.match("y")||(o.showResetZoom(),r.displayBtn=!1),i=!0),o[s]=h)}),i&&o.redraw(!1),T(o.container,{cursor:"move"})})},t}();return D($.prototype,{callbacks:[],collectionsWithInit:{xAxis:[$.prototype.addAxis,[!0]],yAxis:[$.prototype.addAxis,[!1]],series:[$.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")}),o.chart=function(t,e,i){return new $(t,e,i)},o.Chart=$,$}),e(i,"Mixins/LegendSymbol.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=e.merge,o=e.pick;return t.LegendSymbolMixin={drawRectangle:function(t,e){var i=t.symbolHeight,r=t.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(r?(t.symbolWidth-i)/2:0,t.baseline-i+1,r?i:t.symbolWidth,i,o(t.options.symbolRadius,i/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(t){var e=this.options,r=e.marker,s=t.symbolWidth,n=t.symbolHeight,a=n/2,h=this.chart.renderer,l=this.legendGroup;t=t.baseline-Math.round(.3*t.fontMetrics.b);var c={};this.chart.styledMode||(c={"stroke-width":e.lineWidth||0},e.dashStyle&&(c.dashstyle=e.dashStyle)),this.legendLine=h.path([["M",0,t],["L",s,t]]).addClass("highcharts-graph").attr(c).add(l),r&&!1!==r.enabled&&s&&(e=Math.min(o(r.radius,a),a),0===this.symbol.indexOf("url")&&(r=i(r,{width:n,height:n}),e=0),this.legendSymbol=r=h.symbol(this.symbol,s/2-e,t-e,2*e,2*e,r).addClass("highcharts-point").add(l),r.isMarker=!0)}}}),e(i,"Core/Series/Series.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=t.animObject,c=t.setAnimation,d=e.hasTouch,p=e.svg,u=e.win,f=o.defaultOptions,g=n.seriesTypes,m=h.addEvent,y=h.arrayMax,v=h.arrayMin,x=h.clamp,b=h.cleanRecursively,w=h.correctFloat,C=h.defined,S=h.erase,k=h.error,M=h.extend,A=h.find,T=h.fireEvent,P=h.getNestedProperty,O=h.isArray,E=h.isFunction,L=h.isNumber,D=h.isString,j=h.merge,I=h.objectEach,_=h.pick,B=h.removeEvent,R=h.splat,z=h.syncTimeout;return t=function(){function t(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}return t.prototype.init=function(t,e){T(this,"init",{options:e});var i,o=this,r=t.series;this.eventOptions=this.eventOptions||{},this.eventsToUnbind=[],o.chart=t,o.options=o.setOptions(e);var s=o.options;o.linkedSeries=[],o.bindAxes(),M(o,{name:s.name,state:"",visible:!1!==s.visible,selected:!0===s.selected}),I(e=s.events,function(t,e){E(t)&&o.eventOptions[e]!==t&&(E(o.eventOptions[e])&&B(o,e,o.eventOptions[e]),o.eventOptions[e]=t,m(o,e,t))}),(e&&e.click||s.point&&s.point.events&&s.point.events.click||s.allowPointSelect)&&(t.runTrackerClick=!0),o.getColor(),o.getSymbol(),o.parallelArrays.forEach(function(t){o[t+"Data"]||(o[t+"Data"]=[])}),o.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),o._i=_(i&&i._i,-1)+1,o.opacity=o.options.opacity,t.orderSeries(this.insert(r)),s.dataSorting&&s.dataSorting.enabled?o.setDataSortingOptions():o.points||o.data||o.setData(s.data,!1),T(this,"afterInit")},t.prototype.is=function(t){return g[t]&&this instanceof g[t]},t.prototype.insert=function(t){var e,i=this.options.index;if(L(i)){for(e=t.length;e--;)if(i>=_(t[e].options.index,t[e]._i)){t.splice(e+1,0,this);break}-1===e&&t.unshift(this),e+=1}else t.push(this);return _(e,t.length-1)},t.prototype.bindAxes=function(){var t,e=this,i=e.options,o=e.chart;T(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){var s=0;o[r].forEach(function(o){t=o.options,(i[r]===s&&!t.isInternal||void 0!==i[r]&&i[r]===t.id||void 0===i[r]&&0===t.index)&&(e.insert(o.series),e[r]=o,o.isDirty=!0),t.isInternal||s++}),e[r]||e.optionalAxis===r||k(18,!0,o)})}),T(this,"afterBindAxes")},t.prototype.updateParallelArrays=function(t,e){var i=t.series,o=arguments,r=L(e)?function(o){var r="y"===o&&i.toYData?i.toYData(t):t[o];i[o+"Data"][e]=r}:function(t){Array.prototype[e].apply(i[t+"Data"],Array.prototype.slice.call(o,2))};i.parallelArrays.forEach(r)},t.prototype.hasData=function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},t.prototype.autoIncrement=function(){var t,e=this.options,i=this.xIncrement,o=e.pointIntervalUnit,r=this.chart.time;return i=_(i,e.pointStart,0),this.pointInterval=t=_(this.pointInterval,e.pointInterval,1),o&&(e=new r.Date(i),"day"===o?r.set("Date",e,r.get("Date",e)+t):"month"===o?r.set("Month",e,r.get("Month",e)+t):"year"===o&&r.set("FullYear",e,r.get("FullYear",e)+t),t=e.getTime()-i),this.xIncrement=i+t,i},t.prototype.setDataSortingOptions=function(){var t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)},t.prototype.setOptions=function(t){var e=this.chart,i=e.options,o=i.plotOptions,r=e.userOptions||{};t=j(t),e=e.styledMode;var s={plotOptions:o,userOptions:t};T(this,"setOptions",s);var n=s.plotOptions[this.type],a=r.plotOptions||{};return this.userOptions=s.userOptions,r=j(n,o.series,r.plotOptions&&r.plotOptions[this.type],t),this.tooltipOptions=j(f.tooltip,f.plotOptions.series&&f.plotOptions.series.tooltip,f.plotOptions[this.type].tooltip,i.tooltip.userOptions,o.series&&o.series.tooltip,o[this.type].tooltip,t.tooltip),this.stickyTracking=_(t.stickyTracking,a[this.type]&&a[this.type].stickyTracking,a.series&&a.series.stickyTracking,!(!this.tooltipOptions.shared||this.noSharedTooltip)||r.stickyTracking),null===n.marker&&delete r.marker,this.zoneAxis=r.zoneAxis,i=this.zones=(r.zones||[]).slice(),!r.negativeColor&&!r.negativeFillColor||r.zones||(o={value:r[this.zoneAxis+"Threshold"]||r.threshold||0,className:"highcharts-negative"},e||(o.color=r.negativeColor,o.fillColor=r.negativeFillColor),i.push(o)),i.length&&C(i[i.length-1].value)&&i.push(e?{}:{color:this.color,fillColor:this.fillColor}),T(this,"afterSetOptions",{options:r}),r},t.prototype.getName=function(){return _(this.options.name,"Series "+(this.index+1))},t.prototype.getCyclic=function(t,e,i){var o=this.chart,r=this.userOptions,s=t+"Index",n=t+"Counter",a=i?i.length:_(o.options.chart[t+"Count"],o[t+"Count"]);if(!e){var h=_(r[s],r["_"+s]);C(h)||(o.series.length||(o[n]=0),r["_"+s]=h=o[n]%a,o[n]+=1),i&&(e=i[h])}void 0!==h&&(this[s]=h),this[t]=e},t.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color=r.neutralColor20:this.getCyclic("color",this.options.color||f.plotOptions[this.type].color,this.chart.options.colors)},t.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]},t.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},t.prototype.findPointIndex=function(t,e){var i,o=t.id,r=t.x,s=this.points,n=this.options.dataSorting;if(o)var a=this.chart.get(o);else if(this.linkedParent||this.enabledDataSorting){var h=n&&n.matchByName?"name":"index";if(!(a=A(s,function(e){return!e.touched&&e[h]===t[h]})))return}if(a){var l=a&&a.index;void 0!==l&&(i=!0)}return void 0===l&&L(r)&&(l=this.xData.indexOf(r,e)),-1!==l&&void 0!==l&&this.cropped&&(l=l>=this.cropStart?l-this.cropStart:l),!i&&s[l]&&s[l].touched&&(l=void 0),l},t.prototype.updateData=function(t,e){var i,o,r,s=this.options,n=s.dataSorting,a=this.points,h=[],l=this.requireSorting,c=t.length===a.length,d=!0;if(this.xIncrement=null,t.forEach(function(t,e){var o=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},d=o.x;o.id||L(d)?(-1===(d=this.findPointIndex(o,r))||void 0===d?h.push(t):a[d]&&t!==s.data[d]?(a[d].update(t,!1,null,!1),a[d].touched=!0,l&&(r=d+1)):a[d]&&(a[d].touched=!0),(!c||e!==d||n&&n.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)},this),i)for(t=a.length;t--;)(o=a[t])&&!o.touched&&o.remove&&o.remove(!1,e);else!c||n&&n.enabled?d=!1:(t.forEach(function(t,e){a[e].update&&t!==a[e].y&&a[e].update(t,!1,null,!1)}),h.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!d&&(h.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)},t.prototype.setData=function(t,e,i,o){var r,s=this,n=s.points,a=n&&n.length||0,h=s.options,l=s.chart,c=h.dataSorting,d=null,p=s.xAxis;d=h.turboThreshold;var u,f=this.xData,g=this.yData,m=(r=s.pointArrayMap)&&r.length,y=h.keys,v=0,x=1;if(r=(t=t||[]).length,e=_(e,!0),c&&c.enabled&&(t=this.sortData(t)),!1!==o&&r&&a&&!s.cropped&&!s.hasGroupedData&&s.visible&&!s.isSeriesBoosting&&(u=this.updateData(t,i)),!u){if(s.xIncrement=null,s.colorCounter=0,this.parallelArrays.forEach(function(t){s[t+"Data"].length=0}),d&&r>d)if(d=s.getFirstValidPoint(t),L(d))for(i=0;i<r;i++)f[i]=this.autoIncrement(),g[i]=t[i];else if(O(d))if(m)for(i=0;i<r;i++)f[i]=(o=t[i])[0],g[i]=o.slice(1,m+1);else for(y&&(v=0<=(v=y.indexOf("x"))?v:0,x=0<=(x=y.indexOf("y"))?x:1),i=0;i<r;i++)f[i]=(o=t[i])[v],g[i]=o[x];else k(12,!1,l);else for(i=0;i<r;i++)void 0!==t[i]&&(s.pointClass.prototype.applyOptions.apply(o={series:s},[t[i]]),s.updateParallelArrays(o,i));for(g&&D(g[0])&&k(14,!0,l),s.data=[],s.options.data=s.userOptions.data=t,i=a;i--;)n[i]&&n[i].destroy&&n[i].destroy();p&&(p.minRange=p.userMinRange),s.isDirty=l.isDirtyBox=!0,s.isDirtyData=!!n,i=!1}"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)},t.prototype.sortData=function(t){var e=this,i=e.options.dataSorting.sortKey||"y",o=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,r){t[r]=o(e,i),t[r].index=r},this),t.concat().sort(function(t,e){return t=P(i,t),(e=P(i,e))<t?-1:e>t?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){var i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,s){r[s]=o(e,i),t[s]&&(r[s].x=t[s].x,r[s].index=s)}),e.setData(r,!1))}),t},t.prototype.getProcessedData=function(t){var e=this.xData,i=this.yData,o=e.length,r=0,s=this.xAxis,n=this.options,a=n.cropThreshold,h=t||this.getExtremesFromAll||n.getExtremesFromAll,l=this.isCartesian;t=s&&s.val2lin,n=!(!s||!s.logarithmic);var c=this.requireSorting;if(s)var d=(s=s.getExtremes()).min,p=s.max;if(l&&this.sorted&&!h&&(!a||o>a||this.forceCrop))if(e[o-1]<d||e[0]>p)e=[],i=[];else if(this.yData&&(e[0]<d||e[o-1]>p)){e=(r=this.cropData(this.xData,this.yData,d,p)).xData,i=r.yData,r=r.start;var u=!0}for(a=e.length||1;--a;)if(0<(o=n?t(e[a])-t(e[a-1]):e[a]-e[a-1])&&(void 0===f||o<f))var f=o;else 0>o&&c&&(k(15,!1,this.chart),c=!1);return{xData:e,yData:i,cropped:u,cropStart:r,closestPointRange:f}},t.prototype.processData=function(t){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)return!1;t=this.getProcessedData(),this.cropped=t.cropped,this.cropStart=t.cropStart,this.processedXData=t.xData,this.processedYData=t.yData,this.closestPointRange=this.basePointRange=t.closestPointRange},t.prototype.cropData=function(t,e,i,o,r){var s,n=t.length,a=0,h=n;for(r=_(r,this.cropShoulder),s=0;s<n;s++)if(t[s]>=i){a=Math.max(0,s-r);break}for(i=s;i<n;i++)if(t[i]>o){h=i+r;break}return{xData:t.slice(a,h),yData:e.slice(a,h),start:a,end:h}},t.prototype.generatePoints=function(){var t,e,i=this.options,o=i.data,r=this.data,s=this.processedXData,n=this.processedYData,a=this.pointClass,h=s.length,l=this.cropStart||0,c=this.hasGroupedData,d=i.keys,p=[];for(i=i.dataGrouping&&i.dataGrouping.groupAll?l:0,r||c||((r=[]).length=o.length,r=this.data=r),d&&c&&(this.options.keys=!1),e=0;e<h;e++){var u=l+e;if(c){var f=(new a).init(this,[s[e]].concat(R(n[e])));f.dataGroup=this.groupMap[i+e],f.dataGroup.options&&(f.options=f.dataGroup.options,M(f,f.dataGroup.options),delete f.dataLabels)}else(f=r[u])||void 0===o[u]||(r[u]=f=(new a).init(this,o[u],s[e]));f&&(f.index=c?i+e:u,p[e]=f)}if(this.options.keys=d,r&&(h!==(t=r.length)||c))for(e=0;e<t;e++)e!==l||c||(e+=h),r[e]&&(r[e].destroyElements(),r[e].plotX=void 0);this.data=r,this.points=p,T(this,"afterGeneratePoints")},t.prototype.getXExtremes=function(t){return{min:v(t),max:y(t)}},t.prototype.getExtremes=function(t,e){var i,o=this.xAxis,r=this.yAxis,s=this.processedXData||this.xData,n=[],a=0,h=0,l=0,c=this.requireSorting?this.cropShoulder:0,d=!!r&&r.positiveValuesOnly;for(r=(t=t||this.stackedYData||this.processedYData||[]).length,o&&(h=(l=o.getExtremes()).min,l=l.max),i=0;i<r;i++){var p=s[i],u=t[i],f=(L(u)||O(u))&&(u.length||0<u||!d);if(p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!o||(s[i+c]||p)>=h&&(s[i-c]||p)<=l,f&&p)if(f=u.length)for(;f--;)L(u[f])&&(n[a++]=u[f]);else n[a++]=u}return t={dataMin:v(n),dataMax:y(n)},T(this,"afterGetExtremes",{dataExtremes:t}),t},t.prototype.applyExtremes=function(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t},t.prototype.getFirstValidPoint=function(t){for(var e=null,i=t.length,o=0;null===e&&o<i;)e=t[o],o++;return e},t.prototype.translate=function(){this.processedXData||this.processData(),this.generatePoints();var t,e,i=this.options,o=i.stacking,r=this.xAxis,s=r.categories,n=this.enabledDataSorting,a=this.yAxis,h=this.points,l=h.length,c=!!this.modifyValue,d=this.pointPlacementToXValue(),p=!!d,u=i.threshold,f=i.startFromThreshold?u:0,g=this.zoneAxis||"y",m=Number.MAX_VALUE;for(t=0;t<l;t++){var y=h[t],v=y.x,b=y.y,S=y.low,k=o&&a.stacking&&a.stacking.stacks[(this.negStacks&&b<(f?0:u)?"-":"")+this.stackKey],M=void 0,A=void 0;if((a.positiveValuesOnly&&!a.validatePositiveValue(b)||r.positiveValuesOnly&&!r.validatePositiveValue(v))&&(y.isNull=!0),y.plotX=e=w(x(r.translate(v,0,0,0,1,d,"flags"===this.type),-1e5,1e5)),o&&this.visible&&k&&k[v]){var P=this.getStackIndicator(P,v,this.index);y.isNull||(A=(M=k[v]).points[P.key])}if(O(A)&&(b=A[1],(S=A[0])===f&&P.key===k[v].base&&(S=_(L(u)&&u,a.min)),a.positiveValuesOnly&&0>=S&&(S=null),y.total=y.stackTotal=M.total,y.percentage=M.total&&y.y/M.total*100,y.stackY=b,this.irregularWidths||M.setOffset(this.pointXOffset||0,this.barW||0)),y.yBottom=C(S)?x(a.translate(S,0,1,0,1),-1e5,1e5):null,c&&(b=this.modifyValue(b,y)),y.plotY=void 0,L(b)&&void 0!==(b=a.translate(b,!1,!0,!1,!0))&&(y.plotY=x(b,-1e5,1e5)),y.isInside=this.isPointInside(y),y.clientX=p?w(r.translate(v,0,0,0,1,d)):e,y.negative=y[g]<(i[g+"Threshold"]||u||0),y.category=s&&void 0!==s[y.x]?s[y.x]:y.x,!y.isNull&&!1!==y.visible){void 0!==E&&(m=Math.min(m,Math.abs(e-E)));var E=e}y.zone=this.zones.length&&y.getZone(),!y.graphic&&this.group&&n&&(y.isNew=!0)}this.closestPointRangePx=m,T(this,"afterTranslate")},t.prototype.getValidPoints=function(t,e,i){var o=this.chart;return(t||this.points||[]).filter(function(t){return!(e&&!o.isInsidePlot(t.plotX,t.plotY,{inverted:o.inverted}))&&!1!==t.visible&&(i||!t.isNull)})},t.prototype.getClipBox=function(t,e){var i=this.chart,o=this.xAxis,r=o&&this.yAxis,s=i.options.chart.scrollablePlotArea||{};return t&&!1===this.options.clip&&r?t=i.inverted?{y:-i.chartWidth+r.len+r.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+o.len+o.pos}:{y:-r.pos,height:i.chartHeight,width:i.chartWidth,x:-o.pos}:(t=this.clipBox||i.clipBox,e&&(t.width=i.plotSizeX,t.x=(i.scrollablePixelsX||0)*(s.scrollPositionX||0))),e?{width:t.width,x:t.x}:t},t.prototype.getSharedClipKey=function(t){if(this.sharedClipKey)return this.sharedClipKey;var e=[t&&t.duration,t&&t.easing,t&&t.defer,this.getClipBox(t).height,this.options.xAxis,this.options.yAxis].join();return(!1!==this.options.clip||t)&&(this.sharedClipKey=e),e},t.prototype.setClip=function(t){var e=this.chart,i=this.options,o=e.renderer,r=e.inverted,s=this.clipBox,n=this.getClipBox(t),a=this.getSharedClipKey(t),h=e.sharedClips[a],l=e.sharedClips[a+"m"];t&&(n.width=0,r&&(n.x=e.plotHeight+(!1!==i.clip?0:e.plotTop))),h?e.hasLoaded||h.attr(n):(t&&(e.sharedClips[a+"m"]=l=o.clipRect(r?(e.plotSizeX||0)+99:-99,r?-e.plotLeft:-e.plotTop,99,r?e.chartWidth:e.chartHeight)),e.sharedClips[a]=h=o.clipRect(n),h.count={length:0}),t&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1),(!1!==i.clip||t)&&(this.group.clip(t||s?h:e.clipRect),this.markerGroup.clip(l)),t||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&(s||(e.sharedClips[a]=h.destroy()),l&&(e.sharedClips[a+"m"]=l.destroy())))},t.prototype.animate=function(t){var e=this.chart,i=l(this.options.animation),o=this.sharedClipKey;if(t)this.setClip(i);else if(o){t=e.sharedClips[o],o=e.sharedClips[o+"m"];var r=this.getClipBox(i,!0);t&&t.animate(r,i),o&&o.animate({width:r.width+99,x:r.x-(e.inverted?0:99)},i)}},t.prototype.afterAnimate=function(){this.setClip(),T(this,"afterAnimate"),this.finishedAnimating=!0},t.prototype.drawPoints=function(){var t,e,i=this.points,o=this.chart,r=this.options.marker,s=this[this.specialGroup]||this.markerGroup,n=this.xAxis,a=_(r.enabled,!(n&&!n.isRadial)||null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(t=0;t<i.length;t++){var h=i[t],l=(e=h.graphic)?"animate":"attr",c=h.marker||{},d=!!h.marker;if((a&&void 0===c.enabled||c.enabled)&&!h.isNull&&!1!==h.visible){var p=_(c.symbol,this.symbol),u=this.markerAttribs(h,h.selected&&"select");this.enabledDataSorting&&(h.startXPos=n.reversed?-(u.width||0):n.width);var f=!1!==h.isInside;e?e[f?"show":"hide"](f).animate(u):f&&(0<(u.width||0)||h.hasImage)&&(h.graphic=e=o.renderer.symbol(p,u.x,u.y,u.width,u.height,d?c:r).add(s),this.enabledDataSorting&&o.hasRendered&&(e.attr({x:h.startXPos}),l="animate")),e&&"animate"===l&&e[f?"show":"hide"](f).animate(u),e&&!o.styledMode&&e[l](this.pointAttribs(h,h.selected&&"select")),e&&e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())}},t.prototype.markerAttribs=function(t,e){var i=this.options,o=i.marker,r=t.marker||{},s=r.symbol||o.symbol,n=_(r.radius,o.radius);return e&&(o=o.states[e],n=_((e=r.states&&r.states[e])&&e.radius,o&&o.radius,n+(o&&o.radiusPlus||0))),t.hasImage=s&&0===s.indexOf("url"),t.hasImage&&(n=0),t={x:i.crisp?Math.floor(t.plotX-n):t.plotX-n,y:t.plotY-n},n&&(t.width=t.height=2*n),t},t.prototype.pointAttribs=function(t,e){var i=this.options.marker,o=t&&t.options,r=o&&o.marker||{},s=this.color,n=o&&o.color,a=t&&t.color;o=_(r.lineWidth,i.lineWidth);var h=t&&t.zone&&t.zone.color;return t=1,s=n||h||a||s,n=r.fillColor||i.fillColor||s,s=r.lineColor||i.lineColor||s,i=i.states[e=e||"normal"],o=_((e=r.states&&r.states[e]||{}).lineWidth,i.lineWidth,o+_(e.lineWidthPlus,i.lineWidthPlus,0)),{stroke:s=e.lineColor||i.lineColor||s,"stroke-width":o,fill:n=e.fillColor||i.fillColor||n,opacity:t=_(e.opacity,i.opacity,t)}},t.prototype.destroy=function(t){var e,i,o,r=this,s=r.chart,n=/AppleWebKit\/533/.test(u.navigator.userAgent),l=r.data||[];for(T(r,"destroy"),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(o=r[t])&&o.series&&(S(o.series,r),o.isDirty=o.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=l.length;e--;)(i=l[e])&&i.destroy&&i.destroy();r.clips&&r.clips.forEach(function(t){return t.destroy()}),h.clearTimeout(r.animationTimeout),I(r,function(t,e){t instanceof a&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),s.hoverSeries===r&&(s.hoverSeries=void 0),S(s.series,r),s.orderSeries(),I(r,function(e,i){t&&"hcEvents"===i||delete r[i]})},t.prototype.applyZones=function(){var t,e,i,o,r,s,n,a,h=this,l=this.chart,c=l.renderer,d=this.zones,p=this.clips||[],u=this.graph,f=this.area,g=Math.max(l.chartWidth,l.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],y=l.inverted,v=!1;if(d.length&&(u||f)&&m&&void 0!==m.min){var b=m.reversed,w=m.horiz;u&&!this.showLine&&u.hide(),f&&f.hide();var C=m.getExtremes();d.forEach(function(d,S){t=b?w?l.plotWidth:0:w?0:m.toPixels(C.min)||0,t=x(_(e,t),0,g),e=x(Math.round(m.toPixels(_(d.value,C.max),!0)||0),0,g),v&&(t=e=m.toPixels(C.max)),o=Math.abs(t-e),r=Math.min(t,e),s=Math.max(t,e),m.isXAxis?(i={x:y?s:r,y:0,width:o,height:g},w||(i.x=l.plotHeight-i.x)):(i={x:0,y:y?s:r,width:g,height:o},w&&(i.y=l.plotWidth-i.y)),y&&c.isVML&&(i=m.isXAxis?{x:0,y:b?r:s,height:i.width,width:l.chartWidth}:{x:i.y-l.plotLeft-l.spacingBox.x,y:0,width:i.height,height:l.chartHeight}),p[S]?p[S].animate(i):p[S]=c.clipRect(i),n=h["zone-area-"+S],a=h["zone-graph-"+S],u&&a&&a.clip(p[S]),f&&n&&n.clip(p[S]),v=d.value>C.max,h.resetZones&&0===e&&(e=void 0)}),this.clips=p}else h.visible&&(u&&u.show(!0),f&&f.show(!0))},t.prototype.invertGroups=function(t){function e(){["group","markerGroup"].forEach(function(e){i[e]&&(o.renderer.isVML&&i[e].attr({width:i.yAxis.len,height:i.xAxis.len}),i[e].width=i.yAxis.len,i[e].height=i.xAxis.len,i[e].invert(!i.isRadialSeries&&t))})}var i=this,o=i.chart;i.xAxis&&(i.eventsToUnbind.push(m(o,"resize",e)),e(),i.invertGroups=e)},t.prototype.plotGroup=function(t,e,i,o,r){var s=this[t],n=!s;return i={visibility:i,zIndex:o||.1},void 0===this.opacity||this.chart.styledMode||"inactive"===this.state||(i.opacity=this.opacity),n&&(this[t]=s=this.chart.renderer.g().add(r)),s.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(s.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),s.attr(i)[n?"attr":"animate"](this.getPlotBox()),s},t.prototype.getPlotBox=function(){var t=this.chart,e=this.xAxis,i=this.yAxis;return t.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:t.plotLeft,translateY:i?i.top:t.plotTop,scaleX:1,scaleY:1}},t.prototype.removeEvents=function(t){t||B(this),this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind.length=0)},t.prototype.render=function(){var t=this,e=t.chart,i=t.options,o=l(i.animation),r=!t.finishedAnimating&&e.renderer.isSVG&&o.duration,s=t.visible?"inherit":"hidden",n=i.zIndex,a=t.hasRendered,h=e.seriesGroup,c=e.inverted;T(this,"render");var d=t.plotGroup("group","series",s,n,h);t.markerGroup=t.plotGroup("markerGroup","markers",s,n,h),r&&t.animate&&t.animate(!0),d.inverted=!!_(t.invertible,t.isCartesian)&&c,t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels&&t.drawDataLabels(),t.redrawPoints&&t.redrawPoints(),t.drawTracker&&!1!==t.options.enableMouseTracking&&t.drawTracker(),t.invertGroups(c),!1===i.clip||t.sharedClipKey||a||d.clip(e.clipRect),r&&t.animate&&t.animate(),a||(r&&o.defer&&(r+=o.defer),t.animationTimeout=z(function(){t.afterAnimate()},r||0)),t.isDirty=!1,t.hasRendered=!0,T(t,"afterRender")},t.prototype.redraw=function(){var t=this.chart,e=this.isDirty||this.isDirtyData,i=this.group,o=this.xAxis,r=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:_(o&&o.left,t.plotLeft),translateY:_(r&&r.top,t.plotTop)})),this.translate(),this.render(),e&&delete this.kdTree},t.prototype.searchPoint=function(t,e){var i=this.xAxis,o=this.yAxis,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?o.len-t.chartX+o.pos:t.chartY-o.pos},e,t)},t.prototype.buildKDTree=function(t){function e(t,o,r){var s;if(s=t&&t.length){var n=i.kdAxisArray[o%r];return t.sort(function(t,e){return t[n]-e[n]}),{point:t[s=Math.floor(s/2)],left:e(t.slice(0,s),o+1,r),right:e(t.slice(s+1),o+1,r)}}}this.buildingKdTree=!0;var i=this,o=-1<i.options.findNearestPointBy.indexOf("y")?2:1;delete i.kdTree,z(function(){i.kdTree=e(i.getValidPoints(null,!i.directTouch),o,o),i.buildingKdTree=!1},i.options.kdNow||t&&"touchstart"===t.type?0:1)},t.prototype.searchKDTree=function(t,e,i){var o=this,r=this.kdAxisArray[0],s=this.kdAxisArray[1],n=e?"distX":"dist";if(e=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h){var l=i.point,c=o.kdAxisArray[a%h],d=l,p=C(e[r])&&C(l[r])?Math.pow(e[r]-l[r],2):null,u=C(e[s])&&C(l[s])?Math.pow(e[s]-l[s],2):null;return l.dist=C(u=(p||0)+(u||0))?Math.sqrt(u):Number.MAX_VALUE,l.distX=C(p)?Math.sqrt(p):Number.MAX_VALUE,p=0>(c=e[c]-l[c])?"right":"left",i[u=0>c?"left":"right"]&&(d=(u=t(e,i[u],a+1,h))[n]<d[n]?u:l),i[p]&&Math.sqrt(c*c)<d[n]&&(d=(e=t(e,i[p],a+1,h))[n]<d[n]?e:d),d}(t,this.kdTree,e,e)},t.prototype.pointPlacementToXValue=function(){var t=this.options,e=t.pointRange,i=this.xAxis;return"between"===(t=t.pointPlacement)&&(t=i.reversed?-.5:.5),L(t)?t*(e||i.pointRange):0},t.prototype.isPointInside=function(t){return void 0!==t.plotY&&void 0!==t.plotX&&0<=t.plotY&&t.plotY<=this.yAxis.len&&0<=t.plotX&&t.plotX<=this.xAxis.len},t.prototype.drawTracker=function(){var t=this,e=t.options,i=e.trackByArea,o=[].concat(i?t.areaPath:t.graphPath),r=t.chart,s=r.pointer,n=r.renderer,a=r.options.tooltip.snap,h=t.tracker,l=function(e){r.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(p?1e-4:.002)+")";h?h.attr({d:o}):t.graph&&(t.tracker=n.path(o).attr({visibility:t.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||t.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(function(t){t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(t){s.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),d)&&t.on("touchstart",l)})),T(this,"afterDrawTracker")},t.prototype.addPoint=function(t,e,i,o,r){var s=this.options,n=this.data,a=this.chart,h=this.xAxis;h=h&&h.hasNames&&h.names;var l,c=s.data,d=this.xData;e=_(e,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[t]);var u=p.x,f=d.length;if(this.requireSorting&&u<d[f-1])for(l=!0;f&&d[f-1]>u;)f--;this.updateParallelArrays(p,"splice",f,0,0),this.updateParallelArrays(p,f),h&&p.name&&(h[u]=p.name),c.splice(f,0,t),l&&(this.data.splice(f,0,null),this.processData()),"point"===s.legendType&&this.generatePoints(),i&&(n[0]&&n[0].remove?n[0].remove(!1):(n.shift(),this.updateParallelArrays(p,"shift"),c.shift())),!1!==r&&T(this,"addPoint",{point:p}),this.isDirtyData=this.isDirty=!0,e&&a.redraw(o)},t.prototype.removePoint=function(t,e,i){var o=this,r=o.data,s=r[t],n=o.points,a=o.chart,h=function(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(s||{series:o},"splice",t,1),s&&s.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&a.redraw()};c(i,a),e=_(e,!0),s?s.firePointEvent("remove",null,h):h()},t.prototype.remove=function(t,e,i,o){function r(){s.destroy(o),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(),_(t,!0)&&n.redraw(e)}var s=this,n=s.chart;!1!==i?T(s,"remove",null,r):r()},t.prototype.update=function(t,e){t=b(t,this.userOptions),T(this,"update",{options:t});var i,o=this,r=o.chart,s=o.userOptions,n=o.initialType||o.type,a=r.options.plotOptions,h=t.type||s.type||r.options.chart.type,l=!(this.hasDerivedData||h&&h!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||o.hasOptionChanged("dataGrouping")||o.hasOptionChanged("pointStart")||o.hasOptionChanged("pointInterval")||o.hasOptionChanged("pointIntervalUnit")||o.hasOptionChanged("keys")),c=g[n].prototype,d=["eventOptions","navigatorSeries","baseSeries"],p=o.finishedAnimating&&{animation:!1},u={};if(h=h||n,l&&(d.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&d.push("area","graph"),o.parallelArrays.forEach(function(t){d.push(t+"Data")}),t.data&&(t.dataSorting&&M(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=j(s,p,{index:void 0===s.index?o.index:s.index,pointStart:_(a&&a.series&&a.series.pointStart,s.pointStart,o.xData[0])},!l&&{data:o.options.data},t),l&&t.data&&(t.data=o.options.data),(d=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(d)).forEach(function(t){d[t]=o[t],delete o[t]}),s=!1,g[h]){if(s=h!==o.type,o.remove(!1,!1,!1,!0),s)if(Object.setPrototypeOf)Object.setPrototypeOf(o,g[h].prototype);else{for(i in a=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents,c)o[i]=void 0;M(o,g[h].prototype),a?o.hcEvents=a:delete o.hcEvents}}else k(17,!0,r,{missingModuleFor:h});if(d.forEach(function(t){o[t]=d[t]}),o.init(r,t),l&&this.points){var f=o.options;!1===f.visible?(u.graphic=1,u.dataLabel=1):o._hasPointLabels||(h=f.dataLabels,(t=f.marker)&&(!1===t.enabled||"symbol"in t)&&(u.graphic=1),h&&!1===h.enabled&&(u.dataLabel=1)),this.points.forEach(function(t){t&&t.series&&(t.resolveColor(),Object.keys(u).length&&t.destroyElements(u),!1===f.showInLegend&&t.legendItem&&r.legend.destroyItem(t))},this)}o.initialType=n,r.linkSeries(),s&&o.linkedSeries.length&&(o.isDirtyData=!0),T(this,"afterUpdate"),_(e,!0)&&r.redraw(!!l&&void 0)},t.prototype.setName=function(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0},t.prototype.hasOptionChanged=function(t){var e=this.options[t],i=this.chart.options.plotOptions,o=this.userOptions[t];return o?e!==o:e!==_(i&&i[this.type]&&i[this.type][t],i&&i.series&&i.series[t],e)},t.prototype.onMouseOver=function(){var t=this.chart,e=t.hoverSeries;t.pointer.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&T(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},t.prototype.onMouseOut=function(){var t=this.options,e=this.chart,i=e.tooltip,o=e.hoverPoint;e.hoverSeries=null,o&&o.onMouseOut(),this&&t.events.mouseOut&&T(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})},t.prototype.setState=function(t,e){var i=this,o=i.options,r=i.graph,s=o.inactiveOtherPoints,n=o.states,a=o.lineWidth,h=o.opacity,l=_(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation);if(o=0,i.state!==(t=t||"")&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(a=n[t].lineWidth||a+(n[t].lineWidthPlus||0),h=_(n[t].opacity,h)),r&&!r.dashstyle)for(r.animate(n={"stroke-width":a},l);i["zone-graph-"+o];)i["zone-graph-"+o].animate(n,l),o+=1;s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},l)})}e&&s&&i.points&&i.setAllPointsToState(t||void 0)},t.prototype.setAllPointsToState=function(t){this.points.forEach(function(e){e.setState&&e.setState(t)})},t.prototype.setVisible=function(t,e){var i=this,o=i.chart,r=i.legendItem,s=o.options.chart.ignoreHiddenSeries,n=(i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!i.visible:t)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(t){i[t]&&i[t][n]()}),o.hoverSeries!==i&&(o.hoverPoint&&o.hoverPoint.series)!==i||i.onMouseOut(),r&&o.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&o.series.forEach(function(t){t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(function(e){e.setVisible(t,!1)}),s&&(o.isDirtyBox=!0),T(i,n),!1!==e&&o.redraw()},t.prototype.show=function(){this.setVisible(!0)},t.prototype.hide=function(){this.setVisible(!1)},t.prototype.select=function(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),T(this,t?"select":"unselect")},t.prototype.shouldShowTooltip=function(t,e,i){return void 0===i&&(i={}),i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)},t.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:r.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:r.neutralColor20,lineColor:r.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){return"number"!=typeof this.y?"":(0,this.series.chart.numberFormatter)(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},t}(),M(t.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:i.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:s,requireSorting:!0,sorted:!0}),n.series=t,t}),e(i,"Extensions/ScrollablePlotArea.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Series/Series.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s){var n=t.stop,a=s.addEvent,h=s.createElement,l=s.merge,c=s.pick;a(i,"afterSetChartSize",function(t){var e=this.options.chart.scrollablePlotArea,i=e&&e.minWidth;if(e=e&&e.minHeight,!this.renderer.forExport){if(i){if(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.width=this.plotWidth+=i,this.inverted?this.clipBox.height+=i:this.clipBox.width+=i;var o={1:{name:"right",value:i}}}}else e&&(this.scrollablePixelsY=i=Math.max(0,e-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=l(this.plotBox),this.plotBox.height=this.plotHeight+=i,this.inverted?this.clipBox.width+=i:this.clipBox.height+=i,o={2:{name:"bottom",value:i}});o&&!t.skipAxes&&this.axes.forEach(function(t){o[t.side]?t.getPlotLinePath=function(){var e=o[t.side].name,i=this[e];this[e]=i-o[t.side].value;var s=r.Axis.prototype.getPlotLinePath.apply(this,arguments);return this[e]=i,s}:(t.setAxisSize(),t.setAxisTranslation())})}}),a(i,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()}),i.prototype.setUpScrolling=function(){var t=this,e={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(e.overflowX="auto"),this.scrollablePixelsY&&(e.overflowY="auto"),this.scrollingParent=h("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo),this.scrollingContainer=h("div",{className:"highcharts-scrolling"},e,this.scrollingParent),a(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition}),this.innerContainer=h("div",{className:"highcharts-inner-container"},null,this.scrollingContainer),this.innerContainer.appendChild(this.container),this.setUpScrolling=null},i.prototype.moveFixedElements=function(){var t,e=this.container,i=this.fixedRenderer,o=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" ");this.scrollablePixelsX&&!this.inverted?t=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted||this.scrollablePixelsY&&!this.inverted?t=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(t=".highcharts-yaxis"),t&&o.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),o.forEach(function(t){[].forEach.call(e.querySelectorAll(t),function(t){(t.namespaceURI===i.SVG_NS?i.box:i.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})})},i.prototype.applyFixed=function(){var t=!this.fixedDiv,e=this.options.chart,i=e.scrollablePlotArea;t?(this.fixedDiv=h("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new r.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":c(i.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),a(this,"afterShowResetZoom",this.moveFixedElements),a(this,"afterDrilldown",this.moveFixedElements),a(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight),(this.scrollableDirty||t)&&(this.scrollableDirty=!1,this.moveFixedElements()),e=this.chartWidth+(this.scrollablePixelsX||0);var o=this.chartHeight+(this.scrollablePixelsY||0);n(this.container),this.container.style.width=e+"px",this.container.style.height=o+"px",this.renderer.boxWrapper.attr({width:e,height:o,viewBox:[0,0,e,o].join(" ")}),this.chartBackground.attr({width:e,height:o}),this.scrollingContainer.style.height=this.chartHeight+"px",t&&(i.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*i.scrollPositionX),i.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*i.scrollPositionY)),t=this.plotTop-(o=this.axisOffset)[0]-1,i=this.plotLeft-o[3]-1,e=this.plotTop+this.plotHeight+o[2]+1,o=this.plotLeft+this.plotWidth+o[1]+1;var s=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),l=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);t=this.scrollablePixelsX?[["M",0,t],["L",this.plotLeft-1,t],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",s,t],["L",this.chartWidth,t],["L",this.chartWidth,e],["L",s,e],["Z"]]:this.scrollablePixelsY?[["M",i,0],["L",i,this.plotTop-1],["L",o,this.plotTop-1],["L",o,0],["Z"],["M",i,l],["L",i,this.chartHeight],["L",o,this.chartHeight],["L",o,l],["Z"]]:[["M",0,0]],"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:t})},a(e,"afterInit",function(){this.chart.scrollableDirty=!0}),a(o,"show",function(){this.chart.scrollableDirty=!0})}),e(i,"Core/Axis/StackingAxis.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Utilities.js"]],function(t,e){var i=t.getDeferredAnimation,o=e.addEvent,r=e.destroyObjectProperties,s=e.fireEvent,n=e.isNumber,a=e.objectEach,h=function(){function t(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}return t.prototype.buildStacks=function(){var t,e=this.axis,i=e.series,o=e.options.reversedStacks,r=i.length;if(!e.isXAxis){for(this.usePercentage=!1,t=r;t--;){var n=i[o?t:r-t-1];n.setStackedPoints(),n.setGroupedPoints()}for(t=0;t<r;t++)i[t].modifyStacks();s(e,"afterBuildStacks")}},t.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var t=this.stacks=this.oldStacks;a(t,function(t){a(t,function(t){t.cumulative=t.total})})}},t.prototype.resetStacks=function(){var t=this;this.axis.isXAxis||a(this.stacks,function(e){a(e,function(i,o){n(i.touched)&&i.touched<t.stacksTouched?(i.destroy(),delete e[o]):(i.total=null,i.cumulative=null)})})},t.prototype.renderStackTotals=function(){var t=this.axis,e=t.chart,o=e.renderer,r=this.stacks;t=i(e,t.options.stackLabels&&t.options.stackLabels.animation||!1);var s=this.stackTotalGroup=this.stackTotalGroup||o.g("stack-labels").attr({visibility:"visible",zIndex:6,opacity:0}).add();s.translate(e.plotLeft,e.plotTop),a(r,function(t){a(t,function(t){t.render(s)})}),s.animate({opacity:1},t)},t}();return function(){function t(){}return t.compose=function(e){o(e,"init",t.onInit),o(e,"destroy",t.onDestroy)},t.onDestroy=function(){var t=this.stacking;if(t){var e=t.stacks;a(e,function(t,i){r(t),e[i]=null}),t&&t.stackTotalGroup&&t.stackTotalGroup.destroy()}},t.onInit=function(){this.stacking||(this.stacking=new h(this))},t}()}),e(i,"Extensions/Stacking.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Axis/StackingAxis.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=i.format,h=n.correctFloat,l=n.defined,c=n.destroyObjectProperties,d=n.isArray,p=n.isNumber,u=n.objectEach,f=n.pick,g=function(){function t(t,e,i,o,r){var s=t.chart.inverted;this.axis=t,this.isNegative=i,this.options=e=e||{},this.x=o,this.total=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.rightCliff=this.leftCliff=0,this.alignOptions={align:e.align||(s?i?"left":"right":"center"),verticalAlign:e.verticalAlign||(s?"middle":i?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(s?i?"right":"left":"center")}return t.prototype.destroy=function(){c(this,this.axis)},t.prototype.render=function(t){var e=this.axis.chart,i=this.options,o=i.format;o=o?a(o,this,e):i.formatter.call(this),this.label?this.label.attr({text:o,visibility:"hidden"}):(this.label=e.renderer.label(o,null,null,i.shape,null,null,i.useHTML,!1,"stack-labels"),o={r:i.borderRadius||0,text:o,rotation:i.rotation,padding:f(i.padding,5),visibility:"hidden"},e.styledMode||(o.fill=i.backgroundColor,o.stroke=i.borderColor,o["stroke-width"]=i.borderWidth,this.label.css(i.style)),this.label.attr(o),this.label.added||this.label.add(t)),this.label.labelrank=e.plotSizeY},t.prototype.setOffset=function(t,e,i,o,s){var n=this.axis,a=n.chart;o=n.translate(n.stacking.usePercentage?100:o||this.total,0,0,0,1),i=n.translate(i||0),i=l(o)&&Math.abs(o-i),t=f(s,a.xAxis[0].translate(this.x))+t,n=l(o)&&this.getStackBox(a,this,t,o,e,i,n),e=this.label,i=this.isNegative,t="justify"===f(this.options.overflow,"justify");var h=this.textAlign;e&&n&&(s=e.getBBox(),o=e.padding,h="left"===h?a.inverted?-o:o:"right"===h?s.width:a.inverted&&"center"===h?s.width/2:a.inverted?i?s.width+o:-o:s.width/2,i=a.inverted?s.height/2:i?-o:s.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),n.x-=h,n.y-=i,e.align(this.alignOptions,null,n),a.isInsidePlot(e.alignAttr.x+h-this.alignOptions.x,e.alignAttr.y+i-this.alignOptions.y)?e.show():(e.alignAttr.y=-9999,t=!1),t&&r.prototype.justifyDataLabel.call(this.axis,e,this.alignOptions,e.alignAttr,s,n),e.attr({x:e.alignAttr.x,y:e.alignAttr.y}),f(!t&&this.options.crop,!0)&&((a=p(e.x)&&p(e.y)&&a.isInsidePlot(e.x-o+e.width,e.y)&&a.isInsidePlot(e.x+o,e.y))||e.hide()))},t.prototype.getStackBox=function(t,e,i,o,r,s,n){var a=e.axis.reversed,h=t.inverted,l=n.height+n.pos-(h?t.plotLeft:t.plotTop);return e=e.isNegative&&!a||!e.isNegative&&a,{x:h?e?o-n.right:o-s+n.pos-t.plotLeft:i+t.xAxis[0].transB-t.plotLeft,y:h?n.height-i-r:e?l-o-s:l-o,width:h?s:r,height:h?r:s}},t}();return e.prototype.getStacks=function(){var t=this,e=t.inverted;t.yAxis.forEach(function(t){t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),t.series.forEach(function(i){var o=i.xAxis&&i.xAxis.options||{};!i.options.stacking||!0!==i.visible&&!1!==t.options.chart.ignoreHiddenSeries||(i.stackKey=[i.type,f(i.options.stack,""),e?o.top:o.left,e?o.height:o.width].join())})},s.compose(t),r.prototype.setGroupedPoints=function(){var t=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?r.prototype.setStackedPoints.call(this,"group"):t&&u(t.stacks,function(e,i){"group"===i.slice(-5)&&(u(e,function(t){return t.destroy()}),delete t.stacks[i])})},r.prototype.setStackedPoints=function(t){var e=t||this.options.stacking;if(e&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var i=this.processedXData,o=this.processedYData,r=[],s=o.length,n=this.options,a=n.threshold,c=f(n.startFromThreshold&&a,0);n=n.stack;var p,u,m="-"+(t=t?this.type+","+e:this.stackKey),y=this.negStacks,v=this.yAxis,x=v.stacking.stacks,b=v.stacking.oldStacks;for(v.stacking.stacksTouched+=1,u=0;u<s;u++){var w=i[u],C=o[u],S=this.getStackIndicator(S,w,this.index),k=S.key,M=(p=y&&C<(c?0:a))?m:t;x[M]||(x[M]={}),x[M][w]||(b[M]&&b[M][w]?(x[M][w]=b[M][w],x[M][w].total=null):x[M][w]=new g(v,v.options.stackLabels,p,w,n)),M=x[M][w],null!==C?(M.points[k]=M.points[this.index]=[f(M.cumulative,c)],l(M.cumulative)||(M.base=k),M.touched=v.stacking.stacksTouched,0<S.index&&!1===this.singleStacks&&(M.points[k][0]=M.points[this.index+","+w+",0"][0])):M.points[k]=M.points[this.index]=null,"percent"===e?(p=p?t:m,M.total=y&&x[p]&&x[p][w]?(p=x[p][w]).total=Math.max(p.total,M.total)+Math.abs(C)||0:h(M.total+(Math.abs(C)||0))):"group"===e?(d(C)&&(C=C[0]),null!==C&&(M.total=(M.total||0)+1)):M.total=h(M.total+(C||0)),M.cumulative="group"===e?(M.total||1)-1:f(M.cumulative,c)+(C||0),null!==C&&(M.points[k].push(M.cumulative),r[u]=M.cumulative,M.hasValidPoints=!0)}"percent"===e&&(v.stacking.usePercentage=!0),"group"!==e&&(this.stackedYData=r),v.stacking.oldStacks={}}},r.prototype.modifyStacks=function(){var t,e=this,i=e.stackKey,o=e.yAxis.stacking.stacks,r=e.processedXData,s=e.options.stacking;e[s+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var n,a,h=r.length;h--;)t=e.getStackIndicator(t,n=r[h],e.index,i),(a=(n=o[i]&&o[i][n])&&n.points[t.key])&&e[s+"Stacker"](a,n,h)})},r.prototype.percentStacker=function(t,e,i){t[0]=h(t[0]*(e=e.total?100/e.total:0)),t[1]=h(t[1]*e),this.stackedYData[i]=t[1]},r.prototype.getStackIndicator=function(t,e,i,o){return!l(t)||t.x!==e||o&&t.key!==o?t={x:e,index:0,key:o}:t.index++,t.key=[i,e,t.index].join(),t},o.StackItem=g,o.StackItem}),e(i,"Series/Line/LineSeries.js",[i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.defined,n=o.merge;return o=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return r(o,i),o.prototype.drawGraph=function(){var e=this,i=this.options,o=(this.gappedPath||this.getGraphPath).call(this),r=this.chart.styledMode,s=[["graph","highcharts-graph"]];r||s[0].push(i.lineColor||this.color||t.neutralColor20,i.dashStyle),(s=e.getZonesGraphs(s)).forEach(function(t,s){var n=t[0],a=e[n],h=a?"animate":"attr";a?(a.endX=e.preventGraphAnimation?null:o.xMap,a.animate({d:o})):o.length&&(e[n]=a=e.chart.renderer.path(o).addClass(t[1]).attr({zIndex:1}).add(e.group)),a&&!r&&(n={stroke:t[2],"stroke-width":i.lineWidth,fill:e.fillGraph&&e.color||"none"},t[3]?n.dashstyle=t[3]:"square"!==i.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),a[h](n).shadow(2>s&&i.shadow)),a&&(a.startX=o.xMap,a.isArea=o.isArea)})},o.prototype.getGraphPath=function(t,e,i){var o,r,n=this,a=n.options,h=a.step,l=[],c=[];return(o=(t=t||n.points).reversed)&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&o&&(h=4-h),(t=this.getValidPoints(t,!1,!(a.connectNulls&&!e&&!i))).forEach(function(o,d){var p=o.plotX,u=o.plotY,f=t[d-1];(o.leftCliff||f&&f.rightCliff)&&!i&&(r=!0),o.isNull&&!s(e)&&0<d?r=!a.connectNulls:o.isNull&&!e?r=!0:(0===d||r?d=[["M",o.plotX,o.plotY]]:n.getPointSpline?d=[n.getPointSpline(t,o,d)]:h?(d=1===h?[["L",f.plotX,u]]:2===h?[["L",(f.plotX+p)/2,f.plotY],["L",(f.plotX+p)/2,u]]:[["L",p,f.plotY]]).push(["L",p,u]):d=[["L",p,u]],c.push(o.x),h&&(c.push(o.x),2===h&&c.push(o.x)),l.push.apply(l,d),r=!1)}),l.xMap=c,n.graphPath=l},o.prototype.getZonesGraphs=function(t){return this.zones.forEach(function(e,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(e.className||"")],this.chart.styledMode||i.push(e.color||this.color,e.dashStyle||this.options.dashStyle),t.push(i)},this),t},o.defaultOptions=n(e.defaultOptions,{}),o}(e),i.registerSeriesType("line",o),o}),e(i,"Series/Area/AreaSeries.js",[i["Core/Color/Color.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=t.parse,n=i.seriesTypes.line;t=o.extend;var a=o.merge,h=o.objectEach,l=o.pick;return o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(e,t),e.prototype.drawGraph=function(){this.areaPath=[],t.prototype.drawGraph.apply(this);var e=this,i=this.areaPath,o=this.options,r=[["area","highcharts-area",this.color,o.fillColor]];this.zones.forEach(function(t,i){r.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||e.color,t.fillColor||o.fillColor])}),r.forEach(function(t){var r=t[0],n=e[r],a=n?"animate":"attr",h={};n?(n.endX=e.preventGraphAnimation?null:i.xMap,n.animate({d:i})):(h.zIndex=0,(n=e[r]=e.chart.renderer.path(i).addClass(t[1]).add(e.group)).isArea=!0),e.chart.styledMode||(h.fill=l(t[3],s(t[2]).setOpacity(l(o.fillOpacity,.75)).get())),n[a](h),n.startX=i.xMap,n.shiftUnit=o.step?2:1})},e.prototype.getGraphPath=function(t){var e,i=n.prototype.getGraphPath,o=this.options,r=o.stacking,s=this.yAxis,a=[],h=[],c=this.index,d=s.stacking.stacks[this.stackKey],p=o.threshold,u=Math.round(s.getThreshold(o.threshold));o=l(o.connectNulls,"percent"===r);var f=function(e,i,o){var n=t[e];e=r&&d[n.x].points[c];var l=n[o+"Null"]||0;if(o=n[o+"Cliff"]||0,n=!0,o||l){var f=(l?e[0]:e[1])+o,g=e[0]+o;n=!!l}else!r&&t[i]&&t[i].isNull&&(f=g=p);void 0!==f&&(h.push({plotX:m,plotY:null===f?u:s.getThreshold(f),isNull:n,isCliff:!0}),a.push({plotX:m,plotY:null===g?u:s.getThreshold(g),doCurve:!1}))};for(t=t||this.points,r&&(t=this.getStackPoints(t)),e=0;e<t.length;e++){r||(t[e].leftCliff=t[e].rightCliff=t[e].leftNull=t[e].rightNull=void 0);var g=t[e].isNull,m=l(t[e].rectPlotX,t[e].plotX),y=r?l(t[e].yBottom,u):u;g&&!o||(o||f(e,e-1,"left"),g&&!r&&o||(h.push(t[e]),a.push({x:e,plotX:m,plotY:y})),o||f(e,e+1,"right"))}return e=i.call(this,h,!0,!0),a.reversed=!0,(y=(g=i.call(this,a,!0,!0))[0])&&"M"===y[0]&&(g[0]=["L",y[1],y[2]]),(g=e.concat(g)).length&&g.push(["Z"]),i=i.call(this,h,!1,o),g.xMap=e.xMap,this.areaPath=g,i},e.prototype.getStackPoints=function(t){var e=this,i=[],o=[],r=this.xAxis,s=this.yAxis,n=s.stacking.stacks[this.stackKey],a={},c=s.series,d=c.length,p=s.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(var f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,a[t[f].x]=t[f];h(n,function(t,e){null!==t.total&&o.push(e)}),o.sort(function(t,e){return t-e});var g=c.map(function(t){return t.visible});o.forEach(function(t,h){var f,m,y=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){var r=1===i?"rightNull":"leftNull",s=0,l=n[o[h+i]];if(l)for(var y=u;0<=y&&y<d;){var v=c[y].index;(f=l.points[v])||(v===e.index?a[t][r]=!0:g[y]&&(m=n[t].points[v])&&(s-=m[1]-m[0])),y+=p}a[t][1===i?"rightCliff":"leftCliff"]=s});else{for(var v=u;0<=v&&v<d;){if(f=n[t].points[c[v].index]){y=f[1];break}v+=p}y=l(y,0),y=s.translate(y,0,1,0,1),i.push({isNull:!0,plotX:r.translate(t,0,0,0,1),x:t,plotY:y,yBottom:y})}})}return i},e.defaultOptions=a(n.defaultOptions,{threshold:0}),e}(n),t(o.prototype,{singleStacks:!1,drawLegendSymbol:e.drawRectangle}),i.registerSeriesType("area",o),o}),e(i,"Series/Spline/SplineSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=t.seriesTypes.line,r=e.merge,s=e.pick;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return i(e,t),e.prototype.getPointSpline=function(t,e,i){var o=e.plotX||0,r=e.plotY||0,n=t[i-1];if(i=t[i+1],n&&!n.isNull&&!1!==n.doCurve&&!e.isCliff&&i&&!i.isNull&&!1!==i.doCurve&&!e.isCliff){var a=i.plotX||0,h=0,l=(1.5*o+(n.plotX||0))/2.5,c=(1.5*r+(t=n.plotY||0))/2.5,d=(1.5*r+(i=i.plotY||0))/2.5;(a=(1.5*o+a)/2.5)!==l&&(h=(d-c)*(a-o)/(a-l)+r-d),d+=h,(c+=h)>t&&c>r?d=2*r-(c=Math.max(t,r)):c<t&&c<r&&(d=2*r-(c=Math.min(t,r))),d>i&&d>r?c=2*r-(d=Math.max(i,r)):d<i&&d<r&&(c=2*r-(d=Math.min(i,r))),e.rightContX=a,e.rightContY=d}return e=["C",s(n.rightContX,n.plotX,0),s(n.rightContY,n.plotY,0),s(l,o,0),s(c,r,0),o,r],n.rightContX=n.rightContY=void 0,e},e.defaultOptions=r(o.defaultOptions),e}(o),t.registerSeriesType("spline",e),e}),e(i,"Series/AreaSpline/AreaSplineSeries.js",[i["Series/Area/AreaSeries.js"],i["Series/Spline/SplineSeries.js"],i["Mixins/LegendSymbol.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r){var s=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),n=t.prototype,a=r.merge;return(0,r.extend)((r=function(i){function o(){var t=null!==i&&i.apply(this,arguments)||this;return t.data=void 0,t.points=void 0,t.options=void 0,t}return s(o,i),o.defaultOptions=a(e.defaultOptions,t.defaultOptions),o}(e)).prototype,{getGraphPath:n.getGraphPath,getStackPoints:n.getStackPoints,drawGraph:n.drawGraph,drawLegendSymbol:i.drawRectangle}),o.registerSeriesType("areaspline",r),r}),e(i,"Series/Column/ColumnSeries.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a){var h=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),l=t.animObject,c=e.parse,d=i.hasTouch;t=i.noop;var p=a.clamp,u=a.css,f=a.defined,g=a.extend,m=a.fireEvent,y=a.isArray,v=a.isNumber,x=a.merge,b=a.pick,w=a.objectEach;return a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.borderWidth=void 0,e.data=void 0,e.group=void 0,e.options=void 0,e.points=void 0,e}return h(e,t),e.prototype.animate=function(t){var e=this,i=this.yAxis,o=e.options,r=this.chart.inverted,s={},n=r?"translateX":"translateY";if(t)s.scaleY=.001,t=p(i.toPixels(o.threshold),i.pos,i.pos+i.len),r?s.translateX=t-i.len:s.translateY=t,e.clipBox&&e.setClip(),e.group.attr(s);else{var a=Number(e.group.attr(n));e.group.animate({scaleY:1},g(l(e.options.animation),{step:function(t,o){e.group&&(s[n]=a+o.pos*(i.pos-a),e.group.attr(s))}}))}},e.prototype.init=function(e,i){t.prototype.init.apply(this,arguments);var o=this;(e=o.chart).hasRendered&&e.series.forEach(function(t){t.type===o.type&&(t.isDirty=!0)})},e.prototype.getColumnMetrics=function(){var t=this,e=t.options,i=t.xAxis,o=t.yAxis,r=i.options.reversedStacks;r=i.reversed&&!r||!i.reversed&&r;var s,n={},a=0;!1===e.grouping?a=1:t.chart.series.forEach(function(e){var i=e.yAxis,r=e.options;if(e.type===t.type&&(e.visible||!t.chart.options.chart.ignoreHiddenSeries)&&o.len===i.len&&o.pos===i.pos){if(r.stacking&&"group"!==r.stacking){void 0===n[s=e.stackKey]&&(n[s]=a++);var h=n[s]}else!1!==r.grouping&&(h=a++);e.columnIndex=h}});var h=Math.min(Math.abs(i.transA)*(i.ordinal&&i.ordinal.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),l=h*e.groupPadding,c=(h-2*l)/(a||1);return e=Math.min(e.maxPointWidth||i.len,b(e.pointWidth,c*(1-2*e.pointPadding))),t.columnMetrics={width:e,offset:(c-e)/2+(l+((t.columnIndex||0)+(r?1:0))*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:a},t.columnMetrics},e.prototype.crispCol=function(t,e,i,o){var r=this.chart,s=this.borderWidth,n=-(s%2?.5:0);return s=s%2?.5:1,r.inverted&&r.renderer.isVML&&(s+=1),this.options.crisp&&(i=Math.round(t+i)+n,i-=t=Math.round(t)+n),o=Math.round(e+o)+s,n=.5>=Math.abs(e)&&.5<o,o-=e=Math.round(e)+s,n&&o&&(--e,o+=1),{x:t,y:e,width:i,height:o}},e.prototype.adjustForMissingColumns=function(t,e,i,o){var r=this,s=this.options.stacking;if(!i.isNull&&1<o.columnCount){var n=0,a=0;w(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(t){if("number"==typeof i.x&&(t=t[i.x.toString()])){var e=t.points[r.index],o=t.total;s?(e&&(n=a),t.hasValidPoints&&a++):y(e)&&(n=e[1],a=o||0)}}),t=(i.plotX||0)+((a-1)*o.paddedWidth+e)/2-e-n*o.paddedWidth}return t},e.prototype.translate=function(){var t=this,e=t.chart,i=t.options,o=t.dense=2>t.closestPointRange*t.xAxis.transA;o=t.borderWidth=b(i.borderWidth,o?0:1);var r=t.xAxis,n=t.yAxis,a=i.threshold,h=t.translatedThreshold=n.getThreshold(a),l=b(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,u=t.barW=Math.max(d,1+2*o),g=t.pointXOffset=c.offset,m=t.dataMin,y=t.dataMax;e.inverted&&(h-=.5),i.pointPadding&&(u=Math.ceil(u)),s.prototype.translate.apply(t),t.points.forEach(function(o){var s=b(o.yBottom,h),x=999+Math.abs(s),w=d,C=o.plotX||0;x=p(o.plotY,-x,n.len+x),C+=g;var S=u,k=Math.min(x,s),M=Math.max(x,s)-k;if(l&&Math.abs(M)<l){M=l;var A=!n.reversed&&!o.negative||n.reversed&&o.negative;v(a)&&v(y)&&o.y===a&&y<=a&&(n.min||0)<a&&(m!==y||(n.max||0)<=a)&&(A=!A),k=Math.abs(k-h)>l?s-l:h-(A?l:0)}f(o.options.pointWidth)&&(w=S=Math.ceil(o.options.pointWidth),C-=Math.round((w-d)/2)),i.centerInCategory&&(C=t.adjustForMissingColumns(C,w,o,c)),o.barX=C,o.pointWidth=w,o.tooltipPos=e.inverted?[p(n.len+n.pos-e.plotLeft-x,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-C-S/2,M]:[r.left-e.plotLeft+C+S/2,p(x+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],o.shapeType=t.pointClass.prototype.shapeType||"rect",o.shapeArgs=t.crispCol.apply(t,o.isNull?[C,h,S,0]:[C,k,S,M])})},e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},e.prototype.pointAttribs=function(t,e){var i=this.options,o=this.pointAttrToOptions||{},r=o.stroke||"borderColor",s=o["stroke-width"]||"borderWidth",n=t&&t.color||this.color,a=t&&t[r]||i[r]||n,h=t&&t[s]||i[s]||this[s]||0;o=t&&t.options.dashStyle||i.dashStyle;var l=b(t&&t.opacity,i.opacity,1);if(t&&this.zones.length){var d=t.getZone();n=t.options.color||d&&(d.color||t.nonZonedColor)||this.color,d&&(a=d.borderColor||a,o=d.dashStyle||o,h=d.borderWidth||h)}return e&&t&&(e=(t=x(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,n=t.color||void 0!==e&&c(n).brighten(t.brightness).get()||n,a=t[r]||a,h=t[s]||h,o=t.dashStyle||o,l=b(t.opacity,l)),r={fill:n,stroke:a,"stroke-width":h,opacity:l},o&&(r.dashstyle=o),r},e.prototype.drawPoints=function(){var t,e=this,i=this.chart,o=e.options,r=i.renderer,s=o.animationLimit||250;e.points.forEach(function(n){var a=n.graphic,h=!!a,l=a&&i.pointCount<s?"animate":"attr";v(n.plotY)&&null!==n.y?(t=n.shapeArgs,a&&n.hasNewShapeType()&&(a=a.destroy()),e.enabledDataSorting&&(n.startXPos=e.xAxis.reversed?-(t&&t.width||0):e.xAxis.width),a||(n.graphic=a=r[n.shapeType](t).add(n.group||e.group))&&e.enabledDataSorting&&i.hasRendered&&i.pointCount<s&&(a.attr({x:n.startXPos}),h=!0,l="animate"),a&&h&&a[l](x(t)),o.borderRadius&&a[l]({r:o.borderRadius}),i.styledMode||a[l](e.pointAttribs(n,n.selected&&"select")).shadow(!1!==n.allowShadow&&o.shadow,null,o.stacking&&!o.borderRadius),a&&(a.addClass(n.getClassName(),!0),a.attr({visibility:n.visible?"inherit":"hidden"}))):a&&(n.graphic=a.destroy())})},e.prototype.drawTracker=function(){var t,e=this,i=e.chart,o=i.pointer,r=function(t){var e=o.getPointFromEvent(t);void 0!==e&&(o.isDirectTouch=!0,e.onMouseOver(t))};e.points.forEach(function(e){t=y(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){t.div?t.div.point=e:t.element.point=e})}),e._hasTracking||(e.trackerGroups.forEach(function(t){e[t]&&(e[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o.onTrackerMouseOut(t)}),d&&e[t].on("touchstart",r),!i.styledMode&&e.options.cursor&&e[t].css(u).css({cursor:e.options.cursor}))}),e._hasTracking=!0),m(this,"afterDrawTracker")},e.prototype.remove=function(){var t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),s.prototype.remove.apply(t,arguments)},e.defaultOptions=x(s.defaultOptions,{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:r.neutralColor20,borderColor:r.neutralColor100}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:r.backgroundColor}),e}(s),g(a.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:o.drawRectangle,getSymbol:t,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("column",a),a}),e(i,"Series/Bar/BarSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i.merge;return(0,i.extend)((i=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.data=void 0,t.options=void 0,t.points=void 0,t}return o(i,e),i.defaultOptions=r(t.defaultOptions,{}),i}(t)).prototype,{inverted:!0}),e.registerSeriesType("bar",i),i}),e(i,"Series/Scatter/ScatterSeries.js",[i["Series/Column/ColumnSeries.js"],i["Series/Line/LineSeries.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=o.addEvent,n=o.merge;return(0,o.extend)((o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.applyJitter=function(){var t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(o,r){["x","y"].forEach(function(s,n){var a="plot"+s.toUpperCase();if(e[s]&&!o.isNull){var h=t[s+"Axis"],l=e[s]*h.transA;if(h&&!h.isLog){var c=Math.max(0,o[a]-l);h=Math.min(h.len,o[a]+l),n=1e4*Math.sin(r+n*i),o[a]=c+(h-c)*(n-Math.floor(n)),"x"===s&&(o.clientX=o.plotX)}}})})},i.prototype.drawGraph=function(){(this.options.lineWidth||0===this.options.lineWidth&&this.graph&&this.graph.strokeWidth())&&t.prototype.drawGraph.call(this)},i.defaultOptions=n(e.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),i}(e)).prototype,{drawTracker:t.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1}),s(o,"afterTranslate",function(){this.applyJitter()}),i.registerSeriesType("scatter",o),o}),e(i,"Mixins/CenteredSeries.js",[i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i){var o=i.isNumber,r=i.pick,s=i.relativeLength,n=t.deg2rad;return t.CenteredSeriesMixin={getCenter:function(){var t=this.options,i=this.chart,o=2*(t.slicedOffset||0),n=i.plotWidth-2*o,a=i.plotHeight-2*o,h=t.center,l=Math.min(n,a),c=t.size,d=t.innerSize||0;for("string"==typeof c&&(c=parseFloat(c)),"string"==typeof d&&(d=parseFloat(d)),t=[r(h[0],"50%"),r(h[1],"50%"),r(c&&0>c?void 0:t.size,"100%"),r(d&&0>d?void 0:t.innerSize||0,"0%")],!i.angular||this instanceof e||(t[3]=0),h=0;4>h;++h)c=t[h],i=2>h||2===h&&/%$/.test(c),t[h]=s(c,[n,a,l,t[2]][h])+(i?o:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(t,e){return t=o(t)?t:0,e=o(e)&&e>t&&360>e-t?e:t+360,{start:n*(t+-90),end:n*(e+-90)}}}}),e(i,"Series/Pie/PiePoint.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Series/Point.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=t.setAnimation,s=i.addEvent,n=i.defined;t=i.extend;var a=i.isNumber,h=i.pick,l=i.relativeLength;return i=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelDistance=void 0,e.options=void 0,e.series=void 0,e}return o(i,t),i.prototype.getConnectorPath=function(){var t=this.labelPosition,e=this.series.options.dataLabels,i=e.connectorShape,o=this.connectorShapes;return o[i]&&(i=o[i]),i.call(this,{x:t.final.x,y:t.final.y,alignment:t.alignment},t.connectorPosition,e)},i.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},i.prototype.haloPath=function(t){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end})},i.prototype.init=function(){e.prototype.init.apply(this,arguments);var t=this;t.name=h(t.name,"Slice");var i=function(e){t.slice("select"===e.type)};return s(t,"select",i),s(t,"unselect",i),t},i.prototype.isValid=function(){return a(this.y)&&0<=this.y},i.prototype.setVisible=function(t,e){var i=this,o=i.series,r=o.chart,s=o.options.ignoreHiddenPoint;e=h(e,s),t!==i.visible&&(i.visible=i.options.visible=t=void 0===t?!i.visible:t,o.options.data[o.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){i[e]&&i[e][t?"show":"hide"](t)}),i.legendItem&&r.legend.colorizeItem(i,t),t||"hover"!==i.state||i.setState(""),s&&(o.isDirty=!0),e&&r.redraw())},i.prototype.slice=function(t,e,i){var o=this.series;r(i,o.chart),h(e,!0),this.sliced=this.options.sliced=n(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate()),this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},i}(e),t(i.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var o=e.breakAt;return e=e.touchingSliceAt,[["M",t.x,t.y],i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*o.x-e.x,2*o.y-e.y,o.x,o.y]:["L",o.x,o.y],["L",e.x,e.y]]},straight:function(t,e){return[["M",t.x,t.y],["L",(e=e.touchingSliceAt).x,e.y]]},crookedLine:function(t,e,i){e=e.touchingSliceAt;var o=this.series,r=o.center[0],s=o.chart.plotWidth,n=o.chart.plotLeft;o=t.alignment;var a=this.shapeArgs.r;return i=l(i.crookDistance,1),i=["L",s="left"===o?r+a+(s+n-r-a)*(1-i):n+(r-a)*i,t.y],r=!0,("left"===o?s>t.x||s<e.x:s<t.x||s>e.x)&&(r=!1),t=[["M",t.x,t.y]],r&&t.push(i),t.push(["L",e.x,e.y]),t}}}),i}),e(i,"Series/Pie/PieSeries.js",[i["Mixins/CenteredSeries.js"],i["Series/Column/ColumnSeries.js"],i["Core/Globals.js"],i["Mixins/LegendSymbol.js"],i["Core/Color/Palette.js"],i["Series/Pie/PiePoint.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){var c=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),d=t.getStartAndEndRadians;i=i.noop;var p=l.clamp,u=l.fireEvent,f=l.merge,g=l.pick,m=l.relativeLength;return(0,l.extend)((l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.center=void 0,e.data=void 0,e.maxLabelDistance=void 0,e.options=void 0,e.points=void 0,e}return c(e,t),e.prototype.animate=function(t){var e=this,i=e.startAngleRad;t||e.points.forEach(function(t){var o=t.graphic,r=t.shapeArgs;o&&r&&(o.attr({r:g(t.startR,e.center&&e.center[3]/2),start:i,end:i}),o.animate({r:r.r,start:r.start,end:r.end},e.options.animation))})},e.prototype.drawEmpty=function(){var t=this.startAngleRad,e=this.endAngleRad,i=this.options;if(0===this.total&&this.center){var o=this.center[0],s=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(o,s,this.center[1]/2,0,t,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:h.prototype.symbols.arc(o,s,this.center[2]/2,0,{start:t,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||"none",stroke:i.color||r.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())},e.prototype.drawPoints=function(){var t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})},e.prototype.generatePoints=function(){t.prototype.generatePoints.call(this),this.updateTotals()},e.prototype.getX=function(t,e,i){var o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2;return t=Math.asin(p((t-o[1])/(r+i.labelDistance),-1,1)),o[0]+(e?-1:1)*Math.cos(t)*(r+i.labelDistance)+(0<i.labelDistance?(e?-1:1)*this.options.dataLabels.padding:0)},e.prototype.hasData=function(){return!!this.processedXData.length},e.prototype.redrawPoints=function(){var t,e,i,o,r=this,s=r.chart,n=s.renderer,a=r.options.shadow;this.drawEmpty(),!a||r.shadowGroup||s.styledMode||(r.shadowGroup=n.g("shadow").attr({zIndex:-1}).add(r.group)),r.points.forEach(function(h){var l={};if(e=h.graphic,!h.isNull&&e){var c=void 0;o=h.shapeArgs,t=h.getTranslate(),s.styledMode||(c=h.shadowGroup,a&&!c&&(c=h.shadowGroup=n.g("shadow").add(r.shadowGroup)),c&&c.attr(t),i=r.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(e.setRadialReference(r.center).attr(o).attr(t),s.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}).shadow(a,c),h.delayedRendering=!1):(e.setRadialReference(r.center),s.styledMode||f(!0,l,i),f(!0,l,o,t),e.animate(l)),e.attr({visibility:h.visible?"inherit":"hidden"}),e.addClass(h.getClassName(),!0)}else e&&(h.graphic=e.destroy())})},e.prototype.sortByAngle=function(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})},e.prototype.translate=function(t){this.generatePoints();var e=0,i=this.options,o=i.slicedOffset,r=o+(i.borderWidth||0),s=d(i.startAngle,i.endAngle),n=this.startAngleRad=s.start;s=(this.endAngleRad=s.end)-n;var a=this.points,h=i.dataLabels.distance;i=i.ignoreHiddenPoint;var l,c=a.length;for(t||(this.center=t=this.getCenter()),l=0;l<c;l++){var p=a[l],f=n+e*s;!p.isValid()||i&&!p.visible||(e+=p.percentage/100);var y=n+e*s,v={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*f)/1e3,end:Math.round(1e3*y)/1e3};p.shapeType="arc",p.shapeArgs=v,p.labelDistance=g(p.options.dataLabels&&p.options.dataLabels.distance,h),p.labelDistance=m(p.labelDistance,v.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,p.labelDistance),(y=(y+f)/2)>1.5*Math.PI?y-=2*Math.PI:y<-Math.PI/2&&(y+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(y)*o),translateY:Math.round(Math.sin(y)*o)},v=Math.cos(y)*t[2]/2;var x=Math.sin(y)*t[2]/2;p.tooltipPos=[t[0]+.7*v,t[1]+.7*x],p.half=y<-Math.PI/2||y>Math.PI/2?1:0,p.angle=y,f=Math.min(r,p.labelDistance/5),p.labelPosition={natural:{x:t[0]+v+Math.cos(y)*p.labelDistance,y:t[1]+x+Math.sin(y)*p.labelDistance},final:{},alignment:0>p.labelDistance?"center":p.half?"right":"left",connectorPosition:{breakAt:{x:t[0]+v+Math.cos(y)*f,y:t[1]+x+Math.sin(y)*f},touchingSliceAt:{x:t[0]+v,y:t[1]+x}}}}u(this,"afterTranslate")},e.prototype.updateTotals=function(){var t,e=0,i=this.points,o=i.length,r=this.options.ignoreHiddenPoint;for(t=0;t<o;t++){var s=i[t];!s.isValid()||r&&!s.visible||(e+=s.y)}for(this.total=e,t=0;t<o;t++)(s=i[t]).percentage=0<e&&(s.visible||!r)?s.y/e*100:0,s.total=e},e.defaultOptions=f(n.defaultOptions,{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:r.backgroundColor,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),e}(n)).prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawLegendSymbol:o.drawRectangle,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:i,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:i,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",l),l}),e(i,"Core/Series/DataLabels.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=t.getDeferredAnimation,h=e.format;t=i.noop,s=s.seriesTypes;var l=n.arrayMax,c=n.clamp,d=n.defined,p=n.extend,u=n.fireEvent,f=n.isArray,g=n.merge,m=n.objectEach,y=n.pick,v=n.relativeLength,x=n.splat,b=n.stableSort;i.distribute=function(t,e,o){function r(t,e){return t.target-e.target}var s,n=!0,a=t,h=[],l=0,d=a.reducedLen||e;for(s=t.length;s--;)l+=t[s].size;if(l>d){for(b(t,function(t,e){return(e.rank||0)-(t.rank||0)}),l=s=0;l<=d;)l+=t[s].size,s++;h=t.splice(s-1,t.length)}for(b(t,r),t=t.map(function(t){return{size:t.size,targets:[t.target],align:y(t.align,.5)}});n;){for(s=t.length;s--;)n=t[s],l=(Math.min.apply(0,n.targets)+Math.max.apply(0,n.targets))/2,n.pos=c(l-n.size*n.align,0,e-n.size);for(s=t.length,n=!1;s--;)0<s&&t[s-1].pos+t[s-1].size>t[s].pos&&(t[s-1].size+=t[s].size,t[s-1].targets=t[s-1].targets.concat(t[s].targets),t[s-1].align=.5,t[s-1].pos+t[s-1].size>e&&(t[s-1].pos=e-t[s-1].size),t.splice(s,1),n=!0)}a.push.apply(a,h),s=0,t.some(function(t){var r=0;if(t.targets.some(function(){if(a[s].pos=t.pos+r,void 0!==o&&Math.abs(a[s].pos-a[s].target)>o)return a.slice(0,s+1).forEach(function(t){delete t.pos}),a.reducedLen=(a.reducedLen||e)-.1*e,a.reducedLen>.1*e&&i.distribute(a,e,o),!0;r+=a[s].size,s++}))return!0}),b(a,r)},r.prototype.drawDataLabels=function(){function t(t,e){var i,o=[];if(f(t)&&!f(e))o=t.map(function(t){return g(t,e)});else if(f(e)&&!f(t))o=e.map(function(e){return g(t,e)});else if(f(t)||f(e))for(i=Math.max(t.length,e.length);i--;)o[i]=g(t[i],e[i]);else o=g(t,e);return o}var e=this,i=e.chart,r=e.options,s=r.dataLabels,n=e.points,l=e.hasRendered||0,c=s.animation;c=s.defer?a(i,c,e):{defer:0,duration:0};var p=i.renderer;if(s=t(t(i.options.plotOptions&&i.options.plotOptions.series&&i.options.plotOptions.series.dataLabels,i.options.plotOptions&&i.options.plotOptions[e.type]&&i.options.plotOptions[e.type].dataLabels),s),u(this,"drawDataLabels"),f(s)||s.enabled||e._hasPointLabels){var v=e.plotGroup("dataLabelsGroup","data-labels",l?"inherit":"hidden",s.zIndex||6);v.attr({opacity:+l}),!l&&(l=e.dataLabelsGroup)&&(e.visible&&v.show(!0),l[r.animation?"animate":"attr"]({opacity:1},c)),n.forEach(function(n){x(t(s,n.dlOptions||n.options&&n.options.dataLabels)).forEach(function(t,s){var a=t.enabled&&(!n.isNull||n.dataLabelOnNull)&&function(t,e){var i=e.filter;return!i||(e=i.operator,t=t[i.property],i=i.value,">"===e&&t>i||"<"===e&&t<i||">="===e&&t>=i||"<="===e&&t<=i||"=="===e&&t==i||"==="===e&&t===i)}(n,t),l=n.dataLabels?n.dataLabels[s]:n.dataLabel,c=n.connectors?n.connectors[s]:n.connector,u=y(t.distance,n.labelDistance),f=!l;if(a){var g=n.getLabelConfig(),x=y(t[n.formatPrefix+"Format"],t.format);g=d(x)?h(x,g,i):(t[n.formatPrefix+"Formatter"]||t.formatter).call(g,t),x=t.style;var b=t.rotation;i.styledMode||(x.color=y(t.color,x.color,e.color,o.neutralColor100),"contrast"===x.color?(n.contrastColor=p.getContrast(n.color||e.color),x.color=!d(u)&&t.inside||0>u||r.stacking?n.contrastColor:o.neutralColor100):delete n.contrastColor,r.cursor&&(x.cursor=r.cursor));var w={r:t.borderRadius||0,rotation:b,padding:t.padding,zIndex:1};i.styledMode||(w.fill=t.backgroundColor,w.stroke=t.borderColor,w["stroke-width"]=t.borderWidth),m(w,function(t,e){void 0===t&&delete w[e]})}!l||a&&d(g)?a&&d(g)&&(l?w.text=g:(n.dataLabels=n.dataLabels||[],l=n.dataLabels[s]=b?p.text(g,0,-9999,t.useHTML).addClass("highcharts-data-label"):p.label(g,0,-9999,t.shape,null,null,t.useHTML,null,"data-label"),s||(n.dataLabel=l),l.addClass(" highcharts-data-label-color-"+n.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":""))),l.options=t,l.attr(w),i.styledMode||l.css(x).shadow(t.shadow),l.added||l.add(v),t.textPath&&!t.useHTML&&(l.setTextPath(n.getDataLabelPath&&n.getDataLabelPath(l)||n.graphic,t.textPath),n.dataLabelPath&&!t.textPath.enabled&&(n.dataLabelPath=n.dataLabelPath.destroy())),e.alignDataLabel(n,l,t,null,f)):(n.dataLabel=n.dataLabel&&n.dataLabel.destroy(),n.dataLabels&&(1===n.dataLabels.length?delete n.dataLabels:delete n.dataLabels[s]),s||delete n.dataLabel,c&&(n.connector=n.connector.destroy(),n.connectors&&(1===n.connectors.length?delete n.connectors:delete n.connectors[s])))})})}u(this,"afterDrawDataLabels")},r.prototype.alignDataLabel=function(t,e,i,o,r){var s=this,n=this.chart,a=this.isCartesian&&n.inverted,h=this.enabledDataSorting,l=y(t.dlBox&&t.dlBox.centerX,t.plotX,-9999),c=y(t.plotY,-9999),d=e.getBBox(),u=i.rotation,f=i.align,g=n.isInsidePlot(l,Math.round(c),{inverted:a,paneCoordinates:!0,series:s}),m="justify"===y(i.overflow,h?"none":"justify"),v=this.visible&&!1!==t.visible&&(t.series.forceDL||h&&!m||g||y(i.inside,!!this.options.stacking)&&o&&n.isInsidePlot(l,a?o.x+1:o.y+o.height-1,{inverted:a,paneCoordinates:!0,series:s})),x=function(i){h&&s.xAxis&&!m&&s.setDataLabelStartPos(t,e,r,g,i)};if(v){var b=n.renderer.fontMetrics(n.styledMode?void 0:i.style.fontSize,e).b;o=p({x:a?this.yAxis.len-c:l,y:Math.round(a?this.xAxis.len-l:c),width:0,height:0},o),p(i,{width:d.width,height:d.height}),u?(m=!1,l=n.renderer.rotCorr(b,u),x(l={x:o.x+(i.x||0)+o.width/2+l.x,y:o.y+(i.y||0)+{top:0,middle:.5,bottom:1}[i.verticalAlign]*o.height}),e[r?"attr":"animate"](l).attr({align:f}),x=180<(x=(u+720)%360)&&360>x,"left"===f?l.y-=x?d.height:0:"center"===f?(l.x-=d.width/2,l.y-=d.height/2):"right"===f&&(l.x-=d.width,l.y-=x?0:d.height),e.placed=!0,e.alignAttr=l):(x(o),e.align(i,void 0,o),l=e.alignAttr),m&&0<=o.height?this.justifyDataLabel(e,i,l,d,o,r):y(i.crop,!0)&&(v=n.isInsidePlot(l.x,l.y,{paneCoordinates:!0,series:s})&&n.isInsidePlot(l.x+d.width,l.y+d.height,{paneCoordinates:!0,series:s})),i.shape&&!u&&e[r?"attr":"animate"]({anchorX:a?n.plotWidth-t.plotY:t.plotX,anchorY:a?n.plotHeight-t.plotX:t.plotY})}r&&h&&(e.placed=!1),v||h&&!m||(e.hide(!0),e.placed=!1)},r.prototype.setDataLabelStartPos=function(t,e,i,o,r){var s=this.chart,n=s.inverted,a=this.xAxis,h=a.reversed,l=n?e.height/2:e.width/2;t=(t=t.pointWidth)?t/2:0,a=n?r.x:h?-l-t:a.width-l+t,r=n?h?this.yAxis.height-l+t:-l-t:r.y,e.startXPos=a,e.startYPos=r,o?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),s.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)},r.prototype.justifyDataLabel=function(t,e,i,o,r,s){var n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,c=e.x;c=void 0===c?0:c;var d=e.y,p=void 0===d?0:d;if(0>(d=(i.x||0)+l)){"right"===a&&0<=c?(e.align="left",e.inside=!0):c-=d;var u=!0}return(d=(i.x||0)+o.width-l)>n.plotWidth&&("left"===a&&0>=c?(e.align="right",e.inside=!0):c+=n.plotWidth-d,u=!0),0>(d=i.y+l)&&("bottom"===h&&0<=p?(e.verticalAlign="top",e.inside=!0):p-=d,u=!0),(d=(i.y||0)+o.height-l)>n.plotHeight&&("top"===h&&0>=p?(e.verticalAlign="bottom",e.inside=!0):p+=n.plotHeight-d,u=!0),u&&(e.x=c,e.y=p,t.placed=!s,t.align(e,void 0,r)),u},s.pie&&(s.pie.prototype.dataLabelPositioners={radialDistributionY:function(t){return t.top+t.distributeBox.pos},radialDistributionX:function(t,e,i,o){return t.getX(i<e.top+2||i>e.bottom-2?o:i,e.half,e)},justify:function(t,e,i){return i[0]+(t.half?-1:1)*(e+t.labelDistance)},alignToPlotEdges:function(t,e,i,o){return t=t.getBBox().width,e?t+o:i-t-o},alignToConnectors:function(t,e,i,o){var r,s=0;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>s&&(s=r)}),e?s+o:i-s-o}},s.pie.prototype.drawDataLabels=function(){var t,e,s,n,a,h,c,p,u,f,m,v,x=this,b=x.data,w=x.chart,C=x.options.dataLabels||{},S=C.connectorPadding,k=w.plotWidth,M=w.plotHeight,A=w.plotLeft,T=Math.round(w.chartWidth/3),P=x.center,O=P[2]/2,E=P[1],L=[[],[]],D=[0,0,0,0],j=x.dataLabelPositioners;x.visible&&(C.enabled||x._hasPointLabels)&&(b.forEach(function(t){t.dataLabel&&t.visible&&t.dataLabel.shortened&&(t.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(x),b.forEach(function(t){t.dataLabel&&(t.visible?(L[t.half].push(t),t.dataLabel._pos=null,!d(C.style.width)&&!d(t.options.dataLabels&&t.options.dataLabels.style&&t.options.dataLabels.style.width)&&t.dataLabel.getBBox().width>T&&(t.dataLabel.css({width:Math.round(.7*T)+"px"}),t.dataLabel.shortened=!0)):(t.dataLabel=t.dataLabel.destroy(),t.dataLabels&&1===t.dataLabels.length&&delete t.dataLabels))}),L.forEach(function(e,o){var r,s=e.length,l=[];if(s){if(x.sortByAngle(e,o-.5),0<x.maxLabelDistance){var g=Math.max(0,E-O-x.maxLabelDistance),b=Math.min(E+O+x.maxLabelDistance,w.plotHeight);e.forEach(function(t){0<t.labelDistance&&t.dataLabel&&(t.top=Math.max(0,E-O-t.labelDistance),t.bottom=Math.min(E+O+t.labelDistance,w.plotHeight),r=t.dataLabel.getBBox().height||21,t.distributeBox={target:t.labelPosition.natural.y-t.top+r/2,size:r,rank:t.y},l.push(t.distributeBox))}),i.distribute(l,g=b+r-g,g/5)}for(m=0;m<s;m++){if(n=(t=e[m]).dataLabel,f=!1===t.visible?"hidden":"inherit",u=g=(h=t.labelPosition).natural.y,l&&d(t.distributeBox)&&(void 0===t.distributeBox.pos?f="hidden":(c=t.distributeBox.size,u=j.radialDistributionY(t))),delete t.positionIndex,C.justify)p=j.justify(t,O,P);else switch(C.alignTo){case"connectors":p=j.alignToConnectors(e,o,k,A);break;case"plotEdges":p=j.alignToPlotEdges(n,o,k,A);break;default:p=j.radialDistributionX(x,t,u,g)}n._attr={visibility:f,align:h.alignment},n._pos={x:p+y((v=t.options.dataLabels||{}).x,C.x)+({left:S,right:-S}[h.alignment]||0),y:u+y(v.y,C.y)-10},h.final.x=p,h.final.y=u,y(C.crop,!0)&&(a=n.getBBox().width,g=null,p-a<S&&1===o?(g=Math.round(a-p+S),D[3]=Math.max(g,D[3])):p+a>k-S&&0===o&&(g=Math.round(p+a-k+S),D[1]=Math.max(g,D[1])),0>u-c/2?D[0]=Math.max(Math.round(c/2-u),D[0]):u+c/2>M&&(D[2]=Math.max(Math.round(u+c/2-M),D[2])),n.sideOverflow=g)}}}),0===l(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(t){var i;v=g(C,t.options.dataLabels),(e=y(v.connectorWidth,1))&&(s=t.connector,(n=t.dataLabel)&&n._pos&&t.visible&&0<t.labelDistance?(f=n._attr.visibility,(i=!s)&&(t.connector=s=w.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(x.dataLabelsGroup),w.styledMode||s.attr({"stroke-width":e,stroke:v.connectorColor||t.color||o.neutralColor60})),s[i?"attr":"animate"]({d:t.getConnectorPath()}),s.attr("visibility",f)):s&&(t.connector=s.destroy()))}))},s.pie.prototype.placeDataLabels=function(){this.points.forEach(function(t){var e,i=t.dataLabel;i&&t.visible&&((e=i._pos)?(i.sideOverflow&&(i._attr.width=Math.max(i.getBBox().width-i.sideOverflow,0),i.css({width:i._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),i.shortened=!0),i.attr(i._attr),i[i.moved?"animate":"attr"](e),i.moved=!0):i&&i.attr({y:-9999})),delete t.distributeBox},this)},s.pie.prototype.alignDataLabel=t,s.pie.prototype.verifyDataLabelOverflow=function(t){var e=this.center,i=this.options,o=i.center,r=i.minSize||80,s=null!==i.size;if(!s){if(null!==o[0])var n=Math.max(e[2]-Math.max(t[1],t[3]),r);else n=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2;null!==o[1]?n=c(n,r,e[2]-Math.max(t[0],t[2])):(n=c(n,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),n<e[2]?(e[2]=n,e[3]=Math.min(v(i.innerSize||0,n),n),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):s=!0}return s}),s.column&&(s.column.prototype.alignDataLabel=function(t,e,i,o,s){var n=this.chart.inverted,a=t.series,h=t.dlBox||t.shapeArgs,l=y(t.below,t.plotY>y(this.translatedThreshold,a.yAxis.len)),c=y(i.inside,!!this.options.stacking);h&&(0>(o=g(h)).y&&(o.height+=o.y,o.y=0),0<(h=o.y+o.height-a.yAxis.len)&&h<o.height&&(o.height-=h),n&&(o={x:a.yAxis.len-o.y-o.height,y:a.xAxis.len-o.x-o.width,width:o.height,height:o.width}),c||(n?(o.x+=l?0:o.width,o.width=0):(o.y+=l?o.height:0,o.height=0))),i.align=y(i.align,!n||c?"center":l?"right":"left"),i.verticalAlign=y(i.verticalAlign,n||c?"middle":l?"top":"bottom"),r.prototype.alignDataLabel.call(this,t,e,i,o,s),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})})}),e(i,"Extensions/OverlappingDataLabels.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){function i(t,e){var i=!1;if(t){var r=t.newOpacity;t.oldOpacity!==r&&(t.alignAttr&&t.placed?(t[r?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,t.alignAttr.opacity=r,t[t.isOld?"animate":"attr"](t.alignAttr,null,function(){e.styledMode||t.css({pointerEvents:r?"auto":"none"}),t.visibility=r?"inherit":"hidden"}),o(e,"afterHideOverlappingLabel")):t.attr({opacity:r})),t.isOld=!0}return i}var o=e.fireEvent,r=e.isArray,s=e.isNumber,n=e.objectEach,a=e.pick;(0,e.addEvent)(t,"render",function(){var t=this,e=[];(this.labelCollectors||[]).forEach(function(t){e=e.concat(t())}),(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&n(t.stacking.stacks,function(t){n(t,function(t){e.push(t.label)})})}),(this.series||[]).forEach(function(o){var s=o.options.dataLabels;o.visible&&(!1!==s.enabled||o._hasPointLabels)&&((s=function(o){return o.forEach(function(o){o.visible&&(r(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[]).forEach(function(r){var s=r.options;r.labelrank=a(s.labelrank,o.labelrank,o.shapeArgs&&o.shapeArgs.height),s.allowOverlap?(r.oldOpacity=r.opacity,r.newOpacity=1,i(r,t)):e.push(r)})})})(o.nodes||[]),s(o.points))}),this.hideOverlappingLabels(e)}),t.prototype.hideOverlappingLabels=function(t){var e,r,n,a=this,h=t.length,l=a.renderer,c=!1,d=function(t){var e,i,o=t.box?0:t.padding||0,r=e=0;if(t&&(!t.alignAttr||t.placed)){var n=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},a=t.parentGroup;return t.width||(e=t.getBBox(),t.width=e.width,t.height=e.height,e=l.fontMetrics(null,t.element).h),(i={left:"0",center:"0.5",right:"1"}[t.alignValue])?r=+i*(t.width-2*o):s(t.x)&&Math.round(t.x)!==t.translateX&&(r=t.x-t.translateX),{x:n.x+(a.translateX||0)+o-(r||0),y:n.y+(a.translateY||0)+o-e,width:t.width-2*o,height:t.height-2*o}}};for(r=0;r<h;r++)(e=t[r])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=d(e));for(t.sort(function(t,e){return(e.labelrank||0)-(t.labelrank||0)}),r=0;r<h;r++){var p=(d=t[r])&&d.absoluteBox;for(e=r+1;e<h;++e){var u=(n=t[e])&&n.absoluteBox;!p||!u||d===n||0===d.newOpacity||0===n.newOpacity||u.x>=p.x+p.width||u.x+u.width<=p.x||u.y>=p.y+p.height||u.y+u.height<=p.y||((d.labelrank<n.labelrank?d:n).newOpacity=0)}}t.forEach(function(t){i(t,a)&&(c=!0)}),c&&o(a,"afterHideAllOverlappingLabels")}}),e(i,"Core/Responsive.js",[i["Core/Chart/Chart.js"],i["Core/Utilities.js"]],function(t,e){var i=e.find,o=e.isArray,r=e.isObject,s=e.merge,n=e.objectEach,a=e.pick,h=e.splat,l=e.uniqueKey;t.prototype.setResponsive=function(t,e){var o=this.options.responsive,r=[],n=this.currentResponsive;!e&&o&&o.rules&&o.rules.forEach(function(t){void 0===t._id&&(t._id=l()),this.matchResponsiveRule(t,r)},this),(e=s.apply(0,r.map(function(t){return i(o.rules,function(e){return e._id===t}).chartOptions}))).isResponsiveOptions=!0,(r=r.toString()||void 0)!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,t,!0),r?((n=this.currentOptions(e)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:e,undoOptions:n},this.update(e,t,!0)):this.currentResponsive=void 0)},t.prototype.matchResponsiveRule=function(t,e){var i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)},t.prototype.currentOptions=function(t){var e=this,i={};return function t(i,s,a,l){var c;n(i,function(i,n){if(!l&&-1<e.collectionsWithUpdate.indexOf(n)&&s[n])for(i=h(i),a[n]=[],c=0;c<Math.max(i.length,s[n].length);c++)s[n][c]&&(void 0===i[c]?a[n][c]=s[n][c]:(a[n][c]={},t(i[c],s[n][c],a[n][c],l+1)));else r(i)?(a[n]=o(i)?[]:{},t(i,s[n]||{},a[n],l+1)):a[n]=void 0===s[n]?null:s[n]})}(t,this.options,i,0),i}}),e(i,"masters/highcharts.src.js",[i["Core/Globals.js"],i["Core/Utilities.js"],i["Core/Options.js"],i["Core/Animation/Fx.js"],i["Core/Animation/AnimationUtilities.js"],i["Core/Renderer/HTML/AST.js"],i["Core/FormatUtilities.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Series/Series.js"]],function(t,e,i,o,r,s,n,a,h){return t.animate=r.animate,t.animObject=r.animObject,t.getDeferredAnimation=r.getDeferredAnimation,t.setAnimation=r.setAnimation,t.stop=r.stop,t.timers=o.timers,t.AST=s,t.Fx=o,t.Series=h,t.SVGElement=a,t.dateFormat=n.dateFormat,t.format=n.format,t.numberFormat=n.numberFormat,t.defaultOptions=i.defaultOptions,t.getOptions=i.getOptions,t.time=i.defaultTime,t.setOptions=i.setOptions,t.addEvent=e.addEvent,t.arrayMax=e.arrayMax,t.arrayMin=e.arrayMin,t.attr=e.attr,t.clearTimeout=e.clearTimeout,t.correctFloat=e.correctFloat,t.createElement=e.createElement,t.css=e.css,t.defined=e.defined,t.destroyObjectProperties=e.destroyObjectProperties,t.discardElement=e.discardElement,t.erase=e.erase,t.error=e.error,t.extend=e.extend,t.extendClass=e.extendClass,t.find=e.find,t.fireEvent=e.fireEvent,t.getMagnitude=e.getMagnitude,t.getStyle=e.getStyle,t.inArray=e.inArray,t.isArray=e.isArray,t.isClass=e.isClass,t.isDOMElement=e.isDOMElement,t.isFunction=e.isFunction,t.isNumber=e.isNumber,t.isObject=e.isObject,t.isString=e.isString,t.keys=e.keys,t.merge=e.merge,t.normalizeTickInterval=e.normalizeTickInterval,t.objectEach=e.objectEach,t.offset=e.offset,t.pad=e.pad,t.pick=e.pick,t.pInt=e.pInt,t.relativeLength=e.relativeLength,t.removeEvent=e.removeEvent,t.splat=e.splat,t.stableSort=e.stableSort,t.syncTimeout=e.syncTimeout,t.timeUnits=e.timeUnits,t.uniqueKey=e.uniqueKey,t.useSerialIds=e.useSerialIds,t.wrap=e.wrap,t}),e(i,"Core/Axis/NavigatorAxis.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,e){var i=t.isTouchDevice,o=e.addEvent,r=e.correctFloat,s=e.defined,n=e.isNumber,a=e.pick,h=function(){function t(t){this.axis=t}return t.prototype.destroy=function(){this.axis=void 0},t.prototype.toFixedRange=function(t,e,i,o){var h=this.axis,l=h.chart;l=l&&l.fixedRange;var c=(h.pointRange||0)/2;return t=a(i,h.translate(t,!0,!h.horiz)),e=a(o,h.translate(e,!0,!h.horiz)),h=l&&(e-t)/l,s(i)||(t=r(t+c)),s(o)||(e=r(e-c)),.7<h&&1.3>h&&(o?t=e-l:e=t+l),n(t)&&n(e)||(t=e=void 0),{min:t,max:e}},t}();return function(){function t(){}return t.compose=function(t){t.keepProps.push("navigatorAxis"),o(t,"init",function(){this.navigatorAxis||(this.navigatorAxis=new h(this))}),o(t,"zoom",function(t){var e=this.chart.options,o=e.navigator,r=this.navigatorAxis,n=e.chart.pinchType,a=e.rangeSelector;e=e.chart.zoomType,this.isXAxis&&(o&&o.enabled||a&&a.enabled)&&("y"===e?t.zoomed=!1:(!i&&"xy"===e||i&&"xy"===n)&&this.options.range&&(o=r.previousZoom,s(t.newMin)?r.previousZoom=[this.min,this.max]:o&&(t.newMin=o[0],t.newMax=o[1],r.previousZoom=void 0))),void 0!==t.zoomed&&t.preventDefault()})},t.AdditionsClass=h,t}()}),e(i,"Core/Axis/ScrollbarAxis.js",[i["Core/Utilities.js"]],function(t){var e=t.addEvent,i=t.defined,o=t.pick;return function(){function t(){}return t.compose=function(t,r){var s=function(t){var e=o(t.options&&t.options.min,t.min),r=o(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:r,scrollMin:i(t.dataMin)?Math.min(e,t.min,t.dataMin,o(t.threshold,1/0)):e,scrollMax:i(t.dataMax)?Math.max(r,t.max,t.dataMax,o(t.threshold,-1/0)):r}};e(t,"afterInit",function(){var t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new r(t.chart.renderer,t.options.scrollbar,t.chart),e(t.scrollbar,"changed",function(e){var o=s(t),r=o.axisMax,n=o.scrollMin,a=o.scrollMax-n;i(o.axisMin)&&i(r)&&(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(o=n+a*this.to,n+=a*this.from):(o=n+a*(1-this.from),n+=a*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)?t.setExtremes(n,o,!0,"mousemove"!==e.DOMType&&"touchmove"!==e.DOMType,e):this.setRange(this.from,this.to))}))}),e(t,"afterRender",function(){var t=s(this),e=t.scrollMin,o=t.scrollMax,r=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,a=this.options.margin||0;(t=this.scrollbar)&&(this.horiz?(this.opposite||(n[1]+=r),t.position(this.left,this.top+this.height+2+n[1]-(this.opposite?a:0),this.width,this.height),this.opposite||(n[1]+=a),r=1):(this.opposite&&(n[0]+=r),t.position(this.left+this.width+2+n[0]-(this.opposite?0:a),this.top,this.width,this.height),this.opposite&&(n[0]+=a),r=0),n[r]+=t.size+t.options.margin,isNaN(e)||isNaN(o)||!i(this.min)||!i(this.max)||this.min===this.max?t.setRange(0,1):(n=(this.min-e)/(o-e),e=(this.max-e)/(o-e),this.horiz&&!this.reversed||!this.horiz&&this.reversed?t.setRange(n,e):t.setRange(1-e,1-n)))}),e(t,"afterGetOffset",function(){var t=this.horiz?2:1,e=this.scrollbar;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[t]+=e.size+e.options.margin)})},t}()}),e(i,"Core/Scrollbar.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Color/Palette.js"],i["Core/Axis/ScrollbarAxis.js"],i["Core/Utilities.js"],i["Core/Options.js"]],function(t,e,i,o,r,s){var n=r.addEvent,a=r.correctFloat,h=r.defined,l=r.destroyObjectProperties,c=r.fireEvent,d=r.merge,p=r.pick,u=r.removeEvent;r=s.defaultOptions;var f=e.isTouchDevice,g=e.swapXY=function(t,e){return e&&t.forEach(function(t){for(var e,i=t.length,o=0;o<i;o+=2)"number"==typeof(e=t[o+1])&&(t[o+1]=t[o+2],t[o+2]=e)}),t};return s=function(){function t(t,e,i){this._events=[],this.from=this.chartY=this.chartX=0,this.scrollbar=this.group=void 0,this.scrollbarButtons=[],this.scrollbarGroup=void 0,this.scrollbarLeft=0,this.scrollbarRifles=void 0,this.scrollbarStrokeWidth=1,this.to=this.size=this.scrollbarTop=0,this.track=void 0,this.trackBorderWidth=1,this.userOptions={},this.y=this.x=0,this.chart=i,this.options=e,this.renderer=i.renderer,this.init(t,e,i)}return t.prototype.addEvents=function(){var t=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,o=this.scrollbarGroup.element,r=this.track.element,s=this.mouseDownHandler.bind(this),a=this.mouseMoveHandler.bind(this),h=this.mouseUpHandler.bind(this);t=[[i[t[0]].element,"click",this.buttonToMinClick.bind(this)],[i[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[r,"click",this.trackClick.bind(this)],[o,"mousedown",s],[o.ownerDocument,"mousemove",a],[o.ownerDocument,"mouseup",h]],e.hasTouch&&t.push([o,"touchstart",s],[o.ownerDocument,"touchmove",a],[o.ownerDocument,"touchend",h]),t.forEach(function(t){n.apply(null,t)}),this._events=t},t.prototype.buttonToMaxClick=function(t){var e=(this.to-this.from)*p(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.buttonToMinClick=function(t){var e=a(this.to-this.from)*p(this.options.step,.2);this.updatePosition(a(this.from-e),a(this.to-e)),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.cursorToScrollbarPosition=function(t){var e=this.options;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-(e=e.minWidth>this.calculatedWidth?e.minWidth:0)),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}},t.prototype.destroy=function(){var t=this.chart.scroller;this.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){this[t]&&this[t].destroy&&(this[t]=this[t].destroy())},this),t&&this===t.scrollbar&&(t.scrollbar=null,l(t.scrollbarButtons))},t.prototype.drawScrollbarButton=function(t){var e=this.renderer,i=this.scrollbarButtons,o=this.options,r=this.size,s=e.g().add(this.group);i.push(s),s=e.rect().addClass("highcharts-scrollbar-button").add(s),this.chart.styledMode||s.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),s.attr(s.crisp({x:-.5,y:-.5,width:r+1,height:r+1,r:o.buttonBorderRadius},s.strokeWidth())),s=e.path(g([["M",r/2+(t?-1:1),r/2-3],["L",r/2+(t?-1:1),r/2+3],["L",r/2+(t?2:-2),r/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]),this.chart.styledMode||s.attr({fill:o.buttonArrowColor})},t.prototype.init=function(e,i,o){this.scrollbarButtons=[],this.renderer=e,this.userOptions=i,this.options=d(t.defaultOptions,i),this.chart=o,this.size=p(this.options.size,this.options.height),i.enabled&&(this.render(),this.addEvents())},t.prototype.mouseDownHandler=function(t){t=this.chart.pointer.normalize(t),t=this.cursorToScrollbarPosition(t),this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0},t.prototype.mouseMoveHandler=function(t){var e=this.chart.pointer.normalize(t),i=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(i=(e=this.cursorToScrollbarPosition(e)[i])-(i=this[i]),this.hasDragged=!0,this.updatePosition(o[0]+i,o[1]+i),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))},t.prototype.mouseUpHandler=function(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},t.prototype.position=function(t,e,i,o){var r=this.options.vertical,s=0,n=this.rendered?"animate":"attr";this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.xOffset=this.height=o,this.yOffset=s,r?(this.width=this.yOffset=i=s=this.size,this.xOffset=e=0,this.barWidth=o-2*i,this.x=t+=this.options.margin):(this.height=this.xOffset=o=e=this.size,this.barWidth=i-2*o,this.y+=this.options.margin),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:o}),this.scrollbarButtons[1][n]({translateX:r?0:i-e,translateY:r?o-s:0})},t.prototype.removeEvents=function(){this._events.forEach(function(t){u.apply(null,t)}),this._events.length=0},t.prototype.render=function(){var t,e=this.renderer,i=this.options,o=this.size,r=this.chart.styledMode;this.group=t=e.g("scrollbar").attr({zIndex:i.zIndex,translateY:-99999}).add(),this.track=e.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:i.trackBorderRadius||0,height:o,width:o}).add(t),r||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth}),this.trackBorderWidth=this.track.strokeWidth(),this.track.attr({y:-this.trackBorderWidth%2/2}),this.scrollbarGroup=e.g().add(t),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:o,width:o,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(g([["M",-3,o/4],["L",-3,2*o/3],["M",0,o/4],["L",0,2*o/3],["M",3,o/4],["L",3,2*o/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),r||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.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)},t.prototype.setRange=function(t,e){var i,o=this.options,r=o.vertical,s=o.minWidth,n=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(h(n)){t=Math.max(t,0);var c=Math.ceil(n*t);this.calculatedWidth=i=a(n*Math.min(e,1)-c),i<s&&(c=(n-s+i)*t,i=s),s=Math.floor(c+this.xOffset+this.yOffset),n=i/2-.5,this.from=t,this.to=e,r?(this.scrollbarGroup[l]({translateY:s}),this.scrollbar[l]({height:i}),this.scrollbarRifles[l]({translateY:n}),this.scrollbarTop=s,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:s}),this.scrollbar[l]({width:i}),this.scrollbarRifles[l]({translateX:n}),this.scrollbarLeft=s,this.scrollbarTop=0),12>=i?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===o.showFull&&(0>=t&&1<=e?this.group.hide():this.group.show()),this.rendered=!0}},t.prototype.shouldUpdateExtremes=function(t){return p(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===t||"touchend"===t||!h(t)},t.prototype.trackClick=function(t){var e=this.chart.pointer.normalize(t),i=this.to-this.from;this.options.vertical&&e.chartY>this.y+this.scrollbarTop||!this.options.vertical&&e.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})},t.prototype.update=function(t){this.destroy(),this.init(this.chart.renderer,d(!0,this.options,t),this.chart)},t.prototype.updatePosition=function(t,e){1<e&&(t=a(1-a(e-t)),e=1),0>t&&(e=a(e-t),t=0),this.from=t,this.to=e},t.defaultOptions={height:f?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:i.neutralColor20,barBorderWidth:1,barBorderColor:i.neutralColor20,buttonArrowColor:i.neutralColor80,buttonBackgroundColor:i.neutralColor10,buttonBorderColor:i.neutralColor20,buttonBorderWidth:1,rifleColor:i.neutralColor80,trackBackgroundColor:i.neutralColor5,trackBorderColor:i.neutralColor5,trackBorderWidth:1},t}(),e.Scrollbar||(r.scrollbar=d(!0,s.defaultOptions,r.scrollbar),e.Scrollbar=s,o.compose(t,s)),e.Scrollbar}),e(i,"Core/Navigator.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Color/Color.js"],i["Core/Globals.js"],i["Core/Axis/NavigatorAxis.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Scrollbar.js"],i["Core/Series/Series.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l,c){var d=o.hasTouch,p=o.isTouchDevice,u=s.defaultOptions,f=c.addEvent,g=c.clamp,m=c.correctFloat,y=c.defined,v=c.destroyObjectProperties,x=c.erase,b=c.extend,w=c.find,C=c.isArray,S=c.isNumber,k=c.merge,M=c.pick,A=c.removeEvent,T=c.splat,P=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if((e=[].filter.call(e,S)).length)return Math[t].apply(0,e)};s=void 0===l.seriesTypes.areaspline?"line":"areaspline",b(u,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:n.neutralColor5,borderColor:n.neutralColor40},maskFill:(i=i.parse)(n.highlightColor60).setOpacity(.3).get(),outlineColor:n.neutralColor20,outlineWidth:1,series:{type:s,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:n.neutralColor10,gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:n.neutralColor40},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}}}),o.Renderer.prototype.symbols["navigator-handle"]=function(t,e,i,o,r){return t=(r&&r.width||0)/2,e=Math.round(t/3)+.5,[["M",-t-1,.5],["L",t,.5],["L",t,(r=r&&r.height||0)+.5],["L",-t-1,r+.5],["L",-t-1,.5],["M",-e,4],["L",-e,r-3],["M",e-1,4],["L",e-1,r-3]]};var O=function(){function e(t){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0,this.init(t)}return e.prototype.drawHandle=function(t,e,i,o){var r=this.navigatorOptions.handles.height;this.handles[e][o](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-r)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-r/2-1)})},e.prototype.drawOutline=function(t,e,i,o){var r=this.navigatorOptions.maskInside,s=this.outline.strokeWidth(),n=s/2,a=s%2/2;s=this.outlineHeight;var h=this.scrollbarHeight||0,l=this.size,c=this.left-h,d=this.top;i?(a=[["M",(c-=n)+s,d-h-a],["L",c+s,i=d+e+a],["L",c,i],["L",c,e=d+t+a],["L",c+s,e],["L",c+s,d+l+h]],r&&a.push(["M",c+s,i-n],["L",c+s,e+n])):(a=[["M",c,d+=n],["L",t+=c+h-a,d],["L",t,d+s],["L",e+=c+h-a,d+s],["L",e,d],["L",c+l+2*h,d]],r&&a.push(["M",t-n,d],["L",e+n,d])),this.outline[o]({d:a})},e.prototype.drawMasks=function(t,e,i,o){var r=this.left,s=this.top,n=this.height;if(i)var a=[r,r,r],h=[s,s+t,s+e],l=[n,n,n],c=[t,e-t,this.size-e];else a=[r,r+t,r+e],h=[s,s,s],l=[t,e-t,this.size-e],c=[n,n,n];this.shades.forEach(function(t,e){t[o]({x:a[e],y:h[e],width:l[e],height:c[e]})})},e.prototype.renderElements=function(){var t,e=this,i=e.navigatorOptions,o=i.maskInside,r=e.chart,s=r.renderer,n={cursor:r.inverted?"ns-resize":"ew-resize"};e.navigatorGroup=t=s.g("navigator").attr({zIndex:8,visibility:"hidden"}).add(),[!o,o,!o].forEach(function(o,a){e.shades[a]=s.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(t),r.styledMode||e.shades[a].attr({fill:o?i.maskFill:"rgba(0,0,0,0)"}).css(1===a&&n)}),e.outline=s.path().addClass("highcharts-navigator-outline").add(t),r.styledMode||e.outline.attr({"stroke-width":i.outlineWidth,stroke:i.outlineColor}),i.handles.enabled&&[0,1].forEach(function(o){if(i.handles.inverted=r.inverted,e.handles[o]=s.symbol(i.handles.symbols[o],-i.handles.width/2-1,0,i.handles.width,i.handles.height,i.handles),e.handles[o].attr({zIndex:7-o}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][o]).add(t),!r.styledMode){var a=i.handles;e.handles[o].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth}).css(n)}})},e.prototype.update=function(t){(this.series||[]).forEach(function(t){t.baseSeries&&delete t.baseSeries.navigatorSeries}),this.destroy(),k(!0,this.chart.options.navigator,this.options,t),this.init(this.chart)},e.prototype.render=function(t,e,i,o){var r,s,n=this.chart,a=this.scrollbarHeight,h=this.xAxis,l=h.pointRange||0,c=h.navigatorAxis.fake?n.xAxis[0]:h,d=this.navigatorEnabled,p=this.rendered,u=n.inverted,f=n.xAxis[0].minRange,v=n.xAxis[0].options.maxRange;if(!this.hasDragged||y(i)){if(t=m(t-l/2),e=m(e+l/2),!S(t)||!S(e)){if(!p)return;i=0,o=M(h.width,c.width)}this.left=M(h.left,n.plotLeft+a+(u?n.plotWidth:0)),this.size=s=r=M(h.len,(u?n.plotHeight:n.plotWidth)-2*a),n=u?a:r+2*a,i=M(i,h.toPixels(t,!0)),o=M(o,h.toPixels(e,!0)),S(i)&&1/0!==Math.abs(i)||(i=0,o=n),t=h.toValue(i,!0),e=h.toValue(o,!0);var x=Math.abs(m(e-t));x<f?this.grabbedLeft?i=h.toPixels(e-f-l,!0):this.grabbedRight&&(o=h.toPixels(t+f+l,!0)):y(v)&&m(x-l)>v&&(this.grabbedLeft?i=h.toPixels(e-v-l,!0):this.grabbedRight&&(o=h.toPixels(t+v+l,!0))),this.zoomedMax=g(Math.max(i,o),0,s),this.zoomedMin=g(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,o),0,s),this.range=this.zoomedMax-this.zoomedMin,s=Math.round(this.zoomedMax),i=Math.round(this.zoomedMin),d&&(this.navigatorGroup.attr({visibility:"visible"}),this.drawMasks(i,s,u,p=p&&!this.hasDragged?"animate":"attr"),this.drawOutline(i,s,u,p),this.navigatorOptions.handles.enabled&&(this.drawHandle(i,0,u,p),this.drawHandle(s,1,u,p))),this.scrollbar&&(u?(u=this.top-a,c=this.left-a+(d||!c.opposite?0:(c.titleOffset||0)+c.axisTitleMargin),a=r+2*a):(u=this.top+(d?this.height:-a),c=this.left-a),this.scrollbar.position(c,u,n,a),this.scrollbar.setRange(this.zoomedMin/(r||1),this.zoomedMax/(r||1))),this.rendered=!0}},e.prototype.addMouseEvents=function(){var t,e,i=this,o=i.chart,r=o.container,s=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(s=i.getPartsEvents("mousedown")).push(f(o.renderTo,"mousemove",t),f(r.ownerDocument,"mouseup",e)),d&&(s.push(f(o.renderTo,"touchmove",t),f(r.ownerDocument,"touchend",e)),s.concat(i.getPartsEvents("touchstart"))),i.eventsToUnbind=s,i.series&&i.series[0]&&s.push(f(i.series[0].xAxis,"foundExtremes",function(){o.navigator.modifyNavigatorAxisExtremes()}))},e.prototype.getPartsEvents=function(t){var e=this,i=[];return["shades","handles"].forEach(function(o){e[o].forEach(function(r,s){i.push(f(r.element,t,function(t){e[o+"Mousedown"](t,s)}))})}),i},e.prototype.shadesMousedown=function(t,e){t=this.chart.pointer.normalize(t);var i=this.chart,o=this.xAxis,r=this.zoomedMin,s=this.left,n=this.size,a=this.range,h=t.chartX;if(i.inverted&&(h=t.chartY,s=this.top),1===e)this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r;else{if(t=h-s-a/2,0===e)t=Math.max(0,t);else if(2===e&&t+a>=n)if(t=n-a,this.reversedExtremes){t-=a;var l=this.getUnionExtremes().dataMin}else var c=this.getUnionExtremes().dataMax;t!==r&&(this.fixedWidth=a,e=o.navigatorAxis.toFixedRange(t,t+a,l,c),y(e.min)&&i.xAxis[0].setExtremes(Math.min(e.min,e.max),Math.max(e.min,e.max),!0,null,{trigger:"navigator"}))}},e.prototype.handlesMousedown=function(t,e){this.chart.pointer.normalize(t);var i=(t=this.chart).xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?i.min:i.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?i.max:i.min),t.fixedRange=null},e.prototype.onMouseMove=function(t){var e=this,i=e.chart,r=e.left,s=e.navigatorSize,n=e.range,a=e.dragOffset,h=i.inverted;t.touches&&0===t.touches[0].pageX||(t=i.pointer.normalize(t),i=t.chartX,h&&(r=e.top,i=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,i-r,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,i-r)):e.grabbedCenter&&(e.hasDragged=!0,i<a?i=a:i>s+a-n&&(i=s+a-n),e.render(0,0,i-a,i-a+n)),e.hasDragged&&e.scrollbar&&M(e.scrollbar.options.liveRedraw,o.svg&&!p&&!this.chart.isBoosting)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))},e.prototype.onMouseUp=function(t){var e=this.chart,i=this.xAxis,o=this.scrollbar,r=t.DOMEvent||t,s=e.inverted,n=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!o||!o.hasDragged)||"scrollbar"===t.trigger){if(o=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos)var a=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var h=this.fixedExtreme;this.zoomedMax===this.size&&(h=this.reversedExtremes?o.dataMin:o.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?o.dataMax:o.dataMin),i=i.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,h),y(i.min)&&e.xAxis[0].setExtremes(Math.min(i.min,i.max),Math.max(i.min,i.max),!0,!this.hasDragged&&null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:r})}"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&S(this.zoomedMin)&&S(this.zoomedMax)&&(e=Math.round(this.zoomedMin),t=Math.round(this.zoomedMax),this.shades&&this.drawMasks(e,t,s,n),this.outline&&this.drawOutline(e,t,s,n),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(e,0,s,n),this.drawHandle(t,1,s,n)))},e.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()},e.prototype.removeBaseSeriesEvents=function(){var t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){A(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&A(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},e.prototype.init=function(e){var i=e.options,o=i.navigator,s=o.enabled,n=i.scrollbar,h=n.enabled;i=s?o.height:0;var l=h?n.height:0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=i,this.scrollbarHeight=l,this.scrollbarEnabled=h,this.navigatorEnabled=s,this.navigatorOptions=o,this.scrollbarOptions=n,this.outlineHeight=i+l,this.opposite=M(o.opposite,!(s||!e.inverted));var c=this;n=e.xAxis.length,h=e.yAxis.length;var d=(s=c.baseSeries)&&s[0]&&s[0].xAxis||e.xAxis[0]||{options:{}};e.isDirtyBox=!0,c.navigatorEnabled?(c.xAxis=new t(e,k({breaks:d.options.breaks,ordinal:d.options.ordinal},o.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:n,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[l,0,-l,0],width:i}:{offsets:[0,-l,0,l],height:i})),c.yAxis=new t(e,k(o.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:M(o.yAxis&&o.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:i}:{height:i})),s||o.series.data?c.updateNavigatorSeries(!1):0===e.series.length&&(c.unbindRedraw=f(e,"beforeRedraw",function(){0<e.series.length&&!c.series&&(c.setBaseSeries(),c.unbindRedraw())})),c.reversedExtremes=e.inverted&&!c.xAxis.reversed||!e.inverted&&c.xAxis.reversed,c.renderElements(),c.addMouseEvents()):(c.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){var o=e.xAxis[0],r=o.getExtremes(),s=o.len-2*l,n=P("min",o.options.min,r.dataMin);return o=P("max",o.options.max,r.dataMax)-n,i?t*o/s+n:s*(t-n)/o},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},c.xAxis.navigatorAxis.axis=c.xAxis,c.xAxis.navigatorAxis.toFixedRange=r.AdditionsClass.prototype.toFixedRange.bind(c.xAxis.navigatorAxis)),e.options.scrollbar.enabled&&(e.scrollbar=c.scrollbar=new a(e.renderer,k(e.options.scrollbar,{margin:c.navigatorEnabled?0:10,vertical:e.inverted}),e),f(c.scrollbar,"changed",function(t){var e=c.size,i=e*this.to;e*=this.from,c.hasDragged=c.scrollbar.hasDragged,c.render(0,0,e,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){c.onMouseUp(t)})})),c.addBaseSeriesEvents(),c.addChartEvents()},e.prototype.getUnionExtremes=function(t){var e,i=this.chart.xAxis[0],o=this.xAxis,r=o.options,s=i.options;return t&&null===i.dataMin||(e={dataMin:M(r&&r.min,P("min",s.min,i.dataMin,o.dataMin,o.min)),dataMax:M(r&&r.max,P("max",s.max,i.dataMax,o.dataMax,o.max))}),e},e.prototype.setBaseSeries=function(t,e){var i=this.chart,o=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?w(i.series,function(t){return!t.options.isInternal}).index:0),(i.series||[]).forEach(function(e,i){e.options.isInternal||!e.options.showInNavigator&&(i!==t&&e.options.id!==t||!1===e.options.showInNavigator)||o.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)},e.prototype.updateNavigatorSeries=function(t,e){var i,o,r,s=this,n=s.chart,a=s.baseSeries,h=s.navigatorOptions.series,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=s.series=(s.series||[]).filter(function(t){var e=t.baseSeries;return!(0>a.indexOf(e)&&(e&&(A(e,"updatedData",s.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))});a&&a.length&&a.forEach(function(t){var d=t.navigatorSeries,p=b({color:t.color,visible:t.visible},C(h)?u.navigator.series:h);d&&!1===s.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+a.length,r=(i=t.options||{}).navigatorOptions||{},p.dataLabels=T(p.dataLabels),(o=k(i,l,p,r)).pointRange=M(p.pointRange,r.pointRange,u.plotOptions[o.type||"line"].pointRange),p=r.data||p.data,s.hasNavigatorData=s.hasNavigatorData||!!p,o.data=p||i.data&&i.data.slice(0),d&&d.options?d.update(o,e):(t.navigatorSeries=n.initSeries(o),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries)))}),(!h.data||a&&a.length)&&!C(h)||(s.hasNavigatorData=!1,(h=T(h)).forEach(function(t,e){l.name="Navigator "+(c.length+1),(o=k(u.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,o.data&&(s.hasNavigatorData=!0,c.push(n.initSeries(o)))})),t&&this.addBaseSeriesEvents()},e.prototype.addBaseSeriesEvents=function(){var t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(f(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(function(e){e.eventsToUnbind.push(f(e,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),e.eventsToUnbind.push(f(e,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(f(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(f(e,"remove",function(){this.navigatorSeries&&(x(t.series,this.navigatorSeries),y(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)},e.prototype.getBaseSeriesMin=function(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData?e.xData[0]:t)},t)},e.prototype.modifyNavigatorAxisExtremes=function(){var t,e=this.xAxis;void 0!==e.getExtremes&&(!(t=this.getUnionExtremes(!0))||t.dataMin===e.min&&t.dataMax===e.max||(e.min=t.dataMin,e.max=t.dataMax))},e.prototype.modifyBaseAxisExtremes=function(){var t=this.chart.navigator,e=this.getExtremes(),i=e.dataMin,o=e.dataMax;e=e.max-e.min;var r=t.stickToMin,s=t.stickToMax,n=M(this.options.overscroll,0),a=t.series&&t.series[0],h=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(r)var l=i,c=i+e;s&&(c=o+n,r||(l=Math.max(i,c-e,t.getBaseSeriesMin(a&&a.xData?a.xData[0]:-Number.MAX_VALUE)))),h&&(r||s)&&S(l)&&(this.min=this.userMin=l,this.max=this.userMax=c)}t.stickToMin=t.stickToMax=null},e.prototype.updatedDataHandler=function(){var t=this.chart.navigator,e=this.navigatorSeries,i=t.getBaseSeriesMin(this.xData[0]);t.stickToMax=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size),t.stickToMin=S(this.xAxis.min)&&this.xAxis.min<=i&&(!this.chart.fixedRange||!t.stickToMax),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))},e.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(f(this.chart,"redraw",function(){var t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),f(this.chart,"getMargins",function(){var t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.outlineHeight:0)+t.navigatorOptions.margin}))},e.prototype.destroy=function(){this.removeEvents(),this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis)),this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis)),(this.series||[]).forEach(function(t){t.destroy&&t.destroy()}),"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(t){this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null},this),[this.handles].forEach(function(t){v(t)},this)},e}();return o.Navigator||(o.Navigator=O,r.compose(t),f(e,"beforeShowResetZoom",function(){var t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!p&&"x"===t.chart.zoomType||p&&"x"===t.chart.pinchType))return!1}),f(e,"beforeRender",function(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new O(this))}),f(e,"afterSetChartSize",function(){var t=this.legend,e=this.navigator;if(e){var i=t&&t.options,o=e.xAxis,r=e.yAxis,s=e.scrollbarHeight;this.inverted?(e.left=e.opposite?this.chartWidth-s-e.height:this.spacing[3]+s,e.top=this.plotTop+s):(e.left=this.plotLeft+s,e.top=e.navigatorOptions.top||this.chartHeight-e.height-s-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(i&&"bottom"===i.verticalAlign&&"proximate"!==i.layout&&i.enabled&&!i.floating?t.legendHeight+M(i.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),o&&r&&(this.inverted?o.options.left=r.options.left=e.left:o.options.top=r.options.top=e.top,o.setAxisSize(),r.setAxisSize())}}),f(e,"update",function(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(k(!0,this.options.navigator,e),k(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}),f(e,"afterUpdate",function(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new O(this),M(t.redraw,!0)&&this.redraw(t.animation))}),f(e,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),f(h,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),e.prototype.callbacks.push(function(t){var e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))})),o.Navigator=O,o.Navigator}),e(i,"Core/Axis/OrdinalAxis.js",[i["Core/Axis/Axis.js"],i["Core/Globals.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"],i["Core/Chart/Chart.js"]],function(t,e,i,o,r){var s,n=o.addEvent,a=o.css,h=o.defined,l=o.error,c=o.pick,d=o.timeUnits;return function(t){var o=function(){function t(t){this.index={},this.axis=t}return t.prototype.beforeSetTickPositions=function(){var t,e,i=this.axis,o=i.ordinal,r=[],s=!1,n=i.getExtremes(),a=n.min,h=n.max,l=i.isXAxis&&!!i.options.breaks;n=i.options.ordinal;var d,p=Number.MAX_VALUE,u=i.chart.options.chart.ignoreHiddenSeries;if(n||l){i.series.forEach(function(e,i){if(t=[],!(u&&!1===e.visible||!1===e.takeOrdinalPosition&&!l)&&(r=r.concat(e.processedXData),f=r.length,r.sort(function(t,e){return t-e}),p=Math.min(p,c(e.closestPointRange,p)),f)){for(i=0;i<f-1;)r[i]!==r[i+1]&&t.push(r[i+1]),i++;t[0]!==r[0]&&t.unshift(r[0]),r=t}e.isSeriesBoosting&&(d=!0)}),d&&(r.length=0);var f=r.length;if(2<f){var g=r[1]-r[0];for(e=f-1;e--&&!s;)r[e+1]-r[e]!==g&&(s=!0);!i.options.keepOrdinalPadding&&(r[0]-a>g||h-r[r.length-1]>g)&&(s=!0)}else i.options.overscroll&&(2===f?p=r[1]-r[0]:1===f?r=[r[0],r[0]+(p=i.options.overscroll)]:p=o.overscrollPointsRange);s||i.forceOrdinal?(i.options.overscroll&&(o.overscrollPointsRange=p,r=r.concat(o.getOverscrollPositions())),o.positions=r,g=i.ordinal2lin(Math.max(a,r[0]),!0),e=Math.max(i.ordinal2lin(Math.min(h,r[r.length-1]),!0),1),o.slope=h=(h-a)/(e-g),o.offset=a-g*h):(o.overscrollPointsRange=c(i.closestPointRange,o.overscrollPointsRange),o.positions=i.ordinal.slope=o.offset=void 0)}i.isOrdinal=n&&s,o.groupIntervalFactor=null},t.prototype.getExtendedPositions=function(){var t,o=this,r=o.axis,s=r.constructor.prototype,n=r.chart,a=r.series[0].currentDataGrouping,h=o.index,l=a?a.count+a.unitName:"raw",c=r.options.overscroll,d=r.getExtremes();if(h||(h=o.index={}),!h[l]){var p={series:[],chart:n,forceOrdinal:!1,getExtremes:function(){return{min:d.dataMin,max:d.dataMax+c}},getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,val2lin:s.val2lin};p.ordinal.axis=p,r.series.forEach(function(r){(t={xAxis:p,xData:r.xData.slice(),chart:n,destroyGroupedData:e.noop,getProcessedData:i.prototype.getProcessedData}).xData=t.xData.concat(o.getOverscrollPositions()),t.options={dataGrouping:a?{enabled:!0,forced:!0,approximation:"open",units:[[a.unitName,[a.count]]]}:{enabled:!1}},p.series.push(t),r.processData.apply(t),t.closestPointRange!==t.basePointRange&&t.currentDataGrouping&&(p.forceOrdinal=!0)}),r.ordinal.beforeSetTickPositions.apply({axis:p}),h[l]=p.ordinal.positions}return h[l]},t.prototype.getGroupIntervalFactor=function(t,e,i){var o=(i=i.processedXData).length,r=[],s=this.groupIntervalFactor;if(!s){for(s=0;s<o-1;s++)r[s]=i[s+1]-i[s];r.sort(function(t,e){return t-e}),r=r[Math.floor(o/2)],t=Math.max(t,i[0]),e=Math.min(e,i[o-1]),this.groupIntervalFactor=s=o*r/(e-t)}return s},t.prototype.getOverscrollPositions=function(){var t=this.axis,e=t.options.overscroll,i=this.overscrollPointsRange,o=[],r=t.dataMax;if(h(i))for(o.push(r);r<=t.dataMax+e;)o.push(r+=i);return o},t.prototype.postProcessTickInterval=function(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t},t}();t.Composition=o,t.compose=function(e,i,o){e.keepProps.push("ordinal");var r=e.prototype;e.prototype.getTimeTicks=function(t,e,i,o,r,s,n){void 0===r&&(r=[]),void 0===s&&(s=0);var a,c,p=0,u={},f=[],g=-Number.MAX_VALUE,m=this.options.tickPixelInterval,y=this.chart.time,v=[];if(!this.options.ordinal&&!this.options.breaks||!r||3>r.length||void 0===e)return y.getTimeTicks.apply(y,arguments);var x=r.length;for(a=0;a<x;a++){var b=a&&r[a-1]>i;if(r[a]<e&&(p=a),a===x-1||r[a+1]-r[a]>5*s||b){if(r[a]>g){for(c=y.getTimeTicks(t,r[p],r[a],o);c.length&&c[0]<=g;)c.shift();c.length&&(g=c[c.length-1]),v.push(f.length),f=f.concat(c)}p=a+1}if(b)break}if(c){if(c=c.info,n&&c.unitRange<=d.hour){for(a=f.length-1,p=1;p<a;p++)if(y.dateFormat("%d",f[p])!==y.dateFormat("%d",f[p-1])){u[f[p]]="day";var w=!0}w&&(u[f[0]]="day"),c.higherRanks=u}c.segmentStarts=v,f.info=c}else l(12,!1,this.chart);if(n&&h(m)){for(p=c=f.length,w=[],y=void 0,v=[];p--;)a=this.translate(f[p]),y&&(v[p]=y-a),w[p]=y=a;for(v.sort(),(v=v[Math.floor(v.length/2)])<.6*m&&(v=null),p=f[c-1]>i?c-1:c,y=void 0;p--;)a=w[p],c=Math.abs(y-a),y&&c<.8*m&&(null===v||c<.8*v)?(u[f[p]]&&!u[f[p+1]]?(c=p+1,y=a):c=p,f.splice(c,1)):y=a}return f},r.lin2val=function(t,e){var i=this.ordinal,o=i.positions;if(o){var r=i.slope,s=i.offset;i=o.length-1;var n=void 0;if(e)0>t?t=o[0]:t>i?t=o[i]:n=t-(i=Math.floor(t));else for(;i--;)if(t>=(e=r*i+s)){n=(t-e)/((r=r*(i+1)+s)-e);break}return void 0!==n&&void 0!==o[i]?o[i]+(n?n*(o[i+1]-o[i]):0):t}return t},r.val2lin=function(t,e){var i=this.ordinal,o=i.positions;if(o){var r,s=o.length,n=void 0;for(r=s;r--;)if(o[r]===t){n=r;break}for(r=s-1;r--;)if(t>o[r]||0===r){n=r+(t=(t-o[r])/(o[r+1]-o[r]));break}e=e?n:i.slope*(n||0)+i.offset}else e=t;return e},r.ordinal2lin=r.val2lin,n(e,"afterInit",function(){this.ordinal||(this.ordinal=new t.Composition(this))}),n(e,"foundExtremes",function(){this.isXAxis&&h(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&&h(this.userMin)&&(this.min+=this.options.overscroll))}),n(e,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}),n(e,"initialAxisTranslation",function(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}),n(i,"pan",function(t){var e=this.xAxis[0],i=e.options.overscroll,o=t.originalEvent.chartX,r=this.options.chart.panning,s=!1;if(r&&"y"!==r.type&&e.options.ordinal&&e.series.length){var n=this.mouseDownX,h=e.getExtremes(),l=h.dataMax,c=h.min,d=h.max,p=void 0;p=this.hoverPoints;var u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange;n=(n-o)/(e.translationSlope*(e.ordinal.slope||u)),u={ordinal:{positions:e.ordinal.getExtendedPositions()}};var f=void 0,g=void 0,m=e.lin2val,y=e.val2lin,v=void 0;u.ordinal.positions?1<Math.abs(n)&&(p&&p.forEach(function(t){t.setState()}),0>n?(g=u,v=e.ordinal.positions?e:u):(g=e.ordinal.positions?e:u,v=u),l>(f=v.ordinal.positions)[f.length-1]&&f.push(l),this.fixedRange=d-c,(p=e.navigatorAxis.toFixedRange(null,null,m.apply(g,[y.apply(g,[c,!0])+n,!0]),m.apply(v,[y.apply(v,[d,!0])+n,!0]))).min>=Math.min(h.dataMin,c)&&p.max<=Math.max(l,d)+i&&e.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=o,a(this.container,{cursor:"move"})):s=!0}else s=!0;s||r&&/y/.test(r.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}),n(o,"updatedData",function(){var t=this.xAxis;t&&t.options.ordinal&&delete t.ordinal.index})}}(s||(s={})),s.compose(t,r,i),s}),e(i,"Core/Axis/BrokenAxis.js",[i["Core/Axis/Axis.js"],i["Core/Series/Series.js"],i["Extensions/Stacking.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=o.addEvent,s=o.find,n=o.fireEvent,a=o.isArray,h=o.isNumber,l=o.pick,c=function(){function e(t){this.hasBreaks=!1,this.axis=t}return e.isInBreak=function(t,e){var i=t.repeat||1/0,o=t.from,r=t.to-t.from;return e=e>=o?(e-o)%i:i-(o-e)%i,t.inclusive?e<=r:e<r&&0!==e},e.lin2Val=function(t){var i,o=this.brokenAxis;if(!(o=o&&o.breakArray)||!h(t))return t;for(i=0;i<o.length;i++){var r=o[i];if(r.from>=t)break;(r.to<t||e.isInBreak(r,t))&&(t+=r.len)}return t},e.val2Lin=function(t){var i=this.brokenAxis;if(!(i=i&&i.breakArray)||!h(t))return t;var o,r=t;for(o=0;o<i.length;o++){var s=i[o];if(s.to<=t)r-=s.len;else{if(s.from>=t)break;if(e.isInBreak(s,t)){r-=t-s.from;break}}}return r},e.prototype.findBreakAt=function(t,e){return s(e,function(e){return e.from<t&&t<e.to})},e.prototype.isInAnyBreak=function(t,i){var o,r=this.axis,s=r.options.breaks||[],n=s.length;if(n&&h(t)){for(;n--;)if(e.isInBreak(s[n],t)){var a=!0;o||(o=l(s[n].showPoints,!r.isXAxis))}var c=a&&i?a&&!o:a}return c},e.prototype.setBreaks=function(i,o){var r=this,s=r.axis,c=a(i)&&!!i.length;s.isDirty=r.hasBreaks!==c,r.hasBreaks=c,s.options.breaks=s.userOptions.breaks=i,s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),c||s.val2lin!==e.val2Lin||(delete s.val2lin,delete s.lin2val),c&&(s.userOptions.ordinal=!1,s.lin2val=e.lin2Val,s.val2lin=e.val2Lin,s.setExtremes=function(e,i,o,s,n){if(r.hasBreaks){for(var a,h=this.options.breaks;a=r.findBreakAt(e,h);)e=a.to;for(;a=r.findBreakAt(i,h);)i=a.from;i<e&&(i=e)}t.prototype.setExtremes.call(this,e,i,o,s,n)},s.setAxisTranslation=function(){if(t.prototype.setAxisTranslation.call(this),r.unitLength=void 0,r.hasBreaks){var i,o,a=s.options.breaks||[],c=[],d=[],p=0,u=s.userMin||s.min,f=s.userMax||s.max,g=l(s.pointRangePadding,0);a.forEach(function(t){i=t.repeat||1/0,h(u)&&h(f)&&(e.isInBreak(t,u)&&(u+=t.to%i-u%i),e.isInBreak(t,f)&&(f-=f%i-t.from%i))}),a.forEach(function(t){if(y=t.from,i=t.repeat||1/0,h(u)&&h(f)){for(;y-i>u;)y-=i;for(;y<u;)y+=i;for(o=y;o<f;o+=i)c.push({value:o,move:"in"}),c.push({value:o+t.to-t.from,move:"out",size:t.breakSize})}}),c.sort(function(t,e){return t.value===e.value?("in"===t.move?0:1)-("in"===e.move?0:1):t.value-e.value});var m=0,y=u;c.forEach(function(t){1===(m+="in"===t.move?1:-1)&&"in"===t.move&&(y=t.value),0===m&&h(y)&&(d.push({from:y,to:t.value,len:t.value-y-(t.size||0)}),p+=t.value-y-(t.size||0))}),r.breakArray=d,h(u)&&h(f)&&h(s.min)&&(r.unitLength=f-u-p+g,n(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:r.unitLength&&(s.transA*=(f-s.min+g)/r.unitLength),g&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=u,s.max=f)}}),l(o,!0)&&s.chart.redraw()},e}();return(o=function(){function t(){}return t.compose=function(t,o){t.keepProps.push("brokenAxis");var s=e.prototype;s.drawBreaks=function(t,e){var i,o,r,s,a=this,c=a.points;if(t&&t.brokenAxis&&t.brokenAxis.hasBreaks){var d=t.brokenAxis;e.forEach(function(e){i=d&&d.breakArray||[],o=t.isXAxis?t.min:l(a.options.threshold,t.min),c.forEach(function(a){s=l(a["stack"+e.toUpperCase()],a[e]),i.forEach(function(e){h(o)&&h(s)&&(r=!1,o<e.from&&s>e.to||o>e.from&&s<e.from?r="pointBreak":(o<e.from&&s>e.from&&s<e.to||o>e.from&&s>e.to&&s<e.from)&&(r="pointInBreak"),r&&n(t,r,{point:a,brk:e}))})})})}},s.gappedPath=function(){var t=this.currentDataGrouping,e=t&&t.gapSize;t=this.options.gapSize;var o,r=this.points.slice(),s=r.length-1,n=this.yAxis;if(t&&0<s)for("value"!==this.options.gapUnit&&(t*=this.basePointRange),e&&e>t&&e>=this.basePointRange&&(t=e),o=void 0;s--;)o&&!1!==o.visible||(o=r[s+1]),e=r[s],!1!==o.visible&&!1!==e.visible&&(o.x-e.x>t&&(r.splice(s+1,0,{isNull:!0,x:o=(e.x+o.x)/2}),n.stacking&&this.options.stacking&&((o=n.stacking.stacks[this.stackKey][o]=new i(n,n.options.stackLabels,!1,o,this.stack)).total=0)),o=e);return this.getGraphPath(r)},r(t,"init",function(){this.brokenAxis||(this.brokenAxis=new c(this))}),r(t,"afterInit",function(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}),r(t,"afterSetTickPositions",function(){var t=this.brokenAxis;if(t&&t.hasBreaks){var e,i=this.tickPositions,o=this.tickPositions.info,r=[];for(e=0;e<i.length;e++)t.isInAnyBreak(i[e])||r.push(i[e]);this.tickPositions=r,this.tickPositions.info=o}}),r(t,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}),r(o,"afterGeneratePoints",function(){var t=this.options.connectNulls,e=this.points,i=this.xAxis,o=this.yAxis;if(this.isDirty)for(var r=e.length;r--;){var s=e[r],n=!(null===s.y&&!1===t)&&(i&&i.brokenAxis&&i.brokenAxis.isInAnyBreak(s.x,!0)||o&&o.brokenAxis&&o.brokenAxis.isInAnyBreak(s.y,!0));s.visible=!n&&!1!==s.options.visible}}),r(o,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,l(this.pointArrayMap,["y"]))})},t}()).compose(t,e),o}),e(i,"masters/modules/broken-axis.src.js",[],function(){}),e(i,"Extensions/DataGrouping.js",[i["Core/Axis/Axis.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/FormatUtilities.js"],i["Core/Globals.js"],i["Core/Series/Point.js"],i["Core/Series/Series.js"],i["Core/Tooltip.js"],i["Core/Options.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h){var l=i.format,c=s.prototype;i=h.addEvent;var d=h.arrayMax,p=h.arrayMin,u=h.correctFloat,f=h.defined,g=h.error,m=h.extend,y=h.isNumber,v=h.merge,x=h.pick,b=o.approximations={sum:function(t){var e=t.length;if(!e&&t.hasNulls)var i=null;else if(e)for(i=0;e--;)i+=t[e];return i},average:function(t){var e=t.length;return t=b.sum(t),y(t)&&e&&(t=u(t/e)),t},averages:function(){var t=[];return[].forEach.call(arguments,function(e){t.push(b.average(e))}),void 0===t[0]?void 0:t},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},high:function(t){return t.length?d(t):t.hasNulls?null:void 0},low:function(t){return t.length?p(t):t.hasNulls?null:void 0},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},ohlc:function(t,e,i,o){if(t=b.open(t),e=b.high(e),i=b.low(i),o=b.close(o),y(t)||y(e)||y(i)||y(o))return[t,e,i,o]},range:function(t,e){return t=b.low(t),e=b.high(e),y(t)||y(e)?[t,e]:null===t&&null===e?null:void 0}},w={approximations:b,groupData:h=function(t,e,i,o){var r,s=this,n=s.data,a=s.options&&s.options.data,h=[],l=[],c=[],d=t.length,p=!!e,u=[],g=s.pointArrayMap,m=g&&g.length,x=["x"].concat(g||["y"]),w=this.options.dataGrouping&&this.options.dataGrouping.groupAll,C=0,S=0;o="function"==typeof o?o:b[o]?b[o]:b[s.getDGApproximation&&s.getDGApproximation()||"average"],m?g.forEach(function(){u.push([])}):u.push([]);var k=m||1;for(r=0;r<=d&&!(t[r]>=i[0]);r++);for(;r<=d;r++){for(;void 0!==i[C+1]&&t[r]>=i[C+1]||r===d;){var M=i[C];s.dataGroupInfo={start:w?S:s.cropStart+S,length:u[0].length};var A=o.apply(s,u);for(s.pointClass&&!f(s.dataGroupInfo.options)&&(s.dataGroupInfo.options=v(s.pointClass.prototype.optionsToObject.call({series:s},s.options.data[s.cropStart+S])),x.forEach(function(t){delete s.dataGroupInfo.options[t]})),void 0!==A&&(h.push(M),l.push(A),c.push(s.dataGroupInfo)),S=r,M=0;M<k;M++)u[M].length=0,u[M].hasNulls=!1;if(C+=1,r===d)break}if(r===d)break;if(g){M=s.options.dataGrouping&&s.options.dataGrouping.groupAll?r:s.cropStart+r,A=n&&n[M]||s.pointClass.prototype.applyOptions.apply({series:s},[a[M]]);var T=void 0;for(M=0;M<m;M++)y(T=A[g[M]])?u[M].push(T):null===T&&(u[M].hasNulls=!0)}else y(M=p?e[r]:null)?u[0].push(M):null===M&&(u[0].hasNulls=!0)}return{groupedXData:h,groupedYData:l,groupMap:c}}},C=c.processData,S=c.generatePoints,k={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"]}},M={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},A=o.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]];return c.getDGApproximation=function(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("column")?"sum":"average"},c.groupData=h,c.processData=function(){var t,i=this.chart,o=this.options.dataGrouping,r=!1!==this.allowDG&&o&&x(o.enabled,i.options.isStock),s=this.visible||!i.options.chart.ignoreHiddenSeries,n=this.currentDataGrouping,a=!1;if(this.forceCrop=r,this.groupPixelWidth=null,this.hasProcessed=!0,r&&!this.requireSorting&&(this.requireSorting=a=!0),r=!1===C.apply(this,arguments)||!r,a&&(this.requireSorting=!1),!r){this.destroyGroupedData();var h=o.groupAll?this.xData:this.processedXData,l=o.groupAll?this.yData:this.processedYData;r=i.plotSizeX;var d=(a=this.xAxis).options.ordinal,p=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(p&&h&&h.length){this.isDirty=t=!0,this.points=null;var u=a.getExtremes(),m=u.min;u=u.max,d=d&&a.ordinal&&a.ordinal.getGroupIntervalFactor(m,u,this)||1,r=a.getTimeTicks(e.AdditionsClass.prototype.normalizeTimeTickInterval(p*(u-m)/r*d,o.units||A),Math.min(m,h[0]),Math.max(u,h[h.length-1]),a.options.startOfWeek,h,this.closestPointRange),h=(p=c.groupData.apply(this,[h,l,r,o.approximation])).groupedXData,l=p.groupedYData,d=0,o&&o.smoothed&&h.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",g(32,!1,i,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),i=h;var v=this.options.dataGrouping;if(m=this.currentDataGrouping&&this.currentDataGrouping.gapSize,v&&this.xData&&m&&this.groupMap){var b=i.length-1,w=v.anchor,S=x(v.firstAnchor,w);if(v=x(v.lastAnchor,w),w&&"start"!==w){var k=m*{middle:.5,end:1}[w];for(w=i.length-1;w--&&0<w;)i[w]+=k}if(S&&"start"!==S&&this.xData[0]>=i[0]){k=this.groupMap[0].length;var M=void 0;y(w=this.groupMap[0].start)&&y(k)&&(M=w+(k-1)),i[0]={middle:i[0]+.5*m,end:i[0]+m,firstPoint:this.xData[0],lastPoint:M&&this.xData[M]}[S]}v&&"start"!==v&&m&&i[b]>=u-m&&(i[b]={middle:i[b]+.5*m,end:i[b]+m,firstPoint:(u=this.groupMap[this.groupMap.length-1].start)&&this.xData[u],lastPoint:this.xData[this.xData.length-1]}[v])}for(u=1;u<r.length;u++)r.info.segmentStarts&&-1!==r.info.segmentStarts.indexOf(u)||(d=Math.max(r[u]-r[u-1],d));(u=r.info).gapSize=d,this.closestPointRange=r.info.totalRange,this.groupMap=p.groupMap,s&&(f((s=h)[0])&&y(a.min)&&y(a.dataMin)&&s[0]<a.min&&((!f(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)&&(a.min=Math.min(s[0],a.min)),a.dataMin=Math.min(s[0],a.dataMin)),f(s[s.length-1])&&y(a.max)&&y(a.dataMax)&&s[s.length-1]>a.max&&((!f(a.options.max)&&y(a.dataMax)&&a.max>=a.dataMax||a.max===a.dataMax)&&(a.max=Math.max(s[s.length-1],a.max)),a.dataMax=Math.max(s[s.length-1],a.dataMax))),o.groupAll&&(h=(o=this.cropData(h,l,a.min,a.max,1)).xData,l=o.yData,this.cropStart=o.start),this.processedXData=h,this.processedYData=l}else this.groupMap=null;this.hasGroupedData=t,this.currentDataGrouping=u,this.preventGraphAnimation=(n&&n.totalRange)!==(u&&u.totalRange)}},c.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0)},c.generatePoints=function(){S.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null},i(r,"update",function(){if(this.dataGroup)return g(24,!1,this.series.chart),!1}),i(n,"headerFormatter",function(t){var e=this.chart,i=e.time,o=t.labelConfig,r=o.series,s=r.tooltipOptions,n=r.options.dataGrouping,a=s.xDateFormat,h=r.xAxis,c=s[(t.isFooter?"footer":"header")+"Format"];if(h&&"datetime"===h.options.type&&n&&y(o.key)){var d=r.currentDataGrouping;if(n=n.dateTimeLabelFormats||k.dateTimeLabelFormats,d)if(s=n[d.unitName],1===d.count)a=s[0];else{a=s[1];var p=s[2]}else!a&&n&&(a=this.getXDateFormat(o,s,h));a=i.dateFormat(a,o.key),p&&(a+=i.dateFormat(p,o.key+d.totalRange-1)),r.chart.styledMode&&(c=this.styledModeFormat(c)),t.text=l(c,{point:m(o.point,{key:a}),series:r},e),t.preventDefault()}}),i(s,"destroy",c.destroyGroupedData),i(s,"afterSetOptions",function(t){t=t.options;var e=this.type,i=this.chart.options.plotOptions,o=a.defaultOptions.plotOptions[e].dataGrouping,r=this.useCommonDataGrouping&&k;if(M[e]||r){o||(o=v(k,M[e]));var s=this.chart.rangeSelector;t.dataGrouping=v(r,o,i.series&&i.series.dataGrouping,i[e].dataGrouping,this.userOptions.dataGrouping,!t.isInternal&&s&&y(s.selected)&&s.buttonOptions[s.selected].dataGrouping)}}),i(t,"afterSetScale",function(){this.series.forEach(function(t){t.hasProcessed=!1})}),t.prototype.getGroupPixelWidth=function(){var t,e,i=this.series,o=i.length,r=0,s=!1;for(t=o;t--;)(e=i[t].options.dataGrouping)&&(r=Math.max(r,x(e.groupPixelWidth,k.groupPixelWidth)));for(t=o;t--;)(e=i[t].options.dataGrouping)&&i[t].hasProcessed&&(o=(i[t].processedXData||i[t].data).length,i[t].groupPixelWidth||o>this.chart.plotSizeX/r||o&&e.forced)&&(s=!0);return s?r:0},t.prototype.setDataGrouping=function(e,i){var o;if(i=x(i,!0),e||(e={forced:!1,units:null}),this instanceof t)for(o=this.series.length;o--;)this.series[o].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping=e},!1);this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()},o.dataGrouping=w,w}),e(i,"Series/OHLC/OHLCPoint.js",[i["Core/Series/SeriesRegistry.js"]],function(t){var e=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}();return function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.close=void 0,e.high=void 0,e.low=void 0,e.open=void 0,e.options=void 0,e.plotClose=void 0,e.plotOpen=void 0,e.series=void 0,e}return e(i,t),i.prototype.getClassName=function(){return t.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")},i.prototype.resolveUpColor=function(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)},i.prototype.resolveColor=function(){t.prototype.resolveColor.call(this),this.resolveUpColor()},i.prototype.getZone=function(){var e=t.prototype.getZone.call(this);return this.resolveUpColor(),e},i}(t.seriesTypes.column.prototype.pointClass)}),e(i,"Series/OHLC/OHLCSeries.js",[i["Series/OHLC/OHLCPoint.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i){var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=e.seriesTypes.column,s=i.merge;return(0,i.extend)((i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e.yData=void 0,e}return o(e,t),e.prototype.drawPoints=function(){var t=this,e=t.chart,i=function(t,e,i){var o=t[0];t=t[1],"number"==typeof o[2]&&(o[2]=Math.max(i+e,o[2])),"number"==typeof t[2]&&(t[2]=Math.min(i-e,t[2]))};t.points.forEach(function(o){var r=o.graphic,s=!r;if(void 0!==o.plotY){r||(o.graphic=r=e.renderer.path().add(t.group)),e.styledMode||r.attr(t.pointAttribs(o,o.selected&&"select"));var n=r.strokeWidth(),a=n%2/2,h=Math.round(o.plotX)-a,l=Math.round(o.shapeArgs.width/2),c=[["M",h,Math.round(o.yBottom)],["L",h,Math.round(o.plotHigh)]];if(null!==o.open){var d=Math.round(o.plotOpen)+a;c.push(["M",h,d],["L",h-l,d]),i(c,n/2,d)}null!==o.close&&(d=Math.round(o.plotClose)+a,c.push(["M",h,d],["L",h+l,d]),i(c,n/2,d)),r[s?"attr":"animate"]({d:c}).addClass(o.getClassName(),!0)}})},e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.options.stacking=void 0},e.prototype.pointAttribs=function(e,i){i=t.prototype.pointAttribs.call(this,e,i);var o=this.options;return delete i.fill,!e.options.color&&o.upColor&&e.open<e.close&&(i.stroke=o.upColor),i},e.prototype.toYData=function(t){return[t.open,t.high,t.low,t.close]},e.prototype.translate=function(){var e=this,i=e.yAxis,o=!!e.modifyValue,r=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];t.prototype.translate.apply(e),e.points.forEach(function(t){[t.open,t.high,t.low,t.close,t.low].forEach(function(s,n){null!==s&&(o&&(s=e.modifyValue(s)),t[r[n]]=i.toPixels(s,!0))}),t.tooltipPos[1]=t.plotHigh+i.pos-e.chart.plotTop})},e.defaultOptions=s(r.defaultOptions,{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b> {series.name}</b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),e}(r)).prototype,{animate:null,directTouch:!1,pointArrayMap:["open","high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.prototype.pointClass=t,e.registerSeriesType("ohlc",i),i}),e(i,"Series/Candlestick/CandlestickSeries.js",[i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e,i,o){var r=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),s=t.defaultOptions,n=(t=i.seriesTypes).column,a=t.ohlc,h=o.merge;return o=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return r(i,t),i.prototype.pointAttribs=function(t,e){var i=n.prototype.pointAttribs.call(this,t,e),o=this.options,r=t.open<t.close,s=o.lineColor||this.color,a=t.color||this.color;return i["stroke-width"]=o.lineWidth,i.fill=t.options.color||r&&o.upColor||a,i.stroke=t.options.lineColor||r&&o.upLineColor||s,e&&(i.fill=(t=o.states[e]).color||i.fill,i.stroke=t.lineColor||i.stroke,i["stroke-width"]=t.lineWidth||i["stroke-width"]),i},i.prototype.drawPoints=function(){var t=this,e=t.chart,i=t.yAxis.reversed;t.points.forEach(function(o){var r=o.graphic,s=!r;if(void 0!==o.plotY){r||(o.graphic=r=e.renderer.path().add(t.group)),t.chart.styledMode||r.attr(t.pointAttribs(o,o.selected&&"select")).shadow(t.options.shadow);var n=r.strokeWidth()%2/2,a=Math.round(o.plotX)-n,h=o.plotOpen,l=o.plotClose,c=Math.min(h,l);h=Math.max(h,l);var d=Math.round(o.shapeArgs.width/2);l=i?h!==o.yBottom:Math.round(c)!==Math.round(o.plotHigh);var p=i?Math.round(c)!==Math.round(o.plotHigh):h!==o.yBottom;c=Math.round(c)+n,h=Math.round(h)+n,(n=[]).push(["M",a-d,h],["L",a-d,c],["L",a+d,c],["L",a+d,h],["Z"],["M",a,c],["L",a,l?Math.round(i?o.yBottom:o.plotHigh):c],["M",a,h],["L",a,p?Math.round(i?o.plotHigh:o.yBottom):h]),r[s?"attr":"animate"]({d:n}).addClass(o.getClassName(),!0)}})},i.defaultOptions=h(a.defaultOptions,s.plotOptions,{states:{hover:{lineWidth:2}},tooltip:s.plotOptions.ohlc.tooltip,threshold:null,lineColor:e.neutralColor100,lineWidth:1,upColor:e.backgroundColor,stickyTracking:!0}),i}(a),i.registerSeriesType("candlestick",o),o}),e(i,"Series/Flags/FlagsPoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,e){var i=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),o=e.isNumber;return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.options=void 0,e.series=void 0,e}return i(e,t),e.prototype.isValid=function(){return o(this.y)||void 0===this.y},e.prototype.hasNewShapeType=function(){var t=this.options.shape||this.series.options.shape;return this.graphic&&t&&t!==this.graphic.symbolKey},e}(t.seriesTypes.column.prototype.pointClass)}),e(i,"Mixins/OnSeries.js",[i["Series/Column/ColumnSeries.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,e,i){var o=t.prototype,r=e.prototype,s=i.defined,n=i.stableSort;return{getPlotBox:function(){return r.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){o.translate.apply(this);var t,e=this,i=e.options,r=e.chart,a=e.points,h=a.length-1,l=i.onSeries;l=l&&r.get(l),i=i.onKey||"y";var c,d=l&&l.options.step,p=l&&l.points,u=p&&p.length,f=r.inverted,g=e.xAxis,m=e.yAxis,y=0;if(l&&l.visible&&u){y=(l.pointXOffset||0)+(l.barW||0)/2;var v=p[u-1].x+((r=l.currentDataGrouping)?r.totalRange:0);for(n(a,function(t,e){return t.x-e.x}),i="plot"+i[0].toUpperCase()+i.substr(1);u--&&a[h];){var x=p[u];if((r=a[h]).y=x.y,x.x<=r.x&&void 0!==x[i]){if(r.x<=v&&(r.plotY=x[i],x.x<r.x&&!d&&(c=p[u+1])&&void 0!==c[i])){var b=(r.x-x.x)/(c.x-x.x);r.plotY+=b*(c[i]-x[i]),r.y+=b*(c.y-x.y)}if(u++,0>--h)break}}}a.forEach(function(i,o){if(i.plotX+=y,(void 0===i.plotY||f)&&(0<=i.plotX&&i.plotX<=g.len?f?(i.plotY=g.translate(i.x,0,1,0,1),i.plotX=s(i.y)?m.translate(i.y,0,0,0,1):0):i.plotY=(g.opposite?0:e.yAxis.len)+g.offset:i.shapeArgs={}),(t=a[o-1])&&t.plotX===i.plotX){void 0===t.stackIndex&&(t.stackIndex=0);var r=t.stackIndex+1}i.stackIndex=r}),this.onSeries=l}}}),e(i,"Series/Flags/FlagsSymbols.js",[i["Core/Globals.js"],i["Core/Renderer/SVG/SVGRenderer.js"]],function(t,e){function i(t){s[t+"pin"]=function(e,i,o,r,n){var a=n&&n.anchorX;n=n&&n.anchorY,"circle"===t&&r>o&&(e-=Math.round((r-o)/2),o=r);var h=s[t](e,i,o,r);if(a&&n){var l=a;"circle"===t?l=e+o/2:(o=h[1],"M"===(e=h[0])[0]&&"L"===o[0]&&(l=(e[1]+o[1])/2)),h.push(["M",l,i>n?i:i+r],["L",a,n]),h=h.concat(s.circle(a-1,n-1,2,2))}return h}}var o=t.Renderer,r=t.VMLRenderer,s=e.prototype.symbols;return s.flag=function(t,e,i,o,r){var n=r&&r.anchorX||t,a=s.circle(n-1,(r=r&&r.anchorY||e)-1,2,2);return a.push(["M",n,r],["L",t,e+o],["L",t,e],["L",t+i,e],["L",t+i,e+o],["L",t,e+o],["Z"]),a},i("circle"),i("square"),o===r&&["circlepin","flag","squarepin"].forEach(function(t){r.prototype.symbols[t]=s[t]}),s}),e(i,"Series/Flags/FlagsSeries.js",[i["Series/Flags/FlagsPoint.js"],i["Core/Globals.js"],i["Mixins/OnSeries.js"],i["Core/Color/Palette.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),h=e.noop,l=r.series,c=r.seriesTypes.column,d=n.addEvent,p=n.defined,u=n.extend,f=n.merge,g=n.objectEach,m=n.wrap;return n=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.options=void 0,e.points=void 0,e}return a(i,t),i.prototype.animate=function(t){t&&this.setClip()},i.prototype.drawPoints=function(){var t,i=this.points,o=this.chart,r=o.renderer,n=o.inverted,a=this.options,h=a.y,l=this.yAxis,c={},d=[];for(t=i.length;t--;){var u=i[t],y=(n?u.plotY:u.plotX)>this.xAxis.len,v=u.plotX,x=u.stackIndex,b=u.options.shape||a.shape,w=u.plotY;void 0!==w&&(w=u.plotY+h-(void 0!==x&&x*a.stackDistance)),u.anchorX=x?void 0:u.plotX;var C=x?void 0:u.plotY,S="flag"!==b;x=u.graphic,void 0!==w&&0<=v&&!y?(x&&u.hasNewShapeType()&&(x=x.destroy()),x||(x=u.graphic=r.label("",null,null,b,null,null,a.useHTML).addClass("highcharts-point").add(this.markerGroup),u.graphic.div&&(u.graphic.div.point=u),x.isNew=!0),x.attr({align:S?"center":"left",width:a.width,height:a.height,"text-align":a.textAlign}),o.styledMode||x.attr(this.pointAttribs(u)).css(f(a.style,u.style)).shadow(a.shadow),0<v&&(v-=x.strokeWidth()%2),b={y:w,anchorY:C},a.allowOverlapX&&(b.x=v,b.anchorX=u.anchorX),x.attr({text:u.options.title||a.title||"A"})[x.isNew?"attr":"animate"](b),a.allowOverlapX||(c[u.plotX]?c[u.plotX].size=Math.max(c[u.plotX].size,x.width):c[u.plotX]={align:S?.5:0,size:x.width,target:v,anchorX:v}),u.tooltipPos=[v,w+l.pos-o.plotTop]):x&&(u.graphic=x.destroy())}a.allowOverlapX||(g(c,function(t){t.plotX=t.anchorX,d.push(t)}),e.distribute(d,n?l.len:this.xAxis.len,100),i.forEach(function(t){var e=t.graphic&&c[t.plotX];e&&(t.graphic[t.graphic.isNew?"attr":"animate"]({x:e.pos+e.align*e.size,anchorX:t.anchorX}),p(e.pos)?t.graphic.isNew=!1:(t.graphic.attr({x:-9999,anchorX:-9999}),t.graphic.isNew=!0))})),a.useHTML&&m(this.markerGroup,"on",function(t){return s.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},i.prototype.drawTracker=function(){var e=this.points;t.prototype.drawTracker.call(this),e.forEach(function(t){var i=t.graphic;i&&(t.unbindMouseOver&&t.unbindMouseOver(),t.unbindMouseOver=d(i.element,"mouseover",function(){0<t.stackIndex&&!t.raised&&(t._y=i.y,i.attr({y:t._y-8}),t.raised=!0),e.forEach(function(e){e!==t&&e.raised&&e.graphic&&(e.graphic.attr({y:e._y}),e.raised=!1)})}))})},i.prototype.pointAttribs=function(t,e){var i=this.options,o=t&&t.color||this.color,r=i.lineColor,s=t&&t.lineWidth;return t=t&&t.fillColor||i.fillColor,e&&(t=i.states[e].fillColor,r=i.states[e].lineColor,s=i.states[e].lineWidth),{fill:t||o,stroke:r||o,"stroke-width":s||i.lineWidth||0}},i.prototype.setClip=function(){l.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])},i.defaultOptions=f(c.defaultOptions,{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:o.backgroundColor,lineWidth:1,states:{hover:{lineColor:o.neutralColor100,fillColor:o.highlightColor20}},style:{fontSize:"11px",fontWeight:"bold"}}),i}(c),u(n.prototype,{allowDG:!1,buildKDTree:h,forceCrop:!0,getPlotBox:i.getPlotBox,init:l.prototype.init,invertGroups:h,invertible:!1,noSharedTooltip:!0,pointClass:t,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],translate:i.translate}),r.registerSeriesType("flags",n),n}),e(i,"Extensions/RangeSelector.js",[i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/Globals.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Renderer/SVG/SVGElement.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n){var a=o.defaultOptions,h=n.addEvent,l=n.createElement,c=n.css,d=n.defined,p=n.destroyObjectProperties,u=n.discardElement,f=n.extend,g=n.find,m=n.fireEvent,y=n.isNumber,v=n.merge,x=n.objectEach,b=n.pad,w=n.pick,C=n.pInt,S=n.splat;f(a,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:r.highlightColor80,cursor:"pointer"},labelStyle:{color:r.neutralColor60}}}),f(a.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var k=function(){function e(t){this.buttons=void 0,this.buttonOptions=e.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.options=void 0,this.chart=t,this.init(t)}return e.prototype.clickButton=function(e,i){var o=this.chart,r=this.buttonOptions[e],s=o.xAxis[0],n=o.scroller&&o.scroller.getUnionExtremes()||s||{},a=n.dataMin,l=n.dataMax,c=s&&Math.round(Math.min(s.max,w(l,s.max))),p=r.type;n=r._range;var u,f=r.dataGrouping;if(null!==a&&null!==l){if(o.fixedRange=n,this.setSelected(e),f&&(this.forcedDataGrouping=!0,t.prototype.setDataGrouping.call(s||{chart:this.chart},f,!1),this.frozenStates=r.preserveDataGrouping),"month"===p||"year"===p)if(s){var g=s.minFromRange.call(p={range:r,max:c,chart:o,dataMin:a,dataMax:l});y(p.newMax)&&(c=p.newMax)}else n=r;else if(n)g=Math.max(c-n,a),c=Math.min(g+n,l);else if("ytd"===p){if(!s)return void(this.deferredYTDClick=e);void 0===l&&(a=Number.MAX_VALUE,l=Number.MIN_VALUE,o.series.forEach(function(t){t=t.xData,a=Math.min(t[0],a),l=Math.max(t[t.length-1],l)}),i=!1),g=u=(c=this.getYTDExtremes(l,a,o.time.useUTC)).min,c=c.max}else"all"===p&&s&&(g=a,c=l);if(d(g)&&(g+=r._offsetMin),d(c)&&(c+=r._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=e+1),s)s.setExtremes(g,c,w(i,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:r});else{var v=S(o.options.xAxis)[0],x=v.range;v.range=n;var b=v.min;v.min=u,h(o,"load",function(){v.range=x,v.min=b})}m(this,"afterBtnClick")}},e.prototype.setSelected=function(t){this.selected=this.options.selected=t},e.prototype.init=function(t){var e=this,i=t.options.rangeSelector,o=i.buttons||e.defaultButtons.slice(),r=i.selected,s=function(){var t=e.minInput,i=e.maxInput;t&&t.blur&&m(t,"blur"),i&&i.blur&&m(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(h(t.container,"mousedown",s)),this.eventsToUnbind.push(h(t,"resize",s)),o.forEach(e.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(h(t,"load",function(){t.xAxis&&t.xAxis[0]&&h(t.xAxis[0],"setExtremes",function(i){this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})}))},e.prototype.updateButtonStates=function(){var t=this,e=this.chart,i=this.dropdown,o=e.xAxis[0],r=Math.round(o.max-o.min),s=!o.hasVisibleSeries,n=e.scroller&&e.scroller.getUnionExtremes()||o,a=n.dataMin,h=n.dataMax,l=(e=t.getYTDExtremes(h,a,e.time.useUTC)).min,c=e.max,d=t.selected,p=y(d),u=t.options.allButtonsEnabled,f=t.buttons;t.buttonOptions.forEach(function(e,n){var g=e._range,m=e.type,y=e.count||1,v=f[n],x=0,b=e._offsetMax-e._offsetMin;e=n===d;var w=g>h-a,C=g<o.minRange,S=!1,k=!1;g=g===r,("month"===m||"year"===m)&&r+36e5>=864e5*{month:28,year:365}[m]*y-b&&r-36e5<=864e5*{month:31,year:366}[m]*y+b?g=!0:"ytd"===m?(g=c-l+b===r,S=!e):"all"===m&&(g=o.max-o.min>=h-a,k=!e&&p&&g),y=e&&g||g&&!p&&!S||e&&t.frozenStates,(m=!u&&(w||C||k||s))?x=3:y&&(p=!0,x=2),v.state!==x&&(v.setState(x),i&&(i.options[n+1].disabled=m,2===x&&(i.selectedIndex=n+1)),0===x&&d===n&&t.setSelected())})},e.prototype.computeButtonRange=function(t){var e=t.type,i=t.count||1,o={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};o[e]?t._range=o[e]*i:"month"!==e&&"year"!==e||(t._range=864e5*{month:30,year:365}[e]*i),t._offsetMin=w(t.offsetMin,0),t._offsetMax=w(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin},e.prototype.getInputValue=function(t){var e=this.chart.time;return(t="min"===t?this.minInput:this.maxInput)?("text"===t.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(t.value,e.useUTC,e):0},e.prototype.setInputValue=function(t,e){var i=this.options,o=this.chart.time,r="min"===t?this.minInput:this.maxInput;if(t="min"===t?this.minDateBox:this.maxDateBox,r){var s=r.getAttribute("data-hc-time");s=d(s)?Number(s):void 0,d(e)&&(d(s)&&r.setAttribute("data-hc-time-previous",s),r.setAttribute("data-hc-time",e),s=e),r.value=o.dateFormat(this.inputTypeFormats[r.type]||i.inputEditDateFormat,s),t&&t.attr({text:o.dateFormat(i.inputDateFormat,s)})}},e.prototype.setInputExtremes=function(t,e,i){if(t="min"===t?this.minInput:this.maxInput){var o=this.inputTypeFormats[t.type],r=this.chart.time;o&&(e=r.dateFormat(o,e),t.min!==e&&(t.min=e),i=r.dateFormat(o,i),t.max!==i&&(t.max=i))}},e.prototype.showInput=function(t){var e="min"===t?this.minDateBox:this.maxDateBox;if((t="min"===t?this.minInput:this.maxInput)&&e&&this.inputGroup){var i="text"===t.type,o=this.inputGroup,r=o.translateX;o=o.translateY;var s=this.options.inputBoxWidth;c(t,{width:i?e.width+(s?-2:20)+"px":"auto",height:i?e.height-2+"px":"auto",border:"2px solid silver"}),c(t,i&&s?{left:r+e.x+"px",top:o+"px"}:{left:Math.min(Math.round(e.x+r-(t.offsetWidth-e.width)/2),this.chart.chartWidth-t.offsetWidth)+"px",top:o-1-(t.offsetHeight-e.height)/2+"px"})}},e.prototype.hideInput=function(t){(t="min"===t?this.minInput:this.maxInput)&&c(t,{top:"-9999em",border:0,width:"1px",height:"1px"})},e.prototype.defaultInputDateParser=function(t,e,o){var r,s=t.split("/").join("-").split(" ").join("T");return-1===s.indexOf("T")&&(s+="T00:00"),e?s+="Z":((r=i.isSafari)&&(r=!(6<(r=s).length&&(r.lastIndexOf("-")===r.length-6||r.lastIndexOf("+")===r.length-6))),r&&(s+=0>=(r=new Date(s).getTimezoneOffset()/60)?"+"+b(-r)+":00":"-"+b(r)+":00")),s=Date.parse(s),y(s)||(t=t.split("-"),s=Date.UTC(C(t[0]),C(t[1])-1,C(t[2]))),o&&e&&y(s)&&(s+=o.getTimezoneOffset(s)),s},e.prototype.drawInput=function(t){function e(){var e=h.getInputValue(t),i=o.xAxis[0],r=o.scroller&&o.scroller.xAxis?o.scroller.xAxis:i,s=r.dataMin;r=r.dataMax;var n=h.maxInput,a=h.minInput;e!==Number(x.getAttribute("data-hc-time-previous"))&&y(e)&&(x.setAttribute("data-hc-time-previous",e),g&&n&&y(s)?e>Number(n.getAttribute("data-hc-time"))?e=void 0:e<s&&(e=s):a&&y(r)&&(e<Number(a.getAttribute("data-hc-time"))?e=void 0:e>r&&(e=r)),void 0!==e&&i.setExtremes(g?e:i.min,g?i.max:e,void 0,void 0,{trigger:"rangeSelectorInput"}))}var o=this.chart,s=this.div,n=this.inputGroup,h=this,d=o.renderer.style||{},p=o.renderer,u=o.options.rangeSelector,g="min"===t,m=a.lang[g?"rangeSelectorFrom":"rangeSelectorTo"];m=p.label(m,0).addClass("highcharts-range-label").attr({padding:m?2:0}).add(n),p=p.label("",0).addClass("highcharts-range-input").attr({padding:2,width:u.inputBoxWidth,height:u.inputBoxHeight,"text-align":"center"}).on("click",function(){h.showInput(t),h[t+"Input"].focus()}),o.styledMode||p.attr({stroke:u.inputBoxBorderColor,"stroke-width":1}),p.add(n);var x=l("input",{name:t,className:"highcharts-range-selector"},void 0,s);x.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";var e="aAdewbBmoyY".split("").some(function(e){return-1!==t.indexOf("%"+e)}),i="HkIlMS".split("").some(function(e){return-1!==t.indexOf("%"+e)});return e&&i?"datetime-local":e?"date":i?"time":"text"}(u.inputDateFormat||"%b %e, %Y")),o.styledMode||(m.css(v(d,u.labelStyle)),p.css(v({color:r.neutralColor80},d,u.inputStyle)),c(x,f({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:d.fontSize,fontFamily:d.fontFamily,top:"-9999em"},u.inputStyle))),x.onfocus=function(){h.showInput(t)},x.onblur=function(){x===i.doc.activeElement&&e(),h.hideInput(t),h.setInputValue(t),x.blur()};var b=!1;return x.onchange=function(){b||(e(),h.hideInput(t),x.blur())},x.onkeypress=function(t){13===t.keyCode&&e()},x.onkeydown=function(t){b=!0,38!==t.keyCode&&40!==t.keyCode||e()},x.onkeyup=function(){b=!1},{dateBox:p,input:x,label:m}},e.prototype.getPosition=function(){var t=this.chart,e=t.options.rangeSelector;return{buttonTop:(t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0)+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}},e.prototype.getYTDExtremes=function(t,e,i){var o=this.chart.time,r=new o.Date(t),s=o.get("FullYear",r);return i=i?o.Date.UTC(s,0,1):+new o.Date(s,0,1),e=Math.max(e,i),r=r.getTime(),{max:Math.min(t||r,r),min:e}},e.prototype.render=function(t,e){var i=this.chart,o=i.renderer,r=i.container,s=i.options,n=s.rangeSelector,a=w(s.chart.style&&s.chart.style.zIndex,0)+1;if(s=n.inputEnabled,!1!==n.enabled){if(this.rendered||(this.group=o.g("range-selector-group").attr({zIndex:7}).add(),this.div=l("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),s&&(this.inputGroup=o.g("input-group").add(this.group),o=this.drawInput("min"),this.minDateBox=o.dateBox,this.minLabel=o.label,this.minInput=o.input,o=this.drawInput("max"),this.maxDateBox=o.dateBox,this.maxLabel=o.label,this.maxInput=o.input)),s&&(this.setInputValue("min",t),this.setInputValue("max",e),t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{},d(t.dataMin)&&d(t.dataMax)&&(i=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-i),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+i,t.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(t){if(t){var e=t.getBBox().width;e&&(t.attr({x:h}),h+=e+n.inputSpacing)}})}this.alignElements(),this.rendered=!0}},e.prototype.renderButtons=function(){var t=this,e=this.buttons,o=this.options,r=a.lang,s=this.chart.renderer,n=v(o.buttonTheme),c=n&&n.states,d=n.width||28;delete n.width,delete n.states,this.buttonGroup=s.g("range-selector-buttons").add(this.group);var p=this.dropdown=l("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);h(p,"touchstart",function(){p.style.fontSize="16px"}),[[i.isMS?"mouseover":"mouseenter"],[i.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(i){var o=i[0],r=i[1];h(p,o,function(){var i=e[t.currentButtonIndex()];i&&m(i.element,r||o)})}),this.zoomText=s.text(r.rangeSelectorZoom,0,15).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),n["stroke-width"]=w(n["stroke-width"],0)),l("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,p),this.buttonOptions.forEach(function(i,o){l("option",{textContent:i.title||i.text},void 0,p),e[o]=s.button(i.text,0,0,function(e){var r,s=i.events&&i.events.click;s&&(r=s.call(i,e)),!1!==r&&t.clickButton(o),t.isActive=!0},n,c&&c.hover,c&&c.select,c&&c.disabled).attr({"text-align":"center",width:d}).add(t.buttonGroup),i.title&&e[o].attr("title",i.title)})},e.prototype.alignElements=function(){var t=this,e=this.buttonGroup,i=this.buttons,o=this.chart,r=this.group,s=this.inputGroup,n=this.options,a=this.zoomText,h=o.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions;h=n.buttonPosition;var c=n.inputPosition,d=n.verticalAlign,p=function(e,i){return l&&t.titleCollision(o)&&"top"===d&&"right"===i.align&&i.y-e.getBBox().height-12<(l.y||0)+(l.height||0)+o.spacing[0]?-40:0},u=o.plotLeft;if(r&&h&&c){var f=h.x-o.spacing[3];if(e){if(this.positionButtons(),!this.initialButtonGroupWidth){var g=0;a&&(g+=a.getBBox().width+5),i.forEach(function(t,e){g+=t.width,e!==i.length-1&&(g+=n.buttonSpacing)}),this.initialButtonGroupWidth=g}u-=o.spacing[3],this.updateButtonStates(),a=p(e,h),this.alignButtonGroup(a),r.placed=e.placed=o.hasLoaded}e=0,s&&(e=p(s,c),"left"===c.align?f=u:"right"===c.align&&(f=-Math.max(o.axisOffset[1],-e)),s.align({y:c.y,width:s.getBBox().width,align:c.align,x:c.x+f-2},!0,o.spacingBox),s.placed=o.hasLoaded),this.handleCollision(e),r.align({verticalAlign:d},!0,o.spacingBox),s=r.alignAttr.translateY,e=r.getBBox().height+20,p=0,"bottom"===d&&(p=s-(e=e+(p=(p=o.legend&&o.legend.options)&&"bottom"===p.verticalAlign&&p.enabled&&!p.floating?o.legend.legendHeight+w(p.margin,10):0)-20)-(n.floating?0:n.y)-(o.titleOffset?o.titleOffset[2]:0)-10),"top"===d?(n.floating&&(p=0),o.titleOffset&&o.titleOffset[0]&&(p=o.titleOffset[0]),p+=o.margin[0]-o.spacing[0]||0):"middle"===d&&(c.y===h.y?p=s:(c.y||h.y)&&(p=0>c.y||0>h.y?p-Math.min(c.y,h.y):s-e)),r.translate(n.x,n.y+Math.floor(p)),h=this.minInput,c=this.maxInput,s=this.dropdown,n.inputEnabled&&h&&c&&(h.style.marginTop=r.translateY+"px",c.style.marginTop=r.translateY+"px"),s&&(s.style.marginTop=r.translateY+"px")}},e.prototype.alignButtonGroup=function(t,e){var i=this.chart,o=this.buttonGroup,r=this.options.buttonPosition,s=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-s:"center"===r.align&&(n-=s/2),o&&o.align({y:r.y,width:w(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)},e.prototype.positionButtons=function(){var t=this.buttons,e=this.chart,i=this.options,o=this.zoomText,r=e.hasLoaded?"animate":"attr",s=i.buttonPosition,n=e.plotLeft,a=n;o&&"hidden"!==o.visibility&&(o[r]({x:w(n+s.x,n)}),a+=s.x+o.getBBox().width+5),this.buttonOptions.forEach(function(e,o){"hidden"!==t[o].visibility?(t[o][r]({x:a}),a+=t[o].width+i.buttonSpacing):t[o][r]({x:n})})},e.prototype.handleCollision=function(t){var e=this,i=this.chart,o=this.buttonGroup,r=this.inputGroup,s=this.options,n=s.buttonPosition,a=s.dropdown,h=s.inputPosition;s=function(){var t=0;return e.buttons.forEach(function(e){(e=e.getBBox()).width>t&&(t=e.width)}),t};var l=function(e){if(r&&o){var i=r.alignAttr.translateX+r.alignOptions.x-t+r.getBBox().x+2,s=r.alignOptions.width,a=o.alignAttr.translateX+o.getBBox().x;return a+e>i&&i+s>a&&n.y<h.y+r.getBBox().height}return!1},c=function(){r&&o&&r.attr({translateX:r.alignAttr.translateX+(i.axisOffset[1]>=-t?0:-t),translateY:r.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===a)return this.collapseButtons(t),void(l(s())&&c());"never"===a&&this.expandButtons()}r&&o?h.align===n.align||l(this.initialButtonGroupWidth+20)?"responsive"===a?(this.collapseButtons(t),l(s())&&c()):c():"responsive"===a&&this.expandButtons():o&&"responsive"===a&&(this.initialButtonGroupWidth>i.plotWidth?this.collapseButtons(t):this.expandButtons())},e.prototype.collapseButtons=function(t){var e=this.buttons,i=this.buttonOptions,o=this.dropdown,r=this.options,s=this.zoomText,n=function(t){return{text:t?t+" \u25be":"\u25be",width:"auto",paddingLeft:8,paddingRight:8}};s&&s.hide();var a=!1;i.forEach(function(t,i){2!==(i=e[i]).state?i.hide():(i.show(),i.attr(n(t.text)),a=!0)}),a||(o&&(o.selectedIndex=0),e[0].show(),e[0].attr(n(this.zoomText&&this.zoomText.textStr))),i=r.buttonPosition.align,this.positionButtons(),"right"!==i&&"center"!==i||this.alignButtonGroup(t,e[this.currentButtonIndex()].getBBox().width),this.showDropdown()},e.prototype.expandButtons=function(){var t=this.buttons,e=this.buttonOptions,i=this.options,o=this.zoomText;this.hideDropdown(),o&&o.show(),e.forEach(function(e,o){(o=t[o]).show(),o.attr({text:e.text,width:i.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"}),2>o.state&&o.setState(0)}),this.positionButtons()},e.prototype.currentButtonIndex=function(){var t=this.dropdown;return t&&0<t.selectedIndex?t.selectedIndex-1:0},e.prototype.showDropdown=function(){var t=this.buttonGroup,e=this.buttons,i=this.chart,o=this.dropdown;if(t&&o){var r=t.translateX;t=t.translateY,e=e[this.currentButtonIndex()].getBBox(),c(o,{left:i.plotLeft+r+"px",top:t+.5+"px",width:e.width+"px",height:e.height+"px"}),this.hasVisibleDropdown=!0}},e.prototype.hideDropdown=function(){var t=this.dropdown;t&&(c(t,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)},e.prototype.getHeight=function(){var t=this.options,e=this.group,i=t.y,o=t.buttonPosition.y,r=t.inputPosition.y;return t.height?t.height:(this.alignElements(),t=e?e.getBBox(!0).height+13+i:0,e=Math.min(r,o),(0>r&&0>o||0<r&&0<o)&&(t+=Math.abs(e)),t)},e.prototype.titleCollision=function(t){return!(t.options.title.text||t.options.subtitle.text)},e.prototype.update=function(t){var e=this.chart;v(!0,e.options.rangeSelector,t),this.destroy(),this.init(e),this.render()},e.prototype.destroy=function(){var t=this,i=t.minInput,o=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(function(t){return t()}),t.eventsToUnbind=void 0),p(t.buttons),i&&(i.onfocus=i.onblur=i.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),x(t,function(i,o){i&&"chart"!==o&&(i instanceof s?i.destroy():i instanceof window.HTMLElement&&u(i)),i!==e.prototype[o]&&(t[o]=null)},this)},e}();if(k.prototype.defaultButtons=[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],k.prototype.inputTypeFormats={"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"},t.prototype.minFromRange=function(){var t=this.range,e=t.type,i=this.max,o=this.chart.time,r=function(t,i){var r="year"===e?"FullYear":"Month",s=new o.Date(t),n=o.get(r,s);return o.set(r,s,n+i),n===o.get(r,s)&&o.set("Date",s,0),s.getTime()-t};if(y(t))var s=i-t,n=t;else s=i+r(i,-t.count),this.chart&&(this.chart.fixedRange=i-s);var a=w(this.dataMin,Number.MIN_VALUE);return y(s)||(s=a),s<=a&&(s=a,void 0===n&&(n=r(s,t.count)),this.newMax=Math.min(s+n,this.dataMax)),y(i)||(s=void 0),s},!i.RangeSelector){var M=[],A=function(t){function e(){n&&(i=t.xAxis[0].getExtremes(),o=t.legend,s=n&&n.options.verticalAlign,y(i.min)&&n.render(i.min,i.max),o.display&&"top"===s&&s===o.options.verticalAlign&&((r=v(t.spacingBox)).y="vertical"===o.options.layout?t.plotTop:r.y+n.getHeight(),o.group.placed=!1,o.align(r)))}var i,o,r,s,n=t.rangeSelector;n&&(g(M,function(e){return e[0]===t})||M.push([t,[h(t.xAxis[0],"afterSetExtremes",function(t){n&&n.render(t.min,t.max)}),h(t,"redraw",e)]]),e())};h(e,"afterGetContainer",function(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new k(this))}),h(e,"beforeRender",function(){var t=this.axes,e=this.rangeSelector;e&&(y(e.deferredYTDClick)&&(e.clickButton(e.deferredYTDClick),delete e.deferredYTDClick),t.forEach(function(t){t.updateNames(),t.setScale()}),this.getAxisMargins(),e.render(),t=e.options.verticalAlign,e.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)))}),h(e,"update",function(t){var e=t.options.rangeSelector;t=this.rangeSelector;var i=this.extraBottomMargin,o=this.extraTopMargin;e&&e.enabled&&!d(t)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=t=new k(this)),this.extraTopMargin=this.extraBottomMargin=!1,t&&(A(this),e=e&&e.verticalAlign||t.options&&t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)),this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}),h(e,"render",function(){var t=this.rangeSelector;t&&!t.options.floating&&(t.render(),"bottom"===(t=t.options.verticalAlign)?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0))}),h(e,"getMargins",function(){var t=this.rangeSelector;t&&(t=t.getHeight(),this.extraTopMargin&&(this.plotTop+=t),this.extraBottomMargin&&(this.marginBottom+=t))}),e.prototype.callbacks.push(A),h(e,"destroy",function(){for(var t=0;t<M.length;t++){var e=M[t];if(e[0]===this){e[1].forEach(function(t){return t()}),M.splice(t,1);break}}}),i.RangeSelector=k}return i.RangeSelector}),e(i,"Core/Chart/StockChart.js",[i["Core/Animation/AnimationUtilities.js"],i["Core/Axis/Axis.js"],i["Core/Chart/Chart.js"],i["Core/FormatUtilities.js"],i["Core/Options.js"],i["Core/Color/Palette.js"],i["Core/Series/Point.js"],i["Core/Series/Series.js"],i["Core/Renderer/SVG/SVGRenderer.js"],i["Core/Utilities.js"]],function(t,e,i,o,r,s,n,a,h,l){function c(t,e){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0}:"yAxis"===t?{labels:{y:-2},opposite:P(e.opposite,!0),showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:null}}:{}}function d(t,e){if("xAxis"===t){t=g();var i={type:"datetime",categories:void 0};return P(e.navigator&&e.navigator.enabled,t.navigator.enabled,!0)&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}var p=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),u=t.animObject,f=o.format,g=r.getOptions,m=n.prototype.tooltipFormatter,y=(t=a.prototype).init,v=t.processData;t=l.addEvent;var x=l.arrayMax,b=l.arrayMin,w=l.clamp,C=l.defined,S=l.extend,k=l.find,M=l.isNumber,A=l.isString,T=l.merge,P=l.pick,O=l.splat;return function(t){t.stockChart=function(e,i,o){return new t(e,i,o)}}((l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return p(e,t),e.prototype.init=function(e,i){var o=g(),r=e.xAxis,s=e.yAxis,n=P(e.navigator&&e.navigator.enabled,o.navigator.enabled,!0);e.xAxis=e.yAxis=void 0,n=T({chart:{panning:{enabled:!0,type:"x"},pinchType:"x"},navigator:{enabled:n},scrollbar:{enabled:P(o.scrollbar.enabled,!0)},rangeSelector:{enabled:P(o.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:P(o.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}),e.xAxis=r,e.yAxis=s,n.xAxis=O(e.xAxis||{}).map(function(t,i){return T(c("xAxis",t),o.xAxis,o.xAxis&&o.xAxis[i],t,d("xAxis",e))}),n.yAxis=O(e.yAxis||{}).map(function(t,e){return T(c("yAxis",t),o.yAxis,o.yAxis&&o.yAxis[e],t)}),t.prototype.init.call(this,n,i)},e.prototype.createAxis=function(e,i){return i.axis=T(c(e,i.axis),i.axis,d(e,this.userOptions)),t.prototype.createAxis.call(this,e,i)},e}(i))||(l={})),t(a,"setOptions",function(t){var e;this.chart.options.isStock&&(this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=T(t.plotOptions[this.type],e)))}),t(e,"autoLabelAlign",function(t){var e=this.chart,i=this.options;e=e._labelPanes=e._labelPanes||{};var o=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&!e[i=i.top+","+i.height]&&o.enabled&&(15===o.x&&(o.x=0),void 0===o.align&&(o.align="right"),e[i]=this,t.align="right",t.preventDefault())}),t(e,"destroy",function(){var t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}),t(e,"getPlotLinePath",function(t){var e,i,o,r,s=this,n=this.isLinked&&!this.series?this.linkedParent.series:this.series,a=s.chart,h=a.renderer,l=s.left,c=s.top,d=[],p=[],u=t.translatedValue,f=t.value,g=t.force;if(a.options.isStock&&!1!==t.acrossPanes&&"xAxis"===s.coll||"yAxis"===s.coll){t.preventDefault(),p=function(t){var e="xAxis"===t?"yAxis":"xAxis";return M(t=s.options[e])?[a[e][t]]:A(t)?[a.get(t)]:n.map(function(t){return t[e]})}(s.coll),(s.isXAxis?a.yAxis:a.xAxis).forEach(function(t){if(!C(t.options.id)||-1===t.options.id.indexOf("navigator")){var e=t.isXAxis?"yAxis":"xAxis";e=C(t.options[e])?a[e][t.options[e]]:a[e][0],s===e&&p.push(t)}});var m=p.length?[]:[s.isXAxis?a.yAxis[0]:a.xAxis[0]];p.forEach(function(t){-1!==m.indexOf(t)||k(m,function(e){return e.pos===t.pos&&e.len===t.len})||m.push(t)});var y=P(u,s.translate(f,null,null,t.old));M(y)&&m.forEach(s.horiz?function(t){var n;r=(i=t.pos)+t.len,e=o=Math.round(y+s.transB),"pass"!==g&&(e<l||e>l+s.width)&&(g?e=o=w(e,l,l+s.width):n=!0),n||d.push(["M",e,i],["L",o,r])}:function(t){var n;o=(e=t.pos)+t.len,i=r=Math.round(c+s.height-y),"pass"!==g&&(i<c||i>c+s.height)&&(g?i=r=w(i,c,c+s.height):n=!0),n||d.push(["M",e,i],["L",o,r])}),t.path=0<d.length?h.crispPolyLine(d,t.lineWidth||1):null}}),h.prototype.crispPolyLine=function(t,e){for(var i=0;i<t.length;i+=2){var o=t[i],r=t[i+1];o[1]===r[1]&&(o[1]=r[1]=Math.round(o[1])-e%2/2),o[2]===r[2]&&(o[2]=r[2]=Math.round(o[2])+e%2/2)}return t},t(e,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}),t(e,"afterDrawCrosshair",function(t){var e,i;if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&M(this.min)&&M(this.max)){var o=this.chart,r=this.logarithmic,n=this.crosshair.label,a=this.horiz,h=this.opposite,l=this.left,c=this.top,d=this.crossLabel,p=n.format,u="",g="inside"===this.options.tickPosition,m=!1!==this.crosshair.snap,y=0,v=t.e||this.cross&&this.cross.e;t=t.point;var x=this.min,b=this.max;r&&(x=r.lin2log(x),b=r.lin2log(b)),r=a?"center":h?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center",d||(d=this.crossLabel=o.renderer.label("",0,void 0,n.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:n.align||r,padding:P(n.padding,8),r:P(n.borderRadius,3),zIndex:2}).add(this.labelGroup),o.styledMode||d.attr({fill:n.backgroundColor||t&&t.series&&t.series.color||s.neutralColor60,stroke:n.borderColor||"","stroke-width":n.borderWidth||0}).css(S({color:s.backgroundColor,fontWeight:"normal",fontSize:"11px",textAlign:"center"},n.style||{}))),a?(r=m?(t.plotX||0)+l:v.chartX,c+=h?0:this.height):(r=h?this.width+l:0,c=m?(t.plotY||0)+c:v.chartY),p||n.formatter||(this.dateTime&&(u="%b %d, %Y"),p="{value"+(u?":"+u:"")+"}"),u=m?this.isXAxis?t.x:t.y:this.toValue(a?v.chartX:v.chartY),m=t?t.series.isPointInside(t):M(u)&&u>x&&u<b,v="",p?v=f(p,{value:u},o):n.formatter&&M(u)&&(v=n.formatter.call(this,u)),d.attr({text:v,x:r,y:c,visibility:m?"visible":"hidden"}),n=d.getBBox(),M(d.y)&&(a?(g&&!h||!g&&h)&&(c=d.y-n.height):c=d.y-n.height/2),a?(e=l-n.x,i=l+this.width-n.x):(e="left"===this.labelAlign?l:0,i="right"===this.labelAlign?l+this.width:o.chartWidth),d.translateX<e&&(y=e-d.translateX),d.translateX+n.width>=i&&(y=-(d.translateX+n.width-i)),d.attr({x:r+y,y:c,anchorX:a?r:this.opposite?0:o.chartWidth,anchorY:a?this.opposite?o.chartHeight:0:c+n.height/2})}}),a.prototype.init=function(){y.apply(this,arguments),this.initCompare(this.options.compare)},a.prototype.setCompare=function(t){this.initCompare(t),this.userOptions.compare=t},a.prototype.initCompare=function(t){this.modifyValue="value"===t||"percent"===t?function(e,i){var o=this.compareValue;return void 0!==e&&void 0!==o?(e="value"===t?e-o:e/o*100-(100===this.options.compareBase?0:100),i&&(i.change=e),e):0}:null,this.chart.hasRendered&&(this.isDirty=!0)},a.prototype.processData=function(t){var e,i=-1,o=!0===this.options.compareStart?0:1;if(v.apply(this,arguments),this.xAxis&&this.processedYData){var r=this.processedXData,s=this.processedYData,n=s.length;for(this.pointArrayMap&&(i=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),e=0;e<n-o;e++){var a=s[e]&&-1<i?s[e][i]:s[e];if(M(a)&&r[e+o]>=this.xAxis.min&&0!==a){this.compareValue=a;break}}}},t(a,"afterGetExtremes",function(t){if(t=t.dataExtremes,this.modifyValue&&t){var e=[this.modifyValue(t.dataMin),this.modifyValue(t.dataMax)];t.dataMin=b(e),t.dataMax=x(e)}}),e.prototype.setCompare=function(t,e){this.isXAxis||(this.series.forEach(function(e){e.setCompare(t)}),P(e,!0)&&this.chart.redraw())},n.prototype.tooltipFormatter=function(t){return t=t.replace("{point.change}",(0<this.change?"+":"")+(0,this.series.chart.numberFormatter)(this.change,P(this.series.tooltipOptions.changeDecimals,2))),m.apply(this,[t])},t(a,"render",function(){var t=this.chart;if(!(t.is3d&&t.is3d()||t.polar)&&this.xAxis&&!this.xAxis.isRadial&&!1!==this.options.clip){var e=this.yAxis.len;if(this.xAxis.axisLine){var i=t.plotTop+t.plotHeight-this.yAxis.pos-this.yAxis.len,o=Math.floor(this.xAxis.axisLine.strokeWidth()/2);0<=i&&(e-=Math.max(o-i,0))}t.hasRendered&&(this.clipBox||!this.isDirty||this.isDirtyData)||(this.clipBox=this.clipBox||T(t.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=e),t.hasRendered&&(i=u(this.options.animation),i=this.getSharedClipKey(i),o=t.sharedClips[i])&&(o.animate({width:this.xAxis.len,height:e}),(t=t.sharedClips[i+"m"])&&t.animate({width:this.xAxis.len}))}}),t(i,"update",function(t){"scrollbar"in(t=t.options)&&this.navigator&&(T(!0,this.options.scrollbar,t.scrollbar),this.navigator.update({},!1),delete t.scrollbar)}),l}),e(i,"masters/modules/stock.src.js",[i["Core/Globals.js"],i["Core/Chart/StockChart.js"]],function(t,e){t.StockChart=t.stockChart=e.stockChart}),e(i,"masters/highstock.src.js",[i["masters/highcharts.src.js"]],function(t){return t.product="Highstock",t}),i["masters/highstock.src.js"]._modules=i,i["masters/highstock.src.js"]},t.exports?(s.default=s,t.exports=r.document?s(r):s):void 0===(o=(function(){return s(r)}).call(e,i,e,t))||(t.exports=o)},594:(t,e,i)=>{"use strict";var o=i(177),r=i(847),s=i(760),n=i(395),a=i(599);function h(t){if(t||(t=a.config.Promise||Promise),!t)throw new Error("no Promise impl found");return t}e.Observable=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var i=new t;return i.source=this,i.operator=e,i},t.prototype.subscribe=function(t,e,i){var o=this.operator,s=r.toSubscriber(t,e,i);if(s.add(o?o.call(s,this.source):this.source||a.config.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),a.config.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){a.config.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),o.canReportError(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var i=this;return new(e=h(e))(function(e,o){var r;r=i.subscribe(function(e){try{t(e)}catch(i){o(i),r&&r.unsubscribe()}},o,e)})},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:n.pipeFromArray(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=h(t))(function(t,i){var o;e.subscribe(function(t){return o=t},function(t){return i(t)},function(){return t(o)})})},t.create=function(e){return new t(e)},t}()},117:(t,e,i)=>{"use strict";var o=i(599),r=i(159);e.empty={closed:!0,next:function(t){},error:function(t){if(o.config.useDeprecatedSynchronousErrorHandling)throw t;r.hostReportError(t)},complete:function(){}}},900:function(t,e,i){"use strict";var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i(381),s=i(117),n=i(147),a=i(775),h=i(599),l=i(159),c=function(t){function e(i,o,r){var n=t.call(this)||this;switch(n.syncErrorValue=null,n.syncErrorThrown=!1,n.syncErrorThrowable=!1,n.isStopped=!1,arguments.length){case 0:n.destination=s.empty;break;case 1:if(!i){n.destination=s.empty;break}if("object"==typeof i){i instanceof e?(n.syncErrorThrowable=i.syncErrorThrowable,n.destination=i,i.add(n)):(n.syncErrorThrowable=!0,n.destination=new d(n,i));break}default:n.syncErrorThrowable=!0,n.destination=new d(n,i,o,r)}return n}return o(e,t),e.prototype[a.rxSubscriber]=function(){return this},e.create=function(t,i,o){var r=new e(t,i,o);return r.syncErrorThrowable=!1,r},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},e}(n.Subscription);e.Subscriber=c;var d=function(t){function e(e,i,o,n){var a,h=t.call(this)||this;h._parentSubscriber=e;var l=h;return r.isFunction(i)?a=i:i&&(a=i.next,o=i.error,n=i.complete,i!==s.empty&&(l=Object.create(i),r.isFunction(l.unsubscribe)&&h.add(l.unsubscribe.bind(l)),l.unsubscribe=h.unsubscribe.bind(h))),h._context=l,h._next=a,h._error=o,h._complete=n,h}return o(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;h.config.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,i=h.config.useDeprecatedSynchronousErrorHandling;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):l.hostReportError(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;l.hostReportError(t)}}},e.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var i=function(){return t._complete.call(t._context)};h.config.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,i),this.unsubscribe()):(this.__tryOrUnsub(i),this.unsubscribe())}else this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),h.config.useDeprecatedSynchronousErrorHandling)throw i;l.hostReportError(i)}},e.prototype.__tryOrSetError=function(t,e,i){if(!h.config.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(o){return h.config.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=o,t.syncErrorThrown=!0,!0):(l.hostReportError(o),!0)}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(c);e.SafeSubscriber=d},147:(t,e,i)=>{"use strict";var o=i(546),r=i(593),s=i(381),n=i(132);function a(t){return t.reduce(function(t,e){return t.concat(e instanceof n.UnsubscriptionError?e.errors:e)},[])}e.Subscription=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}var e;return t.prototype.unsubscribe=function(){var e;if(!this.closed){var i=this,h=i._parentOrParents,l=i._ctorUnsubscribe,c=i._unsubscribe,d=i._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,h instanceof t)h.remove(this);else if(null!==h)for(var p=0;p<h.length;++p)h[p].remove(this);if(s.isFunction(c)){l&&(this._unsubscribe=void 0);try{c.call(this)}catch(g){e=g instanceof n.UnsubscriptionError?a(g.errors):[g]}}if(o.isArray(d)){p=-1;for(var u=d.length;++p<u;){var f=d[p];if(r.isObject(f))try{f.unsubscribe()}catch(g){e=e||[],g instanceof n.UnsubscriptionError?e=e.concat(a(g.errors)):e.push(g)}}}if(e)throw new n.UnsubscriptionError(e)}},t.prototype.add=function(e){var i=e;if(!e)return t.EMPTY;switch(typeof e){case"function":i=new t(e);case"object":if(i===this||i.closed||"function"!=typeof i.unsubscribe)return i;if(this.closed)return i.unsubscribe(),i;if(!(i instanceof t)){var o=i;(i=new t)._subscriptions=[o]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}var r=i._parentOrParents;if(null===r)i._parentOrParents=this;else if(r instanceof t){if(r===this)return i;i._parentOrParents=[r,this]}else{if(-1!==r.indexOf(this))return i;r.push(this)}var s=this._subscriptions;return null===s?this._subscriptions=[i]:s.push(i),i},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var i=e.indexOf(t);-1!==i&&e.splice(i,1)}},t.EMPTY=((e=new t).closed=!0,e),t}()},599:(t,e)=>{"use strict";var i=!1;e.config={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){var e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else i&&console.log("RxJS: Back to a better error behavior. Thank you. <3");i=t},get useDeprecatedSynchronousErrorHandling(){return i}}},640:(t,e,i)=>{"use strict";var o=i(594);e.EMPTY=new o.Observable(function(t){return t.complete()}),e.empty=function(t){return t?function(t){return new o.Observable(function(e){return t.schedule(function(){return e.complete()})})}(t):e.EMPTY}},655:function(t,e,i){"use strict";var o=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function o(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),r=i(900),s=i(264),n=i(640);e.take=function(t){return function(e){return 0===t?n.empty():e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.total))},t}(),h=function(t){function e(e,i){var o=t.call(this,e)||this;return o.total=i,o.count=0,o}return o(e,t),e.prototype._next=function(t){var e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},760:(t,e)=>{"use strict";e.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}()},775:(t,e)=>{"use strict";e.rxSubscriber=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),e.$$rxSubscriber=e.rxSubscriber},264:(t,e)=>{"use strict";e.ArgumentOutOfRangeError=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}()},132:(t,e)=>{"use strict";e.UnsubscriptionError=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n  "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}()},177:(t,e,i)=>{"use strict";var o=i(900);e.canReportError=function(t){for(;t;){var e=t.destination;if(t.closed||t.isStopped)return!1;t=e&&e instanceof o.Subscriber?e:null}return!0}},159:(t,e)=>{"use strict";e.hostReportError=function(t){setTimeout(function(){throw t},0)}},446:(t,e)=>{"use strict";e.identity=function(t){return t}},546:(t,e)=>{"use strict";e.isArray=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}()},381:(t,e)=>{"use strict";e.isFunction=function(t){return"function"==typeof t}},593:(t,e)=>{"use strict";e.isObject=function(t){return null!==t&&"object"==typeof t}},395:(t,e,i)=>{"use strict";var o=i(446);function r(t){return 0===t.length?o.identity:1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}}e.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r(t)},e.pipeFromArray=r},847:(t,e,i)=>{"use strict";var o=i(900),r=i(775),s=i(117);e.toSubscriber=function(t,e,i){if(t){if(t instanceof o.Subscriber)return t;if(t[r.rxSubscriber])return t[r.rxSubscriber]()}return t||e||i?new o.Subscriber(t,e,i):new o.Subscriber(s.empty)}},429:(t,e,i)=>{"use strict";function o(t){return"function"==typeof t}let r=!1;const s={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else r&&console.log("RxJS: Back to a better error behavior. Thank you. <3");r=t},get useDeprecatedSynchronousErrorHandling(){return r}};function n(t){setTimeout(()=>{throw t},0)}const a={closed:!0,next(t){},error(t){if(s.useDeprecatedSynchronousErrorHandling)throw t;n(t)},complete(){}},h=(()=>Array.isArray||(t=>t&&"number"==typeof t.length))();function l(t){return null!==t&&"object"==typeof t}const c=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();let d=(()=>{class t{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:i,_ctorUnsubscribe:r,_unsubscribe:s,_subscriptions:n}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,i instanceof t)i.remove(this);else if(null!==i)for(let t=0;t<i.length;++t)i[t].remove(this);if(o(s)){r&&(this._unsubscribe=void 0);try{s.call(this)}catch(a){e=a instanceof c?p(a.errors):[a]}}if(h(n)){let t=-1,i=n.length;for(;++t<i;){const i=n[t];if(l(i))try{i.unsubscribe()}catch(a){e=e||[],a instanceof c?e=e.concat(p(a.errors)):e.push(a)}}}if(e)throw new c(e)}add(e){let i=e;if(!e)return t.EMPTY;switch(typeof e){case"function":i=new t(e);case"object":if(i===this||i.closed||"function"!=typeof i.unsubscribe)return i;if(this.closed)return i.unsubscribe(),i;if(!(i instanceof t)){const e=i;i=new t,i._subscriptions=[e]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:o}=i;if(null===o)i._parentOrParents=this;else if(o instanceof t){if(o===this)return i;i._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return i;o.push(this)}const r=this._subscriptions;return null===r?this._subscriptions=[i]:r.push(i),i}remove(t){const e=this._subscriptions;if(e){const i=e.indexOf(t);-1!==i&&e.splice(i,1)}}}return t.EMPTY=function(t){return t.closed=!0,t}(new t),t})();function p(t){return t.reduce((t,e)=>t.concat(e instanceof c?e.errors:e),[])}const u=(()=>"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random())();class f extends d{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){t instanceof f?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new g(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new g(this,t,e,i)}}[u](){return this}static create(t,e,i){const o=new f(t,e,i);return o.syncErrorThrowable=!1,o}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class g extends f{constructor(t,e,i,r){let s;super(),this._parentSubscriber=t;let n=this;o(e)?s=e:e&&(s=e.next,i=e.error,r=e.complete,e!==a&&(n=Object.create(e),o(n.unsubscribe)&&this.add(n.unsubscribe.bind(n)),n.unsubscribe=this.unsubscribe.bind(this))),this._context=n,this._next=s,this._error=i,this._complete=r}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;s.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=s;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):n(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;n(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);s.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),s.useDeprecatedSynchronousErrorHandling)throw i;n(i)}}__tryOrSetError(t,e,i){if(!s.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(o){return s.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=o,t.syncErrorThrown=!0,!0):(n(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const m=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")();function y(t){return t}let v=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(t,e,i){const{operator:o}=this,r=function(t,e,i){if(t){if(t instanceof f)return t;if(t[u])return t[u]()}return t||e||i?new f(t,e,i):new f(a)}(t,e,i);if(r.add(o?o.call(r,this.source):this.source||s.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),s.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){s.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:i,isStopped:o}=t;if(e||o)return!1;t=i&&i instanceof f?i:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=x(e))((e,i)=>{let o;o=this.subscribe(e=>{try{t(e)}catch(r){i(r),o&&o.unsubscribe()}},i,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[m](){return this}pipe(...t){return 0===t.length?this:(0===(e=t).length?y:1===e.length?e[0]:function(t){return e.reduce((t,e)=>e(t),t)})(this);var e}toPromise(t){return new(t=x(t))((t,e)=>{let i;this.subscribe(t=>i=t,t=>e(t),()=>t(i))})}}return t.create=e=>new t(e),t})();function x(t){if(t||(t=s.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const b=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class w extends d{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class C extends f{constructor(t){super(t),this.destination=t}}let S=(()=>{class t extends v{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[u](){return new C(this)}lift(t){const e=new k(this,this);return e.operator=t,e}next(t){if(this.closed)throw new b;if(!this.isStopped){const{observers:e}=this,i=e.length,o=e.slice();for(let r=0;r<i;r++)o[r].next(t)}}error(t){if(this.closed)throw new b;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,i=e.length,o=e.slice();for(let r=0;r<i;r++)o[r].error(t);this.observers.length=0}complete(){if(this.closed)throw new b;this.isStopped=!0;const{observers:t}=this,e=t.length,i=t.slice();for(let o=0;o<e;o++)i[o].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new b;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new b;return this.hasError?(t.error(this.thrownError),d.EMPTY):this.isStopped?(t.complete(),d.EMPTY):(this.observers.push(t),new w(this,t))}asObservable(){const t=new v;return t.source=this,t}}return t.create=(t,e)=>new k(t,e),t})();class k extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):d.EMPTY}}function M(t){return t&&"function"==typeof t.schedule}function A(t,e){return function(i){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new T(t,e))}}class T{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new P(t,this.project,this.thisArg))}}class P extends f{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const O=t=>e=>{for(let i=0,o=t.length;i<o&&!e.closed;i++)e.next(t[i]);e.complete()};function E(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}const L=E(),D=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function j(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const I=t=>{if(t&&"function"==typeof t[m])return i=t,t=>{const e=i[m]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(D(t))return O(t);if(j(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,n),e))(t);if(t&&"function"==typeof t[L])return e=t,t=>{const i=e[L]();for(;;){let e;try{e=i.next()}catch(o){return t.error(o),t}if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof i.return&&t.add(()=>{i.return&&i.return()}),t};{const e=l(t)?"an invalid object":`'${t}'`;throw new TypeError(`You provided ${e} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`)}var e,i};function _(t,e){return new v(i=>{const o=new d;let r=0;return o.add(e.schedule(function(){r!==t.length?(i.next(t[r++]),i.closed||o.add(this.schedule())):i.complete()})),o})}function B(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[m]}(t))return function(t,e){return new v(i=>{const o=new d;return o.add(e.schedule(()=>{const r=t[m]();o.add(r.subscribe({next(t){o.add(e.schedule(()=>i.next(t)))},error(t){o.add(e.schedule(()=>i.error(t)))},complete(){o.add(e.schedule(()=>i.complete()))}}))})),o})}(t,e);if(j(t))return function(t,e){return new v(i=>{const o=new d;return o.add(e.schedule(()=>t.then(t=>{o.add(e.schedule(()=>{i.next(t),o.add(e.schedule(()=>i.complete()))}))},t=>{o.add(e.schedule(()=>i.error(t)))}))),o})}(t,e);if(D(t))return _(t,e);if(function(t){return t&&"function"==typeof t[L]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new v(i=>{const o=new d;let r;return o.add(()=>{r&&"function"==typeof r.return&&r.return()}),o.add(e.schedule(()=>{r=t[L](),o.add(e.schedule(function(){if(i.closed)return;let t,e;try{const i=r.next();t=i.value,e=i.done}catch(o){return void i.error(o)}e?i.complete():(i.next(t),this.schedule())}))})),o})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof v?t:new v(I(t))}class R extends f{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class z extends f{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function N(t,e){if(e.closed)return;if(t instanceof v)return t.subscribe(e);let i;try{i=I(t)(e)}catch(o){e.error(o)}return i}function G(t,e,i=Number.POSITIVE_INFINITY){return"function"==typeof e?o=>o.pipe(G((i,o)=>B(t(i,o)).pipe(A((t,r)=>e(i,t,o,r))),i)):("number"==typeof e&&(i=e),e=>e.lift(new W(t,i)))}class W{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new H(t,this.project,this.concurrent))}}class H extends z{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(o){return void this.destination.error(o)}this.active++,this._innerSub(e)}_innerSub(t){const e=new R(this),i=this.destination;i.add(e);const o=N(t,e);o!==e&&i.add(o)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyComplete(){const t=this.buffer;this.active--,t.length>0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function X(t=Number.POSITIVE_INFINITY){return G(y,t)}function F(t,e){return e?_(t,e):new v(O(t))}function U(){return function(t){return t.lift(new Y(t))}}class Y{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const o=new V(t,i),r=e.subscribe(o);return o.closed||(o.connection=i.connect()),r}}class V extends f{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,o=t._connection;this.connection=null,!o||i&&o!==i||o.unsubscribe()}}class Z extends v{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new d,t.add(this.source.subscribe(new K(this.getSubject(),this))),t.closed&&(this._connection=null,t=d.EMPTY)),t}refCount(){return U()(this)}}const q=(()=>{const t=Z.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class K extends C{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function $(){return new S}function J(t){for(let e in t)if(t[e]===J)return e;throw Error("Could not find renamed property on target object.")}function Q(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Q).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const i=e.indexOf("\n");return-1===i?e:e.substring(0,i)}function tt(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const et=J({__forward_ref__:J});function it(t){return t.__forward_ref__=it,t.toString=function(){return Q(this())},t}function ot(t){return"function"==typeof(e=t)&&e.hasOwnProperty(et)&&e.__forward_ref__===it?t():t;var e}class rt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function st(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():function(t){return"string"==typeof t?t:null==t?"":String(t)}(t)}function nt(t,e){const i=e?` in ${e}`:"";throw new rt("201",`No provider for ${st(t)} found${i}`)}function at(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function ht(t){return{providers:t.providers||[],imports:t.imports||[]}}function lt(t){return ct(t,pt)||ct(t,ft)}function ct(t,e){return t.hasOwnProperty(e)?t[e]:null}function dt(t){return t&&(t.hasOwnProperty(ut)||t.hasOwnProperty(gt))?t[ut]:null}const pt=J({"\u0275prov":J}),ut=J({"\u0275inj":J}),ft=J({ngInjectableDef:J}),gt=J({ngInjectorDef:J});var mt=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});let yt;function vt(t){const e=yt;return yt=t,e}function xt(t,e,i){const o=lt(t);return o&&"root"==o.providedIn?void 0===o.value?o.value=o.factory():o.value:i&mt.Optional?null:void 0!==e?e:void nt(Q(t),"Injector")}function bt(t){return{toString:t}.toString()}var wt=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),Ct=function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({});const St="undefined"!=typeof globalThis&&globalThis,kt="undefined"!=typeof window&&window,Mt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,At="undefined"!=typeof global&&global,Tt=St||At||kt||Mt,Pt={},Ot=[],Et=J({"\u0275cmp":J}),Lt=J({"\u0275dir":J}),Dt=J({"\u0275pipe":J}),jt=J({"\u0275mod":J}),It=J({"\u0275loc":J}),_t=J({"\u0275fac":J}),Bt=J({__NG_ELEMENT_ID__:J});let Rt=0;function zt(t){return bt(()=>{const e={},i={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===wt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||Ot,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Ct.Emulated,id:"c",styles:t.styles||Ot,_:null,setInput:null,schemas:t.schemas||null,tView:null},o=t.directives,r=t.features,s=t.pipes;return i.id+=Rt++,i.inputs=Xt(t.inputs,e),i.outputs=Xt(t.outputs),r&&r.forEach(t=>t(i)),i.directiveDefs=o?()=>("function"==typeof o?o():o).map(Nt):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(Gt):null,i})}function Nt(t){return Ut(t)||function(t){return t[Lt]||null}(t)}function Gt(t){return function(t){return t[Dt]||null}(t)}const Wt={};function Ht(t){const e={type:t.type,bootstrap:t.bootstrap||Ot,declarations:t.declarations||Ot,imports:t.imports||Ot,exports:t.exports||Ot,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&bt(()=>{Wt[t.id]=t.type}),e}function Xt(t,e){if(null==t)return Pt;const i={};for(const o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=o,e&&(e[r]=s)}return i}const Ft=zt;function Ut(t){return t[Et]||null}function Yt(t,e){const i=t[jt]||null;if(!i&&!0===e)throw new Error(`Type ${Q(t)} does not have '\u0275mod' property.`);return i}const Vt=10;function Zt(t){return Array.isArray(t)&&"object"==typeof t[1]}function qt(t){return Array.isArray(t)&&!0===t[1]}function Kt(t){return 0!=(8&t.flags)}function $t(t){return 2==(2&t.flags)}function Jt(t){return null!==t.template}function Qt(t,e){return t.hasOwnProperty(_t)?t[_t]:null}class te{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function ee(){return ie}function ie(t){return t.type.prototype.ngOnChanges&&(t.setInput=re),oe}function oe(){const t=se(this),e=null==t?void 0:t.current;if(e){const i=t.previous;if(i===Pt)t.previous=e;else for(let t in e)i[t]=e[t];t.current=null,this.ngOnChanges(e)}}function re(t,e,i,o){const r=se(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:Pt,current:null}),s=r.current||(r.current={}),n=r.previous,a=this.declaredInputs[i],h=n[a];s[a]=new te(h&&h.currentValue,e,n===Pt),t[o]=e}function se(t){return t.__ngSimpleChanges__||null}let ne;function ae(t){return!!t.listen}ee.ngInherit=!0;const he={createRenderer:(t,e)=>void 0!==ne?ne:"undefined"!=typeof document?document:void 0};function le(t){for(;Array.isArray(t);)t=t[0];return t}function ce(t,e){return le(e[t.index])}function de(t,e){return t.data[e]}function pe(t,e){const i=e[t];return Zt(i)?i:i[0]}function ue(t){return 128==(128&t[2])}function fe(t,e){return null==e?null:t[e]}function ge(t){t[18]=0}function me(t,e){t[5]+=e;let i=t,o=t[3];for(;null!==o&&(1===e&&1===i[5]||-1===e&&0===i[5]);)o[5]+=e,i=o,o=o[3]}const ye={lFrame:Ie(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ve(){return ye.bindingsEnabled}function xe(){return ye.lFrame.lView}function be(){return ye.lFrame.tView}function we(){let t=Ce();for(;null!==t&&64===t.type;)t=t.parent;return t}function Ce(){return ye.lFrame.currentTNode}function Se(t,e){const i=ye.lFrame;i.currentTNode=t,i.isParent=e}function ke(){return ye.lFrame.isParent}function Me(){return ye.isInCheckNoChangesMode}function Ae(t){ye.isInCheckNoChangesMode=t}function Te(t,e){const i=ye.lFrame;i.bindingIndex=i.bindingRootIndex=t,Pe(e)}function Pe(t){ye.lFrame.currentDirectiveIndex=t}function Oe(t){ye.lFrame.currentQueryIndex=t}function Ee(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function Le(t,e,i){if(i&mt.SkipSelf){let o=e,r=t;for(;o=o.parent,!(null!==o||i&mt.Host||(o=Ee(r),null===o)||(r=r[15],10&o.type)););if(null===o)return!1;e=o,t=r}const o=ye.lFrame=je();return o.currentTNode=e,o.lView=t,!0}function De(t){const e=je(),i=t[1];ye.lFrame=e,e.currentTNode=i.firstChild,e.lView=t,e.tView=i,e.contextLView=t,e.bindingIndex=i.bindingStartIndex,e.inI18n=!1}function je(){const t=ye.lFrame,e=null===t?null:t.child;return null===e?Ie(t):e}function Ie(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function _e(){const t=ye.lFrame;return ye.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Be=_e;function Re(){const t=_e();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function ze(t){ye.lFrame.selectedIndex=t}function Ne(t,e){for(let i=e.directiveStart,o=e.directiveEnd;i<o;i++){const e=t.data[i].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:r,ngAfterViewInit:s,ngAfterViewChecked:n,ngOnDestroy:a}=e;o&&(t.contentHooks||(t.contentHooks=[])).push(-i,o),r&&((t.contentHooks||(t.contentHooks=[])).push(i,r),(t.contentCheckHooks||(t.contentCheckHooks=[])).push(i,r)),s&&(t.viewHooks||(t.viewHooks=[])).push(-i,s),n&&((t.viewHooks||(t.viewHooks=[])).push(i,n),(t.viewCheckHooks||(t.viewCheckHooks=[])).push(i,n)),null!=a&&(t.destroyHooks||(t.destroyHooks=[])).push(i,a)}}function Ge(t,e,i){Xe(t,e,3,i)}function We(t,e,i,o){(3&t[2])===i&&Xe(t,e,i,o)}function He(t,e){let i=t[2];(3&i)===e&&(i&=2047,i+=1,t[2]=i)}function Xe(t,e,i,o){const r=null!=o?o:-1,s=e.length-1;let n=0;for(let a=void 0!==o?65535&t[18]:0;a<s;a++)if("number"==typeof e[a+1]){if(n=e[a],null!=o&&n>=o)break}else e[a]<0&&(t[18]+=65536),(n<r||-1==r)&&(Fe(t,i,e,a),t[18]=(4294901760&t[18])+a+2),a++}function Fe(t,e,i,o){const r=i[o]<0,s=i[o+1],n=t[r?-i[o]:i[o]];if(r){if(t[2]>>11<t[18]>>16&&(3&t[2])===e){t[2]+=2048;try{s.call(n)}finally{}}}else try{s.call(n)}finally{}}const Ue=-1;class Ye{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function Ve(t,e,i){const o=ae(t);let r=0;for(;r<i.length;){const s=i[r];if("number"==typeof s){if(0!==s)break;r++;const n=i[r++],a=i[r++],h=i[r++];o?t.setAttribute(e,a,h,n):e.setAttributeNS(n,a,h)}else{const n=s,a=i[++r];qe(n)?o&&t.setProperty(e,n,a):o?t.setAttribute(e,n,a):e.setAttribute(n,a),r++}}return r}function Ze(t){return 3===t||4===t||6===t}function qe(t){return 64===t.charCodeAt(0)}function Ke(t,e){if(null===e||0===e.length);else if(null===t||0===t.length)t=e.slice();else{let i=-1;for(let o=0;o<e.length;o++){const r=e[o];"number"==typeof r?i=r:0===i||$e(t,i,r,null,-1===i||2===i?e[++o]:null)}}return t}function $e(t,e,i,o,r){let s=0,n=t.length;if(-1===e)n=-1;else for(;s<t.length;){const i=t[s++];if("number"==typeof i){if(i===e){n=-1;break}if(i>e){n=s-1;break}}}for(;s<t.length;){const e=t[s];if("number"==typeof e)break;if(e===i){if(null===o)return void(null!==r&&(t[s+1]=r));if(o===t[s+1])return void(t[s+2]=r)}s++,null!==o&&s++,null!==r&&s++}-1!==n&&(t.splice(n,0,e),s=n+1),t.splice(s++,0,i),null!==o&&t.splice(s++,0,o),null!==r&&t.splice(s++,0,r)}function Je(t){return t!==Ue}function Qe(t){return 32767&t}function ti(t,e){let i=t>>16,o=e;for(;i>0;)o=o[15],i--;return o}let ei=!0;function ii(t){const e=ei;return ei=t,e}let oi=0;function ri(t,e){const i=ni(t,e);if(-1!==i)return i;const o=e[1];o.firstCreatePass&&(t.injectorIndex=e.length,si(o.data,t),si(e,null),si(o.blueprint,null));const r=ai(t,e),s=t.injectorIndex;if(Je(r)){const t=Qe(r),i=ti(r,e),o=i[1].data;for(let r=0;r<8;r++)e[s+r]=i[t+r]|o[t+r]}return e[s+8]=r,s}function si(t,e){t.push(0,0,0,0,0,0,0,0,e)}function ni(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function ai(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let i=0,o=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(o=2===e?t.declTNode:1===e?r[6]:null,null===o)return Ue;if(i++,r=r[15],-1!==o.injectorIndex)return o.injectorIndex|i<<16}return Ue}function hi(t,e,i){!function(t,e,i){let o;"string"==typeof i?o=i.charCodeAt(0)||0:i.hasOwnProperty(Bt)&&(o=i[Bt]),null==o&&(o=i[Bt]=oi++);const r=255&o;e.data[t+(r>>5)]|=1<<r}(t,e,i)}function li(t,e,i){if(i&mt.Optional)return t;nt(e,"NodeInjector")}function ci(t,e,i,o){if(i&mt.Optional&&void 0===o&&(o=null),0==(i&(mt.Self|mt.Host))){const r=t[9],s=vt(void 0);try{return r?r.get(e,o,i&mt.Optional):xt(e,o,i&mt.Optional)}finally{vt(s)}}return li(o,e,i)}function di(t,e,i,o=mt.Default,r){if(null!==t){const s=function(t){if("string"==typeof t)return t.charCodeAt(0)||0;const e=t.hasOwnProperty(Bt)?t[Bt]:void 0;return"number"==typeof e?e>=0?255&e:ui:e}(i);if("function"==typeof s){if(!Le(e,t,o))return o&mt.Host?li(r,i,o):ci(e,i,o,r);try{const t=s(o);if(null!=t||o&mt.Optional)return t;nt(i)}finally{Be()}}else if("number"==typeof s){let r=null,n=ni(t,e),a=Ue,h=o&mt.Host?e[16][6]:null;for((-1===n||o&mt.SkipSelf)&&(a=-1===n?ai(t,e):e[n+8],a!==Ue&&yi(o,!1)?(r=e[1],n=Qe(a),e=ti(a,e)):n=-1);-1!==n;){const t=e[1];if(mi(s,n,t.data)){const t=fi(n,e,i,r,o,h);if(t!==pi)return t}a=e[n+8],a!==Ue&&yi(o,e[1].data[n+8]===h)&&mi(s,n,e)?(r=t,n=Qe(a),e=ti(a,e)):n=-1}}}return ci(e,i,o,r)}const pi={};function ui(){return new vi(we(),xe())}function fi(t,e,i,o,r,s){const n=e[1],a=n.data[t+8],h=function(t,e,i,o,r){const s=t.providerIndexes,n=e.data,a=1048575&s,h=t.directiveStart,l=s>>20,c=r?a+l:t.directiveEnd;for(let d=o?a:a+l;d<c;d++){const t=n[d];if(d<h&&i===t||d>=h&&t.type===i)return d}if(r){const t=n[h];if(t&&Jt(t)&&t.type===i)return h}return null}(a,n,i,null==o?$t(a)&&ei:o!=n&&0!=(3&a.type),r&mt.Host&&s===a);return null!==h?gi(e,n,h,a):pi}function gi(t,e,i,o){let r=t[i];const s=e.data;if(r instanceof Ye){const n=r;n.resolving&&function(t,e){throw new rt("200",`Circular dependency in DI detected for ${t}`)}(st(s[i]));const a=ii(n.canSeeViewProviders);n.resolving=!0;const h=n.injectImpl?vt(n.injectImpl):null;Le(t,o,mt.Default);try{r=t[i]=n.factory(void 0,s,t,o),e.firstCreatePass&&i>=o.directiveStart&&function(t,e,i){const{ngOnChanges:o,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(o){const o=ie(e);(i.preOrderHooks||(i.preOrderHooks=[])).push(t,o),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,o)}r&&(i.preOrderHooks||(i.preOrderHooks=[])).push(0-t,r),s&&((i.preOrderHooks||(i.preOrderHooks=[])).push(t,s),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,s))}(i,s[i],e)}finally{null!==h&&vt(h),ii(a),n.resolving=!1,Be()}}return r}function mi(t,e,i){return!!(i[e+(t>>5)]&1<<t)}function yi(t,e){return!(t&mt.Self||t&mt.Host&&e)}class vi{constructor(t,e){this._tNode=t,this._lView=e}get(t,e){return di(this._tNode,this._lView,t,void 0,e)}}const xi="__parameters__";function bi(t,e,i){return bt(()=>{const o=function(t){return function(...e){if(t){const i=t(...e);for(const t in i)this[t]=i[t]}}}(e);function r(...t){if(this instanceof r)return o.apply(this,t),this;const e=new r(...t);return i.annotation=e,i;function i(t,i,o){const r=t.hasOwnProperty(xi)?t[xi]:Object.defineProperty(t,xi,{value:[]})[xi];for(;r.length<=o;)r.push(null);return(r[o]=r[o]||[]).push(e),t}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class wi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=at({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Ci=new wi("AnalyzeForEntryComponents"),Si=Function;function ki(t,e){t.forEach(t=>Array.isArray(t)?ki(t,e):e(t))}function Mi(t,e,i){e>=t.length?t.push(i):t.splice(e,0,i)}function Ai(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}const Ti={},Pi=/\n/gm,Oi="__source",Ei=J({provide:String,useValue:J});let Li;function Di(t){const e=Li;return Li=t,e}function ji(t,e=mt.Default){if(void 0===Li)throw new Error("inject() must be called from an injection context");return null===Li?xt(t,void 0,e):Li.get(t,e&mt.Optional?null:void 0,e)}function Ii(t,e=mt.Default){return(yt||ji)(ot(t),e)}function _i(t){const e=[];for(let i=0;i<t.length;i++){const o=ot(t[i]);if(Array.isArray(o)){if(0===o.length)throw new Error("Arguments array must have arguments.");let t,i=mt.Default;for(let e=0;e<o.length;e++){const r=o[e],s=r.__NG_DI_FLAG__;"number"==typeof s?-1===s?t=r.token:i|=s:t=r}e.push(Ii(t,i))}else e.push(Ii(o))}return e}function Bi(t,e){return t.__NG_DI_FLAG__=e,t.prototype.__NG_DI_FLAG__=e,t}const Ri=Bi(bi("Inject",t=>({token:t})),-1),zi=Bi(bi("Optional"),8),Ni=Bi(bi("SkipSelf"),4);function Gi(t,e){t.__ngContext__=e}function Wi(t){const e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Hi(t){return t.ngDebugContext}function Xi(t){return t.ngOriginalError}function Fi(t,...e){t.error(...e)}class Ui{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),i=this._findContext(t),o=function(t){return t.ngErrorLogger||Fi}(t);o(this._console,"ERROR",t),e&&o(this._console,"ORIGINAL ERROR",e),i&&o(this._console,"ERROR CONTEXT",i)}_findContext(t){return t?Hi(t)?Hi(t):this._findContext(Xi(t)):null}_findOriginalError(t){let e=Xi(t);for(;e&&Xi(e);)e=Xi(e);return e}}const Yi=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Tt))();function Vi(t){return t instanceof Function?t():t}var Zi=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}({});function qi(t,e){return(void 0)(t,e)}function Ki(t){const e=t[3];return qt(e)?e[3]:e}function $i(t){return Qi(t[13])}function Ji(t){return Qi(t[4])}function Qi(t){for(;null!==t&&!qt(t);)t=t[4];return t}function to(t,e,i,o,r){if(null!=o){let s,n=!1;qt(o)?s=o:Zt(o)&&(n=!0,o=o[0]);const a=le(o);0===t&&null!==i?null==r?ao(e,i,a):no(e,i,a,r||null,!0):1===t&&null!==i?no(e,i,a,r||null,!0):2===t?function(t,e,i){const o=lo(t,e);o&&function(t,e,i,o){ae(t)?t.removeChild(e,i,o):e.removeChild(i)}(t,o,e,i)}(e,a,n):3===t&&e.destroyNode(a),null!=s&&function(t,e,i,o,r){const s=i[7];s!==le(i)&&to(e,t,o,s,r);for(let n=Vt;n<i.length;n++){const r=i[n];mo(r[1],r,t,e,o,s)}}(e,t,s,i,r)}}function eo(t,e,i){return ae(t)?t.createElement(e,i):null===i?t.createElement(e):t.createElementNS(i,e)}function io(t,e){const i=t[9],o=i.indexOf(e),r=e[3];1024&e[2]&&(e[2]&=-1025,me(r,-1)),i.splice(o,1)}function oo(t,e){if(t.length<=Vt)return;const i=Vt+e,o=t[i];if(o){const s=o[17];null!==s&&s!==t&&io(s,o),e>0&&(t[i-1][4]=o[4]);const n=Ai(t,Vt+e);mo(o[1],r=o,r[11],2,null,null),r[0]=null,r[6]=null;const a=n[19];null!==a&&a.detachView(n[1]),o[3]=null,o[4]=null,o[2]&=-129}var r;return o}function ro(t,e){if(!(256&e[2])){const i=e[11];ae(i)&&i.destroyNode&&mo(t,e,i,3,null,null),function(t){let e=t[13];if(!e)return so(t[1],t);for(;e;){let i=null;if(Zt(e))i=e[13];else{const t=e[10];t&&(i=t)}if(!i){for(;e&&!e[4]&&e!==t;)Zt(e)&&so(e[1],e),e=e[3];null===e&&(e=t),Zt(e)&&so(e[1],e),i=e&&e[4]}e=i}}(e)}}function so(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let i;if(null!=t&&null!=(i=t.destroyHooks))for(let o=0;o<i.length;o+=2){const t=e[i[o]];if(!(t instanceof Ye)){const e=i[o+1];if(Array.isArray(e))for(let i=0;i<e.length;i+=2){const o=t[e[i]],r=e[i+1];try{r.call(o)}finally{}}else try{e.call(t)}finally{}}}}(t,e),function(t,e){const i=t.cleanup,o=e[7];let r=-1;if(null!==i)for(let s=0;s<i.length-1;s+=2)if("string"==typeof i[s]){const t=i[s+1],n="function"==typeof t?t(e):le(e[t]),a=o[r=i[s+2]],h=i[s+3];"boolean"==typeof h?n.removeEventListener(i[s],a,h):h>=0?o[r=h]():o[r=-h].unsubscribe(),s+=2}else{const t=o[r=i[s+1]];i[s].call(t)}if(null!==o){for(let t=r+1;t<o.length;t++)(0,o[t])();e[7]=null}}(t,e),1===e[1].type&&ae(e[11])&&e[11].destroy();const i=e[17];if(null!==i&&qt(e[3])){i!==e[3]&&io(i,e);const o=e[19];null!==o&&o.detachView(t)}}}function no(t,e,i,o,r){ae(t)?t.insertBefore(e,i,o,r):e.insertBefore(i,o,r)}function ao(t,e,i){ae(t)?t.appendChild(e,i):e.appendChild(i)}function ho(t,e,i,o,r){null!==o?no(t,e,i,o,r):ao(t,e,i)}function lo(t,e){return ae(t)?t.parentNode(e):e.parentNode}function co(t,e,i,o){const r=function(t,e,i){return function(t,e,i){let o=e;for(;null!==o&&40&o.type;)o=(e=o).parent;if(null===o)return i[0];if(2&o.flags){const e=t.data[o.directiveStart].encapsulation;if(e===Ct.None||e===Ct.Emulated)return null}return ce(o,i)}(t,e.parent,i)}(t,o,e),s=e[11],n=function(t,e,i){return function(t,e,i){return 40&t.type?ce(t,i):null}(t,0,i)}(o.parent||e[6],0,e);if(null!=r)if(Array.isArray(i))for(let a=0;a<i.length;a++)ho(s,r,i[a],n,!1);else ho(s,r,i,n,!1)}function po(t,e){if(null!==e){const i=e.type;if(3&i)return ce(e,t);if(4&i)return fo(-1,t[e.index]);if(8&i){const i=e.child;if(null!==i)return po(t,i);{const i=t[e.index];return qt(i)?fo(-1,i):le(i)}}if(32&i)return qi(e,t)()||le(t[e.index]);{const i=uo(t,e);return null!==i?Array.isArray(i)?i[0]:po(Ki(t[16]),i):po(t,e.next)}}return null}function uo(t,e){return null!==e?t[16][6].projection[e.projection]:null}function fo(t,e){const i=Vt+t+1;if(i<e.length){const t=e[i],o=t[1].firstChild;if(null!==o)return po(t,o)}return e[7]}function go(t,e,i,o,r,s,n){for(;null!=i;){const a=o[i.index],h=i.type;if(n&&0===e&&(a&&Gi(le(a),o),i.flags|=4),64!=(64&i.flags))if(8&h)go(t,e,i.child,o,r,s,!1),to(e,t,r,a,s);else if(32&h){const n=qi(i,o);let h;for(;h=n();)to(e,t,r,h,s);to(e,t,r,a,s)}else 16&h?yo(t,e,o,i,r,s):to(e,t,r,a,s);i=n?i.projectionNext:i.next}}function mo(t,e,i,o,r,s){go(i,o,t.firstChild,e,r,s,!1)}function yo(t,e,i,o,r,s){const n=i[16],a=n[6].projection[o.projection];if(Array.isArray(a))for(let h=0;h<a.length;h++)to(e,t,r,a[h],s);else go(t,e,a,n[3],r,s,!0)}function vo(t,e,i){ae(t)?t.setAttribute(e,"style",i):e.style.cssText=i}function xo(t,e,i){ae(t)?""===i?t.removeAttribute(e,"class"):t.setAttribute(e,"class",i):e.className=i}function bo(t,e,i){let o=t.length;for(;;){const r=t.indexOf(e,i);if(-1===r)return r;if(0===r||t.charCodeAt(r-1)<=32){const i=e.length;if(r+i===o||t.charCodeAt(r+i)<=32)return r}i=r+1}}const wo="ng-template";function Co(t,e,i){let o=0;for(;o<t.length;){let r=t[o++];if(i&&"class"===r){if(r=t[o],-1!==bo(r.toLowerCase(),e,0))return!0}else if(1===r){for(;o<t.length&&"string"==typeof(r=t[o++]);)if(r.toLowerCase()===e)return!0;return!1}}return!1}function So(t){return 4===t.type&&t.value!==wo}function ko(t,e,i){return e===(4!==t.type||i?t.value:wo)}function Mo(t,e,i){let o=4;const r=t.attrs||[],s=function(t){for(let e=0;e<t.length;e++)if(Ze(t[e]))return e;return t.length}(r);let n=!1;for(let a=0;a<e.length;a++){const h=e[a];if("number"!=typeof h){if(!n)if(4&o){if(o=2|1&o,""!==h&&!ko(t,h,i)||""===h&&1===e.length){if(Ao(o))return!1;n=!0}}else{const l=8&o?h:e[++a];if(8&o&&null!==t.attrs){if(!Co(t.attrs,l,i)){if(Ao(o))return!1;n=!0}continue}const c=To(8&o?"class":h,r,So(t),i);if(-1===c){if(Ao(o))return!1;n=!0;continue}if(""!==l){let t;t=c>s?"":r[c+1].toLowerCase();const e=8&o?t:null;if(e&&-1!==bo(e,l,0)||2&o&&l!==t){if(Ao(o))return!1;n=!0}}}}else{if(!n&&!Ao(o)&&!Ao(h))return!1;if(n&&Ao(h))continue;n=!1,o=h|1&o}}return Ao(o)||n}function Ao(t){return 0==(1&t)}function To(t,e,i,o){if(null===e)return-1;let r=0;if(o||!i){let i=!1;for(;r<e.length;){const o=e[r];if(o===t)return r;if(3===o||6===o)i=!0;else{if(1===o||2===o){let t=e[++r];for(;"string"==typeof t;)t=e[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=i?1:2}return-1}return function(t,e){let i=t.indexOf(4);if(i>-1)for(i++;i<t.length;){const o=t[i];if("number"==typeof o)return-1;if(o===e)return i;i++}return-1}(e,t)}function Po(t,e,i=!1){for(let o=0;o<e.length;o++)if(Mo(t,e[o],i))return!0;return!1}function Oo(t,e){return t?":not("+e.trim()+")":e}function Eo(t){let e=t[0],i=1,o=2,r="",s=!1;for(;i<t.length;){let n=t[i];if("string"==typeof n)if(2&o){const e=t[++i];r+="["+n+(e.length>0?'="'+e+'"':"")+"]"}else 8&o?r+="."+n:4&o&&(r+=" "+n);else""===r||Ao(n)||(e+=Oo(s,r),r=""),o=n,s=s||!Ao(o);i++}return""!==r&&(e+=Oo(s,r)),e}const Lo={};function Do(t,e){const i=t.contentQueries;if(null!==i)for(let o=0;o<i.length;o+=2){const r=i[o],s=i[o+1];if(-1!==s){const i=t.data[s];Oe(r),i.contentQueries(2,e[s],s)}}}function jo(t,e,i,o,r,s,n,a,h,l){const c=e.blueprint.slice();return c[0]=r,c[2]=140|o,ge(c),c[3]=c[15]=t,c[8]=i,c[10]=n||t&&t[10],c[11]=a||t&&t[11],c[12]=h||t&&t[12]||null,c[9]=l||t&&t[9]||null,c[6]=s,c[16]=2==e.type?t[16]:c,c}function Io(t,e,i,o,r){let s=t.data[e];if(null===s)s=function(t,e,i,o,r){const s=Ce(),n=ke(),a=t.data[e]=function(t,e,i,o,r,s){return{type:i,index:o,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,n?s:s&&s.parent,i,e,o,r);return null===t.firstChild&&(t.firstChild=a),null!==s&&(n?null==s.child&&null!==a.parent&&(s.child=a):null===s.next&&(s.next=a)),a}(t,e,i,o,r),ye.lFrame.inI18n&&(s.flags|=64);else if(64&s.type){s.type=i,s.value=o,s.attrs=r;const t=function(){const t=ye.lFrame,e=t.currentTNode;return t.isParent?e:e.parent}();s.injectorIndex=null===t?-1:t.injectorIndex}return Se(s,!0),s}function _o(t,e,i,o){if(0===i)return-1;const r=e.length;for(let s=0;s<i;s++)e.push(o),t.blueprint.push(o),t.data.push(null);return r}function Bo(t,e,i){De(e);try{const o=t.viewQuery;null!==o&&rr(1,o,i);const r=t.template;null!==r&&No(t,e,r,1,i),t.firstCreatePass&&(t.firstCreatePass=!1),t.staticContentQueries&&Do(t,e),t.staticViewQueries&&rr(2,t.viewQuery,i);const s=t.components;null!==s&&function(t,e){for(let i=0;i<e.length;i++)tr(t,e[i])}(e,s)}catch(o){throw t.firstCreatePass&&(t.incompleteFirstPass=!0),o}finally{e[2]&=-5,Re()}}function Ro(t,e,i,o){const r=e[2];if(256==(256&r))return;De(e);const s=Me();try{ge(e),ye.lFrame.bindingIndex=t.bindingStartIndex,null!==i&&No(t,e,i,2,o);const n=3==(3&r);if(!s)if(n){const i=t.preOrderCheckHooks;null!==i&&Ge(e,i,null)}else{const i=t.preOrderHooks;null!==i&&We(e,i,0,null),He(e,0)}if(function(t){for(let e=$i(t);null!==e;e=Ji(e)){if(!e[2])continue;const t=e[9];for(let e=0;e<t.length;e++){const i=t[e],o=i[3];0==(1024&i[2])&&me(o,1),i[2]|=1024}}}(e),function(t){for(let e=$i(t);null!==e;e=Ji(e))for(let t=Vt;t<e.length;t++){const i=e[t],o=i[1];ue(i)&&Ro(o,i,o.template,i[8])}}(e),null!==t.contentQueries&&Do(t,e),!s)if(n){const i=t.contentCheckHooks;null!==i&&Ge(e,i)}else{const i=t.contentHooks;null!==i&&We(e,i,1),He(e,1)}!function(t,e){const i=t.hostBindingOpCodes;if(null!==i)try{for(let t=0;t<i.length;t++){const o=i[t];if(o<0)ze(~o);else{const r=o,s=i[++t],n=i[++t];Te(s,r),n(2,e[r])}}}finally{ze(-1)}}(t,e);const a=t.components;null!==a&&function(t,e){for(let i=0;i<e.length;i++)Jo(t,e[i])}(e,a);const h=t.viewQuery;if(null!==h&&rr(2,h,o),!s)if(n){const i=t.viewCheckHooks;null!==i&&Ge(e,i)}else{const i=t.viewHooks;null!==i&&We(e,i,2),He(e,2)}!0===t.firstUpdatePass&&(t.firstUpdatePass=!1),s||(e[2]&=-73),1024&e[2]&&(e[2]&=-1025,me(e[3],-1))}finally{Re()}}function zo(t,e,i,o){const r=e[10],s=!Me(),n=4==(4&e[2]);try{s&&!n&&r.begin&&r.begin(),n&&Bo(t,e,o),Ro(t,e,i,o)}finally{s&&!n&&r.end&&r.end()}}function No(t,e,i,o,r){const s=ye.lFrame.selectedIndex,n=2&o;try{ze(-1),n&&e.length>20&&function(t,e,i,o){if(!o)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&Ge(e,i,20)}else{const i=t.preOrderHooks;null!==i&&We(e,i,0,20)}ze(20)}(t,e,0,Me()),i(o,r)}finally{ze(s)}}function Go(t){const e=t.tView;return null===e||e.incompleteFirstPass?t.tView=Wo(1,null,t.template,t.decls,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas,t.consts):e}function Wo(t,e,i,o,r,s,n,a,h,l){const c=20+o,d=c+r,p=function(t,e){const i=[];for(let o=0;o<e;o++)i.push(o<t?null:Lo);return i}(c,d),u="function"==typeof l?l():l;return p[1]={type:t,blueprint:p,template:i,queries:null,viewQuery:a,declTNode:e,data:p.slice().fill(null,c),bindingStartIndex:c,expandoStartIndex:d,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof n?n():n,firstChild:null,schemas:h,consts:u,incompleteFirstPass:!1}}function Ho(t,e,i){for(let o in t)if(t.hasOwnProperty(o)){const r=t[o];(i=null===i?{}:i).hasOwnProperty(o)?i[o].push(e,r):i[o]=[e,r]}return i}function Xo(t,e,i,o,r,s){const n=s.hostBindings;if(n){let i=t.hostBindingOpCodes;null===i&&(i=t.hostBindingOpCodes=[]);const s=~e.index;(function(t){let e=t.length;for(;e>0;){const i=t[--e];if("number"==typeof i&&i<0)return i}return 0})(i)!=s&&i.push(s),i.push(o,r,n)}}function Fo(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Uo(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Yo(t,e,i){if(i){if(e.exportAs)for(let o=0;o<e.exportAs.length;o++)i[e.exportAs[o]]=t;Jt(e)&&(i[""]=t)}}function Vo(t,e,i){t.flags|=1,t.directiveStart=e,t.directiveEnd=e+i,t.providerIndexes=e}function Zo(t,e,i,o,r){t.data[o]=r;const s=r.factory||(r.factory=Qt(r.type)),n=new Ye(s,Jt(r),null);t.blueprint[o]=n,i[o]=n,Xo(t,e,0,o,_o(t,i,r.hostVars,Lo),r)}function qo(t,e,i){const o=ce(e,t),r=Go(i),s=t[10],n=er(t,jo(t,r,null,i.onPush?64:16,o,e,s,s.createRenderer(o,i),null,null));t[e.index]=n}function Ko(t,e,i,o,r,s){const n=s[e];if(null!==n){const t=o.setInput;for(let e=0;e<n.length;){const r=n[e++],s=n[e++],a=n[e++];null!==t?o.setInput(i,a,r,s):i[s]=a}}}function $o(t,e){let i=null,o=0;for(;o<e.length;){const r=e[o];if(0!==r)if(5!==r){if("number"==typeof r)break;t.hasOwnProperty(r)&&(null===i&&(i=[]),i.push(r,t[r],e[o+1])),o+=2}else o+=2;else o+=4}return i}function Jo(t,e){const i=pe(e,t);if(ue(i)){const t=i[1];80&i[2]?Ro(t,i,t.template,i[8]):i[5]>0&&Qo(i)}}function Qo(t){for(let i=$i(t);null!==i;i=Ji(i))for(let t=Vt;t<i.length;t++){const e=i[t];if(1024&e[2]){const t=e[1];Ro(t,e,t.template,e[8])}else e[5]>0&&Qo(e)}const e=t[1].components;if(null!==e)for(let i=0;i<e.length;i++){const o=pe(e[i],t);ue(o)&&o[5]>0&&Qo(o)}}function tr(t,e){const i=pe(e,t),o=i[1];!function(t,e){for(let i=e.length;i<t.blueprint.length;i++)e.push(t.blueprint[i])}(o,i),Bo(o,i,i[8])}function er(t,e){return t[13]?t[14][4]=e:t[13]=e,t[14]=e,e}function ir(t,e,i){const o=e[10];o.begin&&o.begin();try{Ro(t,e,t.template,i)}catch(r){throw function(t,e){const i=t[9],o=i?i.get(Ui,null):null;o&&o.handleError(e)}(e,r),r}finally{o.end&&o.end()}}function or(t){!function(t){for(let e=0;e<t.components.length;e++){const i=t.components[e],o=Wi(i),r=o[1];zo(r,o,r.template,i)}}(t[8])}function rr(t,e,i){Oe(0),e(t,i)}const sr=(()=>Promise.resolve(null))();function nr(t,e,i,o,r){for(let s=0;s<i.length;){const n=i[s++],a=i[s++],h=e[n],l=t.data[n];null!==l.setInput?l.setInput(h,r,o,a):h[a]=r}}function ar(t,e,i){let o=i?t.styles:null,r=i?t.classes:null,s=0;if(null!==e)for(let n=0;n<e.length;n++){const t=e[n];"number"==typeof t?s=t:1==s?r=tt(r,t):2==s&&(o=tt(o,t+": "+e[++n]+";"))}i?t.styles=o:t.stylesWithoutHost=o,i?t.classes=r:t.classesWithoutHost=r}const hr=new wi("INJECTOR",-1);class lr{get(t,e=Ti){if(e===Ti){const e=new Error(`NullInjectorError: No provider for ${Q(t)}!`);throw e.name="NullInjectorError",e}return e}}const cr=new wi("Set Injector scope."),dr={},pr={};let ur;function fr(){return void 0===ur&&(ur=new lr),ur}function gr(t,e=null,i=null,o){return new mr(t,i,e||fr(),o)}class mr{constructor(t,e,i,o=null){this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const r=[];e&&ki(e,i=>this.processProvider(i,t,e)),ki([t],t=>this.processInjectorType(t,[],r)),this.records.set(hr,vr(void 0,this));const s=this.records.get(cr);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof t?null:Q(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=Ti,i=mt.Default){this.assertNotDestroyed();const o=Di(this);try{if(!(i&mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const i=("function"==typeof(r=t)||"object"==typeof r&&r instanceof wi)&&lt(t);e=i&&this.injectableDefInScope(i)?vr(yr(t),dr):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(i&mt.Self?fr():this.parent).get(t,e=i&mt.Optional&&e===Ti?null:e)}catch(s){if("NullInjectorError"===s.name){if((s.ngTempTokenPath=s.ngTempTokenPath||[]).unshift(Q(t)),o)throw s;return function(t,e,i,o){const r=t.ngTempTokenPath;throw e[Oi]&&r.unshift(e[Oi]),t.message=function(t,e,i,o=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let r=Q(e);if(Array.isArray(e))r=e.map(Q).join(" -> ");else if("object"==typeof e){let t=[];for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t.push(i+":"+("string"==typeof o?JSON.stringify(o):Q(o)))}r=`{${t.join(", ")}}`}return`${i}${o?"("+o+")":""}[${r}]: ${t.replace(Pi,"\n  ")}`}("\n"+t.message,r,i,o),t.ngTokenPath=r,t.ngTempTokenPath=null,t}(s,t,"R3InjectorError",this.source)}throw s}finally{Di(o)}var r}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,i)=>t.push(Q(i))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,i){if(!(t=ot(t)))return!1;let o=dt(t);const r=null==o&&t.ngModule||void 0,s=void 0===r?t:r,n=-1!==i.indexOf(s);if(void 0!==r&&(o=dt(r)),null==o)return!1;if(null!=o.imports&&!n){let t;i.push(s);try{ki(o.imports,o=>{this.processInjectorType(o,e,i)&&(void 0===t&&(t=[]),t.push(o))})}finally{}if(void 0!==t)for(let e=0;e<t.length;e++){const{ngModule:i,providers:o}=t[e];ki(o,t=>this.processProvider(t,i,o||Ot))}}this.injectorDefTypes.add(s);const a=Qt(s)||(()=>new s);this.records.set(s,vr(a,dr));const h=o.providers;if(null!=h&&!n){const e=t;ki(h,t=>this.processProvider(t,e,h))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,i){let o=br(t=ot(t))?t:ot(t&&t.provide);const r=function(t,e,i){return xr(t)?vr(void 0,t.useValue):vr(function(t,e,i){let o;if(br(t)){const e=ot(t);return Qt(e)||yr(e)}if(xr(t))o=()=>ot(t.useValue);else if((r=t)&&r.useFactory)o=()=>t.useFactory(..._i(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))o=()=>Ii(ot(t.useExisting));else{const e=ot(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return Qt(e)||yr(e);o=()=>new e(..._i(t.deps))}var r;return o}(t),dr)}(t);if(br(t)||!0!==t.multi)this.records.get(o);else{let e=this.records.get(o);e||(e=vr(void 0,dr,!0),e.factory=()=>_i(e.multi),this.records.set(o,e)),o=t,e.multi.push(t)}this.records.set(o,r)}hydrate(t,e){var i;return e.value===dr&&(e.value=pr,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(i=e.value)&&"object"==typeof i&&"function"==typeof i.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ot(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function yr(t){const e=lt(t),i=null!==e?e.factory:Qt(t);if(null!==i)return i;if(t instanceof wi)throw new Error(`Token ${Q(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const i=function(t,e){const i=[];for(let o=0;o<t;o++)i.push("?");return i}(e);throw new Error(`Can't resolve all parameters for ${Q(t)}: (${i.join(", ")}).`)}const i=function(t){const e=t&&(t[pt]||t[ft]);if(e){const i=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${i}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${i}" class.`),e}return null}(t);return null!==i?()=>i.factory(t):()=>new t}(t);throw new Error("unreachable")}function vr(t,e,i=!1){return{factory:t,value:e,multi:i?[]:void 0}}function xr(t){return null!==t&&"object"==typeof t&&Ei in t}function br(t){return"function"==typeof t}const wr=function(t,e,i){return function(t,e=null,i=null,o){const r=gr(t,e,i,o);return r._resolveInjectorDefTypes(),r}({name:i},e,t,i)};let Cr=(()=>{class t{static create(t,e){return Array.isArray(t)?wr(t,e,""):wr(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=Ti,t.NULL=new lr,t.\u0275prov=at({token:t,providedIn:"any",factory:()=>Ii(hr)}),t.__NG_ELEMENT_ID__=-1,t})();function Sr(t,e){Ne(Wi(t)[1],we())}let kr=null;function Mr(){if(!kr){const t=Tt.Symbol;if(t&&t.iterator)kr=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const i=t[e];"entries"!==i&&"size"!==i&&Map.prototype[i]===Map.prototype.entries&&(kr=i)}}}return kr}function Ar(t){return!!Tr(t)&&(Array.isArray(t)||!(t instanceof Map)&&Mr()in t)}function Tr(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Pr(t,e=mt.Default){const i=xe();return null===i?Ii(t,e):di(we(),i,ot(t),e)}function Or(t,e,i){const o=xe();return function(t,e,i){return!Object.is(t[e],i)&&(t[e]=i,!0)}(o,ye.lFrame.bindingIndex++,e)&&function(t,e,i,o,r,s,n,a){const h=ce(e,i);let l,c=e.inputs;var d;null!=c&&(l=c[o])?(nr(t,i,l,o,r),$t(e)&&function(t,e){const i=pe(e,t);16&i[2]||(i[2]|=64)}(i,e.index)):3&e.type&&(o="class"===(d=o)?"className":"for"===d?"htmlFor":"formaction"===d?"formAction":"innerHtml"===d?"innerHTML":"readonly"===d?"readOnly":"tabindex"===d?"tabIndex":d,r=null!=n?n(r,e.value||"",o):r,ae(s)?s.setProperty(h,o,r):qe(o)||(h.setProperty?h.setProperty(o,r):h[o]=r))}(be(),function(){const t=ye.lFrame;return de(t.tView,t.selectedIndex)}(),o,t,e,o[11],i),Or}function Er(t,e,i,o,r){const s=r?"class":"style";nr(t,i,e.inputs[s],s,o)}function Lr(t,e,i,o){const r=xe(),s=be(),n=20+t,a=r[11],h=r[n]=eo(a,e,ye.lFrame.currentNamespace),l=s.firstCreatePass?function(t,e,i,o,r,s,n){const a=e.consts,h=Io(e,t,2,r,fe(a,s));return function(t,e,i,o){let r=!1;if(ve()){const s=function(t,e,i){const o=t.directiveRegistry;let r=null;if(o)for(let s=0;s<o.length;s++){const n=o[s];Po(i,n.selectors,!1)&&(r||(r=[]),hi(ri(i,e),t,n.type),Jt(n)?(Uo(t,i),r.unshift(n)):r.push(n))}return r}(t,e,i),n=null===o?null:{"":-1};if(null!==s){r=!0,Vo(i,t.data.length,s.length);for(let t=0;t<s.length;t++){const e=s[t];e.providersResolver&&e.providersResolver(e)}let o=!1,a=!1,h=_o(t,e,s.length,null);for(let r=0;r<s.length;r++){const l=s[r];i.mergedAttrs=Ke(i.mergedAttrs,l.hostAttrs),Zo(t,i,e,h,l),Yo(h,l,n),null!==l.contentQueries&&(i.flags|=8),null===l.hostBindings&&null===l.hostAttrs&&0===l.hostVars||(i.flags|=128);const c=l.type.prototype;!o&&(c.ngOnChanges||c.ngOnInit||c.ngDoCheck)&&((t.preOrderHooks||(t.preOrderHooks=[])).push(i.index),o=!0),a||!c.ngOnChanges&&!c.ngDoCheck||((t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(i.index),a=!0),h++}!function(t,e){const i=e.directiveEnd,o=t.data,r=e.attrs,s=[];let n=null,a=null;for(let h=e.directiveStart;h<i;h++){const t=o[h],i=t.inputs,l=null===r||So(e)?null:$o(i,r);s.push(l),n=Ho(i,h,n),a=Ho(t.outputs,h,a)}null!==n&&(n.hasOwnProperty("class")&&(e.flags|=16),n.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=s,e.inputs=n,e.outputs=a}(t,i)}n&&function(t,e,i){if(e){const o=t.localNames=[];for(let t=0;t<e.length;t+=2){const r=i[e[t+1]];if(null==r)throw new rt("301",`Export of name '${e[t+1]}' not found!`);o.push(e[t],r)}}}(i,o,n)}i.mergedAttrs=Ke(i.mergedAttrs,i.attrs)}(e,i,h,fe(a,n)),null!==h.attrs&&ar(h,h.attrs,!1),null!==h.mergedAttrs&&ar(h,h.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,h),h}(n,s,r,0,e,i,o):s.data[n];Se(l,!0);const c=l.mergedAttrs;null!==c&&Ve(a,h,c);const d=l.classes;null!==d&&xo(a,h,d);const p=l.styles;null!==p&&vo(a,h,p),64!=(64&l.flags)&&co(s,r,h,l),0===ye.lFrame.elementDepthCount&&Gi(h,r),ye.lFrame.elementDepthCount++,function(t){return 1==(1&t.flags)}(l)&&(function(t,e,i){ve()&&(function(t,e,i,o){const r=i.directiveStart,s=i.directiveEnd;t.firstCreatePass||ri(i,e),Gi(o,e);const n=i.initialInputs;for(let a=r;a<s;a++){const o=t.data[a],s=Jt(o);s&&qo(e,i,o);const h=gi(e,t,a,i);Gi(h,e),null!==n&&Ko(0,a-r,h,o,0,n),s&&(pe(i.index,e)[8]=h)}}(t,e,i,ce(i,e)),128==(128&i.flags)&&function(t,e,i){const o=i.directiveStart,r=i.directiveEnd,s=i.index,n=ye.lFrame.currentDirectiveIndex;try{ze(s);for(let i=o;i<r;i++){const o=t.data[i],r=e[i];Pe(i),null===o.hostBindings&&0===o.hostVars&&null===o.hostAttrs||Fo(o,r)}}finally{ze(-1),Pe(n)}}(t,e,i))}(s,r,l),function(t,e,i){if(Kt(e)){const o=e.directiveEnd;for(let r=e.directiveStart;r<o;r++){const e=t.data[r];e.contentQueries&&e.contentQueries(1,i[r],r)}}}(s,l,r)),null!==o&&function(t,e,i=ce){const o=e.localNames;if(null!==o){let r=e.index+1;for(let s=0;s<o.length;s+=2){const n=o[s+1],a=-1===n?i(e,t):t[n];t[r++]=a}}}(r,l)}function Dr(t,e,i,o){Lr(t,e,i,o),function(){let t=we();ke()?ye.lFrame.isParent=!1:(t=t.parent,Se(t,!1));const e=t;ye.lFrame.elementDepthCount--;const i=be();i.firstCreatePass&&(Ne(i,t),Kt(t)&&i.queries.elementEnd(t)),null!=e.classesWithoutHost&&function(t){return 0!=(16&t.flags)}(e)&&Er(i,e,xe(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function(t){return 0!=(32&t.flags)}(e)&&Er(i,e,xe(),e.stylesWithoutHost,!1)}()}function jr(t){return!!t&&"function"==typeof t.then}const Ir=function(t){return!!t&&"function"==typeof t.subscribe},_r=void 0;var Br=["en",[["a","p"],["AM","PM"],_r],[["AM","PM"],_r,_r],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_r,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_r,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_r,"{1} 'at' {0}",_r],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){let e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let Rr={};function zr(t){return t in Rr||(Rr[t]=Tt.ng&&Tt.ng.common&&Tt.ng.common.locales&&Tt.ng.common.locales[t]),Rr[t]}var Nr=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}({});const Gr="en-US";let Wr=Gr;function Hr(t){var e,i;i="Expected localeId to be defined",null==(e=t)&&function(t,e,i,o){throw new Error(`ASSERTION ERROR: ${t} [Expected=> null != ${e} <=Actual]`)}(i,e),"string"==typeof t&&(Wr=t.toLowerCase().replace(/_/g,"-"))}class Xr{}class Fr{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${Q(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(t)}}let Ur=(()=>{class t{}return t.NULL=new Fr,t})();function Yr(...t){}function Vr(t,e){return new qr(ce(t,e))}const Zr=function(){return Vr(we(),xe())};let qr=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Zr,t})();class Kr{}let $r=(()=>{class t{}return t.\u0275prov=at({token:t,providedIn:"root",factory:()=>null}),t})();class Jr{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Qr=new Jr("12.0.0");class ts{constructor(){}supports(t){return Ar(t)}create(t){return new is(t)}}const es=(t,e)=>e;class is{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||es}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,o=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex<ns(i,o,r)?e:i,n=ns(s,o,r),a=s.currentIndex;if(s===i)o--,i=i._nextRemoved;else if(e=e._next,null==s.previousIndex)o++;else{r||(r=[]);const t=n-o,e=a-o;if(t!=e){for(let i=0;i<t;i++){const o=i<r.length?r[i]:r[i]=0,s=o+i;e<=s&&s<t&&(r[i]=o+1)}r[s.previousIndex]=e-t}}n!==a&&t(s,n,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Ar(t))throw new Error(`Error trying to diff '${Q(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,i,o,r=this._itHead,s=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=t[e],o=this._trackByFn(e,i),null!==r&&Object.is(r.trackById,o)?(s&&(r=this._verifyReinsertion(r,i,o,e)),Object.is(r.item,i)||this._addIdentityChange(r,i)):(r=this._mismatch(r,i,o,e),s=!0),r=r._next}else e=0,function(t,e){if(Array.isArray(t))for(let i=0;i<t.length;i++)e(t[i]);else{const i=t[Mr()]();let o;for(;!(o=i.next()).done;)e(o.value)}}(t,t=>{o=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,o)?(s&&(r=this._verifyReinsertion(r,t,o,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,o,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,o){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,o)):t=this._addAfter(new os(e,i),r,o),t}_verifyReinsertion(t,e,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?t=this._reinsertAfter(r,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,r=t._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const o=null===e?this._itHead:e._next;return t._next=o,t._prev=e,null===o?this._itTail=t:o._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new ss),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new ss),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class os{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class rs{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class ss{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new rs,this.map.set(e,i)),i.add(t)}get(t,e){const i=this.map.get(t);return i?i.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ns(t,e,i){const o=t.previousIndex;if(null===o)return o;let r=0;return i&&o<i.length&&(r=i[o]),o+e+r}class as{constructor(){}supports(t){return t instanceof Map||Tr(t)}create(){return new hs}}class hs{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||Tr(t)))throw new Error(`Error trying to diff '${Q(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,i)=>{if(e&&e.key===i)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(i,t);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const i=this._records.get(t);this._maybeAddToChanges(i,e);const o=i._prev,r=i._next;return o&&(o._next=r),r&&(r._prev=o),i._next=null,i._prev=null,i}const i=new ls(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class ls{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function cs(){return new ds([new ts])}let ds=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(null!=i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||cs()),deps:[[t,new Ni,new zi]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${i=t,i.name||typeof i}'`);var i}}return t.\u0275prov=at({token:t,providedIn:"root",factory:cs}),t})();function ps(){return new us([new as])}let us=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ps()),deps:[[t,new Ni,new zi]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=at({token:t,providedIn:"root",factory:ps}),t})();function fs(t,e,i,o,r=!1){for(;null!==i;){const s=e[i.index];if(null!==s&&o.push(le(s)),qt(s))for(let t=Vt;t<s.length;t++){const e=s[t],i=e[1].firstChild;null!==i&&fs(e[1],e,i,o)}const n=i.type;if(8&n)fs(t,e,i.child,o);else if(32&n){const t=qi(i,e);let r;for(;r=t();)o.push(r)}else if(16&n){const t=uo(e,i);if(Array.isArray(t))o.push(...t);else{const i=Ki(e[16]);fs(i[1],i,t,o,!0)}}i=r?i.projectionNext:i.next}return o}class gs{constructor(t,e){this._lView=t,this._cdRefInjectingView=e,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const t=this._lView,e=t[1];return fs(e,t,e.firstChild,[])}get context(){return this._lView[8]}set context(t){this._lView[8]=t}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[3];if(qt(t)){const e=t[8],i=e?e.indexOf(this):-1;i>-1&&(oo(t,i),Ai(e,i))}this._attachedToViewContainer=!1}ro(this._lView[1],this._lView)}onDestroy(t){!function(t,e,i,o){const r=(s=e)[7]||(s[7]=[]);var s;r.push(o)}(0,this._lView,0,t)}markForCheck(){!function(t){for(;t;){t[2]|=64;const e=Ki(t);if(0!=(512&t[2])&&!e)return t;t=e}}(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){ir(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,i){Ae(!0);try{ir(t,e,i)}finally{Ae(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var t;this._appRef=null,mo(this._lView[1],t=this._lView,t[11],2,null,null)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class ms extends gs{constructor(t){super(t),this._view=t}detectChanges(){or(this._view)}checkNoChanges(){!function(t){Ae(!0);try{or(t)}finally{Ae(!1)}}(this._view)}get context(){return null}}const ys=function(t){return function(t,e,i){if($t(t)&&!i){const i=pe(t.index,e);return new gs(i,i)}return 47&t.type?new gs(e[16],e):null}(we(),xe(),16==(16&t))};let vs=(()=>{class t{}return t.__NG_ELEMENT_ID__=ys,t})();const xs=[new as],bs=new ds([new ts]),ws=new us(xs);class Cs{}class Ss{}const ks=function(){return function(t,e){let i;const o=e[t.index];if(qt(o))i=o;else{let r;if(8&t.type)r=le(o);else{const i=e[11];r=i.createComment("");const o=ce(t,e);no(i,lo(i,o),r,function(t,e){return ae(t)?t.nextSibling(e):e.nextSibling}(i,o),!1)}e[t.index]=i=new Array(o,!0,!1,e,null,0,t,r,null,null),er(e,i)}return new Ts(i,t,e)}(we(),xe())};let Ms=(()=>{class t{}return t.__NG_ELEMENT_ID__=ks,t})();const As=Ms,Ts=class extends As{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return Vr(this._hostTNode,this._hostLView)}get injector(){return new vi(this._hostTNode,this._hostLView)}get parentInjector(){const t=ai(this._hostTNode,this._hostLView);if(Je(t)){const e=ti(t,this._hostLView),i=Qe(t);return new vi(e[1].data[i+8],e)}return new vi(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=Ps(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-Vt}createEmbeddedView(t,e,i){const o=t.createEmbeddedView(e||{});return this.insert(o,i),o}createComponent(t,e,i,o,r){const s=i||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(Cs,null);t&&(r=t)}const n=t.create(s,o,void 0,r);return this.insert(n.hostView,e),n}insert(t,e){const i=t._lView,o=i[1];if(qt(i[3])){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=i[3],o=new Ts(e,e[6],e[3]);o.detach(o.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,i,o){const r=Vt+o,s=i.length;o>0&&(i[r-1][4]=e),o<s-Vt?(e[4]=i[r],Mi(i,Vt+o,e)):(i.push(e),e[4]=null),e[3]=i;const n=e[17];null!==n&&i!==n&&function(t,e){const i=t[9];e[16]!==e[3][3][16]&&(t[2]=!0),null===i?t[9]=[e]:i.push(e)}(n,e);const a=e[19];null!==a&&a.insertView(t),e[2]|=128}(o,i,s,r);const n=fo(r,s),a=i[11],h=lo(a,s[7]);return null!==h&&function(t,e,i,o,r,s){o[0]=r,o[6]=e,mo(t,o,i,1,r,s)}(o,s[6],a,i,h,n),t.attachToViewContainerRef(),Mi(Os(s),r,t),t}move(t,e){return this.insert(t,e)}indexOf(t){const e=Ps(this._lContainer);return null!==e?e.indexOf(t):-1}remove(t){const e=this._adjustIndex(t,-1),i=oo(this._lContainer,e);i&&(Ai(Os(this._lContainer),e),ro(i[1],i))}detach(t){const e=this._adjustIndex(t,-1),i=oo(this._lContainer,e);return i&&null!=Ai(Os(this._lContainer),e)?new gs(i):null}_adjustIndex(t,e=0){return null==t?this.length+e:t}};function Ps(t){return t[8]}function Os(t){return t[8]||(t[8]=[])}const Es={};class Ls extends Ur{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=Ut(t);return new Is(e,this.ngModule)}}function Ds(t){const e=[];for(let i in t)t.hasOwnProperty(i)&&e.push({propName:t[i],templateName:i});return e}const js=new wi("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Yi});class Is extends Xr{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors.map(Eo).join(","),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return Ds(this.componentDef.inputs)}get outputs(){return Ds(this.componentDef.outputs)}create(t,e,i,o){const r=(o=o||this.ngModule)?function(t,e){return{get:(i,o,r)=>{const s=t.get(i,Es,r);return s!==Es||o===Es?s:e.get(i,o,r)}}}(t,o.injector):t,s=r.get(Kr,he),n=r.get($r,null),a=s.createRenderer(null,this.componentDef),h=this.componentDef.selectors[0][0]||"div",l=i?function(t,e,i){if(ae(t))return t.selectRootElement(e,i===Ct.ShadowDom);let o="string"==typeof e?t.querySelector(e):e;return o.textContent="",o}(a,i,this.componentDef.encapsulation):eo(s.createRenderer(null,this.componentDef),h,function(t){const e=t.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(h)),c=this.componentDef.onPush?576:528,d={components:[],scheduler:Yi,clean:sr,playerHandler:null,flags:0},p=Wo(0,null,null,1,0,null,null,null,null,null),u=jo(null,p,d,c,null,null,s,a,n,r);let f,g;De(u);try{const t=function(t,e,i,o,r,s){const n=i[1];i[20]=t;const a=Io(n,20,2,"#host",null),h=a.mergedAttrs=e.hostAttrs;null!==h&&(ar(a,h,!0),null!==t&&(Ve(r,t,h),null!==a.classes&&xo(r,t,a.classes),null!==a.styles&&vo(r,t,a.styles)));const l=o.createRenderer(t,e),c=jo(i,Go(e),null,e.onPush?64:16,i[20],a,o,l,null,null);return n.firstCreatePass&&(hi(ri(a,i),n,e.type),Uo(n,a),Vo(a,i.length,1)),er(i,c),i[20]=c}(l,this.componentDef,u,s,a);if(l)if(i)Ve(a,l,["ng-version",Qr.full]);else{const{attrs:t,classes:e}=function(t){const e=[],i=[];let o=1,r=2;for(;o<t.length;){let s=t[o];if("string"==typeof s)2===r?""!==s&&e.push(s,t[++o]):8===r&&i.push(s);else{if(!Ao(r))break;r=s}o++}return{attrs:e,classes:i}}(this.componentDef.selectors[0]);t&&Ve(a,l,t),e&&e.length>0&&xo(a,l,e.join(" "))}if(g=de(p,20),void 0!==e){const t=g.projection=[];for(let i=0;i<this.ngContentSelectors.length;i++){const o=e[i];t.push(null!=o?Array.from(o):null)}}f=function(t,e,i,o,r){const s=i[1],n=function(t,e,i){const o=we();t.firstCreatePass&&(i.providersResolver&&i.providersResolver(i),Zo(t,o,e,_o(t,e,1,null),i));const r=gi(e,t,o.directiveStart,o);Gi(r,e);const s=ce(o,e);return s&&Gi(s,e),r}(s,i,e);if(o.components.push(n),t[8]=n,r&&r.forEach(t=>t(n,e)),e.contentQueries){const t=we();e.contentQueries(1,n,t.directiveStart)}const a=we();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(ze(a.index),Xo(i[1],a,0,a.directiveStart,a.directiveEnd,e),Fo(e,n)),n}(t,this.componentDef,u,d,[Sr]),Bo(p,u,null)}finally{Re()}return new _s(this.componentType,f,Vr(g,u),u,g)}}class _s extends class{}{constructor(t,e,i,o,r){super(),this.location=i,this._rootLView=o,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new ms(o),this.componentType=t}get injector(){return new vi(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Bs=new Map;class Rs extends Cs{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Ls(this);const i=Yt(t),o=t[It]||null;o&&Hr(o),this._bootstrapComponents=Vi(i.bootstrap),this._r3Injector=gr(t,e,[{provide:Cs,useValue:this},{provide:Ur,useValue:this.componentFactoryResolver}],Q(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=Cr.THROW_IF_NOT_FOUND,i=mt.Default){return t===Cr||t===Cs||t===hr?this:this._r3Injector.get(t,e,i)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class zs extends Ss{constructor(t){super(),this.moduleType=t,null!==Yt(t)&&function(t){const e=new Set;!function t(i){const o=Yt(i,!0),r=o.id;null!==r&&(function(t,e,i){if(e&&e!==i)throw new Error(`Duplicate module registered for ${t} - ${Q(e)} vs ${Q(e.name)}`)}(r,Bs.get(r),i),Bs.set(r,i));const s=Vi(o.imports);for(const n of s)e.has(n)||(e.add(n),t(n))}(t)}(t)}create(t){return new Rs(this.moduleType,t)}}function Ns(t){return e=>{setTimeout(t,void 0,e)}}const Gs=class extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){var o,r,s;let n=t,a=e||(()=>null),h=i;if(t&&"object"==typeof t){const e=t;n=null===(o=e.next)||void 0===o?void 0:o.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),h=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Ns(a),n&&(n=Ns(n)),h&&(h=Ns(h)));const l=super.subscribe({next:n,error:a,complete:h});return t instanceof d&&t.add(l),l}},Ws=new wi("Application Initializer");let Hs=(()=>{class t{constructor(t){this.appInits=t,this.resolve=Yr,this.reject=Yr,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let i=0;i<this.appInits.length;i++){const e=this.appInits[i]();if(jr(e))t.push(e);else if(Ir(e)){const i=new Promise((t,i)=>{e.subscribe({complete:t,error:i})});t.push(i)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ii(Ws,8))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const Xs=new wi("AppId"),Fs={provide:Xs,useFactory:function(){return`${Us()}${Us()}${Us()}`},deps:[]};function Us(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Ys=new wi("Platform Initializer"),Vs=new wi("Platform ID"),Zs=new wi("appBootstrapListener");let qs=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const Ks=new wi("LocaleId"),$s=new wi("DefaultCurrencyCode");class Js{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const Qs=function(t){return new zs(t)},tn=Qs,en=function(t){return Promise.resolve(Qs(t))},on=function(t){const e=Qs(t),i=Vi(Yt(t).declarations).reduce((t,e)=>{const i=Ut(e);return i&&t.push(new Is(i)),t},[]);return new Js(e,i)},rn=on,sn=function(t){return Promise.resolve(on(t))};let nn=(()=>{class t{constructor(){this.compileModuleSync=tn,this.compileModuleAsync=en,this.compileModuleAndAllComponentsSync=rn,this.compileModuleAndAllComponentsAsync=sn}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const an=(()=>Promise.resolve(0))();function hn(t){"undefined"==typeof Zone?an.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class ln{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Gs(!1),this.onMicrotaskEmpty=new Gs(!1),this.onStable=new Gs(!1),this.onError=new Gs(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function(){let t=Tt.requestAnimationFrame,e=Tt.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i);const o=e[Zone.__symbol__("OriginalDelegate")];o&&(e=o)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Tt,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,pn(t),t.isCheckStableRunning=!0,dn(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),pn(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,o,r,s,n,a)=>{try{return un(t),i.invokeTask(r,s,n,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),fn(t)}},onInvoke:(i,o,r,s,n,a,h)=>{try{return un(t),i.invoke(r,s,n,a,h)}finally{t.shouldCoalesceRunChangeDetection&&e(),fn(t)}},onHasTask:(e,i,o,r)=>{e.hasTask(o,r),i===o&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,pn(t),dn(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,o,r)=>(e.handleError(o,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(o)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ln.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(ln.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,t,cn,Yr,Yr);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const cn={};function dn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function pn(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function fn(t){t._nesting--,dn(t)}class gn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Gs,this.onMicrotaskEmpty=new Gs,this.onStable=new Gs,this.onError=new Gs}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,o){return t.apply(e,i)}}let mn=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ln.assertNotInAngularZone(),hn(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())hn(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,i){let o=-1;e&&e>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==o),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:i})}whenStable(t,e,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,i){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ii(ln))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),yn=(()=>{class t{constructor(){this._applications=new Map,bn.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return bn.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();class vn{addToWindow(t){}findTestabilityInTree(t,e,i){return null}}let xn,bn=new vn,wn=!0,Cn=!1;const Sn=new wi("AllowMultipleToken");class kn{constructor(t,e){this.name=t,this.token=e}}function Mn(t,e,i=[]){const o=`Platform: ${e}`,r=new wi(o);return(e=[])=>{let s=An();if(!s||s.injector.get(Sn,!1))if(t)t(i.concat(e).concat({provide:r,useValue:!0}));else{const t=i.concat(e).concat({provide:r,useValue:!0},{provide:cr,useValue:"platform"});!function(t){if(xn&&!xn.destroyed&&!xn.injector.get(Sn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");xn=t.get(Tn);const e=t.get(Ys,null);e&&e.forEach(t=>t())}(Cr.create({providers:t,name:o}))}return function(t){const e=An();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function An(){return xn&&!xn.destroyed?xn:null}let Tn=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const i=function(t,e){let i;return i="noop"===t?new gn:("zone.js"===t?void 0:t)||new ln({enableLongStackTrace:(Cn=!0,wn),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),i}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),o=[{provide:ln,useValue:i}];return i.run(()=>{const e=Cr.create({providers:o,parent:this.injector,name:t.moduleType.name}),r=t.create(e),s=r.injector.get(Ui,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(()=>{const t=i.onError.subscribe({next:t=>{s.handleError(t)}});r.onDestroy(()=>{En(this._modules,r),t.unsubscribe()})}),function(t,e,i){try{const o=i();return jr(o)?o.catch(i=>{throw e.runOutsideAngular(()=>t.handleError(i)),i}):o}catch(o){throw e.runOutsideAngular(()=>t.handleError(o)),o}}(s,i,()=>{const t=r.injector.get(Hs);return t.runInitializers(),t.donePromise.then(()=>(Hr(r.injector.get(Ks,Gr)||Gr),this._moduleDoBootstrap(r),r))})})}bootstrapModule(t,e=[]){const i=Pn({},e);return function(t,e,i){const o=new zs(i);return Promise.resolve(o)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(On);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${Q(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ii(Cr))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function Pn(t,e){return Array.isArray(e)?e.reduce(Pn,t):Object.assign(Object.assign({},t),e)}let On=(()=>{class t{constructor(t,e,i,o,r){this._zone=t,this._injector=e,this._exceptionHandler=i,this._componentFactoryResolver=o,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new v(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),n=new v(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{ln.assertNotInAngularZone(),hn(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const i=this._zone.onUnstable.subscribe(()=>{ln.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),i.unsubscribe()}});this.isStable=function(...t){let e=Number.POSITIVE_INFINITY,i=null,o=t[t.length-1];return M(o)?(i=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof o&&(e=t.pop()),null===i&&1===t.length&&t[0]instanceof v?t[0]:X(e)(F(t,i))}(s,n.pipe(t=>{return U()((e=$,function(t){let i;i="function"==typeof e?e:function(){return e};const o=Object.create(t,q);return o.source=t,o.subjectFactory=i,o})(t));var e}))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let i;i=t instanceof Xr?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(i.componentType);const o=i.isBoundToModule?void 0:this._injector.get(Cs),r=i.create(Cr.NULL,[],e||i.selector,o),s=r.location.nativeElement,n=r.injector.get(mn,null),a=n&&r.injector.get(yn);return n&&a&&a.registerApplication(s,n),r.onDestroy(()=>{this.detachView(r.hostView),En(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;En(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Zs,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ii(ln),Ii(Cr),Ii(Ui),Ii(Ur),Ii(Hs))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function En(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}class Ln{}class Dn{}const jn={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let In=(()=>{class t{constructor(t,e){this._compiler=t,this._config=e||jn}load(t){return this.loadAndCompile(t)}loadAndCompile(t){let[e,o]=t.split("#");return void 0===o&&(o="default"),i(255)(e).then(t=>t[o]).then(t=>_n(t,e,o)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,o]=t.split("#"),r="NgFactory";return void 0===o&&(o="default",r=""),i(255)(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[o+r]).then(t=>_n(t,e,o))}}return t.\u0275fac=function(e){return new(e||t)(Ii(nn),Ii(Dn,8))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function _n(t,e,i){if(!t)throw new Error(`Cannot find '${i}' in '${e}'`);return t}const Bn=Mn(null,"core",[{provide:Vs,useValue:"unknown"},{provide:Tn,deps:[Cr]},{provide:yn,deps:[]},{provide:qs,deps:[]}]),Rn=[{provide:On,useClass:On,deps:[ln,Cr,Ui,Ur,Hs]},{provide:js,deps:[ln],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Hs,useClass:Hs,deps:[[new zi,Ws]]},{provide:nn,useClass:nn,deps:[]},Fs,{provide:ds,useFactory:function(){return bs},deps:[]},{provide:us,useFactory:function(){return ws},deps:[]},{provide:Ks,useFactory:function(t){return Hr(t=t||"undefined"!=typeof $localize&&$localize.locale||Gr),t},deps:[[new Ri(Ks),new zi,new Ni]]},{provide:$s,useValue:"USD"}];let zn=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ii(On))},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:Rn}),t})(),Nn=null;function Gn(){return Nn}const Wn=new wi("DocumentToken");let Hn=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({factory:Xn,token:t,providedIn:"platform"}),t})();function Xn(){return Ii(Un)}const Fn=new wi("Location Initialized");let Un=(()=>{class t extends Hn{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Gn().getBaseHref(this._doc)}onPopState(t){const e=Gn().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Gn().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,i){Yn()?this._history.pushState(t,e,i):this.location.hash=i}replaceState(t,e,i){Yn()?this._history.replaceState(t,e,i):this.location.hash=i}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ii(Wn))},t.\u0275prov=at({factory:Vn,token:t,providedIn:"platform"}),t})();function Yn(){return!!window.history.pushState}function Vn(){return new Un(Ii(Wn))}function Zn(t,e){if(0==t.length)return e;if(0==e.length)return t;let i=0;return t.endsWith("/")&&i++,e.startsWith("/")&&i++,2==i?t+e.substring(1):1==i?t+e:t+"/"+e}function qn(t){const e=t.match(/#|\?|$/),i=e&&e.index||t.length;return t.slice(0,i-("/"===t[i-1]?1:0))+t.slice(i)}function Kn(t){return t&&"?"!==t[0]?"?"+t:t}let $n=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({factory:Jn,token:t,providedIn:"root"}),t})();function Jn(t){const e=Ii(Wn).location;return new ta(Ii(Hn),e&&e.origin||"")}const Qn=new wi("appBaseHref");let ta=(()=>{class t extends $n{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Zn(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+Kn(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${e}${i}`:e}pushState(t,e,i,o){const r=this.prepareExternalUrl(i+Kn(o));this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,o){const r=this.prepareExternalUrl(i+Kn(o));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ii(Hn),Ii(Qn,8))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),ea=(()=>{class t extends $n{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=e&&(this._baseHref=e)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=Zn(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,i,o){let r=this.prepareExternalUrl(i+Kn(o));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,o){let r=this.prepareExternalUrl(i+Kn(o));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ii(Hn),Ii(Qn,8))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),ia=(()=>{class t{constructor(t,e){this._subject=new Gs,this._urlChangeListeners=[],this._platformStrategy=t;const i=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=qn(ra(i)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+Kn(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,ra(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",i=null){this._platformStrategy.pushState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Kn(e)),i)}replaceState(t,e="",i=null){this._platformStrategy.replaceState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Kn(e)),i)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformStrategy).historyGo)||void 0===i||i.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(i=>i(t,e))}subscribe(t,e,i){return this._subject.subscribe({next:t,error:e,complete:i})}}return t.\u0275fac=function(e){return new(e||t)(Ii($n),Ii(Hn))},t.normalizeQueryParams=Kn,t.joinWithSlash=Zn,t.stripTrailingSlash=qn,t.\u0275prov=at({factory:oa,token:t,providedIn:"root"}),t})();function oa(){return new ia(Ii($n),Ii(Hn))}function ra(t){return t.replace(/\/index.html$/,"")}var sa=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({});class na{}let aa=(()=>{class t extends na{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(function(t){return function(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let i=zr(e);if(i)return i;const o=e.split("-")[0];if(i=zr(o),i)return i;if("en"===o)return Br;throw new Error(`Missing locale data for the locale "${t}".`)}(t)[Nr.PluralCase]}(e||this.locale)(t)){case sa.Zero:return"zero";case sa.One:return"one";case sa.Two:return"two";case sa.Few:return"few";case sa.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ii(Ks))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function ha(t,e){e=encodeURIComponent(e);for(const i of t.split(";")){const t=i.indexOf("="),[o,r]=-1==t?[i,""]:[i.slice(0,t),i.slice(t+1)];if(o.trim()===e)return decodeURIComponent(r)}return null}let la=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:[{provide:na,useClass:aa}]}),t})(),ca=(()=>{class t{}return t.\u0275prov=at({token:t,providedIn:"root",factory:()=>new da(Ii(Wn),window)}),t})();class da{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function(t,e){const i=t.getElementById(e)||t.getElementsByName(e)[0];if(i)return i;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const t=o.shadowRoot;if(t){const i=t.getElementById(e)||t.querySelector(`[name="${e}"]`);if(i)return i}o=i.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),this.attemptFocus(e))}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],o-r[1])}attemptFocus(t){return t.focus(),this.document.activeElement===t}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=pa(this.window.history)||pa(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch(t){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(t){return!1}}}function pa(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class ua{}class fa extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var t;t=new fa,Nn||(Nn=t)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(ma=ma||document.querySelector("base"),ma?ma.getAttribute("href"):null);return null==e?null:function(t){ga=ga||document.createElement("a"),ga.setAttribute("href",t);const e=ga.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){ma=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return ha(document.cookie,t)}}let ga,ma=null;const ya=new wi("TRANSITION_ID"),va=[{provide:Ws,useFactory:function(t,e,i){return()=>{i.get(Hs).donePromise.then(()=>{const i=Gn();Array.prototype.slice.apply(e.querySelectorAll("style[ng-transition]")).filter(e=>e.getAttribute("ng-transition")===t).forEach(t=>i.remove(t))})}},deps:[ya,Wn,Cr],multi:!0}];class xa{static init(){var t;t=new xa,bn=t}addToWindow(t){Tt.getAngularTestability=(e,i=!0)=>{const o=t.findTestabilityInTree(e,i);if(null==o)throw new Error("Could not find testability for element.");return o},Tt.getAllAngularTestabilities=()=>t.getAllTestabilities(),Tt.getAllAngularRootElements=()=>t.getAllRootElements(),Tt.frameworkStabilizers||(Tt.frameworkStabilizers=[]),Tt.frameworkStabilizers.push(t=>{const e=Tt.getAllAngularTestabilities();let i=e.length,o=!1;const r=function(e){o=o||e,i--,0==i&&t(o)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,i){if(null==e)return null;const o=t.getTestability(e);return null!=o?o:i?Gn().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let ba=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const wa=new wi("EventManagerPlugins");let Ca=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,i){return this._findPluginFor(e).addEventListener(t,e,i)}addGlobalEventListener(t,e,i){return this._findPluginFor(e).addGlobalEventListener(t,e,i)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const i=this._plugins;for(let o=0;o<i.length;o++){const e=i[o];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}return t.\u0275fac=function(e){return new(e||t)(Ii(wa),Ii(ln))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();class Sa{constructor(t){this._doc=t}addGlobalEventListener(t,e,i){const o=Gn().getGlobalEventTarget(this._doc,t);if(!o)throw new Error(`Unsupported event target ${o} for event ${e}`);return this.addEventListener(o,e,i)}}let ka=(()=>{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),Ma=(()=>{class t extends ka{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,i){t.forEach(t=>{const o=this._doc.createElement("style");o.textContent=t,i.push(e.appendChild(o))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(Aa),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,i)=>{this._addStylesToHost(t,i,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(Aa))}}return t.\u0275fac=function(e){return new(e||t)(Ii(Wn))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function Aa(t){Gn().remove(t)}const Ta={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Pa=/%COMP%/g;function Oa(t,e,i){for(let o=0;o<e.length;o++){let r=e[o];Array.isArray(r)?Oa(t,r,i):(r=r.replace(Pa,t),i.push(r))}return i}function Ea(t){return e=>{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let La=(()=>{class t{constructor(t,e,i){this.eventManager=t,this.sharedStylesHost=e,this.appId=i,this.rendererByCompId=new Map,this.defaultRenderer=new Da(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case Ct.Emulated:{let i=this.rendererByCompId.get(e.id);return i||(i=new ja(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,i)),i.applyToHost(t),i}case 1:case Ct.ShadowDom:return new Ia(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Oa(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ii(Ca),Ii(Ma),Ii(Xs))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();class Da{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Ta[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,i){t&&t.insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,o){if(o){e=o+":"+e;const r=Ta[o];r?t.setAttributeNS(r,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const o=Ta[i];o?t.removeAttributeNS(o,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,o){o&(Zi.DashCase|Zi.Important)?t.style.setProperty(e,i,o&Zi.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&Zi.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Ea(i)):this.eventManager.addEventListener(t,e,Ea(i))}}class ja extends Da{constructor(t,e,i,o){super(t),this.component=i;const r=Oa(o+"-"+i.id,i.styles,[]);e.addStyles(r),this.contentAttr="_ngcontent-%COMP%".replace(Pa,o+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(Pa,o+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class Ia extends Da{constructor(t,e,i,o){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=Oa(o.id,o.styles,[]);for(let s=0;s<r.length;s++){const t=document.createElement("style");t.textContent=r[s],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,i){return super.insertBefore(this.nodeOrShadowRoot(t),e,i)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}let _a=(()=>{class t extends Sa{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,i){return t.addEventListener(e,i,!1),()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,i){return t.removeEventListener(e,i)}}return t.\u0275fac=function(e){return new(e||t)(Ii(Wn))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const Ba=["alt","control","meta","shift"],Ra={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},za={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Na={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let Ga=(()=>{class t extends Sa{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const r=t.parseEventName(i),s=t.eventCallback(r.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Gn().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=t._normalizeKey(i.pop());let s="";if(Ba.forEach(t=>{const e=i.indexOf(t);e>-1&&(i.splice(e,1),s+=t+".")}),s+=r,0!=i.length||0===r.length)return null;const n={};return n.domEventName=o,n.fullKey=s,n}static getEventFullKey(t){let e="",i=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&za.hasOwnProperty(e)&&(e=za[e]))}return Ra[e]||e}(t);return i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),Ba.forEach(o=>{o!=i&&(0,Na[o])(t)&&(e+=o+".")}),e+=i,e}static eventCallback(e,i,o){return r=>{t.getEventFullKey(r)===e&&o.runGuarded(()=>i(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ii(Wn))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const Wa=Mn(Bn,"browser",[{provide:Vs,useValue:"browser"},{provide:Ys,useValue:function(){fa.makeCurrent(),xa.init()},multi:!0},{provide:Wn,useFactory:function(){return function(t){ne=t}(document),document},deps:[]}]),Ha=[[],{provide:cr,useValue:"root"},{provide:Ui,useFactory:function(){return new Ui},deps:[]},{provide:wa,useClass:_a,multi:!0,deps:[Wn,ln,Vs]},{provide:wa,useClass:Ga,multi:!0,deps:[Wn]},[],{provide:La,useClass:La,deps:[Ca,Ma,Xs]},{provide:Kr,useExisting:La},{provide:ka,useExisting:Ma},{provide:Ma,useClass:Ma,deps:[Wn]},{provide:mn,useClass:mn,deps:[ln]},{provide:Ca,useClass:Ca,deps:[wa,ln]},{provide:ua,useClass:ba,deps:[]},[]];let Xa=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:Xs,useValue:e.appId},{provide:ya,useExisting:Xs},va]}}}return t.\u0275fac=function(e){return new(e||t)(Ii(t,12))},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:Ha,imports:[la,zn]}),t})();function Fa(...t){let e=t[t.length-1];return M(e)?(t.pop(),_(t,e)):F(t)}"undefined"!=typeof window&&window;class Ua extends S{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new b;return this._value}next(t){super.next(this._value=t)}}class Ya extends f{notifyNext(t,e,i,o,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class Va extends f{constructor(t,e,i){super(),this.parent=t,this.outerValue=e,this.outerIndex=i,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function Za(t,e,i,o,r=new Va(t,i,o)){if(!r.closed)return e instanceof v?e.subscribe(r):I(e)(r)}const qa={};class Ka{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $a(t,this.resultSelector))}}class $a extends Ya{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(qa),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i<e;i++)this.add(Za(this,t[i],void 0,i))}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,i){const o=this.values,r=this.toRespond?o[i]===qa?--this.toRespond:this.toRespond:0;o[i]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const Ja=(()=>{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})();function Qa(...t){return X(1)(Fa(...t))}const th=new v(t=>t.complete());function eh(t){return t?function(t){return new v(e=>t.schedule(()=>e.complete()))}(t):th}function ih(t){return new v(e=>{let i;try{i=t()}catch(o){return void e.error(o)}return(i?B(i):eh()).subscribe(e)})}function oh(t,e){return"function"==typeof e?i=>i.pipe(oh((i,o)=>B(t(i,o)).pipe(A((t,r)=>e(i,t,o,r))))):e=>e.lift(new rh(t))}class rh{constructor(t){this.project=t}call(t,e){return e.subscribe(new sh(t,this.project))}}class sh extends z{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(o){return void this.destination.error(o)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new R(this),o=this.destination;o.add(i),this.innerSubscription=N(t,i),this.innerSubscription!==i&&o.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const nh=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function ah(t){return e=>0===t?eh():e.lift(new hh(t))}class hh{constructor(t){if(this.total=t,this.total<0)throw new nh}call(t,e){return e.subscribe(new lh(t,this.total))}}class lh extends f{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}function ch(t,e){let i=!1;return arguments.length>=2&&(i=!0),function(o){return o.lift(new dh(t,e,i))}}class dh{constructor(t,e,i=!1){this.accumulator=t,this.seed=e,this.hasSeed=i}call(t,e){return e.subscribe(new ph(t,this.accumulator,this.seed,this.hasSeed))}}class ph extends f{constructor(t,e,i,o){super(t),this.accumulator=e,this._seed=i,this.hasSeed=o,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let i;try{i=this.accumulator(this.seed,t,e)}catch(o){this.destination.error(o)}this.seed=i,this.destination.next(i)}}function uh(t,e){return function(i){return i.lift(new fh(t,e))}}class fh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new gh(t,this.predicate,this.thisArg))}}class gh extends f{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}function mh(t){return function(e){const i=new yh(t),o=e.lift(i);return i.caught=o}}class yh{constructor(t){this.selector=t}call(t,e){return e.subscribe(new vh(t,this.selector,this.caught))}}class vh extends z{constructor(t,e,i){super(t),this.selector=e,this.caught=i}error(t){if(!this.isStopped){let i;try{i=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const o=new R(this);this.add(o);const r=N(i,o);r!==o&&this.add(r)}}}function xh(t,e){return G(t,e,1)}function bh(t){return function(e){return 0===t?eh():e.lift(new wh(t))}}class wh{constructor(t){if(this.total=t,this.total<0)throw new nh}call(t,e){return e.subscribe(new Ch(t,this.total))}}class Ch extends f{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,i=this.total,o=this.count++;e.length<i?e.push(t):e[o%i]=t}_complete(){const t=this.destination;let e=this.count;if(e>0){const i=this.count>=this.total?this.total:this.count,o=this.ring;for(let r=0;r<i;r++){const r=e++%i;t.next(o[r])}}t.complete()}}function Sh(t=Ah){return e=>e.lift(new kh(t))}class kh{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new Mh(t,this.errorFactory))}}class Mh extends f{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let e;try{e=this.errorFactory()}catch(t){e=t}this.destination.error(e)}}}function Ah(){return new Ja}function Th(t=null){return e=>e.lift(new Ph(t))}class Ph{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new Oh(t,this.defaultValue))}}class Oh extends f{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function Eh(t,e){const i=arguments.length>=2;return o=>o.pipe(t?uh((e,i)=>t(e,i,o)):y,ah(1),i?Th(e):Sh(()=>new Ja))}function Lh(){}function Dh(t,e,i){return function(o){return o.lift(new jh(t,e,i))}}class jh{constructor(t,e,i){this.nextOrObserver=t,this.error=e,this.complete=i}call(t,e){return e.subscribe(new Ih(t,this.nextOrObserver,this.error,this.complete))}}class Ih extends f{constructor(t,e,i,r){super(t),this._tapNext=Lh,this._tapError=Lh,this._tapComplete=Lh,this._tapError=i||Lh,this._tapComplete=r||Lh,o(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Lh,this._tapError=e.error||Lh,this._tapComplete=e.complete||Lh)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}class _h{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Bh(t,this.callback))}}class Bh extends f{constructor(t,e){super(t),this.add(new d(e))}}class Rh{constructor(t,e){this.id=t,this.url=e}}class zh extends Rh{constructor(t,e,i="imperative",o=null){super(t,e),this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Nh extends Rh{constructor(t,e,i){super(t,e),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Gh extends Rh{constructor(t,e,i){super(t,e),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Wh extends Rh{constructor(t,e,i){super(t,e),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Hh extends Rh{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Xh extends Rh{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Fh extends Rh{constructor(t,e,i,o,r){super(t,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=r}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Uh extends Rh{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Yh extends Rh{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Vh{constructor(t){this.route=t}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Zh{constructor(t){this.route=t}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class qh{constructor(t){this.snapshot=t}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Kh{constructor(t){this.snapshot=t}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $h{constructor(t){this.snapshot=t}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Jh{constructor(t){this.snapshot=t}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Qh{constructor(t,e,i){this.routerEvent=t,this.position=e,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const tl="primary";class el{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function il(t){return new el(t)}function ol(t){const e=Error("NavigationCancelingError: "+t);return e.ngNavigationCancelingError=!0,e}function rl(t,e,i){const o=i.path.split("/");if(o.length>t.length)return null;if("full"===i.pathMatch&&(e.hasChildren()||o.length<t.length))return null;const r={};for(let s=0;s<o.length;s++){const e=o[s],i=t[s];if(e.startsWith(":"))r[e.substring(1)]=i;else if(e!==i.path)return null}return{consumed:t.slice(0,o.length),posParams:r}}function sl(t,e){const i=t?Object.keys(t):void 0,o=e?Object.keys(e):void 0;if(!i||!o||i.length!=o.length)return!1;let r;for(let s=0;s<i.length;s++)if(r=i[s],!nl(t[r],e[r]))return!1;return!0}function nl(t,e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;const i=[...t].sort(),o=[...e].sort();return i.every((t,e)=>o[e]===t)}return t===e}function al(t){return Array.prototype.concat.apply([],t)}function hl(t){return t.length>0?t[t.length-1]:null}function ll(t,e){for(const i in t)t.hasOwnProperty(i)&&e(t[i],i)}function cl(t){return Ir(t)?t:jr(t)?B(Promise.resolve(t)):Fa(t)}const dl={exact:function t(e,i,o){if(!bl(e.segments,i.segments))return!1;if(!ml(e.segments,i.segments,o))return!1;if(e.numberOfChildren!==i.numberOfChildren)return!1;for(const r in i.children){if(!e.children[r])return!1;if(!t(e.children[r],i.children[r],o))return!1}return!0},subset:fl},pl={exact:function(t,e){return sl(t,e)},subset:function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(i=>nl(t[i],e[i]))},ignored:()=>!0};function ul(t,e,i){return dl[i.paths](t.root,e.root,i.matrixParams)&&pl[i.queryParams](t.queryParams,e.queryParams)&&!("exact"===i.fragment&&t.fragment!==e.fragment)}function fl(t,e,i){return gl(t,e,e.segments,i)}function gl(t,e,i,o){if(t.segments.length>i.length){const r=t.segments.slice(0,i.length);return!!bl(r,i)&&!e.hasChildren()&&!!ml(r,i,o)}if(t.segments.length===i.length){if(!bl(t.segments,i))return!1;if(!ml(t.segments,i,o))return!1;for(const i in e.children){if(!t.children[i])return!1;if(!fl(t.children[i],e.children[i],o))return!1}return!0}{const r=i.slice(0,t.segments.length),s=i.slice(t.segments.length);return!!bl(t.segments,r)&&!!ml(t.segments,r,o)&&!!t.children.primary&&gl(t.children.primary,e,s,o)}}function ml(t,e,i){return e.every((e,o)=>pl[i](t[o].parameters,e.parameters))}class yl{constructor(t,e,i){this.root=t,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=il(this.queryParams)),this._queryParamMap}toString(){return Sl.serialize(this)}}class vl{constructor(t,e){this.segments=t,this.children=e,this.parent=null,ll(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return kl(this)}}class xl{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=il(this.parameters)),this._parameterMap}toString(){return Ll(this)}}function bl(t,e){return t.length===e.length&&t.every((t,i)=>t.path===e[i].path)}class wl{}class Cl{parse(t){const e=new Bl(t);return new yl(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`/${Ml(t.root,!0)}${function(t){const e=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(t=>`${Tl(e)}=${Tl(t)}`).join("&"):`${Tl(e)}=${Tl(i)}`});return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const Sl=new Cl;function kl(t){return t.segments.map(t=>Ll(t)).join("/")}function Ml(t,e){if(!t.hasChildren())return kl(t);if(e){const e=t.children.primary?Ml(t.children.primary,!1):"",i=[];return ll(t.children,(t,e)=>{e!==tl&&i.push(`${e}:${Ml(t,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function(t,e){let i=[];return ll(t.children,(t,o)=>{o===tl&&(i=i.concat(e(t,o)))}),ll(t.children,(t,o)=>{o!==tl&&(i=i.concat(e(t,o)))}),i}(t,(e,i)=>i===tl?[Ml(t.children.primary,!1)]:[`${i}:${Ml(e,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children.primary?`${kl(t)}/${e[0]}`:`${kl(t)}/(${e.join("//")})`}}function Al(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Tl(t){return Al(t).replace(/%3B/gi,";")}function Pl(t){return Al(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ol(t){return decodeURIComponent(t)}function El(t){return Ol(t.replace(/\+/g,"%20"))}function Ll(t){return`${Pl(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Pl(t)}=${Pl(e[t])}`).join("")}`;var e}const Dl=/^[^\/()?;=#]+/;function jl(t){const e=t.match(Dl);return e?e[0]:""}const Il=/^[^=?&#]+/,_l=/^[^?&#]+/;class Bl{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new vl([],{}):new vl([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(i.primary=new vl(t,e)),i}parseSegment(){const t=jl(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new xl(Ol(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=jl(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=jl(this.remaining);t&&(i=t,this.capture(i))}t[Ol(e)]=Ol(i)}parseQueryParam(t){const e=function(t){const e=t.match(Il);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(_l);return e?e[0]:""}(this.remaining);t&&(i=t,this.capture(i))}const o=El(e),r=El(i);if(t.hasOwnProperty(o)){let e=t[o];Array.isArray(e)||(e=[e],t[o]=e),e.push(r)}else t[o]=r}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=jl(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Error(`Cannot parse url '${this.url}'`);let r;i.indexOf(":")>-1?(r=i.substr(0,i.indexOf(":")),this.capture(r),this.capture(":")):t&&(r=tl);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s.primary:new vl([],s),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Rl{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=zl(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=zl(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=Nl(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return Nl(t,this._root).map(t=>t.value)}}function zl(t,e){if(t===e.value)return e;for(const i of e.children){const e=zl(t,i);if(e)return e}return null}function Nl(t,e){if(t===e.value)return[e];for(const i of e.children){const o=Nl(t,i);if(o.length)return o.unshift(e),o}return[]}class Gl{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Wl(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Hl extends Rl{constructor(t,e){super(t),this.snapshot=e,Zl(this,t)}toString(){return this.snapshot.toString()}}function Xl(t,e){const i=function(t,e){const i=new Yl([],{},{},"",{},tl,e,null,t.root,-1,{});return new Vl("",new Gl(i,[]))}(t,e),o=new Ua([new xl("",{})]),r=new Ua({}),s=new Ua({}),n=new Ua({}),a=new Ua(""),h=new Fl(o,r,n,a,s,tl,e,i.root);return h.snapshot=i.root,new Hl(new Gl(h,[]),i)}class Fl{constructor(t,e,i,o,r,s,n,a){this.url=t,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=n,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(A(t=>il(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(A(t=>il(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ul(t,e="emptyOnly"){const i=t.pathFromRoot;let o=0;if("always"!==e)for(o=i.length-1;o>=1;){const t=i[o],e=i[o-1];if(t.routeConfig&&""===t.routeConfig.path)o--;else{if(e.component)break;o--}}return function(t){return t.reduce((t,e)=>({params:Object.assign(Object.assign({},t.params),e.params),data:Object.assign(Object.assign({},t.data),e.data),resolve:Object.assign(Object.assign({},t.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(i.slice(o))}class Yl{constructor(t,e,i,o,r,s,n,a,h,l,c){this.url=t,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=n,this.routeConfig=a,this._urlSegment=h,this._lastPathIndex=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=il(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=il(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Vl extends Rl{constructor(t,e){super(e),this.url=t,Zl(this,e)}toString(){return ql(this._root)}}function Zl(t,e){e.value._routerState=t,e.children.forEach(e=>Zl(t,e))}function ql(t){const e=t.children.length>0?` { ${t.children.map(ql).join(", ")} } `:"";return`${t.value}${e}`}function Kl(t){if(t.snapshot){const e=t.snapshot,i=t._futureSnapshot;t.snapshot=i,sl(e.queryParams,i.queryParams)||t.queryParams.next(i.queryParams),e.fragment!==i.fragment&&t.fragment.next(i.fragment),sl(e.params,i.params)||t.params.next(i.params),function(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!sl(t[i],e[i]))return!1;return!0}(e.url,i.url)||t.url.next(i.url),sl(e.data,i.data)||t.data.next(i.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function $l(t,e){var i,o;return sl(t.params,e.params)&&bl(i=t.url,o=e.url)&&i.every((t,e)=>sl(t.parameters,o[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||$l(t.parent,e.parent))}function Jl(t,e,i){if(i&&t.shouldReuseRoute(e.value,i.value.snapshot)){const o=i.value;o._futureSnapshot=e.value;const r=function(t,e,i){return e.children.map(e=>{for(const o of i.children)if(t.shouldReuseRoute(e.value,o.value.snapshot))return Jl(t,e,o);return Jl(t,e)})}(t,e,i);return new Gl(o,r)}{if(t.shouldAttach(e.value)){const i=t.retrieve(e.value);if(null!==i){const t=i.route;return Ql(e,t),t}}const i=new Fl(new Ua((o=e.value).url),new Ua(o.params),new Ua(o.queryParams),new Ua(o.fragment),new Ua(o.data),o.outlet,o.component,o),r=e.children.map(e=>Jl(t,e));return new Gl(i,r)}var o}function Ql(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(let i=0;i<t.children.length;++i)Ql(t.children[i],e.children[i])}function tc(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function ec(t){return"object"==typeof t&&null!=t&&t.outlets}function ic(t,e,i,o,r){let s={};return o&&ll(o,(t,e)=>{s[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new yl(i.root===t?e:oc(i.root,t,e),s,r)}function oc(t,e,i){const o={};return ll(t.children,(t,r)=>{o[r]=t===e?i:oc(t,e,i)}),new vl(t.segments,o)}class rc{constructor(t,e,i){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=i,t&&i.length>0&&tc(i[0]))throw new Error("Root segment cannot have matrix parameters");const o=i.find(ec);if(o&&o!==hl(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class sc{constructor(t,e,i){this.segmentGroup=t,this.processChildren=e,this.index=i}}function nc(t,e,i){if(t||(t=new vl([],{})),0===t.segments.length&&t.hasChildren())return ac(t,e,i);const o=function(t,e,i){let o=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r<t.segments.length;){if(o>=i.length)return s;const e=t.segments[r],n=i[o];if(ec(n))break;const a=`${n}`,h=o<i.length-1?i[o+1]:null;if(r>0&&void 0===a)break;if(a&&h&&"object"==typeof h&&void 0===h.outlets){if(!dc(a,h,e))return s;o+=2}else{if(!dc(a,{},e))return s;o++}r++}return{match:!0,pathIndex:r,commandIndex:o}}(t,e,i),r=i.slice(o.commandIndex);if(o.match&&o.pathIndex<t.segments.length){const e=new vl(t.segments.slice(0,o.pathIndex),{});return e.children.primary=new vl(t.segments.slice(o.pathIndex),t.children),ac(e,0,r)}return o.match&&0===r.length?new vl(t.segments,{}):o.match&&!t.hasChildren()?hc(t,e,i):o.match?ac(t,0,r):hc(t,e,i)}function ac(t,e,i){if(0===i.length)return new vl(t.segments,{});{const o=function(t){return ec(t[0])?t[0].outlets:{[tl]:t}}(i),r={};return ll(o,(i,o)=>{"string"==typeof i&&(i=[i]),null!==i&&(r[o]=nc(t.children[o],e,i))}),ll(t.children,(t,e)=>{void 0===o[e]&&(r[e]=t)}),new vl(t.segments,r)}}function hc(t,e,i){const o=t.segments.slice(0,e);let r=0;for(;r<i.length;){const s=i[r];if(ec(s)){const t=lc(s.outlets);return new vl(o,t)}if(0===r&&tc(i[0])){o.push(new xl(t.segments[e].path,cc(i[0]))),r++;continue}const n=ec(s)?s.outlets.primary:`${s}`,a=r<i.length-1?i[r+1]:null;n&&a&&tc(a)?(o.push(new xl(n,cc(a))),r+=2):(o.push(new xl(n,{})),r++)}return new vl(o,{})}function lc(t){const e={};return ll(t,(t,i)=>{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=hc(new vl([],{}),0,t))}),e}function cc(t){const e={};return ll(t,(t,i)=>e[i]=`${t}`),e}function dc(t,e,i){return t==i.path&&sl(e,i.parameters)}class pc{constructor(t,e,i,o){this.routeReuseStrategy=t,this.futureState=e,this.currState=i,this.forwardEvent=o}activate(t){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,t),Kl(this.futureState.root),this.activateChildRoutes(e,i,t)}deactivateChildRoutes(t,e,i){const o=Wl(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,o[e],i),delete o[e]}),ll(o,(t,e)=>{this.deactivateRouteAndItsChildren(t,i)})}deactivateRoutes(t,e,i){const o=t.value,r=e?e.value:null;if(o===r)if(o.component){const r=i.getContext(o.outlet);r&&this.deactivateChildRoutes(t,e,r.children)}else this.deactivateChildRoutes(t,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const i=e.getContext(t.value.outlet);if(i&&i.outlet){const e=i.outlet.detach(),o=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:o})}}deactivateRouteAndOutlet(t,e){const i=e.getContext(t.value.outlet),o=i&&t.value.component?i.children:e,r=Wl(t);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],o);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,e,i){const o=Wl(e);t.children.forEach(t=>{this.activateRoutes(t,o[t.value.outlet],i),this.forwardEvent(new Jh(t.value.snapshot))}),t.children.length&&this.forwardEvent(new Kh(t.value.snapshot))}activateRoutes(t,e,i){const o=t.value,r=e?e.value:null;if(Kl(o),o===r)if(o.component){const r=i.getOrCreateContext(o.outlet);this.activateChildRoutes(t,e,r.children)}else this.activateChildRoutes(t,e,i);else if(o.component){const e=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const t=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),uc(t.route)}else{const i=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(o.snapshot),r=i?i.module.componentFactoryResolver:null;e.attachRef=null,e.route=o,e.resolver=r,e.outlet&&e.outlet.activateWith(o,r),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,i)}}function uc(t){Kl(t.value),t.children.forEach(uc)}class fc{constructor(t,e){this.routes=t,this.module=e}}function gc(t){return"function"==typeof t}function mc(t){return t instanceof yl}const yc=Symbol("INITIAL_VALUE");function vc(){return oh(t=>function(...t){let e,i;return M(t[t.length-1])&&(i=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&h(t[0])&&(t=t[0]),F(t,i).lift(new Ka(e))}(t.map(t=>t.pipe(ah(1),function(...t){const e=t[t.length-1];return M(e)?(t.pop(),i=>Qa(t,i,e)):e=>Qa(t,e)}(yc)))).pipe(ch((t,e)=>{let i=!1;return e.reduce((t,o,r)=>{if(t!==yc)return t;if(o===yc&&(i=!0),!i){if(!1===o)return o;if(r===e.length-1||mc(o))return o}return t},t)},yc),uh(t=>t!==yc),A(t=>mc(t)?t:!0===t),ah(1)))}let xc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=zt({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,e){1&t&&Dr(0,"router-outlet")},directives:function(){return[ud]},encapsulation:2}),t})();function bc(t,e=""){for(let i=0;i<t.length;i++){const o=t[i];wc(o,Cc(e,o))}}function wc(t,e){t.children&&bc(t.children,e)}function Cc(t,e){return e?t||e.path?t&&!e.path?`${t}/`:!t&&e.path?e.path:`${t}/${e.path}`:"":t}function Sc(t){const e=t.children&&t.children.map(Sc),i=e?Object.assign(Object.assign({},t),{children:e}):Object.assign({},t);return!i.component&&(e||i.loadChildren)&&i.outlet&&i.outlet!==tl&&(i.component=xc),i}function kc(t){return t.outlet||tl}function Mc(t,e){const i=t.filter(t=>kc(t)===e);return i.push(...t.filter(t=>kc(t)!==e)),i}const Ac={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function Tc(t,e,i){var o;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||i.length>0)?Object.assign({},Ac):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const r=(e.matcher||rl)(i,t,e);if(!r)return Object.assign({},Ac);const s={};ll(r.posParams,(t,e)=>{s[e]=t.path});const n=r.consumed.length>0?Object.assign(Object.assign({},s),r.consumed[r.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:n,positionalParamSegments:null!==(o=r.posParams)&&void 0!==o?o:{}}}function Pc(t,e,i,o,r="corrected"){if(i.length>0&&function(t,e,i){return i.some(i=>Oc(t,e,i)&&kc(i)!==tl)}(t,i,o)){const r=new vl(e,function(t,e,i,o){const r={};r.primary=o,o._sourceSegment=t,o._segmentIndexShift=e.length;for(const s of i)if(""===s.path&&kc(s)!==tl){const i=new vl([],{});i._sourceSegment=t,i._segmentIndexShift=e.length,r[kc(s)]=i}return r}(t,e,o,new vl(i,t.children)));return r._sourceSegment=t,r._segmentIndexShift=e.length,{segmentGroup:r,slicedSegments:[]}}if(0===i.length&&function(t,e,i){return i.some(i=>Oc(t,e,i))}(t,i,o)){const s=new vl(t.segments,function(t,e,i,o,r,s){const n={};for(const a of o)if(Oc(t,i,a)&&!r[kc(a)]){const i=new vl([],{});i._sourceSegment=t,i._segmentIndexShift="legacy"===s?t.segments.length:e.length,n[kc(a)]=i}return Object.assign(Object.assign({},r),n)}(t,e,i,o,t.children,r));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}const s=new vl(t.segments,t.children);return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}function Oc(t,e,i){return(!(t.hasChildren()||e.length>0)||"full"!==i.pathMatch)&&""===i.path}function Ec(t,e,i,o){return!!(kc(t)===o||o!==tl&&Oc(e,i,t))&&("**"===t.path||Tc(e,t,i).matched)}function Lc(t,e,i){return 0===e.length&&!t.children[i]}class Dc{constructor(t){this.segmentGroup=t||null}}class jc{constructor(t){this.urlTree=t}}function Ic(t){return new v(e=>e.error(new Dc(t)))}function _c(t){return new v(e=>e.error(new jc(t)))}function Bc(t){return new v(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class Rc{constructor(t,e,i,o,r){this.configLoader=e,this.urlSerializer=i,this.urlTree=o,this.config=r,this.allowRedirects=!0,this.ngModule=t.get(Cs)}apply(){const t=Pc(this.urlTree.root,[],[],this.config).segmentGroup,e=new vl(t.segments,t.children);return this.expandSegmentGroup(this.ngModule,this.config,e,tl).pipe(A(t=>this.createUrlTree(zc(t),this.urlTree.queryParams,this.urlTree.fragment))).pipe(mh(t=>{if(t instanceof jc)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof Dc)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,tl).pipe(A(e=>this.createUrlTree(zc(e),t.queryParams,t.fragment))).pipe(mh(t=>{if(t instanceof Dc)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,i){const o=t.segments.length>0?new vl([],{[tl]:t}):t;return new yl(o,e,i)}expandSegmentGroup(t,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,e,i).pipe(A(t=>new vl([],t))):this.expandSegment(t,i,e,i.segments,o,!0)}expandChildren(t,e,i){const o=[];for(const r of Object.keys(i.children))"primary"===r?o.unshift(r):o.push(r);return B(o).pipe(xh(o=>{const r=i.children[o],s=Mc(e,o);return this.expandSegmentGroup(t,s,r,o).pipe(A(t=>({segment:t,outlet:o})))}),ch((t,e)=>(t[e.outlet]=e.segment,t),{}),function(t,e){const i=arguments.length>=2;return o=>o.pipe(t?uh((e,i)=>t(e,i,o)):y,bh(1),i?Th(e):Sh(()=>new Ja))}())}expandSegment(t,e,i,o,r,s){return B(i).pipe(xh(n=>this.expandSegmentAgainstRoute(t,e,i,n,o,r,s).pipe(mh(t=>{if(t instanceof Dc)return Fa(null);throw t}))),Eh(t=>!!t),mh((t,i)=>{if(t instanceof Ja||"EmptyError"===t.name){if(Lc(e,o,r))return Fa(new vl([],{}));throw new Dc(e)}throw t}))}expandSegmentAgainstRoute(t,e,i,o,r,s,n){return Ec(o,e,r,s)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(t,e,o,r,s):n&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,i,o,r,s):Ic(e):Ic(e)}expandSegmentAgainstRouteUsingRedirect(t,e,i,o,r,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,o,r,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,i,o){const r=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?_c(r):this.lineralizeSegments(i,r).pipe(G(i=>{const r=new vl(i,{});return this.expandSegment(t,r,e,i,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,o,r,s){const{matched:n,consumedSegments:a,lastChild:h,positionalParamSegments:l}=Tc(e,o,r);if(!n)return Ic(e);const c=this.applyRedirectCommands(a,o.redirectTo,l);return o.redirectTo.startsWith("/")?_c(c):this.lineralizeSegments(o,c).pipe(G(o=>this.expandSegment(t,e,i,o.concat(r.slice(h)),s,!1)))}matchSegmentAgainstRoute(t,e,i,o,r){if("**"===i.path)return i.loadChildren?(i._loadedConfig?Fa(i._loadedConfig):this.configLoader.load(t.injector,i)).pipe(A(t=>(i._loadedConfig=t,new vl(o,{})))):Fa(new vl(o,{}));const{matched:s,consumedSegments:n,lastChild:a}=Tc(e,i,o);if(!s)return Ic(e);const h=o.slice(a);return this.getChildConfig(t,i,o).pipe(G(t=>{const o=t.module,s=t.routes,{segmentGroup:a,slicedSegments:l}=Pc(e,n,h,s),c=new vl(a.segments,a.children);if(0===l.length&&c.hasChildren())return this.expandChildren(o,s,c).pipe(A(t=>new vl(n,t)));if(0===s.length&&0===l.length)return Fa(new vl(n,{}));const d=kc(i)===r;return this.expandSegment(o,c,s,l,d?tl:r,!0).pipe(A(t=>new vl(n.concat(t.segments),t.children)))}))}getChildConfig(t,e,i){return e.children?Fa(new fc(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?Fa(e._loadedConfig):this.runCanLoadGuards(t.injector,e,i).pipe(G(i=>i?this.configLoader.load(t.injector,e).pipe(A(t=>(e._loadedConfig=t,t))):function(t){return new v(e=>e.error(ol(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):Fa(new fc([],t))}runCanLoadGuards(t,e,i){const o=e.canLoad;return o&&0!==o.length?Fa(o.map(o=>{const r=t.get(o);let s;if(function(t){return t&&gc(t.canLoad)}(r))s=r.canLoad(e,i);else{if(!gc(r))throw new Error("Invalid CanLoad guard");s=r(e,i)}return cl(s)})).pipe(vc(),Dh(t=>{if(!mc(t))return;const e=ol(`Redirecting to "${this.urlSerializer.serialize(t)}"`);throw e.url=t,e}),A(t=>!0===t)):Fa(!0)}lineralizeSegments(t,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return Fa(i);if(o.numberOfChildren>1||!o.children.primary)return Bc(t.redirectTo);o=o.children.primary}}applyRedirectCommands(t,e,i){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,i)}applyRedirectCreatreUrlTree(t,e,i,o){const r=this.createSegmentGroup(t,e.root,i,o);return new yl(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const i={};return ll(t,(t,o)=>{if("string"==typeof t&&t.startsWith(":")){const r=t.substring(1);i[o]=e[r]}else i[o]=t}),i}createSegmentGroup(t,e,i,o){const r=this.createSegments(t,e.segments,i,o);let s={};return ll(e.children,(e,r)=>{s[r]=this.createSegmentGroup(t,e,i,o)}),new vl(r,s)}createSegments(t,e,i,o){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,o):this.findOrReturn(e,i))}findPosParam(t,e,i){const o=i[e.path.substring(1)];if(!o)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return o}findOrReturn(t,e){let i=0;for(const o of e){if(o.path===t.path)return e.splice(i),o;i++}return t}}function zc(t){const e={};for(const i of Object.keys(t.children)){const o=zc(t.children[i]);(o.segments.length>0||o.hasChildren())&&(e[i]=o)}return function(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new vl(t.segments.concat(e.segments),e.children)}return t}(new vl(t.segments,e))}class Nc{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Gc{constructor(t,e){this.component=t,this.route=e}}function Wc(t,e,i){const o=t._root;return Xc(o,e?e._root:null,i,[o.value])}function Hc(t,e,i){const o=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(o?o.module.injector:i).get(t)}function Xc(t,e,i,o,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=Wl(e);return t.children.forEach(t=>{!function(t,e,i,o,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=t.value,n=e?e.value:null,a=i?i.getContext(t.value.outlet):null;if(n&&s.routeConfig===n.routeConfig){const h=function(t,e,i){if("function"==typeof i)return i(t,e);switch(i){case"pathParamsChange":return!bl(t.url,e.url);case"pathParamsOrQueryParamsChange":return!bl(t.url,e.url)||!sl(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!$l(t,e)||!sl(t.queryParams,e.queryParams);case"paramsChange":default:return!$l(t,e)}}(n,s,s.routeConfig.runGuardsAndResolvers);h?r.canActivateChecks.push(new Nc(o)):(s.data=n.data,s._resolvedData=n._resolvedData),Xc(t,e,s.component?a?a.children:null:i,o,r),h&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Gc(a.outlet.component,n))}else n&&Fc(e,a,r),r.canActivateChecks.push(new Nc(o)),Xc(t,null,s.component?a?a.children:null:i,o,r)}(t,s[t.value.outlet],i,o.concat([t.value]),r),delete s[t.value.outlet]}),ll(s,(t,e)=>Fc(t,i.getContext(e),r)),r}function Fc(t,e,i){const o=Wl(t),r=t.value;ll(o,(t,o)=>{Fc(t,r.component?e?e.children.getContext(o):null:e,i)}),i.canDeactivateChecks.push(new Gc(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class Uc{}function Yc(t){return new v(e=>e.error(t))}class Vc{constructor(t,e,i,o,r,s){this.rootComponentType=t,this.config=e,this.urlTree=i,this.url=o,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=s}recognize(){const t=Pc(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,tl);if(null===e)return null;const i=new Yl([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},tl,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new Gl(i,e),r=new Vl(this.url,o);return this.inheritParamsAndData(r._root),r}inheritParamsAndData(t){const e=t.value,i=Ul(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,i){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,i)}processChildren(t,e){const i=[];for(const r of Object.keys(e.children)){const o=e.children[r],s=Mc(t,r),n=this.processSegmentGroup(s,o,r);if(null===n)return null;i.push(...n)}const o=qc(i);return o.sort((t,e)=>t.value.outlet===tl?-1:e.value.outlet===tl?1:t.value.outlet.localeCompare(e.value.outlet)),o}processSegment(t,e,i,o){for(const r of t){const t=this.processSegmentAgainstRoute(r,e,i,o);if(null!==t)return t}return Lc(e,i,o)?[]:null}processSegmentAgainstRoute(t,e,i,o){if(t.redirectTo||!Ec(t,e,i,o))return null;let r,s=[],n=[];if("**"===t.path){const o=i.length>0?hl(i).parameters:{};r=new Yl(i,o,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,Jc(t),kc(t),t.component,t,Kc(e),$c(e)+i.length,Qc(t))}else{const o=Tc(e,t,i);if(!o.matched)return null;s=o.consumedSegments,n=i.slice(o.lastChild),r=new Yl(s,o.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,Jc(t),kc(t),t.component,t,Kc(e),$c(e)+s.length,Qc(t))}const a=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:h,slicedSegments:l}=Pc(e,s,n,a.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution);if(0===l.length&&h.hasChildren()){const t=this.processChildren(a,h);return null===t?null:[new Gl(r,t)]}if(0===a.length&&0===l.length)return[new Gl(r,[])];const c=kc(t)===o,d=this.processSegment(a,h,l,c?tl:o);return null===d?null:[new Gl(r,d)]}}function Zc(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function qc(t){const e=[],i=new Set;for(const o of t){if(!Zc(o)){e.push(o);continue}const t=e.find(t=>o.value.routeConfig===t.value.routeConfig);void 0!==t?(t.children.push(...o.children),i.add(t)):e.push(o)}for(const o of i){const t=qc(o.children);e.push(new Gl(o.value,t))}return e.filter(t=>!i.has(t))}function Kc(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function $c(t){let e=t,i=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,i+=e._segmentIndexShift?e._segmentIndexShift:0;return i-1}function Jc(t){return t.data||{}}function Qc(t){return t.resolve||{}}function td(t){return oh(e=>{const i=t(e);return i?B(i).pipe(A(()=>e)):Fa(e)})}class ed extends class{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}{}const id=new wi("ROUTES");class od{constructor(t,e,i,o){this.loader=t,this.compiler=e,this.onLoadStartListener=i,this.onLoadEndListener=o}load(t,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const i=this.loadModuleFactory(e.loadChildren).pipe(A(i=>{this.onLoadEndListener&&this.onLoadEndListener(e);const o=i.create(t);return new fc(al(o.injector.get(id,void 0,mt.Self|mt.Optional)).map(Sc),o)}),mh(t=>{throw e._loader$=void 0,t}));return e._loader$=new Z(i,()=>new S).pipe(U()),e._loader$}loadModuleFactory(t){return"string"==typeof t?B(this.loader.load(t)):cl(t()).pipe(G(t=>t instanceof Ss?Fa(t):B(this.compiler.compileModuleAsync(t))))}}class rd{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new sd,this.attachRef=null}}class sd{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const i=this.getOrCreateContext(t);i.outlet=e,this.contexts.set(t,i)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new rd,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class nd{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function ad(t){throw t}function hd(t,e,i){return e.parse("/")}function ld(t,e){return Fa(null)}const cd={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},dd={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let pd=(()=>{class t{constructor(t,e,i,o,r,s,n,a){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=i,this.location=o,this.config=a,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new S,this.errorHandler=ad,this.malformedUriErrorHandler=hd,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:ld,afterPreactivation:ld},this.urlHandlingStrategy=new nd,this.routeReuseStrategy=new ed,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.ngModule=r.get(Cs),this.console=r.get(qs);const h=r.get(ln);this.isNgZoneEnabled=h instanceof ln&&ln.isInAngularZone(),this.resetConfig(a),this.currentUrlTree=new yl(new vl([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new od(s,n,t=>this.triggerEvent(new Vh(t)),t=>this.triggerEvent(new Zh(t))),this.routerState=Xl(this.currentUrlTree,this.rootComponentType),this.transitions=new Ua({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe(uh(t=>0!==t.id),A(t=>Object.assign(Object.assign({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),oh(t=>{let i=!1,o=!1;return Fa(t).pipe(Dh(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),oh(t=>{const i=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||i)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Fa(t).pipe(oh(t=>{const i=this.transitions.getValue();return e.next(new zh(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),i!==this.transitions.getValue()?th:Promise.resolve(t)}),function(t,e,i,o){return oh(r=>function(t,e,i,o,r){return new Rc(t,e,i,o,r).apply()}(t,e,i,r.extractedUrl,o).pipe(A(t=>Object.assign(Object.assign({},r),{urlAfterRedirects:t}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Dh(t=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:t.urlAfterRedirects})}),function(t,e,i,o,r){return G(s=>function(t,e,i,o,r="emptyOnly",s="legacy"){try{const n=new Vc(t,e,i,o,r,s).recognize();return null===n?Yc(new Uc):Fa(n)}catch(n){return Yc(n)}}(t,e,s.urlAfterRedirects,i(s.urlAfterRedirects),o,r).pipe(A(t=>Object.assign(Object.assign({},s),{targetSnapshot:t}))))}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),Dh(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects);const i=new Hh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(i)}));if(i&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:i,extractedUrl:o,source:r,restoredState:s,extras:n}=t,a=new zh(i,this.serializeUrl(o),r,s);e.next(a);const h=Xl(o,this.rootComponentType).snapshot;return Fa(Object.assign(Object.assign({},t),{targetSnapshot:h,urlAfterRedirects:o,extras:Object.assign(Object.assign({},n),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),th}),td(t=>{const{targetSnapshot:e,id:i,extractedUrl:o,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:n}}=t;return this.hooks.beforePreactivation(e,{navigationId:i,appliedUrlTree:o,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!n})}),Dh(t=>{const e=new Xh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),A(t=>Object.assign(Object.assign({},t),{guards:Wc(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return G(i=>{const{targetSnapshot:o,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:n}}=i;return 0===n.length&&0===s.length?Fa(Object.assign(Object.assign({},i),{guardsResult:!0})):function(t,e,i,o){return B(t).pipe(G(t=>function(t,e,i,o,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return s&&0!==s.length?Fa(s.map(s=>{const n=Hc(s,e,r);let a;if(function(t){return t&&gc(t.canDeactivate)}(n))a=cl(n.canDeactivate(t,e,i,o));else{if(!gc(n))throw new Error("Invalid CanDeactivate guard");a=cl(n(t,e,i,o))}return a.pipe(Eh())})).pipe(vc()):Fa(!0)}(t.component,t.route,i,e,o)),Eh(t=>!0!==t,!0))}(n,o,r,t).pipe(G(i=>i&&"boolean"==typeof i?function(t,e,i,o){return B(e).pipe(xh(e=>Qa(function(t,e){return null!==t&&e&&e(new qh(t)),Fa(!0)}(e.route.parent,o),function(t,e){return null!==t&&e&&e(new $h(t)),Fa(!0)}(e.route,o),function(t,e,i){const o=e[e.length-1],r=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>ih(()=>Fa(e.guards.map(r=>{const s=Hc(r,e.node,i);let n;if(function(t){return t&&gc(t.canActivateChild)}(s))n=cl(s.canActivateChild(o,t));else{if(!gc(s))throw new Error("Invalid CanActivateChild guard");n=cl(s(o,t))}return n.pipe(Eh())})).pipe(vc())));return Fa(r).pipe(vc())}(t,e.path,i),function(t,e,i){const o=e.routeConfig?e.routeConfig.canActivate:null;return o&&0!==o.length?Fa(o.map(o=>ih(()=>{const r=Hc(o,e,i);let s;if(function(t){return t&&gc(t.canActivate)}(r))s=cl(r.canActivate(e,t));else{if(!gc(r))throw new Error("Invalid CanActivate guard");s=cl(r(e,t))}return s.pipe(Eh())}))).pipe(vc()):Fa(!0)}(t,e.route,i))),Eh(t=>!0!==t,!0))}(o,s,t,e):Fa(i)),A(t=>Object.assign(Object.assign({},i),{guardsResult:t})))})}(this.ngModule.injector,t=>this.triggerEvent(t)),Dh(t=>{if(mc(t.guardsResult)){const e=ol(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}const e=new Fh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),uh(t=>{if(!t.guardsResult){this.resetUrlToCurrentUrlTree();const i=new Gh(t.id,this.serializeUrl(t.extractedUrl),"");return e.next(i),t.resolve(!1),!1}return!0}),td(t=>{if(t.guards.canActivateChecks.length)return Fa(t).pipe(Dh(t=>{const e=new Uh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),oh(t=>{let i=!1;return Fa(t).pipe((o=this.paramsInheritanceStrategy,r=this.ngModule.injector,G(t=>{const{targetSnapshot:e,guards:{canActivateChecks:i}}=t;if(!i.length)return Fa(t);let s=0;return B(i).pipe(xh(t=>function(t,e,i,o){return function(t,e,i,o){const r=Object.keys(t);if(0===r.length)return Fa({});const s={};return B(r).pipe(G(r=>function(t,e,i,o){const r=Hc(t,e,o);return cl(r.resolve?r.resolve(e,i):r(e,i))}(t[r],e,i,o).pipe(Dh(t=>{s[r]=t}))),bh(1),G(()=>Object.keys(s).length===r.length?Fa(s):th))}(t._resolve,t,e,o).pipe(A(e=>(t._resolvedData=e,t.data=Object.assign(Object.assign({},t.data),Ul(t,i).resolve),null)))}(t.route,e,o,r)),Dh(()=>s++),bh(1),G(e=>s===i.length?Fa(t):th))})),Dh({next:()=>i=!0,complete:()=>{if(!i){const i=new Gh(t.id,this.serializeUrl(t.extractedUrl),"At least one route resolver didn't emit any value.");e.next(i),t.resolve(!1)}}}));var o,r}),Dh(t=>{const e=new Yh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}))}),td(t=>{const{targetSnapshot:e,id:i,extractedUrl:o,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:n}}=t;return this.hooks.afterPreactivation(e,{navigationId:i,appliedUrlTree:o,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!n})}),A(t=>{const e=function(t,e,i){const o=Jl(t,e._root,i?i._root:void 0);return new Hl(o,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign(Object.assign({},t),{targetRouterState:e})}),Dh(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),this.browserUrlTree=t.urlAfterRedirects)}),(s=this.rootContexts,n=this.routeReuseStrategy,a=t=>this.triggerEvent(t),A(t=>(new pc(n,t.targetRouterState,t.currentRouterState,a).activate(s),t))),Dh({next(){i=!0},complete(){i=!0}}),(r=()=>{if(!i&&!o){this.resetUrlToCurrentUrlTree();const i=new Gh(t.id,this.serializeUrl(t.extractedUrl),`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`);e.next(i),t.resolve(!1)}this.currentNavigation=null},t=>t.lift(new _h(r))),mh(i=>{if(o=!0,(r=i)&&r.ngNavigationCancelingError){const o=mc(i.url);o||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const r=new Gh(t.id,this.serializeUrl(t.extractedUrl),i.message);e.next(r),o?setTimeout(()=>{const e=this.urlHandlingStrategy.merge(i.url,this.rawUrlTree);this.scheduleNavigation(e,"imperative",null,{skipLocationChange:t.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:t.resolve,reject:t.reject,promise:t.promise})},0):t.resolve(!1)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const o=new Wh(t.id,this.serializeUrl(t.extractedUrl),i);e.next(o);try{t.resolve(this.errorHandler(i))}catch(s){t.reject(s)}}var r;return th}));var r,s,n,a}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const e=this.extractLocationChangeInfoFromEvent(t);this.shouldScheduleNavigation(this.lastLocationChangeInfo,e)&&setTimeout(()=>{const{source:t,state:i,urlTree:o}=e,r={replaceUrl:!0};if(i){const t=Object.assign({},i);delete t.navigationId,0!==Object.keys(t).length&&(r.state=t)}this.scheduleNavigation(o,t,i,r)},0),this.lastLocationChangeInfo=e}))}extractLocationChangeInfoFromEvent(t){var e;return{source:"popstate"===t.type?"popstate":"hashchange",urlTree:this.parseUrl(t.url),state:(null===(e=t.state)||void 0===e?void 0:e.navigationId)?t.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(t,e){if(!t)return!0;const i=e.urlTree.toString()===t.urlTree.toString();return!(e.transitionId===t.transitionId&&i&&("hashchange"===e.source&&"popstate"===t.source||"popstate"===e.source&&"hashchange"===t.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){bc(t),this.config=t.map(Sc),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,e={}){const{relativeTo:i,queryParams:o,fragment:r,queryParamsHandling:s,preserveFragment:n}=e,a=i||this.routerState.root,h=n?this.currentUrlTree.fragment:r;let l=null;switch(s){case"merge":l=Object.assign(Object.assign({},this.currentUrlTree.queryParams),o);break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=o||null}return null!==l&&(l=this.removeEmptyProps(l)),function(t,e,i,o,r){if(0===i.length)return ic(e.root,e.root,e,o,r);const s=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new rc(!0,0,t);let e=0,i=!1;const o=t.reduce((t,o,r)=>{if("object"==typeof o&&null!=o){if(o.outlets){const e={};return ll(o.outlets,(t,i)=>{e[i]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(o.segmentPath)return[...t,o.segmentPath]}return"string"!=typeof o?[...t,o]:0===r?(o.split("/").forEach((o,r)=>{0==r&&"."===o||(0==r&&""===o?i=!0:".."===o?e++:""!=o&&t.push(o))}),t):[...t,o]},[]);return new rc(i,e,o)}(i);if(s.toRoot())return ic(e.root,new vl([],{}),e,o,r);const n=function(t,e,i){if(t.isAbsolute)return new sc(e.root,!0,0);if(-1===i.snapshot._lastPathIndex){const t=i.snapshot._urlSegment;return new sc(t,t===e.root,0)}const o=tc(t.commands[0])?0:1;return function(t,e,i){let o=t,r=e,s=i;for(;s>r;){if(s-=r,o=o.parent,!o)throw new Error("Invalid number of '../'");r=o.segments.length}return new sc(o,!1,r-s)}(i.snapshot._urlSegment,i.snapshot._lastPathIndex+o,t.numberOfDoubleDots)}(s,e,t),a=n.processChildren?ac(n.segmentGroup,n.index,s.commands):nc(n.segmentGroup,n.index,s.commands);return ic(n.segmentGroup,a,e,o,r)}(a,this.currentUrlTree,t,l,null!=h?h:null)}navigateByUrl(t,e={skipLocationChange:!1}){const i=mc(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,"imperative",null,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e<t.length;e++){const i=t[e];if(null==i)throw new Error(`The requested path contains ${i} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,e),e)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let e;try{e=this.urlSerializer.parse(t)}catch(i){e=this.malformedUriErrorHandler(i,this.urlSerializer,t)}return e}isActive(t,e){let i;if(i=!0===e?Object.assign({},cd):!1===e?Object.assign({},dd):e,mc(t))return ul(this.currentUrlTree,t,i);const o=this.parseUrl(t);return ul(this.currentUrlTree,o,i)}removeEmptyProps(t){return Object.keys(t).reduce((e,i)=>{const o=t[i];return null!=o&&(e[i]=o),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.events.next(new Nh(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,i,o,r){if(this.disposed)return Promise.resolve(!1);const s=this.getTransition(),n="imperative"!==e&&"imperative"===(null==s?void 0:s.source),a=(this.lastSuccessfulId===s.id||this.currentNavigation?s.rawUrl:s.urlAfterRedirects).toString()===t.toString();if(n&&a)return Promise.resolve(!0);let h,l,c;r?(h=r.resolve,l=r.reject,c=r.promise):c=new Promise((t,e)=>{h=t,l=e});const d=++this.navigationId;return this.setTransition({id:d,source:e,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:o,resolve:h,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(t=>Promise.reject(t))}setBrowserUrl(t,e,i,o){const r=this.urlSerializer.serialize(t);o=o||{},this.location.isCurrentPathEqualTo(r)||e?this.location.replaceState(r,"",Object.assign(Object.assign({},o),{navigationId:i})):this.location.go(r,"",Object.assign(Object.assign({},o),{navigationId:i}))}resetStateAndUrl(t,e,i){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,i),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}return t.\u0275fac=function(e){return new(e||t)(Ii(Si),Ii(wl),Ii(sd),Ii(ia),Ii(Cr),Ii(Ln),Ii(nn),Ii(void 0))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),ud=(()=>{class t{constructor(t,e,i,o,r){this.parentContexts=t,this.location=e,this.resolver=i,this.changeDetector=r,this.activated=null,this._activatedRoute=null,this.activateEvents=new Gs,this.deactivateEvents=new Gs,this.name=o||tl,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const i=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),o=this.parentContexts.getOrCreateContext(this.name).children,r=new fd(t,o,this.location.injector);this.activated=this.location.createComponent(i,this.location.length,r),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(Pr(sd),Pr(Ms),Pr(Ur),("name",function(t,e){const i=t.attrs;if(i){const t=i.length;let o=0;for(;o<t;){const r=i[o];if(Ze(r))break;if(0===r)o+=2;else if("number"==typeof r)for(o++;o<t&&"string"==typeof i[o];)o++;else{if(r===e)return i[o+1];o+=2}}}return null}(we(),"name")),Pr(vs))},t.\u0275dir=Ft({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),t})();class fd{constructor(t,e,i){this.route=t,this.childContexts=e,this.parent=i}get(t,e){return t===Fl?this.route:t===sd?this.childContexts:this.parent.get(t,e)}}class gd{}class md{preload(t,e){return Fa(null)}}let yd=(()=>{class t{constructor(t,e,i,o,r){this.router=t,this.injector=o,this.preloadingStrategy=r,this.loader=new od(e,i,e=>t.triggerEvent(new Vh(e)),e=>t.triggerEvent(new Zh(e)))}setUpPreloading(){this.subscription=this.router.events.pipe(uh(t=>t instanceof Nh),xh(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(Cs);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,e){const i=[];for(const o of e)if(o.loadChildren&&!o.canLoad&&o._loadedConfig){const t=o._loadedConfig;i.push(this.processRoutes(t.module,t.routes))}else o.loadChildren&&!o.canLoad?i.push(this.preloadConfig(t,o)):o.children&&i.push(this.processRoutes(t,o.children));return B(i).pipe(X(),A(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>(e._loadedConfig?Fa(e._loadedConfig):this.loader.load(t.injector,e)).pipe(G(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(Ii(pd),Ii(Ln),Ii(nn),Ii(Cr),Ii(gd))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),vd=(()=>{class t{constructor(t,e,i={}){this.router=t,this.viewportScroller=e,this.options=i,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},i.scrollPositionRestoration=i.scrollPositionRestoration||"disabled",i.anchorScrolling=i.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof zh?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Nh&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Qh&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new Qh(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Ii(pd),Ii(ca),Ii(void 0))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const xd=new wi("ROUTER_CONFIGURATION"),bd=new wi("ROUTER_FORROOT_GUARD"),wd=[ia,{provide:wl,useClass:Cl},{provide:pd,useFactory:function(t,e,i,o,r,s,n,a={},h,l){const c=new pd(null,t,e,i,o,r,s,al(n));return h&&(c.urlHandlingStrategy=h),l&&(c.routeReuseStrategy=l),function(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy)}(a,c),a.enableTracing&&c.events.subscribe(t=>{var e,i;null===(e=console.group)||void 0===e||e.call(console,`Router Event: ${t.constructor.name}`),console.log(t.toString()),console.log(t),null===(i=console.groupEnd)||void 0===i||i.call(console)}),c},deps:[wl,sd,ia,Cr,Ln,nn,id,xd,[class{},new zi],[class{},new zi]]},sd,{provide:Fl,useFactory:function(t){return t.routerState.root},deps:[pd]},{provide:Ln,useClass:In},yd,md,class{preload(t,e){return e().pipe(mh(()=>Fa(null)))}},{provide:xd,useValue:{enableTracing:!1}}];function Cd(){return new kn("Router",pd)}let Sd=(()=>{class t{constructor(t,e){}static forRoot(e,i){return{ngModule:t,providers:[wd,Td(e),{provide:bd,useFactory:Ad,deps:[[pd,new zi,new Ni]]},{provide:xd,useValue:i||{}},{provide:$n,useFactory:Md,deps:[Hn,[new Ri(Qn),new zi],xd]},{provide:vd,useFactory:kd,deps:[pd,ca,xd]},{provide:gd,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:md},{provide:kn,multi:!0,useFactory:Cd},[Pd,{provide:Ws,multi:!0,useFactory:Od,deps:[Pd]},{provide:Ld,useFactory:Ed,deps:[Pd]},{provide:Zs,multi:!0,useExisting:Ld}]]}}static forChild(e){return{ngModule:t,providers:[Td(e)]}}}return t.\u0275fac=function(e){return new(e||t)(Ii(bd,8),Ii(pd,8))},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({}),t})();function kd(t,e,i){return i.scrollOffset&&e.setOffset(i.scrollOffset),new vd(t,e,i)}function Md(t,e,i={}){return i.useHash?new ea(t,e):new ta(t,e)}function Ad(t){return"guarded"}function Td(t){return[{provide:Ci,multi:!0,useValue:t},{provide:id,multi:!0,useValue:t}]}let Pd=(()=>{class t{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new S}appInitializer(){return this.injector.get(Fn,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),i=this.injector.get(pd),o=this.injector.get(xd);return"disabled"===o.initialNavigation?(i.setUpLocationChangeListener(),t(!0)):"enabled"===o.initialNavigation||"enabledBlocking"===o.initialNavigation?(i.hooks.afterPreactivation=()=>this.initNavigation?Fa(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),i.initialNavigation()):t(!0),e})}bootstrapListener(t){const e=this.injector.get(xd),i=this.injector.get(yd),o=this.injector.get(vd),r=this.injector.get(pd),s=this.injector.get(On);t===s.components[0]&&("enabledNonBlocking"!==e.initialNavigation&&void 0!==e.initialNavigation||r.initialNavigation(),i.setUpPreloading(),o.init(),r.resetRootComponentType(s.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}}return t.\u0275fac=function(e){return new(e||t)(Ii(Cr))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();function Od(t){return t.appInitializer.bind(t)}function Ed(t){return t.bootstrapListener.bind(t)}const Ld=new wi("Router Initializer");var Dd=i(980);class jd extends S{constructor(){super(...arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}_subscribe(t){return this.hasError?(t.error(this.thrownError),d.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),d.EMPTY):super._subscribe(t)}next(t){this.hasCompleted||(this.value=t,this.hasNext=!0)}error(t){this.hasCompleted||super.error(t)}complete(){this.hasCompleted=!0,this.hasNext&&super.next(this.value),super.complete()}}var Id=i(969),_d=i(712),Bd=i(781);class Rd{constructor(t={series:[]}){this.options=t,this.refSubject=new jd,this.ref$=this.refSubject.asObservable()}addPoint(t,e=0,i=!0,o=!1){this.ref$.subscribe(r=>{r.series.length>e&&r.series[e].addPoint(t,i,o)})}addSeries(t,e=!0,i){this.ref$.subscribe(o=>{o.addSeries(t,e,i)})}removePoint(t,e=0){this.ref$.subscribe(i=>{i.series.length>e&&i.series[e].data.length>t&&i.series[e].removePoint(t,!0)})}removeSeries(t){this.ref$.subscribe(e=>{e.series.length>t&&e.series[t].remove(!0)})}init(t){this.ref||(0,Dd.chart)(t.nativeElement,this.options,t=>{this.ref||(this.refSubject.next(t),this.ref=t,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new jd,this.ref$=this.refSubject.asObservable())}}class zd{constructor(t={series:[]}){this.options=t,this.refSubject=new jd,this.ref$=this.refSubject.asObservable()}init(t){this.ref||(0,Id.mapChart)(t.nativeElement,this.options,t=>{this.ref||(this.refSubject.next(t),this.ref=t,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new jd,this.ref$=this.refSubject.asObservable())}}class Nd{constructor(t={series:[]}){this.options=t,this.refSubject=new jd,this.ref$=this.refSubject.asObservable()}init(t){this.ref||(0,_d.stockChart)(t.nativeElement,this.options,t=>{this.ref||(this.refSubject.next(t),this.ref=t,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new jd,this.ref$=this.refSubject.asObservable())}}class Gd{constructor(t={series:[]}){this.options=t,this.refSubject=new jd,this.ref$=this.refSubject.asObservable()}init(t){this.ref||(0,Bd.ganttChart)(t.nativeElement,this.options,t=>{this.ref||(this.refSubject.next(t),this.ref=t,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new jd,this.ref$=this.refSubject.asObservable())}}let Wd=(()=>{class t{constructor(t){this.el=t}ngOnChanges(t){t.chart.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof Rd||this.chart instanceof Nd||this.chart instanceof zd||this.chart instanceof Gd)&&this.chart.init(this.el)}destroy(){(this.chart instanceof Rd||this.chart instanceof Nd||this.chart instanceof zd||this.chart instanceof Gd)&&this.chart.destroy()}}return t.\u0275fac=function(e){return new(e||t)(Pr(qr))},t.\u0275dir=Ft({type:t,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[ee]}),t})(),Hd=new wi("HighchartsModules"),Xd=(()=>{class t{constructor(t){this.chartModules=t}initModules(){this.chartModules.forEach(t=>{t(Dd)})}}return t.\u0275fac=function(e){return new(e||t)(Ii(Hd))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const Fd=[];let Ud=(()=>{class t{constructor(t){this.cs=t,this.cs.initModules()}}return t.\u0275fac=function(e){return new(e||t)(Ii(Xd))},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:[{provide:Hd,useValue:Fd},Xd]}),t})();const Yd={chart:{type:"line",backgroundColor:"white"},title:void 0,credits:{enabled:!1},series:[{type:"spline",color:"white",enableMouseTracking:!1}]},Vd={chart:{type:"line",backgroundColor:"black"},title:void 0,credits:{enabled:!1},series:[{type:"spline",color:"white",enableMouseTracking:!1}]},Zd=function(){let t={};return decodeURIComponent(location.search).substring(1).split("&").forEach(e=>{const i=e.split("=");if(1===i.length)t[i[0]]=!0;else if(2===i.length)t[i[0]]=i[1];else{const o=e.indexOf("=");t[i[0]]=e.substring(o+1)}}),t},qd="./assets/sett/common-sett";class Kd{}class $d{}class Jd{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const i=t.slice(0,e),o=i.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(i,o),this.headers.has(o)?this.headers.get(o).push(r):this.headers.set(o,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const o=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(o,i),this.maybeSetNormalizedName(e,o))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Jd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Jd;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Jd?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const o=("a"===t.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Qd{encodeKey(t){return tp(t)}encodeValue(t){return tp(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function tp(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function ep(t){return`${t}`}class ip{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Qd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const i=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const o=t.indexOf("="),[r,s]=-1==o?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,o)),e.decodeValue(t.slice(o+1))],n=i.get(r)||[];n.push(s),i.set(r,n)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e];this.map.set(e,Array.isArray(i)?i:[i])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const o=t[i];Array.isArray(o)?o.forEach(t=>{e.push({param:i,value:t,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new ip({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(ep(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const i=e.indexOf(ep(t.value));-1!==i&&e.splice(i,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class op{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function rp(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function sp(t){return"undefined"!=typeof Blob&&t instanceof Blob}function np(t){return"undefined"!=typeof FormData&&t instanceof FormData}class ap{constructor(t,e,i,o){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,r=o):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Jd),this.context||(this.context=new op),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const i=e.indexOf("?");this.urlWithParams=e+(-1===i?"?":i<e.length-1?"&":"")+t}}else this.params=new ip,this.urlWithParams=e}serializeBody(){return null===this.body?null:rp(this.body)||sp(this.body)||np(this.body)||"string"==typeof this.body?this.body:this.body instanceof ip?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||np(this.body)?null:sp(this.body)?this.body.type||null:rp(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof ip?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(t={}){var e;const i=t.method||this.method,o=t.url||this.url,r=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,n=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,a=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let h=t.headers||this.headers,l=t.params||this.params;const c=null!==(e=t.context)&&void 0!==e?e:this.context;return void 0!==t.setHeaders&&(h=Object.keys(t.setHeaders).reduce((e,i)=>e.set(i,t.setHeaders[i]),h)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,i)=>e.set(i,t.setParams[i]),l)),new ap(i,o,s,{params:l,headers:h,context:c,reportProgress:a,responseType:r,withCredentials:n})}}var hp=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}({});class lp{constructor(t,e=200,i="OK"){this.headers=t.headers||new Jd,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=hp.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class dp extends lp{constructor(t={}){super(t),this.type=hp.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new dp({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class pp extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let fp=(()=>{class t{constructor(t){this.handler=t}request(t,e,i={}){let o;if(t instanceof ap)o=t;else{let r,s;r=i.headers instanceof Jd?i.headers:new Jd(i.headers),i.params&&(s=i.params instanceof ip?i.params:new ip({fromObject:i.params})),o=new ap(t,e,void 0!==i.body?i.body:null,{headers:r,context:i.context,params:s,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const r=Fa(o).pipe(xh(t=>this.handler.handle(t)));if(t instanceof ap||"events"===i.observe)return r;const s=r.pipe(uh(t=>t instanceof dp));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return s.pipe(A(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(A(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(A(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(A(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new ip).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,i={}){return this.request("PATCH",t,up(i,e))}post(t,e,i={}){return this.request("POST",t,up(i,e))}put(t,e,i={}){return this.request("PUT",t,up(i,e))}}return t.\u0275fac=function(e){return new(e||t)(Ii(Kd))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();class gp{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const mp=new wi("HTTP_INTERCEPTORS");let yp=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const vp=/^\)\]\}',?\n/;let xp=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new v(e=>{const i=this.xhrFactory.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((t,e)=>i.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&i.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();i.responseType="json"!==e?e:"text"}const o=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===i.status?204:i.status,o=i.statusText||"OK",s=new Jd(i.getAllResponseHeaders()),n=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(i)||t.url;return r=new cp({headers:s,status:e,statusText:o,url:n}),r},n=()=>{let{headers:o,status:r,statusText:n,url:a}=s(),h=null;204!==r&&(h=void 0===i.response?i.responseText:i.response),0===r&&(r=h?200:0);let l=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof h){const t=h;h=h.replace(vp,"");try{h=""!==h?JSON.parse(h):null}catch(c){h=t,l&&(l=!1,h={error:c,text:h})}}l?(e.next(new dp({body:h,headers:o,status:r,statusText:n,url:a||void 0})),e.complete()):e.error(new pp({error:h,headers:o,status:r,statusText:n,url:a||void 0}))},a=t=>{const{url:o}=s(),r=new pp({error:t,status:i.status||0,statusText:i.statusText||"Unknown Error",url:o||void 0});e.error(r)};let h=!1;const l=o=>{h||(e.next(s()),h=!0);let r={type:hp.DownloadProgress,loaded:o.loaded};o.lengthComputable&&(r.total=o.total),"text"===t.responseType&&i.responseText&&(r.partialText=i.responseText),e.next(r)},c=t=>{let i={type:hp.UploadProgress,loaded:t.loaded};t.lengthComputable&&(i.total=t.total),e.next(i)};return i.addEventListener("load",n),i.addEventListener("error",a),i.addEventListener("timeout",a),i.addEventListener("abort",a),t.reportProgress&&(i.addEventListener("progress",l),null!==o&&i.upload&&i.upload.addEventListener("progress",c)),i.send(o),e.next({type:hp.Sent}),()=>{i.removeEventListener("error",a),i.removeEventListener("abort",a),i.removeEventListener("load",n),i.removeEventListener("timeout",a),t.reportProgress&&(i.removeEventListener("progress",l),null!==o&&i.upload&&i.upload.removeEventListener("progress",c)),i.readyState!==i.DONE&&i.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ii(ua))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})();const bp=new wi("XSRF_COOKIE_NAME"),wp=new wi("XSRF_HEADER_NAME");class Cp{}let Sp=(()=>{class t{constructor(t,e,i){this.doc=t,this.platform=e,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=ha(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ii(Wn),Ii(Vs),Ii(bp))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),kp=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const i=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||i.startsWith("http://")||i.startsWith("https://"))return e.handle(t);const o=this.tokenService.getToken();return null===o||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,o)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ii(Cp),Ii(wp))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),Mp=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(mp,[]);this.chain=t.reduceRight((t,e)=>new gp(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ii($d),Ii(Cr))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),Ap=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:kp,useClass:yp}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:bp,useValue:e.cookieName}:[],e.headerName?{provide:wp,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:[kp,{provide:mp,useExisting:kp,multi:!0},{provide:Cp,useClass:Sp},{provide:bp,useValue:"XSRF-TOKEN"},{provide:wp,useValue:"X-XSRF-TOKEN"}]}),t})(),Tp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({providers:[fp,{provide:Kd,useClass:Mp},xp,{provide:$d,useExisting:xp}],imports:[[Ap.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})(),Pp=(()=>{class t{constructor(t){this.http=t}get settings(){return this._sett}loadCommSett(){const t="?ts="+Math.floor(Date.now()/1e3).toString(),e=Zd(),i=(e.commsett?qd+"_"+e.commsett:qd)+".json"+t;return new Promise((t,e)=>{this.http.get(i).pipe(mh(o=>{console.log("Configuration file "+i+" could not be read"),e(`<h2 style="color:red;">\u041a\u043e\u043d\u0444. \u0444\u0430\u0439\u043b ${i} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d</h2>`),t(!1)})).subscribe(e=>{this._sett=e,t(!0)})})}}return t.\u0275fac=function(e){return new(e||t)(Ii(fp))},t.\u0275prov=at({token:t,factory:t.\u0275fac}),t})(),Op=(()=>{class t{constructor(){this.debugMode=!1,void 0!==Zd().dbg&&(this.debugMode=!0)}myConsoleLog(t,...e){this.debugMode&&(console.log(t),e.length&&e.forEach(t=>console.log(t)))}myTmpConsoleLog(t,...e){}errorLog(t,...e){console.log("error"),console.error(t),e.length&&e.forEach(t=>console.log(t))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ep=(()=>{class t{constructor(t,e){this.config=t,this.myconsole=e,this.settingsFromFile(),this.settingFromUrl()}get wsHost(){return this._wsHost}get tangoAttributes(){return this._tangoAttributes}get serverMode(){return this._servermode}get settFromUrl(){return this._settFromUrl}settingFromUrl(){var t;const e=Zd();if(this._settFromUrl=e,e.testmode)return void this.forTestMode(e);let i,o;e.dev&&(i=e.dev.toLowerCase()),e.attrs&&(o=e.attrs.toLowerCase()),this.myconsole.myConsoleLog(`device: ${i} \t attr: ${o}`),this._tangoAttributes={inited:!!i&&!!o,device:i,attributes:null==o?void 0:o.split(","),aliases:null===(t=e.aliases)||void 0===t?void 0:t.split(",")}}settingsFromFile(){const t=this.config.settings.websocket;t.ws_url?this._wsHost=t.ws_url:t.ws_path&&(this._wsHost="ws://"+window.location.hostname+"/"+this.config.settings.websocket.ws_path),this._servermode=t.is_server_mode}forTestMode(t){this.myconsole.myConsoleLog(`device: ${t.dev} \t attr: ${t.attrs}`),this._tangoAttributes={inited:!0,device:t.dev?t.dev:"test/test/test",attributes:t.attrs?t.attrs.split(","):["testattr"],aliases:t.aliases?t.aliases.split(","):["testalias"]}}}return t.\u0275fac=function(e){return new(e||t)(Ii(Pp),Ii(Op))},t.\u0275prov=at({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Lp extends d{constructor(t,e){super()}schedule(t,e=0){return this}}class Dp extends Lp{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(o,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let i,o=!1;try{this.work(t)}catch(r){o=!0,i=!!r&&r||new Error(r)}if(o)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,o=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==o&&i.splice(o,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let jp=(()=>{class t{constructor(e,i=t.now){this.SchedulerAction=e,this.now=i}schedule(t,e=0,i){return new this.SchedulerAction(this,t).schedule(i,e)}}return t.now=()=>Date.now(),t})();class Ip extends jp{constructor(t,e=jp.now){super(t,()=>Ip.delegate&&Ip.delegate!==this?Ip.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return Ip.delegate&&Ip.delegate!==this?Ip.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const _p=new Ip(Dp);function Bp(t){const{subscriber:e,counter:i,period:o}=t;e.next(i),this.schedule({subscriber:e,counter:i+1,period:o},o)}var Rp=i(655);class zp extends Dp{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}}class Np extends Ip{}const Gp=new Np(zp);let Wp=(()=>{class t{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return Fa(this.value);case"E":return t=this.error,new v(e=>e.error(t));case"C":return eh()}var t;throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new t("N",e):t.undefinedValueNotification}static createError(e){return new t("E",void 0,e)}static createComplete(){return t.completeNotification}}return t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t})();class Hp extends f{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(Hp.dispatch,this.delay,new Xp(t,this.destination)))}_next(t){this.scheduleMessage(Wp.createNext(t))}_error(t){this.scheduleMessage(Wp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(Wp.createComplete()),this.unsubscribe()}}class Xp{constructor(t,e){this.notification=t,this.destination=e}}class Fp extends S{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new Up(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),o=this.scheduler,r=i.length;let s;if(this.closed)throw new b;if(this.isStopped||this.hasError?s=d.EMPTY:(this.observers.push(t),s=new w(this,t)),o&&t.add(t=new Hp(t,o)),e)for(let n=0;n<r&&!t.closed;n++)t.next(i[n]);else for(let n=0;n<r&&!t.closed;n++)t.next(i[n].value);return this.hasError?t.error(this.thrownError):this.isStopped&&t.complete(),s}_getNow(){return(this.scheduler||Gp).now()}_trimBufferThenGetEvents(){const t=this._getNow(),e=this._bufferSize,i=this._windowTime,o=this._events,r=o.length;let s=0;for(;s<r&&!(t-o[s].time<i);)s++;return r>e&&(s=Math.max(s,r-e)),s>0&&o.splice(0,s),o}}class Up{constructor(t,e){this.time=t,this.value=e}}const Yp={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class Vp extends k{constructor(t,e){if(super(),t instanceof v)this.destination=e,this.source=t;else{const e=this._config=Object.assign({},Yp);if(this._output=new S,"string"==typeof t)e.url=t;else for(let i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);if(!e.WebSocketCtor&&WebSocket)e.WebSocketCtor=WebSocket;else if(!e.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new Fp}}lift(t){const e=new Vp(this._config,this.destination);return e.operator=t,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new Fp),this._output=new S}multiplex(t,e,i){const o=this;return new v(r=>{try{o.next(t())}catch(n){r.error(n)}const s=o.subscribe(t=>{try{i(t)&&r.next(t)}catch(n){r.error(n)}},t=>r.error(t),()=>r.complete());return()=>{try{o.next(e())}catch(n){r.error(n)}s.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:t,protocol:e,url:i,binaryType:o}=this._config,r=this._output;let s=null;try{s=e?new t(i,e):new t(i),this._socket=s,o&&(this._socket.binaryType=o)}catch(a){return void r.error(a)}const n=new d(()=>{this._socket=null,s&&1===s.readyState&&s.close()});s.onopen=t=>{const{_socket:e}=this;if(!e)return s.close(),void this._resetState();const{openObserver:i}=this._config;i&&i.next(t);const o=this.destination;this.destination=f.create(e=>{if(1===s.readyState)try{const{serializer:t}=this._config;s.send(t(e))}catch(t){this.destination.error(t)}},t=>{const{closingObserver:e}=this._config;e&&e.next(void 0),t&&t.code?s.close(t.code,t.reason):r.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:t}=this._config;t&&t.next(void 0),s.close(),this._resetState()}),o&&o instanceof Fp&&n.add(o.subscribe(this.destination))},s.onerror=t=>{this._resetState(),r.error(t)},s.onclose=t=>{this._resetState();const{closeObserver:e}=this._config;e&&e.next(t),t.wasClean?r.complete():r.error(t)},s.onmessage=t=>{try{const{deserializer:e}=this._config;r.next(e(t))}catch(e){r.error(e)}}}_subscribe(t){const{source:e}=this;return e?e.subscribe(t):(this._socket||this._connectSocket(),this._output.subscribe(t),t.add(()=>{const{_socket:t}=this;0===this._output.observers.length&&(t&&1===t.readyState&&t.close(),this._resetState())}),t)}unsubscribe(){const{_socket:t}=this;t&&1===t.readyState&&t.close(),this._resetState(),super.unsubscribe()}}const Zp="eventreq_add_dev",qp="read_attr",Kp="from_event",$p="read";var Jp=function(t){return t.CHANGE="change",t.PERIODIC="periodic",t.USER="user",t}({});let Qp=(()=>{class t{constructor(t,e){if(this.sett=t,this.myconsole=e,this._wsStateSubj=new S,this._wsDataSubj=new S,this._wsErrSubj=new S,this.errors={},void 0===this.sett.settFromUrl.testmode)if(this.sett.tangoAttributes.inited){if(this.opCloseObservers=this._openCloseObservers(),this.sett.tangoAttributes){this.wssub={type_req:Zp},this.wsAttr={type_req:qp,attr_name:this.sett.tangoAttributes.attributes,device_name:this.sett.tangoAttributes.device},this.errors[this.sett.tangoAttributes.device]={};const t=this.errors[this.sett.tangoAttributes.device];this.sett.tangoAttributes.attributes.forEach(e=>t[e]=""),this.attrListForEvent(this.sett.settFromUrl.eventtype===Jp.CHANGE||this.sett.settFromUrl.eventtype===Jp.PERIODIC||this.sett.settFromUrl.eventtype===Jp.USER?this.sett.settFromUrl.eventtype:Jp.CHANGE)}this.wsConfig={url:this.sett.wsHost,openObserver:this.opCloseObservers.openWsObs,closeObserver:this.opCloseObservers.closeWsObs},this._connect()}else this._wsStateSubj.next({errorState:!0,errorMess:"\u041d\u0415 \u0423\u041a\u0410\u0417\u0410\u041d\u042b \u0410\u0422\u0420\u0418\u0411\u0423\u0422\u042b \u0418 \u0414\u0415\u0412\u0410\u0419\u0421 \u0414\u041b\u042f \u041f\u041e\u0414\u041f\u0418\u0421\u041a\u0418 \u041d\u0410 \u0421\u041e\u0411\u042b\u0422\u0418\u042f \u0427\u0415\u0420\u0415\u0417 WEBSOCKET"});else this.forTestMode(this.sett.tangoAttributes)}get dataObservable(){return this._wsDataSubj.asObservable()}get stateObservable(){return this._wsStateSubj.asObservable()}get errorObs(){return this._wsErrSubj.asObservable()}attrListForEvent(t){const e=this.sett.tangoAttributes.device;this.wssub[t]={},this.wssub[t][e]=this.sett.tangoAttributes.attributes}_openCloseObservers(){return{openWsObs:{next:t=>{this.myconsole.myConsoleLog("WebSocket connected!"),this._wsStateSubj.next({errorState:!1}),this.sett.serverMode||(this.ws.next(this.wssub),this.ws.next(this.wsAttr))}},closeWsObs:{next:t=>{this.myconsole.myConsoleLog("Websocket closed with err: ",t.code,t.reason),this._wsStateSubj.next({errorState:!0,errorMess:"\u041d\u0415\u0422 \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u042f \u0421 WEBSOCKET"}),function(t=0,e=_p){var i;return(h(i=t)||!(i-parseFloat(i)+1>=0)||t<0)&&(t=0),e&&"function"==typeof e.schedule||(e=_p),new v(i=>(i.add(e.schedule(Bp,t,{subscriber:i,counter:0,period:t})),i))}(1e3).pipe((0,Rp.take)(1)).subscribe({next:()=>{this.myconsole.myConsoleLog("RECONNECT!!!"),this._connect()}})}}}}_connect(){this.wssub&&(this.ws=new Vp(this.wsConfig),this.ws.subscribe(t=>this.readWsMessage(t)))}readWsMessage(t){if("error"===t.event)return this.errorsDataProc(t),void this.checkErrors();if(this.myconsole.myConsoleLog(`new data from ws. type_req=${t.type_req}`),t.type_req===Kp&&t.event===$p){const e=t.attr.toLowerCase().split("/"),i=e[e.length-1];this._wsDataSubj.next(Object.assign(Object.assign({},t),{attr_short:i})),this.errors[this.sett.tangoAttributes.device][i]=""}t.type_req===qp&&t.event===$p&&Object.keys(t.data).forEach(e=>{const i=e.toLowerCase(),o=i.split("/"),r=o[o.length-1];this._wsDataSubj.next(Object.assign(Object.assign({},t),{attr_short:r,attr:i,data:t.data[e].data,dimX:t.data[e].dimX}))}),this.checkErrors()}errorsDataProc(t){this.myconsole.myConsoleLog("Error from WS",t),t.type_req===Zp&&"from_event_sub"===t.type_err&&t.errors.forEach(t=>this.errors[t.device.toLowerCase()][t.attribute.toLowerCase()]=`\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u043d\u0430 ${t.attribute.toLowerCase()} <br>`),"event_err"===t.type_err&&(this.errors[t.device_name.toLowerCase()][t.attr_name.toLowerCase()]=`\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u0437 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 ${t.attr_name.toLowerCase()} <br>`)}checkErrors(){let t="";Object.keys(this.errors).forEach(e=>Object.keys(this.errors[e]).forEach(i=>{this.errors[e][i].length&&(t+=this.errors[e][i])})),t!==this.errorMessage&&(this.errorMessage=t,this._wsErrSubj.next(this.errorMessage))}forTestMode(t){let e=t.device;const i=t.attributes;setInterval(()=>{i.forEach(t=>{const i=Array.from({length:255},()=>255*Math.random());this._wsDataSubj.next({data:i,attr:`${e}/${t}`,attr_short:`${t}`,dimX:255,event:"read",type_req:Kp})})},1e3)}}return t.\u0275fac=function(e){return new(e||t)(Ii(Ep),Ii(Op))},t.\u0275prov=at({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),tu=(()=>{class t{constructor(t,e,i){this.sett=t,this.wsClient=e,this.myconsole=i,this.initAttrList(),this.initChart(),this.wsDataSubscribe()}get chart(){return this.attributeChart}initAttrList(){this.tangoAttributes=this.sett.tangoAttributes,this.attrList=this.tangoAttributes.attributes,this.aliasesList=this.tangoAttributes.aliases}initChart(){var t,e,i,o;let r,s="";try{r=hcscript}catch(n){this.sett.settFromUrl.testmode&&!this.sett.settFromUrl.chartscript?(this.myconsole.myConsoleLog("\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c src/app/services/fortest/testchart.ts"),r=Vd):(r=Yd,this.sett.settFromUrl.chartscript&&(s+=`\u041d\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 chartscript=${this.sett.settFromUrl.chartscript}<br>`))}if(this.additionalSettFromUrl(r),this.attributeChart=new Rd(r),Dd.setOptions({chart:{animation:!1}}),this.titleOptions=r.title,this.tangoAttributes.inited||(s+="      \u041d\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u0438\u043c\u044f \u0434\u0435\u0432\u0430\u0439\u0441\u0430 \u0438/\u0438\u043b\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b. (\u041a\u043b\u044e\u0447\u0438 dev attrs) <br>      "),s.length)this.chart.ref$.subscribe(t=>t.update({title:this.errorTitle(s)}));else if(this.attrList&&(null===(t=r.series)||void 0===t?void 0:t.length)>=(null===(e=this.attrList)||void 0===e?void 0:e.length))for(let a=0;a<r.series.length;a++)(null===(i=this.aliasesList)||void 0===i?void 0:i[a])&&(r.series[a].name=null===(o=this.aliasesList)||void 0===o?void 0:o[a]),r.series[a].name||(r.series[a].name=this.attrList[a])}additionalSettFromUrl(t){const e=this.sett.settFromUrl;void 0===e.chmin&&void 0===e.chmax||this.setMinAndMax(t,e.chmin,e.chmax),e.ytitle&&this.setYTitle(t,e.ytitle)}setMinAndMax(t,e,i){t.yAxis||(t.yAxis={}),t.yAxis.min=e,t.yAxis.max=i}setYTitle(t,e){t.yAxis||(t.yAxis={}),t.yAxis.title={text:e},t.yAxis.title.style||(t.yAxis.title.style={fontSize:"15px"})}wsDataSubscribe(){this.wsClient.dataObservable.subscribe(t=>{const e=this.checkIndex(t);-1!==e&&(e>=this.chart.ref.series.length?this.myconsole.errorLog("\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 Chart. Series \u043c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432"):(this.chart.ref.series[e].setData(t.data),this.sett.settFromUrl.notusesignal||this.dataSignal()))}),this.wsClient.stateObservable.subscribe(t=>{var e;this.chart.ref.update(t.errorState?{title:this.errorTitle(t.errorMess)}:{title:null!==(e=this.titleOptions)&&void 0!==e?e:{text:""}})}),this.wsClient.errorObs.subscribe(t=>{var e;this.chart.ref.update(t.length?{title:this.errorTitle(t)}:{title:null!==(e=this.titleOptions)&&void 0!==e?e:{text:""}})})}checkIndex(t){return this.attrList?this.attrList.indexOf(t.attr_short):-1}errorTitle(t){return{text:t,align:"center",style:{fontSize:"40",color:"red"}}}dataSignal(){this.chart.ref$.subscribe(t=>{var e,i;const o=t.renderer.circle(void 0!==this.sett.settFromUrl.xpossignal?this.sett.settFromUrl.xpossignal:30,void 0!==this.sett.settFromUrl.ypossignal?this.sett.settFromUrl.ypossignal:30,void 0!==this.sett.settFromUrl.radiussignal?this.sett.settFromUrl.radiussignal:20).attr({fill:null!==(e=this.sett.settFromUrl.colorsignal)&&void 0!==e?e:"green"}).add();setTimeout(()=>{o.destroy()},null!==(i=this.sett.settFromUrl.timeoutsignal)&&void 0!==i?i:200)})}}return t.\u0275fac=function(e){return new(e||t)(Ii(Ep),Ii(Qp),Ii(Op))},t.\u0275prov=at({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const eu=[{path:"",component:(()=>{class t{constructor(t){this.chartService=t}ngOnInit(){this.chart=this.chartService.chart}}return t.\u0275fac=function(e){return new(e||t)(Pr(tu))},t.\u0275cmp=zt({type:t,selectors:[["app-chart"]],decls:1,vars:1,consts:[[2,"height","100%",3,"chart"]],template:function(t,e){1&t&&Dr(0,"div",0),2&t&&Or("chart",e.chart)},directives:[Wd],styles:[""],changeDetection:0}),t})(),pathMatch:"full"}];let iu=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=ht({imports:[[Sd.forRoot(eu)],Sd]}),t})(),ou=(()=>{class t{constructor(){this.title="highcharts-spectrum-ang"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=zt({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(t,e){1&t&&Dr(0,"router-outlet")},directives:[ud],styles:[""]}),t})();function ru(t){return()=>t.loadCommSett()}let su=(()=>{class t{constructor(){this.loaded=!1;const t=Zd();t.chartscript&&(this.scriptname="./assets/scripts/highchartjs_"+t.chartscript+".js")}loadScript(){return new Promise((t,e)=>{if(this.scriptname)if(this.loaded)t(!0);else{let e=document.createElement("script");e.type="text/javascript",e.src=this.scriptname,e.onload=()=>{this.loaded=!0,t(!0)},e.onerror=e=>t(!1),document.getElementsByTagName("head")[0].appendChild(e)}else t(!1)})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=at({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function nu(t){return()=>t.loadScript()}let au=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t,bootstrap:[ou]}),t.\u0275inj=ht({providers:[Pp,{provide:Ws,useFactory:ru,deps:[Pp],multi:!0},su,{provide:Ws,useFactory:nu,deps:[su],multi:!0}],imports:[[Xa,iu,Tp,Ud]]}),t})();(function(){if(Cn)throw new Error("Cannot enable prod mode after platform setup.");wn=!1})(),Wa().bootstrapModule(au).catch(t=>{console.error(t),document.querySelector("#errorMessage").innerHTML=t})}},t=>{"use strict";t(t.s=429)}]);
\ No newline at end of file
diff --git a/polyfills.1f2f1566e92af5c3836d.js b/polyfills.1f2f1566e92af5c3836d.js
deleted file mode 100644
index fad2f96..0000000
--- a/polyfills.1f2f1566e92af5c3836d.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkhighcharts_tango_spectrum_attributes=self.webpackChunkhighcharts_tango_spectrum_attributes||[]).push([[429],{167:()=>{"use strict";!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function s(e){return r+e}const a=!0===e[s("forceDuplicateZoneCheck")];if(e.Zone){if(a||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class i{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=i.current;for(;e.parent;)e=e.parent;return e}static get current(){return z.zone}static get currentTask(){return j}static __load_patch(t,r,s=!1){if(O.hasOwnProperty(t)){if(!s&&a)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const s="Zone:"+t;n(s),O[t]=r(e,i,C),o(s,s)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){z={parent:z,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{z=z.parent}}runGuarded(e,t=null,n,o){z={parent:z,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{z=z.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");if(e.state===v&&(e.type===P||e.type===D))return;const o=e.state!=E;o&&e._transitionTo(E,b),e.runCount++;const r=j;j=e,z={parent:z,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{e.state!==v&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?o&&e._transitionTo(b,E):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(v,E,v))),z=z.parent,j=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(T,v);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(Z,T,v),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==T&&e._transitionTo(b,T),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(S,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(D,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(P,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");e._transitionTo(w,b,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(v,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;o<n.length;o++)n[o]._updateTaskCount(e.type,t)}}i.__symbol__=s;const c={name:"",onHasTask:(e,t,n,o)=>e.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");k(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,s,a){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=a,!o)throw new Error("callback is not defined");this.callback=o;const i=this;this.invoke=t===P&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,i,this,arguments)}}static invokeTask(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&m(),I--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(v,T)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==v&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=s("setTimeout"),p=s("Promise"),f=s("then");let d,g=[],_=!1;function k(t){if(0===I&&0===g.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,m)}else e[h](m,0);t&&g.push(t)}function m(){if(!_){for(_=!0;g.length;){const t=g;g=[];for(let n=0;n<t.length;n++){const o=t[n];try{o.zone.runTask(o,null,null)}catch(e){C.onUnhandledError(e)}}}C.microtaskDrainDone(),_=!1}}const y={name:"NO ZONE"},v="notScheduled",T="scheduling",b="scheduled",E="running",w="canceling",Z="unknown",S="microTask",D="macroTask",P="eventTask",O={},C={symbol:s,currentZoneFrame:()=>z,onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:k,showUncaughtError:()=>!i[s("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:R,patchMethod:()=>R,bindArguments:()=>[],patchThen:()=>R,patchMacroTask:()=>R,patchEventPrototype:()=>R,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>R,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>R,wrapWithCurrentZone:()=>R,filterProperties:()=>[],attachOriginToPatched:()=>R,_redefineProperty:()=>R,patchCallbacks:()=>R};let z={parent:null,zone:new i(null,null)},j=null,I=0;function R(){}o("Zone","Zone"),e.Zone=i}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,s="addEventListener",a="removeEventListener",i=Zone.__symbol__(s),c=Zone.__symbol__(a),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,g="undefined"!=typeof window,_=g?window:void 0,k=g&&_||"object"==typeof self&&self||global,m=[null];function y(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function v(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,b=!("nw"in k)&&void 0!==k.process&&"[object process]"==={}.toString.call(k.process),E=!b&&!T&&!(!g||!_.HTMLElement),w=void 0!==k.process&&"[object process]"==={}.toString.call(k.process)&&!T&&!(!g||!_.HTMLElement),Z={},S=function(e){if(!(e=e||k.event))return;let t=Z[e.type];t||(t=Z[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||k,o=n[t];let r;if(E&&n===_&&"error"===e.type){const t=e;r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===r&&e.preventDefault()}else r=o&&o.apply(this,arguments),null==r||r||e.preventDefault();return r};function D(n,o,r){let s=e(n,o);if(!s&&r&&e(r,o)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const a=d("on"+o+"patched");if(n.hasOwnProperty(a)&&n[a])return;delete s.writable,delete s.value;const i=s.get,c=s.set,l=o.substr(2);let u=Z[l];u||(u=Z[l]=d("ON_PROPERTY"+l)),s.set=function(e){let t=this;t||n!==k||(t=k),t&&(t[u]&&t.removeEventListener(l,S),c&&c.apply(t,m),"function"==typeof e?(t[u]=e,t.addEventListener(l,S,!1)):t[u]=null)},s.get=function(){let e=this;if(e||n!==k||(e=k),!e)return null;const t=e[u];if(t)return t;if(i){let t=i&&i.call(this);if(t)return s.set.call(this,t),"function"==typeof e.removeAttribute&&e.removeAttribute(o),t}return null},t(n,o,s),n[a]=!0}function P(e,t,n){if(t)for(let o=0;o<t.length;o++)D(e,"on"+t[o],n);else{const t=[];for(const n in e)"on"==n.substr(0,2)&&t.push(n);for(let o=0;o<t.length;o++)D(e,t[o],n)}}const O=d("originalInstance");function C(e){const n=k[e];if(!n)return;k[d(e)]=n,k[e]=function(){const t=y(arguments,e);switch(t.length){case 0:this[O]=new n;break;case 1:this[O]=new n(t[0]);break;case 2:this[O]=new n(t[0],t[1]);break;case 3:this[O]=new n(t[0],t[1],t[2]);break;case 4:this[O]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},I(k[e],n);const o=new n(function(){});let r;for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?k[e].prototype[n]=function(){return this[O][n].apply(this[O],arguments)}:t(k[e].prototype,n,{set:function(t){"function"==typeof t?(this[O][n]=p(t,e+"."+n),I(this[O][n],t)):this[O][n]=t},get:function(){return this[O][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(k[e][r]=n[r])}function z(t,o,r){let s=t;for(;s&&!s.hasOwnProperty(o);)s=n(s);!s&&t[o]&&(s=t);const a=d(o);let i=null;if(s&&(!(i=s[a])||!s.hasOwnProperty(a))&&(i=s[a]=s[o],v(s&&e(s,o)))){const e=r(i,a,o);s[o]=function(){return e(this,arguments)},I(s[o],i)}return i}function j(e,t,n){let o=null;function r(e){const t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=z(e,t,e=>function(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?f(s.name,o[s.cbIdx],s,r):e.apply(t,o)})}function I(e,t){e[d("OriginalDelegate")]=t}let R=!1,M=!1;function N(){try{const e=_.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function x(){if(R)return M;R=!0;try{const e=_.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(M=!0)}catch(e){}return M}Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,a=[],i=!0===e[s("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=s("Promise"),l=s("then");n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;a.length;){const t=a.shift();try{t.zone.runGuarded(()=>{if(t.throwOriginal)throw t.rejection;throw t})}catch(e){h(e)}}};const u=s("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return C.reject(e)}const g=s("state"),_=s("value"),k=s("finally"),m=s("parentPromiseValue"),y=s("parentPromiseState"),v=null,T=!0,b=!1;function E(e,t){return n=>{try{Z(e,t,n)}catch(o){Z(e,!1,o)}}}const w=s("currentTaskTrace");function Z(e,o,s){const c=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}}();if(e===s)throw new TypeError("Promise resolved with itself");if(e[g]===v){let h=null;try{"object"!=typeof s&&"function"!=typeof s||(h=s&&s.then)}catch(u){return c(()=>{Z(e,!1,u)})(),e}if(o!==b&&s instanceof C&&s.hasOwnProperty(g)&&s.hasOwnProperty(_)&&s[g]!==v)D(s),Z(e,s[g],s[_]);else if(o!==b&&"function"==typeof h)try{h.call(s,c(E(e,o)),c(E(e,!1)))}catch(u){c(()=>{Z(e,!1,u)})()}else{e[g]=o;const c=e[_];if(e[_]=s,e[k]===k&&o===T&&(e[g]=e[y],e[_]=e[m]),o===b&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&r(s,w,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t<c.length;)P(e,c[t++],c[t++],c[t++],c[t++]);if(0==c.length&&o==b){e[g]=0;let o=s;try{throw new Error("Uncaught (in promise): "+((l=s)&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l))+(s&&s.stack?"\n"+s.stack:""))}catch(u){o=u}i&&(o.throwOriginal=!0),o.rejection=s,o.promise=e,o.zone=t.current,o.task=t.currentTask,a.push(o),n.scheduleMicroTask()}}}var l;return e}const S=s("rejectionHandledHandler");function D(e){if(0===e[g]){try{const n=t[S];n&&"function"==typeof n&&n.call(this,{rejection:e[_],promise:e})}catch(n){}e[g]=b;for(let t=0;t<a.length;t++)e===a[t].promise&&a.splice(t,1)}}function P(e,t,n,o,r){D(e);const s=e[g],a=s?"function"==typeof o?o:f:"function"==typeof r?r:d;t.scheduleMicroTask("Promise.then",()=>{try{const o=e[_],r=!!n&&k===n[k];r&&(n[m]=o,n[y]=s);const i=t.run(a,void 0,r&&a!==d&&a!==f?[]:[o]);Z(n,!0,i)}catch(o){Z(n,!1,o)}},n)}const O=function(){};class C{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(e){return Z(new this(null),T,e)}static reject(e){return Z(new this(null),b,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let a of e)p(a)||(a=this.resolve(a)),a.then(r,s);return o}static all(e){return C.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof C?this:C).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),s=2,a=0;const i=[];for(let l of e){p(l)||(l=this.resolve(l));const e=a;try{l.then(o=>{i[e]=t?t.thenCallback(o):o,s--,0===s&&n(i)},r=>{t?(i[e]=t.errorCallback(r),s--,0===s&&n(i)):o(r)})}catch(c){o(c)}s++,a++}return s-=2,0===s&&n(i),r}constructor(e){const t=this;if(!(t instanceof C))throw new Error("Must be an instanceof Promise.");t[g]=v,t[_]=[];try{e&&e(E(t,T),E(t,b))}catch(n){Z(t,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return C}then(e,n){let o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||C);const r=new o(O),s=t.current;return this[g]==v?this[_].push(s,r,e,n):P(this,s,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=C);const o=new n(O);o[k]=k;const r=t.current;return this[g]==v?this[_].push(r,o,e,e):P(this,r,o,e,e),o}}C.resolve=C.resolve,C.reject=C.reject,C.race=C.race,C.all=C.all;const j=e[c]=e.Promise;e.Promise=C;const I=s("thenPatched");function R(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new C((e,t)=>{r.call(this,e,t)}).then(e,t)},e[I]=!0}return n.patchThen=R,j&&(R(j),z(e,"fetch",e=>{return t=e,function(e,n){let o=t.apply(e,n);if(o instanceof C)return o;let r=o.constructor;return r[I]||R(r),o};var t})),Promise[t.__symbol__("uncaughtPromiseErrors")]=a,C}),Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=d("OriginalDelegate"),o=d("Promise"),r=d("Error"),s=function(){if("function"==typeof this){const s=this[n];if(s)return"function"==typeof s?t.call(s):Object.prototype.toString.call(s);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};s[n]=t,Function.prototype.toString=s;const a=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":a.call(this)}});let L=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){L=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(he){L=!1}const A={useG:!0},H={},F={},q=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function B(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,s=h+o;H[e]={},H[e].false=r,H[e].true=s}function W(e,t,o){const r=o&&o.add||s,i=o&&o.rm||a,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),g="."+r+":",_=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},k=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[H[t.type].false];if(o)if(1===o.length)_(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[G]);o++)_(e[o],n,t)}},m=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[H[t.type].true];if(o)if(1===o.length)_(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[G]);o++)_(e[o],n,t)}};function y(t,o){if(!t)return!1;let s=!0;o&&void 0!==o.useG&&(s=o.useG);const a=o&&o.vh;let _=!0;o&&void 0!==o.chkDup&&(_=o.chkDup);let y=!1;o&&void 0!==o.rt&&(y=o.rt);let v=t;for(;v&&!v.hasOwnProperty(r);)v=n(v);if(!v&&t[r]&&(v=t),!v)return!1;if(v[f])return!1;const T=o&&o.eventNameToString,E={},w=v[f]=v[r],Z=v[d(i)]=v[i],S=v[d(c)]=v[c],D=v[d(p)]=v[p];let P;function O(e,t){return!L&&"object"==typeof e&&e?!!e.capture:L&&t?"boolean"==typeof e?{capture:e,passive:!0}:e?"object"==typeof e&&!1!==e.passive?Object.assign(Object.assign({},e),{passive:!0}):e:{passive:!0}:e}o&&o.prepend&&(P=v[d(o.prepend)]=v[o.prepend]);const C=s?function(e){if(!E.isExisting)return w.call(E.target,E.eventName,E.capture?m:k,E.options)}:function(e){return w.call(E.target,E.eventName,e.invoke,E.options)},z=s?function(e){if(!e.isRemoved){const t=H[e.eventName];let n;t&&(n=t[e.capture?l:u]);const o=n&&e.target[n];if(o)for(let r=0;r<o.length;r++)if(o[r]===e){o.splice(r,1),e.isRemoved=!0,0===o.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return Z.call(e.target,e.eventName,e.capture?m:k,e.options)}:function(e){return Z.call(e.target,e.eventName,e.invoke,e.options)},j=o&&o.diff?o.diff:function(e,t){const n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},R=Zone[d("UNPATCHED_EVENTS")],M=e[d("PASSIVE_EVENTS")],N=function(t,n,r,i,c=!1,h=!1){return function(){const p=this||e;let f=arguments[0];o&&o.transferEventName&&(f=o.transferEventName(f));let d=arguments[1];if(!d)return t.apply(this,arguments);if(b&&"uncaughtException"===f)return t.apply(this,arguments);let g=!1;if("function"!=typeof d){if(!d.handleEvent)return t.apply(this,arguments);g=!0}if(a&&!a(t,d,p,arguments))return;const k=L&&!!M&&-1!==M.indexOf(f),m=O(arguments[2],k);if(R)for(let e=0;e<R.length;e++)if(f===R[e])return k?t.call(p,f,d,m):t.apply(this,arguments);const y=!!m&&("boolean"==typeof m||m.capture),v=!(!m||"object"!=typeof m)&&m.once,w=Zone.current;let Z=H[f];Z||(B(f,T),Z=H[f]);const S=Z[y?l:u];let D,P=p[S],C=!1;if(P){if(C=!0,_)for(let e=0;e<P.length;e++)if(j(P[e],d))return}else P=p[S]=[];const z=p.constructor.name,I=F[z];I&&(D=I[f]),D||(D=z+n+(T?T(f):f)),E.options=m,v&&(E.options.once=!1),E.target=p,E.capture=y,E.eventName=f,E.isExisting=C;const N=s?A:void 0;N&&(N.taskData=E);const x=w.scheduleEventTask(D,d,N,r,i);return E.target=null,N&&(N.taskData=null),v&&(m.once=!0),(L||"boolean"!=typeof x.options)&&(x.options=m),x.target=p,x.capture=y,x.eventName=f,g&&(x.originalDelegate=d),h?P.unshift(x):P.push(x),c?p:void 0}};return v[r]=N(w,g,C,z,y),P&&(v.prependListener=N(P,".prependListener:",function(e){return P.call(E.target,E.eventName,e.invoke,E.options)},z,y,!0)),v[i]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=arguments[2],s=!!r&&("boolean"==typeof r||r.capture),i=arguments[1];if(!i)return Z.apply(this,arguments);if(a&&!a(Z,i,t,arguments))return;const c=H[n];let p;c&&(p=c[s?l:u]);const f=p&&t[p];if(f)for(let e=0;e<f.length;e++){const o=f[e];if(j(o,i))return f.splice(e,1),o.isRemoved=!0,0===f.length&&(o.allRemoved=!0,t[p]=null,"string"==typeof n)&&(t[h+"ON_PROPERTY"+n]=null),o.zone.cancelTask(o),y?t:void 0}return Z.apply(this,arguments)},v[c]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=[],s=U(t,T?T(n):n);for(let e=0;e<s.length;e++){const t=s[e];r.push(t.originalDelegate?t.originalDelegate:t.callback)}return r},v[p]=function(){const t=this||e;let n=arguments[0];if(n){o&&o.transferEventName&&(n=o.transferEventName(n));const e=H[n];if(e){const o=t[e.false],r=t[e.true];if(o){const e=o.slice();for(let t=0;t<e.length;t++){const o=e[t];this[i].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}if(r){const e=r.slice();for(let t=0;t<e.length;t++){const o=e[t];this[i].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}}}else{const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=q.exec(e[t]);let o=n&&n[1];o&&"removeListener"!==o&&this[p].call(this,o)}this[p].call(this,"removeListener")}if(y)return this},I(v[r],w),I(v[i],Z),D&&I(v[p],D),S&&I(v[c],S),!0}let v=[];for(let n=0;n<t.length;n++)v[n]=y(t[n],o);return v}function U(e,t){if(!t){const n=[];for(let o in e){const r=q.exec(o);let s=r&&r[1];if(s&&(!t||s===t)){const t=e[o];if(t)for(let e=0;e<t.length;e++)n.push(t[e])}}return n}let n=H[t];n||(B(t),n=H[t]);const o=e[n.false],r=e[n.true];return o?r?o.concat(r):o.slice():r?r.slice():[]}function V(e,t){const n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",e=>function(t,n){t[G]=!0,e&&e.apply(t,n)})}function $(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const a=t[s]=t[o];t[o]=function(s,i,c){return i&&i.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,s=i.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(i.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}),a.call(t,s,i,c)},e.attachOriginToPatched(t[o],a)}const X=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],J=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],ee=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],te=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],ne=["close","error","open","message"],oe=["error","message"],re=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],X,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function se(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ae(e,t,n,o){e&&P(e,se(e,t,n),o)}function ie(e,t){if(b&&!w)return;if(Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(E){const e=window,t=N()?[{target:e,ignoreProperties:["error"]}]:[];ae(e,re.concat(["messageerror"]),r?r.concat(t):r,n(e)),ae(Document.prototype,re,r),void 0!==e.SVGElement&&ae(e.SVGElement.prototype,re,r),ae(Element.prototype,re,r),ae(HTMLElement.prototype,re,r),ae(HTMLMediaElement.prototype,Y,r),ae(HTMLFrameSetElement.prototype,X.concat(K),r),ae(HTMLBodyElement.prototype,X.concat(K),r),ae(HTMLFrameElement.prototype,J,r),ae(HTMLIFrameElement.prototype,J,r);const o=e.HTMLMarqueeElement;o&&ae(o.prototype,Q,r);const s=e.Worker;s&&ae(s.prototype,oe,r)}const s=t.XMLHttpRequest;s&&ae(s.prototype,ee,r);const a=t.XMLHttpRequestEventTarget;a&&ae(a&&a.prototype,ee,r),"undefined"!=typeof IDBIndex&&(ae(IDBIndex.prototype,te,r),ae(IDBRequest.prototype,te,r),ae(IDBOpenDBRequest.prototype,te,r),ae(IDBDatabase.prototype,te,r),ae(IDBTransaction.prototype,te,r),ae(IDBCursor.prototype,te,r)),o&&ae(WebSocket.prototype,ne,r)}Zone.__load_patch("util",(n,i,c)=>{c.patchOnProperties=P,c.patchMethod=z,c.bindArguments=y,c.patchMacroTask=j;const f=i.__symbol__("BLACK_LISTED_EVENTS"),d=i.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(i[f]=i[d]=n[f]),c.patchEventPrototype=V,c.patchEventTarget=W,c.isIEOrEdge=x,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=se,c.attachOriginToPatched=I,c._redefineProperty=Object.defineProperty,c.patchCallbacks=$,c.getGlobalObjects=()=>({globalSources:F,zoneSymbolEventNames:H,eventNames:re,isBrowser:E,isMix:w,isNode:b,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:a})});const ce=d("zoneTask");function le(e,t,n,o){let r=null,s=null;n+=o;const a={};function i(t){const n=t.data;return n.args[0]=function(){return t.invoke.apply(this,arguments)},n.handleId=r.apply(e,n.args),t}function c(t){return s.call(e,t.data.handleId)}r=z(e,t+=o,n=>function(r,s){if("function"==typeof s[0]){const e={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},n=s[0];s[0]=function(){try{return n.apply(this,arguments)}finally{e.isPeriodic||("number"==typeof e.handleId?delete a[e.handleId]:e.handleId&&(e.handleId[ce]=null))}};const r=f(t,s[0],e,i,c);if(!r)return r;const l=r.data.handleId;return"number"==typeof l?a[l]=r:l&&(l[ce]=r),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(r.ref=l.ref.bind(l),r.unref=l.unref.bind(l)),"number"==typeof l||l?l:r}return n.apply(e,s)}),s=z(e,n,t=>function(n,o){const r=o[0];let s;"number"==typeof r?s=a[r]:(s=r&&r[ce],s||(s=r)),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete a[r]:r&&(r[ce]=null),s.zone.cancelTask(s)):t.apply(e,o)})}function ue(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:a}=t.getGlobalObjects();for(let c=0;c<n.length;c++){const e=n[c],t=a+(e+s),i=a+(e+r);o[e]={},o[e][s]=t,o[e][r]=i}const i=e.EventTarget;return i&&i.prototype?(t.patchEventTarget(e,[i&&i.prototype]),!0):void 0}Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("queueMicrotask",(e,t,n)=>{n.patchMethod(e,"queueMicrotask",e=>function(e,n){t.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",e=>{const t="set",n="clear";le(e,t,n,"Timeout"),le(e,t,n,"Interval"),le(e,t,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{le(e,"request","cancel","AnimationFrame"),le(e,"mozRequest","mozCancel","AnimationFrame"),le(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;o<n.length;o++)z(e,n[o],(n,o,r)=>function(o,s){return t.current.run(n,e,s,r)})}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function(e,t){t.patchEventPrototype(e,t)}(e,n),ue(e,n);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,t,n)=>{C("MutationObserver"),C("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,t,n)=>{C("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,t,n)=>{C("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{ie(n,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(e){const u=e.XMLHttpRequest;if(!u)return;const h=u.prototype;let p=h[i],g=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[i],g=e[c]}}const _="readystatechange",k="scheduled";function m(e){const o=e.data,a=o.target;a[s]=!1,a[l]=!1;const u=a[r];p||(p=a[i],g=a[c]),u&&g.call(a,_,u);const h=a[r]=()=>{if(a.readyState===a.DONE)if(!o.aborted&&a[s]&&e.state===k){const n=a[t.__symbol__("loadfalse")];if(0!==a.status&&n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=a[t.__symbol__("loadfalse")];for(let t=0;t<n.length;t++)n[t]===e&&n.splice(t,1);o.aborted||e.state!==k||r.call(e)},n.push(e)}else e.invoke()}else o.aborted||!1!==a[s]||(a[l]=!0)};return p.call(a,_,h),a[n]||(a[n]=e),w.apply(a,o.args),a[s]=!0,e}function y(){}function v(e){const t=e.data;return t.aborted=!0,Z.apply(t.target,t.args)}const T=z(h,"open",()=>function(e,t){return e[o]=0==t[2],e[a]=t[1],T.apply(e,t)}),b=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),w=z(h,"send",()=>function(e,n){if(!0===t.current[E])return w.apply(e,n);if(e[o])return w.apply(e,n);{const t={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",y,t,m,v);e&&!0===e[l]&&!t.aborted&&o.state===k&&o.invoke()}}),Z=z(h,"abort",()=>function(e,o){const r=e[n];if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[b])return Z.apply(e,o)})}(e);const n=d("xhrTask"),o=d("xhrSync"),r=d("xhrListener"),s=d("xhrScheduled"),a=d("xhrURL"),l=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,n){const o=t.constructor.name;for(let r=0;r<n.length;r++){const s=n[r],a=t[s];if(a){if(!v(e(t,s)))continue;t[s]=(e=>{const t=function(){return e.apply(this,y(arguments,o+"."+s))};return I(t,e),t})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){U(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})},796:(e,t,n)=>{"use strict";n(167)}},e=>{"use strict";e(e.s=796)}]);
\ No newline at end of file
diff --git a/polyfills.29f605221df86351.js b/polyfills.29f605221df86351.js
new file mode 100644
index 0000000..6731912
--- /dev/null
+++ b/polyfills.29f605221df86351.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkhighcharts_spectrum_ang=self.webpackChunkhighcharts_spectrum_ang||[]).push([[429],{435:(ie,Ee,de)=>{de(583)},583:()=>{!function(e){const n=e.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,E){n&&n.measure&&n.measure(M,E)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const T=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(T||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class M{constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"<root>",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=M.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&T)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=y;C&&t._transitionTo(y,j),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(j,y):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,y,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(j,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");t._transitionTo(G,j,y);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;C<k.length;C++)k[C]._updateTaskCount(t.type,r)}}return M.__symbol__=a,M})();const b={name:"",onHasTask:(M,E,t,r)=>M.hasTask(t,r),onScheduleTask:(M,E,t,r)=>M.scheduleTask(t,r),onInvokeTask:(M,E,t,r,k,C)=>M.invokeTask(t,r,k,C),onCancelTask:(M,E,t,r)=>M.cancelTask(t,r)};class v{constructor(E,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=E,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=E,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(E,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,E,t):new d(E,t)}intercept(E,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,E,t,r):t}invoke(E,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,E,t,r,k,C):t.apply(r,k)}handleError(E,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,E,t)}scheduleTask(E,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,E,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(E,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,E,t,r,k):t.callback.apply(r,k)}cancelTask(E,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,E,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(E,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,E,t)}catch(r){this.handleError(E,r)}}_updateTaskCount(E,t){const r=this._taskCounts,k=r[E],C=r[E]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:E})}}class p{constructor(E,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=E,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=E===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(E,t,r){E||(E=this),ee++;try{return E.runCount++,E.zone.runTask(E,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(E,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${E}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=E,E==x&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const L=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(M){if(J||e[Z]&&(J=e[Z].resolve(0)),J){let E=J[N];E||(E=J.then),E.call(J,M)}else e[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let E=0;E<M.length;E++){const t=M[E];try{t.zone.runTask(t,null,null)}catch(r){z.onUnhandledError(r)}}}z.microtaskDrainDone(),H=!1}}const K={name:"NO ZONE"},x="notScheduled",X="scheduling",j="scheduled",y="running",G="canceling",h="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},z={symbol:a,currentZoneFrame:()=>U,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Oe="addEventListener",Se="removeEventListener",Ze=Zone.__symbol__(Oe),Ne=Zone.__symbol__(Se),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const A=Zone.__symbol__,Pe="undefined"!=typeof window,Te=Pe?window:void 0,Y=Pe&&Te||"object"==typeof self&&self||global;function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Be="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&void 0!==Y.process&&"[object process]"==={}.toString.call(Y.process),je=!we&&!Be&&!(!Pe||!Te.HTMLElement),Ue=void 0!==Y.process&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(e){if(!(e=e||Y.event))return;let n=Re[e.type];n||(n=Re[e.type]=A("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;if(je&&i===Te&&"error"===e.type){const a=e;c=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error),!0===c&&e.preventDefault()}else c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function qe(e,n,i){let o=ie(e,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=A("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,T=o.set,d=n.substr(2);let b=Re[d];b||(b=Re[d]=A("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,We),T&&T.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v.removeAttribute&&v.removeAttribute(n),L}return null},Ee(e,n,o),e[c]=!0}function Xe(e,n,i){if(n)for(let o=0;o<n.length;o++)qe(e,"on"+n[o],i);else{const o=[];for(const c in e)"on"==c.substr(0,2)&&o.push(c);for(let c=0;c<o.length;c++)qe(e,o[c],i)}}const ne=A("originalInstance");function ve(e){const n=Y[e];if(!n)return;Y[A(e)]=n,Y[e]=function(){const c=Le(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ue(Y[e],n);const i=new n(function(){});let o;for(o in i)"XMLHttpRequest"===e&&"responseBlob"===o||function(c){"function"==typeof i[c]?Y[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:Ee(Y[e].prototype,c,{set:function(a){"function"==typeof a?(this[ne][c]=Ie(a,e+"."+c),ue(this[ne][c],a)):this[ne][c]=a},get:function(){return this[ne][c]}})}(o);for(o in n)"prototype"!==o&&n.hasOwnProperty(o)&&(Y[e][o]=n[o])}function le(e,n,i){let o=e;for(;o&&!o.hasOwnProperty(n);)o=de(o);!o&&e[n]&&(o=e);const c=A(n);let a=null;if(o&&(!(a=o[c])||!o.hasOwnProperty(c))&&(a=o[c]=o[n],Fe(o&&ie(o,n)))){const d=i(a,c,n);o[n]=function(){return d(this,arguments)},ue(o[n],a)}return a}function lt(e,n,i){let o=null;function c(a){const T=a.data;return T.args[T.cbIdx]=function(){a.invoke.apply(this,arguments)},o.apply(T.target,T.args),a}o=le(e,n,a=>function(T,d){const b=i(T,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(T,d)})}function ue(e,n){e[A("OriginalDelegate")]=n}let ze=!1,Ae=!1;function ft(){if(ze)return Ae;ze=!0;try{const e=Te.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Ae=!0)}catch(e){}return Ae}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,T=i.symbol,d=[],b=!0===e[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=T("Promise"),p=T("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const Z=T("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch(u){}}function B(l){return l&&l.then}function H(l){return l}function J(l){return t.reject(l)}const q=T("state"),R=T("value"),_=T("finally"),K=T("parentPromiseValue"),x=T("parentPromiseState"),j=null,y=!0,G=!1;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const oe=T("currentTaskTrace");function z(l,u,s){const f=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}}();if(l===s)throw new TypeError("Promise resolved with itself");if(l[q]===j){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==j)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===y&&(l[q]=l[x],l[R]=l[K]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m<w.length;)ee(l,w[m++],w[m++],w[m++],w[m++]);if(0==w.length&&u==G){l[q]=0;let m=s;try{throw new Error("Uncaught (in promise): "+function a(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(D){m=D}b&&(m.throwOriginal=!0),m.rejection=s,m.promise=l,m.zone=n.current,m.task=n.currentTask,d.push(m),i.scheduleMicroTask()}}}return l}const U=T("rejectionHandledHandler");function re(l){if(0===l[q]){try{const u=n[U];u&&"function"==typeof u&&u.call(this,{rejection:l[R],promise:l})}catch(u){}l[q]=G;for(let u=0;u<d.length;u++)l===d[u].promise&&d.splice(u,1)}}function ee(l,u,s,f,g){re(l);const w=l[q],m=w?"function"==typeof f?f:H:"function"==typeof g?g:J;u.scheduleMicroTask("Promise.then",()=>{try{const D=l[R],O=!!s&&_===s[_];O&&(s[K]=D,s[x]=w);const S=u.run(m,void 0,O&&m!==J&&m!==H?[]:[D]);z(s,!0,S)}catch(D){z(s,!1,D)}},s)}const M=function(){},E=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),y,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new E([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch(m){return Promise.reject(new E([],"All promises were rejected"))}if(0===f)return Promise.reject(new E([],"All promises were rejected"));let g=!1;const w=[];return new t((m,D)=>{for(let O=0;O<s.length;O++)s[O].then(S=>{g||(g=!0,m(S))},S=>{w.push(S),f--,0===f&&(g=!0,D(new E(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,O)=>{s=D,f=O});function w(D){s(D)}function m(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((S,V)=>{f=S,g=V}),m=2,D=0;const O=[];for(let S of u){B(S)||(S=this.resolve(S));const V=D;try{S.then(F=>{O[V]=s?s.thenCallback(F):F,m--,0===m&&f(O)},F=>{s?(O[V]=s.errorCallback(F),m--,0===m&&f(O)):g(F)})}catch(F){g(F)}m++,D++}return m-=2,0===m&&f(O),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=j,s[R]=[];try{u&&u(I(s,y),I(s,G))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(M),w=n.current;return this[q]==j?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(M);f[_]=_;const g=n.current;return this[q]==j?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=T("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((D,O)=>{f.call(this,D,O)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=A("OriginalDelegate"),o=A("Promise"),c=A("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}});let ye=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=A("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ae,o=(n?n(e):e)+ce,c=ke+i,a=ke+o;te[e]={},te[e][ae]=c,te[e][ce]=a}function dt(e,n,i,o){const c=o&&o.add||Oe,a=o&&o.rm||Se,T=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=A(c),v="."+c+":",Z=function(R,_,K){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=y=>x.handleEvent(y),R.originalDelegate=x);try{R.invoke(R,_,[K])}catch(y){X=y}const j=R.options;return j&&"object"==typeof j&&j.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,j),X};function N(R,_,K){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][K?ce:ae]];if(X){const j=[];if(1===X.length){const y=Z(X[0],x,_);y&&j.push(y)}else{const y=X.slice();for(let G=0;G<y.length&&(!_||!0!==_[Ke]);G++){const h=Z(y[G],x,_);h&&j.push(h)}}if(1===j.length)throw j[0];for(let y=0;y<j.length;y++){const G=j[y];n.nativeScheduleMicroTask(()=>{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let j=!1;_&&void 0!==_.rt&&(j=_.rt);let y=R;for(;y&&!y.hasOwnProperty(c);)y=de(y);if(!y&&R[c]&&(y=R),!y||y[b])return!1;const G=_&&_.eventNameToString,h={},I=y[b]=y[c],P=y[A(a)]=y[a],Q=y[A(T)]=y[T],oe=y[A(d)]=y[d];let z;function U(s,f){return!ye&&"object"==typeof s&&s?!!s.capture:ye&&f?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}_&&_.prepend&&(z=y[A(_.prepend)]=y[_.prepend]);const t=K?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let m=0;m<w.length;m++)if(w[m]===s){w.splice(m,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[g]=null);break}}if(s.allRemoved)return P.call(s.target,s.eventName,s.capture?H:B,s.options)}:function(s){return P.call(s.target,s.eventName,s.invoke,s.options)},C=_&&_.diff?_.diff:function(s,f){const g=typeof f;return"function"===g&&s.callback===f||"object"===g&&s.originalDelegate===f},$=Zone[A("UNPATCHED_EVENTS")],l=e[A("PASSIVE_EVENTS")],u=function(s,f,g,w,m=!1,D=!1){return function(){const O=this||e;let S=arguments[0];_&&_.transferEventName&&(S=_.transferEventName(S));let V=arguments[1];if(!V)return s.apply(this,arguments);if(we&&"uncaughtException"===S)return s.apply(this,arguments);let F=!1;if("function"!=typeof V){if(!V.handleEvent)return s.apply(this,arguments);F=!0}if(x&&!x(s,V,O,arguments))return;const fe=ye&&!!l&&-1!==l.indexOf(S),se=U(arguments[2],fe);if($)for(let _e=0;_e<$.length;_e++)if(S===$[_e])return fe?s.call(O,S,V,se):s.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),nt=!(!se||"object"!=typeof se)&&se.once,gt=Zone.current;let Ge=te[S];Ge||(Je(S,G),Ge=te[S]);const rt=Ge[xe?ce:ae];let De,me=O[rt],ot=!1;if(me){if(ot=!0,X)for(let _e=0;_e<me.length;_e++)if(C(me[_e],V))return}else me=O[rt]=[];const st=O.constructor.name,it=Ye[st];it&&(De=it[S]),De||(De=st+f+(G?G(S):S)),h.options=se,nt&&(h.options.once=!1),h.target=O,h.capture=xe,h.eventName=S,h.isExisting=ot;const be=K?ht:void 0;be&&(be.taskData=h);const he=gt.scheduleEventTask(De,V,be,g,w);return h.target=null,be&&(be.taskData=null),nt&&(se.once=!0),!ye&&"boolean"==typeof he.options||(he.options=se),he.target=O,he.capture=xe,he.eventName=S,F&&(he.originalDelegate=V),D?me.unshift(he):me.push(he),m?O:void 0}};return y[c]=u(I,v,t,r,j),z&&(y.prependListener=u(z,".prependListener:",function(s){return z.call(h.target,h.eventName,s.invoke,h.options)},r,j,!0)),y[a]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),m=arguments[1];if(!m)return P.apply(this,arguments);if(x&&!x(P,m,s,arguments))return;const D=te[f];let O;D&&(O=D[w?ce:ae]);const S=O&&s[O];if(S)for(let V=0;V<S.length;V++){const F=S[V];if(C(F,m))return S.splice(V,1),F.isRemoved=!0,0===S.length&&(F.allRemoved=!0,s[O]=null,"string"==typeof f)&&(s[ke+"ON_PROPERTY"+f]=null),F.zone.cancelTask(F),j?s:void 0}return P.apply(this,arguments)},y[T]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=[],w=Qe(s,G?G(f):f);for(let m=0;m<w.length;m++){const D=w[m];g.push(D.originalDelegate?D.originalDelegate:D.callback)}return g},y[d]=function(){const s=this||e;let f=arguments[0];if(f){_&&_.transferEventName&&(f=_.transferEventName(f));const g=te[f];if(g){const D=s[g[ae]],O=s[g[ce]];if(D){const S=D.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}if(O){const S=O.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}}}else{const g=Object.keys(s);for(let w=0;w<g.length;w++){const D=$e.exec(g[w]);let O=D&&D[1];O&&"removeListener"!==O&&this[d].call(this,O)}this[d].call(this,"removeListener")}if(j)return this},ue(y[c],I),ue(y[a],P),oe&&ue(y[d],oe),Q&&ue(y[T],Q),!0}let q=[];for(let R=0;R<i.length;R++)q[R]=J(i[R],o);return q}function Qe(e,n){if(!n){const a=[];for(let T in e){const d=$e.exec(T);let b=d&&d[1];if(b&&(!n||b===n)){const v=e[T];if(v)for(let p=0;p<v.length;p++)a.push(v[p])}}return a}let i=te[n];i||(Je(n),i=te[n]);const o=e[i[ae]],c=e[i[ce]];return o?c?o.concat(c):o.slice():c?c.slice():[]}function _t(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",o=>function(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const T=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const L=`${i}.${o}::`+p,Z=b.prototype;if(Z.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(Z,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,L),e._redefineProperty(b.prototype,p,N)):Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],L))}else Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],L))}),T.call(n,d,b,v)},e.attachOriginToPatched(n[o],T)}function et(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(e,n,i,o){e&&Xe(e,et(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:je,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Oe,REMOVE_EVENT_LISTENER_STR:Se})});const Ce=A("zoneTask");function pe(e,n,i,o){let c=null,a=null;i+=o;const T={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=le(e,n+=o,v=>function(p,L){if("function"==typeof L[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete T[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,L[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?T[H]=B:H&&(H[Ce]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,L)}),a=le(e,i,v=>function(p,L){const Z=L[0];let N;"number"==typeof Z?N=T[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete T[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(e,L)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",o=>function(c,a){n.current.scheduleMicroTask("queueMicrotask",a[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";pe(e,n,i,"Timeout"),pe(e,n,i,"Interval"),pe(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{pe(e,"request","cancel","AnimationFrame"),pe(e,"mozRequest","mozCancel","AnimationFrame"),pe(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;o<i.length;o++)le(e,i[o],(a,T,d)=>function(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function mt(e,n){n.patchEventPrototype(e,n)})(e,i),function pt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:T}=n.getGlobalObjects();for(let b=0;b<i.length;b++){const v=i[b],Z=T+(v+a),N=T+(v+c);o[v]={},o[v][a]=Z,o[v][c]=N}const d=e.EventTarget;d&&d.prototype&&n.patchEventTarget(e,n,[d&&d.prototype])}(e,i);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&i.patchEventTarget(e,i,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(we&&!Ue||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(je){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=Te.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c<o.length;c++){const a=n[o[c]];a&&a.prototype&&tt(a.prototype,He(a.prototype),i)}}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function yt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const L=p.prototype;let N=L[Ze],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;W<ee.length;W++)ee[W]===h&&ee.splice(W,1);!I.aborted&&h.state===J&&re.call(h)},U.push(h)}else h.invoke()}else!I.aborted&&!1===P[a]&&(P[d]=!0)};return N.call(P,H,oe),P[i]||(P[i]=h),y.apply(P,I.args),P[a]=!0,h}function R(){}function _(h){const I=h.data;return I.aborted=!0,G.apply(I.target,I.args)}const K=le(L,"open",()=>function(h,I){return h[o]=0==I[2],h[T]=I[1],K.apply(h,I)}),X=A("fetchTaskAborting"),j=A("fetchTaskScheduling"),y=le(L,"send",()=>function(h,I){if(!0===n.current[j]||h[o])return y.apply(h,I);{const P={target:h,url:h[T],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=le(L,"abort",()=>function(h,I){const P=function Z(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=A("xhrTask"),o=A("xhrSync"),c=A("xhrListener"),a=A("xhrScheduled"),T=A("xhrURL"),d=A("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o<n.length;o++){const c=n[o],a=e[c];if(a){if(!Fe(ie(e,c)))continue;e[c]=(d=>{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Qe(e,o).forEach(T=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});T.invoke(b)}})}}e.PromiseRejectionEvent&&(n[A("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[A("rejectionHandledHandler")]=i("rejectionhandled"))})}},ie=>{ie(ie.s=435)}]);
\ No newline at end of file
diff --git a/runtime.64d7520de720f65c.js b/runtime.64d7520de720f65c.js
new file mode 100644
index 0000000..9264f2a
--- /dev/null
+++ b/runtime.64d7520de720f65c.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,p={},u={};function f(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={exports:{}};return p[e].call(r.exports,r,r.exports,f),r.exports}f.m=p,e=[],f.O=(t,r,a,o)=>{if(!r){var c=1/0;for(n=0;n<e.length;n++){for(var[r,a,o]=e[n],s=!0,i=0;i<r.length;i++)(!1&o||c>=o)&&Object.keys(f.O).every(d=>f.O[d](r[i]))?r.splice(i--,1):(s=!1,o<c&&(c=o));if(s){e.splice(n--,1);var l=a();void 0!==l&&(t=l)}}return t}o=o||0;for(var n=e.length;n>0&&e[n-1][2]>o;n--)e[n]=e[n-1];e[n]=[r,a,o]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},(()=>{var t,e=Object.getPrototypeOf?r=>Object.getPrototypeOf(r):r=>r.__proto__;f.t=function(r,a){if(1&a&&(r=this(r)),8&a||"object"==typeof r&&r&&(4&a&&r.__esModule||16&a&&"function"==typeof r.then))return r;var o=Object.create(null);f.r(o);var n={};t=t||[null,e({}),e([]),e(e)];for(var c=2&a&&r;"object"==typeof c&&!~t.indexOf(c);c=e(c))Object.getOwnPropertyNames(c).forEach(s=>n[s]=()=>r[s]);return n.default=()=>r,f.d(o,n),o}})(),f.d=(e,t)=>{for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};f.O.j=a=>0===e[a];var t=(a,o)=>{var i,l,[n,c,s]=o,_=0;if(n.some(h=>0!==e[h])){for(i in c)f.o(c,i)&&(f.m[i]=c[i]);if(s)var b=s(f)}for(a&&a(o);_<n.length;_++)f.o(e,l=n[_])&&e[l]&&e[l][0](),e[l]=0;return f.O(b)},r=self.webpackChunkhighcharts_spectrum_ang=self.webpackChunkhighcharts_spectrum_ang||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})()})();
\ No newline at end of file
diff --git a/runtime.81cf3bbaed406f7ca1af.js b/runtime.81cf3bbaed406f7ca1af.js
deleted file mode 100644
index 4c46f04..0000000
--- a/runtime.81cf3bbaed406f7ca1af.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var r,e={},t={};function a(r){var n=t[r];if(void 0!==n)return n.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,a),o.exports}a.m=e,r=[],a.O=(e,t,n,o)=>{if(!t){var s=1/0;for(i=0;i<r.length;i++){for(var[t,n,o]=r[i],u=!0,l=0;l<t.length;l++)(!1&o||s>=o)&&Object.keys(a.O).every(r=>a.O[r](t[l]))?t.splice(l--,1):(u=!1,o<s&&(s=o));u&&(r.splice(i--,1),e=n())}return e}o=o||0;for(var i=r.length;i>0&&r[i-1][2]>o;i--)r[i]=r[i-1];r[i]=[t,n,o]},a.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return a.d(e,{a:e}),e},a.d=(r,e)=>{for(var t in e)a.o(e,t)&&!a.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},a.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={666:0};a.O.j=e=>0===r[e];var e=(e,t)=>{var n,o,[s,u,l]=t,i=0;for(n in u)a.o(u,n)&&(a.m[n]=u[n]);if(l)var p=l(a);for(e&&e(t);i<s.length;i++)a.o(r,o=s[i])&&r[o]&&r[o][0](),r[s[i]]=0;return a.O(p)},t=self.webpackChunkhighcharts_tango_spectrum_attributes=self.webpackChunkhighcharts_tango_spectrum_attributes||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))})()})();
\ No newline at end of file
diff --git a/styles.b9df2f9acc667136.css b/styles.b9df2f9acc667136.css
new file mode 100644
index 0000000..551e3a8
--- /dev/null
+++ b/styles.b9df2f9acc667136.css
@@ -0,0 +1 @@
+html,body{height:100%}*{margin:0;padding:0}
diff --git a/styles.ecd935d97fadb41a8920.css b/styles.ecd935d97fadb41a8920.css
deleted file mode 100644
index 9e391d4..0000000
--- a/styles.ecd935d97fadb41a8920.css
+++ /dev/null
@@ -1 +0,0 @@
-body,html{height:100%}*{margin:0;padding:0}
\ No newline at end of file
-- 
GitLab