Browse Source

Merge branch 'main' into aggrid_from_df

Falko Schindler 2 years ago
parent
commit
93660df452
100 changed files with 3105 additions and 2380 deletions
  1. 10 0
      .github/DISCUSSION_TEMPLATE/ideas.yml
  2. 11 0
      .github/DISCUSSION_TEMPLATE/q-a.yml
  3. 14 0
      .github/ISSUE_TEMPLATE/config.yml
  4. 15 0
      .github/ISSUE_TEMPLATE/issue.yml
  5. 60 2
      .github/workflows/publish.yml
  6. 34 0
      .github/workflows/update_citation.py
  7. 14 0
      CITATION.cff
  8. 53 7
      CONTRIBUTING.md
  9. 13 0
      DEPENDENCIES.md
  10. 7 3
      README.md
  11. 41 0
      examples/chat_app/main.py
  12. 1 1
      examples/fastapi/start.sh
  13. 44 0
      examples/ffmpeg_extract_images/main.py
  14. 1 1
      examples/modularization/main.py
  15. 1 1
      examples/modularization/theme.py
  16. 2 2
      examples/nginx_subpath/README.md
  17. 33 0
      examples/single_page_app/main.py
  18. 44 0
      examples/single_page_app/router.py
  19. 16 0
      examples/single_page_app/router_frame.js
  20. 161 0
      fetch_dependencies.py
  21. 148 0
      fetch_tailwind.py
  22. 0 4
      fly.toml
  23. 64 26
      main.py
  24. 1 0
      nicegui/__init__.py
  25. 5 0
      nicegui/app.py
  26. 4 3
      nicegui/client.py
  27. 33 0
      nicegui/colors.py
  28. 3 3
      nicegui/dependencies.py
  29. 39 77
      nicegui/element.py
  30. 1 1
      nicegui/elements/aggrid.py
  31. 1 6
      nicegui/elements/audio.js
  32. 9 4
      nicegui/elements/audio.py
  33. 5 5
      nicegui/elements/avatar.py
  34. 12 6
      nicegui/elements/badge.py
  35. 17 3
      nicegui/elements/button.py
  36. 1 1
      nicegui/elements/card.py
  37. 16 3
      nicegui/elements/chart.js
  38. 7 1
      nicegui/elements/color_input.py
  39. 8 1
      nicegui/elements/color_picker.py
  40. 1 0
      nicegui/elements/colors.js
  41. 2 0
      nicegui/elements/colors.py
  42. 2 2
      nicegui/elements/column.py
  43. 3 2
      nicegui/elements/expansion.py
  44. 3 3
      nicegui/elements/icon.py
  45. 46 64
      nicegui/elements/interactive_image.js
  46. 0 4
      nicegui/elements/interactive_image.py
  47. 4 4
      nicegui/elements/joystick.vue
  48. 3 2
      nicegui/elements/knob.py
  49. 2 2
      nicegui/elements/lib/CSS2DRenderer.js
  50. 33 8
      nicegui/elements/lib/CSS3DRenderer.js
  51. 787 820
      nicegui/elements/lib/OrbitControls.js
  52. 15 49
      nicegui/elements/lib/STLLoader.js
  53. 1 2
      nicegui/elements/lib/ag-grid-community.min.js
  54. 97 96
      nicegui/elements/lib/highcharts-3d.js
  55. 208 207
      nicegui/elements/lib/highcharts-more.js
  56. 585 584
      nicegui/elements/lib/highcharts.js
  57. 1 1
      nicegui/elements/lib/highcharts_modules/accessibility.js
  58. 89 89
      nicegui/elements/lib/highcharts_modules/annotations-advanced.js
  59. 81 81
      nicegui/elements/lib/highcharts_modules/annotations.js
  60. 1 1
      nicegui/elements/lib/highcharts_modules/arc-diagram.js
  61. 1 1
      nicegui/elements/lib/highcharts_modules/arrow-symbols.js
  62. 8 8
      nicegui/elements/lib/highcharts_modules/boost-canvas.js
  63. 1 7
      nicegui/elements/lib/highcharts_modules/boost.js
  64. 1 1
      nicegui/elements/lib/highcharts_modules/broken-axis.js
  65. 1 1
      nicegui/elements/lib/highcharts_modules/bullet.js
  66. 3 3
      nicegui/elements/lib/highcharts_modules/coloraxis.js
  67. 1 1
      nicegui/elements/lib/highcharts_modules/current-date-indicator.js
  68. 1 1
      nicegui/elements/lib/highcharts_modules/cylinder.js
  69. 1 1
      nicegui/elements/lib/highcharts_modules/data.js
  70. 3 3
      nicegui/elements/lib/highcharts_modules/datagrouping.js
  71. 1 1
      nicegui/elements/lib/highcharts_modules/debugger.js
  72. 1 1
      nicegui/elements/lib/highcharts_modules/dependency-wheel.js
  73. 5 5
      nicegui/elements/lib/highcharts_modules/dotplot.js
  74. 1 1
      nicegui/elements/lib/highcharts_modules/drag-panes.js
  75. 35 35
      nicegui/elements/lib/highcharts_modules/draggable-points.js
  76. 5 5
      nicegui/elements/lib/highcharts_modules/drilldown.js
  77. 17 17
      nicegui/elements/lib/highcharts_modules/dumbbell.js
  78. 5 5
      nicegui/elements/lib/highcharts_modules/export-data.js
  79. 16 16
      nicegui/elements/lib/highcharts_modules/exporting.js
  80. 1 1
      nicegui/elements/lib/highcharts_modules/full-screen.js
  81. 1 1
      nicegui/elements/lib/highcharts_modules/funnel.js
  82. 1 1
      nicegui/elements/lib/highcharts_modules/funnel3d.js
  83. 1 1
      nicegui/elements/lib/highcharts_modules/gantt.js
  84. 1 1
      nicegui/elements/lib/highcharts_modules/grid-axis.js
  85. 40 40
      nicegui/elements/lib/highcharts_modules/heatmap.js
  86. 9 9
      nicegui/elements/lib/highcharts_modules/heikinashi.js
  87. 1 1
      nicegui/elements/lib/highcharts_modules/histogram-bellcurve.js
  88. 1 1
      nicegui/elements/lib/highcharts_modules/hollowcandlestick.js
  89. 10 10
      nicegui/elements/lib/highcharts_modules/item-series.js
  90. 7 7
      nicegui/elements/lib/highcharts_modules/lollipop.js
  91. 1 1
      nicegui/elements/lib/highcharts_modules/marker-clusters.js
  92. 1 1
      nicegui/elements/lib/highcharts_modules/networkgraph.js
  93. 1 1
      nicegui/elements/lib/highcharts_modules/no-data-to-display.js
  94. 2 2
      nicegui/elements/lib/highcharts_modules/offline-exporting.js
  95. 1 1
      nicegui/elements/lib/highcharts_modules/oldie-polyfills.js
  96. 2 2
      nicegui/elements/lib/highcharts_modules/oldie.js
  97. 1 1
      nicegui/elements/lib/highcharts_modules/organization.js
  98. 1 1
      nicegui/elements/lib/highcharts_modules/overlapping-datalabels.js
  99. 1 1
      nicegui/elements/lib/highcharts_modules/parallel-coordinates.js
  100. 1 1
      nicegui/elements/lib/highcharts_modules/pareto.js

+ 10 - 0
.github/DISCUSSION_TEMPLATE/ideas.yml

@@ -0,0 +1,10 @@
+body:
+  - type: textarea
+    id: content
+    attributes:
+      label: Idea
+      description: |
+        If possible, give a [minimal reproducible code example](https://en.wikipedia.org/wiki/Minimal_reproducible_example).
+        Put source code in [fenced code blocks with syntax highlighting](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
+    validations:
+      required: true

+ 11 - 0
.github/DISCUSSION_TEMPLATE/q-a.yml

@@ -0,0 +1,11 @@
+body:
+  - type: textarea
+    id: content
+    attributes:
+      label: Question
+      description: |
+        Search through [existing questions](https://github.com/zauberzeug/nicegui/discussions/categories/q-a) first.
+        If possible, give a [minimal reproducible code example](https://en.wikipedia.org/wiki/Minimal_reproducible_example).
+        Put source code in [fenced code blocks with syntax highlighting](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
+    validations:
+      required: true

+ 14 - 0
.github/ISSUE_TEMPLATE/config.yml

@@ -0,0 +1,14 @@
+blank_issues_enabled: false
+contact_links:
+  - name: Have an idea or a feature requests?
+    url: https://github.com/zauberzeug/nicegui/discussions/categories/ideas-feature-requests
+    about: Visit the "💡 Ideas / Feature Requests" forum to view, discuss, vote and propose ideas and feature suggestions.
+  - name: Need support from the developers?
+    url: https://github.com/zauberzeug/nicegui/discussions/categories/q-a
+    about: Visit the "🙏 Q&A" forum to find answers or to ask new questions to the developers.
+  - name: Ask on Discord
+    url: https://discord.gg/TEpFeAaF4f
+    about: Get in touch with the NiceGUI community, get support and have a chat about your project.
+  - name: Ask on StackOverflow
+    url: https://stackoverflow.com/questions/tagged/nicegui
+    about: Get help from a larger community by asking on StackOverflow.

+ 15 - 0
.github/ISSUE_TEMPLATE/issue.yml

@@ -0,0 +1,15 @@
+name: Report an issue
+description: Report a bug or some other unexpected behavior.
+body:
+  - type: textarea
+    id: content
+    attributes:
+      label: Description
+      description: |
+        1. What are you trying to do?
+          If possible, give a [minimal reproducible code example](https://en.wikipedia.org/wiki/Minimal_reproducible_example).
+          Put source code in [fenced code blocks with syntax highlighting](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
+        2. What do you expect to happen?
+        3. What happens instead?
+    validations:
+      required: true

+ 60 - 2
.github/workflows/publish.yml

@@ -30,12 +30,12 @@ jobs:
           POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }}
         run: poetry publish --build
       - name: Create GitHub release entry
-        uses: actions/create-release@v1
+        uses: softprops/action-gh-release@v1
         id: create_release
         with:
           draft: false
           prerelease: false
-          release_name: ${{ env.VERSION }}
+          name: ${{ env.VERSION }}
           tag_name: ${{ env.VERSION }}
         env:
           GITHUB_TOKEN: ${{ github.token }}
@@ -108,3 +108,61 @@ jobs:
           destination_container_repo: zauberzeug/nicegui
           provider: dockerhub
           short_description: "Web Based User Interface für Python with Buttons, Dialogs, Markdown, 3D Scences and Plots"
+
+  update_citation:
+    needs: docker
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Set up Python
+        uses: actions/setup-python@v2
+        with:
+          python-version: 3.11
+
+      - name: Install dependencies
+        run: |
+          python -m pip install --upgrade pip
+          pip install requests PyYAML
+
+      - name: Update Citation.cff
+        env:
+          ZENODO_TOKEN: ${{ secrets.ZENODO_TOKEN }}
+        run: python .github/workflows/update_citation.py
+
+      - name: Commit and push changes
+        run: |
+          git config --global user.name "github-actions[bot]"
+          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git add CITATION.cff
+          git commit -m "Update citation.cff"
+          git push
+
+  verify:
+    needs: docker
+    runs-on: ubuntu-latest
+    steps:
+      - name: Pull and Test Container
+        env:
+          DOCKER_IMAGE: zauberzeug/nicegui
+          VERSION: latest
+        run: |
+          docker pull ${DOCKER_IMAGE}:${VERSION}
+          docker run -d --name test_container ${DOCKER_IMAGE}:${VERSION}
+          sleep 10
+          CONTAINER_OUTPUT=$(docker logs test_container)
+          # Check if the container is still running
+          CONTAINER_STATUS=$(docker inspect -f '{{.State.Running}}' test_container)
+          if [ "${CONTAINER_STATUS}" != "true" ]; then
+            echo "The container is not running!"
+            exit 1
+          fi
+          # Check if the "Error" string is present in the container output
+          if echo "${CONTAINER_OUTPUT}" | grep -q "Error"; then
+            echo "Error found in container output!"
+            echo "${CONTAINER_OUTPUT}"
+            exit 1
+          fi
+          docker stop test_container
+          docker rm test_container

+ 34 - 0
.github/workflows/update_citation.py

@@ -0,0 +1,34 @@
+import os
+import sys
+
+import requests
+import yaml
+
+
+def get_infos() -> str:
+    headers = {
+        'Accept': 'application/json',
+    }
+    params = {
+        'access_token': os.environ['ZENODO_TOKEN'],
+        'q': 'nicegui',
+        'sort': 'mostrecent',
+        'status': 'published',
+    }
+    try:
+        response = requests.get('https://zenodo.org/api/records', params=params, headers=headers)
+        response.raise_for_status()
+    # Hide all error details to avoid leaking the token
+    except Exception:
+        print('Error while getting the Zenodo infos')
+        sys.exit(1)
+    data = response.json()[0]['metadata']
+    return data['doi'], data['version'], data['publication_date']
+
+
+if __name__ == '__main__':
+    with open('CITATION.cff', 'r') as file:
+        citation = yaml.safe_load(file)
+    citation['doi'], citation['version'], citation['date-released'] = get_infos()
+    with open('CITATION.cff', 'w') as file:
+        yaml.dump(citation, file, sort_keys=False, default_flow_style=False)

+ 14 - 0
CITATION.cff

@@ -0,0 +1,14 @@
+cff-version: 1.2.0
+message: If you use this software, please cite it as below.
+authors:
+- family-names: Schindler
+  given-names: Falko
+  orcid: https://orcid.org/0009-0003-5359-835X
+- family-names: Trappe
+  given-names: Rodja
+  orcid: https://orcid.org/0009-0009-4735-6227
+title: 'NiceGUI: Web-based interfaces with Python. The nice way.'
+version: v1.2.3
+date-released: '2023-03-30'
+url: https://github.com/zauberzeug/nicegui
+doi: 10.5281/zenodo.7785517

+ 53 - 7
CONTRIBUTING.md

@@ -87,18 +87,49 @@ pytest
 
 ## Documentation
 
-New features should be well documented in [website/reference.py](https://github.com/zauberzeug/nicegui/blob/main/website/reference.py).
-By calling the `example(...)` function with an element as a parameter the docstring is used as a description.
-The docstrings are written in restructured-text.
+### New Elements
+
+If you plan to implement a new element you can follow these suggestions:
+
+1. Ensure with the maintainers that the element is a good fit for NiceGUI core;
+   otherwise it may be better to create a separate git repository for it.
+2. Clone the NiceGUI repository and launch `main.py` in the root directory.
+3. Run `python3 -m pip install -e .` in the repository as explained above.
+4. Create a `test.py` file or similar where you can experiment with your new element.
+5. Look at other similar elements and how they are implemented in `nicegui/elements`.
+6. Create a new file with your new element alongside the existing ones.
+7. Make sure your element works as expected.
+8. Add documentation in [website/documentation.py](https://github.com/zauberzeug/nicegui/blob/main/website/documentation.py).
+   By calling the `element_demo(...)` function with an element as a parameter the docstring is used as a description.
+   The docstrings are written in restructured-text.
+9. Create a pull-request (see below).
+
+### Additional Demos
+
+There is a separate page for each element where multiple interactive demos can be listed.
+Please help us grow the number of insightful demos by following these easy steps:
+
+1. Clone the NiceGUI repository and launch `main.py` in the root directory.
+2. Run `python3 -m pip install -e .` in the repository as explained above.
+3. In the newly opened browser window you can navigate to the documentation page where you want to change something.
+4. Open the code in your editor (for example [website/more_documentation/table_documentation.py](https://github.com/zauberzeug/nicegui/blob/main/website/more_documentation/table_documentation.py)).
+5. In the `more()` function insert an inner function containing your demo code.
+6. Add the `@text_demo` decorator to explain the demo.
+7. Make sure the result looks as expected in the rendered documentation.
+8. Create a pull-request (see below).
+
+Your contributions are much appreciated.
+
+### Formatting
 
 Because it has [numerous benefits](https://nick.groenen.me/notes/one-sentence-per-line/) we write each sentence in a new line.
 
-### Demos
+### Examples
 
-Besides the documentation/reference (see above) we collect useful, but compact demonstrations.
-Each demo should be about one concept.
+Besides the documentation with interactive demos (see above) we collect useful, compact stand-alone examples.
+Each example should be about one concept.
 Please try to make them as minimal as possible to show what is needed to get some kind of functionality.
-We are happy to merge pull requests with new demos which show new concepts, ideas or interesting use cases.
+We are happy to merge pull requests with new examples which show new concepts, ideas or interesting use cases.
 
 ## Pull requests
 
@@ -107,6 +138,21 @@ To get started, fork the repository on GitHub, make your changes, and open a pul
 When submitting a PR, please make sure that the code follows the existing coding style and that all tests are passing.
 If you're adding a new feature, please include tests that cover the new functionality.
 
+## YouTube
+
+We welcome and support video and tutorial contributions to the NiceGUI community!
+As recently [highlighted in a conversation on YouTube](https://www.youtube.com/watch?v=HiNNe4Q32U4&lc=UgyRcZCOZ9i5z6GuDcJ4AaABAg),
+creating and sharing tutorials or showcasing projects using NiceGUI can be an excellent way to help others learn and grow,
+while also spreading the word about our library.
+
+Please note that NiceGUI is pronounced like "nice guy," which might be helpful to know when creating any video content.
+
+If you decide to create YouTube content around NiceGUI,
+we kindly ask that you credit our repository, our YouTube channel, and any relevant videos or resources within the description.
+By doing so, you'll be contributing to the growth of our community and helping us receive more amazing pull requests and feature suggestions.
+
+We're thrilled to see your creations and look forward to watching your videos. Happy video-making!
+
 ## Thank you!
 
 Thank you for your interest in contributing to NiceGUI!

+ 13 - 0
DEPENDENCIES.md

@@ -0,0 +1,13 @@
+# Included Web Dependencies
+
+- Quasar: 2.11.8
+- Vue: 3.2.47
+- Socket.io: 4.6.1
+- Tailwind CSS: 3.2.6
+- Tween.js: 18.6.4
+- Plotly.js: 2.20.0
+- AG Grid: 29.1.0
+- NippleJS: 0.10.1
+- Mermaid: 9.4.3
+- Highcharts: 10.3.3
+- Three.js: 0.150.1

+ 7 - 3
README.md

@@ -75,10 +75,10 @@ Note: NiceGUI will automatically reload the page when you modify the code.
 
 ## Documentation and Examples
 
-The API reference is hosted at [https://nicegui.io/reference](https://nicegui.io/reference) and provides plenty of live examples.
+The documentation is hosted at [https://nicegui.io/documentation](https://nicegui.io/documentation) and provides plenty of live demos.
 The whole content of [https://nicegui.io](https://nicegui.io) is [implemented with NiceGUI itself](https://github.com/zauberzeug/nicegui/blob/main/main.py).
 
-You may also have a look at [our in-depth demonstrations](https://github.com/zauberzeug/nicegui/tree/main/examples) of what you can do with NiceGUI.
+You may also have a look at our [in-depth examples](https://github.com/zauberzeug/nicegui/tree/main/examples) of what you can do with NiceGUI.
 
 ## Why?
 
@@ -99,6 +99,10 @@ Thank you for your interest in contributing to NiceGUI! We are thrilled to have
 
 As a growing open-source project, we understand that it takes a community effort to achieve our goals. That's why we welcome all kinds of contributions, no matter how small or big they are. Whether it's adding new features, fixing bugs, improving documentation, or suggesting new ideas, we believe that every contribution counts and adds value to our project.
 
-We have provided a detailed guide on how to contribute to NiceGUI in our [contributing.md](https://github.com/zauberzeug/nicegui/blob/main/CONTRIBUTING.md) file. We encourage you to read it carefully before making any contributions to ensure that your work aligns with the project's goals and standards.
+We have provided a detailed guide on how to contribute to NiceGUI in our [CONTRIBUTING.md](https://github.com/zauberzeug/nicegui/blob/main/CONTRIBUTING.md) file. We encourage you to read it carefully before making any contributions to ensure that your work aligns with the project's goals and standards.
 
 If you have any questions or need help with anything, please don't hesitate to reach out to us. We are always here to support and guide you through the contribution process.
+
+### Included Web Dependencies
+
+See [DEPENDENCIES.md](https://github.com/zauberzeug/nicegui/blob/main/DEPENDENCIES.md) for a list of web frameworks NiceGUI depends on.

+ 41 - 0
examples/chat_app/main.py

@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+import asyncio
+from typing import List, Tuple
+
+from nicegui import Client, ui
+
+messages: List[Tuple[str, str]] = []
+contents: List[ui.column] = []
+
+
+async def update(content: ui.column) -> None:
+    content.clear()
+    with content:  # use the context of each client to update their ui
+        for name, text in messages:
+            ui.markdown(f'**{name or "someone"}:** {text}').classes('text-lg m-2')
+        await ui.run_javascript(f'window.scrollTo(0, document.body.scrollHeight)', respond=False)
+
+
+@ui.page('/')
+async def main(client: Client):
+    async def send() -> None:
+        messages.append((name.value, text.value))
+        text.value = ''
+        await asyncio.gather(*[update(content) for content in contents])  # run updates concurrently
+
+    anchor_style = r'a:link, a:visited {color: inherit !important; text-decoration: none; font-weight: 500}'
+    ui.add_head_html(f'<style>{anchor_style}</style>')
+    with ui.footer().classes('bg-white'), ui.column().classes('w-full max-w-3xl mx-auto my-6'):
+        with ui.row().classes('w-full no-wrap items-center'):
+            name = ui.input(placeholder='name').props('rounded outlined autofocus input-class=mx-3')
+            text = ui.input(placeholder='message').props('rounded outlined input-class=mx-3') \
+                .classes('w-full self-center').on('keydown.enter', send)
+        ui.markdown('simple chat app built with [NiceGUI](https://nicegui.io)') \
+            .classes('text-xs self-end mr-8 m-[-1em] text-primary')
+
+    await client.connected()  # update(...) uses run_javascript which is only possible after connecting
+    contents.append(ui.column().classes('w-full max-w-2xl mx-auto'))  # save ui context for updates
+    await update(contents[-1])  # ensure all messages are shown after connecting
+
+
+ui.run()

+ 1 - 1
examples/fastapi/start.sh

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# use path of this demo as working directory; enables starting this script from anywhere
+# use path of this example as working directory; enables starting this script from anywhere
 cd "$(dirname "$0")"
 
 if [ "$1" = "prod" ]; then

+ 44 - 0
examples/ffmpeg_extract_images/main.py

@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+import asyncio
+import os
+import pathlib
+import shlex
+import shutil
+import subprocess
+
+from nicegui import app, events, ui
+
+
+def extract(source: str):
+    subprocess.call(shlex.split(f'ffmpeg -i "{source}" -vf fps=1 out_%04d.jpg'))
+
+
+async def handle_upload(args: events.UploadEventArguments):
+    if 'video' in args.type:
+        shutil.rmtree('data', ignore_errors=True)
+        os.makedirs('data', exist_ok=True)
+        os.chdir('data')
+        with open(args.name, 'wb') as f:
+            f.write(args.content.read())
+            results.clear()
+            with results:
+                ui.spinner('dots', size='xl')
+            await asyncio.to_thread(extract, args.name)
+            results.clear()
+            with results:
+                for path in pathlib.Path('.').glob('*.jpg'):
+                    ui.image(f'/data/{path.name}').classes('w-96 drop-shadow-md rounded')
+        os.chdir('..')
+    else:
+        ui.notify('Please upload a video file')
+    upload.run_method('reset')
+
+os.makedirs('data', exist_ok=True)
+app.add_static_files('/data', 'data')
+
+with ui.column().classes('w-full items-center'):
+    ui.label('Extract images from video').classes('text-3xl m-3')
+    upload = ui.upload(label='pick a video file', auto_upload=True, on_upload=handle_upload)
+    results = ui.row().classes('w-full justify-center mt-6')
+
+ui.run()

+ 1 - 1
examples/modularization/main.py

@@ -16,4 +16,4 @@ def index_page() -> None:
 # this call shows that you can also move the whole page creation into a separate file
 example_pages.create()
 
-ui.run(title='Modularization Demo')
+ui.run(title='Modularization Example')

+ 1 - 1
examples/modularization/theme.py

@@ -10,7 +10,7 @@ def frame(navtitle: str):
     '''Custom page frame to share the same styling and behavior across all pages'''
     ui.colors(primary='#6E93D6', secondary='#53B689', accent='#111B1E', positive='#53B689')
     with ui.header().classes('justify-between text-white'):
-        ui.label('Modularization Demo').classes('font-bold')
+        ui.label('Modularization Example').classes('font-bold')
         ui.label(navtitle)
         with ui.row():
             menu()

+ 2 - 2
examples/nginx_subpath/README.md

@@ -1,8 +1,8 @@
 # Serving an App Behind a Reverse Proxy Subpath
 
-This demo shows how to serve NiceGUI on a subpath behind a reverse proxy.
+This example shows how to serve NiceGUI on a subpath behind a reverse proxy.
 Here we use Nginx.
-For a Traeffic demo have a look at https://github.com/zauberzeug/nicegui/blob/main/docker-compose.yml.
+For a Traeffic example have a look at https://github.com/zauberzeug/nicegui/blob/main/docker-compose.yml.
 
 ## Try Out
 

+ 33 - 0
examples/single_page_app/main.py

@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+from router import Router
+
+from nicegui import ui
+
+
+@ui.page('/')  # normal index page (eg. the entry point of the app)
+@ui.page('/{_:path}')  # all other pages will be handled by the router but must be registered to also show the SPA index page
+async def main():
+    router = Router()
+
+    @router.add('/')
+    async def show_one():
+        ui.label('Content One').classes('text-2xl')
+
+    @router.add('/two')
+    async def show_two():
+        ui.label('Content Two').classes('text-2xl')
+
+    @router.add('/three')
+    async def show_three():
+        ui.label('Content Three').classes('text-2xl')
+
+    # adding some navigation buttons to switch between the different pages
+    with ui.row():
+        ui.button('One', on_click=lambda: router.open(show_one)).classes('w-32')
+        ui.button('Two', on_click=lambda: router.open(show_two)).classes('w-32')
+        ui.button('Three', on_click=lambda: router.open(show_three)).classes('w-32')
+
+    # this places the content which should be displayed
+    router.frame().classes('w-full p-4 bg-gray-100')
+
+ui.run()

+ 44 - 0
examples/single_page_app/router.py

@@ -0,0 +1,44 @@
+from typing import Awaitable, Callable, Dict, Union
+
+from nicegui import background_tasks, ui
+from nicegui.dependencies import register_component
+
+register_component('router_frame', __file__, 'router_frame.js')
+
+
+class Router():
+
+    def __init__(self) -> None:
+        self.routes: Dict[str, Callable] = {}
+        self.content: ui.element = None
+
+    def add(self, path: str):
+        def decorator(func: Callable):
+            self.routes[path] = func
+            return func
+        return decorator
+
+    def open(self, target: Union[Callable, str]) -> None:
+        if isinstance(target, str):
+            path = target
+            builder = self.routes[target]
+        else:
+            path = {v: k for k, v in self.routes.items()}[target]
+            builder = target
+
+        async def build() -> None:
+            with self.content:
+                await ui.run_javascript(f'''
+                    if (window.location.pathname !== "{path}") {{
+                        history.pushState({{page: "{path}"}}, "", "{path}");
+                    }}
+                ''', respond=False)
+                result = builder()
+                if isinstance(result, Awaitable):
+                    await result
+        self.content.clear()
+        background_tasks.create(build())
+
+    def frame(self) -> ui.element:
+        self.content = ui.element('router_frame').on('open', lambda msg: self.open(msg['args']))
+        return self.content

+ 16 - 0
examples/single_page_app/router_frame.js

@@ -0,0 +1,16 @@
+export default {
+  template: "<div><slot></slot></div>",
+  mounted() {
+    window.addEventListener("popstate", (event) => {
+      if (event.state?.page) {
+        this.$emit("open", event.state.page);
+      }
+    });
+    const connectInterval = setInterval(async () => {
+      if (window.socket.id === undefined) return;
+      this.$emit("open", window.location.pathname);
+      clearInterval(connectInterval);
+    }, 10);
+  },
+  props: {},
+};

+ 161 - 0
fetch_dependencies.py

@@ -0,0 +1,161 @@
+#!/usr/bin/env python3
+import re
+from pathlib import Path
+
+import requests
+from bs4 import BeautifulSoup
+
+import nicegui.elements.chart as highcharts
+
+USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'
+PATH = Path('/tmp/nicegui_dependencies')
+PATH.mkdir(exist_ok=True)
+
+
+def url_to_filename(url: str) -> str:
+    return re.sub(r'[^a-zA-Z0-9]', '_', url)
+
+
+def request_buffered_str(url: str) -> str:
+    filepath = PATH / url_to_filename(url)
+    if filepath.exists():
+        return filepath.read_text()
+    response = requests.get(url, headers={'User-Agent': USER_AGENT})
+    filepath.write_text(response.text)
+    return response.text
+
+
+def request_buffered(url: str) -> bytes:
+    filepath = PATH / url_to_filename(url)
+    if filepath.exists():
+        return filepath.read_bytes()
+    response = requests.get(url, headers={'User-Agent': USER_AGENT})
+    filepath.write_bytes(response.content)
+    return response.content
+
+
+# Google fonts
+url = 'https://fonts.googleapis.com/css2?family=Material+Icons&family=Roboto:wght@100;300;400;500;700;900'
+css = request_buffered_str(url)
+for font_url in re.findall(r'url\((.*?)\)', css):
+    font = request_buffered(font_url)
+    (Path('nicegui/static/fonts') / font_url.split('/')[-1]).write_bytes(font)
+css = css.replace('https://fonts.gstatic.com/s/materialicons/v140', 'fonts')
+css = css.replace('https://fonts.gstatic.com/s/roboto/v30', 'fonts')
+css = css.replace(' U+2122', '\n    U+2122')
+css = css.replace("'", '"')
+Path('nicegui/static/fonts.css').write_text(css)
+
+# quasar.js
+url = 'https://cdn.jsdelivr.net/npm/quasar/dist/quasar.umd.prod.js'
+js = request_buffered_str(url)
+Path('nicegui/static/quasar.umd.prod.js').write_text(js)
+version = re.search(r'Quasar Framework v(\d+\.\d+\.\d+)', js).group(1)
+url = 'https://cdn.jsdelivr.net/npm/quasar/dist/quasar.prod.css'
+css = request_buffered_str(url)
+Path('nicegui/static/quasar.prod.css').write_text(css)
+print('Quasar:', version)
+
+# vue.js
+url = 'https://unpkg.com/vue@3/anything'
+info = request_buffered_str(url)
+version = re.search(r'Cannot find "/anything" in vue@(\d+\.\d+\.\d+)', info).group(1)
+url = 'https://unpkg.com/vue@3/dist/vue.global.prod.js'
+js = request_buffered_str(url)
+Path('nicegui/static/vue.global.prod.js').write_text(js)
+print('Vue:', version)
+
+# socket.io.js
+url = 'https://cdn.jsdelivr.net/npm/socket.io-client/dist/socket.io.min.js'
+js = request_buffered_str(url)
+Path('nicegui/static/socket.io.min.js').write_text(js)
+version = re.search(r'Socket.IO v(\d+\.\d+\.\d+)', js).group(1)
+print('Socket.io:', version)
+
+# tailwind.js
+url = 'https://cdn.tailwindcss.com/'
+js = request_buffered_str(url)
+Path('nicegui/static/tailwindcss.min.js').write_text(js)
+version = re.search(r'{name:"tailwindcss",version:"(\d+\.\d+\.\d+)"', js).group(1)
+print('Tailwind CSS:', version)
+
+# tween.js
+url = 'https://cdnjs.com/libraries/tween.js'
+html = request_buffered_str(url)
+soup = BeautifulSoup(html, 'html.parser')
+version = soup.find('span', class_='vs__selected').text.strip()
+url = f'https://cdnjs.cloudflare.com/ajax/libs/tween.js/{version}/tween.umd.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/tween.umd.min.js').write_text(js)
+print('Tween.js:', version)
+
+# plotly.js
+url = 'https://cdnjs.com/libraries/plotly.js'
+html = request_buffered_str(url)
+soup = BeautifulSoup(html, 'html.parser')
+version = soup.find('span', class_='vs__selected').text.strip()
+url = f'https://cdnjs.cloudflare.com/ajax/libs/plotly.js/{version}/plotly.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/plotly.min.js').write_text(js)
+print('Plotly.js:', version)
+
+# ag-grid.js
+url = 'https://cdn.jsdelivr.net/npm/ag-grid-community/dist/ag-grid-community.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/ag-grid-community.min.js').write_text(js)
+version = re.search(r'@version v(\d+\.\d+\.\d+)', js).group(1)
+print('AG Grid:', version)
+
+# nipplejs.js
+url = 'https://www.npmjs.com/package/nipplejs'
+html = request_buffered_str(url)
+soup = BeautifulSoup(html, 'html.parser')
+version = soup.find('h3', string='Version').find_next_sibling('div').text.strip()
+url = f'https://cdn.jsdelivr.net/npm/nipplejs@{version}/dist/nipplejs.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/nipplejs.min.js').write_text(js)
+print('NippleJS:', version)
+
+# mermaid.min.js
+url = 'https://cdn.jsdelivr.net/npm/mermaid@9/dist/'
+html = request_buffered_str(url)
+soup = BeautifulSoup(html, 'html.parser')
+# find a with href starting with /npm/mermaid@
+version = soup.find('a', href=re.compile(r'^/npm/mermaid@')).text.strip().removeprefix('mermaid@')
+url = f'https://cdn.jsdelivr.net/npm/mermaid@{version}/dist/mermaid.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/mermaid.min.js').write_text(js)
+print('Mermaid:', version)
+# TODO: upgrade to Mermaid 10.0.x? (ESM only and potentially breaking changes)
+
+# highcharts.js
+for dependency in highcharts.dependencies:
+    name = dependency.split('/')[-1]
+    url = f'https://code.highcharts.com/{name}'
+    js = request_buffered_str(url)
+    Path(f'nicegui/elements/lib/{name}').write_text(js)
+    v = re.search(r'Highcharts JS v(\d+\.\d+\.\d+)', js).group(1)
+    if name == 'highcharts.js':
+        version = v
+        print('Highcharts:', version)
+    else:
+        assert version == v
+for dependency in highcharts.optional_dependencies:
+    name = dependency.split('/')[-1]
+    url = f'https://code.highcharts.com/modules/{name}'
+    js = request_buffered_str(url)
+    Path(f'nicegui/elements/lib/highcharts_modules/{name}').write_text(js)
+    v = re.search(r'JS v(\d+\.\d+\.\d+)', js).group(1)
+    assert version == v
+
+# three.js
+url = 'https://www.npmjs.com/package/three'
+html = request_buffered_str(url)
+soup = BeautifulSoup(html, 'html.parser')
+version = soup.find('h3', string='Version').find_next_sibling('div').text.strip()
+url = f'https://cdn.jsdelivr.net/npm/three@{version}/build/three.min.js'
+js = request_buffered_str(url)
+Path('nicegui/elements/lib/three.min.js').write_text(js)
+print('Three.js:', version)
+# TODO: using script JS files is not supported after version 0.160.0 --> use ES module instead
+# TODO: CSS2DRenderer.js, CSS3DRenderer.js, OrbitControls.js, STLLoader.js (require ES modules)

+ 148 - 0
fetch_tailwind.py

@@ -0,0 +1,148 @@
+#!/usr/bin/env python3
+import re
+from dataclasses import dataclass, field
+from pathlib import Path
+
+import requests
+from bs4 import BeautifulSoup
+
+
+@dataclass
+class Property:
+    title: str
+    description: str
+    members: list[str]
+    short_members: list[str] = field(init=False)
+    common_prefix: str = field(init=False)
+
+    def __post_init__(self) -> None:
+        words = [s.split('-') for s in self.members]
+        prefix = words[0]
+        for w in words:
+            i = 0
+            while i < len(prefix) and i < len(w) and prefix[i] == w[i]:
+                i += 1
+            prefix = prefix[:i]
+            if not prefix:
+                break
+        self.short_members = ['-'.join(word[len(prefix):]) for word in words]
+        self.common_prefix = '-'.join(prefix) + '-' if prefix else ''
+        if len(self.short_members) == 1:
+            if self.title == 'Container':
+                self.members.clear()
+                self.short_members.clear()
+                self.common_prefix = 'container'
+            elif self.title in {'List Style Image', 'Content', 'Appearance'}:
+                self.short_members = ['none']
+                self.common_prefix = self.members[0].removesuffix('-none')
+            else:
+                raise ValueError(f'Unknown single-value property "{self.title}"')
+
+    @property
+    def pascal_title(self) -> str:
+        return ''.join(word.capitalize() for word in re.sub(r'[-/ &]', ' ', self.title).split())
+
+    @property
+    def snake_title(self) -> str:
+        return '_'.join(word.lower() for word in re.sub(r'[-/ &]', ' ', self.title).split())
+
+
+properties: list[Property] = []
+
+
+def get_soup(url: str) -> BeautifulSoup:
+    path = Path('/tmp') / url.split('/')[-1]
+    if path.exists():
+        html = path.read_text()
+    else:
+        req = requests.get(url)
+        html = req.text
+        path.write_text(html)
+    return BeautifulSoup(html, 'html.parser')
+
+
+soup = get_soup('https://tailwindcss.com/docs')
+for li in soup.select('li[class="mt-12 lg:mt-8"]'):
+    title = li.select_one('h5').text
+    links = li.select('li a')
+    if title in {'Getting Started', 'Core Concepts', 'Customization', 'Base Styles', 'Official Plugins'}:
+        continue
+    print(f'{title}:')
+    for a in links:
+        soup = get_soup(f'https://tailwindcss.com{a["href"]}')
+        title = soup.select_one('#header h1').text
+        description = soup.select_one('#header .mt-2').text
+        members = soup.select('.mt-10 td[class*=text-sky-400]')
+        properties.append(Property(title, description, [p.text.split(' ')[0] for p in members]))
+        print(f'\t{title} ({len(members)})')
+
+for file in (Path(__file__).parent / 'nicegui' / 'tailwind_types').glob('*.py'):
+    file.unlink()
+for property in properties:
+    if not property.members:
+        continue
+    with open(Path(__file__).parent / 'nicegui' / 'tailwind_types' / f'{property.snake_title}.py', 'w') as f:
+        f.write('from typing_extensions import Literal\n')
+        f.write('\n')
+        f.write(f'{property.pascal_title} = Literal[\n')
+        for short_member in property.short_members:
+            f.write(f"    '{short_member}',\n")
+        f.write(']\n')
+
+with open(Path(__file__).parent / 'nicegui' / 'tailwind.py', 'w') as f:
+    f.write('from __future__ import annotations\n')
+    f.write('\n')
+    f.write('from typing import TYPE_CHECKING, List, Optional, overload\n')
+    f.write('\n')
+    f.write('if TYPE_CHECKING:\n')
+    f.write('    from .element import Element\n')
+    for property in sorted(properties, key=lambda p: p.title):
+        if not property.members:
+            continue
+        f.write(f'    from .tailwind_types.{property.snake_title} import {property.pascal_title}\n')
+    f.write('\n')
+    f.write('\n')
+    f.write('class PseudoElement:\n')
+    f.write('\n')
+    f.write('    def __init__(self) -> None:\n')
+    f.write('        self._classes: List[str] = []\n')
+    f.write('\n')
+    f.write('    def classes(self, add: str) -> None:\n')
+    f.write('        self._classes.append(add)\n')
+    f.write('\n')
+    f.write('\n')
+    f.write('class Tailwind:\n')
+    f.write('\n')
+    f.write("    def __init__(self, _element: Optional['Element'] = None) -> None:\n")
+    f.write('        self.element = _element or PseudoElement()\n')
+    f.write('\n')
+    f.write('    @overload\n')
+    f.write('    def __call__(self, Tailwind) -> Tailwind:\n')
+    f.write('        ...\n')
+    f.write('\n')
+    f.write('    @overload\n')
+    f.write('    def __call__(self, *classes: str) -> Tailwind:\n')
+    f.write('        ...\n')
+    f.write('\n')
+    f.write('    def __call__(self, *args) -> Tailwind:\n')
+    f.write('        if isinstance(args[0], Tailwind):\n')
+    f.write('            args[0].apply(self.element)\n')
+    f.write('        else:\n')
+    f.write("            self.element.classes(' '.join(args))\n")
+    f.write('        return self\n')
+    f.write('\n')
+    f.write("    def apply(self, element: 'Element') -> None:\n")
+    f.write('        element._classes.extend(self.element._classes)\n')
+    f.write('        element.update()\n')
+    for property in properties:
+        f.write('\n')
+        if property.members:
+            f.write(f"    def {property.snake_title}(self, value: {property.pascal_title}) -> 'Tailwind':\n")
+            f.write(f'        """{property.description}"""\n')
+            f.write(f"        self.element.classes('{property.common_prefix}' + value)\n")
+            f.write(f'        return self\n')
+        else:
+            f.write(f"    def {property.snake_title}(self) -> 'Tailwind':\n")
+            f.write(f'        """{property.description}"""\n')
+            f.write(f"        self.element.classes('{property.common_prefix}')\n")
+            f.write(f'        return self\n')

+ 0 - 4
fly.toml

@@ -55,10 +55,6 @@ strategy = "canary"
     tls_skip_verify = false
     [services.http_checks.headers]
 
-  [[statics]]
-    guest_path = "/app/nicegui/static"
-    url_prefix = "/_nicegui/static"
-
   [metrics]
   port = 9062
   path = "/metrics" # default for most prometheus clients

+ 64 - 26
main.py

@@ -1,4 +1,6 @@
 #!/usr/bin/env python3
+import importlib
+import inspect
 
 if True:
     # increasing max decode packets to be able to transfer images
@@ -9,22 +11,23 @@ if True:
 import os
 from pathlib import Path
 
-from fastapi.responses import FileResponse
-from pygments.formatters import HtmlFormatter
+from fastapi import Request
+from fastapi.responses import FileResponse, RedirectResponse
 from starlette.middleware.sessions import SessionMiddleware
 
 import prometheus
 from nicegui import Client, app
 from nicegui import globals as nicegui_globals
 from nicegui import ui
-from website import demo_card, reference, svg
-from website.example import bash_window, browser_window, python_window
+from website import documentation, example_card, svg
+from website.demo import bash_window, browser_window, python_window
+from website.documentation_tools import create_anchor_name, element_demo, generate_class_doc
 from website.star import add_star
-from website.style import example_link, features, heading, link_target, section_heading, subtitle, title
+from website.style import example_link, features, heading, link_target, section_heading, side_menu, subtitle, title
 
 prometheus.start_monitor(app)
 
-# session middleware is required for demo in reference and prometheus
+# session middleware is required for demo in documentation and prometheus
 app.add_middleware(SessionMiddleware, secret_key='NiceGUI is awesome!')
 
 app.add_static_files('/favicon', str(Path(__file__).parent / 'website' / 'favicon'))
@@ -41,6 +44,12 @@ def logo():
     return FileResponse(svg.PATH / 'logo_square.png', media_type='image/png')
 
 
+@app.middleware('http')
+async def redirect_reference_to_documentation(request: Request, call_next):
+    if request.url.path == '/reference':
+        return RedirectResponse('/documentation')
+    return await call_next(request)
+
 # NOTE in our global fly.io deployment we need to make sure that the websocket connects back to the same instance
 fly_instance_id = os.environ.get('FLY_ALLOC_ID', '').split('-')[0]
 if fly_instance_id:
@@ -49,7 +58,6 @@ if fly_instance_id:
 
 def add_head_html() -> None:
     ui.add_head_html((Path(__file__).parent / 'website' / 'static' / 'header.html').read_text())
-    ui.add_head_html(f'<style>{HtmlFormatter(nobackground=True).get_style_defs(".codehilite")}</style>')
     ui.add_head_html(f"<style>{(Path(__file__).parent / 'website' / 'static' / 'style.css').read_text()}</style>")
 
 
@@ -57,9 +65,9 @@ def add_header() -> None:
     menu_items = {
         'Features': '/#features',
         'Installation': '/#installation',
-        'Examples': '/#examples',
-        'API Reference': '/reference',
         'Demos': '/#demos',
+        'Documentation': '/documentation',
+        'Examples': '/#examples',
         'Why?': '/#why',
     }
     with ui.header() \
@@ -76,6 +84,8 @@ def add_header() -> None:
         with ui.row().classes('max-lg:hidden'):
             for title, target in menu_items.items():
                 ui.link(title, target).classes(replace='text-lg text-white')
+        with ui.link(target='https://discord.gg/TEpFeAaF4f'):
+            svg.discord().classes('fill-white scale-125 m-1')
         with ui.link(target='https://github.com/zauberzeug/nicegui/'):
             svg.github().classes('fill-white scale-125 m-1')
         add_star()
@@ -83,7 +93,7 @@ def add_header() -> None:
 
 @ui.page('/')
 async def index_page(client: Client):
-    client.content.classes(remove='q-pa-md gap-4')
+    client.content.classes('p-0 gap-0')
     add_head_html()
     add_header()
 
@@ -116,7 +126,7 @@ async def index_page(client: Client):
                     '[PyPI package](https://pypi.org/project/nicegui/), '
                     '[Docker image](https://hub.docker.com/r/zauberzeug/nicegui) and on '
                     '[GitHub](https://github.com/zauberzeug/nicegui).')
-        demo_card.create()
+        example_card.create()
 
     with ui.column().classes('w-full p-8 lg:p-16 bold-links arrow-links max-w-[1600px] mx-auto'):
         link_target('features', '-50px')
@@ -144,7 +154,7 @@ async def index_page(client: Client):
                 'customizable color themes',
                 'custom CSS and classes',
                 'modern look with material design',
-                'built-in [Tailwind](https://tailwindcss.com/) support',
+                '[Tailwind CSS](https://tailwindcss.com/) auto-completion',
             ])
             features('source', 'Coding', [
                 'live-cycle events',
@@ -198,24 +208,24 @@ The command searches for `main.py` in in your current directory and makes the ap
                                 '```')
 
     with ui.column().classes('w-full p-8 lg:p-16 max-w-[1600px] mx-auto'):
-        link_target('examples', '-50px')
-        section_heading('Examples', 'Try *this*')
+        link_target('demos', '-50px')
+        section_heading('Demos', 'Try *this*')
         with ui.column().classes('w-full'):
-            reference.create_intro()
+            documentation.create_intro()
 
     with ui.column().classes('dark-box p-8 lg:p-16 my-16'):
         with ui.column().classes('mx-auto items-center gap-y-8 gap-x-32 lg:flex-row'):
             with ui.column().classes('gap-1 max-lg:items-center max-lg:text-center'):
-                ui.markdown('Browse through plenty of live examples.') \
+                ui.markdown('Browse through plenty of live demos.') \
                     .classes('text-white text-2xl md:text-3xl font-medium')
                 ui.html('Fun-Fact: This whole website is also coded with NiceGUI.') \
                     .classes('text-white text-lg md:text-xl')
-            ui.link('API reference', '/reference') \
+            ui.link('Documentation', '/documentation') \
                 .classes('rounded-full mx-auto px-12 py-2 text-white bg-white font-medium text-lg md:text-xl')
 
     with ui.column().classes('w-full p-8 lg:p-16 max-w-[1600px] mx-auto'):
-        link_target('demos', '-50px')
-        section_heading('In-depth demonstrations', 'Pick your *solution*')
+        link_target('examples', '-50px')
+        section_heading('In-depth examples', 'Pick your *solution*')
         with ui.row().classes('w-full text-lg leading-tight grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 gap-4'):
             example_link('Slideshow', 'implements a keyboard-controlled image slideshow')
             example_link('Authentication', 'shows how to use sessions to build a login screen')
@@ -246,6 +256,8 @@ The command searches for `main.py` in in your current directory and makes the ap
             example_link('Trello Cards', 'shows Trello-like cards that can be dragged and dropped into columns')
             example_link('Slots', 'shows how to use scoped slots to customize Quasar elements')
             example_link('Table and slots', 'shows how to use component slots in a table')
+            example_link('Single Page App', 'navigate without reloading the page')
+            example_link('Chat App', 'a simple chat app')
 
     with ui.row().classes('bg-primary w-full min-h-screen mt-16'):
         link_target('why')
@@ -285,20 +297,46 @@ The command searches for `main.py` in in your current directory and makes the ap
             svg.face().classes('stroke-white shrink-0 w-[200px] md:w-[300px] lg:w-[450px]')
 
 
-@ui.page('/reference')
-def reference_page():
+@ui.page('/documentation')
+def documentation_page():
     add_head_html()
     add_header()
-    menu = ui.left_drawer() \
-        .classes('column no-wrap gap-1 bg-[#eee] mt-[-20px] px-8 py-20').style('height: calc(100% + 20px) !important')
+    side_menu()
     ui.add_head_html('<style>html {scroll-behavior: auto;}</style>')
     with ui.column().classes('w-full p-8 lg:p-16 max-w-[1250px] mx-auto'):
-        section_heading('Documentation and Examples', '*API* Reference')
+        section_heading('Reference, Demos and more', '*NiceGUI* Documentation')
         ui.markdown(
-            'This is the API reference for NiceGUI >= 1.0. '
+            'This is the documentation for NiceGUI >= 1.0. '
             'Documentation for older versions can be found at [https://0.9.nicegui.io/](https://0.9.nicegui.io/reference).'
         ).classes('bold-links arrow-links')
-        reference.create_full(menu)
+        documentation.create_full()
+
+
+@ui.page('/documentation/{name}')
+def documentation_page_more(name: str):
+    if not hasattr(ui, name):
+        name = name.replace('_', '')  # NOTE: "AG Grid" leads to anchor name "ag_grid", but class is `ui.aggrid`
+    module = importlib.import_module(f'website.more_documentation.{name}_documentation')
+    api = getattr(ui, name)
+    more = getattr(module, 'more', None)
+    back_link_target = str(api.__doc__ or api.__init__.__doc__).splitlines()[0].strip()
+
+    add_head_html()
+    add_header()
+    with side_menu() as menu:
+        ui.markdown(f'[← back](/documentation#{create_anchor_name(back_link_target)})').classes('bold-links')
+    with ui.column().classes('w-full p-8 lg:p-16 max-w-[1250px] mx-auto'):
+        section_heading('Documentation', f'ui.*{name}*')
+        with menu:
+            ui.markdown('**Demos**' if more else '**Demo**').classes('mt-4')
+        element_demo(api)(getattr(module, 'main_demo'))
+        if more:
+            more()
+        if inspect.isclass(api):
+            with menu:
+                ui.markdown('**Reference**').classes('mt-4')
+            ui.markdown('## Reference').classes('mt-16')
+            generate_class_doc(api)
 
 
 ui.run(uvicorn_reload_includes='*.py, *.css, *.html')

+ 1 - 0
nicegui/__init__.py

@@ -8,3 +8,4 @@ __version__ = importlib_metadata.version('nicegui')
 from . import elements, globals, ui
 from .client import Client
 from .nicegui import app
+from .tailwind import Tailwind

+ 5 - 0
nicegui/app.py

@@ -4,10 +4,15 @@ from fastapi import FastAPI
 from fastapi.staticfiles import StaticFiles
 
 from . import globals
+from .native import Native
 
 
 class App(FastAPI):
 
+    def __init__(self, **kwargs) -> None:
+        super().__init__(**kwargs)
+        self.native = Native()
+
     def on_connect(self, handler: Union[Callable, Awaitable]) -> None:
         """Called every time a new client connects to NiceGUI.
 

+ 4 - 3
nicegui/client.py

@@ -10,7 +10,7 @@ from fastapi.templating import Jinja2Templates
 
 from nicegui import json
 
-from . import globals, outbox
+from . import __version__, globals, outbox
 from .dependencies import generate_js_imports, generate_vue_content
 from .element import Element
 from .favicon import get_favicon_url
@@ -35,10 +35,10 @@ class Client:
         self.environ: Optional[Dict[str, Any]] = None
         self.shared = shared
 
-        with Element('q-layout', _client=self).props('view="HHH LpR FFF"').classes('outline-none') as self.layout:
+        with Element('q-layout', _client=self).props('view="HHH LpR FFF"').classes('nicegui-layout') as self.layout:
             with Element('q-page-container'):
                 with Element('q-page'):
-                    self.content = Element('div').classes('q-pa-md column items-start gap-4')
+                    self.content = Element('div').classes('nicegui-content')
 
         self.waiting_javascript_commands: Dict[str, str] = {}
 
@@ -71,6 +71,7 @@ class Client:
         elements = json.dumps({id: element._to_dict() for id, element in self.elements.items()})
         return templates.TemplateResponse('index.html', {
             'request': request,
+            'version': __version__,
             'client_id': str(self.id),
             'elements': elements,
             'head_html': self.head_html,

+ 33 - 0
nicegui/colors.py

@@ -0,0 +1,33 @@
+from typing import Optional
+
+from typing_extensions import get_args
+
+from .element import Element
+from .tailwind_types.background_color import BackgroundColor
+
+QUASAR_COLORS = {'primary', 'secondary', 'accent', 'dark', 'positive', 'negative', 'info', 'warning'}
+for color in {'red', 'pink', 'purple', 'deep-purple', 'indigo', 'blue', 'light-blue', 'cyan', 'teal', 'green',
+              'light-green', 'lime', 'yellow', 'amber', 'orange', 'deep-orange', 'brown', 'grey', 'blue-grey'}:
+    QUASAR_COLORS.add(color)
+    for i in range(1, 15):
+        QUASAR_COLORS.add(f'{color}-{i}')
+
+TAILWIND_COLORS = get_args(BackgroundColor)
+
+
+def set_text_color(element: Element, color: Optional[str], *, prop_name: str = 'color') -> None:
+    if color in QUASAR_COLORS:
+        element._props[prop_name] = color
+    elif color in TAILWIND_COLORS:
+        element._classes.append(f'text-{color}')
+    elif color is not None:
+        element._style['color'] = color
+
+
+def set_background_color(element: Element, color: Optional[str], *, prop_name: str = 'color') -> None:
+    if color in QUASAR_COLORS:
+        element._props[prop_name] = color
+    elif color in TAILWIND_COLORS:
+        element._classes.append(f'bg-{color}')
+    elif color is not None:
+        element._style['background-color'] = color

+ 3 - 3
nicegui/dependencies.py

@@ -4,7 +4,7 @@ from typing import Dict, List, Set, Tuple
 
 import vbuild
 
-from . import globals
+from . import __version__, globals
 from .ids import IncrementingStringIds
 
 
@@ -15,7 +15,7 @@ class Component:
 
     @property
     def import_path(self) -> str:
-        return f'/_nicegui/components/{self.name}'
+        return f'/_nicegui/{__version__}/components/{self.name}'
 
 
 @dataclass
@@ -27,7 +27,7 @@ class Dependency:
 
     @property
     def import_path(self) -> str:
-        return f'/_nicegui/dependencies/{self.id}/{self.path.name}'
+        return f'/_nicegui/{__version__}/dependencies/{self.id}/{self.path.name}'
 
 
 dependency_ids = IncrementingStringIds()

+ 39 - 77
nicegui/element.py

@@ -1,7 +1,7 @@
 from __future__ import annotations
 
 import re
-from abc import ABC
+import warnings
 from copy import deepcopy
 from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Union
 
@@ -13,6 +13,7 @@ from . import binding, events, globals, outbox
 from .elements.mixins.visibility import Visibility
 from .event_listener import EventListener
 from .slot import Slot
+from .tailwind import Tailwind
 
 if TYPE_CHECKING:
     from .client import Client
@@ -20,12 +21,13 @@ if TYPE_CHECKING:
 PROPS_PATTERN = re.compile(r'([\w\-]+)(?:=(?:("[^"\\]*(?:\\.[^"\\]*)*")|([\w\-.%:\/]+)))?(?:$|\s)')
 
 
-class Element(ABC, Visibility):
+class Element(Visibility):
 
     def __init__(self, tag: str, *, _client: Optional[Client] = None) -> None:
         """Generic Element
 
-        This class is also the base class for all other elements.
+        This class is the base class for all other UI elements.
+        But you can use it to create elements with arbitrary HTML tags.
 
         :param tag: HTML tag of the element
         :param _client: client for this element (for internal use only)
@@ -38,7 +40,7 @@ class Element(ABC, Visibility):
         self._classes: List[str] = []
         self._style: Dict[str, str] = {}
         self._props: Dict[str, Any] = {}
-        self._event_listeners: List[EventListener] = []
+        self._event_listeners: Dict[str, EventListener] = {}
         self._text: str = ''
         self.slots: Dict[str, Slot] = {}
         self.default_slot = self.add_slot('default')
@@ -50,6 +52,8 @@ class Element(ABC, Visibility):
             self.parent_slot = slot_stack[-1]
             self.parent_slot.children.append(self)
 
+        self.tailwind = Tailwind(self)
+
         outbox.enqueue_update(self)
         if self.parent_slot:
             outbox.enqueue_update(self.parent_slot.parent)
@@ -71,64 +75,33 @@ class Element(ABC, Visibility):
     def __exit__(self, *_):
         self.default_slot.__exit__(*_)
 
-    def _collect_event_dict(self) -> Dict[str, Dict]:
-        events: Dict[str, Dict] = {}
-        for listener in self._event_listeners:
-            words = listener.type.split('.')
-            type = words.pop(0)
-            specials = [w for w in words if w in {'capture', 'once', 'passive'}]
-            modifiers = [w for w in words if w in {'stop', 'prevent', 'self', 'ctrl', 'shift', 'alt', 'meta'}]
-            keys = [w for w in words if w not in specials + modifiers]
-            events[listener.type] = {
-                'listener_type': listener.type,
-                'type': type,
-                'specials': specials,
-                'modifiers': modifiers,
-                'keys': keys,
-                'args': list(set(events.get(listener.type, {}).get('args', []) + listener.args)),
-                'throttle': min(events.get(listener.type, {}).get('throttle', float('inf')), listener.throttle),
-            }
-        return events
-
     def _collect_slot_dict(self) -> Dict[str, List[int]]:
         return {
             name: {'template': slot.template, 'ids': [child.id for child in slot.children]}
             for name, slot in self.slots.items()
         }
 
-    def _to_dict(self, *keys: str) -> Dict:
-        if not keys:
-            return {
-                'id': self.id,
-                'tag': self.tag,
-                'class': self._classes,
-                'style': self._style,
-                'props': self._props,
-                'text': self._text,
-                'slots': self._collect_slot_dict(),
-                'events': self._collect_event_dict(),
-            }
-        dict_: Dict[str, Any] = {}
-        for key in keys:
-            if key == 'id':
-                dict_['id'] = self.id
-            elif key == 'tag':
-                dict_['tag'] = self.tag
-            elif key == 'class':
-                dict_['class'] = self._classes
-            elif key == 'style':
-                dict_['style'] = self._style
-            elif key == 'props':
-                dict_['props'] = self._props
-            elif key == 'text':
-                dict_['text'] = self._text
-            elif key == 'slots':
-                dict_['slots'] = self._collect_slot_dict()
-            elif key == 'events':
-                dict_['events'] = self._collect_event_dict()
-            else:
-                raise ValueError(f'Unknown key {key}')
-        return dict_
+    def _to_dict(self) -> Dict[str, Any]:
+        return {
+            'id': self.id,
+            'tag': self.tag,
+            'class': self._classes,
+            'style': self._style,
+            'props': self._props,
+            'text': self._text,
+            'slots': self._collect_slot_dict(),
+            'events': [listener.to_dict() for listener in self._event_listeners.values()],
+        }
+
+    @staticmethod
+    def _update_classes_list(
+            classes: List[str],
+            add: Optional[str] = None, remove: Optional[str] = None, replace: Optional[str] = None) -> List[str]:
+        class_list = classes if replace is None else []
+        class_list = [c for c in class_list if c not in (remove or '').split()]
+        class_list += (add or '').split()
+        class_list += (replace or '').split()
+        return list(dict.fromkeys(class_list))  # NOTE: remove duplicates while preserving order
 
     def classes(self, add: Optional[str] = None, *, remove: Optional[str] = None, replace: Optional[str] = None) \
             -> Self:
@@ -142,11 +115,7 @@ class Element(ABC, Visibility):
         :param remove: whitespace-delimited string of classes to remove from the element
         :param replace: whitespace-delimited string of classes to use instead of existing ones
         """
-        class_list = self._classes if replace is None else []
-        class_list = [c for c in class_list if c not in (remove or '').split()]
-        class_list += (add or '').split()
-        class_list += (replace or '').split()
-        new_classes = list(dict.fromkeys(class_list))  # NOTE: remove duplicates while preserving order
+        new_classes = self._update_classes_list(self._classes, add, remove, replace)
         if self._classes != new_classes:
             self._classes = new_classes
             self.update()
@@ -167,18 +136,13 @@ class Element(ABC, Visibility):
 
         Removing or replacing styles can be helpful if the predefined style is not desired.
 
-        .. codeblock:: python
-
-            ui.button('Click me').style('color: #6E93D6; font-size: 200%', remove='font-weight; background-color')
-
         :param add: semicolon-separated list of styles to add to the element
         :param remove: semicolon-separated list of styles to remove from the element
         :param replace: semicolon-separated list of styles to use instead of existing ones
-         """
+        """
         style_dict = deepcopy(self._style) if replace is None else {}
         for key in self._parse_style(remove):
-            if key in style_dict:
-                del style_dict[key]
+            style_dict.pop(key, None)
         style_dict.update(self._parse_style(add))
         style_dict.update(self._parse_style(replace))
         if self._style != style_dict:
@@ -203,10 +167,6 @@ class Element(ABC, Visibility):
         This allows modifying the look of the element or its layout using `Quasar <https://quasar.dev/>`_ props.
         Since props are simply applied as HTML attributes, they can be used with any HTML element.
 
-        .. codeblock:: python
-
-            ui.button('Open menu').props('outline icon=menu')
-
         Boolean properties are assumed ``True`` if no value is specified.
 
         :param add: whitespace-delimited list of either boolean values or key=value pair to add
@@ -245,15 +205,17 @@ class Element(ABC, Visibility):
         :param throttle: minimum time (in seconds) between event occurrences (default: 0.0)
         """
         if handler:
-            args = args if args is not None else ['*']
+            if args and '*' in args:
+                url = f'https://github.com/zauberzeug/nicegui/issues/644'
+                warnings.warn(DeprecationWarning(f'Event args "*" is deprecated, omit this parameter instead ({url})'))
+                args = None
             listener = EventListener(element_id=self.id, type=type, args=args, handler=handler, throttle=throttle)
-            self._event_listeners.append(listener)
+            self._event_listeners[listener.id] = listener
         return self
 
     def _handle_event(self, msg: Dict) -> None:
-        for listener in self._event_listeners:
-            if listener.type == msg['type']:
-                events.handle_event(listener.handler, msg, sender=self)
+        listener = self._event_listeners[msg['listener_id']]
+        events.handle_event(listener.handler, msg, sender=self)
 
     def update(self) -> None:
         """Update the element on the client side."""

+ 1 - 1
nicegui/elements/aggrid.py

@@ -25,7 +25,7 @@ class AgGrid(Element):
         super().__init__('aggrid')
         self._props['options'] = options
         self._props['html_columns'] = html_columns
-        self._classes = [f'ag-theme-{theme}', 'w-full', 'h-64']
+        self._classes = ['nicegui-aggrid', f'ag-theme-{theme}']
 
     @staticmethod
     def from_pandas(df: 'pandas.DataFrame', *, theme: str = 'balham') -> AgGrid:

+ 1 - 6
nicegui/elements/audio.js

@@ -1,14 +1,9 @@
 export default {
-  template: `
-    <audio :controls="this.controls" :autoplay="this.autoplay" :muted="this.muted">
-      <source :src="this.src" :type="this.type">
-    </audio>
-  `,
+  template: `<audio :controls="controls" :autoplay="autoplay" :muted="muted" :src="src" />`,
   props: {
     controls: Boolean,
     autoplay: Boolean,
     muted: Boolean,
     src: String,
-    type: String,
   },
 };

+ 9 - 4
nicegui/elements/audio.py

@@ -1,3 +1,5 @@
+import warnings
+
 from ..dependencies import register_component
 from ..element import Element
 
@@ -7,15 +9,15 @@ register_component('audio', __file__, 'audio.js')
 class Audio(Element):
 
     def __init__(self, src: str, *,
-                 type: str = 'audio/mpeg',
                  controls: bool = True,
                  autoplay: bool = False,
                  muted: bool = False,
-                 loop: bool = False) -> None:
+                 loop: bool = False,
+                 type: str = '',  # DEPRECATED
+                 ) -> None:
         """Audio
 
         :param src: URL of the audio source
-        :param type: MIME-type of the resource (default: 'audio/mpeg')
         :param controls: whether to show the audio controls, like play, pause, and volume (default: `True`)
         :param autoplay: whether to start playing the audio automatically (default: `False`)
         :param muted: whether the audio should be initially muted (default: `False`)
@@ -26,8 +28,11 @@ class Audio(Element):
         """
         super().__init__('audio')
         self._props['src'] = src
-        self._props['type'] = type
         self._props['controls'] = controls
         self._props['autoplay'] = autoplay
         self._props['muted'] = muted
         self._props['loop'] = loop
+
+        if type:
+            url = f'https://github.com/zauberzeug/nicegui/pull/624'
+            warnings.warn(DeprecationWarning(f'The type parameter for ui.audio is deprecated and ineffective ({url}).'))

+ 5 - 5
nicegui/elements/avatar.py

@@ -1,5 +1,6 @@
 from typing import Optional
 
+from ..colors import set_background_color, set_text_color
 from ..element import Element
 
 
@@ -7,7 +8,7 @@ class Avatar(Element):
 
     def __init__(self,
                  icon: str = 'none', *,
-                 color: str = 'primary',
+                 color: Optional[str] = 'primary',
                  text_color: Optional[str] = None,
                  size: Optional[str] = None,
                  font_size: Optional[str] = None,
@@ -20,7 +21,7 @@ class Avatar(Element):
         `QAvatar <https://quasar.dev/vue-components/avatar>`_ component.
 
         :param icon: name of the icon or image path with "img:" prefix (e.g. "map", "img:path/to/image.png")
-        :param color: color name for component from the Quasar Color Palette (e.g. "primary", "teal-10")
+        :param color: background color (either a Quasar, Tailwind, or CSS color or `None`, default: "primary")
         :param text_color: color name from the Quasar Color Palette (e.g. "primary", "teal-10")
         :param size: size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl) (e.g. "16px", "2rem")
         :param font_size: size in CSS units, including unit name, of the content (icon, text) (e.g. "18px", "2rem")
@@ -30,12 +31,11 @@ class Avatar(Element):
         super().__init__('q-avatar')
 
         self._props['icon'] = icon
-        self._props['color'] = color
         self._props['square'] = square
         self._props['rounded'] = rounded
 
-        if text_color is not None:
-            self._props['text-color'] = text_color
+        set_background_color(self, color)
+        set_text_color(self, text_color, prop_name='text-color')
 
         if size is not None:
             self._props['size'] = size

+ 12 - 6
nicegui/elements/badge.py

@@ -1,21 +1,27 @@
+from typing import Optional
+
+from ..colors import set_background_color, set_text_color
 from .mixins.text_element import TextElement
 
 
 class Badge(TextElement):
 
-    def __init__(self, text: str = '', *,
-                 color: str = 'blue', text_color: str = 'white', outline: bool = False) -> None:
+    def __init__(self,
+                 text: str = '', *,
+                 color: Optional[str] = 'primary',
+                 text_color: Optional[str] = None,
+                 outline: bool = False) -> None:
         """Badge
 
         A badge element wrapping Quasar's
         `QBadge <https://quasar.dev/vue-components/badge>`_ component.
 
         :param text: the initial value of the text field
-        :param color: the color name for component from the Quasar Color Palette (default: "blue")
-        :param text_color: overrides text color (if needed); color name from the Quasar Color Palette (default: "white")
+        :param color: the color name for component (either a Quasar, Tailwind, or CSS color or `None`, default: "primary")
+        :param text_color: text color (either a Quasar, Tailwind, or CSS color or `None`, default: `None`)
         :param outline: use 'outline' design (colored text and borders only) (default: False)
         """
         super().__init__(tag='q-badge', text=text)
-        self._props['color'] = color
-        self._props['text_color'] = text_color
+        set_background_color(self, color)
+        set_text_color(self, text_color, prop_name='text-color')
         self._props['outline'] = outline

+ 17 - 3
nicegui/elements/button.py

@@ -1,21 +1,35 @@
 from typing import Callable, Optional
 
+from ..colors import set_background_color
 from ..events import ClickEventArguments, handle_event
 from .mixins.text_element import TextElement
 
 
 class Button(TextElement):
 
-    def __init__(self, text: str = '', *, on_click: Optional[Callable] = None) -> None:
+    def __init__(self,
+                 text: str = '', *,
+                 on_click: Optional[Callable] = None,
+                 color: Optional[str] = 'primary',
+                 ) -> None:
         """Button
 
+        This element is based on Quasar's `QBtn <https://quasar.dev/vue-components/button>`_ component.
+
+        The ``color`` parameter excepts a Quasar color, a Tailwind color, or a CSS color.
+        If a Quasar color is used, the button will be styled according to the Quasar theme including the color of the text.
+        Note that there are colors like "red" being both a Quasar color and a CSS color.
+        In such cases the Quasar color will be used.
+
         :param text: the label of the button
         :param on_click: callback which is invoked when button is pressed
+        :param color: the color of the button (either a Quasar, Tailwind, or CSS color or `None`, default: 'primary')
         """
         super().__init__(tag='q-btn', text=text)
-        self._props['color'] = 'primary'
+        set_background_color(self, color)
 
-        self.on('click', lambda _: handle_event(on_click, ClickEventArguments(sender=self, client=self.client)))
+        if on_click:
+            self.on('click', lambda _: handle_event(on_click, ClickEventArguments(sender=self, client=self.client)))
 
     def _text_to_model_text(self, text: str) -> None:
         self._props['label'] = text

+ 1 - 1
nicegui/elements/card.py

@@ -9,7 +9,7 @@ class Card(Element):
         Provides a container with a dropped shadow.
         """
         super().__init__('q-card')
-        self.classes('column items-start q-pa-md gap-4')
+        self._classes = ['nicegui-card']
 
     def tight(self):
         self._classes.clear()

+ 16 - 3
nicegui/elements/chart.js

@@ -9,12 +9,25 @@ export default {
       });
     }, 0); // NOTE: wait for window.path_prefix to be set in app.mounted()
   },
+  beforeDestroy() {
+    this.destroyChart();
+  },
+  beforeUnmount() {
+    this.destroyChart();
+  },
   methods: {
     update_chart() {
-      while (this.chart.series.length > this.options.series.length) this.chart.series[0].remove();
-      while (this.chart.series.length < this.options.series.length) this.chart.addSeries({}, false);
-      this.chart.update(this.options);
+      if (this.chart) {
+        while (this.chart.series.length > this.options.series.length) this.chart.series[0].remove();
+        while (this.chart.series.length < this.options.series.length) this.chart.addSeries({}, false);
+        this.chart.update(this.options);
+      }
     },
+    destroyChart () {
+      if (this.chart) {
+        this.chart.destroy()
+      }
+    }
   },
   props: {
     type: String,

+ 7 - 1
nicegui/elements/color_input.py

@@ -26,5 +26,11 @@ class ColorInput(ValueElement):
 
         with self.add_slot('append'):
             self.picker = ColorPicker(on_pick=lambda e: self.set_value(e.color))
-            self.button = ui.button(on_click=self.picker.open) \
+            self.button = ui.button(on_click=self.open_picker) \
                 .props('icon=colorize flat round', remove='color').classes('cursor-pointer')
+
+    def open_picker(self) -> None:
+        """Open the color picker"""
+        if self.value:
+            self.picker.set_color(self.value)
+        self.picker.open()

+ 8 - 1
nicegui/elements/color_picker.py

@@ -18,4 +18,11 @@ class ColorPicker(Menu):
         with self:
             def handle_change(msg: Dict):
                 handle_event(on_pick, ColorPickEventArguments(sender=self, client=self.client, color=msg['args']))
-            Element('q-color').on('change', handle_change)
+            self.q_color = Element('q-color').on('change', handle_change)
+
+    def set_color(self, color: str) -> None:
+        """Set the color of the picker
+
+        :param color: the color to set
+        """
+        self.q_color.props(f'model-value="{color}"')

+ 1 - 0
nicegui/elements/colors.js

@@ -8,6 +8,7 @@ export default {
     primary: String,
     secondary: String,
     accent: String,
+    dark: String,
     positive: String,
     negative: String,
     info: String,

+ 2 - 0
nicegui/elements/colors.py

@@ -10,6 +10,7 @@ class Colors(Element):
                  primary='#5898d4',
                  secondary='#26a69a',
                  accent='#9c27b0',
+                 dark='#1d1d1d',
                  positive='#21ba45',
                  negative='#c10015',
                  info='#31ccec',
@@ -22,6 +23,7 @@ class Colors(Element):
         self._props['primary'] = primary
         self._props['secondary'] = secondary
         self._props['accent'] = accent
+        self._props['dark'] = dark
         self._props['positive'] = positive
         self._props['negative'] = negative
         self._props['info'] = info

+ 2 - 2
nicegui/elements/column.py

@@ -6,7 +6,7 @@ class Column(Element):
     def __init__(self) -> None:
         '''Column Element
 
-        Provides a container which arranges its child in a row.
+        Provides a container which arranges its child in a column.
         '''
         super().__init__('div')
-        self.classes('column items-start gap-4')
+        self._classes = ['nicegui-column']

+ 3 - 2
nicegui/elements/expansion.py

@@ -5,7 +5,7 @@ from .mixins.value_element import ValueElement
 
 class Expansion(ValueElement):
 
-    def __init__(self, text: str, *, icon: Optional[str] = None, value: bool = False) -> None:
+    def __init__(self, text: Optional[str] = None, *, icon: Optional[str] = None, value: bool = False) -> None:
         '''Expansion Element
 
         Provides an expandable container.
@@ -15,7 +15,8 @@ class Expansion(ValueElement):
         :param value: whether the expansion should be opened on creation (default: `False`)
         '''
         super().__init__(tag='q-expansion-item', value=value, on_value_change=None)
-        self._props['label'] = text
+        if text is not None:
+            self._props['label'] = text
         self._props['icon'] = icon
 
     def open(self) -> None:

+ 3 - 3
nicegui/elements/icon.py

@@ -1,5 +1,6 @@
 from typing import Optional
 
+from ..colors import set_text_color
 from ..element import Element
 
 
@@ -19,7 +20,7 @@ class Icon(Element):
 
         :param name: name of the icon
         :param size: size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl), examples: 16px, 2rem
-        :param color: color name for component, examples: primary, teal-10
+        :param color: icon color (either a Quasar, Tailwind, or CSS color or `None`, default: `None`)
         """
         super().__init__('q-icon')
         self._props['name'] = name
@@ -27,5 +28,4 @@ class Icon(Element):
         if size:
             self._props['size'] = size
 
-        if color:
-            self._props['color'] = color
+        set_text_color(self, color)

+ 46 - 64
nicegui/elements/interactive_image.js

@@ -1,78 +1,60 @@
 export default {
   template: `
     <div style="position:relative">
-      <img style="width:100%; height:100%" />
-      <svg style="position:absolute;top:0;left:0;pointer-events:none">
-        <g style="display:none">
-          <line x1="100" y1="0" x2="100" y2="100%" stroke="black" />
-          <line x1="0" y1="100" x2="100%" y2="100" stroke="black" />
+      <img :src="src" style="width:100%; height:100%;" v-on="onEvents" draggable="false" />
+      <svg style="position:absolute;top:0;left:0;pointer-events:none" :viewBox="viewBox">
+        <g v-if="cross" :style="{ display: cssDisplay }">
+          <line :x1="x" y1="0" :x2="x" y2="100%" stroke="black" />
+          <line x1="0" :y1="y" x2="100%" :y2="y" stroke="black" />
         </g>
-        <g v-html="content" style="display:none"></g>
+        <g v-html="content"></g>
       </svg>
+      <slot></slot>
     </div>
   `,
-  mounted() {
-    this.image = this.$el.firstChild;
-    const handle_completion = () => {
-      if (this.waiting_source) {
-        this.image.src = this.waiting_source;
-        this.waiting_source = undefined;
-      } else {
-        this.loading = false;
-      }
-    };
-    this.image.addEventListener("load", handle_completion);
-    this.image.addEventListener("error", handle_completion);
-    this.svg = this.$el.lastChild;
-    const cross = this.svg.firstChild;
-    this.image.ondragstart = () => false;
-    if (this.cross) {
-      this.image.style.cursor = "none";
-      this.image.addEventListener("mouseenter", (e) => {
-        cross.style.display = "block";
-      });
-      this.image.addEventListener("mouseleave", (e) => {
-        cross.style.display = "none";
-      });
-      this.image.addEventListener("mousemove", (e) => {
-        const x = (e.offsetX * e.target.naturalWidth) / e.target.clientWidth;
-        const y = (e.offsetY * e.target.naturalHeight) / e.target.clientHeight;
-        cross.firstChild.setAttribute("x1", x);
-        cross.firstChild.setAttribute("x2", x);
-        cross.lastChild.setAttribute("y1", y);
-        cross.lastChild.setAttribute("y2", y);
-      });
-    }
-    this.image.onload = (e) => {
-      const viewBox = `0 0 ${this.image.naturalWidth} ${this.image.naturalHeight}`;
-      this.svg.setAttribute("viewBox", viewBox);
-      this.svg.lastChild.setAttribute("style", "");
+  data() {
+    return {
+      viewBox: "0 0 0 0",
+      x: 100,
+      y: 100,
+      cssDisplay: "none",
     };
-    this.image.src = this.src;
-    for (const type of this.events) {
-      this.image.addEventListener(type, (e) => {
-        this.$emit("mouse", {
-          mouse_event_type: type,
-          image_x: (e.offsetX * e.target.naturalWidth) / e.target.clientWidth,
-          image_y: (e.offsetY * e.target.naturalHeight) / e.target.clientHeight,
-          button: e.button,
-          buttons: e.buttons,
-          altKey: e.altKey,
-          ctrlKey: e.ctrlKey,
-          metaKey: e.metaKey,
-          shiftKey: e.shiftKey,
-        });
-      });
-    }
   },
   methods: {
-    set_source(source) {
-      if (this.loading) {
-        this.waiting_source = source;
-        return;
+    updateCrossHair(e) {
+      this.x = (e.offsetX * e.target.naturalWidth) / e.target.clientWidth;
+      this.y = (e.offsetY * e.target.naturalHeight) / e.target.clientHeight;
+    },
+    onImageLoaded(e) {
+      this.viewBox = `0 0 ${e.target.naturalWidth} ${e.target.naturalHeight}`;
+    },
+    onMouseEvent(type, e) {
+      this.$emit("mouse", {
+        mouse_event_type: type,
+        image_x: (e.offsetX * e.target.naturalWidth) / e.target.clientWidth,
+        image_y: (e.offsetY * e.target.naturalHeight) / e.target.clientHeight,
+        button: e.button,
+        buttons: e.buttons,
+        altKey: e.altKey,
+        ctrlKey: e.ctrlKey,
+        metaKey: e.metaKey,
+        shiftKey: e.shiftKey,
+      });
+    },
+  },
+  computed: {
+    onEvents() {
+      const allEvents = {};
+      for (const type of this.events) {
+        allEvents[type] = (event) => this.onMouseEvent(type, event);
+      }
+      if (this.cross) {
+        allEvents["mouseenter"] = () => (this.cssDisplay = "block");
+        allEvents["mouseleave"] = () => (this.cssDisplay = "none");
+        allEvents["mousemove"] = (event) => this.updateCrossHair(event);
       }
-      this.loading = true;
-      this.image.src = source;
+      allEvents["load"] = (event) => this.onImageLoaded(event);
+      return allEvents;
     },
   },
   props: {

+ 0 - 4
nicegui/elements/interactive_image.py

@@ -52,7 +52,3 @@ class InteractiveImage(SourceElement, ContentElement):
             )
             return handle_event(on_mouse, arguments)
         self.on('mouse', handle_mouse)
-
-    def on_source_change(self, source: str) -> None:
-        super().on_source_change(source)
-        self.run_method('set_source', source)

+ 4 - 4
nicegui/elements/joystick.vue

@@ -1,12 +1,12 @@
 <template>
-  <div></div>
+  <div><div></div></div>
 </template>
 
 <script>
 export default {
   mounted() {
     const joystick = nipplejs.create({
-      zone: this.$el,
+      zone: this.$el.children[0],
       position: { left: "50%", top: "50%" },
       dynamicPage: true,
       ...this.options,
@@ -22,10 +22,10 @@ export default {
 </script>
 
 <style scoped>
-:scope {
+:scope > div {
   background-color: AliceBlue;
-  position: relative;
   width: 10em;
   height: 10em;
+  position: relative;
 }
 </style>

+ 3 - 2
nicegui/elements/knob.py

@@ -1,5 +1,6 @@
 from typing import Optional
 
+from ..colors import set_text_color
 from .label import Label
 from .mixins.value_element import ValueElement
 
@@ -27,7 +28,7 @@ class Knob(ValueElement):
         :param min: the minimum value (default: 0.0)
         :param max: the maximum value (default: 1.0)
         :param step: the step size (default: 0.01)
-        :param color: color name for component, examples: primary, teal-10 (default: "primary")
+        :param color: knob color (either a Quasar, Tailwind, or CSS color or `None`, default: "primary")
         :param center_color: color name for the center part of the component, examples: primary, teal-10
         :param track_color: color name for the track of the component, examples: primary, teal-10
         :param size: size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl), examples: 16px, 2rem
@@ -38,7 +39,7 @@ class Knob(ValueElement):
         self._props['min'] = min
         self._props['max'] = max
         self._props['step'] = step
-        self._props['color'] = color
+        set_text_color(self, color)
         self._props['show-value'] = True  # NOTE: enable default slot, e.g. for nested icon
 
         if center_color:

+ 2 - 2
nicegui/elements/lib/CSS2DRenderer.js

@@ -63,8 +63,8 @@
       };
 
       this.render = function (scene, camera) {
-        if (scene.autoUpdate === true) scene.updateMatrixWorld();
-        if (camera.parent === null) camera.updateMatrixWorld();
+        if (scene.matrixWorldAutoUpdate === true) scene.updateMatrixWorld();
+        if (camera.parent === null && camera.matrixWorldAutoUpdate === true) camera.updateMatrixWorld();
 
         _viewMatrix.copy(camera.matrixWorldInverse);
         _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);

+ 33 - 8
nicegui/elements/lib/CSS3DRenderer.js

@@ -11,7 +11,7 @@
 
       this.element = element;
       this.element.style.position = "absolute";
-      this.element.style.pointerEvents = "none";
+      this.element.style.pointerEvents = "auto";
       this.element.style.userSelect = "none";
 
       this.element.setAttribute("draggable", false);
@@ -75,12 +75,16 @@
 
       this.domElement = domElement;
 
+      const viewElement = document.createElement("div");
+      viewElement.style.transformOrigin = "0 0";
+      viewElement.style.pointerEvents = "none";
+      domElement.appendChild(viewElement);
+
       const cameraElement = document.createElement("div");
 
       cameraElement.style.transformStyle = "preserve-3d";
-      cameraElement.style.pointerEvents = "none";
 
-      domElement.appendChild(cameraElement);
+      viewElement.appendChild(cameraElement);
 
       this.getSize = function () {
         return {
@@ -93,12 +97,25 @@
         const fov = camera.projectionMatrix.elements[5] * _heightHalf;
 
         if (cache.camera.fov !== fov) {
-          domElement.style.perspective = camera.isPerspectiveCamera ? fov + "px" : "";
+          viewElement.style.perspective = camera.isPerspectiveCamera ? fov + "px" : "";
           cache.camera.fov = fov;
         }
 
-        if (scene.autoUpdate === true) scene.updateMatrixWorld();
-        if (camera.parent === null) camera.updateMatrixWorld();
+        if (camera.view && camera.view.enabled) {
+          // view offset
+          viewElement.style.transform = `translate( ${-camera.view.offsetX * (_width / camera.view.width)}px, ${
+            -camera.view.offsetY * (_height / camera.view.height)
+          }px )`;
+          // view fullWidth and fullHeight, view width and height
+          viewElement.style.transform += `scale( ${camera.view.fullWidth / camera.view.width}, ${
+            camera.view.fullHeight / camera.view.height
+          } )`;
+        } else {
+          viewElement.style.transform = "";
+        }
+
+        if (scene.matrixWorldAutoUpdate === true) scene.updateMatrixWorld();
+        if (camera.parent === null && camera.matrixWorldAutoUpdate === true) camera.updateMatrixWorld();
 
         let tx, ty;
 
@@ -107,8 +124,10 @@
           ty = (camera.top + camera.bottom) / 2;
         }
 
+        const scaleByViewOffset = camera.view && camera.view.enabled ? camera.view.height / camera.view.fullHeight : 1;
         const cameraCSSMatrix = camera.isOrthographicCamera
-          ? "scale(" +
+          ? `scale( ${scaleByViewOffset} )` +
+            "scale(" +
             fov +
             ")" +
             "translate(" +
@@ -117,7 +136,11 @@
             epsilon(ty) +
             "px)" +
             getCameraCSSMatrix(camera.matrixWorldInverse)
-          : "translateZ(" + fov + "px)" + getCameraCSSMatrix(camera.matrixWorldInverse);
+          : `scale( ${scaleByViewOffset} )` +
+            "translateZ(" +
+            fov +
+            "px)" +
+            getCameraCSSMatrix(camera.matrixWorldInverse);
 
         const style = cameraCSSMatrix + "translate(" + _widthHalf + "px," + _heightHalf + "px)";
 
@@ -139,6 +162,8 @@
         domElement.style.width = width + "px";
         domElement.style.height = height + "px";
 
+        viewElement.style.width = width + "px";
+        viewElement.style.height = height + "px";
         cameraElement.style.width = width + "px";
         cameraElement.style.height = height + "px";
       };

+ 787 - 820
nicegui/elements/lib/OrbitControls.js

@@ -1,1045 +1,1012 @@
-( function () {
+(function () {
+  // This set of controls performs orbiting, dollying (zooming), and panning.
+  // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
+  //
+  //    Orbit - left mouse / touch: one-finger move
+  //    Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
+  //    Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move
+
+  const _changeEvent = { type: "change" };
+  const _startEvent = { type: "start" };
+  const _endEvent = { type: "end" };
+
+  class OrbitControls extends THREE.EventDispatcher {
+    constructor(object, domElement) {
+      super();
+
+      this.object = object;
+      this.domElement = domElement;
+      this.domElement.style.touchAction = "none"; // disable touch scroll
+
+      // Set to false to disable this control
+      this.enabled = true;
+
+      // "target" sets the location of focus, where the object orbits around
+      this.target = new THREE.Vector3();
+
+      // How far you can dolly in and out ( PerspectiveCamera only )
+      this.minDistance = 0;
+      this.maxDistance = Infinity;
+
+      // How far you can zoom in and out ( OrthographicCamera only )
+      this.minZoom = 0;
+      this.maxZoom = Infinity;
+
+      // How far you can orbit vertically, upper and lower limits.
+      // Range is 0 to Math.PI radians.
+      this.minPolarAngle = 0; // radians
+      this.maxPolarAngle = Math.PI; // radians
+
+      // How far you can orbit horizontally, upper and lower limits.
+      // If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI )
+      this.minAzimuthAngle = -Infinity; // radians
+      this.maxAzimuthAngle = Infinity; // radians
+
+      // Set to true to enable damping (inertia)
+      // If damping is enabled, you must call controls.update() in your animation loop
+      this.enableDamping = false;
+      this.dampingFactor = 0.05;
 
-	// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
-	//
-	//    Orbit - left mouse / touch: one-finger move
-	//    Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
-	//    Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move
+      // This option actually enables dollying in and out; left as "zoom" for backwards compatibility.
+      // Set to false to disable zooming
+      this.enableZoom = true;
+      this.zoomSpeed = 1.0;
 
-	const _changeEvent = {
-		type: 'change'
-	};
-	const _startEvent = {
-		type: 'start'
-	};
-	const _endEvent = {
-		type: 'end'
-	};
+      // Set to false to disable rotating
+      this.enableRotate = true;
+      this.rotateSpeed = 1.0;
 
-	class OrbitControls extends THREE.EventDispatcher {
+      // Set to false to disable panning
+      this.enablePan = true;
+      this.panSpeed = 1.0;
+      this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up
+      this.keyPanSpeed = 7.0; // pixels moved per arrow key push
+
+      // Set to true to automatically rotate around the target
+      // If auto-rotate is enabled, you must call controls.update() in your animation loop
+      this.autoRotate = false;
+      this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60
 
-		constructor( object, domElement ) {
+      // The four arrow keys
+      this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" };
 
-			super();
-			if ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.' );
-			if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' );
-			this.object = object;
-			this.domElement = domElement; // Set to false to disable this control
+      // Mouse buttons
+      this.mouseButtons = { LEFT: THREE.MOUSE.ROTATE, MIDDLE: THREE.MOUSE.DOLLY, RIGHT: THREE.MOUSE.PAN };
 
-			this.enabled = true; // "target" sets the location of focus, where the object orbits around
+      // Touch fingers
+      this.touches = { ONE: THREE.TOUCH.ROTATE, TWO: THREE.TOUCH.DOLLY_PAN };
 
-			this.target = new THREE.Vector3(); // How far you can dolly in and out ( PerspectiveCamera only )
+      // for reset
+      this.target0 = this.target.clone();
+      this.position0 = this.object.position.clone();
+      this.zoom0 = this.object.zoom;
 
-			this.minDistance = 0;
-			this.maxDistance = Infinity; // How far you can zoom in and out ( OrthographicCamera only )
+      // the target DOM element for key events
+      this._domElementKeyEvents = null;
+
+      //
+      // public methods
+      //
 
-			this.minZoom = 0;
-			this.maxZoom = Infinity; // How far you can orbit vertically, upper and lower limits.
-			// Range is 0 to Math.PI radians.
+      this.getPolarAngle = function () {
+        return spherical.phi;
+      };
 
-			this.minPolarAngle = 0; // radians
+      this.getAzimuthalAngle = function () {
+        return spherical.theta;
+      };
 
-			this.maxPolarAngle = Math.PI; // radians
-			// How far you can orbit horizontally, upper and lower limits.
-			// If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI )
+      this.getDistance = function () {
+        return this.object.position.distanceTo(this.target);
+      };
 
-			this.minAzimuthAngle = - Infinity; // radians
+      this.listenToKeyEvents = function (domElement) {
+        domElement.addEventListener("keydown", onKeyDown);
+        this._domElementKeyEvents = domElement;
+      };
 
-			this.maxAzimuthAngle = Infinity; // radians
-			// Set to true to enable damping (inertia)
-			// If damping is enabled, you must call controls.update() in your animation loop
+      this.stopListenToKeyEvents = function () {
+        this._domElementKeyEvents.removeEventListener("keydown", onKeyDown);
+        this._domElementKeyEvents = null;
+      };
 
-			this.enableDamping = false;
-			this.dampingFactor = 0.05; // This option actually enables dollying in and out; left as "zoom" for backwards compatibility.
-			// Set to false to disable zooming
+      this.saveState = function () {
+        scope.target0.copy(scope.target);
+        scope.position0.copy(scope.object.position);
+        scope.zoom0 = scope.object.zoom;
+      };
 
-			this.enableZoom = true;
-			this.zoomSpeed = 1.0; // Set to false to disable rotating
+      this.reset = function () {
+        scope.target.copy(scope.target0);
+        scope.object.position.copy(scope.position0);
+        scope.object.zoom = scope.zoom0;
 
-			this.enableRotate = true;
-			this.rotateSpeed = 1.0; // Set to false to disable panning
+        scope.object.updateProjectionMatrix();
+        scope.dispatchEvent(_changeEvent);
 
-			this.enablePan = true;
-			this.panSpeed = 1.0;
-			this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up
+        scope.update();
 
-			this.keyPanSpeed = 7.0; // pixels moved per arrow key push
-			// Set to true to automatically rotate around the target
-			// If auto-rotate is enabled, you must call controls.update() in your animation loop
+        state = STATE.NONE;
+      };
 
-			this.autoRotate = false;
-			this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60
-			// The four arrow keys
+      // this method is exposed, but perhaps it would be better if we can make it private...
+      this.update = (function () {
+        const offset = new THREE.Vector3();
 
-			this.keys = {
-				LEFT: 'ArrowLeft',
-				UP: 'ArrowUp',
-				RIGHT: 'ArrowRight',
-				BOTTOM: 'ArrowDown'
-			}; // Mouse buttons
+        // so camera.up is the orbit axis
+        const quat = new THREE.Quaternion().setFromUnitVectors(object.up, new THREE.Vector3(0, 1, 0));
+        const quatInverse = quat.clone().invert();
 
-			this.mouseButtons = {
-				LEFT: THREE.MOUSE.ROTATE,
-				MIDDLE: THREE.MOUSE.DOLLY,
-				RIGHT: THREE.MOUSE.PAN
-			}; // Touch fingers
+        const lastPosition = new THREE.Vector3();
+        const lastQuaternion = new THREE.Quaternion();
 
-			this.touches = {
-				ONE: THREE.TOUCH.ROTATE,
-				TWO: THREE.TOUCH.DOLLY_PAN
-			}; // for reset
+        const twoPI = 2 * Math.PI;
 
-			this.target0 = this.target.clone();
-			this.position0 = this.object.position.clone();
-			this.zoom0 = this.object.zoom; // the target DOM element for key events
+        return function update() {
+          const position = scope.object.position;
 
-			this._domElementKeyEvents = null; //
-			// public methods
-			//
+          offset.copy(position).sub(scope.target);
 
-			this.getPolarAngle = function () {
+          // rotate offset to "y-axis-is-up" space
+          offset.applyQuaternion(quat);
 
-				return spherical.phi;
+          // angle from z-axis around y-axis
+          spherical.setFromVector3(offset);
 
-			};
+          if (scope.autoRotate && state === STATE.NONE) {
+            rotateLeft(getAutoRotationAngle());
+          }
 
-			this.getAzimuthalAngle = function () {
+          if (scope.enableDamping) {
+            spherical.theta += sphericalDelta.theta * scope.dampingFactor;
+            spherical.phi += sphericalDelta.phi * scope.dampingFactor;
+          } else {
+            spherical.theta += sphericalDelta.theta;
+            spherical.phi += sphericalDelta.phi;
+          }
 
-				return spherical.theta;
+          // restrict theta to be between desired limits
 
-			};
+          let min = scope.minAzimuthAngle;
+          let max = scope.maxAzimuthAngle;
 
-			this.listenToKeyEvents = function ( domElement ) {
+          if (isFinite(min) && isFinite(max)) {
+            if (min < -Math.PI) min += twoPI;
+            else if (min > Math.PI) min -= twoPI;
 
-				domElement.addEventListener( 'keydown', onKeyDown );
-				this._domElementKeyEvents = domElement;
+            if (max < -Math.PI) max += twoPI;
+            else if (max > Math.PI) max -= twoPI;
 
-			};
+            if (min <= max) {
+              spherical.theta = Math.max(min, Math.min(max, spherical.theta));
+            } else {
+              spherical.theta =
+                spherical.theta > (min + max) / 2 ? Math.max(min, spherical.theta) : Math.min(max, spherical.theta);
+            }
+          }
 
-			this.saveState = function () {
+          // restrict phi to be between desired limits
+          spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi));
 
-				scope.target0.copy( scope.target );
-				scope.position0.copy( scope.object.position );
-				scope.zoom0 = scope.object.zoom;
+          spherical.makeSafe();
 
-			};
+          spherical.radius *= scale;
 
-			this.reset = function () {
+          // restrict radius to be between desired limits
+          spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius));
 
-				scope.target.copy( scope.target0 );
-				scope.object.position.copy( scope.position0 );
-				scope.object.zoom = scope.zoom0;
-				scope.object.updateProjectionMatrix();
-				scope.dispatchEvent( _changeEvent );
-				scope.update();
-				state = STATE.NONE;
+          // move target to panned location
 
-			}; // this method is exposed, but perhaps it would be better if we can make it private...
+          if (scope.enableDamping === true) {
+            scope.target.addScaledVector(panOffset, scope.dampingFactor);
+          } else {
+            scope.target.add(panOffset);
+          }
 
+          offset.setFromSpherical(spherical);
 
-			this.update = function () {
+          // rotate offset back to "camera-up-vector-is-up" space
+          offset.applyQuaternion(quatInverse);
 
-				const offset = new THREE.Vector3(); // so camera.up is the orbit axis
+          position.copy(scope.target).add(offset);
 
-				const quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) );
-				const quatInverse = quat.clone().invert();
-				const lastPosition = new THREE.Vector3();
-				const lastQuaternion = new THREE.Quaternion();
-				const twoPI = 2 * Math.PI;
-				return function update() {
+          scope.object.lookAt(scope.target);
 
-					const position = scope.object.position;
-					offset.copy( position ).sub( scope.target ); // rotate offset to "y-axis-is-up" space
+          if (scope.enableDamping === true) {
+            sphericalDelta.theta *= 1 - scope.dampingFactor;
+            sphericalDelta.phi *= 1 - scope.dampingFactor;
 
-					offset.applyQuaternion( quat ); // angle from z-axis around y-axis
+            panOffset.multiplyScalar(1 - scope.dampingFactor);
+          } else {
+            sphericalDelta.set(0, 0, 0);
 
-					spherical.setFromVector3( offset );
+            panOffset.set(0, 0, 0);
+          }
 
-					if ( scope.autoRotate && state === STATE.NONE ) {
+          scale = 1;
 
-						rotateLeft( getAutoRotationAngle() );
+          // update condition is:
+          // min(camera displacement, camera rotation in radians)^2 > EPS
+          // using small-angle approximation cos(x/2) = 1 - x^2 / 8
 
-					}
+          if (
+            zoomChanged ||
+            lastPosition.distanceToSquared(scope.object.position) > EPS ||
+            8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS
+          ) {
+            scope.dispatchEvent(_changeEvent);
 
-					if ( scope.enableDamping ) {
+            lastPosition.copy(scope.object.position);
+            lastQuaternion.copy(scope.object.quaternion);
+            zoomChanged = false;
 
-						spherical.theta += sphericalDelta.theta * scope.dampingFactor;
-						spherical.phi += sphericalDelta.phi * scope.dampingFactor;
+            return true;
+          }
 
-					} else {
+          return false;
+        };
+      })();
 
-						spherical.theta += sphericalDelta.theta;
-						spherical.phi += sphericalDelta.phi;
+      this.dispose = function () {
+        scope.domElement.removeEventListener("contextmenu", onContextMenu);
 
-					} // restrict theta to be between desired limits
+        scope.domElement.removeEventListener("pointerdown", onPointerDown);
+        scope.domElement.removeEventListener("pointercancel", onPointerCancel);
+        scope.domElement.removeEventListener("wheel", onMouseWheel);
 
+        scope.domElement.removeEventListener("pointermove", onPointerMove);
+        scope.domElement.removeEventListener("pointerup", onPointerUp);
 
-					let min = scope.minAzimuthAngle;
-					let max = scope.maxAzimuthAngle;
+        if (scope._domElementKeyEvents !== null) {
+          scope._domElementKeyEvents.removeEventListener("keydown", onKeyDown);
+          scope._domElementKeyEvents = null;
+        }
 
-					if ( isFinite( min ) && isFinite( max ) ) {
+        //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here?
+      };
 
-						if ( min < - Math.PI ) min += twoPI; else if ( min > Math.PI ) min -= twoPI;
-						if ( max < - Math.PI ) max += twoPI; else if ( max > Math.PI ) max -= twoPI;
+      //
+      // internals
+      //
 
-						if ( min <= max ) {
+      const scope = this;
 
-							spherical.theta = Math.max( min, Math.min( max, spherical.theta ) );
+      const STATE = {
+        NONE: -1,
+        ROTATE: 0,
+        DOLLY: 1,
+        PAN: 2,
+        TOUCH_ROTATE: 3,
+        TOUCH_PAN: 4,
+        TOUCH_DOLLY_PAN: 5,
+        TOUCH_DOLLY_ROTATE: 6,
+      };
 
-						} else {
+      let state = STATE.NONE;
 
-							spherical.theta = spherical.theta > ( min + max ) / 2 ? Math.max( min, spherical.theta ) : Math.min( max, spherical.theta );
+      const EPS = 0.000001;
 
-						}
+      // current position in spherical coordinates
+      const spherical = new THREE.Spherical();
+      const sphericalDelta = new THREE.Spherical();
 
-					} // restrict phi to be between desired limits
+      let scale = 1;
+      const panOffset = new THREE.Vector3();
+      let zoomChanged = false;
+
+      const rotateStart = new THREE.Vector2();
+      const rotateEnd = new THREE.Vector2();
+      const rotateDelta = new THREE.Vector2();
+
+      const panStart = new THREE.Vector2();
+      const panEnd = new THREE.Vector2();
+      const panDelta = new THREE.Vector2();
+
+      const dollyStart = new THREE.Vector2();
+      const dollyEnd = new THREE.Vector2();
+      const dollyDelta = new THREE.Vector2();
+
+      const pointers = [];
+      const pointerPositions = {};
+
+      function getAutoRotationAngle() {
+        return ((2 * Math.PI) / 60 / 60) * scope.autoRotateSpeed;
+      }
+
+      function getZoomScale() {
+        return Math.pow(0.95, scope.zoomSpeed);
+      }
+
+      function rotateLeft(angle) {
+        sphericalDelta.theta -= angle;
+      }
+
+      function rotateUp(angle) {
+        sphericalDelta.phi -= angle;
+      }
+
+      const panLeft = (function () {
+        const v = new THREE.Vector3();
+
+        return function panLeft(distance, objectMatrix) {
+          v.setFromMatrixColumn(objectMatrix, 0); // get X column of objectMatrix
+          v.multiplyScalar(-distance);
+
+          panOffset.add(v);
+        };
+      })();
+
+      const panUp = (function () {
+        const v = new THREE.Vector3();
+
+        return function panUp(distance, objectMatrix) {
+          if (scope.screenSpacePanning === true) {
+            v.setFromMatrixColumn(objectMatrix, 1);
+          } else {
+            v.setFromMatrixColumn(objectMatrix, 0);
+            v.crossVectors(scope.object.up, v);
+          }
+
+          v.multiplyScalar(distance);
+
+          panOffset.add(v);
+        };
+      })();
+
+      // deltaX and deltaY are in pixels; right and down are positive
+      const pan = (function () {
+        const offset = new THREE.Vector3();
+
+        return function pan(deltaX, deltaY) {
+          const element = scope.domElement;
+
+          if (scope.object.isPerspectiveCamera) {
+            // perspective
+            const position = scope.object.position;
+            offset.copy(position).sub(scope.target);
+            let targetDistance = offset.length();
+
+            // half of the fov is center to top of screen
+            targetDistance *= Math.tan(((scope.object.fov / 2) * Math.PI) / 180.0);
+
+            // we use only clientHeight here so aspect ratio does not distort speed
+            panLeft((2 * deltaX * targetDistance) / element.clientHeight, scope.object.matrix);
+            panUp((2 * deltaY * targetDistance) / element.clientHeight, scope.object.matrix);
+          } else if (scope.object.isOrthographicCamera) {
+            // orthographic
+            panLeft(
+              (deltaX * (scope.object.right - scope.object.left)) / scope.object.zoom / element.clientWidth,
+              scope.object.matrix
+            );
+            panUp(
+              (deltaY * (scope.object.top - scope.object.bottom)) / scope.object.zoom / element.clientHeight,
+              scope.object.matrix
+            );
+          } else {
+            // camera neither orthographic nor perspective
+            console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.");
+            scope.enablePan = false;
+          }
+        };
+      })();
+
+      function dollyOut(dollyScale) {
+        if (scope.object.isPerspectiveCamera) {
+          scale /= dollyScale;
+        } else if (scope.object.isOrthographicCamera) {
+          scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale));
+          scope.object.updateProjectionMatrix();
+          zoomChanged = true;
+        } else {
+          console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.");
+          scope.enableZoom = false;
+        }
+      }
+
+      function dollyIn(dollyScale) {
+        if (scope.object.isPerspectiveCamera) {
+          scale *= dollyScale;
+        } else if (scope.object.isOrthographicCamera) {
+          scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale));
+          scope.object.updateProjectionMatrix();
+          zoomChanged = true;
+        } else {
+          console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.");
+          scope.enableZoom = false;
+        }
+      }
+
+      //
+      // event callbacks - update the object state
+      //
+
+      function handleMouseDownRotate(event) {
+        rotateStart.set(event.clientX, event.clientY);
+      }
+
+      function handleMouseDownDolly(event) {
+        dollyStart.set(event.clientX, event.clientY);
+      }
+
+      function handleMouseDownPan(event) {
+        panStart.set(event.clientX, event.clientY);
+      }
+
+      function handleMouseMoveRotate(event) {
+        rotateEnd.set(event.clientX, event.clientY);
+
+        rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed);
+
+        const element = scope.domElement;
+
+        rotateLeft((2 * Math.PI * rotateDelta.x) / element.clientHeight); // yes, height
+
+        rotateUp((2 * Math.PI * rotateDelta.y) / element.clientHeight);
+
+        rotateStart.copy(rotateEnd);
+
+        scope.update();
+      }
+
+      function handleMouseMoveDolly(event) {
+        dollyEnd.set(event.clientX, event.clientY);
+
+        dollyDelta.subVectors(dollyEnd, dollyStart);
+
+        if (dollyDelta.y > 0) {
+          dollyOut(getZoomScale());
+        } else if (dollyDelta.y < 0) {
+          dollyIn(getZoomScale());
+        }
+
+        dollyStart.copy(dollyEnd);
+
+        scope.update();
+      }
+
+      function handleMouseMovePan(event) {
+        panEnd.set(event.clientX, event.clientY);
+
+        panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed);
+
+        pan(panDelta.x, panDelta.y);
+
+        panStart.copy(panEnd);
+
+        scope.update();
+      }
+
+      function handleMouseWheel(event) {
+        if (event.deltaY < 0) {
+          dollyIn(getZoomScale());
+        } else if (event.deltaY > 0) {
+          dollyOut(getZoomScale());
+        }
+
+        scope.update();
+      }
+
+      function handleKeyDown(event) {
+        let needsUpdate = false;
+
+        switch (event.code) {
+          case scope.keys.UP:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              rotateUp((2 * Math.PI * scope.rotateSpeed) / scope.domElement.clientHeight);
+            } else {
+              pan(0, scope.keyPanSpeed);
+            }
 
+            needsUpdate = true;
+            break;
 
-					spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) );
-					spherical.makeSafe();
-					spherical.radius *= scale; // restrict radius to be between desired limits
+          case scope.keys.BOTTOM:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              rotateUp((-2 * Math.PI * scope.rotateSpeed) / scope.domElement.clientHeight);
+            } else {
+              pan(0, -scope.keyPanSpeed);
+            }
 
-					spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); // move target to panned location
+            needsUpdate = true;
+            break;
 
-					if ( scope.enableDamping === true ) {
+          case scope.keys.LEFT:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              rotateLeft((2 * Math.PI * scope.rotateSpeed) / scope.domElement.clientHeight);
+            } else {
+              pan(scope.keyPanSpeed, 0);
+            }
 
-						scope.target.addScaledVector( panOffset, scope.dampingFactor );
+            needsUpdate = true;
+            break;
 
-					} else {
+          case scope.keys.RIGHT:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              rotateLeft((-2 * Math.PI * scope.rotateSpeed) / scope.domElement.clientHeight);
+            } else {
+              pan(-scope.keyPanSpeed, 0);
+            }
 
-						scope.target.add( panOffset );
+            needsUpdate = true;
+            break;
+        }
 
-					}
+        if (needsUpdate) {
+          // prevent the browser from scrolling on cursor keys
+          event.preventDefault();
 
-					offset.setFromSpherical( spherical ); // rotate offset back to "camera-up-vector-is-up" space
+          scope.update();
+        }
+      }
 
-					offset.applyQuaternion( quatInverse );
-					position.copy( scope.target ).add( offset );
-					scope.object.lookAt( scope.target );
+      function handleTouchStartRotate() {
+        if (pointers.length === 1) {
+          rotateStart.set(pointers[0].pageX, pointers[0].pageY);
+        } else {
+          const x = 0.5 * (pointers[0].pageX + pointers[1].pageX);
+          const y = 0.5 * (pointers[0].pageY + pointers[1].pageY);
 
-					if ( scope.enableDamping === true ) {
+          rotateStart.set(x, y);
+        }
+      }
 
-						sphericalDelta.theta *= 1 - scope.dampingFactor;
-						sphericalDelta.phi *= 1 - scope.dampingFactor;
-						panOffset.multiplyScalar( 1 - scope.dampingFactor );
+      function handleTouchStartPan() {
+        if (pointers.length === 1) {
+          panStart.set(pointers[0].pageX, pointers[0].pageY);
+        } else {
+          const x = 0.5 * (pointers[0].pageX + pointers[1].pageX);
+          const y = 0.5 * (pointers[0].pageY + pointers[1].pageY);
 
-					} else {
+          panStart.set(x, y);
+        }
+      }
 
-						sphericalDelta.set( 0, 0, 0 );
-						panOffset.set( 0, 0, 0 );
+      function handleTouchStartDolly() {
+        const dx = pointers[0].pageX - pointers[1].pageX;
+        const dy = pointers[0].pageY - pointers[1].pageY;
 
-					}
+        const distance = Math.sqrt(dx * dx + dy * dy);
 
-					scale = 1; // update condition is:
-					// min(camera displacement, camera rotation in radians)^2 > EPS
-					// using small-angle approximation cos(x/2) = 1 - x^2 / 8
+        dollyStart.set(0, distance);
+      }
 
-					if ( zoomChanged || lastPosition.distanceToSquared( scope.object.position ) > EPS || 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) {
+      function handleTouchStartDollyPan() {
+        if (scope.enableZoom) handleTouchStartDolly();
 
-						scope.dispatchEvent( _changeEvent );
-						lastPosition.copy( scope.object.position );
-						lastQuaternion.copy( scope.object.quaternion );
-						zoomChanged = false;
-						return true;
+        if (scope.enablePan) handleTouchStartPan();
+      }
 
-					}
+      function handleTouchStartDollyRotate() {
+        if (scope.enableZoom) handleTouchStartDolly();
 
-					return false;
+        if (scope.enableRotate) handleTouchStartRotate();
+      }
 
-				};
+      function handleTouchMoveRotate(event) {
+        if (pointers.length == 1) {
+          rotateEnd.set(event.pageX, event.pageY);
+        } else {
+          const position = getSecondPointerPosition(event);
 
-			}();
+          const x = 0.5 * (event.pageX + position.x);
+          const y = 0.5 * (event.pageY + position.y);
 
-			this.dispose = function () {
+          rotateEnd.set(x, y);
+        }
 
-				scope.domElement.removeEventListener( 'contextmenu', onContextMenu );
-				scope.domElement.removeEventListener( 'pointerdown', onPointerDown );
-				scope.domElement.removeEventListener( 'wheel', onMouseWheel );
-				scope.domElement.removeEventListener( 'touchstart', onTouchStart );
-				scope.domElement.removeEventListener( 'touchend', onTouchEnd );
-				scope.domElement.removeEventListener( 'touchmove', onTouchMove );
-				scope.domElement.ownerDocument.removeEventListener( 'pointermove', onPointerMove );
-				scope.domElement.ownerDocument.removeEventListener( 'pointerup', onPointerUp );
+        rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed);
 
-				if ( scope._domElementKeyEvents !== null ) {
+        const element = scope.domElement;
 
-					scope._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown );
+        rotateLeft((2 * Math.PI * rotateDelta.x) / element.clientHeight); // yes, height
 
-				} //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here?
+        rotateUp((2 * Math.PI * rotateDelta.y) / element.clientHeight);
 
-			}; //
-			// internals
-			//
+        rotateStart.copy(rotateEnd);
+      }
 
+      function handleTouchMovePan(event) {
+        if (pointers.length === 1) {
+          panEnd.set(event.pageX, event.pageY);
+        } else {
+          const position = getSecondPointerPosition(event);
 
-			const scope = this;
-			const STATE = {
-				NONE: - 1,
-				ROTATE: 0,
-				DOLLY: 1,
-				PAN: 2,
-				TOUCH_ROTATE: 3,
-				TOUCH_PAN: 4,
-				TOUCH_DOLLY_PAN: 5,
-				TOUCH_DOLLY_ROTATE: 6
-			};
-			let state = STATE.NONE;
-			const EPS = 0.000001; // current position in spherical coordinates
+          const x = 0.5 * (event.pageX + position.x);
+          const y = 0.5 * (event.pageY + position.y);
 
-			const spherical = new THREE.Spherical();
-			const sphericalDelta = new THREE.Spherical();
-			let scale = 1;
-			const panOffset = new THREE.Vector3();
-			let zoomChanged = false;
-			const rotateStart = new THREE.Vector2();
-			const rotateEnd = new THREE.Vector2();
-			const rotateDelta = new THREE.Vector2();
-			const panStart = new THREE.Vector2();
-			const panEnd = new THREE.Vector2();
-			const panDelta = new THREE.Vector2();
-			const dollyStart = new THREE.Vector2();
-			const dollyEnd = new THREE.Vector2();
-			const dollyDelta = new THREE.Vector2();
+          panEnd.set(x, y);
+        }
 
-			function getAutoRotationAngle() {
+        panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed);
 
-				return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;
+        pan(panDelta.x, panDelta.y);
 
-			}
+        panStart.copy(panEnd);
+      }
 
-			function getZoomScale() {
+      function handleTouchMoveDolly(event) {
+        const position = getSecondPointerPosition(event);
 
-				return Math.pow( 0.95, scope.zoomSpeed );
+        const dx = event.pageX - position.x;
+        const dy = event.pageY - position.y;
 
-			}
+        const distance = Math.sqrt(dx * dx + dy * dy);
 
-			function rotateLeft( angle ) {
+        dollyEnd.set(0, distance);
 
-				sphericalDelta.theta -= angle;
+        dollyDelta.set(0, Math.pow(dollyEnd.y / dollyStart.y, scope.zoomSpeed));
 
-			}
+        dollyOut(dollyDelta.y);
 
-			function rotateUp( angle ) {
+        dollyStart.copy(dollyEnd);
+      }
 
-				sphericalDelta.phi -= angle;
+      function handleTouchMoveDollyPan(event) {
+        if (scope.enableZoom) handleTouchMoveDolly(event);
 
-			}
+        if (scope.enablePan) handleTouchMovePan(event);
+      }
 
-			const panLeft = function () {
+      function handleTouchMoveDollyRotate(event) {
+        if (scope.enableZoom) handleTouchMoveDolly(event);
 
-				const v = new THREE.Vector3();
-				return function panLeft( distance, objectMatrix ) {
+        if (scope.enableRotate) handleTouchMoveRotate(event);
+      }
 
-					v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix
+      //
+      // event handlers - FSM: listen for events and reset state
+      //
 
-					v.multiplyScalar( - distance );
-					panOffset.add( v );
+      function onPointerDown(event) {
+        if (scope.enabled === false) return;
 
-				};
+        if (pointers.length === 0) {
+          scope.domElement.setPointerCapture(event.pointerId);
 
-			}();
+          scope.domElement.addEventListener("pointermove", onPointerMove);
+          scope.domElement.addEventListener("pointerup", onPointerUp);
+        }
 
-			const panUp = function () {
+        //
 
-				const v = new THREE.Vector3();
-				return function panUp( distance, objectMatrix ) {
+        addPointer(event);
 
-					if ( scope.screenSpacePanning === true ) {
+        if (event.pointerType === "touch") {
+          onTouchStart(event);
+        } else {
+          onMouseDown(event);
+        }
+      }
 
-						v.setFromMatrixColumn( objectMatrix, 1 );
+      function onPointerMove(event) {
+        if (scope.enabled === false) return;
 
-					} else {
+        if (event.pointerType === "touch") {
+          onTouchMove(event);
+        } else {
+          onMouseMove(event);
+        }
+      }
 
-						v.setFromMatrixColumn( objectMatrix, 0 );
-						v.crossVectors( scope.object.up, v );
+      function onPointerUp(event) {
+        removePointer(event);
 
-					}
+        if (pointers.length === 0) {
+          scope.domElement.releasePointerCapture(event.pointerId);
 
-					v.multiplyScalar( distance );
-					panOffset.add( v );
+          scope.domElement.removeEventListener("pointermove", onPointerMove);
+          scope.domElement.removeEventListener("pointerup", onPointerUp);
+        }
 
-				};
+        scope.dispatchEvent(_endEvent);
 
-			}(); // deltaX and deltaY are in pixels; right and down are positive
+        state = STATE.NONE;
+      }
 
+      function onPointerCancel(event) {
+        removePointer(event);
+      }
 
-			const pan = function () {
+      function onMouseDown(event) {
+        let mouseAction;
 
-				const offset = new THREE.Vector3();
-				return function pan( deltaX, deltaY ) {
+        switch (event.button) {
+          case 0:
+            mouseAction = scope.mouseButtons.LEFT;
+            break;
 
-					const element = scope.domElement;
+          case 1:
+            mouseAction = scope.mouseButtons.MIDDLE;
+            break;
 
-					if ( scope.object.isPerspectiveCamera ) {
+          case 2:
+            mouseAction = scope.mouseButtons.RIGHT;
+            break;
 
-						// perspective
-						const position = scope.object.position;
-						offset.copy( position ).sub( scope.target );
-						let targetDistance = offset.length(); // half of the fov is center to top of screen
+          default:
+            mouseAction = -1;
+        }
 
-						targetDistance *= Math.tan( scope.object.fov / 2 * Math.PI / 180.0 ); // we use only clientHeight here so aspect ratio does not distort speed
+        switch (mouseAction) {
+          case THREE.MOUSE.DOLLY:
+            if (scope.enableZoom === false) return;
 
-						panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix );
-						panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix );
+            handleMouseDownDolly(event);
 
-					} else if ( scope.object.isOrthographicCamera ) {
+            state = STATE.DOLLY;
 
-						// orthographic
-						panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix );
-						panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix );
+            break;
 
-					} else {
+          case THREE.MOUSE.ROTATE:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              if (scope.enablePan === false) return;
 
-						// camera neither orthographic nor perspective
-						console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );
-						scope.enablePan = false;
+              handleMouseDownPan(event);
 
-					}
+              state = STATE.PAN;
+            } else {
+              if (scope.enableRotate === false) return;
 
-				};
+              handleMouseDownRotate(event);
 
-			}();
+              state = STATE.ROTATE;
+            }
 
-			function dollyOut( dollyScale ) {
+            break;
 
-				if ( scope.object.isPerspectiveCamera ) {
+          case THREE.MOUSE.PAN:
+            if (event.ctrlKey || event.metaKey || event.shiftKey) {
+              if (scope.enableRotate === false) return;
 
-					scale /= dollyScale;
+              handleMouseDownRotate(event);
 
-				} else if ( scope.object.isOrthographicCamera ) {
+              state = STATE.ROTATE;
+            } else {
+              if (scope.enablePan === false) return;
 
-					scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) );
-					scope.object.updateProjectionMatrix();
-					zoomChanged = true;
+              handleMouseDownPan(event);
 
-				} else {
+              state = STATE.PAN;
+            }
 
-					console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
-					scope.enableZoom = false;
+            break;
 
-				}
+          default:
+            state = STATE.NONE;
+        }
 
-			}
+        if (state !== STATE.NONE) {
+          scope.dispatchEvent(_startEvent);
+        }
+      }
 
-			function dollyIn( dollyScale ) {
+      function onMouseMove(event) {
+        switch (state) {
+          case STATE.ROTATE:
+            if (scope.enableRotate === false) return;
 
-				if ( scope.object.isPerspectiveCamera ) {
+            handleMouseMoveRotate(event);
 
-					scale *= dollyScale;
+            break;
 
-				} else if ( scope.object.isOrthographicCamera ) {
+          case STATE.DOLLY:
+            if (scope.enableZoom === false) return;
 
-					scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) );
-					scope.object.updateProjectionMatrix();
-					zoomChanged = true;
+            handleMouseMoveDolly(event);
 
-				} else {
+            break;
 
-					console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
-					scope.enableZoom = false;
+          case STATE.PAN:
+            if (scope.enablePan === false) return;
 
-				}
+            handleMouseMovePan(event);
 
-			} //
-			// event callbacks - update the object state
-			//
+            break;
+        }
+      }
 
+      function onMouseWheel(event) {
+        if (scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE) return;
 
-			function handleMouseDownRotate( event ) {
+        event.preventDefault();
 
-				rotateStart.set( event.clientX, event.clientY );
+        scope.dispatchEvent(_startEvent);
 
-			}
+        handleMouseWheel(event);
 
-			function handleMouseDownDolly( event ) {
+        scope.dispatchEvent(_endEvent);
+      }
 
-				dollyStart.set( event.clientX, event.clientY );
+      function onKeyDown(event) {
+        if (scope.enabled === false || scope.enablePan === false) return;
 
-			}
+        handleKeyDown(event);
+      }
 
-			function handleMouseDownPan( event ) {
+      function onTouchStart(event) {
+        trackPointer(event);
 
-				panStart.set( event.clientX, event.clientY );
+        switch (pointers.length) {
+          case 1:
+            switch (scope.touches.ONE) {
+              case THREE.TOUCH.ROTATE:
+                if (scope.enableRotate === false) return;
 
-			}
+                handleTouchStartRotate();
 
-			function handleMouseMoveRotate( event ) {
+                state = STATE.TOUCH_ROTATE;
 
-				rotateEnd.set( event.clientX, event.clientY );
-				rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed );
-				const element = scope.domElement;
-				rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height
+                break;
 
-				rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight );
-				rotateStart.copy( rotateEnd );
-				scope.update();
+              case THREE.TOUCH.PAN:
+                if (scope.enablePan === false) return;
 
-			}
+                handleTouchStartPan();
 
-			function handleMouseMoveDolly( event ) {
+                state = STATE.TOUCH_PAN;
 
-				dollyEnd.set( event.clientX, event.clientY );
-				dollyDelta.subVectors( dollyEnd, dollyStart );
+                break;
 
-				if ( dollyDelta.y > 0 ) {
+              default:
+                state = STATE.NONE;
+            }
 
-					dollyOut( getZoomScale() );
+            break;
 
-				} else if ( dollyDelta.y < 0 ) {
+          case 2:
+            switch (scope.touches.TWO) {
+              case THREE.TOUCH.DOLLY_PAN:
+                if (scope.enableZoom === false && scope.enablePan === false) return;
 
-					dollyIn( getZoomScale() );
+                handleTouchStartDollyPan();
 
-				}
+                state = STATE.TOUCH_DOLLY_PAN;
 
-				dollyStart.copy( dollyEnd );
-				scope.update();
+                break;
 
-			}
+              case THREE.TOUCH.DOLLY_ROTATE:
+                if (scope.enableZoom === false && scope.enableRotate === false) return;
 
-			function handleMouseMovePan( event ) {
+                handleTouchStartDollyRotate();
 
-				panEnd.set( event.clientX, event.clientY );
-				panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed );
-				pan( panDelta.x, panDelta.y );
-				panStart.copy( panEnd );
-				scope.update();
+                state = STATE.TOUCH_DOLLY_ROTATE;
 
-			}
+                break;
 
-			function handleMouseUp( ) { // no-op
-			}
+              default:
+                state = STATE.NONE;
+            }
 
-			function handleMouseWheel( event ) {
+            break;
 
-				if ( event.deltaY < 0 ) {
+          default:
+            state = STATE.NONE;
+        }
 
-					dollyIn( getZoomScale() );
+        if (state !== STATE.NONE) {
+          scope.dispatchEvent(_startEvent);
+        }
+      }
 
-				} else if ( event.deltaY > 0 ) {
+      function onTouchMove(event) {
+        trackPointer(event);
 
-					dollyOut( getZoomScale() );
+        switch (state) {
+          case STATE.TOUCH_ROTATE:
+            if (scope.enableRotate === false) return;
 
-				}
+            handleTouchMoveRotate(event);
 
-				scope.update();
+            scope.update();
 
-			}
+            break;
 
-			function handleKeyDown( event ) {
+          case STATE.TOUCH_PAN:
+            if (scope.enablePan === false) return;
 
-				let needsUpdate = false;
+            handleTouchMovePan(event);
 
-				switch ( event.code ) {
+            scope.update();
 
-					case scope.keys.UP:
-						pan( 0, scope.keyPanSpeed );
-						needsUpdate = true;
-						break;
+            break;
 
-					case scope.keys.BOTTOM:
-						pan( 0, - scope.keyPanSpeed );
-						needsUpdate = true;
-						break;
+          case STATE.TOUCH_DOLLY_PAN:
+            if (scope.enableZoom === false && scope.enablePan === false) return;
 
-					case scope.keys.LEFT:
-						pan( scope.keyPanSpeed, 0 );
-						needsUpdate = true;
-						break;
+            handleTouchMoveDollyPan(event);
 
-					case scope.keys.RIGHT:
-						pan( - scope.keyPanSpeed, 0 );
-						needsUpdate = true;
-						break;
+            scope.update();
 
-				}
+            break;
 
-				if ( needsUpdate ) {
+          case STATE.TOUCH_DOLLY_ROTATE:
+            if (scope.enableZoom === false && scope.enableRotate === false) return;
 
-					// prevent the browser from scrolling on cursor keys
-					event.preventDefault();
-					scope.update();
+            handleTouchMoveDollyRotate(event);
 
-				}
+            scope.update();
 
-			}
+            break;
 
-			function handleTouchStartRotate( event ) {
+          default:
+            state = STATE.NONE;
+        }
+      }
 
-				if ( event.touches.length == 1 ) {
+      function onContextMenu(event) {
+        if (scope.enabled === false) return;
 
-					rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+        event.preventDefault();
+      }
 
-				} else {
+      function addPointer(event) {
+        pointers.push(event);
+      }
 
-					const x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX );
-					const y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY );
-					rotateStart.set( x, y );
+      function removePointer(event) {
+        delete pointerPositions[event.pointerId];
 
-				}
+        for (let i = 0; i < pointers.length; i++) {
+          if (pointers[i].pointerId == event.pointerId) {
+            pointers.splice(i, 1);
+            return;
+          }
+        }
+      }
 
-			}
+      function trackPointer(event) {
+        let position = pointerPositions[event.pointerId];
 
-			function handleTouchStartPan( event ) {
+        if (position === undefined) {
+          position = new THREE.Vector2();
+          pointerPositions[event.pointerId] = position;
+        }
 
-				if ( event.touches.length == 1 ) {
+        position.set(event.pageX, event.pageY);
+      }
 
-					panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+      function getSecondPointerPosition(event) {
+        const pointer = event.pointerId === pointers[0].pointerId ? pointers[1] : pointers[0];
 
-				} else {
+        return pointerPositions[pointer.pointerId];
+      }
 
-					const x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX );
-					const y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY );
-					panStart.set( x, y );
+      //
 
-				}
+      scope.domElement.addEventListener("contextmenu", onContextMenu);
 
-			}
+      scope.domElement.addEventListener("pointerdown", onPointerDown);
+      scope.domElement.addEventListener("pointercancel", onPointerCancel);
+      scope.domElement.addEventListener("wheel", onMouseWheel, { passive: false });
 
-			function handleTouchStartDolly( event ) {
+      // force an update at start
 
-				const dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
-				const dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
-				const distance = Math.sqrt( dx * dx + dy * dy );
-				dollyStart.set( 0, distance );
+      this.update();
+    }
+  }
 
-			}
+  // This set of controls performs orbiting, dollying (zooming), and panning.
+  // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
+  // This is very similar to OrbitControls, another set of touch behavior
+  //
+  //    Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate
+  //    Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
+  //    Pan - left mouse, or arrow keys / touch: one-finger move
 
-			function handleTouchStartDollyPan( event ) {
+  class MapControls extends OrbitControls {
+    constructor(object, domElement) {
+      super(object, domElement);
 
-				if ( scope.enableZoom ) handleTouchStartDolly( event );
-				if ( scope.enablePan ) handleTouchStartPan( event );
+      this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up
 
-			}
+      this.mouseButtons.LEFT = THREE.MOUSE.PAN;
+      this.mouseButtons.RIGHT = THREE.MOUSE.ROTATE;
 
-			function handleTouchStartDollyRotate( event ) {
+      this.touches.ONE = THREE.TOUCH.PAN;
+      this.touches.TWO = THREE.TOUCH.DOLLY_ROTATE;
+    }
+  }
 
-				if ( scope.enableZoom ) handleTouchStartDolly( event );
-				if ( scope.enableRotate ) handleTouchStartRotate( event );
-
-			}
-
-			function handleTouchMoveRotate( event ) {
-
-				if ( event.touches.length == 1 ) {
-
-					rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
-
-				} else {
-
-					const x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX );
-					const y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY );
-					rotateEnd.set( x, y );
-
-				}
-
-				rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed );
-				const element = scope.domElement;
-				rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height
-
-				rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight );
-				rotateStart.copy( rotateEnd );
-
-			}
-
-			function handleTouchMovePan( event ) {
-
-				if ( event.touches.length == 1 ) {
-
-					panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
-
-				} else {
-
-					const x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX );
-					const y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY );
-					panEnd.set( x, y );
-
-				}
-
-				panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed );
-				pan( panDelta.x, panDelta.y );
-				panStart.copy( panEnd );
-
-			}
-
-			function handleTouchMoveDolly( event ) {
-
-				const dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
-				const dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
-				const distance = Math.sqrt( dx * dx + dy * dy );
-				dollyEnd.set( 0, distance );
-				dollyDelta.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) );
-				dollyOut( dollyDelta.y );
-				dollyStart.copy( dollyEnd );
-
-			}
-
-			function handleTouchMoveDollyPan( event ) {
-
-				if ( scope.enableZoom ) handleTouchMoveDolly( event );
-				if ( scope.enablePan ) handleTouchMovePan( event );
-
-			}
-
-			function handleTouchMoveDollyRotate( event ) {
-
-				if ( scope.enableZoom ) handleTouchMoveDolly( event );
-				if ( scope.enableRotate ) handleTouchMoveRotate( event );
-
-			}
-
-			function handleTouchEnd( ) { // no-op
-			} //
-			// event handlers - FSM: listen for events and reset state
-			//
-
-
-			function onPointerDown( event ) {
-
-				if ( scope.enabled === false ) return;
-
-				switch ( event.pointerType ) {
-
-					case 'mouse':
-					case 'pen':
-						onMouseDown( event );
-						break;
-        // TODO touch
-
-				}
-
-			}
-
-			function onPointerMove( event ) {
-
-				if ( scope.enabled === false ) return;
-
-				switch ( event.pointerType ) {
-
-					case 'mouse':
-					case 'pen':
-						onMouseMove( event );
-						break;
-        // TODO touch
-
-				}
-
-			}
-
-			function onPointerUp( event ) {
-
-				switch ( event.pointerType ) {
-
-					case 'mouse':
-					case 'pen':
-						onMouseUp( event );
-						break;
-        // TODO touch
-
-				}
-
-			}
-
-			function onMouseDown( event ) {
-
-				// Prevent the browser from scrolling.
-				event.preventDefault(); // Manually set the focus since calling preventDefault above
-				// prevents the browser from setting it automatically.
-
-				scope.domElement.focus ? scope.domElement.focus() : window.focus();
-				let mouseAction;
-
-				switch ( event.button ) {
-
-					case 0:
-						mouseAction = scope.mouseButtons.LEFT;
-						break;
-
-					case 1:
-						mouseAction = scope.mouseButtons.MIDDLE;
-						break;
-
-					case 2:
-						mouseAction = scope.mouseButtons.RIGHT;
-						break;
-
-					default:
-						mouseAction = - 1;
-
-				}
-
-				switch ( mouseAction ) {
-
-					case THREE.MOUSE.DOLLY:
-						if ( scope.enableZoom === false ) return;
-						handleMouseDownDolly( event );
-						state = STATE.DOLLY;
-						break;
-
-					case THREE.MOUSE.ROTATE:
-						if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
-
-							if ( scope.enablePan === false ) return;
-							handleMouseDownPan( event );
-							state = STATE.PAN;
-
-						} else {
-
-							if ( scope.enableRotate === false ) return;
-							handleMouseDownRotate( event );
-							state = STATE.ROTATE;
-
-						}
-
-						break;
-
-					case THREE.MOUSE.PAN:
-						if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
-
-							if ( scope.enableRotate === false ) return;
-							handleMouseDownRotate( event );
-							state = STATE.ROTATE;
-
-						} else {
-
-							if ( scope.enablePan === false ) return;
-							handleMouseDownPan( event );
-							state = STATE.PAN;
-
-						}
-
-						break;
-
-					default:
-						state = STATE.NONE;
-
-				}
-
-				if ( state !== STATE.NONE ) {
-
-					scope.domElement.ownerDocument.addEventListener( 'pointermove', onPointerMove );
-					scope.domElement.ownerDocument.addEventListener( 'pointerup', onPointerUp );
-					scope.dispatchEvent( _startEvent );
-
-				}
-
-			}
-
-			function onMouseMove( event ) {
-
-				if ( scope.enabled === false ) return;
-				event.preventDefault();
-
-				switch ( state ) {
-
-					case STATE.ROTATE:
-						if ( scope.enableRotate === false ) return;
-						handleMouseMoveRotate( event );
-						break;
-
-					case STATE.DOLLY:
-						if ( scope.enableZoom === false ) return;
-						handleMouseMoveDolly( event );
-						break;
-
-					case STATE.PAN:
-						if ( scope.enablePan === false ) return;
-						handleMouseMovePan( event );
-						break;
-
-				}
-
-			}
-
-			function onMouseUp( event ) {
-
-				scope.domElement.ownerDocument.removeEventListener( 'pointermove', onPointerMove );
-				scope.domElement.ownerDocument.removeEventListener( 'pointerup', onPointerUp );
-				if ( scope.enabled === false ) return;
-				handleMouseUp( event );
-				scope.dispatchEvent( _endEvent );
-				state = STATE.NONE;
-
-			}
-
-			function onMouseWheel( event ) {
-
-				if ( scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE && state !== STATE.ROTATE ) return;
-				event.preventDefault();
-				scope.dispatchEvent( _startEvent );
-				handleMouseWheel( event );
-				scope.dispatchEvent( _endEvent );
-
-			}
-
-			function onKeyDown( event ) {
-
-				if ( scope.enabled === false || scope.enablePan === false ) return;
-				handleKeyDown( event );
-
-			}
-
-			function onTouchStart( event ) {
-
-				if ( scope.enabled === false ) return;
-				event.preventDefault(); // prevent scrolling
-
-				switch ( event.touches.length ) {
-
-					case 1:
-						switch ( scope.touches.ONE ) {
-
-							case THREE.TOUCH.ROTATE:
-								if ( scope.enableRotate === false ) return;
-								handleTouchStartRotate( event );
-								state = STATE.TOUCH_ROTATE;
-								break;
-
-							case THREE.TOUCH.PAN:
-								if ( scope.enablePan === false ) return;
-								handleTouchStartPan( event );
-								state = STATE.TOUCH_PAN;
-								break;
-
-							default:
-								state = STATE.NONE;
-
-						}
-
-						break;
-
-					case 2:
-						switch ( scope.touches.TWO ) {
-
-							case THREE.TOUCH.DOLLY_PAN:
-								if ( scope.enableZoom === false && scope.enablePan === false ) return;
-								handleTouchStartDollyPan( event );
-								state = STATE.TOUCH_DOLLY_PAN;
-								break;
-
-							case THREE.TOUCH.DOLLY_ROTATE:
-								if ( scope.enableZoom === false && scope.enableRotate === false ) return;
-								handleTouchStartDollyRotate( event );
-								state = STATE.TOUCH_DOLLY_ROTATE;
-								break;
-
-							default:
-								state = STATE.NONE;
-
-						}
-
-						break;
-
-					default:
-						state = STATE.NONE;
-
-				}
-
-				if ( state !== STATE.NONE ) {
-
-					scope.dispatchEvent( _startEvent );
-
-				}
-
-			}
-
-			function onTouchMove( event ) {
-
-				if ( scope.enabled === false ) return;
-				event.preventDefault(); // prevent scrolling
-
-				switch ( state ) {
-
-					case STATE.TOUCH_ROTATE:
-						if ( scope.enableRotate === false ) return;
-						handleTouchMoveRotate( event );
-						scope.update();
-						break;
-
-					case STATE.TOUCH_PAN:
-						if ( scope.enablePan === false ) return;
-						handleTouchMovePan( event );
-						scope.update();
-						break;
-
-					case STATE.TOUCH_DOLLY_PAN:
-						if ( scope.enableZoom === false && scope.enablePan === false ) return;
-						handleTouchMoveDollyPan( event );
-						scope.update();
-						break;
-
-					case STATE.TOUCH_DOLLY_ROTATE:
-						if ( scope.enableZoom === false && scope.enableRotate === false ) return;
-						handleTouchMoveDollyRotate( event );
-						scope.update();
-						break;
-
-					default:
-						state = STATE.NONE;
-
-				}
-
-			}
-
-			function onTouchEnd( event ) {
-
-				if ( scope.enabled === false ) return;
-				handleTouchEnd( event );
-				scope.dispatchEvent( _endEvent );
-				state = STATE.NONE;
-
-			}
-
-			function onContextMenu( event ) {
-
-				if ( scope.enabled === false ) return;
-				event.preventDefault();
-
-			} //
-
-
-			scope.domElement.addEventListener( 'contextmenu', onContextMenu );
-			scope.domElement.addEventListener( 'pointerdown', onPointerDown );
-			scope.domElement.addEventListener( 'wheel', onMouseWheel, {
-				passive: false
-			} );
-			scope.domElement.addEventListener( 'touchstart', onTouchStart, {
-				passive: false
-			} );
-			scope.domElement.addEventListener( 'touchend', onTouchEnd );
-			scope.domElement.addEventListener( 'touchmove', onTouchMove, {
-				passive: false
-			} ); // force an update at start
-
-			this.update();
-
-		}
-
-	} // This set of controls performs orbiting, dollying (zooming), and panning.
-	// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
-	// This is very similar to OrbitControls, another set of touch behavior
-	//
-	//    Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate
-	//    Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
-	//    Pan - left mouse, or arrow keys / touch: one-finger move
-
-
-	class MapControls extends OrbitControls {
-
-		constructor( object, domElement ) {
-
-			super( object, domElement );
-			this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up
-
-			this.mouseButtons.LEFT = THREE.MOUSE.PAN;
-			this.mouseButtons.RIGHT = THREE.MOUSE.ROTATE;
-			this.touches.ONE = THREE.TOUCH.PAN;
-			this.touches.TWO = THREE.TOUCH.DOLLY_ROTATE;
-
-		}
-
-	}
-
-	THREE.MapControls = MapControls;
-	THREE.OrbitControls = OrbitControls;
-
-} )();
+  THREE.MapControls = MapControls;
+  THREE.OrbitControls = OrbitControls;
+})();

+ 15 - 49
nicegui/elements/lib/STLLoader.js

@@ -122,7 +122,7 @@
         // Check if each byte in query matches the corresponding byte from the current offset
 
         for (let i = 0, il = query.length; i < il; i++) {
-          if (query[i] !== reader.getUint8(offset + i, false)) return false;
+          if (query[i] !== reader.getUint8(offset + i)) return false;
         }
 
         return true;
@@ -193,14 +193,8 @@
             const componentIdx = face * 3 * 3 + (i - 1) * 3;
 
             vertices[componentIdx] = reader.getFloat32(vertexstart, true);
-            vertices[componentIdx + 1] = reader.getFloat32(
-              vertexstart + 4,
-              true
-            );
-            vertices[componentIdx + 2] = reader.getFloat32(
-              vertexstart + 8,
-              true
-            );
+            vertices[componentIdx + 1] = reader.getFloat32(vertexstart + 4, true);
+            vertices[componentIdx + 2] = reader.getFloat32(vertexstart + 8, true);
 
             normals[componentIdx] = normalX;
             normals[componentIdx + 1] = normalY;
@@ -214,10 +208,7 @@
           }
         }
 
-        geometry.setAttribute(
-          "position",
-          new THREE.BufferAttribute(vertices, 3)
-        );
+        geometry.setAttribute("position", new THREE.BufferAttribute(vertices, 3));
         geometry.setAttribute("normal", new THREE.BufferAttribute(normals, 3));
 
         if (hasColors) {
@@ -235,21 +226,14 @@
         const patternFace = /facet([\s\S]*?)endfacet/g;
         let faceCounter = 0;
 
-        const patternFloat = /[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/
-          .source;
-        const patternVertex = new RegExp(
-          "vertex" + patternFloat + patternFloat + patternFloat,
-          "g"
-        );
-        const patternNormal = new RegExp(
-          "normal" + patternFloat + patternFloat + patternFloat,
-          "g"
-        );
+        const patternFloat = /[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source;
+        const patternVertex = new RegExp("vertex" + patternFloat + patternFloat + patternFloat, "g");
+        const patternNormal = new RegExp("normal" + patternFloat + patternFloat + patternFloat, "g");
 
         const vertices = [];
         const normals = [];
 
-        const normal = new Vector3();
+        const normal = new THREE.Vector3();
 
         let result;
 
@@ -276,11 +260,7 @@
             }
 
             while ((result = patternVertex.exec(text)) !== null) {
-              vertices.push(
-                parseFloat(result[1]),
-                parseFloat(result[2]),
-                parseFloat(result[3])
-              );
+              vertices.push(parseFloat(result[1]), parseFloat(result[2]), parseFloat(result[3]));
               normals.push(normal.x, normal.y, normal.z);
               vertexCountPerFace++;
               endVertex++;
@@ -289,19 +269,13 @@
             // every face have to own ONE valid normal
 
             if (normalCountPerFace !== 1) {
-              console.error(
-                "THREE.STLLoader: Something isn't right with the normal of face number " +
-                  faceCounter
-              );
+              console.error("THREE.STLLoader: Something isn't right with the normal of face number " + faceCounter);
             }
 
             // each face have to own THREE valid vertices
 
             if (vertexCountPerFace !== 3) {
-              console.error(
-                "THREE.STLLoader: Something isn't right with the vertices of face number " +
-                  faceCounter
-              );
+              console.error("THREE.STLLoader: Something isn't right with the vertices of face number " + faceCounter);
             }
 
             faceCounter++;
@@ -314,21 +288,15 @@
           groupCount++;
         }
 
-        geometry.setAttribute(
-          "position",
-          new THREE.Float32BufferAttribute(vertices, 3)
-        );
-        geometry.setAttribute(
-          "normal",
-          new THREE.Float32BufferAttribute(normals, 3)
-        );
+        geometry.setAttribute("position", new THREE.Float32BufferAttribute(vertices, 3));
+        geometry.setAttribute("normal", new THREE.Float32BufferAttribute(normals, 3));
 
         return geometry;
       }
 
       function ensureString(buffer) {
         if (typeof buffer !== "string") {
-          return LoaderUtils.decodeText(new Uint8Array(buffer));
+          return new TextDecoder().decode(buffer);
         }
 
         return buffer;
@@ -351,9 +319,7 @@
 
       const binData = ensureBinary(data);
 
-      return isBinary(binData)
-        ? parseBinary(binData)
-        : parseASCII(ensureString(data));
+      return isBinary(binData) ? parseBinary(binData) : parseASCII(ensureString(data));
     }
   }
 

File diff suppressed because it is too large
+ 1 - 2
nicegui/elements/lib/ag-grid-community.min.js


+ 97 - 96
nicegui/elements/lib/highcharts-3d.js

@@ -1,104 +1,105 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  3D features for Highcharts JS
 
  License: www.highcharts.com/license
 */
-(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(F){a(F);a.Highcharts=F;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function F(a,z,y,D){a.hasOwnProperty(z)||(a[z]=D.apply(null,y),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:z,module:a[z]}})))}a=a?a._modules:{};F(a,"Core/Math3D.js",
-[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){function y(m,f,k,c){var b=f.options.chart.options3d,a=r(c,k?f.inverted:!1),g={x:f.plotWidth/2,y:f.plotHeight/2,z:b.depth/2,vd:r(b.depth,1)*r(b.viewDistance,0)},B=f.scale3d||1;c=H*b.beta*(a?-1:1);b=H*b.alpha*(a?-1:1);var p=Math.cos(b),t=Math.cos(-c),C=Math.sin(b),n=Math.sin(-c);k||(g.x+=f.plotLeft,g.y+=f.plotTop);return m.map(function(b){var f=(a?b.y:b.x)-g.x;var c=(a?b.x:b.y)-g.y;b=(b.z||0)-g.z;f={x:t*f-n*b,y:-C*n*f+p*c-t*C*b,z:p*n*f+C*c+
-p*t*b};c=x(f,g,g.vd);c.x=c.x*B+g.x;c.y=c.y*B+g.y;c.z=f.z*B+g.z;return{x:a?c.y:c.x,y:a?c.x:c.y,z:c.z}})}function x(a,f,k){f=0<k&&k<Number.POSITIVE_INFINITY?k/(a.z+f.z+k):1;return{x:a.x*f,y:a.y*f}}function m(a){var f=0,k;for(k=0;k<a.length;k++){var c=(k+1)%a.length;f+=a[k].x*a[c].y-a[c].x*a[k].y}return f/2}var H=a.deg2rad,r=z.pick;return{perspective:y,perspective3D:x,pointCameraDistance:function(a,f){var k=f.options.chart.options3d,c=f.plotWidth/2;f=f.plotHeight/2;k=r(k.depth,1)*r(k.viewDistance,0)+
-k.depth;return Math.sqrt(Math.pow(c-r(a.plotX,a.x),2)+Math.pow(f-r(a.plotY,a.y),2)+Math.pow(k-r(a.plotZ,a.z),2))},shapeArea:m,shapeArea3D:function(a,f,k){return m(y(a,f,k))}}});F(a,"Core/Renderer/SVG/SVGElement3D.js",[a["Core/Color/Color.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,y){var x=a.parse,m=y.defined;a=y.merge;var H=y.objectEach,r=y.pick,C={base:{initArgs:function(f){var a=this,c=a.renderer,b=c[a.pathType+"Path"](f),m=b.zIndexes;a.parts.forEach(function(g){var f=
-{"class":"highcharts-3d-"+g,zIndex:m[g]||0};c.styledMode&&("top"===g?f.filter="url(#highcharts-brighter)":"side"===g&&(f.filter="url(#highcharts-darker)"));a[g]=c.path(b[g]).attr(f).add(a)});a.attr({"stroke-linejoin":"round",zIndex:m.group});a.originalDestroy=a.destroy;a.destroy=a.destroyParts;a.forcedSides=b.forcedSides},singleSetterForParts:function(a,m,c,b,l,g){var f={};b=[null,null,b||"attr",l,g];var p=c&&c.zIndexes;c?(p&&p.group&&this.attr({zIndex:p.group}),H(c,function(b,g){f[g]={};f[g][a]=
-b;p&&(f[g].zIndex=c.zIndexes[g]||0)}),b[1]=f):(f[a]=m,b[0]=f);return this.processParts.apply(this,b)},processParts:function(a,m,c,b,l){var g=this;g.parts.forEach(function(f){m&&(a=r(m[f],!1));if(!1!==a)g[f][c](a,b,l)});return g},destroyParts:function(){this.processParts(null,null,"destroy");return this.originalDestroy()}}};C.cuboid=a(C.base,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,k,c,b){if("string"===typeof a&&"undefined"!==typeof k){var f=a;a={};a[f]=k}return a.shapeArgs||
-m(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):z.prototype.attr.call(this,a,void 0,c,b)},animate:function(a,k,c){if(m(a.x)&&m(a.y)){a=this.renderer[this.pathType+"Path"](a);var b=a.forcedSides;this.singleSetterForParts("d",null,a,"animate",k,c);this.attr({zIndex:a.zIndexes.group});b!==this.forcedSides&&(this.forcedSides=b,this.renderer.styledMode||C.cuboid.fillSetter.call(this,this.fill))}else z.prototype.animate.call(this,a,k,c);return this},fillSetter:function(a){this.forcedSides=
-this.forcedSides||[];this.singleSetterForParts("fill",null,{front:a,top:x(a).brighten(0<=this.forcedSides.indexOf("top")?0:.1).get(),side:x(a).brighten(0<=this.forcedSides.indexOf("side")?0:-.1).get()});this.color=this.fill=a;return this}});return C});F(a,"Core/Renderer/SVG/SVGRenderer3D.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Math3D.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGElement3D.js"],a["Core/Renderer/SVG/SVGRenderer.js"],
-a["Core/Utilities.js"]],function(a,z,y,D,m,H,r,C){var f=this&&this.__extends||function(){var a=function(h,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var u in e)e.hasOwnProperty(u)&&(a[u]=e[u])};return a(h,b)};return function(h,b){function g(){this.constructor=h}a(h,b);h.prototype=null===b?Object.create(b):(g.prototype=b.prototype,new g)}}(),k=a.animObject,c=z.parse,b=y.charts,l=y.deg2rad,g=D.perspective,B=D.shapeArea,p=C.defined,t=C.extend,
-v=C.merge,n=C.pick,x=Math.cos,E=Math.sin,J=Math.PI,K=4*(Math.sqrt(2)-1)/3/(J/2);return function(a){function h(){return null!==a&&a.apply(this,arguments)||this}f(h,a);h.compose=function(a){a=a.prototype;var b=h.prototype;a.elements3d=H;a.arc3d=b.arc3d;a.arc3dPath=b.arc3dPath;a.cuboid=b.cuboid;a.cuboidPath=b.cuboidPath;a.element3d=b.element3d;a.face3d=b.face3d;a.polyhedron=b.polyhedron;a.toLinePath=b.toLinePath;a.toLineSegments=b.toLineSegments};h.curveTo=function(a,b,e,u,d,q,w,A){var h=[],g=q-d;return q>
-d&&q-d>Math.PI/2+.0001?(h=h.concat(this.curveTo(a,b,e,u,d,d+Math.PI/2,w,A)),h=h.concat(this.curveTo(a,b,e,u,d+Math.PI/2,q,w,A))):q<d&&d-q>Math.PI/2+.0001?(h=h.concat(this.curveTo(a,b,e,u,d,d-Math.PI/2,w,A)),h=h.concat(this.curveTo(a,b,e,u,d-Math.PI/2,q,w,A))):[["C",a+e*Math.cos(d)-e*K*g*Math.sin(d)+w,b+u*Math.sin(d)+u*K*g*Math.cos(d)+A,a+e*Math.cos(q)+e*K*g*Math.sin(q)+w,b+u*Math.sin(q)-u*K*g*Math.cos(q)+A,a+e*Math.cos(q)+w,b+u*Math.sin(q)+A]]};h.prototype.toLinePath=function(a,b){var e=[];a.forEach(function(a){e.push(["L",
-a.x,a.y])});a.length&&(e[0][0]="M",b&&e.push(["Z"]));return e};h.prototype.toLineSegments=function(a){var b=[],e=!0;a.forEach(function(a){b.push(e?["M",a.x,a.y]:["L",a.x,a.y]);e=!e});return b};h.prototype.face3d=function(a){var h=this,e=this.createElement("path");e.vertexes=[];e.insidePlotArea=!1;e.enabled=!0;e.attr=function(e){if("object"===typeof e&&(p(e.enabled)||p(e.vertexes)||p(e.insidePlotArea))){this.enabled=n(e.enabled,this.enabled);this.vertexes=n(e.vertexes,this.vertexes);this.insidePlotArea=
-n(e.insidePlotArea,this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;var d=g(this.vertexes,b[h.chartIndex],this.insidePlotArea),q=h.toLinePath(d,!0);d=B(d);e.d=q;e.visibility=this.enabled&&0<d?"inherit":"hidden"}return m.prototype.attr.apply(this,arguments)};e.animate=function(e){if("object"===typeof e&&(p(e.enabled)||p(e.vertexes)||p(e.insidePlotArea))){this.enabled=n(e.enabled,this.enabled);this.vertexes=n(e.vertexes,this.vertexes);this.insidePlotArea=n(e.insidePlotArea,
-this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;var d=g(this.vertexes,b[h.chartIndex],this.insidePlotArea),q=h.toLinePath(d,!0);d=B(d);d=this.enabled&&0<d?"visible":"hidden";e.d=q;this.attr("visibility",d)}return m.prototype.animate.apply(this,arguments)};return e.attr(a)};h.prototype.polyhedron=function(a){var b=this,e=this.g(),h=e.destroy;this.styledMode||e.attr({"stroke-linejoin":"round"});e.faces=[];e.destroy=function(){for(var d=0;d<e.faces.length;d++)e.faces[d].destroy();
-return h.call(this)};e.attr=function(d,q,a,h){if("object"===typeof d&&p(d.faces)){for(;e.faces.length>d.faces.length;)e.faces.pop().destroy();for(;e.faces.length<d.faces.length;)e.faces.push(b.face3d().add(e));for(var w=0;w<d.faces.length;w++)b.styledMode&&delete d.faces[w].fill,e.faces[w].attr(d.faces[w],null,a,h);delete d.faces}return m.prototype.attr.apply(this,arguments)};e.animate=function(d,q,a){if(d&&d.faces){for(;e.faces.length>d.faces.length;)e.faces.pop().destroy();for(;e.faces.length<d.faces.length;)e.faces.push(b.face3d().add(e));
-for(var w=0;w<d.faces.length;w++)e.faces[w].animate(d.faces[w],q,a);delete d.faces}return m.prototype.animate.apply(this,arguments)};return e.attr(a)};h.prototype.element3d=function(a,b){var e=this.g();t(e,this.elements3d[a]);e.initArgs(b);return e};h.prototype.cuboid=function(a){return this.element3d("cuboid",a)};h.prototype.cuboidPath=function(a){function h(e){return 0===w&&1<e&&6>e?{x:I[e].x,y:I[e].y+10,z:I[e].z}:I[0].x===I[7].x&&4<=e?{x:I[e].x+10,y:I[e].y,z:I[e].z}:0===c&&2>e||5<e?{x:I[e].x,y:I[e].y,
-z:I[e].z+10}:I[e]}function e(e){return I[e]}var u=a.x||0,d=a.y||0,q=a.z||0,w=a.height||0,A=a.width||0,c=a.depth||0,f=b[this.chartIndex],m=f.options.chart.options3d.alpha,p=0,I=[{x:u,y:d,z:q},{x:u+A,y:d,z:q},{x:u+A,y:d+w,z:q},{x:u,y:d+w,z:q},{x:u,y:d+w,z:q+c},{x:u+A,y:d+w,z:q+c},{x:u+A,y:d,z:q+c},{x:u,y:d,z:q+c}],k=[];I=g(I,f,a.insidePlotArea);var G=function(d,a,q){var w=[[],-1],b=d.map(e),u=a.map(e);d=d.map(h);a=a.map(h);0>B(b)?w=[b,0]:0>B(u)?w=[u,1]:q&&(k.push(q),w=0>B(d)?[b,0]:0>B(a)?[u,1]:[b,0]);
-return w};var l=G([3,2,1,0],[7,6,5,4],"front");a=l[0];var t=l[1];l=G([1,6,7,0],[4,5,2,3],"top");A=l[0];var r=l[1];l=G([1,2,5,6],[0,7,4,3],"side");G=l[0];l=l[1];1===l?p+=1E6*(f.plotWidth-u):l||(p+=1E6*u);p+=10*(!r||0<=m&&180>=m||360>m&&357.5<m?f.plotHeight-d:10+d);1===t?p+=100*q:t||(p+=100*(1E3-q));return{front:this.toLinePath(a,!0),top:this.toLinePath(A,!0),side:this.toLinePath(G,!0),zIndexes:{group:Math.round(p)},forcedSides:k,isFront:t,isTop:r}};h.prototype.arc3d=function(a){function b(e){var a=
-!1,q={},b;e=v(e);for(b in e)-1!==d.indexOf(b)&&(q[b]=e[b],delete e[b],a=!0);return a?[q,e]:!1}var e=this.g(),h=e.renderer,d="x y r innerR start end depth".split(" ");a=v(a);a.alpha=(a.alpha||0)*l;a.beta=(a.beta||0)*l;e.top=h.path();e.side1=h.path();e.side2=h.path();e.inn=h.path();e.out=h.path();e.onAdd=function(){var d=e.parentGroup,a=e.attr("class");e.top.add(e);["out","inn","side1","side2"].forEach(function(q){e[q].attr({"class":a+" highcharts-3d-side"}).add(d)})};["addClass","removeClass"].forEach(function(d){e[d]=
-function(){var a=arguments;["top","out","inn","side1","side2"].forEach(function(q){e[q][d].apply(e[q],a)})}});e.setPaths=function(d){var a=e.renderer.arc3dPath(d),q=100*a.zTop;e.attribs=d;e.top.attr({d:a.top,zIndex:a.zTop});e.inn.attr({d:a.inn,zIndex:a.zInn});e.out.attr({d:a.out,zIndex:a.zOut});e.side1.attr({d:a.side1,zIndex:a.zSide1});e.side2.attr({d:a.side2,zIndex:a.zSide2});e.zIndex=q;e.attr({zIndex:q});d.center&&(e.top.setRadialReference(d.center),delete d.center)};e.setPaths(a);e.fillSetter=
-function(e){var d=c(e).brighten(-.1).get();this.fill=e;this.side1.attr({fill:d});this.side2.attr({fill:d});this.inn.attr({fill:d});this.out.attr({fill:d});this.top.attr({fill:e});return this};["opacity","translateX","translateY","visibility"].forEach(function(d){e[d+"Setter"]=function(d,a){e[a]=d;["out","inn","side1","side2","top"].forEach(function(q){e[q].attr(a,d)})}});e.attr=function(d){var a;if("object"===typeof d&&(a=b(d))){var q=a[0];arguments[0]=a[1];t(e.attribs,q);e.setPaths(e.attribs)}return m.prototype.attr.apply(e,
-arguments)};e.animate=function(d,a,h){var q=this.attribs,u="data-"+Math.random().toString(26).substring(2,9);delete d.center;delete d.z;delete d.alpha;delete d.beta;var w=k(n(a,this.renderer.globalAnimation));if(w.duration){a=b(d);e[u]=0;d[u]=1;e[u+"Setter"]=y.noop;if(a){var A=a[0];w.step=function(d,e){function a(d){return q[d]+(n(A[d],q[d])-q[d])*e.pos}e.prop===u&&e.elem.setPaths(v(q,{x:a("x"),y:a("y"),r:a("r"),innerR:a("innerR"),start:a("start"),end:a("end"),depth:a("depth")}))}}a=w}return m.prototype.animate.call(this,
-d,a,h)};e.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();return m.prototype.destroy.call(this)};e.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};e.show=function(d){this.top.show(d);this.out.show(d);this.inn.show(d);this.side1.show(d);this.side2.show(d)};return e};h.prototype.arc3dPath=function(a){function b(d){d%=2*Math.PI;d>Math.PI&&(d=2*Math.PI-d);return d}var e=a.x||0,u=
-a.y||0,d=a.start||0,q=(a.end||0)-.00001,w=a.r||0,A=a.innerR||0,g=a.depth||0,c=a.alpha||0,f=a.beta||0,m=Math.cos(d),p=Math.sin(d);a=Math.cos(q);var k=Math.sin(q),l=w*Math.cos(f);w*=Math.cos(c);var t=A*Math.cos(f),r=A*Math.cos(c);A=g*Math.sin(f);var n=g*Math.sin(c);g=[["M",e+l*m,u+w*p]];g=g.concat(h.curveTo(e,u,l,w,d,q,0,0));g.push(["L",e+t*a,u+r*k]);g=g.concat(h.curveTo(e,u,t,r,q,d,0,0));g.push(["Z"]);var B=0<f?Math.PI/2:0;f=0<c?0:Math.PI/2;B=d>-B?d:q>-B?-B:d;var G=q<J-f?q:d<J-f?J-f:q,v=2*J-f;c=[["M",
-e+l*x(B),u+w*E(B)]];c=c.concat(h.curveTo(e,u,l,w,B,G,0,0));q>v&&d<v?(c.push(["L",e+l*x(G)+A,u+w*E(G)+n]),c=c.concat(h.curveTo(e,u,l,w,G,v,A,n)),c.push(["L",e+l*x(v),u+w*E(v)]),c=c.concat(h.curveTo(e,u,l,w,v,q,0,0)),c.push(["L",e+l*x(q)+A,u+w*E(q)+n]),c=c.concat(h.curveTo(e,u,l,w,q,v,A,n)),c.push(["L",e+l*x(v),u+w*E(v)]),c=c.concat(h.curveTo(e,u,l,w,v,G,0,0))):q>J-f&&d<J-f&&(c.push(["L",e+l*Math.cos(G)+A,u+w*Math.sin(G)+n]),c=c.concat(h.curveTo(e,u,l,w,G,q,A,n)),c.push(["L",e+l*Math.cos(q),u+w*Math.sin(q)]),
-c=c.concat(h.curveTo(e,u,l,w,q,G,0,0)));c.push(["L",e+l*Math.cos(G)+A,u+w*Math.sin(G)+n]);c=c.concat(h.curveTo(e,u,l,w,G,B,A,n));c.push(["Z"]);f=[["M",e+t*m,u+r*p]];f=f.concat(h.curveTo(e,u,t,r,d,q,0,0));f.push(["L",e+t*Math.cos(q)+A,u+r*Math.sin(q)+n]);f=f.concat(h.curveTo(e,u,t,r,q,d,A,n));f.push(["Z"]);m=[["M",e+l*m,u+w*p],["L",e+l*m+A,u+w*p+n],["L",e+t*m+A,u+r*p+n],["L",e+t*m,u+r*p],["Z"]];e=[["M",e+l*a,u+w*k],["L",e+l*a+A,u+w*k+n],["L",e+t*a+A,u+r*k+n],["L",e+t*a,u+r*k],["Z"]];k=Math.atan2(n,
--A);u=Math.abs(q+k);a=Math.abs(d+k);d=Math.abs((d+q)/2+k);u=b(u);a=b(a);d=b(d);d*=1E5;q=1E5*a;u*=1E5;return{top:g,zTop:1E5*Math.PI+1,out:c,zOut:Math.max(d,q,u),inn:f,zInn:Math.max(d,q,u),side1:m,zSide1:.99*u,side2:e,zSide2:.99*q}};return h}(r)});F(a,"Core/Chart/Chart3D.js",[a["Core/Color/Color.js"],a["Core/Defaults.js"],a["Core/Math3D.js"],a["Core/Utilities.js"]],function(a,z,y,D){var m=a.parse,x=z.defaultOptions,r=y.perspective,C=y.shapeArea3D,f=D.addEvent,k=D.isArray,c=D.merge,b=D.pick,l=D.wrap,
-g;(function(a){function g(a){this.is3d()&&"scatter"===a.options.type&&(a.options.type="scatter3d")}function t(){if(this.chart3d&&this.is3d()){var a=this.renderer,b=this.options.chart.options3d,d=this.chart3d.get3dFrame(),q=this.plotLeft,h=this.plotLeft+this.plotWidth,g=this.plotTop,c=this.plotTop+this.plotHeight;b=b.depth;var f=q-(d.left.visible?d.left.size:0),l=h+(d.right.visible?d.right.size:0),p=g-(d.top.visible?d.top.size:0),k=c+(d.bottom.visible?d.bottom.size:0),t=0-(d.front.visible?d.front.size:
-0),n=b+(d.back.visible?d.back.size:0),r=this.hasRendered?"animate":"attr";this.chart3d.frame3d=d;this.frameShapes||(this.frameShapes={bottom:a.polyhedron().add(),top:a.polyhedron().add(),left:a.polyhedron().add(),right:a.polyhedron().add(),back:a.polyhedron().add(),front:a.polyhedron().add()});this.frameShapes.bottom[r]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:d.bottom.frontFacing?-1E3:1E3,faces:[{fill:m(d.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:l,y:k,z:t},
-{x:l,y:k,z:n},{x:f,y:k,z:n}],enabled:d.bottom.visible},{fill:m(d.bottom.color).brighten(.1).get(),vertexes:[{x:q,y:c,z:b},{x:h,y:c,z:b},{x:h,y:c,z:0},{x:q,y:c,z:0}],enabled:d.bottom.visible},{fill:m(d.bottom.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:t},{x:f,y:k,z:n},{x:q,y:c,z:b},{x:q,y:c,z:0}],enabled:d.bottom.visible&&!d.left.visible},{fill:m(d.bottom.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:n},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:h,y:c,z:b}],enabled:d.bottom.visible&&!d.right.visible},{fill:m(d.bottom.color).get(),
-vertexes:[{x:l,y:k,z:t},{x:f,y:k,z:t},{x:q,y:c,z:0},{x:h,y:c,z:0}],enabled:d.bottom.visible&&!d.front.visible},{fill:m(d.bottom.color).get(),vertexes:[{x:f,y:k,z:n},{x:l,y:k,z:n},{x:h,y:c,z:b},{x:q,y:c,z:b}],enabled:d.bottom.visible&&!d.back.visible}]});this.frameShapes.top[r]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:d.top.frontFacing?-1E3:1E3,faces:[{fill:m(d.top.color).brighten(.1).get(),vertexes:[{x:f,y:p,z:n},{x:l,y:p,z:n},{x:l,y:p,z:t},{x:f,y:p,z:t}],enabled:d.top.visible},
-{fill:m(d.top.color).brighten(.1).get(),vertexes:[{x:q,y:g,z:0},{x:h,y:g,z:0},{x:h,y:g,z:b},{x:q,y:g,z:b}],enabled:d.top.visible},{fill:m(d.top.color).brighten(-.1).get(),vertexes:[{x:f,y:p,z:n},{x:f,y:p,z:t},{x:q,y:g,z:0},{x:q,y:g,z:b}],enabled:d.top.visible&&!d.left.visible},{fill:m(d.top.color).brighten(-.1).get(),vertexes:[{x:l,y:p,z:t},{x:l,y:p,z:n},{x:h,y:g,z:b},{x:h,y:g,z:0}],enabled:d.top.visible&&!d.right.visible},{fill:m(d.top.color).get(),vertexes:[{x:f,y:p,z:t},{x:l,y:p,z:t},{x:h,y:g,
-z:0},{x:q,y:g,z:0}],enabled:d.top.visible&&!d.front.visible},{fill:m(d.top.color).get(),vertexes:[{x:l,y:p,z:n},{x:f,y:p,z:n},{x:q,y:g,z:b},{x:h,y:g,z:b}],enabled:d.top.visible&&!d.back.visible}]});this.frameShapes.left[r]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:d.left.frontFacing?-1E3:1E3,faces:[{fill:m(d.left.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:q,y:c,z:0},{x:q,y:c,z:b},{x:f,y:k,z:n}],enabled:d.left.visible&&!d.bottom.visible},{fill:m(d.left.color).brighten(.1).get(),
-vertexes:[{x:f,y:p,z:n},{x:q,y:g,z:b},{x:q,y:g,z:0},{x:f,y:p,z:t}],enabled:d.left.visible&&!d.top.visible},{fill:m(d.left.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:n},{x:f,y:p,z:n},{x:f,y:p,z:t},{x:f,y:k,z:t}],enabled:d.left.visible},{fill:m(d.left.color).brighten(-.1).get(),vertexes:[{x:q,y:g,z:b},{x:q,y:c,z:b},{x:q,y:c,z:0},{x:q,y:g,z:0}],enabled:d.left.visible},{fill:m(d.left.color).get(),vertexes:[{x:f,y:k,z:t},{x:f,y:p,z:t},{x:q,y:g,z:0},{x:q,y:c,z:0}],enabled:d.left.visible&&!d.front.visible},
-{fill:m(d.left.color).get(),vertexes:[{x:f,y:p,z:n},{x:f,y:k,z:n},{x:q,y:c,z:b},{x:q,y:g,z:b}],enabled:d.left.visible&&!d.back.visible}]});this.frameShapes.right[r]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:d.right.frontFacing?-1E3:1E3,faces:[{fill:m(d.right.color).brighten(.1).get(),vertexes:[{x:l,y:k,z:n},{x:h,y:c,z:b},{x:h,y:c,z:0},{x:l,y:k,z:t}],enabled:d.right.visible&&!d.bottom.visible},{fill:m(d.right.color).brighten(.1).get(),vertexes:[{x:l,y:p,z:t},{x:h,y:g,z:0},{x:h,
-y:g,z:b},{x:l,y:p,z:n}],enabled:d.right.visible&&!d.top.visible},{fill:m(d.right.color).brighten(-.1).get(),vertexes:[{x:h,y:g,z:0},{x:h,y:c,z:0},{x:h,y:c,z:b},{x:h,y:g,z:b}],enabled:d.right.visible},{fill:m(d.right.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:t},{x:l,y:p,z:t},{x:l,y:p,z:n},{x:l,y:k,z:n}],enabled:d.right.visible},{fill:m(d.right.color).get(),vertexes:[{x:l,y:p,z:t},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:h,y:g,z:0}],enabled:d.right.visible&&!d.front.visible},{fill:m(d.right.color).get(),
-vertexes:[{x:l,y:k,z:n},{x:l,y:p,z:n},{x:h,y:g,z:b},{x:h,y:c,z:b}],enabled:d.right.visible&&!d.back.visible}]});this.frameShapes.back[r]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:d.back.frontFacing?-1E3:1E3,faces:[{fill:m(d.back.color).brighten(.1).get(),vertexes:[{x:l,y:k,z:n},{x:f,y:k,z:n},{x:q,y:c,z:b},{x:h,y:c,z:b}],enabled:d.back.visible&&!d.bottom.visible},{fill:m(d.back.color).brighten(.1).get(),vertexes:[{x:f,y:p,z:n},{x:l,y:p,z:n},{x:h,y:g,z:b},{x:q,y:g,z:b}],enabled:d.back.visible&&
-!d.top.visible},{fill:m(d.back.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:n},{x:f,y:p,z:n},{x:q,y:g,z:b},{x:q,y:c,z:b}],enabled:d.back.visible&&!d.left.visible},{fill:m(d.back.color).brighten(-.1).get(),vertexes:[{x:l,y:p,z:n},{x:l,y:k,z:n},{x:h,y:c,z:b},{x:h,y:g,z:b}],enabled:d.back.visible&&!d.right.visible},{fill:m(d.back.color).get(),vertexes:[{x:q,y:g,z:b},{x:h,y:g,z:b},{x:h,y:c,z:b},{x:q,y:c,z:b}],enabled:d.back.visible},{fill:m(d.back.color).get(),vertexes:[{x:f,y:k,z:n},{x:l,y:k,z:n},
-{x:l,y:p,z:n},{x:f,y:p,z:n}],enabled:d.back.visible}]});this.frameShapes.front[r]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:d.front.frontFacing?-1E3:1E3,faces:[{fill:m(d.front.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:q,y:c,z:0}],enabled:d.front.visible&&!d.bottom.visible},{fill:m(d.front.color).brighten(.1).get(),vertexes:[{x:l,y:p,z:t},{x:f,y:p,z:t},{x:q,y:g,z:0},{x:h,y:g,z:0}],enabled:d.front.visible&&!d.top.visible},{fill:m(d.front.color).brighten(-.1).get(),
-vertexes:[{x:f,y:p,z:t},{x:f,y:k,z:t},{x:q,y:c,z:0},{x:q,y:g,z:0}],enabled:d.front.visible&&!d.left.visible},{fill:m(d.front.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:t},{x:l,y:p,z:t},{x:h,y:g,z:0},{x:h,y:c,z:0}],enabled:d.front.visible&&!d.right.visible},{fill:m(d.front.color).get(),vertexes:[{x:h,y:g,z:0},{x:q,y:g,z:0},{x:q,y:c,z:0},{x:h,y:c,z:0}],enabled:d.front.visible},{fill:m(d.front.color).get(),vertexes:[{x:l,y:k,z:t},{x:f,y:k,z:t},{x:f,y:p,z:t},{x:l,y:p,z:t}],enabled:d.front.visible}]})}}
-function v(){this.styledMode&&[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(a){this.renderer.definition({tagName:"filter",attributes:{id:"highcharts-"+a.name},children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",attributes:{type:"linear",slope:a.slope}},{tagName:"feFuncG",attributes:{type:"linear",slope:a.slope}},{tagName:"feFuncB",attributes:{type:"linear",slope:a.slope}}]}]})},this)}function n(){var a=this.options;this.is3d()&&(a.series||[]).forEach(function(e){"scatter"===
-(e.type||a.chart.type||a.chart.defaultSeriesType)&&(e.type="scatter3d")})}function B(){var a=this.options.chart.options3d;if(this.chart3d&&this.is3d()){a&&(a.alpha=a.alpha%360+(0<=a.alpha?0:360),a.beta=a.beta%360+(0<=a.beta?0:360));var b=this.inverted,d=this.clipBox,h=this.margin;d[b?"y":"x"]=-(h[3]||0);d[b?"x":"y"]=-(h[0]||0);d[b?"height":"width"]=this.chartWidth+(h[3]||0)+(h[1]||0);d[b?"width":"height"]=this.chartHeight+(h[0]||0)+(h[2]||0);this.scale3d=1;!0===a.fitToPlot&&(this.scale3d=this.chart3d.getScale(a.depth));
-this.chart3d.frame3d=this.chart3d.get3dFrame()}}function E(){this.is3d()&&(this.isDirtyBox=!0)}function y(){this.chart3d&&this.is3d()&&(this.chart3d.frame3d=this.chart3d.get3dFrame())}function z(){this.chart3d||(this.chart3d=new M(this))}function N(a){return this.is3d()||a.apply(this,[].slice.call(arguments,1))}function h(a){var e=this.series.length;if(this.is3d())for(;e--;)a=this.series[e],a.translate(),a.render();else a.call(this)}function G(a){a.apply(this,[].slice.call(arguments,1));this.is3d()&&
-(this.container.className+=" highcharts-3d-chart")}var M=function(){function a(a){this.frame3d=void 0;this.chart=a}a.prototype.get3dFrame=function(){var a=this.chart,d=a.options.chart.options3d,e=d.frame,h=a.plotLeft,g=a.plotLeft+a.plotWidth,c=a.plotTop,f=a.plotTop+a.plotHeight,l=d.depth,p=function(d){d=C(d,a);return.5<d?1:-.5>d?-1:0},k=p([{x:h,y:f,z:l},{x:g,y:f,z:l},{x:g,y:f,z:0},{x:h,y:f,z:0}]),t=p([{x:h,y:c,z:0},{x:g,y:c,z:0},{x:g,y:c,z:l},{x:h,y:c,z:l}]),m=p([{x:h,y:c,z:0},{x:h,y:c,z:l},{x:h,
-y:f,z:l},{x:h,y:f,z:0}]),n=p([{x:g,y:c,z:l},{x:g,y:c,z:0},{x:g,y:f,z:0},{x:g,y:f,z:l}]),G=p([{x:h,y:f,z:0},{x:g,y:f,z:0},{x:g,y:c,z:0},{x:h,y:c,z:0}]);p=p([{x:h,y:c,z:l},{x:g,y:c,z:l},{x:g,y:f,z:l},{x:h,y:f,z:l}]);var M=!1,B=!1,v=!1,E=!1;[].concat(a.xAxis,a.yAxis,a.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?B=!0:M=!0:a.opposite?E=!0:v=!0)});var x=function(a,d,e){for(var h=["size","color","visible"],g={},c=0;c<h.length;c++)for(var f=h[c],l=0;l<a.length;l++)if("object"===typeof a[l]){var p=a[l][f];
-if("undefined"!==typeof p&&null!==p){g[f]=p;break}}a=e;!0===g.visible||!1===g.visible?a=g.visible:"auto"===g.visible&&(a=0<d);return{size:b(g.size,1),color:b(g.color,"none"),frontFacing:0<d,visible:a}};e={axes:{},bottom:x([e.bottom,e.top,e],k,M),top:x([e.top,e.bottom,e],t,B),left:x([e.left,e.right,e.side,e],m,v),right:x([e.right,e.left,e.side,e],n,E),back:x([e.back,e.front,e],p,!0),front:x([e.front,e.back,e],G,!1)};"auto"===d.axisLabelPosition?(n=function(a,d){return a.visible!==d.visible||a.visible&&
-d.visible&&a.frontFacing!==d.frontFacing},d=[],n(e.left,e.front)&&d.push({y:(c+f)/2,x:h,z:0,xDir:{x:1,y:0,z:0}}),n(e.left,e.back)&&d.push({y:(c+f)/2,x:h,z:l,xDir:{x:0,y:0,z:-1}}),n(e.right,e.front)&&d.push({y:(c+f)/2,x:g,z:0,xDir:{x:0,y:0,z:1}}),n(e.right,e.back)&&d.push({y:(c+f)/2,x:g,z:l,xDir:{x:-1,y:0,z:0}}),k=[],n(e.bottom,e.front)&&k.push({x:(h+g)/2,y:f,z:0,xDir:{x:1,y:0,z:0}}),n(e.bottom,e.back)&&k.push({x:(h+g)/2,y:f,z:l,xDir:{x:-1,y:0,z:0}}),t=[],n(e.top,e.front)&&t.push({x:(h+g)/2,y:c,z:0,
-xDir:{x:1,y:0,z:0}}),n(e.top,e.back)&&t.push({x:(h+g)/2,y:c,z:l,xDir:{x:-1,y:0,z:0}}),m=[],n(e.bottom,e.left)&&m.push({z:(0+l)/2,y:f,x:h,xDir:{x:0,y:0,z:-1}}),n(e.bottom,e.right)&&m.push({z:(0+l)/2,y:f,x:g,xDir:{x:0,y:0,z:1}}),f=[],n(e.top,e.left)&&f.push({z:(0+l)/2,y:c,x:h,xDir:{x:0,y:0,z:-1}}),n(e.top,e.right)&&f.push({z:(0+l)/2,y:c,x:g,xDir:{x:0,y:0,z:1}}),h=function(d,e,h){if(0===d.length)return null;if(1===d.length)return d[0];for(var b=r(d,a,!1),g=0,c=1;c<b.length;c++)h*b[c][e]>h*b[g][e]?g=
-c:h*b[c][e]===h*b[g][e]&&b[c].z<b[g].z&&(g=c);return d[g]},e.axes={y:{left:h(d,"x",-1),right:h(d,"x",1)},x:{top:h(t,"y",-1),bottom:h(k,"y",1)},z:{top:h(f,"y",-1),bottom:h(m,"y",1)}}):e.axes={y:{left:{x:h,z:0,xDir:{x:1,y:0,z:0}},right:{x:g,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:c,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:f,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:v?g:h,y:c,xDir:v?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:v?g:h,y:f,xDir:v?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return e};a.prototype.getScale=function(a){var d=
-this.chart,e=d.plotLeft,h=d.plotWidth+e,b=d.plotTop,g=d.plotHeight+b,c=e+d.plotWidth/2,f=b+d.plotHeight/2,l=Number.MAX_VALUE,p=-Number.MAX_VALUE,k=Number.MAX_VALUE,t=-Number.MAX_VALUE,n=1;var m=[{x:e,y:b,z:0},{x:e,y:b,z:a}];[0,1].forEach(function(a){m.push({x:h,y:m[a].y,z:m[a].z})});[0,1,2,3].forEach(function(a){m.push({x:m[a].x,y:g,z:m[a].z})});m=r(m,d,!1);m.forEach(function(a){l=Math.min(l,a.x);p=Math.max(p,a.x);k=Math.min(k,a.y);t=Math.max(t,a.y)});e>l&&(n=Math.min(n,1-Math.abs((e+c)/(l+c))%1));
-h<p&&(n=Math.min(n,(h-c)/(p-c)));b>k&&(n=0>k?Math.min(n,(b+f)/(-k+b+f)):Math.min(n,1-(b+f)/(k+f)%1));g<t&&(n=Math.min(n,Math.abs((g-f)/(t-f))));return n};return a}();a.Composition=M;a.defaultOptions={chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}};a.compose=function(e,b){var d=e.prototype;b=b.prototype;d.is3d=function(){return!(!this.options.chart.options3d||
-!this.options.chart.options3d.enabled)};d.propsRequireDirtyBox.push("chart.options3d");d.propsRequireUpdateSeries.push("chart.options3d");b.matrixSetter=function(){if(1>this.pos&&(k(this.start)||k(this.end))){var a=this.start||[1,0,0,1,0,0],d=this.end||[1,0,0,1,0,0];var e=[];for(var h=0;6>h;h++)e.push(this.pos*d[h]+(1-this.pos)*a[h])}else e=this.end;this.elem.attr(this.prop,e,null,!0)};c(!0,x,a.defaultOptions);f(e,"init",z);f(e,"addSeries",g);f(e,"afterDrawChartBox",t);f(e,"afterGetContainer",v);
-f(e,"afterInit",n);f(e,"afterSetChartSize",B);f(e,"beforeRedraw",E);f(e,"beforeRender",y);l(d,"isInsidePlot",N);l(d,"renderSeries",h);l(d,"setClassName",G)}})(g||(g={}));"";return g});F(a,"Core/Axis/ZAxis.js",[a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,z){function x(a){return new c(this,a)}function D(){var a=this,c=this.options.zAxis=f(this.options.zAxis||{});this.is3d()&&(this.zAxis=[],c.forEach(function(b,c){b.index=c;b.isX=!0;a.addZAxis(b).setScale()}))}var m=this&&this.__extends||
-function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function g(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),H=z.addEvent,r=z.merge,C=z.pick,f=z.splat,k=[],c=function(a){function b(b,c){b=a.call(this,b,c)||this;b.isZAxis=!0;return b}m(b,a);b.compose=function(a){-1===k.indexOf(a)&&
-(k.push(a),H(a,"afterGetAxes",D),a=a.prototype,a.addZAxis=x,a.collectionsWithInit.zAxis=[a.addZAxis],a.collectionsWithUpdate.push("zAxis"))};b.prototype.getSeriesExtremes=function(){var a=this,b=this.chart;this.hasVisibleSeries=!1;this.dataMin=this.dataMax=this.ignoreMinPadding=this.ignoreMaxPadding=void 0;this.stacking&&this.stacking.buildStacks();this.series.forEach(function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries)a.hasVisibleSeries=!0,c=c.zData,c.length&&(a.dataMin=Math.min(C(a.dataMin,
-c[0]),Math.min.apply(null,c)),a.dataMax=Math.max(C(a.dataMax,c[0]),Math.max.apply(null,c)))})};b.prototype.setAxisSize=function(){var b=this.chart;a.prototype.setAxisSize.call(this);this.width=this.len=b.options.chart.options3d&&b.options.chart.options3d.depth||0;this.right=b.chartWidth-this.width-this.left};b.prototype.setOptions=function(b){b=r({offset:0,lineWidth:0},b);this.isZAxis=!0;a.prototype.setOptions.call(this,b);this.coll="zAxis"};return b}(a);return c});F(a,"Core/Axis/Axis3DDefaults.js",
-[],function(){return{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}}});F(a,"Core/Axis/Tick3DComposition.js",[a["Core/Utilities.js"]],function(a){function x(a){var f=this.axis.axis3D;f&&m(a.pos,f.fix3dPosition(a.pos))}function y(a){var f=this.axis.axis3D,k=a.apply(this,[].slice.call(arguments,1));if(f){var c=k[0],b=k[1];if("M"===c[0]&&"L"===b[0])return f=[f.fix3dPosition({x:c[1],y:c[2],z:0}),f.fix3dPosition({x:b[1],y:b[2],z:0})],this.axis.chart.renderer.toLineSegments(f)}return k}
-var D=a.addEvent,m=a.extend,H=a.wrap,r=[];return{compose:function(a){-1===r.indexOf(a)&&(r.push(a),D(a,"afterGetLabelPosition",x),H(a.prototype,"getMarkPath",y))}}});F(a,"Core/Axis/Axis3DComposition.js",[a["Core/Axis/Axis3DDefaults.js"],a["Core/Globals.js"],a["Core/Math3D.js"],a["Core/Axis/Tick3DComposition.js"],a["Core/Utilities.js"]],function(a,z,y,D,m){function x(){var a=this.chart,b=this.options;a.is3d&&a.is3d()&&"colorAxis"!==this.coll&&(b.tickWidth=L(b.tickWidth,0),b.gridLineWidth=L(b.gridLineWidth,
-1))}function r(a){this.chart.is3d()&&"colorAxis"!==this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)}function C(){this.axis3D||(this.axis3D=new K(this))}function f(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))}function k(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var b=arguments,c=b[2],f=[];b=this.getPlotLinePath({value:b[1]});c=this.getPlotLinePath({value:c});
+(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(D){a(D);a.Highcharts=D;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function D(a,y,r,F){a.hasOwnProperty(y)||(a[y]=F.apply(null,r),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:y,module:a[y]}})))}a=a?a._modules:{};D(a,"Core/Math3D.js",
+[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,y){function r(n,f,k,c){var b=f.options.chart.options3d,a=m(c,k?f.inverted:!1),g={x:f.plotWidth/2,y:f.plotHeight/2,z:b.depth/2,vd:m(b.depth,1)*m(b.viewDistance,0)},C=f.scale3d||1;c=G*b.beta*(a?-1:1);b=G*b.alpha*(a?-1:1);var q=Math.cos(b),t=Math.cos(-c),z=Math.sin(b),v=Math.sin(-c);k||(g.x+=f.plotLeft,g.y+=f.plotTop);return n.map(function(b){var f=(a?b.y:b.x)-g.x;var c=(a?b.x:b.y)-g.y;b=(b.z||0)-g.z;f={x:t*f-v*b,y:-z*v*f+q*c-t*z*b,z:q*v*f+z*c+
+q*t*b};c=A(f,g,g.vd);c.x=c.x*C+g.x;c.y=c.y*C+g.y;c.z=f.z*C+g.z;return{x:a?c.y:c.x,y:a?c.x:c.y,z:c.z}})}function A(a,f,k){f=0<k&&k<Number.POSITIVE_INFINITY?k/(a.z+f.z+k):1;return{x:a.x*f,y:a.y*f}}function n(a){var f=0,k;for(k=0;k<a.length;k++){var c=(k+1)%a.length;f+=a[k].x*a[c].y-a[c].x*a[k].y}return f/2}var G=a.deg2rad,m=y.pick;return{perspective:r,perspective3D:A,pointCameraDistance:function(a,f){var k=f.options.chart.options3d,c=f.plotWidth/2;f=f.plotHeight/2;k=m(k.depth,1)*m(k.viewDistance,0)+
+k.depth;return Math.sqrt(Math.pow(c-m(a.plotX,a.x),2)+Math.pow(f-m(a.plotY,a.y),2)+Math.pow(k-m(a.plotZ,a.z),2))},shapeArea:n,shapeArea3D:function(a,f,k){return n(r(a,f,k))}}});D(a,"Core/Renderer/SVG/SVGElement3D.js",[a["Core/Color/Color.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,y,r){var A=a.parse,n=r.defined;a=r.merge;var G=r.objectEach,m=r.pick,z={base:{initArgs:function(f){var a=this,c=a.renderer,b=c[a.pathType+"Path"](f),n=b.zIndexes;a.parts.forEach(function(g){var f=
+{"class":"highcharts-3d-"+g,zIndex:n[g]||0};c.styledMode&&("top"===g?f.filter="url(#highcharts-brighter)":"side"===g&&(f.filter="url(#highcharts-darker)"));a[g]=c.path(b[g]).attr(f).add(a)});a.attr({"stroke-linejoin":"round",zIndex:n.group});a.originalDestroy=a.destroy;a.destroy=a.destroyParts;a.forcedSides=b.forcedSides},singleSetterForParts:function(a,n,c,b,l,g){var f={};b=[null,null,b||"attr",l,g];var q=c&&c.zIndexes;c?(q&&q.group&&this.attr({zIndex:q.group}),G(c,function(b,g){f[g]={};f[g][a]=
+b;q&&(f[g].zIndex=c.zIndexes[g]||0)}),b[1]=f):(f[a]=n,b[0]=f);return this.processParts.apply(this,b)},processParts:function(a,n,c,b,l){var g=this;g.parts.forEach(function(f){n&&(a=m(n[f],!1));if(!1!==a)g[f][c](a,b,l)});return g},destroyParts:function(){this.processParts(null,null,"destroy");return this.originalDestroy()}}};z.cuboid=a(z.base,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,k,c,b){if("string"===typeof a&&"undefined"!==typeof k){var f=a;a={};a[f]=k}return a.shapeArgs||
+n(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):y.prototype.attr.call(this,a,void 0,c,b)},animate:function(a,k,c){if(n(a.x)&&n(a.y)){a=this.renderer[this.pathType+"Path"](a);var b=a.forcedSides;this.singleSetterForParts("d",null,a,"animate",k,c);this.attr({zIndex:a.zIndexes.group});b!==this.forcedSides&&(this.forcedSides=b,this.renderer.styledMode||z.cuboid.fillSetter.call(this,this.fill))}else y.prototype.animate.call(this,a,k,c);return this},fillSetter:function(a){this.forcedSides=
+this.forcedSides||[];this.singleSetterForParts("fill",null,{front:a,top:A(a).brighten(0<=this.forcedSides.indexOf("top")?0:.1).get(),side:A(a).brighten(0<=this.forcedSides.indexOf("side")?0:-.1).get()});this.color=this.fill=a;return this}});return z});D(a,"Core/Renderer/SVG/SVGRenderer3D.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Math3D.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGElement3D.js"],a["Core/Renderer/SVG/SVGRenderer.js"],
+a["Core/Utilities.js"]],function(a,y,r,F,n,G,m,z){var f=this&&this.__extends||function(){var a=function(h,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var u in e)e.hasOwnProperty(u)&&(a[u]=e[u])};return a(h,b)};return function(h,b){function g(){this.constructor=h}a(h,b);h.prototype=null===b?Object.create(b):(g.prototype=b.prototype,new g)}}(),k=a.animObject,c=y.parse,b=r.charts,l=r.deg2rad,g=F.perspective,C=F.shapeArea,q=z.defined,t=z.extend,
+x=z.merge,v=z.pick,A=Math.cos,E=Math.sin,I=Math.PI,N=4*(Math.sqrt(2)-1)/3/(I/2);return function(a){function h(){return null!==a&&a.apply(this,arguments)||this}f(h,a);h.compose=function(a){a=a.prototype;var b=h.prototype;a.elements3d=G;a.arc3d=b.arc3d;a.arc3dPath=b.arc3dPath;a.cuboid=b.cuboid;a.cuboidPath=b.cuboidPath;a.element3d=b.element3d;a.face3d=b.face3d;a.polyhedron=b.polyhedron;a.toLinePath=b.toLinePath;a.toLineSegments=b.toLineSegments};h.curveTo=function(a,b,e,u,d,p,w,B){var h=[],g=p-d;return p>
+d&&p-d>Math.PI/2+.0001?(h=h.concat(this.curveTo(a,b,e,u,d,d+Math.PI/2,w,B)),h=h.concat(this.curveTo(a,b,e,u,d+Math.PI/2,p,w,B))):p<d&&d-p>Math.PI/2+.0001?(h=h.concat(this.curveTo(a,b,e,u,d,d-Math.PI/2,w,B)),h=h.concat(this.curveTo(a,b,e,u,d-Math.PI/2,p,w,B))):[["C",a+e*Math.cos(d)-e*N*g*Math.sin(d)+w,b+u*Math.sin(d)+u*N*g*Math.cos(d)+B,a+e*Math.cos(p)+e*N*g*Math.sin(p)+w,b+u*Math.sin(p)-u*N*g*Math.cos(p)+B,a+e*Math.cos(p)+w,b+u*Math.sin(p)+B]]};h.prototype.toLinePath=function(a,b){var e=[];a.forEach(function(a){e.push(["L",
+a.x,a.y])});a.length&&(e[0][0]="M",b&&e.push(["Z"]));return e};h.prototype.toLineSegments=function(a){var b=[],e=!0;a.forEach(function(a){b.push(e?["M",a.x,a.y]:["L",a.x,a.y]);e=!e});return b};h.prototype.face3d=function(a){var h=this,e=this.createElement("path");e.vertexes=[];e.insidePlotArea=!1;e.enabled=!0;e.attr=function(e){if("object"===typeof e&&(q(e.enabled)||q(e.vertexes)||q(e.insidePlotArea))){this.enabled=v(e.enabled,this.enabled);this.vertexes=v(e.vertexes,this.vertexes);this.insidePlotArea=
+v(e.insidePlotArea,this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;var d=g(this.vertexes,b[h.chartIndex],this.insidePlotArea),p=h.toLinePath(d,!0);d=C(d);e.d=p;e.visibility=this.enabled&&0<d?"inherit":"hidden"}return n.prototype.attr.apply(this,arguments)};e.animate=function(e){if("object"===typeof e&&(q(e.enabled)||q(e.vertexes)||q(e.insidePlotArea))){this.enabled=v(e.enabled,this.enabled);this.vertexes=v(e.vertexes,this.vertexes);this.insidePlotArea=v(e.insidePlotArea,
+this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;var d=g(this.vertexes,b[h.chartIndex],this.insidePlotArea),p=h.toLinePath(d,!0);d=C(d);d=this.enabled&&0<d?"visible":"hidden";e.d=p;this.attr("visibility",d)}return n.prototype.animate.apply(this,arguments)};return e.attr(a)};h.prototype.polyhedron=function(a){var b=this,e=this.g(),h=e.destroy;this.styledMode||e.attr({"stroke-linejoin":"round"});e.faces=[];e.destroy=function(){for(var d=0;d<e.faces.length;d++)e.faces[d].destroy();
+return h.call(this)};e.attr=function(d,p,a,h){if("object"===typeof d&&q(d.faces)){for(;e.faces.length>d.faces.length;)e.faces.pop().destroy();for(;e.faces.length<d.faces.length;)e.faces.push(b.face3d().add(e));for(var w=0;w<d.faces.length;w++)b.styledMode&&delete d.faces[w].fill,e.faces[w].attr(d.faces[w],null,a,h);delete d.faces}return n.prototype.attr.apply(this,arguments)};e.animate=function(d,p,a){if(d&&d.faces){for(;e.faces.length>d.faces.length;)e.faces.pop().destroy();for(;e.faces.length<d.faces.length;)e.faces.push(b.face3d().add(e));
+for(var w=0;w<d.faces.length;w++)e.faces[w].animate(d.faces[w],p,a);delete d.faces}return n.prototype.animate.apply(this,arguments)};return e.attr(a)};h.prototype.element3d=function(a,b){var e=this.g();t(e,this.elements3d[a]);e.initArgs(b);return e};h.prototype.cuboid=function(a){return this.element3d("cuboid",a)};h.prototype.cuboidPath=function(a){function h(e){return 0===w&&1<e&&6>e?{x:H[e].x,y:H[e].y+10,z:H[e].z}:H[0].x===H[7].x&&4<=e?{x:H[e].x+10,y:H[e].y,z:H[e].z}:0===c&&2>e||5<e?{x:H[e].x,y:H[e].y,
+z:H[e].z+10}:H[e]}function e(e){return H[e]}var u=a.x||0,d=a.y||0,p=a.z||0,w=a.height||0,B=a.width||0,c=a.depth||0,f=b[this.chartIndex],n=f.options.chart.options3d.alpha,q=0,H=[{x:u,y:d,z:p},{x:u+B,y:d,z:p},{x:u+B,y:d+w,z:p},{x:u,y:d+w,z:p},{x:u,y:d+w,z:p+c},{x:u+B,y:d+w,z:p+c},{x:u+B,y:d,z:p+c},{x:u,y:d,z:p+c}],k=[];H=g(H,f,a.insidePlotArea);var M=function(d,a,p){var w=[[],-1],b=d.map(e),u=a.map(e);d=d.map(h);a=a.map(h);0>C(b)?w=[b,0]:0>C(u)?w=[u,1]:p&&(k.push(p),w=0>C(d)?[b,0]:0>C(a)?[u,1]:[b,0]);
+return w};var l=M([3,2,1,0],[7,6,5,4],"front");a=l[0];var K=l[1];l=M([1,6,7,0],[4,5,2,3],"top");B=l[0];var t=l[1];l=M([1,2,5,6],[0,7,4,3],"side");M=l[0];l=l[1];1===l?q+=1E6*(f.plotWidth-u):l||(q+=1E6*u);q+=10*(!t||0<=n&&180>=n||360>n&&357.5<n?f.plotHeight-d:10+d);1===K?q+=100*p:K||(q+=100*(1E3-p));return{front:this.toLinePath(a,!0),top:this.toLinePath(B,!0),side:this.toLinePath(M,!0),zIndexes:{group:Math.round(q)},forcedSides:k,isFront:K,isTop:t}};h.prototype.arc3d=function(a){function b(e){var a=
+!1,p={},b;e=x(e);for(b in e)-1!==d.indexOf(b)&&(p[b]=e[b],delete e[b],a=!0);return a?[p,e]:!1}var e=this.g(),h=e.renderer,d="x y r innerR start end depth".split(" ");a=x(a);a.alpha=(a.alpha||0)*l;a.beta=(a.beta||0)*l;e.top=h.path();e.side1=h.path();e.side2=h.path();e.inn=h.path();e.out=h.path();e.onAdd=function(){var d=e.parentGroup,a=e.attr("class");e.top.add(e);["out","inn","side1","side2"].forEach(function(p){e[p].attr({"class":a+" highcharts-3d-side"}).add(d)})};["addClass","removeClass"].forEach(function(d){e[d]=
+function(){var a=arguments;["top","out","inn","side1","side2"].forEach(function(p){e[p][d].apply(e[p],a)})}});e.setPaths=function(d){var a=e.renderer.arc3dPath(d),p=100*a.zTop;e.attribs=d;e.top.attr({d:a.top,zIndex:a.zTop});e.inn.attr({d:a.inn,zIndex:a.zInn});e.out.attr({d:a.out,zIndex:a.zOut});e.side1.attr({d:a.side1,zIndex:a.zSide1});e.side2.attr({d:a.side2,zIndex:a.zSide2});e.zIndex=p;e.attr({zIndex:p});d.center&&(e.top.setRadialReference(d.center),delete d.center)};e.setPaths(a);e.fillSetter=
+function(e){var d=c(e).brighten(-.1).get();this.fill=e;this.side1.attr({fill:d});this.side2.attr({fill:d});this.inn.attr({fill:d});this.out.attr({fill:d});this.top.attr({fill:e});return this};["opacity","translateX","translateY","visibility"].forEach(function(d){e[d+"Setter"]=function(d,a){e[a]=d;["out","inn","side1","side2","top"].forEach(function(p){e[p].attr(a,d)})}});e.attr=function(d){var a;if("object"===typeof d&&(a=b(d))){var p=a[0];arguments[0]=a[1];t(e.attribs,p);e.setPaths(e.attribs)}return n.prototype.attr.apply(e,
+arguments)};e.animate=function(d,a,h){var p=this.attribs,u="data-"+Math.random().toString(26).substring(2,9);delete d.center;delete d.z;delete d.alpha;delete d.beta;var w=k(v(a,this.renderer.globalAnimation));if(w.duration){a=b(d);e[u]=0;d[u]=1;e[u+"Setter"]=r.noop;if(a){var B=a[0];w.step=function(d,e){function a(d){return p[d]+(v(B[d],p[d])-p[d])*e.pos}e.prop===u&&e.elem.setPaths(x(p,{x:a("x"),y:a("y"),r:a("r"),innerR:a("innerR"),start:a("start"),end:a("end"),depth:a("depth")}))}}a=w}return n.prototype.animate.call(this,
+d,a,h)};e.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();return n.prototype.destroy.call(this)};e.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};e.show=function(d){this.top.show(d);this.out.show(d);this.inn.show(d);this.side1.show(d);this.side2.show(d)};return e};h.prototype.arc3dPath=function(a){function b(d){d%=2*Math.PI;d>Math.PI&&(d=2*Math.PI-d);return d}var e=a.x||0,u=
+a.y||0,d=a.start||0,p=(a.end||0)-.00001,w=a.r||0,B=a.innerR||0,g=a.depth||0,c=a.alpha||0,f=a.beta||0,n=Math.cos(d),q=Math.sin(d);a=Math.cos(p);var k=Math.sin(p),l=w*Math.cos(f);w*=Math.cos(c);var t=B*Math.cos(f),v=B*Math.cos(c);B=g*Math.sin(f);var m=g*Math.sin(c);g=[["M",e+l*n,u+w*q]];g=g.concat(h.curveTo(e,u,l,w,d,p,0,0));g.push(["L",e+t*a,u+v*k]);g=g.concat(h.curveTo(e,u,t,v,p,d,0,0));g.push(["Z"]);var C=0<f?Math.PI/2:0;f=0<c?0:Math.PI/2;C=d>-C?d:p>-C?-C:d;var x=p<I-f?p:d<I-f?I-f:p,z=2*I-f;c=[["M",
+e+l*A(C),u+w*E(C)]];c=c.concat(h.curveTo(e,u,l,w,C,x,0,0));p>z&&d<z?(c.push(["L",e+l*A(x)+B,u+w*E(x)+m]),c=c.concat(h.curveTo(e,u,l,w,x,z,B,m)),c.push(["L",e+l*A(z),u+w*E(z)]),c=c.concat(h.curveTo(e,u,l,w,z,p,0,0)),c.push(["L",e+l*A(p)+B,u+w*E(p)+m]),c=c.concat(h.curveTo(e,u,l,w,p,z,B,m)),c.push(["L",e+l*A(z),u+w*E(z)]),c=c.concat(h.curveTo(e,u,l,w,z,x,0,0))):p>I-f&&d<I-f&&(c.push(["L",e+l*Math.cos(x)+B,u+w*Math.sin(x)+m]),c=c.concat(h.curveTo(e,u,l,w,x,p,B,m)),c.push(["L",e+l*Math.cos(p),u+w*Math.sin(p)]),
+c=c.concat(h.curveTo(e,u,l,w,p,x,0,0)));c.push(["L",e+l*Math.cos(x)+B,u+w*Math.sin(x)+m]);c=c.concat(h.curveTo(e,u,l,w,x,C,B,m));c.push(["Z"]);f=[["M",e+t*n,u+v*q]];f=f.concat(h.curveTo(e,u,t,v,d,p,0,0));f.push(["L",e+t*Math.cos(p)+B,u+v*Math.sin(p)+m]);f=f.concat(h.curveTo(e,u,t,v,p,d,B,m));f.push(["Z"]);n=[["M",e+l*n,u+w*q],["L",e+l*n+B,u+w*q+m],["L",e+t*n+B,u+v*q+m],["L",e+t*n,u+v*q],["Z"]];e=[["M",e+l*a,u+w*k],["L",e+l*a+B,u+w*k+m],["L",e+t*a+B,u+v*k+m],["L",e+t*a,u+v*k],["Z"]];k=Math.atan2(m,
+-B);u=Math.abs(p+k);a=Math.abs(d+k);d=Math.abs((d+p)/2+k);u=b(u);a=b(a);d=b(d);d*=1E5;p=1E5*a;u*=1E5;return{top:g,zTop:1E5*Math.PI+1,out:c,zOut:Math.max(d,p,u),inn:f,zInn:Math.max(d,p,u),side1:n,zSide1:.99*u,side2:e,zSide2:.99*p}};return h}(m)});D(a,"Core/Chart/Chart3D.js",[a["Core/Color/Color.js"],a["Core/Defaults.js"],a["Core/Math3D.js"],a["Core/Utilities.js"]],function(a,y,r,F){var n=a.parse,A=y.defaultOptions,m=r.perspective,z=r.shapeArea3D,f=F.addEvent,k=F.isArray,c=F.merge,b=F.pick,l=F.wrap,
+g;(function(a){function g(a){this.is3d()&&"scatter"===a.options.type&&(a.options.type="scatter3d")}function t(){if(this.chart3d&&this.is3d()){var a=this.renderer,b=this.options.chart.options3d,d=this.chart3d.get3dFrame(),p=this.plotLeft,h=this.plotLeft+this.plotWidth,g=this.plotTop,c=this.plotTop+this.plotHeight;b=b.depth;var f=p-(d.left.visible?d.left.size:0),l=h+(d.right.visible?d.right.size:0),q=g-(d.top.visible?d.top.size:0),k=c+(d.bottom.visible?d.bottom.size:0),t=0-(d.front.visible?d.front.size:
+0),m=b+(d.back.visible?d.back.size:0),v=this.hasRendered?"animate":"attr";this.chart3d.frame3d=d;this.frameShapes||(this.frameShapes={bottom:a.polyhedron().add(),top:a.polyhedron().add(),left:a.polyhedron().add(),right:a.polyhedron().add(),back:a.polyhedron().add(),front:a.polyhedron().add()});this.frameShapes.bottom[v]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:d.bottom.frontFacing?-1E3:1E3,faces:[{fill:n(d.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:l,y:k,z:t},
+{x:l,y:k,z:m},{x:f,y:k,z:m}],enabled:d.bottom.visible},{fill:n(d.bottom.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:b},{x:h,y:c,z:b},{x:h,y:c,z:0},{x:p,y:c,z:0}],enabled:d.bottom.visible},{fill:n(d.bottom.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:t},{x:f,y:k,z:m},{x:p,y:c,z:b},{x:p,y:c,z:0}],enabled:d.bottom.visible&&!d.left.visible},{fill:n(d.bottom.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:m},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:h,y:c,z:b}],enabled:d.bottom.visible&&!d.right.visible},{fill:n(d.bottom.color).get(),
+vertexes:[{x:l,y:k,z:t},{x:f,y:k,z:t},{x:p,y:c,z:0},{x:h,y:c,z:0}],enabled:d.bottom.visible&&!d.front.visible},{fill:n(d.bottom.color).get(),vertexes:[{x:f,y:k,z:m},{x:l,y:k,z:m},{x:h,y:c,z:b},{x:p,y:c,z:b}],enabled:d.bottom.visible&&!d.back.visible}]});this.frameShapes.top[v]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:d.top.frontFacing?-1E3:1E3,faces:[{fill:n(d.top.color).brighten(.1).get(),vertexes:[{x:f,y:q,z:m},{x:l,y:q,z:m},{x:l,y:q,z:t},{x:f,y:q,z:t}],enabled:d.top.visible},
+{fill:n(d.top.color).brighten(.1).get(),vertexes:[{x:p,y:g,z:0},{x:h,y:g,z:0},{x:h,y:g,z:b},{x:p,y:g,z:b}],enabled:d.top.visible},{fill:n(d.top.color).brighten(-.1).get(),vertexes:[{x:f,y:q,z:m},{x:f,y:q,z:t},{x:p,y:g,z:0},{x:p,y:g,z:b}],enabled:d.top.visible&&!d.left.visible},{fill:n(d.top.color).brighten(-.1).get(),vertexes:[{x:l,y:q,z:t},{x:l,y:q,z:m},{x:h,y:g,z:b},{x:h,y:g,z:0}],enabled:d.top.visible&&!d.right.visible},{fill:n(d.top.color).get(),vertexes:[{x:f,y:q,z:t},{x:l,y:q,z:t},{x:h,y:g,
+z:0},{x:p,y:g,z:0}],enabled:d.top.visible&&!d.front.visible},{fill:n(d.top.color).get(),vertexes:[{x:l,y:q,z:m},{x:f,y:q,z:m},{x:p,y:g,z:b},{x:h,y:g,z:b}],enabled:d.top.visible&&!d.back.visible}]});this.frameShapes.left[v]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:d.left.frontFacing?-1E3:1E3,faces:[{fill:n(d.left.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:p,y:c,z:0},{x:p,y:c,z:b},{x:f,y:k,z:m}],enabled:d.left.visible&&!d.bottom.visible},{fill:n(d.left.color).brighten(.1).get(),
+vertexes:[{x:f,y:q,z:m},{x:p,y:g,z:b},{x:p,y:g,z:0},{x:f,y:q,z:t}],enabled:d.left.visible&&!d.top.visible},{fill:n(d.left.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:m},{x:f,y:q,z:m},{x:f,y:q,z:t},{x:f,y:k,z:t}],enabled:d.left.visible},{fill:n(d.left.color).brighten(-.1).get(),vertexes:[{x:p,y:g,z:b},{x:p,y:c,z:b},{x:p,y:c,z:0},{x:p,y:g,z:0}],enabled:d.left.visible},{fill:n(d.left.color).get(),vertexes:[{x:f,y:k,z:t},{x:f,y:q,z:t},{x:p,y:g,z:0},{x:p,y:c,z:0}],enabled:d.left.visible&&!d.front.visible},
+{fill:n(d.left.color).get(),vertexes:[{x:f,y:q,z:m},{x:f,y:k,z:m},{x:p,y:c,z:b},{x:p,y:g,z:b}],enabled:d.left.visible&&!d.back.visible}]});this.frameShapes.right[v]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:d.right.frontFacing?-1E3:1E3,faces:[{fill:n(d.right.color).brighten(.1).get(),vertexes:[{x:l,y:k,z:m},{x:h,y:c,z:b},{x:h,y:c,z:0},{x:l,y:k,z:t}],enabled:d.right.visible&&!d.bottom.visible},{fill:n(d.right.color).brighten(.1).get(),vertexes:[{x:l,y:q,z:t},{x:h,y:g,z:0},{x:h,
+y:g,z:b},{x:l,y:q,z:m}],enabled:d.right.visible&&!d.top.visible},{fill:n(d.right.color).brighten(-.1).get(),vertexes:[{x:h,y:g,z:0},{x:h,y:c,z:0},{x:h,y:c,z:b},{x:h,y:g,z:b}],enabled:d.right.visible},{fill:n(d.right.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:t},{x:l,y:q,z:t},{x:l,y:q,z:m},{x:l,y:k,z:m}],enabled:d.right.visible},{fill:n(d.right.color).get(),vertexes:[{x:l,y:q,z:t},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:h,y:g,z:0}],enabled:d.right.visible&&!d.front.visible},{fill:n(d.right.color).get(),
+vertexes:[{x:l,y:k,z:m},{x:l,y:q,z:m},{x:h,y:g,z:b},{x:h,y:c,z:b}],enabled:d.right.visible&&!d.back.visible}]});this.frameShapes.back[v]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:d.back.frontFacing?-1E3:1E3,faces:[{fill:n(d.back.color).brighten(.1).get(),vertexes:[{x:l,y:k,z:m},{x:f,y:k,z:m},{x:p,y:c,z:b},{x:h,y:c,z:b}],enabled:d.back.visible&&!d.bottom.visible},{fill:n(d.back.color).brighten(.1).get(),vertexes:[{x:f,y:q,z:m},{x:l,y:q,z:m},{x:h,y:g,z:b},{x:p,y:g,z:b}],enabled:d.back.visible&&
+!d.top.visible},{fill:n(d.back.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:m},{x:f,y:q,z:m},{x:p,y:g,z:b},{x:p,y:c,z:b}],enabled:d.back.visible&&!d.left.visible},{fill:n(d.back.color).brighten(-.1).get(),vertexes:[{x:l,y:q,z:m},{x:l,y:k,z:m},{x:h,y:c,z:b},{x:h,y:g,z:b}],enabled:d.back.visible&&!d.right.visible},{fill:n(d.back.color).get(),vertexes:[{x:p,y:g,z:b},{x:h,y:g,z:b},{x:h,y:c,z:b},{x:p,y:c,z:b}],enabled:d.back.visible},{fill:n(d.back.color).get(),vertexes:[{x:f,y:k,z:m},{x:l,y:k,z:m},
+{x:l,y:q,z:m},{x:f,y:q,z:m}],enabled:d.back.visible}]});this.frameShapes.front[v]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:d.front.frontFacing?-1E3:1E3,faces:[{fill:n(d.front.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:t},{x:l,y:k,z:t},{x:h,y:c,z:0},{x:p,y:c,z:0}],enabled:d.front.visible&&!d.bottom.visible},{fill:n(d.front.color).brighten(.1).get(),vertexes:[{x:l,y:q,z:t},{x:f,y:q,z:t},{x:p,y:g,z:0},{x:h,y:g,z:0}],enabled:d.front.visible&&!d.top.visible},{fill:n(d.front.color).brighten(-.1).get(),
+vertexes:[{x:f,y:q,z:t},{x:f,y:k,z:t},{x:p,y:c,z:0},{x:p,y:g,z:0}],enabled:d.front.visible&&!d.left.visible},{fill:n(d.front.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:t},{x:l,y:q,z:t},{x:h,y:g,z:0},{x:h,y:c,z:0}],enabled:d.front.visible&&!d.right.visible},{fill:n(d.front.color).get(),vertexes:[{x:h,y:g,z:0},{x:p,y:g,z:0},{x:p,y:c,z:0},{x:h,y:c,z:0}],enabled:d.front.visible},{fill:n(d.front.color).get(),vertexes:[{x:l,y:k,z:t},{x:f,y:k,z:t},{x:f,y:q,z:t},{x:l,y:q,z:t}],enabled:d.front.visible}]})}}
+function x(){this.styledMode&&[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(a){this.renderer.definition({tagName:"filter",attributes:{id:"highcharts-"+a.name},children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",attributes:{type:"linear",slope:a.slope}},{tagName:"feFuncG",attributes:{type:"linear",slope:a.slope}},{tagName:"feFuncB",attributes:{type:"linear",slope:a.slope}}]}]})},this)}function v(){var a=this.options;this.is3d()&&(a.series||[]).forEach(function(e){"scatter"===
+(e.type||a.chart.type||a.chart.defaultSeriesType)&&(e.type="scatter3d")})}function C(){var a=this.options.chart.options3d;if(this.chart3d&&this.is3d()){a&&(a.alpha=a.alpha%360+(0<=a.alpha?0:360),a.beta=a.beta%360+(0<=a.beta?0:360));var b=this.inverted,d=this.clipBox,h=this.margin;d[b?"y":"x"]=-(h[3]||0);d[b?"x":"y"]=-(h[0]||0);d[b?"height":"width"]=this.chartWidth+(h[3]||0)+(h[1]||0);d[b?"width":"height"]=this.chartHeight+(h[0]||0)+(h[2]||0);this.scale3d=1;!0===a.fitToPlot&&(this.scale3d=this.chart3d.getScale(a.depth));
+this.chart3d.frame3d=this.chart3d.get3dFrame()}}function E(){this.is3d()&&(this.isDirtyBox=!0)}function r(){this.chart3d&&this.is3d()&&(this.chart3d.frame3d=this.chart3d.get3dFrame())}function y(){this.chart3d||(this.chart3d=new L(this))}function O(a){return this.is3d()||a.apply(this,[].slice.call(arguments,1))}function h(a){var e=this.series.length;if(this.is3d())for(;e--;)a=this.series[e],a.translate(),a.render();else a.call(this)}function K(a){a.apply(this,[].slice.call(arguments,1));this.is3d()&&
+(this.container.className+=" highcharts-3d-chart")}var L=function(){function a(a){this.frame3d=void 0;this.chart=a}a.prototype.get3dFrame=function(){var a=this.chart,d=a.options.chart.options3d,e=d.frame,h=a.plotLeft,g=a.plotLeft+a.plotWidth,c=a.plotTop,f=a.plotTop+a.plotHeight,l=d.depth,q=function(d){d=z(d,a);return.5<d?1:-.5>d?-1:0},k=q([{x:h,y:f,z:l},{x:g,y:f,z:l},{x:g,y:f,z:0},{x:h,y:f,z:0}]),t=q([{x:h,y:c,z:0},{x:g,y:c,z:0},{x:g,y:c,z:l},{x:h,y:c,z:l}]),n=q([{x:h,y:c,z:0},{x:h,y:c,z:l},{x:h,
+y:f,z:l},{x:h,y:f,z:0}]),v=q([{x:g,y:c,z:l},{x:g,y:c,z:0},{x:g,y:f,z:0},{x:g,y:f,z:l}]),x=q([{x:h,y:f,z:0},{x:g,y:f,z:0},{x:g,y:c,z:0},{x:h,y:c,z:0}]);q=q([{x:h,y:c,z:l},{x:g,y:c,z:l},{x:g,y:f,z:l},{x:h,y:f,z:l}]);var L=!1,C=!1,E=!1,A=!1;[].concat(a.xAxis,a.yAxis,a.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?C=!0:L=!0:a.opposite?A=!0:E=!0)});var r=function(a,d,e){for(var h=["size","color","visible"],g={},c=0;c<h.length;c++)for(var f=h[c],l=0;l<a.length;l++)if("object"===typeof a[l]){var q=a[l][f];
+if("undefined"!==typeof q&&null!==q){g[f]=q;break}}a=e;!0===g.visible||!1===g.visible?a=g.visible:"auto"===g.visible&&(a=0<d);return{size:b(g.size,1),color:b(g.color,"none"),frontFacing:0<d,visible:a}};e={axes:{},bottom:r([e.bottom,e.top,e],k,L),top:r([e.top,e.bottom,e],t,C),left:r([e.left,e.right,e.side,e],n,E),right:r([e.right,e.left,e.side,e],v,A),back:r([e.back,e.front,e],q,!0),front:r([e.front,e.back,e],x,!1)};"auto"===d.axisLabelPosition?(v=function(a,d){return a.visible!==d.visible||a.visible&&
+d.visible&&a.frontFacing!==d.frontFacing},d=[],v(e.left,e.front)&&d.push({y:(c+f)/2,x:h,z:0,xDir:{x:1,y:0,z:0}}),v(e.left,e.back)&&d.push({y:(c+f)/2,x:h,z:l,xDir:{x:0,y:0,z:-1}}),v(e.right,e.front)&&d.push({y:(c+f)/2,x:g,z:0,xDir:{x:0,y:0,z:1}}),v(e.right,e.back)&&d.push({y:(c+f)/2,x:g,z:l,xDir:{x:-1,y:0,z:0}}),k=[],v(e.bottom,e.front)&&k.push({x:(h+g)/2,y:f,z:0,xDir:{x:1,y:0,z:0}}),v(e.bottom,e.back)&&k.push({x:(h+g)/2,y:f,z:l,xDir:{x:-1,y:0,z:0}}),t=[],v(e.top,e.front)&&t.push({x:(h+g)/2,y:c,z:0,
+xDir:{x:1,y:0,z:0}}),v(e.top,e.back)&&t.push({x:(h+g)/2,y:c,z:l,xDir:{x:-1,y:0,z:0}}),n=[],v(e.bottom,e.left)&&n.push({z:(0+l)/2,y:f,x:h,xDir:{x:0,y:0,z:-1}}),v(e.bottom,e.right)&&n.push({z:(0+l)/2,y:f,x:g,xDir:{x:0,y:0,z:1}}),f=[],v(e.top,e.left)&&f.push({z:(0+l)/2,y:c,x:h,xDir:{x:0,y:0,z:-1}}),v(e.top,e.right)&&f.push({z:(0+l)/2,y:c,x:g,xDir:{x:0,y:0,z:1}}),h=function(d,e,h){if(0===d.length)return null;if(1===d.length)return d[0];for(var b=m(d,a,!1),g=0,c=1;c<b.length;c++)h*b[c][e]>h*b[g][e]?g=
+c:h*b[c][e]===h*b[g][e]&&b[c].z<b[g].z&&(g=c);return d[g]},e.axes={y:{left:h(d,"x",-1),right:h(d,"x",1)},x:{top:h(t,"y",-1),bottom:h(k,"y",1)},z:{top:h(f,"y",-1),bottom:h(n,"y",1)}}):e.axes={y:{left:{x:h,z:0,xDir:{x:1,y:0,z:0}},right:{x:g,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:c,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:f,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:E?g:h,y:c,xDir:E?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:E?g:h,y:f,xDir:E?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return e};a.prototype.getScale=function(a){var d=
+this.chart,e=d.plotLeft,h=d.plotWidth+e,b=d.plotTop,g=d.plotHeight+b,c=e+d.plotWidth/2,f=b+d.plotHeight/2,l=Number.MAX_VALUE,q=-Number.MAX_VALUE,k=Number.MAX_VALUE,t=-Number.MAX_VALUE,n=1;var v=[{x:e,y:b,z:0},{x:e,y:b,z:a}];[0,1].forEach(function(a){v.push({x:h,y:v[a].y,z:v[a].z})});[0,1,2,3].forEach(function(a){v.push({x:v[a].x,y:g,z:v[a].z})});v=m(v,d,!1);v.forEach(function(a){l=Math.min(l,a.x);q=Math.max(q,a.x);k=Math.min(k,a.y);t=Math.max(t,a.y)});e>l&&(n=Math.min(n,1-Math.abs((e+c)/(l+c))%1));
+h<q&&(n=Math.min(n,(h-c)/(q-c)));b>k&&(n=0>k?Math.min(n,(b+f)/(-k+b+f)):Math.min(n,1-(b+f)/(k+f)%1));g<t&&(n=Math.min(n,Math.abs((g-f)/(t-f))));return n};return a}();a.Composition=L;a.defaultOptions={chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}};a.compose=function(e,b){var d=e.prototype;b=b.prototype;d.is3d=function(){return!(!this.options.chart.options3d||
+!this.options.chart.options3d.enabled)};d.propsRequireDirtyBox.push("chart.options3d");d.propsRequireUpdateSeries.push("chart.options3d");b.matrixSetter=function(){if(1>this.pos&&(k(this.start)||k(this.end))){var a=this.start||[1,0,0,1,0,0],d=this.end||[1,0,0,1,0,0];var e=[];for(var h=0;6>h;h++)e.push(this.pos*d[h]+(1-this.pos)*a[h])}else e=this.end;this.elem.attr(this.prop,e,null,!0)};c(!0,A,a.defaultOptions);f(e,"init",y);f(e,"addSeries",g);f(e,"afterDrawChartBox",t);f(e,"afterGetContainer",x);
+f(e,"afterInit",v);f(e,"afterSetChartSize",C);f(e,"beforeRedraw",E);f(e,"beforeRender",r);l(d,"isInsidePlot",O);l(d,"renderSeries",h);l(d,"setClassName",K)}})(g||(g={}));"";return g});D(a,"Core/Axis/ZAxis.js",[a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,y){function r(a){return new c(this,a)}function A(){var a=this,c=this.options.zAxis=f(this.options.zAxis||{});this.is3d()&&(this.zAxis=[],c.forEach(function(b,c){b.index=c;b.isX=!0;a.addZAxis(b).setScale()}))}var n=this&&this.__extends||
+function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function g(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),G=y.addEvent,m=y.merge,z=y.pick,f=y.splat,k=[],c=function(a){function b(b,c){b=a.call(this,b,c)||this;b.isZAxis=!0;return b}n(b,a);b.compose=function(a){-1===k.indexOf(a)&&
+(k.push(a),G(a,"afterGetAxes",A),a=a.prototype,a.addZAxis=r,a.collectionsWithInit.zAxis=[a.addZAxis],a.collectionsWithUpdate.push("zAxis"))};b.prototype.getSeriesExtremes=function(){var a=this,b=this.chart;this.hasVisibleSeries=!1;this.dataMin=this.dataMax=this.ignoreMinPadding=this.ignoreMaxPadding=void 0;this.stacking&&this.stacking.buildStacks();this.series.forEach(function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries)a.hasVisibleSeries=!0,c=c.zData,c.length&&(a.dataMin=Math.min(z(a.dataMin,
+c[0]),Math.min.apply(null,c)),a.dataMax=Math.max(z(a.dataMax,c[0]),Math.max.apply(null,c)))})};b.prototype.setAxisSize=function(){var b=this.chart;a.prototype.setAxisSize.call(this);this.width=this.len=b.options.chart.options3d&&b.options.chart.options3d.depth||0;this.right=b.chartWidth-this.width-this.left};b.prototype.setOptions=function(b){b=m({offset:0,lineWidth:0},b);this.isZAxis=!0;a.prototype.setOptions.call(this,b);this.coll="zAxis"};return b}(a);return c});D(a,"Core/Axis/Axis3DDefaults.js",
+[],function(){return{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}}});D(a,"Core/Axis/Tick3DComposition.js",[a["Core/Utilities.js"]],function(a){function A(a){var f=this.axis.axis3D;f&&n(a.pos,f.fix3dPosition(a.pos))}function r(a){var f=this.axis.axis3D,k=a.apply(this,[].slice.call(arguments,1));if(f){var c=k[0],b=k[1];if("M"===c[0]&&"L"===b[0])return f=[f.fix3dPosition({x:c[1],y:c[2],z:0}),f.fix3dPosition({x:b[1],y:b[2],z:0})],this.axis.chart.renderer.toLineSegments(f)}return k}
+var F=a.addEvent,n=a.extend,G=a.wrap,m=[];return{compose:function(a){-1===m.indexOf(a)&&(m.push(a),F(a,"afterGetLabelPosition",A),G(a.prototype,"getMarkPath",r))}}});D(a,"Core/Axis/Axis3DComposition.js",[a["Core/Axis/Axis3DDefaults.js"],a["Core/Globals.js"],a["Core/Math3D.js"],a["Core/Axis/Tick3DComposition.js"],a["Core/Utilities.js"]],function(a,y,r,F,n){function A(){var a=this.chart,b=this.options;a.is3d&&a.is3d()&&"colorAxis"!==this.coll&&(b.tickWidth=J(b.tickWidth,0),b.gridLineWidth=J(b.gridLineWidth,
+1))}function m(a){this.chart.is3d()&&"colorAxis"!==this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)}function z(){this.axis3D||(this.axis3D=new D(this))}function f(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))}function k(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var b=arguments,c=b[2],f=[];b=this.getPlotLinePath({value:b[1]});c=this.getPlotLinePath({value:c});
 if(b&&c)for(var e=0;e<b.length;e+=2){var g=b[e],d=b[e+1],l=c[e],k=c[e+1];"M"===g[0]&&"L"===d[0]&&"M"===l[0]&&"L"===k[0]&&f.push(g,d,k,["L",l[1],l[2]],["Z"])}return f}function c(a){var b=this.axis3D,c=this.chart,f=a.apply(this,[].slice.call(arguments,1));if("colorAxis"===this.coll||!c.chart3d||!c.is3d()||null===f)return f;var e=c.options.chart.options3d,g=this.isZAxis?c.plotWidth:e.depth;e=c.chart3d.frame3d;var d=f[0],l=f[1];f=[];"M"===d[0]&&"L"===l[0]&&(b=[b.swapZ({x:d[1],y:d[2],z:0}),b.swapZ({x:d[1],
-y:d[2],z:g}),b.swapZ({x:l[1],y:l[2],z:0}),b.swapZ({x:l[1],y:l[2],z:g})],this.horiz?(this.isZAxis?(e.left.visible&&f.push(b[0],b[2]),e.right.visible&&f.push(b[1],b[3])):(e.front.visible&&f.push(b[0],b[2]),e.back.visible&&f.push(b[1],b[3])),e.top.visible&&f.push(b[0],b[1]),e.bottom.visible&&f.push(b[2],b[3])):(e.front.visible&&f.push(b[0],b[2]),e.back.visible&&f.push(b[1],b[3]),e.left.visible&&f.push(b[0],b[1]),e.right.visible&&f.push(b[2],b[3])),f=B(f,this.chart,!1));return c.renderer.toLineSegments(f)}
-function b(a,b){var c=this.chart,h=this.ticks,e=this.gridGroup;if(this.categories&&c.frameShapes&&c.is3d()&&e&&b&&b.label){e=e.element.childNodes[0].getBBox();var f=c.frameShapes.left.getBBox(),d=c.options.chart.options3d;c={x:c.plotWidth/2,y:c.plotHeight/2,z:d.depth/2,vd:L(d.depth,1)*L(d.viewDistance,0)};d=b.pos;var g=h[d-1],l=h[d+1],k=h=void 0;0!==d&&g&&g.label&&g.label.xy&&(h=p({x:g.label.xy.x,y:g.label.xy.y,z:null},c,c.vd));l&&l.label&&l.label.xy&&(k=p({x:l.label.xy.x,y:l.label.xy.y,z:null},c,
-c.vd));d={x:b.label.xy.x,y:b.label.xy.y,z:null};d=p(d,c,c.vd);return Math.abs(h?d.x-h.x:k?k.x-d.x:e.x-f.x)}return a.apply(this,[].slice.call(arguments,1))}function l(a){var b=a.apply(this,[].slice.call(arguments,1));return this.axis3D?this.axis3D.fix3dPosition(b,!0):b}var g=z.deg2rad,B=y.perspective,p=y.perspective3D,t=y.shapeArea,v=m.addEvent,n=m.merge,L=m.pick,E=m.wrap,J=[],K=function(){function p(a){this.axis=a}p.compose=function(h,g){D.compose(g);-1===J.indexOf(h)&&(J.push(h),n(!0,h.defaultOptions,
-a),h.keepProps.push("axis3D"),v(h,"init",C),v(h,"afterSetOptions",x),v(h,"drawCrosshair",r),h=h.prototype,E(h,"getLinePath",f),E(h,"getPlotBandPath",k),E(h,"getPlotLinePath",c),E(h,"getSlotWidth",b),E(h,"getTitlePosition",l))};p.prototype.fix3dPosition=function(a,b){var c=this.axis,e=c.chart;if("colorAxis"===c.coll||!e.chart3d||!e.is3d())return a;var f=g*e.options.chart.options3d.alpha,d=g*e.options.chart.options3d.beta,h=L(b&&c.options.title.position3d,c.options.labels.position3d);b=L(b&&c.options.title.skew3d,
-c.options.labels.skew3d);var l=e.chart3d.frame3d,k=e.plotLeft,p=e.plotWidth+k,n=e.plotTop,m=e.plotHeight+n,r=e=0,v={x:0,y:1,z:0},E=!1;a=c.axis3D.swapZ({x:a.x,y:a.y,z:0});if(c.isZAxis)if(c.opposite){if(null===l.axes.z.top)return{};r=a.y-n;a.x=l.axes.z.top.x;a.y=l.axes.z.top.y;k=l.axes.z.top.xDir;E=!l.top.frontFacing}else{if(null===l.axes.z.bottom)return{};r=a.y-m;a.x=l.axes.z.bottom.x;a.y=l.axes.z.bottom.y;k=l.axes.z.bottom.xDir;E=!l.bottom.frontFacing}else if(c.horiz)if(c.opposite){if(null===l.axes.x.top)return{};
-r=a.y-n;a.y=l.axes.x.top.y;a.z=l.axes.x.top.z;k=l.axes.x.top.xDir;E=!l.top.frontFacing}else{if(null===l.axes.x.bottom)return{};r=a.y-m;a.y=l.axes.x.bottom.y;a.z=l.axes.x.bottom.z;k=l.axes.x.bottom.xDir;E=!l.bottom.frontFacing}else if(c.opposite){if(null===l.axes.y.right)return{};e=a.x-p;a.x=l.axes.y.right.x;a.z=l.axes.y.right.z;k=l.axes.y.right.xDir;k={x:k.z,y:k.y,z:-k.x}}else{if(null===l.axes.y.left)return{};e=a.x-k;a.x=l.axes.y.left.x;a.z=l.axes.y.left.z;k=l.axes.y.left.xDir}"chart"!==h&&("flap"===
-h?c.horiz?(d=Math.sin(f),f=Math.cos(f),c.opposite&&(d=-d),E&&(d=-d),v={x:k.z*d,y:f,z:-k.x*d}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:"ortho"===h?c.horiz?(v=Math.cos(f),h=Math.sin(d)*v,f=-Math.sin(f),d=-v*Math.cos(d),v={x:k.y*d-k.z*f,y:k.z*h-k.x*d,z:k.x*f-k.y*h},f=1/Math.sqrt(v.x*v.x+v.y*v.y+v.z*v.z),E&&(f=-f),v={x:f*v.x,y:f*v.y,z:f*v.z}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:c.horiz?v={x:Math.sin(d)*Math.sin(f),y:Math.cos(f),z:-Math.cos(d)*Math.sin(f)}:k={x:Math.cos(d),y:0,z:Math.sin(d)});a.x+=e*k.x+r*
-v.x;a.y+=e*k.y+r*v.y;a.z+=e*k.z+r*v.z;e=B([a],c.chart)[0];b&&(0>t(B([a,{x:a.x+k.x,y:a.y+k.y,z:a.z+k.z},{x:a.x+v.x,y:a.y+v.y,z:a.z+v.z}],c.chart))&&(k={x:-k.x,y:-k.y,z:-k.z}),a=B([{x:a.x,y:a.y,z:a.z},{x:a.x+k.x,y:a.y+k.y,z:a.z+k.z},{x:a.x+v.x,y:a.y+v.y,z:a.z+v.z}],c.chart),e.matrix=[a[1].x-a[0].x,a[1].y-a[0].y,a[2].x-a[0].x,a[2].y-a[0].y,e.x,e.y],e.matrix[4]-=e.x*e.matrix[0]+e.y*e.matrix[2],e.matrix[5]-=e.x*e.matrix[1]+e.y*e.matrix[3]);return e};p.prototype.swapZ=function(a,b){var c=this.axis;return c.isZAxis?
-(b=b?0:c.chart.plotLeft,{x:b+a.z,y:a.y,z:a.x-b}):a};return p}();return K});F(a,"Core/Series/Series3D.js",[a["Core/Math3D.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,z,y){var x=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(c,b)};return function(c,b){function f(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):
-(f.prototype=b.prototype,new f)}}(),m=a.perspective;a=y.addEvent;var H=y.extend,r=y.merge,C=y.pick,f=y.isNumber;y=function(a){function c(){return null!==a&&a.apply(this,arguments)||this}x(c,a);c.prototype.translate=function(){a.prototype.translate.apply(this,arguments);this.chart.is3d()&&this.translate3dPoints()};c.prototype.translate3dPoints=function(){var a=this.options,c=this.chart,g=C(this.zAxis,c.options.zAxis[0]),k=[],p,t=[];this.zPadding=(a.stacking?f(a.stack)?a.stack:0:this.index||0)*(a.depth||
-0+(a.groupZPadding||1));for(p=0;p<this.data.length;p++){a=this.data[p];if(g&&g.translate){var v=g.logarithmic&&g.val2lin?g.val2lin(a.z):a.z;a.plotZ=g.translate(v);a.isInside=a.isInside?v>=g.min&&v<=g.max:!1}else a.plotZ=this.zPadding;a.axisXpos=a.plotX;a.axisYpos=a.plotY;a.axisZpos=a.plotZ;k.push({x:a.plotX,y:a.plotY,z:a.plotZ});t.push(a.plotX||0)}this.rawPointsX=t;c=m(k,c,!0);for(p=0;p<this.data.length;p++)a=this.data[p],g=c[p],a.plotX=g.x,a.plotY=g.y,a.plotZ=g.z};c.defaultOptions=r(z.defaultOptions);
-return c}(z);a(z,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});H(z.prototype,{translate3dPoints:y.prototype.translate3dPoints});return y});F(a,"Series/Area3D/Area3DSeries.js",[a["Core/Math3D.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,y){function x(a){var f=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d())return f;var c=H.getGraphPath,b=this.options,l=Math.round(this.yAxis.getThreshold(b.threshold)),g=[];if(this.rawPointsX)for(var r=
-0;r<this.points.length;r++)g.push({x:this.rawPointsX[r],y:b.stacking?this.points[r].yBottom:l,z:this.zPadding});b=this.chart.options.chart.options3d;g=m(g,this.chart,!0).map(function(a){return{plotX:a.x,plotY:a.y,plotZ:a.z}});this.group&&b&&b.depth&&b.beta&&(this.markerGroup&&(this.markerGroup.add(this.group),this.markerGroup.attr({translateX:0,translateY:0})),this.group.attr({zIndex:Math.max(1,270<b.beta||90>b.beta?b.depth-Math.round(this.zPadding||0):Math.round(this.zPadding||0))}));g.reversed=
-!0;c=c.call(this,g,!0,!0);c[0]&&"M"===c[0][0]&&(c[0]=["L",c[0][1],c[0][2]]);this.areaPath&&(c=this.areaPath.splice(0,this.areaPath.length/2).concat(c),c.xMap=this.areaPath.xMap,this.areaPath=c);return f}var m=a.perspective,H=z.seriesTypes.line.prototype,r=y.wrap,C=[];return{compose:function(a){-1===C.indexOf(a)&&(C.push(a),r(a.prototype,"getGraphPath",x))}}});F(a,"Series/Column3D/Column3DComposition.js",[a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Math3D.js"],
-a["Core/Series/SeriesRegistry.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Utilities.js"]],function(a,z,y,D,m,H,r){function x(a,b){var c=a.series,f={totalStacks:0},g,l=1;c.forEach(function(a){g=B(a.options.stack,b?0:c.length-1-a.index);f[g]?f[g].series.push(a):(f[g]={series:[a],position:l},l++)});f.totalStacks=l+1;return f}function f(a){var b=a.apply(this,[].slice.call(arguments,1));this.chart.is3d&&this.chart.is3d()&&(b.stroke=this.options.edgeColor||b.fill,b["stroke-width"]=B(this.options.edgeWidth,
-1));return b}function k(a,b,c){var f=this.chart.is3d&&this.chart.is3d();f&&(this.options.inactiveOtherPoints=!0);a.call(this,b,c);f&&(this.options.inactiveOtherPoints=!1)}function c(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];return this.series.chart.is3d()?this.graphic&&"g"!==this.graphic.element.nodeName:a.apply(this,b)}var b=a.prototype,l=z.svg,g=D.perspective;z=r.addEvent;var B=r.pick;r=r.wrap;r(b,"translate",function(a){a.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&
-this.translate3dShapes()});r(y.prototype,"justifyDataLabel",function(a){return arguments[2].outside3dPlot?!1:a.apply(this,[].slice.call(arguments,1))});b.translate3dPoints=function(){};b.translate3dShapes=function(){var a=this,b=a.chart,c=a.options,f=c.depth,l=(c.stacking?c.stack||0:a.index)*(f+(c.groupZPadding||1)),k=a.borderWidth%2?.5:0,m;b.inverted&&!a.yAxis.reversed&&(k*=-1);!1!==c.grouping&&(l=0);l+=c.groupZPadding||1;a.data.forEach(function(c){c.outside3dPlot=null;if(null!==c.y){var n=c.shapeArgs,
-h=c.tooltipPos,p;[["x","width"],["y","height"]].forEach(function(b){p=n[b[0]]-k;0>p&&(n[b[1]]+=n[b[0]]+k,n[b[0]]=-k,p=0);p+n[b[1]]>a[b[0]+"Axis"].len&&0!==n[b[1]]&&(n[b[1]]=a[b[0]+"Axis"].len-n[b[0]]);if(0!==n[b[1]]&&(n[b[0]]>=a[b[0]+"Axis"].len||n[b[0]]+n[b[1]]<=k)){for(var e in n)n[e]="y"===e?-9999:0;c.outside3dPlot=!0}});"rect"===c.shapeType&&(c.shapeType="cuboid");n.z=l;n.depth=f;n.insidePlotArea=!0;m={x:n.x+n.width/2,y:n.y,z:l+f/2};b.inverted&&(m.x=n.height,m.y=c.clientX);c.plot3d=g([m],b,!0,
-!1)[0];h=g([{x:h[0],y:h[1],z:l+f/2}],b,!0,!1)[0];c.tooltipPos=[h.x,h.y]}});a.z=l};r(b,"animate",function(a){if(this.chart.is3d()){var b=arguments[1],c=this.yAxis,f=this,g=this.yAxis.reversed;l&&(b?f.data.forEach(function(a){null!==a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,g||(a.shapeArgs.y=a.stackY?a.plotY+c.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(f.data.forEach(function(a){if(null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,
-a.graphic))a.graphic[a.outside3dPlot?"attr":"animate"](a.shapeArgs,f.options.animation)}),this.drawDataLabels()))}else a.apply(this,[].slice.call(arguments,1))});r(b,"plotGroup",function(a,b,c,f,g,l){"dataLabelsGroup"!==b&&this.chart.is3d()&&(this[b]&&delete this[b],l&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(l)),this[b]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[b].survive=!0,"group"===b||"markerGroup"===b))&&(arguments[3]=
-"visible");return a.apply(this,Array.prototype.slice.call(arguments,1))});r(b,"setVisible",function(a,b){var c=this;c.chart.is3d()&&c.data.forEach(function(a){a.visible=a.options.visible=b="undefined"===typeof b?!B(c.visible,a.visible):b;c.options.data[c.data.indexOf(a)]=a.options;a.graphic&&a.graphic.attr({visibility:b?"visible":"hidden"})});a.apply(this,Array.prototype.slice.call(arguments,1))});z(a,"afterInit",function(){if(this.chart.is3d()){var a=this.options,b=a.grouping,c=a.stacking,f=this.yAxis.options.reversedStacks,
-g=0;if("undefined"===typeof b||b){b=x(this.chart,c);g=a.stack||0;for(c=0;c<b[g].series.length&&b[g].series[c]!==this;c++);g=10*(b.totalStacks-b[g].position)+(f?c:-c);this.xAxis.reversed||(g=10*b.totalStacks-g)}a.depth=a.depth||25;this.z=this.z||0;a.zIndex=g}});r(b,"pointAttribs",f);r(b,"setState",k);r(b.pointClass.prototype,"hasNewShapeType",c);m.seriesTypes.columnRange&&(z=m.seriesTypes.columnrange.prototype,r(z,"pointAttribs",f),r(z,"setState",k),r(z.pointClass.prototype,"hasNewShapeType",c),z.plotGroup=
-b.plotGroup,z.setVisible=b.setVisible);r(y.prototype,"alignDataLabel",function(a,b,c,f,l){var k=this.chart;f.outside3dPlot=b.outside3dPlot;if(k.is3d()&&this.is("column")){var m=this.options,n=B(f.inside,!!this.options.stacking),p=k.options.chart.options3d,h=b.pointWidth/2||0;m={x:l.x+h,y:l.y,z:this.z+m.depth/2};k.inverted&&(n&&(l.width=0,m.x+=b.shapeArgs.height/2),90<=p.alpha&&270>=p.alpha&&(m.y+=b.shapeArgs.width));m=g([m],k,!0,!1)[0];l.x=m.x-h;l.y=b.outside3dPlot?-9E9:m.y}a.apply(this,[].slice.call(arguments,
-1))});r(H.prototype,"getStackBox",function(a,b,c,f,l,k,r,x){var n=a.apply(this,[].slice.call(arguments,1));if(b.is3d()&&c.base){var h=+c.base.split(",")[0],p=b.series[h];h=b.options.chart.options3d;p&&p instanceof m.seriesTypes.column&&(p={x:n.x+(b.inverted?r:k/2),y:n.y,z:p.options.depth/2},b.inverted&&(n.width=0,90<=h.alpha&&270>=h.alpha&&(p.y+=k)),p=g([p],b,!0,!1)[0],n.x=p.x-k/2,n.y=p.y)}return n});"";return a});F(a,"Series/Pie3D/Pie3DPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var x=
-this&&this.__extends||function(){var a=function(m,x){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,m){a.__proto__=m}||function(a,m){for(var f in m)m.hasOwnProperty(f)&&(a[f]=m[f])};return a(m,x)};return function(m,x){function r(){this.constructor=m}a(m,x);m.prototype=null===x?Object.create(x):(r.prototype=x.prototype,new r)}}();a=a.seriesTypes.pie.prototype.pointClass;var y=a.prototype.haloPath;return function(a){function m(){var m=null!==a&&a.apply(this,arguments)||this;m.series=
-void 0;return m}x(m,a);m.prototype.haloPath=function(){return this.series.chart.is3d()?[]:y.apply(this,arguments)};return m}(a)});F(a,"Series/Pie3D/Pie3DSeries.js",[a["Core/Globals.js"],a["Series/Pie3D/Pie3DPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,y,D){var m=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};
-return a(f,c)};return function(f,c){function b(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),x=a.deg2rad,r=a.svg;a=D.extend;var C=D.pick;y=function(a){function f(){return null!==a&&a.apply(this,arguments)||this}m(f,a);f.prototype.addPoint=function(){a.prototype.addPoint.apply(this,arguments);this.chart.is3d()&&this.update(this.userOptions,!0)};f.prototype.animate=function(c){if(this.chart.is3d()){var b=this.options.animation;var f=this.center;
-var g=this.group,k=this.markerGroup;r&&(!0===b&&(b={}),c?(g.oldtranslateX=C(g.oldtranslateX,g.translateX),g.oldtranslateY=C(g.oldtranslateY,g.translateY),f={translateX:f[0],translateY:f[1],scaleX:.001,scaleY:.001},g.attr(f),k&&(k.attrSetters=g.attrSetters,k.attr(f))):(f={translateX:g.oldtranslateX,translateY:g.oldtranslateY,scaleX:1,scaleY:1},g.animate(f,b),k&&k.animate(f,b)))}else a.prototype.animate.apply(this,arguments)};f.prototype.drawDataLabels=function(){if(this.chart.is3d()){var c=this.chart.options.chart.options3d;
-this.data.forEach(function(a){var b=a.shapeArgs,f=b.r,k=(b.start+b.end)/2;a=a.labelPosition;var m=a.connectorPosition,r=-f*(1-Math.cos((b.alpha||c.alpha)*x))*Math.sin(k),v=f*(Math.cos((b.beta||c.beta)*x)-1)*Math.cos(k);[a.natural,m.breakAt,m.touchingSliceAt].forEach(function(a){a.x+=v;a.y+=r})})}a.prototype.drawDataLabels.apply(this,arguments)};f.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments),f=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=
-f.edgeColor||c.color||this.color,b["stroke-width"]=C(f.edgeWidth,1));return b};f.prototype.translate=function(){a.prototype.translate.apply(this,arguments);if(this.chart.is3d()){var c=this,b=c.options,f=b.depth||0,g=c.chart.options.chart.options3d,k=g.alpha,m=g.beta,r=b.stacking?(b.stack||0)*f:c._i*f;r+=f/2;!1!==b.grouping&&(r=0);c.data.forEach(function(a){var g=a.shapeArgs;a.shapeType="arc3d";g.z=r;g.depth=.75*f;g.alpha=k;g.beta=m;g.center=c.center;g=(g.end+g.start)/2;a.slicedTranslation={translateX:Math.round(Math.cos(g)*
-b.slicedOffset*Math.cos(k*x)),translateY:Math.round(Math.sin(g)*b.slicedOffset*Math.cos(k*x))}})}};f.prototype.drawTracker=function(){a.prototype.drawTracker.apply(this,arguments);this.chart.is3d()&&this.points.forEach(function(a){a.graphic&&["out","inn","side1","side2"].forEach(function(b){a.graphic&&(a.graphic[b].element.point=a)})})};return f}(y.seriesTypes.pie);a(y.prototype,{pointClass:z});"";return y});F(a,"Series/Pie3D/Pie3DComposition.js",[a["Series/Pie3D/Pie3DPoint.js"],a["Series/Pie3D/Pie3DSeries.js"],
-a["Core/Series/SeriesRegistry.js"]],function(a,z,y){y.seriesTypes.pie.prototype.pointClass.prototype.haloPath=a.prototype.haloPath;y.seriesTypes.pie=z});F(a,"Series/Scatter3D/Scatter3DPoint.js",[a["Series/Scatter/ScatterSeries.js"],a["Core/Utilities.js"]],function(a,z){var x=this&&this.__extends||function(){var a=function(m,r){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var k in f)f.hasOwnProperty(k)&&(a[k]=f[k])};return a(m,r)};return function(m,
-r){function x(){this.constructor=m}a(m,r);m.prototype=null===r?Object.create(r):(x.prototype=r.prototype,new x)}}(),D=z.defined;return function(a){function m(){var m=null!==a&&a.apply(this,arguments)||this;m.options=void 0;m.series=void 0;return m}x(m,a);m.prototype.applyOptions=function(){a.prototype.applyOptions.apply(this,arguments);D(this.z)||(this.z=0);return this};return m}(a.prototype.pointClass)});F(a,"Series/Scatter3D/Scatter3DSeries.js",[a["Core/Math3D.js"],a["Series/Scatter3D/Scatter3DPoint.js"],
-a["Series/Scatter/ScatterSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,y,D,m){var x=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(f,c)};return function(f,c){function b(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),r=a.pointCameraDistance;a=m.extend;
-var C=m.merge;m=function(a){function f(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}x(f,a);f.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&c&&(b.zIndex=r(c,this.chart));return b};f.defaultOptions=C(y.defaultOptions,{tooltip:{pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"}});return f}(y);a(m.prototype,{axisTypes:["xAxis","yAxis","zAxis"],directTouch:!0,
-parallelArrays:["x","y","z"],pointArrayMap:["x","y","z"],pointClass:z});D.registerSeriesType("scatter3d",m);"";return m});F(a,"masters/highcharts-3d.src.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGRenderer3D.js"],a["Core/Chart/Chart3D.js"],a["Core/Axis/ZAxis.js"],a["Core/Axis/Axis3DComposition.js"],a["Series/Area3D/Area3DSeries.js"]],function(a,z,y,D,m,F){z.compose(a.SVGRenderer);y.compose(a.Chart,a.Fx);D.compose(a.Chart);m.compose(a.Axis,a.Tick);F.compose(a.seriesTypes.area)})});
+y:d[2],z:g}),b.swapZ({x:l[1],y:l[2],z:0}),b.swapZ({x:l[1],y:l[2],z:g})],this.horiz?(this.isZAxis?(e.left.visible&&f.push(b[0],b[2]),e.right.visible&&f.push(b[1],b[3])):(e.front.visible&&f.push(b[0],b[2]),e.back.visible&&f.push(b[1],b[3])),e.top.visible&&f.push(b[0],b[1]),e.bottom.visible&&f.push(b[2],b[3])):(e.front.visible&&f.push(b[0],b[2]),e.back.visible&&f.push(b[1],b[3]),e.left.visible&&f.push(b[0],b[1]),e.right.visible&&f.push(b[2],b[3])),f=C(f,this.chart,!1));return c.renderer.toLineSegments(f)}
+function b(a,b){var c=this.chart,h=this.ticks,e=this.gridGroup;if(this.categories&&c.frameShapes&&c.is3d()&&e&&b&&b.label){e=e.element.childNodes[0].getBBox();var f=c.frameShapes.left.getBBox(),d=c.options.chart.options3d;c={x:c.plotWidth/2,y:c.plotHeight/2,z:d.depth/2,vd:J(d.depth,1)*J(d.viewDistance,0)};d=b.pos;var g=h[d-1],l=h[d+1],k=h=void 0;0!==d&&g&&g.label&&g.label.xy&&(h=q({x:g.label.xy.x,y:g.label.xy.y,z:null},c,c.vd));l&&l.label&&l.label.xy&&(k=q({x:l.label.xy.x,y:l.label.xy.y,z:null},c,
+c.vd));d={x:b.label.xy.x,y:b.label.xy.y,z:null};d=q(d,c,c.vd);return Math.abs(h?d.x-h.x:k?k.x-d.x:e.x-f.x)}return a.apply(this,[].slice.call(arguments,1))}function l(a){var b=a.apply(this,[].slice.call(arguments,1));return this.axis3D?this.axis3D.fix3dPosition(b,!0):b}var g=y.deg2rad,C=r.perspective,q=r.perspective3D,t=r.shapeArea,x=n.addEvent,v=n.merge,J=n.pick,E=n.wrap,I=[],D=function(){function q(a){this.axis=a}q.compose=function(h,g){F.compose(g);-1===I.indexOf(h)&&(I.push(h),v(!0,h.defaultOptions,
+a),h.keepProps.push("axis3D"),x(h,"init",z),x(h,"afterSetOptions",A),x(h,"drawCrosshair",m),h=h.prototype,E(h,"getLinePath",f),E(h,"getPlotBandPath",k),E(h,"getPlotLinePath",c),E(h,"getSlotWidth",b),E(h,"getTitlePosition",l))};q.prototype.fix3dPosition=function(a,b){var c=this.axis,e=c.chart;if("colorAxis"===c.coll||!e.chart3d||!e.is3d())return a;var f=g*e.options.chart.options3d.alpha,d=g*e.options.chart.options3d.beta,h=J(b&&c.options.title.position3d,c.options.labels.position3d);b=J(b&&c.options.title.skew3d,
+c.options.labels.skew3d);var l=e.chart3d.frame3d,k=e.plotLeft,q=e.plotWidth+k,n=e.plotTop,m=e.plotHeight+n,v=e=0,x={x:0,y:1,z:0},E=!1;a=c.axis3D.swapZ({x:a.x,y:a.y,z:0});if(c.isZAxis)if(c.opposite){if(null===l.axes.z.top)return{};v=a.y-n;a.x=l.axes.z.top.x;a.y=l.axes.z.top.y;k=l.axes.z.top.xDir;E=!l.top.frontFacing}else{if(null===l.axes.z.bottom)return{};v=a.y-m;a.x=l.axes.z.bottom.x;a.y=l.axes.z.bottom.y;k=l.axes.z.bottom.xDir;E=!l.bottom.frontFacing}else if(c.horiz)if(c.opposite){if(null===l.axes.x.top)return{};
+v=a.y-n;a.y=l.axes.x.top.y;a.z=l.axes.x.top.z;k=l.axes.x.top.xDir;E=!l.top.frontFacing}else{if(null===l.axes.x.bottom)return{};v=a.y-m;a.y=l.axes.x.bottom.y;a.z=l.axes.x.bottom.z;k=l.axes.x.bottom.xDir;E=!l.bottom.frontFacing}else if(c.opposite){if(null===l.axes.y.right)return{};e=a.x-q;a.x=l.axes.y.right.x;a.z=l.axes.y.right.z;k=l.axes.y.right.xDir;k={x:k.z,y:k.y,z:-k.x}}else{if(null===l.axes.y.left)return{};e=a.x-k;a.x=l.axes.y.left.x;a.z=l.axes.y.left.z;k=l.axes.y.left.xDir}"chart"!==h&&("flap"===
+h?c.horiz?(d=Math.sin(f),f=Math.cos(f),c.opposite&&(d=-d),E&&(d=-d),x={x:k.z*d,y:f,z:-k.x*d}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:"ortho"===h?c.horiz?(x=Math.cos(f),h=Math.sin(d)*x,f=-Math.sin(f),d=-x*Math.cos(d),x={x:k.y*d-k.z*f,y:k.z*h-k.x*d,z:k.x*f-k.y*h},f=1/Math.sqrt(x.x*x.x+x.y*x.y+x.z*x.z),E&&(f=-f),x={x:f*x.x,y:f*x.y,z:f*x.z}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:c.horiz?x={x:Math.sin(d)*Math.sin(f),y:Math.cos(f),z:-Math.cos(d)*Math.sin(f)}:k={x:Math.cos(d),y:0,z:Math.sin(d)});a.x+=e*k.x+v*
+x.x;a.y+=e*k.y+v*x.y;a.z+=e*k.z+v*x.z;e=C([a],c.chart)[0];b&&(0>t(C([a,{x:a.x+k.x,y:a.y+k.y,z:a.z+k.z},{x:a.x+x.x,y:a.y+x.y,z:a.z+x.z}],c.chart))&&(k={x:-k.x,y:-k.y,z:-k.z}),a=C([{x:a.x,y:a.y,z:a.z},{x:a.x+k.x,y:a.y+k.y,z:a.z+k.z},{x:a.x+x.x,y:a.y+x.y,z:a.z+x.z}],c.chart),e.matrix=[a[1].x-a[0].x,a[1].y-a[0].y,a[2].x-a[0].x,a[2].y-a[0].y,e.x,e.y],e.matrix[4]-=e.x*e.matrix[0]+e.y*e.matrix[2],e.matrix[5]-=e.x*e.matrix[1]+e.y*e.matrix[3]);return e};q.prototype.swapZ=function(a,b){var c=this.axis;return c.isZAxis?
+(b=b?0:c.chart.plotLeft,{x:b+a.z,y:a.y,z:a.x-b}):a};return q}();return D});D(a,"Core/Series/Series3D.js",[a["Core/Math3D.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,y,r){var A=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(c,b)};return function(c,b){function f(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):
+(f.prototype=b.prototype,new f)}}(),n=a.perspective;a=r.addEvent;var G=r.extend,m=r.merge,z=r.pick,f=r.isNumber;r=function(a){function c(){return null!==a&&a.apply(this,arguments)||this}A(c,a);c.prototype.translate=function(){a.prototype.translate.apply(this,arguments);this.chart.is3d()&&this.translate3dPoints()};c.prototype.translate3dPoints=function(){var a=this.options,c=this.chart,g=z(this.zAxis,c.options.zAxis[0]),k=[],q,t=[];this.zPadding=(a.stacking?f(a.stack)?a.stack:0:this.index||0)*(a.depth||
+0+(a.groupZPadding||1));for(q=0;q<this.data.length;q++){a=this.data[q];if(g&&g.translate){var m=g.logarithmic&&g.val2lin?g.val2lin(a.z):a.z;a.plotZ=g.translate(m);a.isInside=a.isInside?m>=g.min&&m<=g.max:!1}else a.plotZ=this.zPadding;a.axisXpos=a.plotX;a.axisYpos=a.plotY;a.axisZpos=a.plotZ;k.push({x:a.plotX,y:a.plotY,z:a.plotZ});t.push(a.plotX||0)}this.rawPointsX=t;c=n(k,c,!0);for(q=0;q<this.data.length;q++)a=this.data[q],g=c[q],a.plotX=g.x,a.plotY=g.y,a.plotZ=g.z};c.defaultOptions=m(y.defaultOptions);
+return c}(y);a(y,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});G(y.prototype,{translate3dPoints:r.prototype.translate3dPoints});return r});D(a,"Series/Area3D/Area3DSeries.js",[a["Core/Math3D.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,y,r){function A(a){var f=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d())return f;var c=G.getGraphPath,b=this.options,l=Math.round(this.yAxis.getThreshold(b.threshold)),g=[];if(this.rawPointsX)for(var m=
+0;m<this.points.length;m++)g.push({x:this.rawPointsX[m],y:b.stacking?this.points[m].yBottom:l,z:this.zPadding});b=this.chart.options.chart.options3d;g=n(g,this.chart,!0).map(function(a){return{plotX:a.x,plotY:a.y,plotZ:a.z}});this.group&&b&&b.depth&&b.beta&&(this.markerGroup&&(this.markerGroup.add(this.group),this.markerGroup.attr({translateX:0,translateY:0})),this.group.attr({zIndex:Math.max(1,270<b.beta||90>b.beta?b.depth-Math.round(this.zPadding||0):Math.round(this.zPadding||0))}));g.reversed=
+!0;c=c.call(this,g,!0,!0);c[0]&&"M"===c[0][0]&&(c[0]=["L",c[0][1],c[0][2]]);this.areaPath&&(c=this.areaPath.splice(0,this.areaPath.length/2).concat(c),c.xMap=this.areaPath.xMap,this.areaPath=c);return f}var n=a.perspective,G=y.seriesTypes.line.prototype,m=r.wrap,z=[];return{compose:function(a){-1===z.indexOf(a)&&(z.push(a),m(a.prototype,"getGraphPath",A))}}});D(a,"Series/Column3D/Column3DComposition.js",[a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Math3D.js"],
+a["Core/Series/SeriesRegistry.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Utilities.js"]],function(a,y,r,F,n,G,m){function z(a,b){var c=a.series,f={totalStacks:0},g,l=1;c.forEach(function(a){g=A(a.options.stack,b?0:c.length-1-a.index);f[g]?f[g].series.push(a):(f[g]={series:[a],position:l},l++)});f.totalStacks=l+1;return f}function f(a){var b=a.apply(this,[].slice.call(arguments,1));this.chart.is3d&&this.chart.is3d()&&(b.stroke=this.options.edgeColor||b.fill,b["stroke-width"]=A(this.options.edgeWidth,
+1));return b}function k(a,b,c){var f=this.chart.is3d&&this.chart.is3d();f&&(this.options.inactiveOtherPoints=!0);a.call(this,b,c);f&&(this.options.inactiveOtherPoints=!1)}function c(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];return this.series.chart.is3d()?this.graphic&&"g"!==this.graphic.element.nodeName:a.apply(this,b)}var b=a.prototype,l=y.svg,g=F.perspective;y=m.addEvent;var A=m.pick;m=m.wrap;m(b,"translate",function(a){a.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&
+this.translate3dShapes()});m(r.prototype,"justifyDataLabel",function(a){return arguments[2].outside3dPlot?!1:a.apply(this,[].slice.call(arguments,1))});b.translate3dPoints=function(){};b.translate3dShapes=function(){var a=this,b=a.chart,c=a.options,f=c.depth,l=(c.stacking?c.stack||0:a.index)*(f+(c.groupZPadding||1)),k=a.borderWidth%2?.5:0,n;b.inverted&&!a.yAxis.reversed&&(k*=-1);!1!==c.grouping&&(l=0);l+=c.groupZPadding||1;a.data.forEach(function(c){c.outside3dPlot=null;if(null!==c.y){var m=c.shapeArgs,
+h=c.tooltipPos,q;[["x","width"],["y","height"]].forEach(function(b){q=m[b[0]]-k;0>q&&(m[b[1]]+=m[b[0]]+k,m[b[0]]=-k,q=0);q+m[b[1]]>a[b[0]+"Axis"].len&&0!==m[b[1]]&&(m[b[1]]=a[b[0]+"Axis"].len-m[b[0]]);if(0!==m[b[1]]&&(m[b[0]]>=a[b[0]+"Axis"].len||m[b[0]]+m[b[1]]<=k)){for(var e in m)m[e]="y"===e?-9999:0;c.outside3dPlot=!0}});"rect"===c.shapeType&&(c.shapeType="cuboid");m.z=l;m.depth=f;m.insidePlotArea=!0;n={x:m.x+m.width/2,y:m.y,z:l+f/2};b.inverted&&(n.x=m.height,n.y=c.clientX);c.plot3d=g([n],b,!0,
+!1)[0];h=g([{x:h[0],y:h[1],z:l+f/2}],b,!0,!1)[0];c.tooltipPos=[h.x,h.y]}});a.z=l};m(b,"animate",function(a){if(this.chart.is3d()){var b=arguments[1],c=this.yAxis,f=this,g=this.yAxis.reversed;l&&(b?f.data.forEach(function(a){null!==a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,g||(a.shapeArgs.y=a.stackY?a.plotY+c.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(f.data.forEach(function(a){if(null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,
+a.graphic))a.graphic[a.outside3dPlot?"attr":"animate"](a.shapeArgs,f.options.animation)}),this.drawDataLabels()))}else a.apply(this,[].slice.call(arguments,1))});m(b,"plotGroup",function(a,b,c,f,g,l){"dataLabelsGroup"!==b&&"markerGroup"!==b&&this.chart.is3d()&&(this[b]&&delete this[b],l&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(l)),this[b]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[b].survive=!0,"group"===b&&(arguments[3]=
+"visible")));return a.apply(this,Array.prototype.slice.call(arguments,1))});m(b,"setVisible",function(a,b){var c=this;c.chart.is3d()&&c.data.forEach(function(a){a.visible=a.options.visible=b="undefined"===typeof b?!A(c.visible,a.visible):b;c.options.data[c.data.indexOf(a)]=a.options;a.graphic&&a.graphic.attr({visibility:b?"visible":"hidden"})});a.apply(this,Array.prototype.slice.call(arguments,1))});y(a,"afterInit",function(){if(this.chart.is3d()){var a=this.options,b=a.grouping,c=a.stacking,f=this.yAxis.options.reversedStacks,
+g=0;if("undefined"===typeof b||b){b=z(this.chart,c);g=a.stack||0;for(c=0;c<b[g].series.length&&b[g].series[c]!==this;c++);g=10*(b.totalStacks-b[g].position)+(f?c:-c);this.xAxis.reversed||(g=10*b.totalStacks-g)}a.depth=a.depth||25;this.z=this.z||0;a.zIndex=g}});m(b,"pointAttribs",f);m(b,"setState",k);m(b.pointClass.prototype,"hasNewShapeType",c);n.seriesTypes.columnRange&&(y=n.seriesTypes.columnrange.prototype,m(y,"pointAttribs",f),m(y,"setState",k),m(y.pointClass.prototype,"hasNewShapeType",c),y.plotGroup=
+b.plotGroup,y.setVisible=b.setVisible);m(r.prototype,"alignDataLabel",function(a,b,c,f,l){var k=this.chart;f.outside3dPlot=b.outside3dPlot;if(k.is3d()&&this.is("column")){var m=this.options,n=A(f.inside,!!this.options.stacking),q=k.options.chart.options3d,h=b.pointWidth/2||0;m={x:l.x+h,y:l.y,z:this.z+m.depth/2};k.inverted&&(n&&(l.width=0,m.x+=b.shapeArgs.height/2),90<=q.alpha&&270>=q.alpha&&(m.y+=b.shapeArgs.width));m=g([m],k,!0,!1)[0];l.x=m.x-h;l.y=b.outside3dPlot?-9E9:m.y}a.apply(this,[].slice.call(arguments,
+1))});m(G.prototype,"getStackBox",function(a,b){var c=a.apply(this,[].slice.call(arguments,1)),f=this.axis.chart,l=b.width;if(f.is3d()&&this.base){var k=+this.base.split(",")[0],m=f.series[k];k=f.options.chart.options3d;m&&m instanceof n.seriesTypes.column&&(m={x:c.x+(f.inverted?c.height:l/2),y:c.y,z:m.options.depth/2},f.inverted&&(c.width=0,90<=k.alpha&&270>=k.alpha&&(m.y+=l)),m=g([m],f,!0,!1)[0],c.x=m.x-l/2,c.y=m.y)}return c});"";return a});D(a,"Series/Pie3D/Pie3DPoint.js",[a["Core/Series/SeriesRegistry.js"]],
+function(a){var A=this&&this.__extends||function(){var a=function(n,r){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,n){a.__proto__=n}||function(a,n){for(var f in n)n.hasOwnProperty(f)&&(a[f]=n[f])};return a(n,r)};return function(n,r){function m(){this.constructor=n}a(n,r);n.prototype=null===r?Object.create(r):(m.prototype=r.prototype,new m)}}();a=a.seriesTypes.pie.prototype.pointClass;var r=a.prototype.haloPath;return function(a){function n(){var n=null!==a&&a.apply(this,arguments)||
+this;n.series=void 0;return n}A(n,a);n.prototype.haloPath=function(){return this.series.chart.is3d()?[]:r.apply(this,arguments)};return n}(a)});D(a,"Series/Pie3D/Pie3DSeries.js",[a["Core/Globals.js"],a["Series/Pie3D/Pie3DPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,y,r,F){var n=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&
+(a[b]=c[b])};return a(f,c)};return function(f,c){function b(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),A=a.deg2rad,m=a.svg;a=F.extend;var z=F.pick;r=function(a){function f(){return null!==a&&a.apply(this,arguments)||this}n(f,a);f.prototype.addPoint=function(){a.prototype.addPoint.apply(this,arguments);this.chart.is3d()&&this.update(this.userOptions,!0)};f.prototype.animate=function(c){if(this.chart.is3d()){var b=this.options.animation;var f=
+this.center;var g=this.group,k=this.markerGroup;m&&(!0===b&&(b={}),c?(g.oldtranslateX=z(g.oldtranslateX,g.translateX),g.oldtranslateY=z(g.oldtranslateY,g.translateY),f={translateX:f[0],translateY:f[1],scaleX:.001,scaleY:.001},g.attr(f),k&&(k.attrSetters=g.attrSetters,k.attr(f))):(f={translateX:g.oldtranslateX,translateY:g.oldtranslateY,scaleX:1,scaleY:1},g.animate(f,b),k&&k.animate(f,b)))}else a.prototype.animate.apply(this,arguments)};f.prototype.drawDataLabels=function(){if(this.chart.is3d()){var c=
+this.chart.options.chart.options3d;this.data.forEach(function(a){var b=a.shapeArgs,f=b.r,k=(b.start+b.end)/2;a=a.labelPosition;var m=a.connectorPosition,n=-f*(1-Math.cos((b.alpha||c.alpha)*A))*Math.sin(k),r=f*(Math.cos((b.beta||c.beta)*A)-1)*Math.cos(k);[a.natural,m.breakAt,m.touchingSliceAt].forEach(function(a){a.x+=r;a.y+=n})})}a.prototype.drawDataLabels.apply(this,arguments)};f.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments),f=this.options;this.chart.is3d()&&
+!this.chart.styledMode&&(b.stroke=f.edgeColor||c.color||this.color,b["stroke-width"]=z(f.edgeWidth,1));return b};f.prototype.translate=function(){a.prototype.translate.apply(this,arguments);if(this.chart.is3d()){var c=this,b=c.options,f=b.depth||0,g=c.chart.options.chart.options3d,k=g.alpha,m=g.beta,n=b.stacking?(b.stack||0)*f:c._i*f;n+=f/2;!1!==b.grouping&&(n=0);c.data.forEach(function(a){var g=a.shapeArgs;a.shapeType="arc3d";g.z=n;g.depth=.75*f;g.alpha=k;g.beta=m;g.center=c.center;g=(g.end+g.start)/
+2;a.slicedTranslation={translateX:Math.round(Math.cos(g)*b.slicedOffset*Math.cos(k*A)),translateY:Math.round(Math.sin(g)*b.slicedOffset*Math.cos(k*A))}})}};f.prototype.drawTracker=function(){a.prototype.drawTracker.apply(this,arguments);this.chart.is3d()&&this.points.forEach(function(a){a.graphic&&["out","inn","side1","side2"].forEach(function(b){a.graphic&&(a.graphic[b].element.point=a)})})};return f}(r.seriesTypes.pie);a(r.prototype,{pointClass:y});"";return r});D(a,"Series/Pie3D/Pie3DComposition.js",
+[a["Series/Pie3D/Pie3DPoint.js"],a["Series/Pie3D/Pie3DSeries.js"],a["Core/Series/SeriesRegistry.js"]],function(a,y,r){r.seriesTypes.pie.prototype.pointClass.prototype.haloPath=a.prototype.haloPath;r.seriesTypes.pie=y});D(a,"Series/Scatter3D/Scatter3DPoint.js",[a["Series/Scatter/ScatterSeries.js"],a["Core/Utilities.js"]],function(a,y){var r=this&&this.__extends||function(){var a=function(n,m){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var k in f)f.hasOwnProperty(k)&&
+(a[k]=f[k])};return a(n,m)};return function(n,m){function r(){this.constructor=n}a(n,m);n.prototype=null===m?Object.create(m):(r.prototype=m.prototype,new r)}}(),A=y.defined;return function(a){function n(){var m=null!==a&&a.apply(this,arguments)||this;m.options=void 0;m.series=void 0;return m}r(n,a);n.prototype.applyOptions=function(){a.prototype.applyOptions.apply(this,arguments);A(this.z)||(this.z=0);return this};return n}(a.prototype.pointClass)});D(a,"Series/Scatter3D/Scatter3DSeries.js",[a["Core/Math3D.js"],
+a["Series/Scatter3D/Scatter3DPoint.js"],a["Series/Scatter/ScatterSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,y,r,D,n){var A=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(f,c)};return function(f,c){function b(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(b.prototype=c.prototype,
+new b)}}(),m=a.pointCameraDistance;a=n.extend;var z=n.merge;n=function(a){function f(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}A(f,a);f.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&c&&(b.zIndex=m(c,this.chart));return b};f.defaultOptions=z(r.defaultOptions,{tooltip:{pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"}});return f}(r);a(n.prototype,
+{axisTypes:["xAxis","yAxis","zAxis"],directTouch:!0,parallelArrays:["x","y","z"],pointArrayMap:["x","y","z"],pointClass:y});D.registerSeriesType("scatter3d",n);"";return n});D(a,"masters/highcharts-3d.src.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGRenderer3D.js"],a["Core/Chart/Chart3D.js"],a["Core/Axis/ZAxis.js"],a["Core/Axis/Axis3DComposition.js"],a["Series/Area3D/Area3DSeries.js"]],function(a,y,r,D,n,G){y.compose(a.SVGRenderer);r.compose(a.Chart,a.Fx);D.compose(a.Chart);n.compose(a.Axis,
+a.Tick);G.compose(a.seriesTypes.area)})});
 //# sourceMappingURL=highcharts-3d.js.map

+ 208 - 207
nicegui/elements/lib/highcharts-more.js

@@ -1,215 +1,216 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 
  License: www.highcharts.com/license
 */
 (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts"],function(D){d(D);d.Highcharts=D;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function D(b,c,h,a){b.hasOwnProperty(c)||(b[c]=a.apply(null,h),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:c,module:b[c]}})))}d=d?d._modules:{};D(d,
-"Extensions/Pane.js",[d["Core/Chart/Chart.js"],d["Series/CenteredUtilities.js"],d["Core/Globals.js"],d["Core/Pointer.js"],d["Core/Utilities.js"]],function(b,c,h,a,f){function y(g,l,e,a,H){var k=!0,c=e[0],v=e[1],J=Math.sqrt(Math.pow(g-c,2)+Math.pow(l-v,2));n(a)&&n(H)&&(g=Math.atan2(q(l-v,8),q(g-c,8)),H!==a&&(k=a>H?g>=a&&g<=Math.PI||g<=H&&g>=-Math.PI:g>=a&&g<=q(H,8)));return J<=Math.ceil(e[2]/2)&&k}var d=f.addEvent,q=f.correctFloat,n=f.defined,E=f.extend,t=f.merge,p=f.pick,e=f.splat;b.prototype.collectionsWithUpdate.push("pane");
-f=function(){function g(l,g){this.options=this.chart=this.center=this.background=void 0;this.coll="pane";this.defaultOptions={center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0};this.defaultBackgroundOptions={shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"};this.init(l,g)}g.prototype.init=function(l,g){this.chart=g;this.background=
-[];g.pane.push(this);this.setOptions(l)};g.prototype.setOptions=function(l){this.options=t(this.defaultOptions,this.chart.angular?{background:{}}:void 0,l)};g.prototype.render=function(){var l=this.options,g=this.options.background,a=this.chart.renderer;this.group||(this.group=a.g("pane-group").attr({zIndex:l.zIndex||0}).add());this.updateCenter();if(g)for(g=e(g),l=Math.max(g.length,this.background.length||0),a=0;a<l;a++)g[a]&&this.axis?this.renderBackground(t(this.defaultBackgroundOptions,g[a]),
-a):this.background[a]&&(this.background[a]=this.background[a].destroy(),this.background.splice(a,1))};g.prototype.renderBackground=function(g,e){var l="animate",k={"class":"highcharts-pane "+(g.className||"")};this.chart.styledMode||E(k,{fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.borderWidth});this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),l="attr");this.background[e][l]({d:this.axis.getPlotBandPath(g.from,g.to,g)}).attr(k)};g.prototype.updateCenter=
-function(g){this.center=(g||this.axis||{}).center=c.getCenter.call(this)};g.prototype.update=function(g,e){t(!0,this.options,g);this.setOptions(this.options);this.render();this.chart.axes.forEach(function(g){g.pane===this&&(g.pane=null,g.update({},e))},this)};return g}();b.prototype.getHoverPane=function(g){var e=this,k;g&&e.pane.forEach(function(l){y(g.chartX-e.plotLeft,g.chartY-e.plotTop,l.center)&&(k=l)});return k};d(b,"afterIsInsidePlot",function(g){if(this.polar){var e=g.x-(g.options.paneCoordinates?
-this.plotLeft:0),k=g.y-(g.options.paneCoordinates?this.plotTop:0);if(g.options.inverted){var a=[k,e];e=a[0];k=a[1]}g.isInsidePlot=this.pane.some(function(g){return y(e,k,g.center,g.axis&&g.axis.normalizedStartAngleRad,g.axis&&g.axis.normalizedEndAngleRad)})}});d(a,"beforeGetHoverData",function(g){var e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(g),g.filter=function(l){return l.visible&&!(!g.shared&&l.directTouch)&&p(l.options.enableMouseTracking,!0)&&(!e.hoverPane||l.xAxis.pane===e.hoverPane)}):
-e.hoverPane=void 0});d(a,"afterGetHoverData",function(g){var e=this.chart;g.hoverPoint&&g.hoverPoint.plotX&&g.hoverPoint.plotY&&e.hoverPane&&!y(g.hoverPoint.plotX,g.hoverPoint.plotY,e.hoverPane.center)&&(g.hoverPoint=void 0)});h.Pane=f;return h.Pane});D(d,"Series/AreaRange/AreaRangePoint.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c){var h=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=
-c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function f(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(f.prototype=b.prototype,new f)}}();b=b.seriesTypes.area.prototype;var a=b.pointClass.prototype,f=c.defined,d=c.isNumber;return function(c){function b(){var a=null!==c&&c.apply(this,arguments)||this;a.high=void 0;a.low=void 0;a.options=void 0;a.plotX=void 0;a.series=void 0;return a}h(b,c);b.prototype.setState=function(){var c=
-this.state,b=this.series,h=b.chart.polar;f(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,!0));f(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.graphics&&this.graphics[1];this.plotY=this.plotHigh;h&&d(this.plotHighX)&&(this.plotX=this.plotHighX);a.setState.apply(this,arguments);this.state=c;this.plotY=this.plotLow;this.graphic=this.graphics&&
-this.graphics[0];h&&d(this.plotLowX)&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);a.setState.apply(this,arguments)};b.prototype.haloPath=function(){var b=this.series.chart.polar,c=[];this.plotY=this.plotLow;b&&d(this.plotLowX)&&(this.plotX=this.plotLowX);this.isInside&&(c=a.haloPath.apply(this,arguments));this.plotY=this.plotHigh;b&&d(this.plotHighX)&&(this.plotX=this.plotHighX);
-this.isTopInside&&(c=c.concat(a.haloPath.apply(this,arguments)));return c};b.prototype.isValid=function(){return d(this.low)&&d(this.high)};return b}(b.pointClass)});D(d,"Series/AreaRange/AreaRangeSeries.js",[d["Series/AreaRange/AreaRangePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||function(){var g=function(e,l){g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,e){g.__proto__=e}||function(g,
-e){for(var l in e)e.hasOwnProperty(l)&&(g[l]=e[l])};return g(e,l)};return function(e,l){function k(){this.constructor=e}g(e,l);e.prototype=null===l?Object.create(l):(k.prototype=l.prototype,new k)}}();c=c.noop;var d=h.seriesTypes,m=d.area,q=d.area.prototype,n=d.column.prototype;d=a.addEvent;var E=a.defined,t=a.extend,p=a.isArray,e=a.isNumber,g=a.pick,l=a.merge,k={lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},
-trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}};a=function(e){function a(){var g=null!==e&&e.apply(this,arguments)||this;g.data=void 0;g.options=void 0;g.points=void 0;g.lowerStateMarkerGraphic=void 0;g.xAxis=void 0;return g}f(a,e);a.prototype.toYData=function(g){return[g.low,g.high]};a.prototype.highToXY=function(g){var e=this.chart,l=this.xAxis.postTranslate(g.rectPlotX||0,this.yAxis.len-(g.plotHigh||0));g.plotHighX=l.x-e.plotLeft;g.plotHigh=l.y-e.plotTop;
-g.plotLowX=g.plotX};a.prototype.getGraphPath=function(e){var l=[],a=[],k=q.getGraphPath,b=this.options,c=this.chart.polar,w=c&&!1!==b.connectEnds,B=b.connectNulls,z,f=b.step;e=e||this.points;for(z=e.length;z--;){var r=e[z];var p=c?{plotX:r.rectPlotX,plotY:r.yBottom,doCurve:!1}:{plotX:r.plotX,plotY:r.plotY,doCurve:!1};r.isNull||w||B||e[z+1]&&!e[z+1].isNull||a.push(p);var h={polarPlotY:r.polarPlotY,rectPlotX:r.rectPlotX,yBottom:r.yBottom,plotX:g(r.plotHighX,r.plotX),plotY:r.plotHigh,isNull:r.isNull};
-a.push(h);l.push(h);r.isNull||w||B||e[z-1]&&!e[z-1].isNull||a.push(p)}e=k.call(this,e);f&&(!0===f&&(f="left"),b.step={left:"right",center:"center",right:"left"}[f]);l=k.call(this,l);a=k.call(this,a);b.step=f;b=[].concat(e,l);!this.chart.polar&&a[0]&&"M"===a[0][0]&&(a[0]=["L",a[0][1],a[0][2]]);this.graphPath=b;this.areaPath=e.concat(a);b.isArea=!0;b.xMap=e.xMap;this.areaPath.xMap=e.xMap;return b};a.prototype.drawDataLabels=function(){var g=this.points,e=g.length,l=[],a=this.options.dataLabels,k=this.chart.inverted,
-b,w;if(a){if(p(a)){var c=a[0]||{enabled:!1};var z=a[1]||{enabled:!1}}else c=t({},a),c.x=a.xHigh,c.y=a.yHigh,z=t({},a),z.x=a.xLow,z.y=a.yLow;if(c.enabled||this._hasPointLabels){for(b=e;b--;)if(w=g[b]){var f=w.plotHigh;f=void 0===f?0:f;var r=w.plotLow;r=void 0===r?0:r;r=c.inside?f<r:f>r;w.y=w.high;w._plotY=w.plotY;w.plotY=f;l[b]=w.dataLabel;w.dataLabel=w.dataLabelUpper;w.below=r;k?c.align||(c.align=r?"right":"left"):c.verticalAlign||(c.verticalAlign=r?"top":"bottom")}this.options.dataLabels=c;q.drawDataLabels&&
-q.drawDataLabels.apply(this,arguments);for(b=e;b--;)if(w=g[b])w.dataLabelUpper=w.dataLabel,w.dataLabel=l[b],delete w.dataLabels,w.y=w.low,w.plotY=w._plotY}if(z.enabled||this._hasPointLabels){for(b=e;b--;)if(w=g[b])l=w.plotHigh,f=void 0===l?0:l,l=w.plotLow,r=void 0===l?0:l,r=z.inside?f<r:f>r,w.below=!r,k?z.align||(z.align=r?"left":"right"):z.verticalAlign||(z.verticalAlign=r?"bottom":"top");this.options.dataLabels=z;q.drawDataLabels&&q.drawDataLabels.apply(this,arguments)}if(c.enabled)for(b=e;b--;)if(w=
-g[b])w.dataLabels=[w.dataLabelUpper,w.dataLabel].filter(function(g){return!!g});this.options.dataLabels=a}};a.prototype.alignDataLabel=function(){n.alignDataLabel.apply(this,arguments)};a.prototype.drawPoints=function(){var e=this.points.length,l;q.drawPoints.apply(this,arguments);for(l=0;l<e;){var a=this.points[l];a.graphics=a.graphics||[];a.origProps={plotY:a.plotY,plotX:a.plotX,isInside:a.isInside,negative:a.negative,zone:a.zone,y:a.y};a.graphic&&(a.graphics[0]=a.graphic);a.graphic=a.graphics[1];
-a.plotY=a.plotHigh;E(a.plotHighX)&&(a.plotX=a.plotHighX);a.y=g(a.high,a.origProps.y);a.negative=a.y<(this.options.threshold||0);this.zones.length&&(a.zone=a.getZone());this.chart.polar||(a.isInside=a.isTopInside="undefined"!==typeof a.plotY&&0<=a.plotY&&a.plotY<=this.yAxis.len&&0<=a.plotX&&a.plotX<=this.xAxis.len);l++}q.drawPoints.apply(this,arguments);for(l=0;l<e;)a=this.points[l],a.graphics=a.graphics||[],a.graphic&&(a.graphics[1]=a.graphic),a.graphic=a.graphics[0],a.origProps&&(t(a,a.origProps),
-delete a.origProps),l++};a.defaultOptions=l(m.defaultOptions,k);return a}(m);d(a,"afterTranslate",function(){var g=this;"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(function(a){var l=a.high,k=a.plotY;a.isNull?a.plotY=void 0:(a.plotLow=k,a.plotHigh=e(l)?g.yAxis.translate(g.dataModify?g.dataModify.modifyValue(l):l,!1,!0,void 0,!0):void 0,g.dataModify&&(a.yBottom=a.plotHigh))})},{order:0});d(a,"afterTranslate",function(){var g=this;this.chart.polar&&this.points.forEach(function(e){g.highToXY(e);
-e.plotLow=e.plotY;e.tooltipPos=[((e.plotHighX||0)+(e.plotLowX||0))/2,((e.plotHigh||0)+(e.plotLow||0))/2]})},{order:3});t(a.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:b,pointValKey:"low",setStackedPoints:c});h.registerSeriesType("arearange",a);"";return a});D(d,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[d["Series/AreaRange/AreaRangeSeries.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h){var a=this&&this.__extends||function(){var a=
-function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),f=c.seriesTypes.spline.prototype,d=h.merge;h=h.extend;var m=function(c){function f(){var a=null!==c&&c.apply(this,arguments)||this;a.options=void 0;a.data=void 0;a.points=void 0;return a}a(f,
-c);f.defaultOptions=d(b.defaultOptions);return f}(b);h(m.prototype,{getPointSpline:f.getPointSpline});c.registerSeriesType("areasplinerange",m);"";return m});D(d,"Series/BoxPlot/BoxPlotSeries.js",[d["Series/Column/ColumnSeries.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var g in e)e.hasOwnProperty(g)&&
-(a[g]=e[g])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();c=c.noop;var d=a.extend,m=a.merge,q=a.pick;a=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}f(c,a);c.prototype.pointAttribs=function(){return{}};c.prototype.translate=function(){var b=this.yAxis,c=this.pointArrayMap;a.prototype.translate.apply(this);this.points.forEach(function(a){c.forEach(function(g){null!==
-a[g]&&(a[g+"Plot"]=b.translate(a[g],0,1,0,1))});a.plotHigh=a.highPlot})};c.prototype.drawPoints=function(){var a=this,b=a.options,e=a.chart,g=e.renderer,l,c,f,h,d,F,v=0,m,I,L,w,B=!1!==a.doQuartiles,z,G=a.options.whiskerLength;a.points.forEach(function(k){var r=k.graphic,H=r?"animate":"attr",J=k.shapeArgs,M={},p={},y={},u={},C=k.color||a.color;"undefined"!==typeof k.plotY&&(m=Math.round(J.width),I=Math.floor(J.x),L=I+m,w=Math.round(m/2),l=Math.floor(B?k.q1Plot:k.lowPlot),c=Math.floor(B?k.q3Plot:k.lowPlot),
-f=Math.floor(k.highPlot),h=Math.floor(k.lowPlot),r||(k.graphic=r=g.g("point").add(a.group),k.stem=g.path().addClass("highcharts-boxplot-stem").add(r),G&&(k.whiskers=g.path().addClass("highcharts-boxplot-whisker").add(r)),B&&(k.box=g.path(void 0).addClass("highcharts-boxplot-box").add(r)),k.medianShape=g.path(void 0).addClass("highcharts-boxplot-median").add(r)),e.styledMode||(p.stroke=k.stemColor||b.stemColor||C,p["stroke-width"]=q(k.stemWidth,b.stemWidth,b.lineWidth),p.dashstyle=k.stemDashStyle||
-b.stemDashStyle||b.dashStyle,k.stem.attr(p),G&&(y.stroke=k.whiskerColor||b.whiskerColor||C,y["stroke-width"]=q(k.whiskerWidth,b.whiskerWidth,b.lineWidth),y.dashstyle=k.whiskerDashStyle||b.whiskerDashStyle||b.dashStyle,k.whiskers.attr(y)),B&&(M.fill=k.fillColor||b.fillColor||C,M.stroke=b.lineColor||C,M["stroke-width"]=b.lineWidth||0,M.dashstyle=k.boxDashStyle||b.boxDashStyle||b.dashStyle,k.box.attr(M)),u.stroke=k.medianColor||b.medianColor||C,u["stroke-width"]=q(k.medianWidth,b.medianWidth,b.lineWidth),
-u.dashstyle=k.medianDashStyle||b.medianDashStyle||b.dashStyle,k.medianShape.attr(u)),F=k.stem.strokeWidth()%2/2,v=I+w+F,r=[["M",v,c],["L",v,f],["M",v,l],["L",v,h]],k.stem[H]({d:r}),B&&(F=k.box.strokeWidth()%2/2,l=Math.floor(l)+F,c=Math.floor(c)+F,I+=F,L+=F,r=[["M",I,c],["L",I,l],["L",L,l],["L",L,c],["L",I,c],["Z"]],k.box[H]({d:r})),G&&(F=k.whiskers.strokeWidth()%2/2,f+=F,h+=F,z=/%$/.test(G)?w*parseFloat(G)/100:G/2,r=[["M",v-z,f],["L",v+z,f],["M",v-z,h],["L",v+z,h]],k.whiskers[H]({d:r})),d=Math.round(k.medianPlot),
-F=k.medianShape.strokeWidth()%2/2,d+=F,r=[["M",I,d],["L",L,d]],k.medianShape[H]({d:r}))})};c.prototype.toYData=function(a){return[a.low,a.q1,a.median,a.q3,a.high]};c.defaultOptions=m(b.defaultOptions,{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,
-medianWidth:2,whiskerWidth:2});return c}(b);d(a.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:c,setStackedPoints:c});h.registerSeriesType("boxplot",a);"";return a});D(d,"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}});D(d,"Series/Bubble/BubbleLegendItem.js",[d["Core/Color/Color.js"],d["Core/FormatUtilities.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=b.parse,d=h.noop,m=a.arrayMax,q=a.arrayMin,n=a.isNumber,E=a.merge,t=a.pick,p=a.stableSort;b=function(){function a(a,
-e){this.options=this.symbols=this.visible=this.selected=this.ranges=this.movementX=this.maxLabel=this.legend=this.fontMetrics=this.chart=void 0;this.setState=d;this.init(a,e)}a.prototype.init=function(a,e){this.options=a;this.visible=!0;this.chart=e.chart;this.legend=e};a.prototype.addToLegend=function(a){a.splice(this.options.legendIndex,0,this)};a.prototype.drawLegendSymbol=function(a){var g=this.chart,e=t(a.options.itemDistance,20),b=this.legendItem||{},c=this.options,f=c.ranges,h=c.connectorDistance;
-this.fontMetrics=g.renderer.fontMetrics(c.labels.style.fontSize);f&&f.length&&n(f[0].value)?(p(f,function(a,g){return g.value-a.value}),this.ranges=f,this.setOptions(),this.render(),a=this.getMaxLabelSize(),f=this.ranges[0].radius,g=2*f,h=h-f+a.width,h=0<h?h:0,this.maxLabel=a,this.movementX="left"===c.labels.align?h:0,b.labelWidth=g+h+e,b.labelHeight=g+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=!0};a.prototype.setOptions=function(){var a=this.ranges,e=this.options,b=this.chart.series[e.seriesIndex],
-c=this.legend.baseline,h={zIndex:e.zIndex,"stroke-width":e.borderWidth},d={zIndex:e.zIndex,"stroke-width":e.connectorWidth},p={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},v=b.options.marker.fillOpacity,m=this.chart.styledMode;a.forEach(function(g,l){m||(h.stroke=t(g.borderColor,e.borderColor,b.color),h.fill=t(g.color,e.color,1!==v?f(b.color).setOpacity(v).get("rgba"):b.color),d.stroke=t(g.connectorColor,e.connectorColor,b.color));a[l].radius=this.getRangeRadius(g.value);
-a[l]=E(a[l],{center:a[0].radius-a[l].radius+c});m||E(!0,a[l],{bubbleAttribs:E(h),connectorAttribs:E(d),labelAttribs:p})},this)};a.prototype.getRangeRadius=function(a){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,a)};a.prototype.render=function(){var a=this.legendItem||{},e=this.chart.renderer,b=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]});
-a.symbol=e.g("bubble-legend");a.label=e.g("bubble-legend-item");a.symbol.translateX=0;e=a.symbol.translateY=0;for(var c=this.ranges;e<c.length;e++){var f=c[e];f.value>=b&&this.renderRange(f)}a.symbol.add(a.label);a.label.add(a.group);this.hideOverlappingLabels()};a.prototype.renderRange=function(a){var e=this.options,g=e.labels,b=this.chart,c=b.series[e.seriesIndex],f=b.renderer,h=this.symbols;b=h.labels;var d=a.center,p=Math.abs(a.radius),I=e.connectorDistance||0,L=g.align,w=e.connectorWidth,B=this.ranges[0].radius||
-0,z=d-p-e.borderWidth/2+w/2,G=this.fontMetrics;G=G.f/2-(G.h-G.f)/2;var r=f.styledMode;I=this.legend.options.rtl||"left"===L?-I:I;"center"===L&&(I=0,e.connectorDistance=0,a.labelAttribs.align="center");L=z+e.labels.y;var m=B+I+e.labels.x;h.bubbleItems.push(f.circle(B,d+((z%1?1:.5)-(w%2?0:.5)),p).attr(r?{}:a.bubbleAttribs).addClass((r?"highcharts-color-"+c.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(e.className||"")).add(this.legendItem.symbol));h.connectors.push(f.path(f.crispLine([["M",
-B,z],["L",B+I,z]],e.connectorWidth)).attr(r?{}:a.connectorAttribs).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(e.connectorClassName||"")).add(this.legendItem.symbol));a=f.text(this.formatLabel(a),m,L+G).attr(r?{}:a.labelAttribs).css(r?{}:g.style).addClass("highcharts-bubble-legend-labels "+(e.labels.className||"")).add(this.legendItem.symbol);b.push(a);a.placed=!0;a.alignAttr={x:m,y:L+G}};a.prototype.getMaxLabelSize=function(){var a,e;this.symbols.labels.forEach(function(g){e=
-g.getBBox(!0);a=a?e.width>a.width?e:a:e});return a||{}};a.prototype.formatLabel=function(a){var e=this.options,g=e.labels.formatter;e=e.labels.format;var b=this.chart.numberFormatter;return e?c.format(e,a):g?g.call(a):b(a.value,1)};a.prototype.hideOverlappingLabels=function(){var a=this.chart,e=this.symbols;!this.options.labels.allowOverlap&&e&&(a.hideOverlappingLabels(e.labels),e.labels.forEach(function(a,g){a.newOpacity?a.newOpacity!==a.oldOpacity&&e.connectors[g].show():e.connectors[g].hide()}))};
-a.prototype.getRanges=function(){var a=this.legend.bubbleLegend,e=a.options.ranges,b,c=Number.MAX_VALUE,f=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(b=a.zData.filter(n),b.length&&(c=t(a.options.zMin,Math.min(c,Math.max(q(b),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),f=t(a.options.zMax,Math.max(f,m(b)))))});var h=c===f?[{value:f}]:[{value:c},{value:(c+f)/2},{value:f,autoRanges:!0}];e.length&&e[0].radius&&h.reverse();h.forEach(function(a,
-g){e&&e[g]&&(h[g]=E(e[g],a))});return h};a.prototype.predictBubbleSizes=function(){var a=this.chart,e=this.fontMetrics,b=a.legend.options,c=b.floating,f=(b="horizontal"===b.layout)?a.legend.lastLineHeight:0,h=a.plotSizeX,d=a.plotSizeY,v=a.series[this.options.seriesIndex],p=v.getPxExtremes();a=Math.ceil(p.minPxSize);p=Math.ceil(p.maxPxSize);var I=Math.min(d,h);v=v.options.maxSize;if(c||!/%$/.test(v))e=p;else if(v=parseFloat(v),e=(I+f-e.h/2)*v/100/(v/100+1),b&&d-e>=h||!b&&h-e>=d)e=p;return[a,Math.ceil(e)]};
-a.prototype.updateRanges=function(a,e){var b=this.legend.options.bubbleLegend;b.minSize=a;b.maxSize=e;b.ranges=this.getRanges()};a.prototype.correctSizes=function(){var a=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1<Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,e.maxPxSize),a.render())};return a}();"";return b});D(d,"Series/Bubble/BubbleLegendComposition.js",[d["Series/Bubble/BubbleLegendDefaults.js"],d["Series/Bubble/BubbleLegendItem.js"],
-d["Core/Defaults.js"],d["Core/Utilities.js"]],function(b,c,h,a){function f(a,b,g){var c=this.legend,k=0<=d(this),f;if(c&&c.options.enabled&&c.bubbleLegend&&c.options.bubbleLegend.autoRanges&&k){var l=c.bubbleLegend.options;k=c.bubbleLegend.predictBubbleSizes();c.bubbleLegend.updateRanges(k[0],k[1]);l.placed||(c.group.placed=!1,c.allItems.forEach(function(a){f=a.legendItem||{};f.group&&(f.group.translateY=null)}));c.render();this.getMargins();this.axes.forEach(function(a){a.visible&&a.render();l.placed||
-(a.setScale(),a.updateNames(),e(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))});l.placed=!0;this.getMargins();a.call(this,b,g);c.bubbleLegend.correctSizes();E(c,m(c))}else a.call(this,b,g),c&&c.options.enabled&&c.bubbleLegend&&(c.render(),E(c,m(c)))}function d(a){a=a.series;for(var e=0;e<a.length;){if(a[e]&&a[e].isBubble&&a[e].visible&&a[e].zData.length)return e;e++}return-1}function m(a){a=a.allItems;var e=[],b=a.length,g,c=0;for(g=0;g<b;g++){var f=a[g].legendItem||{};var l=(a[g+1]||{}).legendItem||
-{};f.labelHeight&&(a[g].itemHeight=f.labelHeight);if(a[g]===a[b-1]||f.y!==l.y){e.push({height:0});f=e[e.length-1];for(c;c<=g;c++)a[c].itemHeight>f.height&&(f.height=a[c].itemHeight);f.step=g}}return e}function q(a){var e=this.bubbleLegend,b=this.options,g=b.bubbleLegend,f=d(this.chart);e&&e.ranges&&e.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),this.destroyItem(e));0<=f&&b.enabled&&g.enabled&&(g.seriesIndex=f,this.bubbleLegend=new c(g,this),this.bubbleLegend.addToLegend(a.allItems))}
-function n(){var a=this.chart,e=this.visible,b=this.chart.legend;b&&b.bubbleLegend&&(this.visible=!e,this.ignoreSeries=e,a=0<=d(a),b.bubbleLegend.visible!==a&&(b.update({bubbleLegend:{enabled:a}}),b.bubbleLegend.visible=a),this.visible=e)}function E(a,e){var b=a.options.rtl,g,c,f,l,k=0;a.allItems.forEach(function(a,w){l=a.legendItem||{};if(l.group){g=l.group.translateX||0;c=l.y||0;if((f=a.movementX)||b&&a.ranges)f=b?g-a.options.maxSize/2:g+f,l.group.attr({translateX:f});w>e[k].step&&k++;l.group.attr({translateY:Math.round(c+
-e[k].height/2)});l.y=c+e[k].height/2}})}var t=h.setOptions,p=a.addEvent,e=a.objectEach,g=a.wrap,l=[];return{compose:function(a,e,c){-1===l.indexOf(a)&&(l.push(a),t({legend:{bubbleLegend:b}}),g(a.prototype,"drawChartBox",f));-1===l.indexOf(e)&&(l.push(e),p(e,"afterGetAllItems",q));-1===l.indexOf(c)&&(l.push(c),p(c,"legendItemClick",n))}}});D(d,"Series/Bubble/BubblePoint.js",[d["Core/Series/Point.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h){var a=this&&this.__extends||
-function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();h=h.extend;c=function(c){function f(){var a=null!==c&&c.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}a(f,c);f.prototype.haloPath=function(a){return b.prototype.haloPath.call(this,
-0===a?0:(this.marker?this.marker.radius||0:0)+a)};return f}(c.seriesTypes.scatter.prototype.pointClass);h(c.prototype,{ttBelow:!1});return c});D(d,"Series/Bubble/BubbleSeries.js",[d["Series/Bubble/BubbleLegendComposition.js"],d["Series/Bubble/BubblePoint.js"],d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a,f,d){function m(){var a=this,e=this.len,b=this.chart,c=this.isXAxis,g=c?"xData":"yData",f=this.min,l=this.max-f,k=0,h=e,
-d=e/l,p;this.series.forEach(function(e){if(e.bubblePadding&&(e.visible||!b.options.chart.ignoreHiddenSeries)){p=a.allowZoomOutside=!0;var w=e[g];c&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii));if(0<l)for(var B=w.length;B--;)if(J(w[B])&&a.dataMin<=w[B]&&w[B]<=a.max){var z=e.radii&&e.radii[B]||0;k=Math.min((w[B]-f)*d-z,k);h=Math.max((w[B]-f)*d+z,h)}}});p&&0<l&&!this.logarithmic&&(h-=e,d*=(e+Math.max(0,k)-Math.min(h,e))/e,[["min","userMin",k],["max","userMax",h]].forEach(function(e){"undefined"===
-typeof M(a.options[e[0]],a[e[1]])&&(a[e[0]]+=e[2]/d)}))}var y=this&&this.__extends||function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function c(){this.constructor=e}a(e,b);e.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}}(),n=h.parse;h=a.noop;var E=f.series,t=f.seriesTypes;a=t.column.prototype;var p=t.scatter;
-t=d.addEvent;var e=d.arrayMax,g=d.arrayMin,l=d.clamp,k=d.extend,J=d.isNumber,H=d.merge,M=d.pick,F=[];d=function(a){function c(){var e=null!==a&&a.apply(this,arguments)||this;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;return e}y(c,a);c.compose=function(a,e,c,g){b.compose(e,c,g);-1===F.indexOf(a)&&(F.push(a),a.prototype.beforePadding=m)};c.prototype.animate=function(a){!a&&this.points.length<this.options.animationLimit&&
-this.points.forEach(function(a){var e=a.graphic;e&&e.width&&(this.hasRendered||e.attr({x:a.plotX,y:a.plotY,width:1,height:1}),e.animate(this.markerAttribs(a),this.options.animation))},this)};c.prototype.getRadii=function(){var a=this,e=this.zData,b=this.yData,c=[],g=this.chart.bubbleZExtremes;var f=this.getPxExtremes();var l=f.minPxSize,k=f.maxPxSize;if(!g){var h=Number.MAX_VALUE,d=-Number.MAX_VALUE,p;this.chart.series.forEach(function(e){e.bubblePadding&&(e.visible||!a.chart.options.chart.ignoreHiddenSeries)&&
-(e=(e.onPoint||e).getZExtremes())&&(h=Math.min(h||e.zMin,e.zMin),d=Math.max(d||e.zMax,e.zMax),p=!0)});p?(g={zMin:h,zMax:d},this.chart.bubbleZExtremes=g):g={zMin:0,zMax:0}}var m=0;for(f=e.length;m<f;m++){var v=e[m];c.push(this.getRadius(g.zMin,g.zMax,l,k,v,b&&b[m]))}this.radii=c};c.prototype.getRadius=function(a,e,b,c,g,f){var w=this.options,l="width"!==w.sizeBy,k=w.zThreshold,h=e-a,d=.5;if(null===f||null===g)return null;if(J(g)){w.sizeByAbsoluteValue&&(g=Math.abs(g-k),h=Math.max(e-k,Math.abs(a-k)),
-a=0);if(g<a)return b/2-1;0<h&&(d=(g-a)/h)}l&&0<=d&&(d=Math.sqrt(d));return Math.ceil(b+d*(c-b))/2};c.prototype.hasData=function(){return!!this.processedXData.length};c.prototype.pointAttribs=function(a,e){var b=this.options.marker.fillOpacity;a=E.prototype.pointAttribs.call(this,a,e);1!==b&&(a.fill=n(a.fill).setOpacity(b).get("rgba"));return a};c.prototype.translate=function(){a.prototype.translate.call(this);this.getRadii();this.translateBubble()};c.prototype.translateBubble=function(){for(var a=
-this.data,e=this.radii,b=this.getPxExtremes().minPxSize,c=a.length;c--;){var g=a[c],f=e?e[c]:0;J(f)&&f>=b/2?(g.marker=k(g.marker,{radius:f,width:2*f,height:2*f}),g.dlBox={x:g.plotX-f,y:g.plotY-f,width:2*f,height:2*f}):(g.shapeArgs=g.plotY=g.dlBox=void 0,g.isInside=!1)}};c.prototype.getPxExtremes=function(){var a=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=function(e){if("string"===typeof e){var b=/%$/.test(e);e=parseInt(e,10)}return b?a*e/100:e},b=e(M(this.options.minSize,8));e=Math.max(e(M(this.options.maxSize,
-"20%")),b);return{minPxSize:b,maxPxSize:e}};c.prototype.getZExtremes=function(){var a=this.options,b=(this.zData||[]).filter(J);if(b.length){var c=M(a.zMin,l(g(b),!1===a.displayNegative?a.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE));a=M(a.zMax,e(b));if(J(c)&&J(a))return{zMin:c,zMax:a}}};c.defaultOptions=H(p.defaultOptions,{dataLabels:{formatter:function(){var a=this.series.chart.numberFormatter,e=this.point.z;return J(e)?a(e,-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"});return c}(p);k(d.prototype,{alignDataLabel:a.alignDataLabel,applyZones:h,bubblePadding:!0,buildKDTree:h,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:c,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],
-specialGroup:"group",zoneAxis:"z"});t(d,"updatedData",function(a){delete a.target.chart.bubbleZExtremes});t(d,"remove",function(a){delete a.target.chart.bubbleZExtremes});f.registerSeriesType("bubble",d);"";"";return d});D(d,"Series/ColumnRange/ColumnRangePoint.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&
-(a[c]=b[c])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),a=b.seriesTypes;b=a.column.prototype.pointClass.prototype;var f=c.extend,d=c.isNumber;c=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}h(b,a);b.prototype.isValid=function(){return d(this.low)};return b}(a.arearange.prototype.pointClass);f(c.prototype,{setState:b.setState});
-return c});D(d,"Series/ColumnRange/ColumnRangeSeries.js",[d["Series/ColumnRange/ColumnRangePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,d,a){var f=this&&this.__extends||function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function c(){this.constructor=e}a(e,b);e.prototype=null===
-b?Object.create(b):(c.prototype=b.prototype,new c)}}();c=c.noop;var h=d.seriesTypes,m=h.arearange,q=h.column,n=h.column.prototype,E=a.clamp;h=a.extend;var t=a.isNumber,p=a.merge,e=a.pick,g={pointRange:null,marker:null,states:{hover:{halo:!1}}};a=function(a){function b(){return null!==a&&a.apply(this,arguments)||this}f(b,a);b.prototype.setOptions=function(){p(!0,arguments[0],{stacking:void 0});return m.prototype.setOptions.apply(this,arguments)};b.prototype.translate=function(){var a=this,b=this.yAxis,
-c=this.xAxis,g=c.startAngleRad,f=this.chart,l=this.xAxis.isRadial,d=Math.max(f.chartWidth,f.chartHeight)+999,h,w,k,p;n.translate.apply(this);this.points.forEach(function(B){var r=B.shapeArgs||{},z=a.options.minPointLength,m=B.plotY,G=b.translate(B.high,0,1,0,1);t(G)&&t(m)&&(B.plotHigh=E(G,-d,d),B.plotLow=E(m,-d,d),p=B.plotHigh,h=e(B.rectPlotY,B.plotY)-B.plotHigh,Math.abs(h)<z?(w=z-h,h+=w,p-=w/2):0>h&&(h*=-1,p-=h),l&&a.polar?(k=B.barX+g,B.shapeType="arc",B.shapeArgs=a.polar.arc(p+h,p,k,k+B.pointWidth)):
-(r.height=h,r.y=p,z=r.x,z=void 0===z?0:z,r=r.width,r=void 0===r?0:r,B.tooltipPos=f.inverted?[b.len+b.pos-f.plotLeft-p-h/2,c.len+c.pos-f.plotTop-z-r/2,h]:[c.left-f.plotLeft+z+r/2,b.pos-f.plotTop+p+h/2,h]))})};b.prototype.pointAttribs=function(){return n.pointAttribs.apply(this,arguments)};b.prototype.translate3dPoints=function(){return n.translate3dPoints.apply(this,arguments)};b.prototype.translate3dShapes=function(){return n.translate3dShapes.apply(this,arguments)};b.defaultOptions=p(q.defaultOptions,
-m.defaultOptions,g);return b}(m);h(a.prototype,{directTouch:!0,pointClass:b,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:n.adjustForMissingColumns,animate:n.animate,crispCol:n.crispCol,drawGraph:c,drawPoints:n.drawPoints,getSymbol:c,drawTracker:n.drawTracker,getColumnMetrics:n.getColumnMetrics});d.registerSeriesType("columnrange",a);"";return a});D(d,"Series/ColumnPyramid/ColumnPyramidSeries.js",[d["Series/Column/ColumnSeries.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],
-function(b,c,h){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),f=b.prototype,d=h.clamp,m=h.merge,q=h.pick;h=function(c){function h(){var a=null!==c&&c.apply(this,arguments)||this;a.data=void 0;
-a.options=void 0;a.points=void 0;return a}a(h,c);h.prototype.translate=function(){var a=this,b=a.chart,e=a.options,c=a.dense=2>a.closestPointRange*a.xAxis.transA;c=a.borderWidth=q(e.borderWidth,c?0:1);var l=a.yAxis,h=e.threshold,m=a.translatedThreshold=l.getThreshold(h),y=q(e.minPointLength,5),n=a.getColumnMetrics(),F=n.width,v=a.barW=Math.max(F,1+2*c),E=a.pointXOffset=n.offset;b.inverted&&(m-=.5);e.pointPadding&&(v=Math.ceil(v));f.translate.apply(a);a.points.forEach(function(c){var g=q(c.yBottom,
-m),f=999+Math.abs(g),k=d(c.plotY,-f,l.len+f);f=c.plotX+E;var z=v/2,p=Math.min(k,g);g=Math.max(k,g)-p;var r;c.barX=f;c.pointWidth=F;c.tooltipPos=b.inverted?[l.len+l.pos-b.plotLeft-k,a.xAxis.len-f-z,g]:[f+z,k+l.pos-b.plotTop,g];k=h+(c.total||c.y);"percent"===e.stacking&&(k=h+(0>c.y)?-100:100);k=l.toPixels(k,!0);var K=(r=b.plotHeight-k-(b.plotHeight-m))?z*(p-k)/r:0;var n=r?z*(p+g-k)/r:0;r=f-K+z;K=f+K+z;var H=f+n+z;n=f-n+z;var A=p-y;var t=p+g;0>c.y&&(A=p,t=p+g+y);b.inverted&&(H=l.width-p,r=k-(l.width-
-m),K=z*(k-H)/r,n=z*(k-(H-g))/r,r=f+z+K,K=r-2*K,H=f-n+z,n=f+n+z,A=p,t=p+g-y,0>c.y&&(t=p+g+y));c.shapeType="path";c.shapeArgs={x:r,y:A,width:K-r,height:g,d:[["M",r,A],["L",K,A],["L",H,t],["L",n,t],["Z"]]}})};h.defaultOptions=m(b.defaultOptions,{});return h}(b);c.registerSeriesType("columnpyramid",h);"";return h});D(d,"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){"";return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},
-whiskerWidth:null}});D(d,"Series/ErrorBar/ErrorBarSeries.js",[d["Series/BoxPlot/BoxPlotSeries.js"],d["Series/Column/ColumnSeries.js"],d["Series/ErrorBar/ErrorBarSeriesDefaults.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a,f){var d=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(b,e)};return function(b,
-e){function c(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),m=a.seriesTypes.arearange,q=f.addEvent,n=f.merge;f=f.extend;var E=function(a){function f(){var e=null!==a&&a.apply(this,arguments)||this;e.data=void 0;e.options=void 0;e.points=void 0;return e}d(f,a);f.prototype.getColumnMetrics=function(){return this.linkedParent&&this.linkedParent.columnMetrics||c.prototype.getColumnMetrics.call(this)};f.prototype.drawDataLabels=function(){var a=this.pointValKey;
-m&&(m.prototype.drawDataLabels.call(this),this.data.forEach(function(e){e.y=e[a]}))};f.prototype.toYData=function(a){return[a.low,a.high]};f.defaultOptions=n(b.defaultOptions,h);return f}(b);q(E,"afterTranslate",function(){this.points.forEach(function(a){a.plotLow=a.plotY})},{order:0});f(E.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1});a.registerSeriesType("errorbar",E);return E});D(d,"Series/Gauge/GaugePoint.js",[d["Core/Series/SeriesRegistry.js"]],function(b){var c=
-this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return b(a,c)};return function(a,c){function f(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();return function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;a.shapeArgs=void 0;return a}c(a,b);a.prototype.setState=
-function(a){this.state=a};return a}(b.series.prototype.pointClass)});D(d,"Series/Gauge/GaugeSeries.js",[d["Series/Gauge/GaugePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function c(){this.constructor=
-e}a(e,b);e.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}}();c=c.noop;var d=h.series,m=h.seriesTypes.column,q=a.clamp,n=a.isNumber,E=a.extend,t=a.merge,p=a.pick,e=a.pInt;a=function(a){function b(){var e=null!==a&&a.apply(this,arguments)||this;e.data=void 0;e.points=void 0;e.options=void 0;e.yAxis=void 0;return e}f(b,a);b.prototype.translate=function(){var a=this.yAxis,b=this.options,c=a.center;this.generatePoints();this.points.forEach(function(g){var f=t(b.dial,g.dial),h=e(f.radius)*
-c[2]/200,d=e(f.baseLength)*h/100,l=e(f.rearLength)*h/100,k=f.baseWidth,w=f.topWidth,B=b.overshoot,z=a.startAngleRad+a.translate(g.y,void 0,void 0,void 0,!0);if(n(B)||!1===b.wrap)B=n(B)?B/180*Math.PI:0,z=q(z,a.startAngleRad-B,a.endAngleRad+B);z=180*z/Math.PI;g.shapeType="path";g.shapeArgs={d:f.path||[["M",-l,-k/2],["L",d,-k/2],["L",h,-w/2],["L",h,w/2],["L",d,k/2],["L",-l,k/2],["Z"]],translateX:c[0],translateY:c[1],rotation:z};g.plotX=c[0];g.plotY=c[1]})};b.prototype.drawPoints=function(){var a=this,
-e=a.chart,b=a.yAxis.center,c=a.pivot,g=a.options,f=g.pivot,h=e.renderer;a.points.forEach(function(b){var c=b.graphic,f=b.shapeArgs,d=f.d,l=t(g.dial,b.dial);c?(c.animate(f),f.d=d):b.graphic=h[b.shapeType](f).attr({rotation:f.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group);if(!e.styledMode)b.graphic[c?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})});c?c.animate({translateX:b[0],translateY:b[1]}):f&&(a.pivot=h.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(b[0],
-b[1]).add(a.group),e.styledMode||a.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))};b.prototype.animate=function(a){var e=this;a||e.points.forEach(function(a){var b=a.graphic;b&&(b.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),b.animate({rotation:a.shapeArgs.rotation},e.options.animation))})};b.prototype.render=function(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup);d.prototype.render.call(this);
-this.group.clip(this.chart.clipRect)};b.prototype.setData=function(a,e){d.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();p(e,!0)&&this.chart.redraw()};b.prototype.hasData=function(){return!!this.points.length};b.defaultOptions=t(d.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",
-rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1});return b}(d);E(a.prototype,{angular:!0,directTouch:!0,drawGraph:c,drawTracker:m.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:b,trackerGroups:["group","dataLabelsGroup"]});h.registerSeriesType("gauge",a);"";return a});D(d,"Series/DragNodesComposition.js",[d["Core/Utilities.js"]],function(b){function c(){var a=this,b,c,
-d;a.container&&(b=h(a.container,"mousedown",function(b){var f=a.hoverPoint;f&&f.series&&f.series.hasDraggableNodes&&f.series.options.draggable&&(f.series.onMouseDown(f,b),c=h(a.container,"mousemove",function(a){return f&&f.series&&f.series.onMouseMove(f,a)}),d=h(a.container.ownerDocument,"mouseup",function(a){c();d();return f&&f.series&&f.series.onMouseUp(f,a)}))}));h(a,"destroy",function(){b()})}var h=b.addEvent,a=[];return{compose:function(b){-1===a.indexOf(b)&&(a.push(b),h(b,"load",c))},onMouseDown:function(a,
-b){b=this.chart.pointer.normalize(b);a.fixedPosition={chartX:b.chartX,chartY:b.chartY,plotX:a.plotX,plotY:a.plotY};a.inDragMode=!0},onMouseMove:function(a,b){if(a.fixedPosition&&a.inDragMode){var c=this.chart,f=c.pointer.normalize(b);b=a.fixedPosition.chartX-f.chartX;f=a.fixedPosition.chartY-f.chartY;var h=c.graphLayoutsLookup,d=void 0,y=void 0;if(5<Math.abs(b)||5<Math.abs(f))d=a.fixedPosition.plotX-b,y=a.fixedPosition.plotY-f,c.isInsidePlot(d,y)&&(a.plotX=d,a.plotY=y,a.hasDragged=!0,this.redrawHalo(a),
-h.forEach(function(a){a.restartSimulation()}))}},onMouseUp:function(a,b){a.fixedPosition&&(a.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),a.inDragMode=a.hasDragged=!1,this.options.fixedDraggable||delete a.fixedPosition)},redrawHalo:function(a){a&&this.halo&&this.halo.attr({d:a.haloPath(this.options.states.hover.halo.size)})}}});D(d,"Series/GraphLayoutComposition.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Utilities.js"]],function(b,c){function d(){this.graphLayoutsLookup&&
-(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation()}),this.redraw())}function a(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation(!1)}),this.redraw())}function f(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.stop()})}function y(){var a=!1,b=function(e){e.maxIterations--&&isFinite(e.temperature)&&!e.isStable()&&!e.enableSimulation&&(e.beforeStep&&e.beforeStep(),e.step(),c=!1,a=!0)};if(this.graphLayoutsLookup){m(!1,this);
-for(this.graphLayoutsLookup.forEach(function(a){return a.start()});!c;){var c=!0;this.graphLayoutsLookup.forEach(b)}a&&this.series.forEach(function(a){a&&a.layout&&a.render()})}}var m=b.setAnimation,q=c.addEvent,n=[];return{compose:function(b){n.indexOf(b)&&(n.push(b),q(b,"afterPrint",d),q(b,"beforePrint",a),q(b,"predraw",f),q(b,"render",y))},integrations:{},layouts:{}}});D(d,"Series/PackedBubble/PackedBubblePoint.js",[d["Core/Chart/Chart.js"],d["Core/Series/Point.js"],d["Core/Series/SeriesRegistry.js"]],
-function(b,c,d){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();return function(f){function d(){var a=null!==f&&f.apply(this,arguments)||this;a.degree=NaN;a.mass=NaN;a.radius=NaN;a.options=void 0;
-a.series=void 0;a.value=null;return a}a(d,f);d.prototype.destroy=function(){this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes);return c.prototype.destroy.apply(this,arguments)};d.prototype.firePointEvent=function(){var a=this.series.options;if(this.isParentNode&&a.parentNode){var b=a.allowPointSelect;a.allowPointSelect=a.parentNode.allowPointSelect;c.prototype.firePointEvent.apply(this,arguments);a.allowPointSelect=b}else c.prototype.firePointEvent.apply(this,
-arguments)};d.prototype.select=function(){var a=this.series.chart;this.isParentNode?(a.getSelectedPoints=a.getSelectedParentNodes,c.prototype.select.apply(this,arguments),a.getSelectedPoints=b.prototype.getSelectedPoints):c.prototype.select.apply(this,arguments)};return d}(d.seriesTypes.bubble.prototype.pointClass)});D(d,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[d["Core/Utilities.js"]],function(b){var c=b.isNumber;"";return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,
-tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){var b=this.series.chart.numberFormatter,a=this.point.value;return c(a)?b(a,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,
-gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1E3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}});D(d,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(b,c,d){var a=b.getMass(),f=-d.x*c*this.diffTemperature;c=-d.y*c*this.diffTemperature;b.fromNode.fixedPosition||
-(b.fromNode.plotX-=f*a.fromNode/b.fromNode.degree,b.fromNode.plotY-=c*a.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.plotX+=f*a.toNode/b.toNode.degree,b.toNode.plotY+=c*a.toNode/b.toNode.degree)},attractiveForceFunction:function(b,c){return(c-b)/b},barycenter:function(){var b=this.options.gravitationalConstant,c=this.barycenter.xFactor,d=this.barycenter.yFactor;c=(c-(this.box.left+this.box.width)/2)*b;d=(d-(this.box.top+this.box.height)/2)*b;this.nodes.forEach(function(a){a.fixedPosition||
-(a.plotX-=c/a.mass/a.degree,a.plotY-=d/a.mass/a.degree)})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.5)},integrate:function(b,c){var d=-b.options.friction,a=b.options.maxSpeed,f=(c.plotX+c.dispX-c.prevX)*d;d*=c.plotY+c.dispY-c.prevY;var y=Math.abs,m=y(f)/(f||1);y=y(d)/(d||1);f=m*Math.min(a,Math.abs(f));d=y*Math.min(a,Math.abs(d));c.prevX=c.plotX+c.dispX;c.prevY=c.plotY+c.dispY;c.plotX+=f;c.plotY+=d;c.temperature=b.vectorLength({x:f,y:d})},repulsive:function(b,c,d){c=
-c*this.diffTemperature/b.mass/b.degree;b.fixedPosition||(b.plotX+=d.x*c,b.plotY+=d.y*c)},repulsiveForceFunction:function(b,c){return(c-b)/b*(c>b?1:0)}}});D(d,"Series/PackedBubble/PackedBubbleIntegration.js",[d["Core/Globals.js"],d["Series/Networkgraph/VerletIntegration.js"]],function(b,c){return{barycenter:function(){for(var b=this.options.gravitationalConstant,a=this.box,c=this.nodes,d,m,q=0;q<c.length;q++){var n=c[q];this.options.splitSeries&&!n.isParentNode?(d=n.series.parentNode.plotX,m=n.series.parentNode.plotY):
-(d=a.width/2,m=a.height/2);n.fixedPosition||(n.plotX-=(n.plotX-d)*b/(n.mass*Math.sqrt(c.length)),n.plotY-=(n.plotY-m)*b/(n.mass*Math.sqrt(c.length)))}},getK:b.noop,integrate:c.integrate,repulsive:function(b,a,c,d){var f=a*this.diffTemperature/b.mass/b.degree;a=c.x*f;c=c.y*f;b.fixedPosition||(b.plotX+=a,b.plotY+=c);d.fixedPosition||(d.plotX-=a,d.plotY-=c)},repulsiveForceFunction:function(b,a,c,d){return Math.min(b,(c.marker.radius+d.marker.radius)/2)}}});D(d,"Series/Networkgraph/EulerIntegration.js",
-[],function(){return{attractive:function(b,c,d,a){var f=b.getMass(),h=d.x/a*c;c*=d.y/a;b.fromNode.fixedPosition||(b.fromNode.dispX-=h*f.fromNode/b.fromNode.degree,b.fromNode.dispY-=c*f.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.dispX+=h*f.toNode/b.toNode.degree,b.toNode.dispY+=c*f.toNode/b.toNode.degree)},attractiveForceFunction:function(b,c){return b*b/c},barycenter:function(){var b=this.options.gravitationalConstant,c=this.barycenter.xFactor,d=this.barycenter.yFactor;this.nodes.forEach(function(a){if(!a.fixedPosition){var f=
-a.getDegree();f*=1+f/2;a.dispX+=(c-a.plotX)*b*f/a.degree;a.dispY+=(d-a.plotY)*b*f/a.degree}})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.3)},integrate:function(b,c){c.dispX+=c.dispX*b.options.friction;c.dispY+=c.dispY*b.options.friction;var d=c.temperature=b.vectorLength({x:c.dispX,y:c.dispY});0!==d&&(c.plotX+=c.dispX/d*Math.min(Math.abs(c.dispX),b.temperature),c.plotY+=c.dispY/d*Math.min(Math.abs(c.dispY),b.temperature))},repulsive:function(b,c,d,a){b.dispX+=d.x/a*
-c/b.degree;b.dispY+=d.y/a*c/b.degree},repulsiveForceFunction:function(b,c){return c*c/b}}});D(d,"Series/Networkgraph/QuadTreeNode.js",[],function(){return function(){function b(b){this.isInternal=this.isEmpty=this.body=!1;this.nodes=[];this.box=b;this.boxSize=Math.min(b.width,b.height)}b.prototype.divideBox=function(){var c=this.box.width/2,d=this.box.height/2;this.nodes[0]=new b({left:this.box.left,top:this.box.top,width:c,height:d});this.nodes[1]=new b({left:this.box.left+c,top:this.box.top,width:c,
-height:d});this.nodes[2]=new b({left:this.box.left+c,top:this.box.top+d,width:c,height:d});this.nodes[3]=new b({left:this.box.left,top:this.box.top+d,width:c,height:d})};b.prototype.getBoxPosition=function(b){var c=b.plotY<this.box.top+this.box.height/2;return b.plotX<this.box.left+this.box.width/2?c?0:3:c?1:2};b.prototype.insert=function(c,d){this.isInternal?this.nodes[this.getBoxPosition(c)].insert(c,d-1):(this.isEmpty=!1,this.body?d?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,
-d-1),this.body=!0),this.nodes[this.getBoxPosition(c)].insert(c,d-1)):(d=new b({top:c.plotX||NaN,left:c.plotY||NaN,width:.1,height:.1}),d.body=c,d.isInternal=!1,this.nodes.push(d)):(this.isInternal=!1,this.body=c))};b.prototype.updateMassAndCenter=function(){var b=0,d=0,a=0;if(this.isInternal){for(var f=0,y=this.nodes;f<y.length;f++){var m=y[f];m.isEmpty||(b+=m.mass,d+=m.plotX*m.mass,a+=m.plotY*m.mass)}d/=b;a/=b}else this.body&&(b=this.body.mass,d=this.body.plotX,a=this.body.plotY);this.mass=b;this.plotX=
-d;this.plotY=a};return b}()});D(d,"Series/Networkgraph/QuadTree.js",[d["Series/Networkgraph/QuadTreeNode.js"]],function(b){return function(){function c(c,a,d,y){this.box={left:c,top:a,width:d,height:y};this.maxDepth=25;this.root=new b(this.box);this.root.isInternal=!0;this.root.isRoot=!0;this.root.divideBox()}c.prototype.calculateMassAndCenter=function(){this.visitNodeRecursive(null,null,function(b){b.updateMassAndCenter()})};c.prototype.insertNodes=function(b){for(var a=0;a<b.length;a++)this.root.insert(b[a],
-this.maxDepth)};c.prototype.visitNodeRecursive=function(b,a,c){var d;b||(b=this.root);b===this.root&&a&&(d=a(b));if(!1!==d){for(var f=0,h=b.nodes;f<h.length;f++){var n=h[f];if(n.isInternal){a&&(d=a(n));if(!1===d)continue;this.visitNodeRecursive(n,a,c)}else n.body&&a&&a(n.body);c&&c(n)}b===this.root&&c&&c(b)}};return c}()});D(d,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[d["Series/Networkgraph/EulerIntegration.js"],d["Core/Globals.js"],d["Series/GraphLayoutComposition.js"],d["Series/Networkgraph/QuadTree.js"],
-d["Core/Utilities.js"],d["Series/Networkgraph/VerletIntegration.js"]],function(b,c,d,a,f,y){var h=c.win,q=f.clamp,n=f.defined,E=f.isFunction,t=f.pick;return function(){function c(){this.attractiveForce=void 0;this.box={};this.currentStep=0;this.initialRendering=!0;this.integration=void 0;this.links=[];this.nodes=[];this.repulsiveForce=this.quadTree=this.options=void 0;this.series=[];this.simulation=!1}c.compose=function(a){d.compose(a);d.integrations.euler=b;d.integrations.verlet=y;d.layouts["reingold-fruchterman"]=
-c};c.prototype.init=function(a){this.options=a;this.nodes=[];this.links=[];this.series=[];this.box={x:0,y:0,width:0,height:0};this.setInitialRendering(!0);this.integration=d.integrations[a.integration];this.enableSimulation=a.enableSimulation;this.attractiveForce=t(a.attractiveForce,this.integration.attractiveForceFunction);this.repulsiveForce=t(a.repulsiveForce,this.integration.repulsiveForceFunction);this.approximation=a.approximation};c.prototype.updateSimulation=function(a){this.enableSimulation=
-t(a,this.options.enableSimulation)};c.prototype.start=function(){var a=this.series,b=this.options;this.currentStep=0;this.forces=a[0]&&a[0].forces||[];this.chart=a[0]&&a[0].chart;this.initialRendering&&(this.initPositions(),a.forEach(function(a){a.finishedAnimating=!0;a.render()}));this.setK();this.resetSimulation(b);this.enableSimulation&&this.step()};c.prototype.step=function(){var a=this,b=this.series;this.currentStep++;"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter());
-for(var c=0,d=this.forces||[];c<d.length;c++)this[d[c]+"Forces"](this.temperature);this.applyLimits();this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep);this.prevSystemTemperature=this.systemTemperature;this.systemTemperature=this.getSystemTemperature();if(this.enableSimulation){for(c=0;c<b.length;c++)d=b[c],d.chart&&d.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&h.cancelAnimationFrame(this.simulation),this.simulation=
-h.requestAnimationFrame(function(){return a.step()})):this.simulation=!1}};c.prototype.stop=function(){this.simulation&&h.cancelAnimationFrame(this.simulation)};c.prototype.setArea=function(a,b,c,d){this.box={left:a,top:b,width:c,height:d}};c.prototype.setK=function(){this.k=this.options.linkLength||this.integration.getK(this)};c.prototype.addElementsToCollection=function(a,b){for(var e=0;e<a.length;e++){var c=a[e];-1===b.indexOf(c)&&b.push(c)}};c.prototype.removeElementFromCollection=function(a,
-b){a=b.indexOf(a);-1!==a&&b.splice(a,1)};c.prototype.clear=function(){this.nodes.length=0;this.links.length=0;this.series.length=0;this.resetSimulation()};c.prototype.resetSimulation=function(){this.forcedStop=!1;this.systemTemperature=0;this.setMaxIterations();this.setTemperature();this.setDiffTemperature()};c.prototype.restartSimulation=function(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),
-this.setInitialRendering(!0))};c.prototype.setMaxIterations=function(a){this.maxIterations=t(a,this.options.maxIterations)};c.prototype.setTemperature=function(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)};c.prototype.setDiffTemperature=function(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)};c.prototype.setInitialRendering=function(a){this.initialRendering=a};c.prototype.createQuadTree=function(){this.quadTree=new a(this.box.left,this.box.top,
-this.box.width,this.box.height);this.quadTree.insertNodes(this.nodes)};c.prototype.initPositions=function(){var a=this.options.initialPositions;if(E(a)){a.call(this);a=0;for(var b=this.nodes;a<b.length;a++){var c=b[a];n(c.prevX)||(c.prevX=c.plotX);n(c.prevY)||(c.prevY=c.plotY);c.dispX=0;c.dispY=0}}else"circle"===a?this.setCircularPositions():this.setRandomPositions()};c.prototype.setCircularPositions=function(){for(var a=this.box,b=this.nodes,c=2*Math.PI/(b.length+1),d=b.filter(function(a){return 0===
-a.linksTo.length}),f={},h=this.options.initialPositionRadius,p=function(a){var b=0;for(a=a.linksFrom||[];b<a.length;b++){var c=a[b];f[c.toNode.id]||(f[c.toNode.id]=!0,n.push(c.toNode),p(c.toNode))}},n=[],v=0;v<d.length;v++){var m=d[v];n.push(m);p(m)}if(n.length)for(d=0;d<b.length;d++)v=b[d],-1===n.indexOf(v)&&n.push(v);else n=b;d=0;for(v=n.length;d<v;++d)b=n[d],b.plotX=b.prevX=t(b.plotX,a.width/2+h*Math.cos(d*c)),b.plotY=b.prevY=t(b.plotY,a.height/2+h*Math.sin(d*c)),b.dispX=0,b.dispY=0};c.prototype.setRandomPositions=
-function(){for(var a=this.box,b=this.nodes,c=b.length+1,d=function(a){a=a*a/Math.PI;return a-=Math.floor(a)},f,h=0,p=b.length;h<p;++h)f=b[h],f.plotX=f.prevX=t(f.plotX,a.width*d(h)),f.plotY=f.prevY=t(f.plotY,a.height*d(c+h)),f.dispX=0,f.dispY=0};c.prototype.force=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];this.integration[a].apply(this,b)};c.prototype.barycenterForces=function(){this.getBarycenter();this.force("barycenter")};c.prototype.getBarycenter=function(){for(var a=
-0,b=0,c=0,d=0,f=this.nodes;d<f.length;d++){var h=f[d];b+=h.plotX*h.mass;c+=h.plotY*h.mass;a+=h.mass}return this.barycenter={x:b,y:c,xFactor:b/a,yFactor:c/a}};c.prototype.barnesHutApproximation=function(a,b){var c=this.getDistXY(a,b),e=this.vectorLength(c);if(a!==b&&0!==e)if(b.isInternal)if(b.boxSize/e<this.options.theta&&0!==e){var d=this.repulsiveForce(e,this.k);this.force("repulsive",a,d*b.mass,c,e);var g=!1}else g=!0;else d=this.repulsiveForce(e,this.k),this.force("repulsive",a,d*b.mass,c,e);return g};
-c.prototype.repulsiveForces=function(){var a=this;if("barnes-hut"===this.approximation)for(var b=function(b){c.quadTree.visitNodeRecursive(null,function(c){return a.barnesHutApproximation(b,c)})},c=this,d=0,f=this.nodes;d<f.length;d++){var h=f[d];b(h)}else{f=d=b=void 0;for(var p=0,n=this.nodes;p<n.length;p++){h=n[p];for(var v=0,m=this.nodes;v<m.length;v++){var q=m[v];h===q||h.fixedPosition||(f=this.getDistXY(h,q),d=this.vectorLength(f),0!==d&&(b=this.repulsiveForce(d,this.k),this.force("repulsive",
-h,b*q.mass,f,d)))}}}};c.prototype.attractiveForces=function(){for(var a,b,c,d=0,f=this.links;d<f.length;d++){var h=f[d];h.fromNode&&h.toNode&&(a=this.getDistXY(h.fromNode,h.toNode),b=this.vectorLength(a),0!==b&&(c=this.attractiveForce(b,this.k),this.force("attractive",h,c,a,b)))}};c.prototype.applyLimits=function(){for(var a=0,b=this.nodes;a<b.length;a++){var c=b[a];if(c.fixedPosition)break;this.integration.integrate(this,c);this.applyLimitBox(c,this.box);c.dispX=0;c.dispY=0}};c.prototype.applyLimitBox=
-function(a,b){var c=a.radius;a.plotX=q(a.plotX,b.left+c,b.width-c);a.plotY=q(a.plotY,b.top+c,b.height-c)};c.prototype.coolDown=function(a,b,c){return a-b*c};c.prototype.isStable=function(){return.00001>Math.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature};c.prototype.getSystemTemperature=function(){for(var a=0,b=0,c=this.nodes;b<c.length;b++)a+=c[b].temperature;return a};c.prototype.vectorLength=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};c.prototype.getDistR=function(a,
-b){a=this.getDistXY(a,b);return this.vectorLength(a)};c.prototype.getDistXY=function(a,b){var c=a.plotX-b.plotX;a=a.plotY-b.plotY;return{x:c,y:a,absX:Math.abs(c),absY:Math.abs(a)}};return c}()});D(d,"Series/PackedBubble/PackedBubbleLayout.js",[d["Series/GraphLayoutComposition.js"],d["Series/PackedBubble/PackedBubbleIntegration.js"],d["Series/Networkgraph/ReingoldFruchtermanLayout.js"],d["Core/Utilities.js"]],function(b,c,d,a){function f(){var a=[];this.series.forEach(function(b){b.parentNode&&b.parentNode.selected&&
-a.push(b.parentNode)});return a}function h(){this.allDataPoints&&delete this.allDataPoints}var m=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),q=a.addEvent,n=a.pick,E=[];a=function(a){function p(){var b=
-null!==a&&a.apply(this,arguments)||this;b.index=NaN;b.nodes=[];b.options=void 0;b.series=[];return b}m(p,a);p.compose=function(a){d.compose(a);b.integrations.packedbubble=c;b.layouts.packedbubble=p;-1===E.indexOf(a)&&(E.push(a),q(a,"beforeRedraw",h),a.prototype.getSelectedParentNodes=f)};p.prototype.beforeStep=function(){this.options.marker&&this.series.forEach(function(a){a&&a.calculateParentRadius()})};p.prototype.isStable=function(){var a=Math.abs(this.prevSystemTemperature-this.systemTemperature);
-return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&.00001>a||0>=this.temperature};p.prototype.setCircularPositions=function(){for(var a=this.box,b=this.nodes,c=2*Math.PI/(b.length+1),d=this.options.initialPositionRadius,f,h,p=0,m=0;m<b.length;m++){var v=b[m];this.options.splitSeries&&!v.isParentNode?(f=v.series.parentNode.plotX,h=v.series.parentNode.plotY):(f=a.width/2,h=a.height/2);v.plotX=v.prevX=n(v.plotX,f+d*Math.cos(v.index||p*c));v.plotY=v.prevY=n(v.plotY,h+d*Math.sin(v.index||
-p*c));v.dispX=0;v.dispY=0;p++}};p.prototype.repulsiveForces=function(){var a=this,b=a.options.bubblePadding,c,d,f;a.nodes.forEach(function(e){e.degree=e.mass;e.neighbours=0;a.nodes.forEach(function(g){c=0;e===g||e.fixedPosition||!a.options.seriesInteraction&&e.series!==g.series||(f=a.getDistXY(e,g),d=a.vectorLength(f)-(e.marker.radius+g.marker.radius+b),0>d&&(e.degree+=.01,e.neighbours++,c=a.repulsiveForce(-d/Math.sqrt(e.neighbours),a.k,e,g)),a.force("repulsive",e,c*g.mass,f,g,d))})})};p.prototype.applyLimitBox=
-function(b,c){if(this.options.splitSeries&&!b.isParentNode&&this.options.parentNodeLimit){var e=this.getDistXY(b,b.series.parentNode);var d=b.series.parentNodeRadius-b.marker.radius-this.vectorLength(e);0>d&&d>-2*b.marker.radius&&(b.plotX-=.01*e.x,b.plotY-=.01*e.y)}a.prototype.applyLimitBox.call(this,b,c)};return p}(d);return b.layouts.packedbubble=a});D(d,"Series/PackedBubble/PackedBubbleSeries.js",[d["Core/Color/Color.js"],d["Series/DragNodesComposition.js"],d["Series/GraphLayoutComposition.js"],
-d["Core/Globals.js"],d["Series/PackedBubble/PackedBubblePoint.js"],d["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],d["Series/PackedBubble/PackedBubbleLayout.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,d,a,f,y,m,q,n){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=
-b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),t=b.parse;b=a.noop;var p=q.series.prototype,e=q.seriesTypes.bubble,g=n.addEvent,l=n.clamp,k=n.defined,D=n.extend,H=n.fireEvent,M=n.isArray,F=n.isNumber,v=n.merge,Q=n.pick;n=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;b.data=void 0;b.layout=void 0;b.options=void 0;b.parentNodeMass=0;b.points=void 0;b.xData=void 0;return b}h(b,a);b.compose=function(a,b,d,f){e.compose(a,b,d,f);
-c.compose(b);m.compose(b)};b.prototype.accumulateAllPoints=function(){for(var a=this.chart,b=[],c,e=0,d=a.series;e<d.length;e++){var f=d[e];if(f.is("packedbubble")&&f.visible||!a.options.chart.ignoreHiddenSeries){c=f.yData||[];for(var g=0;g<c.length;g++)b.push([null,null,c[g],f.index,g,{id:g,marker:{radius:0}}])}}return b};b.prototype.addLayout=function(){var a=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},b=a.type||"packedbubble",c=this.chart.options.chart,e=this.chart.graphLayoutsStorage,
-f=this.chart.graphLayoutsLookup;e||(this.chart.graphLayoutsStorage=e={},this.chart.graphLayoutsLookup=f=[]);var g=e[b];g||(a.enableSimulation=k(c.forExport)?!c.forExport:a.enableSimulation,e[b]=g=new d.layouts[b],g.init(a),f.splice(g.index,0,g));this.layout=g;this.points.forEach(function(a){a.mass=2;a.degree=1;a.collisionNmb=1});g.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight);g.addElementsToCollection([this],g.series);g.addElementsToCollection(this.points,g.nodes)};b.prototype.addSeriesLayout=
-function(){var a=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},b=a.type||"packedbubble",c=this.chart.graphLayoutsStorage,e=this.chart.graphLayoutsLookup;a=v(a,a.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});var f=c[b+"-series"];f||(c[b+"-series"]=f=new d.layouts[b],f.init(a),e.splice(f.index,0,f));this.parentNodeLayout=f;this.createParentNodes()};b.prototype.calculateParentRadius=function(){var a=this.seriesBox();this.parentNodeRadius=l(Math.sqrt(2*this.parentNodeMass/
-Math.PI)+20,20,a?Math.max(Math.sqrt(Math.pow(a.width,2)+Math.pow(a.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20);this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)};b.prototype.calculateZExtremes=function(){var a=this.options.zMin,b=this.options.zMax,c=Infinity,e=-Infinity;if(a&&b)return[a,b];this.chart.series.forEach(function(a){a.yData.forEach(function(a){k(a)&&(a>e&&(e=a),a<c&&(c=a))})});a=Q(a,c);b=Q(b,e);return[a,b]};b.prototype.checkOverlap=
-function(a,b){var c=a[0]-b[0],e=a[1]-b[1];return-.001>Math.sqrt(c*c+e*e)-Math.abs(a[2]+b[2])};b.prototype.createParentNodes=function(){var a=this,b=this.pointClass,c=this.chart,e=this.parentNodeLayout,d=this.layout.options,f,g=this.parentNode,h={radius:this.parentNodeRadius,lineColor:this.color,fillColor:t(this.color).brighten(.4).get()};d.parentNodeOptions&&(h=v(d.parentNodeOptions.marker||{},h));this.parentNodeMass=0;this.points.forEach(function(b){a.parentNodeMass+=Math.PI*Math.pow(b.marker.radius,
-2)});this.calculateParentRadius();e.nodes.forEach(function(b){b.seriesIndex===a.index&&(f=!0)});e.setArea(0,0,c.plotWidth,c.plotHeight);f||(g||(g=(new b).init(this,{mass:this.parentNodeRadius/2,marker:h,dataLabels:{inside:!1},states:{normal:{marker:h},hover:{marker:h}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(g.plotX=this.parentNode.plotX,g.plotY=this.parentNode.plotY),this.parentNode=g,e.addElementsToCollection([this],e.series),e.addElementsToCollection([g],
-e.nodes))};b.prototype.deferLayout=function(){var a=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),a.splitSeries&&this.addSeriesLayout())};b.prototype.destroy=function(){var a=this;this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(function(b){b.removeElementFromCollection(a,b.series)},this);this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=
-this.parentNode.dataLabel.destroy()));p.destroy.apply(this,arguments)};b.prototype.drawDataLabels=function(){p.drawDataLabels.call(this,this.points);this.parentNode&&(this.parentNode.formatPrefix="parentNode",p.drawDataLabels.call(this,[this.parentNode]))};b.prototype.drawGraph=function(){if(this.layout&&this.layout.options.splitSeries){var a=this.chart,b=this.layout.options.parentNodeOptions.marker;b={fill:b.fillColor||t(this.color).brighten(.4).get(),opacity:b.fillOpacity,stroke:b.lineColor||this.color,
-"stroke-width":Q(b.lineWidth,this.options.lineWidth)};this.parentNodesGroup||(this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,a.seriesGroup),this.group.attr({zIndex:2}));this.calculateParentRadius();var c=v({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},b);this.parentNode.graphic||(this.graph=this.parentNode.graphic=a.renderer.symbol(b.symbol).add(this.parentNodesGroup));
-this.parentNode.graphic.attr(c)}};b.prototype.drawTracker=function(){var b=this.parentNode;a.prototype.drawTracker.call(this);if(b){var c=M(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[];b.graphic&&(b.graphic.element.point=b);c.forEach(function(a){a.div?a.div.point=b:a.element.point=b})}};b.prototype.getPointRadius=function(){var a=this,b=this.chart,c=this.options,e=c.useSimulation,d=Math.min(b.plotWidth,b.plotHeight),f={},g=[],h=b.allDataPoints||[],k=h.length,p,n,u,C;["minSize","maxSize"].forEach(function(a){var b=
-parseInt(c[a],10),e=/%$/.test(c[a]);f[a]=e?d*b/100:b*Math.sqrt(k)});b.minRadius=p=f.minSize/Math.sqrt(k);b.maxRadius=n=f.maxSize/Math.sqrt(k);var x=e?this.calculateZExtremes():[p,n];h.forEach(function(b,c){u=e?l(b[2],x[0],x[1]):b[2];C=a.getRadius(x[0],x[1],p,n,u);0===C&&(C=null);h[c][2]=C;g.push(C)});this.radii=g};b.prototype.init=function(){p.init.apply(this,arguments);this.eventsToUnbind.push(g(this,"updatedData",function(){var a=this;this.chart.series.forEach(function(b){b.type===a.type&&(b.isDirty=
-!0)},this)}));return this};b.prototype.onMouseUp=function(a){var b=a;if(b.fixedPosition&&!b.removed){var e=this.layout,d=this.parentNodeLayout,f,g;d&&e.options.dragBetweenSeries&&d.nodes.forEach(function(a){b&&b.marker&&a!==b.series.parentNode&&(f=e.getDistXY(b,a),g=e.vectorLength(f)-a.marker.radius-b.marker.radius,0>g&&(a.series.addPoint(v(b.options,{plotX:b.plotX,plotY:b.plotY}),!1),e.removeElementFromCollection(b,e.nodes),b.remove()))});c.onMouseUp.apply(this,arguments)}};b.prototype.placeBubbles=
-function(a){var b=this.checkOverlap,c=this.positionBubble,e=[],d=1,f=0,g=0;var h=[];var l;a=a.sort(function(a,b){return b[2]-a[2]});if(a.length){e.push([[0,0,a[0][2],a[0][3],a[0][4]]]);if(1<a.length)for(e.push([[0,0-a[1][2]-a[0][2],a[1][2],a[1][3],a[1][4]]]),l=2;l<a.length;l++)a[l][2]=a[l][2]||1,h=c(e[d][f],e[d-1][g],a[l]),b(h,e[d][0])?(e.push([]),g=0,e[d+1].push(c(e[d][f],e[d][0],a[l])),d++,f=0):1<d&&e[d-1][g+1]&&b(h,e[d-1][g+1])?(g++,e[d].push(c(e[d][f],e[d-1][g],a[l])),f++):(f++,e[d].push(h));
-this.chart.stages=e;this.chart.rawPositions=[].concat.apply([],e);this.resizeRadius();h=this.chart.rawPositions}return h};b.prototype.pointAttribs=function(a,b){var c=this.options,e=c.marker;a&&a.isParentNode&&c.layoutAlgorithm&&c.layoutAlgorithm.parentNodeOptions&&(e=c.layoutAlgorithm.parentNodeOptions.marker);c=e.fillOpacity;a=p.pointAttribs.call(this,a,b);1!==c&&(a["fill-opacity"]=c);return a};b.prototype.positionBubble=function(a,b,c){var e=Math.sqrt,d=Math.asin,f=Math.acos,g=Math.pow,h=Math.abs;
-e=e(g(a[0]-b[0],2)+g(a[1]-b[1],2));f=f((g(e,2)+g(c[2]+b[2],2)-g(c[2]+a[2],2))/(2*(c[2]+b[2])*e));d=d(h(a[0]-b[0])/e);a=(0>a[1]-b[1]?0:Math.PI)+f+d*(0>(a[0]-b[0])*(a[1]-b[1])?1:-1);return[b[0]+(b[2]+c[2])*Math.sin(a),b[1]-(b[2]+c[2])*Math.cos(a),c[2],c[3],c[4]]};b.prototype.render=function(){var a=[];p.render.apply(this,arguments);this.options.dataLabels.allowOverlap||(this.data.forEach(function(b){M(b.dataLabels)&&b.dataLabels.forEach(function(b){a.push(b)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(a))};
-b.prototype.resizeRadius=function(){var a=this.chart,b=a.rawPositions,c=Math.min,e=Math.max,d=a.plotLeft,f=a.plotTop,g=a.plotHeight,h=a.plotWidth,l,k;var p=l=Number.POSITIVE_INFINITY;var u=k=Number.NEGATIVE_INFINITY;for(var C=0;C<b.length;C++){var x=b[C];var n=x[2];p=c(p,x[0]-n);u=e(u,x[0]+n);l=c(l,x[1]-n);k=e(k,x[1]+n)}x=[u-p,k-l];c=c.apply([],[(h-d)/x[0],(g-f)/x[1]]);if(1e-10<Math.abs(c-1)){for(a=0;a<b.length;a++)x=b[a],x[2]*=c;this.placeBubbles(b)}else a.diffY=g/2+f-l-(k-l)/2,a.diffX=h/2+d-p-(u-
-p)/2};b.prototype.seriesBox=function(){var a=this.chart,b=Math.max,c=Math.min,e=[a.plotLeft,a.plotLeft+a.plotWidth,a.plotTop,a.plotTop+a.plotHeight],d;this.data.forEach(function(a){k(a.plotX)&&k(a.plotY)&&a.marker.radius&&(d=a.marker.radius,e[0]=c(e[0],a.plotX-d),e[1]=b(e[1],a.plotX+d),e[2]=c(e[2],a.plotY-d),e[3]=b(e[3],a.plotY+d))});return F(e.width/e.height)?e:null};b.prototype.setVisible=function(){var a=this;p.setVisible.apply(a,arguments);a.parentNodeLayout&&a.graph?a.visible?(a.graph.show(),
-a.parentNode.dataLabel&&a.parentNode.dataLabel.show()):(a.graph.hide(),a.parentNodeLayout.removeElementFromCollection(a.parentNode,a.parentNodeLayout.nodes),a.parentNode.dataLabel&&a.parentNode.dataLabel.hide()):a.layout&&(a.visible?a.layout.addElementsToCollection(a.points,a.layout.nodes):a.points.forEach(function(b){a.layout.removeElementFromCollection(b,a.layout.nodes)}))};b.prototype.translate=function(){var a=this.chart,b=this.data,c=this.index,e=this.options.useSimulation;this.processedXData=
-this.xData;this.generatePoints();k(a.allDataPoints)||(a.allDataPoints=this.accumulateAllPoints(),this.getPointRadius());if(e)var d=a.allDataPoints;else d=this.placeBubbles(a.allDataPoints),this.options.draggable=!1;for(var f=0,g=d;f<g.length;f++){var h=g[f];if(h[3]===c){d=b[h[4]];var l=Q(h[2],void 0);e||(d.plotX=h[0]-a.plotLeft+a.diffX,d.plotY=h[1]-a.plotTop+a.diffY);F(l)&&(d.marker=D(d.marker,{radius:l,width:2*l,height:2*l}),d.radius=l)}}e&&this.deferLayout();H(this,"afterTranslate")};b.defaultOptions=
-v(e.defaultOptions,y);return b}(e);D(n.prototype,{pointClass:f,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],alignDataLabel:p.alignDataLabel,indexateNodes:b,onMouseDown:c.onMouseDown,onMouseMove:c.onMouseMove,redrawHalo:c.redrawHalo,searchPoint:b});q.registerSeriesType("packedbubble",n);"";return n});D(d,"Series/Polygon/PolygonSeries.js",
-[d["Core/Globals.js"],d["Core/Legend/LegendSymbol.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,d,a){var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}();b=b.noop;var h=
-d.series,m=d.seriesTypes,q=m.area,n=m.line,E=m.scatter;m=a.extend;var t=a.merge;a=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}f(b,a);b.prototype.getGraphPath=function(){for(var a=n.prototype.getGraphPath.call(this),b=a.length+1;b--;)(b===a.length||"M"===a[b][0])&&0<b&&a.splice(b,0,["Z"]);return this.areaPath=a};b.prototype.drawGraph=function(){this.options.fillColor=this.color;q.prototype.drawGraph.call(this)};b.defaultOptions=
-t(E.defaultOptions,{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0});return b}(E);m(a.prototype,{type:"polygon",drawLegendSymbol:c.drawRectangle,drawTracker:h.prototype.drawTracker,setStackedPoints:b});d.registerSeriesType("polygon",a);"";return a});D(d,"Core/Axis/WaterfallAxis.js",[d["Core/Axis/Stacking/StackItem.js"],d["Core/Utilities.js"]],function(b,c){var d=c.addEvent,a=c.objectEach,f;(function(c){function f(){var a=
-this.waterfall.stacks;a&&(a.changed=!1,delete a.alreadyChanged)}function h(){var a=this.options.stackLabels;a&&a.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function n(){for(var a=this.axes,b=this.series,c=b.length;c--;)b[c].options.stacking&&(a.forEach(function(a){a.isXAxis||(a.waterfall.stacks.changed=!0)}),c=0)}function y(){this.waterfall||(this.waterfall=new t(this))}var t=function(){function c(a){this.axis=a;this.stacks={changed:!1}}c.prototype.renderStackTotals=function(){var c=
-this.axis,d=c.waterfall.stacks,f=c.stacking&&c.stacking.stackTotalGroup,h=new b(c,c.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=h;f&&a(d,function(c){a(c,function(a,c){h.total=a.stackTotal;h.x=+c;a.label&&(h.label=a.label);b.prototype.render.call(h,f);a.label=h.label;delete h.label})});h.total=null};return c}();c.Composition=t;c.compose=function(a,b){d(a,"init",y);d(a,"afterBuildStacks",f);d(a,"afterRender",h);d(b,"beforeRedraw",n)}})(f||(f={}));return f});D(d,"Series/Waterfall/WaterfallPoint.js",
-[d["Series/Column/ColumnSeries.js"],d["Core/Series/Point.js"],d["Core/Utilities.js"]],function(b,c,d){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),f=d.isNumber;return function(b){function d(){var a=
-null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}a(d,b);d.prototype.getClassName=function(){var a=c.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");return a};d.prototype.isValid=function(){return f(this.y)||this.isSum||!!this.isIntermediateSum};return d}(b.prototype.pointClass)});D(d,"Series/Waterfall/WaterfallSeries.js",[d["Core/Axis/Axis.js"],d["Core/Chart/Chart.js"],d["Core/Series/SeriesRegistry.js"],
-d["Core/Utilities.js"],d["Core/Axis/WaterfallAxis.js"],d["Series/Waterfall/WaterfallPoint.js"]],function(b,c,d,a,f,y){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),q=d.seriesTypes,n=q.column,
-D=q.line,t=a.arrayMax,p=a.arrayMin,e=a.correctFloat;q=a.extend;var g=a.isNumber,l=a.merge,k=a.objectEach,J=a.pick;a=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;b.data=void 0;b.options=void 0;b.points=void 0;b.stackedYNeg=void 0;b.stackedYPos=void 0;b.stackKey=void 0;b.xData=void 0;b.yAxis=void 0;b.yData=void 0;return b}h(b,a);b.prototype.generatePoints=function(){n.prototype.generatePoints.apply(this);for(var a=0,b=this.points.length;a<b;a++){var c=this.points[a],
-d=this.processedYData[a];g(d)&&(c.isIntermediateSum||c.isSum)&&(c.y=e(d))}};b.prototype.translate=function(){var a=this.options,b=this.yAxis,c=J(a.minPointLength,5),e=c/2,d=a.threshold||0;a=a.stacking;var f=b.waterfall.stacks[this.stackKey],h=d,l=d;n.prototype.translate.apply(this);for(var k=this.points,r=0;r<k.length;r++){var p=k[r];var m=this.processedYData[r];var q=p.shapeArgs;if(q&&g(m)){var A=[0,m];var t=p.y;if(a){if(f){A=f[r];if("overlap"===a){var y=A.stackState[A.stateIndex--];y=0<=t?y:y-t;
-Object.hasOwnProperty.call(A,"absolutePos")&&delete A.absolutePos;Object.hasOwnProperty.call(A,"absoluteNeg")&&delete A.absoluteNeg}else 0<=t?(y=A.threshold+A.posTotal,A.posTotal-=t):(y=A.threshold+A.negTotal,A.negTotal-=t,y-=t),!A.posTotal&&g(A.absolutePos)&&Object.hasOwnProperty.call(A,"absolutePos")&&(A.posTotal=A.absolutePos,delete A.absolutePos),!A.negTotal&&g(A.absoluteNeg)&&Object.hasOwnProperty.call(A,"absoluteNeg")&&(A.negTotal=A.absoluteNeg,delete A.absoluteNeg);p.isSum||(A.connectorThreshold=
-A.threshold+A.stackTotal);b.reversed?(m=0<=t?y-t:y+t,t=y):(m=y,t=y-t);p.below=m<=d;q.y=b.translate(m,!1,!0,!1,!0);q.height=Math.abs(q.y-b.translate(t,!1,!0,!1,!0));if(t=b.waterfall.dummyStackItem)t.x=r,t.label=f[r].label,t.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[r],this.stackedYPos[r])}}else y=Math.max(l,l+t)+A[0],q.y=b.translate(y,!1,!0,!1,!0),p.isSum?(q.y=b.translate(A[1],!1,!0,!1,!0),q.height=Math.min(b.translate(A[0],!1,!0,!1,!0),b.len)-q.y,p.below=A[1]<=d):p.isIntermediateSum?
-(0<=t?(m=A[1]+h,t=h):(m=h,t=A[1]+h),b.reversed&&(m^=t,t^=m,m^=t),q.y=b.translate(m,!1,!0,!1,!0),q.height=Math.abs(q.y-Math.min(b.translate(t,!1,!0,!1,!0),b.len)),h+=A[1],p.below=m<=d):(q.height=0<m?b.translate(l,!1,!0,!1,!0)-q.y:b.translate(l,!1,!0,!1,!0)-b.translate(l-m,!1,!0,!1,!0),l+=m,p.below=l<d),0>q.height&&(q.y+=q.height,q.height*=-1);p.plotY=q.y=Math.round(q.y||0)-this.borderWidth%2/2;q.height=Math.max(Math.round(q.height||0),.001);p.yBottom=q.y+q.height;q.height<=c&&!p.isNull?(q.height=c,
-q.y-=e,p.plotY=q.y,p.minPointLengthOffset=0>p.y?-e:e):(p.isNull&&(q.width=0),p.minPointLengthOffset=0);t=p.plotY+(p.negative?q.height:0);p.below&&(p.plotY+=q.height);p.tooltipPos&&(this.chart.inverted?p.tooltipPos[0]=b.len-t:p.tooltipPos[1]=t);p.isInside=this.isPointInside(p)}}};b.prototype.processData=function(b){var c=this.options,d=this.yData,f=c.data,g=d.length,h=c.threshold||0,l,k,p,n,m;for(m=k=l=p=n=0;m<g;m++){var q=d[m];var t=f&&f[m]?f[m]:{};"sum"===q||t.isSum?d[m]=e(k):"intermediateSum"===
-q||t.isIntermediateSum?(d[m]=e(l),l=0):(k+=q,l+=q);p=Math.min(k,p);n=Math.max(k,n)}a.prototype.processData.call(this,b);c.stacking||(this.dataMin=p+h,this.dataMax=n)};b.prototype.toYData=function(a){return a.isSum?"sum":a.isIntermediateSum?"intermediateSum":a.y};b.prototype.updateParallelArrays=function(b,c){a.prototype.updateParallelArrays.call(this,b,c);if("sum"===this.yData[0]||"intermediateSum"===this.yData[0])this.yData[0]=null};b.prototype.pointAttribs=function(a,b){var c=this.options.upColor;
-c&&!a.options.color&&(a.color=0<a.y?c:void 0);a=n.prototype.pointAttribs.call(this,a,b);delete a.dashstyle;return a};b.prototype.getGraphPath=function(){return[["M",0,0]]};b.prototype.getCrispPath=function(){var a=this.data,b=this.yAxis,c=a.length,e=Math.round(this.graph.strokeWidth())%2/2,d=Math.round(this.borderWidth)%2/2,f=this.xAxis.reversed,g=this.yAxis.reversed,h=this.options.stacking,l=[],k;for(k=1;k<c;k++){var p=a[k].shapeArgs;var n=a[k-1];var m=a[k-1].shapeArgs;var q=b.waterfall.stacks[this.stackKey];
-var t=0<n.y?-m.height:0;q&&m&&p&&(q=q[k-1],h?(q=q.connectorThreshold,t=Math.round(b.translate(q,!1,!0,!1,!0)+(g?t:0))-e):t=m.y+n.minPointLengthOffset+d-e,l.push(["M",(m.x||0)+(f?0:m.width||0),t],["L",(p.x||0)+(f?p.width||0:0),t]));m&&l.length&&(!h&&0>n.y&&!g||0<n.y&&g)&&((n=l[l.length-2])&&"number"===typeof n[2]&&(n[2]+=m.height||0),(n=l[l.length-1])&&"number"===typeof n[2]&&(n[2]+=m.height||0))}return l};b.prototype.drawGraph=function(){D.prototype.drawGraph.call(this);this.graph&&this.graph.attr({d:this.getCrispPath()})};
-b.prototype.setStackedPoints=function(){function a(a,b,c,e){if(u){if(R)for(c;c<R;c++)u.stackState[c]+=e;else u.stackState[0]=a,R=u.stackState.length;u.stackState.push(u.stackState[R-1]+b)}}var b=this.options,c=this.yAxis.waterfall.stacks,e=b.threshold||0,d=e,f=d,g=this.stackKey,h=this.xData,l=h.length,k,p,n;this.yAxis.stacking.usePercentage=!1;var m=k=p=d;if(this.visible||!this.chart.options.chart.ignoreHiddenSeries){var q=c.changed;(n=c.alreadyChanged)&&0>n.indexOf(g)&&(q=!0);c[g]||(c[g]={});if(n=
-c[g])for(var t=0;t<l;t++){var y=h[t];if(!n[y]||q)n[y]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:q&&n[y]?n[y].label:void 0};var u=n[y];var C=this.yData[t];0<=C?u.posTotal+=C:u.negTotal+=C;var x=b.data[t];y=u.absolutePos=u.posTotal;var P=u.absoluteNeg=u.negTotal;u.stackTotal=y+P;var R=u.stackState.length;x&&x.isIntermediateSum?(a(p,k,0,p),p=k,k=e,d^=f,f^=d,d^=f):x&&x.isSum?(a(e,m,R,0),d=e):(a(d,C,0,m),x&&(m+=C,k+=C));u.stateIndex++;u.threshold=d;d+=u.stackTotal}c.changed=
-!1;c.alreadyChanged||(c.alreadyChanged=[]);c.alreadyChanged.push(g)}};b.prototype.getExtremes=function(){var a=this.options.stacking;if(a){var b=this.yAxis;b=b.waterfall.stacks;var c=this.stackedYNeg=[];var e=this.stackedYPos=[];"overlap"===a?k(b[this.stackKey],function(a){c.push(p(a.stackState));e.push(t(a.stackState))}):k(b[this.stackKey],function(a){c.push(a.negTotal+a.threshold);e.push(a.posTotal+a.threshold)});return{dataMin:p(c),dataMax:t(e)}}return{dataMin:this.dataMin,dataMax:this.dataMax}};
-b.defaultOptions=l(n.defaultOptions,{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}});return b}(n);q(a.prototype,{getZonesGraphs:D.prototype.getZonesGraphs,pointValKey:"y",showLine:!0,pointClass:y});d.registerSeriesType("waterfall",a);f.compose(b,c);"";return a});D(d,"Core/Axis/RadialAxis.js",[d["Core/Axis/AxisDefaults.js"],d["Core/Defaults.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(b,c,d,a){var f=c.defaultOptions,
-h=d.noop,m=a.addEvent,q=a.correctFloat,n=a.defined,D=a.extend,t=a.fireEvent,p=a.merge,e=a.pick,g=a.relativeLength,l=a.wrap,k;(function(a){function c(){this.autoConnect=this.isCircular&&"undefined"===typeof e(this.userMax,this.options.max)&&q(this.endAngleRad-this.startAngleRad)===q(2*Math.PI);!this.isCircular&&this.chart.inverted&&this.max++;this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function d(){var a=this;return function(){if(a.isRadial&&a.tickPositions&&
-a.options.labels&&!0!==a.options.labels.allowOverlap)return a.tickPositions.map(function(b){return a.ticks[b]&&a.ticks[b].label}).filter(function(a){return!!a})}}function k(){return h}function v(a,b,c){var e=this.pane.center,d=a.value;if(this.isCircular){if(n(d))a.point&&(f=a.point.shapeArgs||{},f.start&&(d=this.chart.inverted?this.translate(a.point.rectPlotY,!0):a.point.x));else{var f=a.chartX||0;var g=a.chartY||0;d=this.translate(Math.atan2(g-c,f-b)-this.startAngleRad,!0)}a=this.getPosition(d);
-f=a.x;g=a.y}else n(d)||(f=a.chartX,g=a.chartY),n(f)&&n(g)&&(c=e[1]+this.chart.plotTop,d=this.translate(Math.min(Math.sqrt(Math.pow(f-b,2)+Math.pow(g-c,2)),e[2]/2)-e[3]/2,!0));return[d,f||0,g||0]}function y(a,b,c){a=this.pane.center;var d=this.chart,f=this.left||0,g=this.top||0,h=e(b,a[2]/2-this.offset);"undefined"===typeof c&&(c=this.horiz?0:this.center&&-this.center[3]/2);c&&(h+=c);this.isCircular||"undefined"!==typeof b?(b=this.chart.renderer.symbols.arc(f+a[0],g+a[1],h,h,{start:this.startAngleRad,
-end:this.endAngleRad,open:!0,innerR:0}),b.xBounds=[f+a[0]],b.yBounds=[g+a[1]-h]):(b=this.postTranslate(this.angleRad,h),b=[["M",this.center[0]+d.plotLeft,this.center[1]+d.plotTop],["L",b.x,b.y]]);return b}function E(){this.constructor.prototype.getOffset.call(this);this.chart.axisOffset[this.side]=0}function L(a,b,c){var d=this.chart,f=function(a){if("string"===typeof a){var b=parseInt(a,10);n.test(a)&&(b=b*C/100);return b}return a},g=this.center,h=this.startAngleRad,C=g[2]/2,l=Math.min(this.offset,
-0),k=this.left||0,p=this.top||0,n=/%$/,u=this.isCircular,x=e(f(c.outerRadius),C),m=f(c.innerRadius);f=e(f(c.thickness),10);if("polygon"===this.options.gridLineInterpolation)l=this.getPlotLinePath({value:a}).concat(this.getPlotLinePath({value:b,reverse:!0}));else{a=Math.max(a,this.min);b=Math.min(b,this.max);a=this.translate(a);b=this.translate(b);u||(x=a||0,m=b||0);if("circle"!==c.shape&&u)c=h+(a||0),h+=b||0;else{c=-Math.PI/2;h=1.5*Math.PI;var O=!0}x-=l;l=d.renderer.symbols.arc(k+g[0],p+g[1],x,x,
-{start:Math.min(c,h),end:Math.max(c,h),innerR:e(m,x-(f-l)),open:O});u&&(u=(h+c)/2,k=k+g[0]+g[2]/2*Math.cos(u),l.xBounds=u>-Math.PI/2&&u<Math.PI/2?[k,d.plotWidth]:[0,k],l.yBounds=[p+g[1]+g[2]/2*Math.sin(u)],l.yBounds[0]+=u>-Math.PI&&0>u||u>Math.PI?-10:10)}return l}function w(a){var b=this,c=this.pane.center,e=this.chart,d=e.inverted,f=a.reverse,h=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},C=h.innerRadius||"0%",l=h.outerRadius||"100%",k=c[0]+e.plotLeft,
-u=c[1]+e.plotTop,p=this.height,n=a.isCrosshair;h=c[3]/2;var x=a.value,m;var O=this.getPosition(x);var q=O.x;O=O.y;n&&(O=this.getCrosshairPosition(a,k,u),x=O[0],q=O[1],O=O[2]);if(this.isCircular)x=Math.sqrt(Math.pow(q-k,2)+Math.pow(O-u,2)),f="string"===typeof C?g(C,1):C/x,e="string"===typeof l?g(l,1):l/x,c&&h&&(h/=x,f<h&&(f=h),e<h&&(e=h)),c=[["M",k+f*(q-k),u-f*(u-O)],["L",q-(1-e)*(q-k),O+(1-e)*(u-O)]];else if((x=this.translate(x))&&(0>x||x>p)&&(x=0),"circle"===this.options.gridLineInterpolation)c=
-this.getLinePath(0,x,h);else if(c=[],e[d?"yAxis":"xAxis"].forEach(function(a){a.pane===b.pane&&(m=a)}),m)for(k=m.tickPositions,m.autoConnect&&(k=k.concat([k[0]])),f&&(k=k.slice().reverse()),x&&(x+=h),u=0;u<k.length;u++)h=m.getPosition(k[u],x),c.push(u?["L",h.x,h.y]:["M",h.x,h.y]);return c}function B(a,b){a=this.translate(a);return this.postTranslate(this.isCircular?a:this.angleRad,e(this.isCircular?b:0>a?0:a,this.center[2]/2)-this.offset)}function z(){var a=this.center,b=this.chart,c=this.options.title;
-return{x:b.plotLeft+a[0]+(c.x||0),y:b.plotTop+a[1]-{high:.5,middle:.25,low:0}[c.align]*a[2]+(c.y||0)}}function G(a){a.beforeSetTickPositions=c;a.createLabelCollector=d;a.getCrosshairPosition=v;a.getLinePath=y;a.getOffset=E;a.getPlotBandPath=L;a.getPlotLinePath=w;a.getPosition=B;a.getTitlePosition=z;a.postTranslate=u;a.setAxisSize=x;a.setAxisTranslation=P;a.setOptions=R}function r(){var a=this.chart,b=this.options,c=this.pane,d=c&&c.options;a.angular&&this.isXAxis||!c||!a.angular&&!a.polar||(a=2*Math.PI,
-c=(e(d.startAngle,0)-90)*Math.PI/180,d=(e(d.endAngle,e(d.startAngle,0)+360)-90)*Math.PI/180,this.angleRad=(b.angle||0)*Math.PI/180,this.startAngleRad=c,this.endAngleRad=d,this.offset=b.offset||0,b=(c%a+a)%a,d=(d%a+a)%a,b>Math.PI&&(b-=a),d>Math.PI&&(d-=a),this.normalizedStartAngleRad=b,this.normalizedEndAngleRad=d)}function K(a){this.isRadial&&(a.align=void 0,a.preventDefault())}function J(){if(this.chart&&this.chart.labelCollectors){var a=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):
--1;0<=a&&this.chart.labelCollectors.splice(a,1)}}function U(a){var c=this.chart,e=c.inverted,d=c.angular,f=c.polar,g=this.isXAxis,l=this.coll,u=d&&g;a=a.userOptions.pane||0;a=this.pane=c.pane&&c.pane[a];var x;if("colorAxis"===l)this.isRadial=!1;else{if(d){if(u?(this.isHidden=!0,this.createLabelCollector=k,this.getOffset=h,this.render=this.redraw=C,this.setTitle=this.setCategories=this.setScale=h):G(this),x=!g)this.defaultPolarOptions=Y}else f&&(G(this),this.defaultPolarOptions=(x=this.horiz)?X:p("xAxis"===
-l?b.defaultXAxisOptions:b.defaultYAxisOptions,Z),e&&"yAxis"===l&&(this.defaultPolarOptions.stackLabels=b.defaultYAxisOptions.stackLabels,this.defaultPolarOptions.reversedStacks=!0));d||f?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&c.labelCollectors.push(this.labelCollector)):this.isRadial=!1;a&&x&&(a.axis=this);this.isCircular=x}}function A(){this.isRadial&&this.beforeSetTickPositions()}function N(a){var b=this.label;if(b){var c=this.axis,
-d=b.getBBox(),f=c.options.labels,h=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360,C=Math.round(h),l=n(f.y)?0:.3*-d.height,k=f.y,u=20,x=f.align,p="end",m=0>C?C+360:C,q=m,P=0,t=0;if(c.isRadial){var r=c.getPosition(this.pos,c.center[2]/2+g(e(f.distance,-25),c.center[2]/2,-c.center[2]/2));"auto"===f.rotation?b.attr({rotation:h}):n(k)||(k=c.chart.renderer.fontMetrics(b.styles&&b.styles.fontSize).b-d.height/2);n(x)||(c.isCircular?(d.width>c.len*c.tickInterval/(c.max-c.min)&&(u=0),x=h>
-u&&h<180-u?"left":h>180+u&&h<360-u?"right":"center"):x="center",b.attr({align:x}));if("auto"===x&&2===c.tickPositions.length&&c.isCircular){90<m&&180>m?m=180-m:270<m&&360>=m&&(m=540-m);180<q&&360>=q&&(q=360-q);if(c.pane.options.startAngle===C||c.pane.options.startAngle===C+360||c.pane.options.startAngle===C-360)p="start";x=-90<=C&&90>=C||-360<=C&&-270>=C||270<=C&&360>=C?"start"===p?"right":"left":"start"===p?"left":"right";70<q&&110>q&&(x="center");15>m||180<=m&&195>m?P=.3*d.height:15<=m&&35>=m?P=
-"start"===p?0:.75*d.height:195<=m&&215>=m?P="start"===p?.75*d.height:0:35<m&&90>=m?P="start"===p?.25*-d.height:d.height:215<m&&270>=m&&(P="start"===p?d.height:.25*-d.height);15>q?t="start"===p?.15*-d.height:.15*d.height:165<q&&180>=q&&(t="start"===p?.15*d.height:.15*-d.height);b.attr({align:x});b.translate(t,P+l)}a.pos.x=r.x+(f.x||0);a.pos.y=r.y+(k||0)}}}function S(a){this.axis.getPosition&&D(a.pos,this.axis.getPosition(this.pos))}function u(a,b){var c=this.chart,e=this.center;a=this.startAngleRad+
-a;return{x:c.plotLeft+e[0]+Math.cos(a)*b,y:c.plotTop+e[1]+Math.sin(a)*b}}function C(){this.isDirty=!1}function x(){this.constructor.prototype.setAxisSize.call(this);if(this.isRadial){this.pane.updateCenter(this);var a=this.center=this.pane.center.slice();if(this.isCircular)this.sector=this.endAngleRad-this.startAngleRad;else{var b=this.postTranslate(this.angleRad,a[3]/2);a[0]=b.x-this.chart.plotLeft;a[1]=b.y-this.chart.plotTop}this.len=this.width=this.height=(a[2]-a[3])*e(this.sector,1)/2}}function P(){this.constructor.prototype.setAxisTranslation.call(this);
-this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function R(a){a=this.options=p(this.constructor.defaultOptions,this.defaultPolarOptions,f[this.coll],a);a.plotBands||(a.plotBands=[]);t(this,"afterSetOptions")}function W(a,b,c,e,d,f,g){var h=this.axis;h.isRadial?(a=h.getPosition(this.pos,h.center[2]/2+e),b=["M",b,c,"L",a.x,
-a.y]):b=a.call(this,b,c,e,d,f,g);return b}var T=[],X={gridLineWidth:1,labels:{align:void 0,distance:15,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},Y={labels:{align:"center",x:0,y:void 0},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},Z={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,
-y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};a.compose=function(a,b){-1===T.indexOf(a)&&(T.push(a),m(a,"afterInit",r),m(a,"autoLabelAlign",K),m(a,"destroy",J),m(a,"init",U),m(a,"initialAxisTranslation",A));-1===T.indexOf(b)&&(T.push(b),m(b,"afterGetLabelPosition",N),m(b,"afterGetPosition",S),l(b.prototype,"getMarkPath",W));return a}})(k||(k={}));return k});D(d,"Series/PolarComposition.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Globals.js"],d["Extensions/Pane.js"],d["Core/Axis/RadialAxis.js"],
-d["Core/Utilities.js"]],function(b,c,d,a,f){function h(a,b,c,e){var d=e?1:0;var f=0<=b&&b<=a.length-1?b:0>b?a.length-1+b:0;b=0>f-1?a.length-(1+d):f-1;var g=a[b];d=a[f+1>a.length-1?d:f+1];var C=g.plotY;var l=d.plotX;var k=d.plotY;d=a[f].plotX;f=a[f].plotY;g=(1.5*d+g.plotX)/2.5;C=(1.5*f+C)/2.5;l=(1.5*d+l)/2.5;var x=(1.5*f+k)/2.5;k=Math.sqrt(Math.pow(g-d,2)+Math.pow(C-f,2));var u=Math.sqrt(Math.pow(l-d,2)+Math.pow(x-f,2));g=Math.atan2(C-f,g-d);x=Math.PI/2+(g+Math.atan2(x-f,l-d))/2;Math.abs(g-x)>Math.PI/
-2&&(x-=Math.PI);g=d+Math.cos(x)*k;C=f+Math.sin(x)*k;l=d+Math.cos(Math.PI+x)*u;x=f+Math.sin(Math.PI+x)*u;d={rightContX:l,rightContY:x,leftContX:g,leftContY:C,plotX:d,plotY:f};c&&(d.prevPointCont=h(a,b,!1,e));return d}function m(){(this.pane||[]).forEach(function(a){a.render()})}function q(a){var b=a.args[0].xAxis,c=a.args[0].yAxis;a=a.args[0].chart;b&&c&&("polygon"===c.gridLineInterpolation?(b.startOnTick=!0,b.endOnTick=!0):"polygon"===b.gridLineInterpolation&&a.inverted&&(c.startOnTick=!0,c.endOnTick=
-!0))}function n(){var a=this;this.pane||(this.pane=[]);this.options.pane=V(this.options.pane);this.options.pane.forEach(function(b){new d(b,a)},this)}function D(a){var b=a.args.marker,c=this.chart.xAxis[0],d=this.chart.yAxis[0],e=this.chart.inverted,f=e?d:c;c=e?c:d;if(this.chart.polar){a.preventDefault();d=(b.attr?b.attr("start"):b.start)-f.startAngleRad;e=b.attr?b.attr("r"):b.r;var g=(b.attr?b.attr("end"):b.end)-f.startAngleRad;b=b.attr?b.attr("innerR"):b.innerR;a.result.x=d+f.pos;a.result.width=
-g-d;a.result.y=c.len+c.pos-b;a.result.height=b-e}}function t(a){var b=this.chart;if(b.polar&&b.hoverPane&&b.hoverPane.axis){a.preventDefault();var c=b.hoverPane.center,d=this.mouseDownX||0,e=this.mouseDownY||0,f=a.args.chartY,g=a.args.chartX,h=2*Math.PI,k=b.hoverPane.axis.startAngleRad,p=b.hoverPane.axis.endAngleRad,m=b.inverted?b.xAxis[0]:b.yAxis[0],n={},u="arc";n.x=c[0]+b.plotLeft;n.y=c[1]+b.plotTop;if(this.zoomHor){var q=0<k?p-k:Math.abs(k)+Math.abs(p),t=Math.atan2(e-b.plotTop-c[1],d-b.plotLeft-
-c[0])-k,r=Math.atan2(f-b.plotTop-c[1],g-b.plotLeft-c[0])-k;n.r=c[2]/2;n.innerR=c[3]/2;0>=t&&(t+=h);0>=r&&(r+=h);r<t&&(r=[t,t=r][0]);q<h&&k+r>p+(h-q)/2&&(r=t,t=0>=k?k:0);h=n.start=Math.max(t+k,k);t=n.end=Math.min(r+k,p);"polygon"===m.options.gridLineInterpolation&&(r=b.hoverPane.axis,q=h-r.startAngleRad+r.pos,t-=h,u=m.getPlotLinePath({value:m.max}),h=r.toValue(q),q=r.toValue(q+t),h<r.getExtremes().min&&(t=r.getExtremes(),h=t.max-(t.min-h)),q<r.getExtremes().min&&(t=r.getExtremes(),q=t.max-(t.min-q)),
-q<h&&(q=[h,h=q][0]),u=l(u,h,q,r),u.push(["L",c[0]+b.plotLeft,b.plotTop+c[1]]),n.d=u,u="path")}this.zoomVert&&(r=b.inverted?b.xAxis[0]:b.yAxis[0],d=Math.sqrt(Math.pow(d-b.plotLeft-c[0],2)+Math.pow(e-b.plotTop-c[1],2)),f=Math.sqrt(Math.pow(g-b.plotLeft-c[0],2)+Math.pow(f-b.plotTop-c[1],2)),f<d&&(d=[f,f=d][0]),f>c[2]/2&&(f=c[2]/2),d<c[3]/2&&(d=c[3]/2),this.zoomHor||(n.start=k,n.end=p),n.r=f,n.innerR=d,"polygon"===r.options.gridLineInterpolation&&(t=r.toValue(r.len+r.pos-d),h=r.toValue(r.len+r.pos-f),
-u=r.getPlotLinePath({value:h}).concat(r.getPlotLinePath({value:t,reverse:!0})),n.d=u,u="path"));this.zoomHor&&this.zoomVert&&"polygon"===m.options.gridLineInterpolation&&(r=b.hoverPane.axis,h=n.start||0,t=n.end||0,q=h-r.startAngleRad+r.pos,t-=h,h=r.toValue(q),q=r.toValue(q+t),n.d instanceof Array&&(c=n.d.slice(0,n.d.length/2),k=n.d.slice(n.d.length/2,n.d.length),k=L([],k,!0).reverse(),b=b.hoverPane.axis,c=l(c,h,q,b),(k=l(k,h,q,b))&&(k[0][0]="L"),k=L([],k,!0).reverse(),n.d=c.concat(k),u="path"));a.attrs=
-n;a.shapeType=u}}function p(){var a=this.chart;a.polar&&(this.polar=new S(this),a.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function e(){if(this.chart.polar&&this.xAxis){var a=this.chart;(this.kdByAngle=a.tooltip&&a.tooltip.shared)?this.searchPoint=g:this.options.findNearestPointBy="xy";for(var b=this.points,d=b.length;d--;)this.preventPostTranslate||this.polar.toXY(b[d]),a.hasParallelCoordinates||this.yAxis.reversed||(K(b[d].y,Number.MIN_VALUE)<this.yAxis.min||
-b[d].x<this.xAxis.min||b[d].x>this.xAxis.max?(b[d].isNull=!0,b[d].plotY=NaN):b[d].isNull=b[d].isValid&&!b[d].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(B(this,"afterRender",function(){if(a.polar){var b=this.yAxis.pane.center;if(this.clipCircle)this.clipCircle.animate({x:b[0],y:b[1],r:b[2]/2,innerR:b[3]/2});else{var d=a.renderer,e=b[0],f=b[1],g=b[2]/2,h=b[3]/2;b=U();var k=d.createElement("clipPath").attr({id:b}).add(d.defs);d=h?d.arc(e,f,g,h,0,2*Math.PI).add(k):
-d.circle(e,f,g).add(k);d.id=b;d.clipPath=k;this.clipCircle=d}this.group.clip(this.clipCircle);this.setClip=c.noop}})))}}function g(a){var b=this.chart,c=this.xAxis;c=c.pane&&c.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-(c&&c[0]||0)-b.plotLeft,a.chartY-(c&&c[1]||0)-b.plotTop)})}function l(a,b,c,d){var e=d.tickInterval;d=d.tickPositions;var f=G(d,function(a){return a>=c}),g=G(L([],d,!0).reverse(),function(a){return a<=b});z(f)||(f=d[d.length-1]);z(g)||(g=d[0],
-f+=e,a[0][0]="L",a.unshift(a[a.length-3]));a=a.slice(d.indexOf(g),d.indexOf(f)+1);a[0][0]="M";return a}function k(a,b){return G(this.pane||[],function(a){return a.options.id===b})||a.call(this,b)}function J(a,b,c,d,e,f){var g=this.chart,h=K(d.inside,!!this.options.stacking);g.polar?(a=b.rectPlotX/Math.PI*180,g.inverted?(this.forceDL=g.isInsidePlot(b.plotX,b.plotY),h&&b.shapeArgs?(e=b.shapeArgs,e=this.yAxis.postTranslate(((e.start||0)+(e.end||0))/2-this.xAxis.startAngleRad,b.barX+b.pointWidth/2),e=
-{x:e.x-g.plotLeft,y:e.y-g.plotTop}):b.tooltipPos&&(e={x:b.tooltipPos[0],y:b.tooltipPos[1]}),d.align=K(d.align,"center"),d.verticalAlign=K(d.verticalAlign,"middle")):(null===d.align&&(d.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===d.verticalAlign&&(d.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle")),Object.getPrototypeOf(Object.getPrototypeOf(this)).alignDataLabel.call(this,b,c,d,e,f),this.isRadialBar&&b.shapeArgs&&b.shapeArgs.start===b.shapeArgs.end?c.hide():c.show()):
-a.call(this,b,c,d,e,f)}function H(a){var b=this.options,c=b.stacking,d=this.chart,e=this.xAxis,g=this.yAxis,h=g.reversed,k=g.center,l=e.startAngleRad,n=e.endAngleRad-l,p=0,m=0,q=0;this.preventPostTranslate=!0;a.call(this);if(e.isRadial){a=this.points;e=a.length;var t=g.translate(g.min);var u=g.translate(g.max);b=b.threshold||0;d.inverted&&r(b)&&(p=g.translate(b),z(p)&&(0>p?p=0:p>n&&(p=n),this.translatedThreshold=p+l));for(;e--;){b=a[e];var v=b.barX;var y=b.x;var w=b.y;b.shapeType="arc";if(d.inverted){b.plotY=
-g.translate(w);c&&g.stacking?(w=g.stacking.stacks[(0>w?"-":"")+this.stackKey],this.visible&&w&&w[y]&&!b.isNull&&(q=w[y].points[this.getStackIndicator(void 0,y,this.index).key],m=g.translate(q[0]),q=g.translate(q[1]),z(m)&&(m=f.clamp(m,0,n)))):(m=p,q=b.plotY);m>q&&(q=[m,m=q][0]);if(!h)if(m<t)m=t;else if(q>u)q=u;else{if(q<t||m>u)m=q=0}else if(q>t)q=t;else if(m<u)m=u;else if(m>t||q<u)m=q=n;g.min>g.max&&(m=q=h?n:0);m+=l;q+=l;k&&(b.barX=v+=k[3]/2);y=Math.max(v,0);w=Math.max(v+b.pointWidth,0);b.shapeArgs=
-{x:k&&k[0],y:k&&k[1],r:w,innerR:y,start:m,end:q};b.opacity=m===q?0:void 0;b.plotY=(z(this.translatedThreshold)&&(m<this.translatedThreshold?m:q))-l}else m=v+l,b.shapeArgs=this.polar.arc(b.yBottom,b.plotY,m,m+b.pointWidth);this.polar.toXY(b);d.inverted?(v=g.postTranslate(b.rectPlotY,v+b.pointWidth/2),b.tooltipPos=[v.x-d.plotLeft,v.y-d.plotTop]):b.tooltipPos=[b.plotX,b.plotY];k&&(b.ttBelow=b.plotY>k[1])}}}function M(a,b){var c=this;if(this.chart.polar){b=b||this.points;for(var d=0;d<b.length;d++)if(!b[d].isNull){var e=
-d;break}if(!1!==this.options.connectEnds&&"undefined"!==typeof e){this.connectEnds=!0;b.splice(b.length,0,b[e]);var f=!0}b.forEach(function(a){"undefined"===typeof a.polarPlotY&&c.polar.toXY(a)})}e=a.apply(this,[].slice.call(arguments,1));f&&b.pop();return e}function F(a,b){var c=this.chart,d={xAxis:[],yAxis:[]};c.polar?c.axes.forEach(function(a){if("colorAxis"!==a.coll){var e=a.isXAxis,f=a.center,g=b.chartX-f[0]-c.plotLeft;f=b.chartY-f[1]-c.plotTop;d[e?"xAxis":"yAxis"].push({axis:a,value:a.translate(e?
-Math.PI-Math.atan2(g,f):Math.sqrt(Math.pow(g,2)+Math.pow(f,2)),!0)})}}):d=a.call(this,b);return d}function v(a,b){this.chart.polar||a.call(this,b)}function Q(a,b){var d=this,e=this.chart,f=this.group,g=this.markerGroup,h=this.xAxis&&this.xAxis.center,k=e.plotLeft,l=e.plotTop,m=this.options.animation,p,n,q,t;if(e.polar)if(d.isRadialBar)b||(d.startAngleRad=K(d.translatedThreshold,d.xAxis.startAngleRad),c.seriesTypes.pie.prototype.animate.call(d,b));else{if(e.renderer.isSVG)if(m=w(m),d.is("column")){if(!b){var r=
-h[3]/2;d.points.forEach(function(a){p=a.graphic;q=(n=a.shapeArgs)&&n.r;t=n&&n.innerR;p&&n&&(p.attr({r:r,innerR:r}),p.animate({r:q,innerR:t},d.options.animation))})}}else b?(a={translateX:h[0]+k,translateY:h[1]+l,scaleX:.001,scaleY:.001},f.attr(a),g&&g.attr(a)):(a={translateX:k,translateY:l,scaleX:1,scaleY:1},f.animate(a,m),g&&g.animate(a,m))}else a.call(this,b)}function I(a,b,c,d){this.chart.polar?d?(a=h(b,d,!0,this.connectEnds),b=a.prevPointCont&&a.prevPointCont.rightContX,c=a.prevPointCont&&a.prevPointCont.rightContY,
-a=["C",r(b)?b:a.plotX,r(c)?c:a.plotY,r(a.leftContX)?a.leftContX:a.plotX,r(a.leftContY)?a.leftContY:a.plotY,a.plotX,a.plotY]):a=["M",c.plotX,c.plotY]:a=a.call(this,b,c,d);return a}var L=this&&this.__spreadArray||function(a,b,c){if(c||2===arguments.length)for(var d=0,e=b.length,f;d<e;d++)!f&&d in b||(f||(f=Array.prototype.slice.call(b,0,d)),f[d]=b[d]);return a.concat(f||Array.prototype.slice.call(b))},w=b.animObject,B=f.addEvent,z=f.defined,G=f.find,r=f.isNumber,K=f.pick,V=f.splat,U=f.uniqueKey,A=f.wrap,
-N=[],S=function(){function b(a){this.series=a}b.compose=function(b,c,d,f,g,h,l,r,u){a.compose(b,g);-1===N.indexOf(c)&&(N.push(c),B(c,"afterDrawChartBox",m),B(c,"getAxes",n),B(c,"init",q),A(c.prototype,"get",k));-1===N.indexOf(d)&&(N.push(d),b=d.prototype,A(b,"getCoordinates",F),A(b,"pinch",v),B(d,"getSelectionMarkerAttrs",t),B(d,"getSelectionBox",D));-1===N.indexOf(f)&&(N.push(f),B(f,"afterInit",p),B(f,"afterTranslate",e,{order:2}),A(f.prototype,"animate",Q));l&&-1===N.indexOf(l)&&(N.push(l),d=l.prototype,
-A(d,"alignDataLabel",J),A(d,"animate",Q),A(d,"translate",H));r&&-1===N.indexOf(r)&&(N.push(r),A(r.prototype,"getGraphPath",M));u&&-1===N.indexOf(u)&&(N.push(u),r=u.prototype,A(r,"getPointSpline",I),h&&-1===N.indexOf(h)&&(N.push(h),h.prototype.getPointSpline=r.getPointSpline))};b.prototype.arc=function(a,b,c,d){var e=this.series,f=e.xAxis.center,g=e.yAxis.len,h=f[3]/2;b=g-b+h;a=g-K(a,g)+h;e.yAxis.reversed&&(0>b&&(b=h),0>a&&(a=h));return{x:f[0],y:f[1],r:b,innerR:a,start:c,end:d}};b.prototype.toXY=function(a){var b=
-this.series,c=b.chart,d=b.xAxis,e=b.yAxis,f=a.plotX,g=c.inverted,h=a.y,k=a.plotY,l=g?f:e.len-k;g&&b&&!b.isRadialBar&&(a.plotY=k=r(h)?e.translate(h):0);a.rectPlotX=f;a.rectPlotY=k;e.center&&(l+=e.center[3]/2);r(k)&&(e=g?e.postTranslate(k,l):d.postTranslate(f,l),a.plotX=a.polarPlotX=e.x-c.plotLeft,a.plotY=a.polarPlotY=e.y-c.plotTop);b.kdByAngle?(b=(f/Math.PI*180+d.pane.options.startAngle)%360,0>b&&(b+=360),a.clientX=b):a.clientX=a.plotX};return b}();return S});D(d,"masters/highcharts-more.src.js",[d["Core/Globals.js"],
-d["Core/Series/SeriesRegistry.js"],d["Series/Bubble/BubbleSeries.js"],d["Series/PackedBubble/PackedBubbleSeries.js"],d["Series/PolarComposition.js"]],function(b,c,d,a,f){d.compose(b.Axis,b.Chart,b.Legend,b.Series);a.compose(b.Axis,b.Chart,b.Legend,b.Series);f.compose(b.Axis,b.Chart,b.Pointer,b.Series,b.Tick,c.seriesTypes.areasplinerange,c.seriesTypes.column,c.seriesTypes.line,c.seriesTypes.spline)})});
+"Extensions/Pane.js",[d["Core/Chart/Chart.js"],d["Series/CenteredUtilities.js"],d["Core/Globals.js"],d["Core/Pointer.js"],d["Core/Utilities.js"]],function(b,c,h,a,f){function w(g,k,e,a,G){var m=!0,E=e[0],v=e[1],c=Math.sqrt(Math.pow(g-E,2)+Math.pow(k-v,2));q(a)&&q(G)&&(g=Math.atan2(r(k-v,8),r(g-E,8)),G!==a&&(m=a>G?g>=a&&g<=Math.PI||g<=G&&g>=-Math.PI:g>=a&&g<=r(G,8)));return c<=Math.ceil(e[2]/2)&&m}var d=f.addEvent,r=f.correctFloat,q=f.defined,F=f.extend,p=f.merge,l=f.pick,e=f.splat;b.prototype.collectionsWithUpdate.push("pane");
+f=function(){function g(k,g){this.options=this.chart=this.center=this.background=void 0;this.coll="pane";this.defaultOptions={center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0};this.defaultBackgroundOptions={shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"};this.init(k,g)}g.prototype.init=function(k,g){this.chart=g;this.background=
+[];g.pane.push(this);this.setOptions(k)};g.prototype.setOptions=function(k){this.options=p(this.defaultOptions,this.chart.angular?{background:{}}:void 0,k)};g.prototype.render=function(){var k=this.options,g=this.options.background,a=this.chart.renderer;this.group||(this.group=a.g("pane-group").attr({zIndex:k.zIndex||0}).add());this.updateCenter();if(g)for(g=e(g),k=Math.max(g.length,this.background.length||0),a=0;a<k;a++)g[a]&&this.axis?this.renderBackground(p(this.defaultBackgroundOptions,g[a]),
+a):this.background[a]&&(this.background[a]=this.background[a].destroy(),this.background.splice(a,1))};g.prototype.renderBackground=function(g,e){var k="animate",m={"class":"highcharts-pane "+(g.className||"")};this.chart.styledMode||F(m,{fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.borderWidth});this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),k="attr");this.background[e][k]({d:this.axis.getPlotBandPath(g.from,g.to,g)}).attr(m)};g.prototype.updateCenter=
+function(g){this.center=(g||this.axis||{}).center=c.getCenter.call(this)};g.prototype.update=function(g,e){p(!0,this.options,g);this.setOptions(this.options);this.render();this.chart.axes.forEach(function(g){g.pane===this&&(g.pane=null,g.update({},e))},this)};return g}();b.prototype.getHoverPane=function(g){var e=this,m;g&&e.pane.forEach(function(k){w(g.chartX-e.plotLeft,g.chartY-e.plotTop,k.center)&&(m=k)});return m};d(b,"afterIsInsidePlot",function(g){if(this.polar){if(g.options.inverted){var e=
+[g.y,g.x];g.x=e[0];g.y=e[1]}g.isInsidePlot=this.pane.some(function(e){return w(g.x,g.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)})}});d(a,"beforeGetHoverData",function(g){var e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(g),g.filter=function(k){return k.visible&&!(!g.shared&&k.directTouch)&&l(k.options.enableMouseTracking,!0)&&(!e.hoverPane||k.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0});d(a,"afterGetHoverData",function(g){var e=this.chart;g.hoverPoint&&
+g.hoverPoint.plotX&&g.hoverPoint.plotY&&e.hoverPane&&!w(g.hoverPoint.plotX,g.hoverPoint.plotY,e.hoverPane.center)&&(g.hoverPoint=void 0)});h.Pane=f;return h.Pane});D(d,"Series/AreaRange/AreaRangePoint.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c){var h=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};
+return function(c,b){function f(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(f.prototype=b.prototype,new f)}}();b=b.seriesTypes.area.prototype;var a=b.pointClass.prototype,f=c.defined,d=c.isNumber;return function(c){function b(){var a=null!==c&&c.apply(this,arguments)||this;a.high=void 0;a.low=void 0;a.options=void 0;a.plotX=void 0;a.series=void 0;return a}h(b,c);b.prototype.setState=function(){var c=this.state,b=this.series,h=b.chart.polar;f(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,
+!0));f(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.graphics&&this.graphics[1];this.plotY=this.plotHigh;h&&d(this.plotHighX)&&(this.plotX=this.plotHighX);a.setState.apply(this,arguments);this.state=c;this.plotY=this.plotLow;this.graphic=this.graphics&&this.graphics[0];h&&d(this.plotLowX)&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&
+(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);a.setState.apply(this,arguments)};b.prototype.haloPath=function(){var b=this.series.chart.polar,c=[];this.plotY=this.plotLow;b&&d(this.plotLowX)&&(this.plotX=this.plotLowX);this.isInside&&(c=a.haloPath.apply(this,arguments));this.plotY=this.plotHigh;b&&d(this.plotHighX)&&(this.plotX=this.plotHighX);this.isTopInside&&(c=c.concat(a.haloPath.apply(this,arguments)));return c};
+b.prototype.isValid=function(){return d(this.low)&&d(this.high)};return b}(b.pointClass)});D(d,"Series/AreaRange/AreaRangeSeries.js",[d["Series/AreaRange/AreaRangePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||function(){var g=function(e,k){g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,e){g.__proto__=e}||function(g,e){for(var k in e)e.hasOwnProperty(k)&&(g[k]=e[k])};return g(e,k)};return function(e,
+k){function m(){this.constructor=e}g(e,k);e.prototype=null===k?Object.create(k):(m.prototype=k.prototype,new m)}}();c=c.noop;var d=h.seriesTypes,n=d.area,r=d.area.prototype,q=d.column.prototype;d=a.addEvent;var F=a.defined,p=a.extend,l=a.isArray,e=a.isNumber,g=a.pick,k=a.merge,m={lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,
+xLow:0,xHigh:0,yLow:0,yHigh:0}};a=function(e){function a(){var g=null!==e&&e.apply(this,arguments)||this;g.data=void 0;g.options=void 0;g.points=void 0;g.lowerStateMarkerGraphic=void 0;g.xAxis=void 0;return g}f(a,e);a.prototype.toYData=function(g){return[g.low,g.high]};a.prototype.highToXY=function(g){var e=this.chart,k=this.xAxis.postTranslate(g.rectPlotX||0,this.yAxis.len-(g.plotHigh||0));g.plotHighX=k.x-e.plotLeft;g.plotHigh=k.y-e.plotTop;g.plotLowX=g.plotX};a.prototype.getGraphPath=function(e){var k=
+[],a=[],m=r.getGraphPath,b=this.options,c=this.chart.polar,x=c&&!1!==b.connectEnds,B=b.connectNulls,y,f=b.step;e=e||this.points;for(y=e.length;y--;){var t=e[y];var G=c?{plotX:t.rectPlotX,plotY:t.yBottom,doCurve:!1}:{plotX:t.plotX,plotY:t.plotY,doCurve:!1};t.isNull||x||B||e[y+1]&&!e[y+1].isNull||a.push(G);var l={polarPlotY:t.polarPlotY,rectPlotX:t.rectPlotX,yBottom:t.yBottom,plotX:g(t.plotHighX,t.plotX),plotY:t.plotHigh,isNull:t.isNull};a.push(l);k.push(l);t.isNull||x||B||e[y-1]&&!e[y-1].isNull||a.push(G)}e=
+m.call(this,e);f&&(!0===f&&(f="left"),b.step={left:"right",center:"center",right:"left"}[f]);k=m.call(this,k);a=m.call(this,a);b.step=f;b=[].concat(e,k);!this.chart.polar&&a[0]&&"M"===a[0][0]&&(a[0]=["L",a[0][1],a[0][2]]);this.graphPath=b;this.areaPath=e.concat(a);b.isArea=!0;b.xMap=e.xMap;this.areaPath.xMap=e.xMap;return b};a.prototype.drawDataLabels=function(){var e=this.points,g=e.length,k=[],a=this.options.dataLabels,m=this.chart.inverted,b,x;if(a){if(l(a)){var c=a[0]||{enabled:!1};var y=a[1]||
+{enabled:!1}}else c=p({},a),c.x=a.xHigh,c.y=a.yHigh,y=p({},a),y.x=a.xLow,y.y=a.yLow;if(c.enabled||this._hasPointLabels){for(b=g;b--;)if(x=e[b]){var f=x.plotHigh;f=void 0===f?0:f;var t=x.plotLow;t=void 0===t?0:t;t=c.inside?f<t:f>t;x.y=x.high;x._plotY=x.plotY;x.plotY=f;k[b]=x.dataLabel;x.dataLabel=x.dataLabelUpper;x.below=t;m?c.align||(c.align=t?"right":"left"):c.verticalAlign||(c.verticalAlign=t?"top":"bottom")}this.options.dataLabels=c;r.drawDataLabels&&r.drawDataLabels.apply(this,arguments);for(b=
+g;b--;)if(x=e[b])x.dataLabelUpper=x.dataLabel,x.dataLabel=k[b],delete x.dataLabels,x.y=x.low,x.plotY=x._plotY}if(y.enabled||this._hasPointLabels){for(b=g;b--;)if(x=e[b])k=x.plotHigh,f=void 0===k?0:k,k=x.plotLow,t=void 0===k?0:k,t=y.inside?f<t:f>t,x.below=!t,m?y.align||(y.align=t?"left":"right"):y.verticalAlign||(y.verticalAlign=t?"bottom":"top");this.options.dataLabels=y;r.drawDataLabels&&r.drawDataLabels.apply(this,arguments)}if(c.enabled)for(b=g;b--;)if(x=e[b])x.dataLabels=[x.dataLabelUpper,x.dataLabel].filter(function(e){return!!e});
+this.options.dataLabels=a}};a.prototype.alignDataLabel=function(){q.alignDataLabel.apply(this,arguments)};a.prototype.drawPoints=function(){var e=this.points.length,k;r.drawPoints.apply(this,arguments);for(k=0;k<e;){var a=this.points[k];a.graphics=a.graphics||[];a.origProps={plotY:a.plotY,plotX:a.plotX,isInside:a.isInside,negative:a.negative,zone:a.zone,y:a.y};if(a.graphic||a.graphics[0])a.graphics[0]=a.graphic;a.graphic=a.graphics[1];a.plotY=a.plotHigh;F(a.plotHighX)&&(a.plotX=a.plotHighX);a.y=g(a.high,
+a.origProps.y);a.negative=a.y<(this.options.threshold||0);this.zones.length&&(a.zone=a.getZone());this.chart.polar||(a.isInside=a.isTopInside="undefined"!==typeof a.plotY&&0<=a.plotY&&a.plotY<=this.yAxis.len&&0<=a.plotX&&a.plotX<=this.xAxis.len);k++}r.drawPoints.apply(this,arguments);for(k=0;k<e;){a=this.points[k];a.graphics=a.graphics||[];if(a.graphic||a.graphics[1])a.graphics[1]=a.graphic;a.graphic=a.graphics[0];a.origProps&&(p(a,a.origProps),delete a.origProps);k++}};a.defaultOptions=k(n.defaultOptions,
+m);return a}(n);d(a,"afterTranslate",function(){var g=this;"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(function(a){var k=a.high,m=a.plotY;a.isNull?a.plotY=void 0:(a.plotLow=m,a.plotHigh=e(k)?g.yAxis.translate(g.dataModify?g.dataModify.modifyValue(k):k,!1,!0,void 0,!0):void 0,g.dataModify&&(a.yBottom=a.plotHigh))})},{order:0});d(a,"afterTranslate",function(){var e=this;this.points.forEach(function(g){if(e.chart.polar)e.highToXY(g),g.plotLow=g.plotY,g.tooltipPos=[((g.plotHighX||0)+
+(g.plotLowX||0))/2,((g.plotHigh||0)+(g.plotLow||0))/2];else{var a=g.pos(!1,g.plotLow),k=g.pos(!1,g.plotHigh);a&&k&&(a[0]=(a[0]+k[0])/2,a[1]=(a[1]+k[1])/2);g.tooltipPos=a}})},{order:3});p(a.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:b,pointValKey:"low",setStackedPoints:c});h.registerSeriesType("arearange",a);"";return a});D(d,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[d["Series/AreaRange/AreaRangeSeries.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],
+function(b,c,h){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),f=c.seriesTypes.spline.prototype,d=h.merge;h=h.extend;var n=function(c){function f(){var a=null!==c&&c.apply(this,arguments)||this;
+a.options=void 0;a.data=void 0;a.points=void 0;return a}a(f,c);f.defaultOptions=d(b.defaultOptions);return f}(b);h(n.prototype,{getPointSpline:f.getPointSpline});c.registerSeriesType("areasplinerange",n);"";return n});D(d,"Series/BoxPlot/BoxPlotSeries.js",[d["Series/Column/ColumnSeries.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&
+function(a,e){a.__proto__=e}||function(a,e){for(var g in e)e.hasOwnProperty(g)&&(a[g]=e[g])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();c=c.noop;var d=a.extend,n=a.merge,r=a.pick;a=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}f(c,a);c.prototype.pointAttribs=function(){return{}};c.prototype.translate=function(){var b=
+this.yAxis,c=this.pointArrayMap;a.prototype.translate.apply(this);this.points.forEach(function(a){c.forEach(function(g){null!==a[g]&&(a[g+"Plot"]=b.translate(a[g],0,1,0,1))});a.plotHigh=a.highPlot})};c.prototype.drawPoints=function(){var a=this,b=a.options,e=a.chart,g=e.renderer,k,c,f,h,d,E,v=0,n,I,K,x,B=!1!==a.doQuartiles,y,H=a.options.whiskerLength;a.points.forEach(function(m){var t=m.graphic,G=t?"animate":"attr",N=m.shapeArgs,L={},l={},w={},u={},C=m.color||a.color;"undefined"!==typeof m.plotY&&
+(n=Math.round(N.width),I=Math.floor(N.x),K=I+n,x=Math.round(n/2),k=Math.floor(B?m.q1Plot:m.lowPlot),c=Math.floor(B?m.q3Plot:m.lowPlot),f=Math.floor(m.highPlot),h=Math.floor(m.lowPlot),t||(m.graphic=t=g.g("point").add(a.group),m.stem=g.path().addClass("highcharts-boxplot-stem").add(t),H&&(m.whiskers=g.path().addClass("highcharts-boxplot-whisker").add(t)),B&&(m.box=g.path(void 0).addClass("highcharts-boxplot-box").add(t)),m.medianShape=g.path(void 0).addClass("highcharts-boxplot-median").add(t)),e.styledMode||
+(l.stroke=m.stemColor||b.stemColor||C,l["stroke-width"]=r(m.stemWidth,b.stemWidth,b.lineWidth),l.dashstyle=m.stemDashStyle||b.stemDashStyle||b.dashStyle,m.stem.attr(l),H&&(w.stroke=m.whiskerColor||b.whiskerColor||C,w["stroke-width"]=r(m.whiskerWidth,b.whiskerWidth,b.lineWidth),w.dashstyle=m.whiskerDashStyle||b.whiskerDashStyle||b.dashStyle,m.whiskers.attr(w)),B&&(L.fill=m.fillColor||b.fillColor||C,L.stroke=b.lineColor||C,L["stroke-width"]=b.lineWidth||0,L.dashstyle=m.boxDashStyle||b.boxDashStyle||
+b.dashStyle,m.box.attr(L)),u.stroke=m.medianColor||b.medianColor||C,u["stroke-width"]=r(m.medianWidth,b.medianWidth,b.lineWidth),u.dashstyle=m.medianDashStyle||b.medianDashStyle||b.dashStyle,m.medianShape.attr(u)),E=m.stem.strokeWidth()%2/2,v=I+x+E,t=[["M",v,c],["L",v,f],["M",v,k],["L",v,h]],m.stem[G]({d:t}),B&&(E=m.box.strokeWidth()%2/2,k=Math.floor(k)+E,c=Math.floor(c)+E,I+=E,K+=E,t=[["M",I,c],["L",I,k],["L",K,k],["L",K,c],["L",I,c],["Z"]],m.box[G]({d:t})),H&&(E=m.whiskers.strokeWidth()%2/2,f+=
+E,h+=E,y=/%$/.test(H)?x*parseFloat(H)/100:H/2,t=[["M",v-y,f],["L",v+y,f],["M",v-y,h],["L",v+y,h]],m.whiskers[G]({d:t})),d=Math.round(m.medianPlot),E=m.medianShape.strokeWidth()%2/2,d+=E,t=[["M",I,d],["L",K,d]],m.medianShape[G]({d:t}))})};c.prototype.toYData=function(a){return[a.low,a.q1,a.median,a.q3,a.high]};c.defaultOptions=n(b.defaultOptions,{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},
+whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2});return c}(b);d(a.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:c,setStackedPoints:c});h.registerSeriesType("boxplot",a);"";return a});D(d,"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}});D(d,"Series/Bubble/BubbleLegendItem.js",[d["Core/Color/Color.js"],d["Core/FormatUtilities.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=b.parse,d=h.noop,n=a.arrayMax,r=a.arrayMin,q=a.isNumber,F=
+a.merge,p=a.pick,l=a.stableSort;b=function(){function a(a,e){this.options=this.symbols=this.visible=this.selected=this.ranges=this.movementX=this.maxLabel=this.legend=this.fontMetrics=this.chart=void 0;this.setState=d;this.init(a,e)}a.prototype.init=function(a,e){this.options=a;this.visible=!0;this.chart=e.chart;this.legend=e};a.prototype.addToLegend=function(a){a.splice(this.options.legendIndex,0,this)};a.prototype.drawLegendSymbol=function(a){var g=this.chart,e=p(a.options.itemDistance,20),b=this.legendItem||
+{},c=this.options,f=c.ranges,h=c.connectorDistance;this.fontMetrics=g.renderer.fontMetrics(c.labels.style.fontSize);f&&f.length&&q(f[0].value)?(l(f,function(a,g){return g.value-a.value}),this.ranges=f,this.setOptions(),this.render(),a=this.getMaxLabelSize(),f=this.ranges[0].radius,g=2*f,h=h-f+a.width,h=0<h?h:0,this.maxLabel=a,this.movementX="left"===c.labels.align?h:0,b.labelWidth=g+h+e,b.labelHeight=g+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=!0};a.prototype.setOptions=function(){var a=
+this.ranges,e=this.options,b=this.chart.series[e.seriesIndex],c=this.legend.baseline,h={zIndex:e.zIndex,"stroke-width":e.borderWidth},d={zIndex:e.zIndex,"stroke-width":e.connectorWidth},E={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},v=b.options.marker.fillOpacity,l=this.chart.styledMode;a.forEach(function(g,k){l||(h.stroke=p(g.borderColor,e.borderColor,b.color),h.fill=p(g.color,e.color,1!==v?f(b.color).setOpacity(v).get("rgba"):b.color),d.stroke=p(g.connectorColor,
+e.connectorColor,b.color));a[k].radius=this.getRangeRadius(g.value);a[k]=F(a[k],{center:a[0].radius-a[k].radius+c});l||F(!0,a[k],{bubbleAttribs:F(h),connectorAttribs:F(d),labelAttribs:E})},this)};a.prototype.getRangeRadius=function(a){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,a)};a.prototype.render=function(){var a=this.legendItem||{},e=this.chart.renderer,b=this.options.zThreshold;
+this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]});a.symbol=e.g("bubble-legend");a.label=e.g("bubble-legend-item");a.symbol.translateX=0;e=a.symbol.translateY=0;for(var c=this.ranges;e<c.length;e++){var f=c[e];f.value>=b&&this.renderRange(f)}a.symbol.add(a.label);a.label.add(a.group);this.hideOverlappingLabels()};a.prototype.renderRange=function(a){var e=this.options,g=e.labels,b=this.chart,c=b.series[e.seriesIndex],f=b.renderer,h=this.symbols;b=h.labels;var d=a.center,l=Math.abs(a.radius),
+I=e.connectorDistance||0,K=g.align,x=e.connectorWidth,B=this.ranges[0].radius||0,y=d-l-e.borderWidth/2+x/2,H=this.fontMetrics;H=H.f/2-(H.h-H.f)/2;var t=f.styledMode;I=this.legend.options.rtl||"left"===K?-I:I;"center"===K&&(I=0,e.connectorDistance=0,a.labelAttribs.align="center");K=y+e.labels.y;var n=B+I+e.labels.x;h.bubbleItems.push(f.circle(B,d+((y%1?1:.5)-(x%2?0:.5)),l).attr(t?{}:a.bubbleAttribs).addClass((t?"highcharts-color-"+c.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(e.className||
+"")).add(this.legendItem.symbol));h.connectors.push(f.path(f.crispLine([["M",B,y],["L",B+I,y]],e.connectorWidth)).attr(t?{}:a.connectorAttribs).addClass((t?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(e.connectorClassName||"")).add(this.legendItem.symbol));a=f.text(this.formatLabel(a),n,K+H).attr(t?{}:a.labelAttribs).css(t?{}:g.style).addClass("highcharts-bubble-legend-labels "+(e.labels.className||"")).add(this.legendItem.symbol);b.push(a);a.placed=
+!0;a.alignAttr={x:n,y:K+H}};a.prototype.getMaxLabelSize=function(){var a,e;this.symbols.labels.forEach(function(g){e=g.getBBox(!0);a=a?e.width>a.width?e:a:e});return a||{}};a.prototype.formatLabel=function(a){var e=this.options,g=e.labels.formatter;e=e.labels.format;var b=this.chart.numberFormatter;return e?c.format(e,a):g?g.call(a):b(a.value,1)};a.prototype.hideOverlappingLabels=function(){var a=this.chart,e=this.symbols;!this.options.labels.allowOverlap&&e&&(a.hideOverlappingLabels(e.labels),e.labels.forEach(function(a,
+g){a.newOpacity?a.newOpacity!==a.oldOpacity&&e.connectors[g].show():e.connectors[g].hide()}))};a.prototype.getRanges=function(){var a=this.legend.bubbleLegend,e=a.options.ranges,b,c=Number.MAX_VALUE,f=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(b=a.zData.filter(q),b.length&&(c=p(a.options.zMin,Math.min(c,Math.max(r(b),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),f=p(a.options.zMax,Math.max(f,n(b)))))});var h=c===f?[{value:f}]:[{value:c},
+{value:(c+f)/2},{value:f,autoRanges:!0}];e.length&&e[0].radius&&h.reverse();h.forEach(function(a,g){e&&e[g]&&(h[g]=F(e[g],a))});return h};a.prototype.predictBubbleSizes=function(){var a=this.chart,e=this.fontMetrics,b=a.legend.options,c=b.floating,f=(b="horizontal"===b.layout)?a.legend.lastLineHeight:0,h=a.plotSizeX,d=a.plotSizeY,v=a.series[this.options.seriesIndex],l=v.getPxExtremes();a=Math.ceil(l.minPxSize);l=Math.ceil(l.maxPxSize);var I=Math.min(d,h);v=v.options.maxSize;if(c||!/%$/.test(v))e=
+l;else if(v=parseFloat(v),e=(I+f-e.h/2)*v/100/(v/100+1),b&&d-e>=h||!b&&h-e>=d)e=l;return[a,Math.ceil(e)]};a.prototype.updateRanges=function(a,e){var b=this.legend.options.bubbleLegend;b.minSize=a;b.maxSize=e;b.ranges=this.getRanges()};a.prototype.correctSizes=function(){var a=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1<Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,e.maxPxSize),a.render())};return a}();"";return b});D(d,
+"Series/Bubble/BubbleLegendComposition.js",[d["Series/Bubble/BubbleLegendDefaults.js"],d["Series/Bubble/BubbleLegendItem.js"],d["Core/Defaults.js"],d["Core/Utilities.js"]],function(b,c,h,a){function f(a,b,g){var c=this.legend,m=0<=d(this),f;if(c&&c.options.enabled&&c.bubbleLegend&&c.options.bubbleLegend.autoRanges&&m){var k=c.bubbleLegend.options;m=c.bubbleLegend.predictBubbleSizes();c.bubbleLegend.updateRanges(m[0],m[1]);k.placed||(c.group.placed=!1,c.allItems.forEach(function(a){f=a.legendItem||
+{};f.group&&(f.group.translateY=null)}));c.render();this.getMargins();this.axes.forEach(function(a){a.visible&&a.render();k.placed||(a.setScale(),a.updateNames(),e(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))});k.placed=!0;this.getMargins();a.call(this,b,g);c.bubbleLegend.correctSizes();F(c,n(c))}else a.call(this,b,g),c&&c.options.enabled&&c.bubbleLegend&&(c.render(),F(c,n(c)))}function d(a){a=a.series;for(var e=0;e<a.length;){if(a[e]&&a[e].isBubble&&a[e].visible&&a[e].zData.length)return e;
+e++}return-1}function n(a){a=a.allItems;var e=[],b=a.length,g,c=0;for(g=0;g<b;g++){var f=a[g].legendItem||{};var k=(a[g+1]||{}).legendItem||{};f.labelHeight&&(a[g].itemHeight=f.labelHeight);if(a[g]===a[b-1]||f.y!==k.y){e.push({height:0});f=e[e.length-1];for(c;c<=g;c++)a[c].itemHeight>f.height&&(f.height=a[c].itemHeight);f.step=g}}return e}function r(a){var e=this.bubbleLegend,b=this.options,g=b.bubbleLegend,f=d(this.chart);e&&e.ranges&&e.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),
+this.destroyItem(e));0<=f&&b.enabled&&g.enabled&&(g.seriesIndex=f,this.bubbleLegend=new c(g,this),this.bubbleLegend.addToLegend(a.allItems))}function q(){var a=this.chart,e=this.visible,b=this.chart.legend;b&&b.bubbleLegend&&(this.visible=!e,this.ignoreSeries=e,a=0<=d(a),b.bubbleLegend.visible!==a&&(b.update({bubbleLegend:{enabled:a}}),b.bubbleLegend.visible=a),this.visible=e)}function F(a,e){var b=a.options.rtl,g,c,f,k,m=0;a.allItems.forEach(function(a,x){k=a.legendItem||{};if(k.group){g=k.group.translateX||
+0;c=k.y||0;if((f=a.movementX)||b&&a.ranges)f=b?g-a.options.maxSize/2:g+f,k.group.attr({translateX:f});x>e[m].step&&m++;k.group.attr({translateY:Math.round(c+e[m].height/2)});k.y=c+e[m].height/2}})}var p=h.setOptions,l=a.addEvent,e=a.objectEach,g=a.wrap,k=[];return{compose:function(a,e,c){-1===k.indexOf(a)&&(k.push(a),p({legend:{bubbleLegend:b}}),g(a.prototype,"drawChartBox",f));-1===k.indexOf(e)&&(k.push(e),l(e,"afterGetAllItems",r));-1===k.indexOf(c)&&(k.push(c),l(c,"legendItemClick",q))}}});D(d,
+"Series/Bubble/BubblePoint.js",[d["Core/Series/Point.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();h=h.extend;
+c=function(c){function f(){var a=null!==c&&c.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}a(f,c);f.prototype.haloPath=function(a){return b.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)};return f}(c.seriesTypes.scatter.prototype.pointClass);h(c.prototype,{ttBelow:!1});return c});D(d,"Series/Bubble/BubbleSeries.js",[d["Series/Bubble/BubbleLegendComposition.js"],d["Series/Bubble/BubblePoint.js"],d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],
+d["Core/Utilities.js"]],function(b,c,h,a,f,d){function n(){var a=this,e=this.len,b=this.chart,g=this.isXAxis,c=g?"xData":"yData",f=this.min,k=this.max-f,m=0,d=e,h=e/k,l;this.series.forEach(function(e){if(e.bubblePadding&&(e.visible||!b.options.chart.ignoreHiddenSeries)){l=a.allowZoomOutside=!0;var x=e[c];g&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii));if(0<k)for(var B=x.length;B--;)if(N(x[B])&&a.dataMin<=x[B]&&x[B]<=a.max){var y=e.radii&&e.radii[B]||0;m=Math.min((x[B]-f)*
+h-y,m);d=Math.max((x[B]-f)*h+y,d)}}});l&&0<k&&!this.logarithmic&&(d-=e,h*=(e+Math.max(0,m)-Math.min(d,e))/e,[["min","userMin",m],["max","userMax",d]].forEach(function(e){"undefined"===typeof L(a.options[e[0]],a[e[1]])&&(a[e[0]]+=e[2]/h)}))}var w=this&&this.__extends||function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function g(){this.constructor=
+e}a(e,b);e.prototype=null===b?Object.create(b):(g.prototype=b.prototype,new g)}}(),q=h.parse;h=a.noop;var F=f.series,p=f.seriesTypes;a=p.column.prototype;var l=p.scatter;p=d.addEvent;var e=d.arrayMax,g=d.arrayMin,k=d.clamp,m=d.extend,N=d.isNumber,G=d.merge,L=d.pick,E=[];d=function(a){function c(){var e=null!==a&&a.apply(this,arguments)||this;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;return e}w(c,a);c.compose=function(a,
+e,c,g){b.compose(e,c,g);-1===E.indexOf(a)&&(E.push(a),a.prototype.beforePadding=n)};c.prototype.animate=function(a){!a&&this.points.length<this.options.animationLimit&&this.points.forEach(function(a){var e=a.graphic;e&&e.width&&(this.hasRendered||e.attr({x:a.plotX,y:a.plotY,width:1,height:1}),e.animate(this.markerAttribs(a),this.options.animation))},this)};c.prototype.getRadii=function(){var a=this,e=this.zData,b=this.yData,c=[],g=this.chart.bubbleZExtremes;var f=this.getPxExtremes();var k=f.minPxSize,
+m=f.maxPxSize;if(!g){var d=Number.MAX_VALUE,h=-Number.MAX_VALUE,l;this.chart.series.forEach(function(e){e.bubblePadding&&(e.visible||!a.chart.options.chart.ignoreHiddenSeries)&&(e=(e.onPoint||e).getZExtremes())&&(d=Math.min(d||e.zMin,e.zMin),h=Math.max(h||e.zMax,e.zMax),l=!0)});l?(g={zMin:d,zMax:h},this.chart.bubbleZExtremes=g):g={zMin:0,zMax:0}}var n=0;for(f=e.length;n<f;n++){var v=e[n];c.push(this.getRadius(g.zMin,g.zMax,k,m,v,b&&b[n]))}this.radii=c};c.prototype.getRadius=function(a,e,b,c,g,f){var x=
+this.options,k="width"!==x.sizeBy,m=x.zThreshold,d=e-a,h=.5;if(null===f||null===g)return null;if(N(g)){x.sizeByAbsoluteValue&&(g=Math.abs(g-m),d=Math.max(e-m,Math.abs(a-m)),a=0);if(g<a)return b/2-1;0<d&&(h=(g-a)/d)}k&&0<=h&&(h=Math.sqrt(h));return Math.ceil(b+h*(c-b))/2};c.prototype.hasData=function(){return!!this.processedXData.length};c.prototype.pointAttribs=function(a,e){var b=this.options.marker.fillOpacity;a=F.prototype.pointAttribs.call(this,a,e);1!==b&&(a.fill=q(a.fill).setOpacity(b).get("rgba"));
+return a};c.prototype.translate=function(){a.prototype.translate.call(this);this.getRadii();this.translateBubble()};c.prototype.translateBubble=function(){for(var a=this.data,e=this.radii,b=this.getPxExtremes().minPxSize,c=a.length;c--;){var g=a[c],f=e?e[c]:0;N(f)&&f>=b/2?(g.marker=m(g.marker,{radius:f,width:2*f,height:2*f}),g.dlBox={x:g.plotX-f,y:g.plotY-f,width:2*f,height:2*f}):(g.shapeArgs=g.plotY=g.dlBox=void 0,g.isInside=!1)}};c.prototype.getPxExtremes=function(){var a=Math.min(this.chart.plotWidth,
+this.chart.plotHeight),e=function(e){if("string"===typeof e){var b=/%$/.test(e);e=parseInt(e,10)}return b?a*e/100:e},b=e(L(this.options.minSize,8));e=Math.max(e(L(this.options.maxSize,"20%")),b);return{minPxSize:b,maxPxSize:e}};c.prototype.getZExtremes=function(){var a=this.options,b=(this.zData||[]).filter(N);if(b.length){var c=L(a.zMin,k(g(b),!1===a.displayNegative?a.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE));a=L(a.zMax,e(b));if(N(c)&&N(a))return{zMin:c,zMax:a}}};c.defaultOptions=G(l.defaultOptions,
+{dataLabels:{formatter:function(){var a=this.series.chart.numberFormatter,e=this.point.z;return N(e)?a(e,-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"});return c}(l);m(d.prototype,{alignDataLabel:a.alignDataLabel,
+applyZones:h,bubblePadding:!0,buildKDTree:h,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:c,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"});p(d,"updatedData",function(a){delete a.target.chart.bubbleZExtremes});p(d,"remove",function(a){delete a.target.chart.bubbleZExtremes});f.registerSeriesType("bubble",d);"";"";return d});D(d,"Series/ColumnRange/ColumnRangePoint.js",[d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],
+function(b,c){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),a=b.seriesTypes;b=a.column.prototype.pointClass.prototype;var f=c.extend,d=c.isNumber;c=function(a){function b(){var b=null!==a&&
+a.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}h(b,a);b.prototype.isValid=function(){return d(this.low)};return b}(a.arearange.prototype.pointClass);f(c.prototype,{setState:b.setState});return c});D(d,"Series/ColumnRange/ColumnRangeSeries.js",[d["Series/ColumnRange/ColumnRangePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,d,a){var f=this&&this.__extends||function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof
+Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function c(){this.constructor=e}a(e,b);e.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}}();c=c.noop;var h=d.seriesTypes,n=h.arearange,r=h.column,q=h.column.prototype,F=a.clamp;h=a.extend;var p=a.isNumber,l=a.merge,e=a.pick,g={pointRange:null,marker:null,states:{hover:{halo:!1}}};a=function(a){function b(){return null!==a&&a.apply(this,arguments)||
+this}f(b,a);b.prototype.setOptions=function(){l(!0,arguments[0],{stacking:void 0});return n.prototype.setOptions.apply(this,arguments)};b.prototype.translate=function(){var a=this,b=this.yAxis,c=this.xAxis,g=c.startAngleRad,f=this.chart,k=this.xAxis.isRadial,d=Math.max(f.chartWidth,f.chartHeight)+999,h,x,m,l;q.translate.apply(this);this.points.forEach(function(B){var t=B.shapeArgs||{},y=a.options.minPointLength,n=B.plotY,H=b.translate(B.high,0,1,0,1);p(H)&&p(n)&&(B.plotHigh=F(H,-d,d),B.plotLow=F(n,
+-d,d),l=B.plotHigh,h=e(B.rectPlotY,B.plotY)-B.plotHigh,Math.abs(h)<y?(x=y-h,h+=x,l-=x/2):0>h&&(h*=-1,l-=h),k&&a.polar?(m=B.barX+g,B.shapeType="arc",B.shapeArgs=a.polar.arc(l+h,l,m,m+B.pointWidth)):(t.height=h,t.y=l,y=t.x,y=void 0===y?0:y,t=t.width,t=void 0===t?0:t,B.tooltipPos=f.inverted?[b.len+b.pos-f.plotLeft-l-h/2,c.len+c.pos-f.plotTop-y-t/2,h]:[c.left-f.plotLeft+y+t/2,b.pos-f.plotTop+l+h/2,h]))})};b.prototype.pointAttribs=function(){return q.pointAttribs.apply(this,arguments)};b.prototype.translate3dPoints=
+function(){return q.translate3dPoints.apply(this,arguments)};b.prototype.translate3dShapes=function(){return q.translate3dShapes.apply(this,arguments)};b.defaultOptions=l(r.defaultOptions,n.defaultOptions,g);return b}(n);h(a.prototype,{directTouch:!0,pointClass:b,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:q.adjustForMissingColumns,animate:q.animate,crispCol:q.crispCol,drawGraph:c,drawPoints:q.drawPoints,getSymbol:c,drawTracker:q.drawTracker,getColumnMetrics:q.getColumnMetrics});
+d.registerSeriesType("columnrange",a);"";return a});D(d,"Series/ColumnPyramid/ColumnPyramidSeries.js",[d["Series/Column/ColumnSeries.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(b,c)};return function(b,c){function f(){this.constructor=b}a(b,c);b.prototype=
+null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),f=b.prototype,d=h.clamp,n=h.merge,r=h.pick;h=function(c){function h(){var a=null!==c&&c.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}a(h,c);h.prototype.translate=function(){var a=this,b=a.chart,e=a.options,c=a.dense=2>a.closestPointRange*a.xAxis.transA;c=a.borderWidth=r(e.borderWidth,c?0:1);var k=a.yAxis,h=e.threshold,n=a.translatedThreshold=k.getThreshold(h),G=r(e.minPointLength,5),w=a.getColumnMetrics(),
+E=w.width,v=a.barW=Math.max(E,1+2*c),q=a.pointXOffset=w.offset;b.inverted&&(n-=.5);e.pointPadding&&(v=Math.ceil(v));f.translate.apply(a);a.points.forEach(function(c){var g=r(c.yBottom,n),f=999+Math.abs(g),m=d(c.plotY,-f,k.len+f);f=c.plotX+q;var y=v/2,l=Math.min(m,g);g=Math.max(m,g)-l;var t;c.barX=f;c.pointWidth=E;c.tooltipPos=b.inverted?[k.len+k.pos-b.plotLeft-m,a.xAxis.len-f-y,g]:[f+y,m+k.pos-b.plotTop,g];m=h+(c.total||c.y);"percent"===e.stacking&&(m=h+(0>c.y)?-100:100);m=k.toPixels(m,!0);var J=
+(t=b.plotHeight-m-(b.plotHeight-n))?y*(l-m)/t:0;var w=t?y*(l+g-m)/t:0;t=f-J+y;J=f+J+y;var p=f+w+y;w=f-w+y;var A=l-G;var F=l+g;0>c.y&&(A=l,F=l+g+G);b.inverted&&(p=k.width-l,t=m-(k.width-n),J=y*(m-p)/t,w=y*(m-(p-g))/t,t=f+y+J,J=t-2*J,p=f-w+y,w=f+w+y,A=l,F=l+g-G,0>c.y&&(F=l+g+G));c.shapeType="path";c.shapeArgs={x:t,y:A,width:J-t,height:g,d:[["M",t,A],["L",J,A],["L",p,F],["L",w,F],["Z"]]}})};h.defaultOptions=n(b.defaultOptions,{});return h}(b);c.registerSeriesType("columnpyramid",h);"";return h});D(d,
+"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){"";return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}});D(d,"Series/ErrorBar/ErrorBarSeries.js",[d["Series/BoxPlot/BoxPlotSeries.js"],d["Series/Column/ColumnSeries.js"],d["Series/ErrorBar/ErrorBarSeriesDefaults.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,
+c,h,a,f){var d=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(b,e)};return function(b,e){function c(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),n=a.seriesTypes.arearange,r=f.addEvent,q=f.merge;f=f.extend;var F=function(a){function f(){var e=null!==a&&a.apply(this,arguments)||this;
+e.data=void 0;e.options=void 0;e.points=void 0;return e}d(f,a);f.prototype.getColumnMetrics=function(){return this.linkedParent&&this.linkedParent.columnMetrics||c.prototype.getColumnMetrics.call(this)};f.prototype.drawDataLabels=function(){var a=this.pointValKey;n&&(n.prototype.drawDataLabels.call(this),this.data.forEach(function(e){e.y=e[a]}))};f.prototype.toYData=function(a){return[a.low,a.high]};f.defaultOptions=q(b.defaultOptions,h);return f}(b);r(F,"afterTranslate",function(){this.points.forEach(function(a){a.plotLow=
+a.plotY})},{order:0});f(F.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1});a.registerSeriesType("errorbar",F);return F});D(d,"Series/Gauge/GaugePoint.js",[d["Core/Series/SeriesRegistry.js"]],function(b){var c=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return b(a,c)};return function(a,c){function f(){this.constructor=
+a}b(a,c);a.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();return function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;a.shapeArgs=void 0;return a}c(a,b);a.prototype.setState=function(a){this.state=a};return a}(b.series.prototype.pointClass)});D(d,"Series/Gauge/GaugeSeries.js",[d["Series/Gauge/GaugePoint.js"],d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(b,c,h,a){var f=this&&this.__extends||
+function(){var a=function(e,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var b in e)e.hasOwnProperty(b)&&(a[b]=e[b])};return a(e,b)};return function(e,b){function c(){this.constructor=e}a(e,b);e.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}}();c=c.noop;var d=h.series,n=h.seriesTypes.column,r=a.clamp,q=a.isNumber,F=a.extend,p=a.merge,l=a.pick,e=a.pInt;a=function(a){function b(){var e=null!==a&&a.apply(this,arguments)||
+this;e.data=void 0;e.points=void 0;e.options=void 0;e.yAxis=void 0;return e}f(b,a);b.prototype.translate=function(){var a=this.yAxis,b=this.options,c=a.center;this.generatePoints();this.points.forEach(function(g){var f=p(b.dial,g.dial),d=e(f.radius)*c[2]/200,h=e(f.baseLength)*d/100,k=e(f.rearLength)*d/100,m=f.baseWidth,x=f.topWidth,B=b.overshoot,y=a.startAngleRad+a.translate(g.y,void 0,void 0,void 0,!0);if(q(B)||!1===b.wrap)B=q(B)?B/180*Math.PI:0,y=r(y,a.startAngleRad-B,a.endAngleRad+B);y=180*y/Math.PI;
+g.shapeType="path";g.shapeArgs={d:f.path||[["M",-k,-m/2],["L",h,-m/2],["L",d,-x/2],["L",d,x/2],["L",h,m/2],["L",-k,m/2],["Z"]],translateX:c[0],translateY:c[1],rotation:y};g.plotX=c[0];g.plotY=c[1]})};b.prototype.drawPoints=function(){var a=this,e=a.chart,b=a.yAxis.center,c=a.pivot,g=a.options,f=g.pivot,d=e.renderer;a.points.forEach(function(b){var c=b.graphic,f=b.shapeArgs,h=f.d,k=p(g.dial,b.dial);c?(c.animate(f),f.d=h):b.graphic=d[b.shapeType](f).attr({rotation:f.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group);
+if(!e.styledMode)b.graphic[c?"animate":"attr"]({stroke:k.borderColor,"stroke-width":k.borderWidth,fill:k.backgroundColor})});c?c.animate({translateX:b[0],translateY:b[1]}):f&&(a.pivot=d.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(b[0],b[1]).add(a.group),e.styledMode||a.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))};b.prototype.animate=function(a){var e=this;a||e.points.forEach(function(a){var b=a.graphic;b&&(b.attr({rotation:180*
+e.yAxis.startAngleRad/Math.PI}),b.animate({rotation:a.shapeArgs.rotation},e.options.animation))})};b.prototype.render=function(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup);d.prototype.render.call(this);this.group.clip(this.chart.clipRect)};b.prototype.setData=function(a,e){d.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();l(e,!0)&&this.chart.redraw()};b.prototype.hasData=function(){return!!this.points.length};
+b.defaultOptions=p(d.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1});return b}(d);F(a.prototype,{angular:!0,directTouch:!0,drawGraph:c,drawTracker:n.prototype.drawTracker,
+fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:b,trackerGroups:["group","dataLabelsGroup"]});h.registerSeriesType("gauge",a);"";return a});D(d,"Series/DragNodesComposition.js",[d["Core/Utilities.js"]],function(b){function c(){var a=this,b,c,h;a.container&&(b=d(a.container,"mousedown",function(b){var f=a.hoverPoint;f&&f.series&&f.series.hasDraggableNodes&&f.series.options.draggable&&(f.series.onMouseDown(f,b),c=d(a.container,"mousemove",function(a){return f&&f.series&&f.series.onMouseMove(f,
+a)}),h=d(a.container.ownerDocument,"mouseup",function(a){c();h();return f&&f.series&&f.series.onMouseUp(f,a)}))}));d(a,"destroy",function(){b()})}var d=b.addEvent,a=[];return{compose:function(b){-1===a.indexOf(b)&&(a.push(b),d(b,"load",c))},onMouseDown:function(a,b){b=this.chart.pointer.normalize(b);a.fixedPosition={chartX:b.chartX,chartY:b.chartY,plotX:a.plotX,plotY:a.plotY};a.inDragMode=!0},onMouseMove:function(a,b){if(a.fixedPosition&&a.inDragMode){var c=this.chart,f=c.pointer.normalize(b);b=a.fixedPosition.chartX-
+f.chartX;f=a.fixedPosition.chartY-f.chartY;var d=c.graphLayoutsLookup,h=void 0,w=void 0;if(5<Math.abs(b)||5<Math.abs(f))h=a.fixedPosition.plotX-b,w=a.fixedPosition.plotY-f,c.isInsidePlot(h,w)&&(a.plotX=h,a.plotY=w,a.hasDragged=!0,this.redrawHalo(a),d.forEach(function(a){a.restartSimulation()}))}},onMouseUp:function(a,b){a.fixedPosition&&(a.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),a.inDragMode=a.hasDragged=!1,this.options.fixedDraggable||delete a.fixedPosition)},
+redrawHalo:function(a){a&&this.halo&&this.halo.attr({d:a.haloPath(this.options.states.hover.halo.size)})}}});D(d,"Series/GraphLayoutComposition.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Utilities.js"]],function(b,c){function d(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation()}),this.redraw())}function a(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation(!1)}),this.redraw())}function f(){this.graphLayoutsLookup&&
+this.graphLayoutsLookup.forEach(function(a){a.stop()})}function w(){var a=!1,b=function(e){e.maxIterations--&&isFinite(e.temperature)&&!e.isStable()&&!e.enableSimulation&&(e.beforeStep&&e.beforeStep(),e.step(),c=!1,a=!0)};if(this.graphLayoutsLookup){n(!1,this);for(this.graphLayoutsLookup.forEach(function(a){return a.start()});!c;){var c=!0;this.graphLayoutsLookup.forEach(b)}a&&this.series.forEach(function(a){a&&a.layout&&a.render()})}}var n=b.setAnimation,r=c.addEvent,q=[];return{compose:function(b){q.indexOf(b)&&
+(q.push(b),r(b,"afterPrint",d),r(b,"beforePrint",a),r(b,"predraw",f),r(b,"render",w))},integrations:{},layouts:{}}});D(d,"Series/PackedBubble/PackedBubblePoint.js",[d["Core/Chart/Chart.js"],d["Core/Series/Point.js"],d["Core/Series/SeriesRegistry.js"]],function(b,c,d){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,
+c){function f(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}();return function(f){function d(){var a=null!==f&&f.apply(this,arguments)||this;a.degree=NaN;a.mass=NaN;a.radius=NaN;a.options=void 0;a.series=void 0;a.value=null;return a}a(d,f);d.prototype.destroy=function(){this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes);return c.prototype.destroy.apply(this,arguments)};d.prototype.firePointEvent=function(){var a=
+this.series.options;if(this.isParentNode&&a.parentNode){var b=a.allowPointSelect;a.allowPointSelect=a.parentNode.allowPointSelect;c.prototype.firePointEvent.apply(this,arguments);a.allowPointSelect=b}else c.prototype.firePointEvent.apply(this,arguments)};d.prototype.select=function(){var a=this.series.chart;this.isParentNode?(a.getSelectedPoints=a.getSelectedParentNodes,c.prototype.select.apply(this,arguments),a.getSelectedPoints=b.prototype.getSelectedPoints):c.prototype.select.apply(this,arguments)};
+return d}(d.seriesTypes.bubble.prototype.pointClass)});D(d,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[d["Core/Utilities.js"]],function(b){var c=b.isNumber;"";return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){var b=this.series.chart.numberFormatter,a=this.point.value;return c(a)?b(a,-1):""},parentNodeFormatter:function(){return this.name},
+parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1E3,
+splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}});D(d,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(b,c,d){var a=b.getMass(),f=-d.x*c*this.diffTemperature;c=-d.y*c*this.diffTemperature;b.fromNode.fixedPosition||(b.fromNode.plotX-=f*a.fromNode/b.fromNode.degree,b.fromNode.plotY-=c*a.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.plotX+=f*a.toNode/b.toNode.degree,b.toNode.plotY+=c*a.toNode/b.toNode.degree)},attractiveForceFunction:function(b,
+c){return(c-b)/b},barycenter:function(){var b=this.options.gravitationalConstant,c=this.barycenter.xFactor,d=this.barycenter.yFactor;c=(c-(this.box.left+this.box.width)/2)*b;d=(d-(this.box.top+this.box.height)/2)*b;this.nodes.forEach(function(a){a.fixedPosition||(a.plotX-=c/a.mass/a.degree,a.plotY-=d/a.mass/a.degree)})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.5)},integrate:function(b,c){var d=-b.options.friction,a=b.options.maxSpeed,f=(c.plotX+c.dispX-c.prevX)*d;
+d*=c.plotY+c.dispY-c.prevY;var w=Math.abs,n=w(f)/(f||1);w=w(d)/(d||1);f=n*Math.min(a,Math.abs(f));d=w*Math.min(a,Math.abs(d));c.prevX=c.plotX+c.dispX;c.prevY=c.plotY+c.dispY;c.plotX+=f;c.plotY+=d;c.temperature=b.vectorLength({x:f,y:d})},repulsive:function(b,c,d){c=c*this.diffTemperature/b.mass/b.degree;b.fixedPosition||(b.plotX+=d.x*c,b.plotY+=d.y*c)},repulsiveForceFunction:function(b,c){return(c-b)/b*(c>b?1:0)}}});D(d,"Series/PackedBubble/PackedBubbleIntegration.js",[d["Core/Globals.js"],d["Series/Networkgraph/VerletIntegration.js"]],
+function(b,c){return{barycenter:function(){for(var b=this.options.gravitationalConstant,a=this.box,c=this.nodes,d,n,r=0;r<c.length;r++){var q=c[r];this.options.splitSeries&&!q.isParentNode?(d=q.series.parentNode.plotX,n=q.series.parentNode.plotY):(d=a.width/2,n=a.height/2);q.fixedPosition||(q.plotX-=(q.plotX-d)*b/(q.mass*Math.sqrt(c.length)),q.plotY-=(q.plotY-n)*b/(q.mass*Math.sqrt(c.length)))}},getK:b.noop,integrate:c.integrate,repulsive:function(b,a,c,d){var f=a*this.diffTemperature/b.mass/b.degree;
+a=c.x*f;c=c.y*f;b.fixedPosition||(b.plotX+=a,b.plotY+=c);d.fixedPosition||(d.plotX-=a,d.plotY-=c)},repulsiveForceFunction:function(b,a,c,d){return Math.min(b,(c.marker.radius+d.marker.radius)/2)}}});D(d,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(b,c,d,a){var f=b.getMass(),h=d.x/a*c;c*=d.y/a;b.fromNode.fixedPosition||(b.fromNode.dispX-=h*f.fromNode/b.fromNode.degree,b.fromNode.dispY-=c*f.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.dispX+=h*
+f.toNode/b.toNode.degree,b.toNode.dispY+=c*f.toNode/b.toNode.degree)},attractiveForceFunction:function(b,c){return b*b/c},barycenter:function(){var b=this.options.gravitationalConstant,c=this.barycenter.xFactor,d=this.barycenter.yFactor;this.nodes.forEach(function(a){if(!a.fixedPosition){var f=a.getDegree();f*=1+f/2;a.dispX+=(c-a.plotX)*b*f/a.degree;a.dispY+=(d-a.plotY)*b*f/a.degree}})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.3)},integrate:function(b,c){c.dispX+=
+c.dispX*b.options.friction;c.dispY+=c.dispY*b.options.friction;var d=c.temperature=b.vectorLength({x:c.dispX,y:c.dispY});0!==d&&(c.plotX+=c.dispX/d*Math.min(Math.abs(c.dispX),b.temperature),c.plotY+=c.dispY/d*Math.min(Math.abs(c.dispY),b.temperature))},repulsive:function(b,c,d,a){b.dispX+=d.x/a*c/b.degree;b.dispY+=d.y/a*c/b.degree},repulsiveForceFunction:function(b,c){return c*c/b}}});D(d,"Series/Networkgraph/QuadTreeNode.js",[],function(){return function(){function b(b){this.isInternal=this.isEmpty=
+this.body=!1;this.nodes=[];this.box=b;this.boxSize=Math.min(b.width,b.height)}b.prototype.divideBox=function(){var c=this.box.width/2,d=this.box.height/2;this.nodes[0]=new b({left:this.box.left,top:this.box.top,width:c,height:d});this.nodes[1]=new b({left:this.box.left+c,top:this.box.top,width:c,height:d});this.nodes[2]=new b({left:this.box.left+c,top:this.box.top+d,width:c,height:d});this.nodes[3]=new b({left:this.box.left,top:this.box.top+d,width:c,height:d})};b.prototype.getBoxPosition=function(b){var c=
+b.plotY<this.box.top+this.box.height/2;return b.plotX<this.box.left+this.box.width/2?c?0:3:c?1:2};b.prototype.insert=function(c,d){this.isInternal?this.nodes[this.getBoxPosition(c)].insert(c,d-1):(this.isEmpty=!1,this.body?d?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,d-1),this.body=!0),this.nodes[this.getBoxPosition(c)].insert(c,d-1)):(d=new b({top:c.plotX||NaN,left:c.plotY||NaN,width:.1,height:.1}),d.body=c,d.isInternal=!1,this.nodes.push(d)):
+(this.isInternal=!1,this.body=c))};b.prototype.updateMassAndCenter=function(){var b=0,d=0,a=0;if(this.isInternal){for(var f=0,w=this.nodes;f<w.length;f++){var n=w[f];n.isEmpty||(b+=n.mass,d+=n.plotX*n.mass,a+=n.plotY*n.mass)}d/=b;a/=b}else this.body&&(b=this.body.mass,d=this.body.plotX,a=this.body.plotY);this.mass=b;this.plotX=d;this.plotY=a};return b}()});D(d,"Series/Networkgraph/QuadTree.js",[d["Series/Networkgraph/QuadTreeNode.js"]],function(b){return function(){function c(c,a,d,w){this.box={left:c,
+top:a,width:d,height:w};this.maxDepth=25;this.root=new b(this.box);this.root.isInternal=!0;this.root.isRoot=!0;this.root.divideBox()}c.prototype.calculateMassAndCenter=function(){this.visitNodeRecursive(null,null,function(b){b.updateMassAndCenter()})};c.prototype.insertNodes=function(b){for(var a=0;a<b.length;a++)this.root.insert(b[a],this.maxDepth)};c.prototype.visitNodeRecursive=function(b,a,c){var d;b||(b=this.root);b===this.root&&a&&(d=a(b));if(!1!==d){for(var f=0,h=b.nodes;f<h.length;f++){var q=
+h[f];if(q.isInternal){a&&(d=a(q));if(!1===d)continue;this.visitNodeRecursive(q,a,c)}else q.body&&a&&a(q.body);c&&c(q)}b===this.root&&c&&c(b)}};return c}()});D(d,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[d["Series/Networkgraph/EulerIntegration.js"],d["Core/Globals.js"],d["Series/GraphLayoutComposition.js"],d["Series/Networkgraph/QuadTree.js"],d["Core/Utilities.js"],d["Series/Networkgraph/VerletIntegration.js"]],function(b,c,d,a,f,w){var h=c.win,r=f.clamp,q=f.defined,F=f.isFunction,p=f.pick;
+return function(){function c(){this.attractiveForce=void 0;this.box={};this.currentStep=0;this.initialRendering=!0;this.integration=void 0;this.links=[];this.nodes=[];this.repulsiveForce=this.quadTree=this.options=void 0;this.series=[];this.simulation=!1}c.compose=function(a){d.compose(a);d.integrations.euler=b;d.integrations.verlet=w;d.layouts["reingold-fruchterman"]=c};c.prototype.init=function(a){this.options=a;this.nodes=[];this.links=[];this.series=[];this.box={x:0,y:0,width:0,height:0};this.setInitialRendering(!0);
+this.integration=d.integrations[a.integration];this.enableSimulation=a.enableSimulation;this.attractiveForce=p(a.attractiveForce,this.integration.attractiveForceFunction);this.repulsiveForce=p(a.repulsiveForce,this.integration.repulsiveForceFunction);this.approximation=a.approximation};c.prototype.updateSimulation=function(a){this.enableSimulation=p(a,this.options.enableSimulation)};c.prototype.start=function(){var a=this.series,b=this.options;this.currentStep=0;this.forces=a[0]&&a[0].forces||[];
+this.chart=a[0]&&a[0].chart;this.initialRendering&&(this.initPositions(),a.forEach(function(a){a.finishedAnimating=!0;a.render()}));this.setK();this.resetSimulation(b);this.enableSimulation&&this.step()};c.prototype.step=function(){var a=this,b=this.series;this.currentStep++;"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter());for(var c=0,d=this.forces||[];c<d.length;c++)this[d[c]+"Forces"](this.temperature);this.applyLimits();this.temperature=this.coolDown(this.startTemperature,
+this.diffTemperature,this.currentStep);this.prevSystemTemperature=this.systemTemperature;this.systemTemperature=this.getSystemTemperature();if(this.enableSimulation){for(c=0;c<b.length;c++)d=b[c],d.chart&&d.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&h.cancelAnimationFrame(this.simulation),this.simulation=h.requestAnimationFrame(function(){return a.step()})):this.simulation=!1}};c.prototype.stop=function(){this.simulation&&h.cancelAnimationFrame(this.simulation)};
+c.prototype.setArea=function(a,b,c,d){this.box={left:a,top:b,width:c,height:d}};c.prototype.setK=function(){this.k=this.options.linkLength||this.integration.getK(this)};c.prototype.addElementsToCollection=function(a,b){for(var e=0;e<a.length;e++){var c=a[e];-1===b.indexOf(c)&&b.push(c)}};c.prototype.removeElementFromCollection=function(a,b){a=b.indexOf(a);-1!==a&&b.splice(a,1)};c.prototype.clear=function(){this.nodes.length=0;this.links.length=0;this.series.length=0;this.resetSimulation()};c.prototype.resetSimulation=
+function(){this.forcedStop=!1;this.systemTemperature=0;this.setMaxIterations();this.setTemperature();this.setDiffTemperature()};c.prototype.restartSimulation=function(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))};c.prototype.setMaxIterations=function(a){this.maxIterations=p(a,this.options.maxIterations)};c.prototype.setTemperature=function(){this.temperature=
+this.startTemperature=Math.sqrt(this.nodes.length)};c.prototype.setDiffTemperature=function(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)};c.prototype.setInitialRendering=function(a){this.initialRendering=a};c.prototype.createQuadTree=function(){this.quadTree=new a(this.box.left,this.box.top,this.box.width,this.box.height);this.quadTree.insertNodes(this.nodes)};c.prototype.initPositions=function(){var a=this.options.initialPositions;if(F(a)){a.call(this);a=0;for(var b=
+this.nodes;a<b.length;a++){var c=b[a];q(c.prevX)||(c.prevX=c.plotX);q(c.prevY)||(c.prevY=c.plotY);c.dispX=0;c.dispY=0}}else"circle"===a?this.setCircularPositions():this.setRandomPositions()};c.prototype.setCircularPositions=function(){for(var a=this.box,b=this.nodes,c=2*Math.PI/(b.length+1),d=b.filter(function(a){return 0===a.linksTo.length}),f={},h=this.options.initialPositionRadius,l=function(a){var b=0;for(a=a.linksFrom||[];b<a.length;b++){var c=a[b];f[c.toNode.id]||(f[c.toNode.id]=!0,E.push(c.toNode),
+l(c.toNode))}},E=[],v=0;v<d.length;v++){var q=d[v];E.push(q);l(q)}if(E.length)for(d=0;d<b.length;d++)v=b[d],-1===E.indexOf(v)&&E.push(v);else E=b;d=0;for(v=E.length;d<v;++d)b=E[d],b.plotX=b.prevX=p(b.plotX,a.width/2+h*Math.cos(d*c)),b.plotY=b.prevY=p(b.plotY,a.height/2+h*Math.sin(d*c)),b.dispX=0,b.dispY=0};c.prototype.setRandomPositions=function(){for(var a=this.box,b=this.nodes,c=b.length+1,d=function(a){a=a*a/Math.PI;return a-=Math.floor(a)},f,h=0,l=b.length;h<l;++h)f=b[h],f.plotX=f.prevX=p(f.plotX,
+a.width*d(h)),f.plotY=f.prevY=p(f.plotY,a.height*d(c+h)),f.dispX=0,f.dispY=0};c.prototype.force=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];this.integration[a].apply(this,b)};c.prototype.barycenterForces=function(){this.getBarycenter();this.force("barycenter")};c.prototype.getBarycenter=function(){for(var a=0,b=0,c=0,d=0,f=this.nodes;d<f.length;d++){var h=f[d];b+=h.plotX*h.mass;c+=h.plotY*h.mass;a+=h.mass}return this.barycenter={x:b,y:c,xFactor:b/a,yFactor:c/a}};c.prototype.barnesHutApproximation=
+function(a,b){var c=this.getDistXY(a,b),e=this.vectorLength(c);if(a!==b&&0!==e)if(b.isInternal)if(b.boxSize/e<this.options.theta&&0!==e){var d=this.repulsiveForce(e,this.k);this.force("repulsive",a,d*b.mass,c,e);var g=!1}else g=!0;else d=this.repulsiveForce(e,this.k),this.force("repulsive",a,d*b.mass,c,e);return g};c.prototype.repulsiveForces=function(){var a=this;if("barnes-hut"===this.approximation)for(var b=function(b){c.quadTree.visitNodeRecursive(null,function(c){return a.barnesHutApproximation(b,
+c)})},c=this,d=0,f=this.nodes;d<f.length;d++){var h=f[d];b(h)}else{f=d=b=void 0;for(var l=0,E=this.nodes;l<E.length;l++){h=E[l];for(var v=0,q=this.nodes;v<q.length;v++){var n=q[v];h===n||h.fixedPosition||(f=this.getDistXY(h,n),d=this.vectorLength(f),0!==d&&(b=this.repulsiveForce(d,this.k),this.force("repulsive",h,b*n.mass,f,d)))}}}};c.prototype.attractiveForces=function(){for(var a,b,c,d=0,f=this.links;d<f.length;d++){var h=f[d];h.fromNode&&h.toNode&&(a=this.getDistXY(h.fromNode,h.toNode),b=this.vectorLength(a),
+0!==b&&(c=this.attractiveForce(b,this.k),this.force("attractive",h,c,a,b)))}};c.prototype.applyLimits=function(){for(var a=0,b=this.nodes;a<b.length;a++){var c=b[a];if(c.fixedPosition)break;this.integration.integrate(this,c);this.applyLimitBox(c,this.box);c.dispX=0;c.dispY=0}};c.prototype.applyLimitBox=function(a,b){var c=a.radius;a.plotX=r(a.plotX,b.left+c,b.width-c);a.plotY=r(a.plotY,b.top+c,b.height-c)};c.prototype.coolDown=function(a,b,c){return a-b*c};c.prototype.isStable=function(){return.00001>
+Math.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature};c.prototype.getSystemTemperature=function(){for(var a=0,b=0,c=this.nodes;b<c.length;b++)a+=c[b].temperature;return a};c.prototype.vectorLength=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};c.prototype.getDistR=function(a,b){a=this.getDistXY(a,b);return this.vectorLength(a)};c.prototype.getDistXY=function(a,b){var c=a.plotX-b.plotX;a=a.plotY-b.plotY;return{x:c,y:a,absX:Math.abs(c),absY:Math.abs(a)}};return c}()});D(d,
+"Series/PackedBubble/PackedBubbleLayout.js",[d["Series/GraphLayoutComposition.js"],d["Series/PackedBubble/PackedBubbleIntegration.js"],d["Series/Networkgraph/ReingoldFruchtermanLayout.js"],d["Core/Utilities.js"]],function(b,c,d,a){function f(){var a=[];this.series.forEach(function(b){b.parentNode&&b.parentNode.selected&&a.push(b.parentNode)});return a}function h(){this.allDataPoints&&delete this.allDataPoints}var n=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof
+Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),r=a.addEvent,q=a.pick,F=[];a=function(a){function l(){var b=null!==a&&a.apply(this,arguments)||this;b.index=NaN;b.nodes=[];b.options=void 0;b.series=[];return b}n(l,a);l.compose=function(a){d.compose(a);b.integrations.packedbubble=c;b.layouts.packedbubble=
+l;-1===F.indexOf(a)&&(F.push(a),r(a,"beforeRedraw",h),a.prototype.getSelectedParentNodes=f)};l.prototype.beforeStep=function(){this.options.marker&&this.series.forEach(function(a){a&&a.calculateParentRadius()})};l.prototype.isStable=function(){var a=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&.00001>a||0>=this.temperature};l.prototype.setCircularPositions=function(){for(var a=this.box,b=this.nodes,c=2*Math.PI/
+(b.length+1),d=this.options.initialPositionRadius,f,h,l=0,E=0;E<b.length;E++){var v=b[E];this.options.splitSeries&&!v.isParentNode?(f=v.series.parentNode.plotX,h=v.series.parentNode.plotY):(f=a.width/2,h=a.height/2);v.plotX=v.prevX=q(v.plotX,f+d*Math.cos(v.index||l*c));v.plotY=v.prevY=q(v.plotY,h+d*Math.sin(v.index||l*c));v.dispX=0;v.dispY=0;l++}};l.prototype.repulsiveForces=function(){var a=this,b=a.options.bubblePadding,c,d,f;a.nodes.forEach(function(e){e.degree=e.mass;e.neighbours=0;a.nodes.forEach(function(g){c=
+0;e===g||e.fixedPosition||!a.options.seriesInteraction&&e.series!==g.series||(f=a.getDistXY(e,g),d=a.vectorLength(f)-(e.marker.radius+g.marker.radius+b),0>d&&(e.degree+=.01,e.neighbours++,c=a.repulsiveForce(-d/Math.sqrt(e.neighbours),a.k,e,g)),a.force("repulsive",e,c*g.mass,f,g,d))})})};l.prototype.applyLimitBox=function(b,c){if(this.options.splitSeries&&!b.isParentNode&&this.options.parentNodeLimit){var e=this.getDistXY(b,b.series.parentNode);var d=b.series.parentNodeRadius-b.marker.radius-this.vectorLength(e);
+0>d&&d>-2*b.marker.radius&&(b.plotX-=.01*e.x,b.plotY-=.01*e.y)}a.prototype.applyLimitBox.call(this,b,c)};return l}(d);return b.layouts.packedbubble=a});D(d,"Series/PackedBubble/PackedBubbleSeries.js",[d["Core/Color/Color.js"],d["Series/DragNodesComposition.js"],d["Series/GraphLayoutComposition.js"],d["Core/Globals.js"],d["Series/PackedBubble/PackedBubblePoint.js"],d["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],d["Series/PackedBubble/PackedBubbleLayout.js"],d["Core/Series/SeriesRegistry.js"],
+d["Core/Utilities.js"]],function(b,c,d,a,f,w,n,r,q){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),p=b.parse;b=a.noop;var l=r.series.prototype,e=r.seriesTypes.bubble,g=q.addEvent,k=q.clamp,m=
+q.defined,D=q.extend,G=q.fireEvent,L=q.isArray,E=q.isNumber,v=q.merge,Q=q.pick;q=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;b.data=void 0;b.layout=void 0;b.options=void 0;b.parentNodeMass=0;b.points=void 0;b.xData=void 0;return b}h(b,a);b.compose=function(a,b,d,f){e.compose(a,b,d,f);c.compose(b);n.compose(b)};b.prototype.accumulateAllPoints=function(){for(var a=this.chart,b=[],c,e=0,d=a.series;e<d.length;e++){var f=d[e];if(f.is("packedbubble")&&f.visible||
+!a.options.chart.ignoreHiddenSeries){c=f.yData||[];for(var g=0;g<c.length;g++)b.push([null,null,c[g],f.index,g,{id:g,marker:{radius:0}}])}}return b};b.prototype.addLayout=function(){var a=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},b=a.type||"packedbubble",c=this.chart.options.chart,e=this.chart.graphLayoutsStorage,f=this.chart.graphLayoutsLookup;e||(this.chart.graphLayoutsStorage=e={},this.chart.graphLayoutsLookup=f=[]);var g=e[b];g||(a.enableSimulation=m(c.forExport)?!c.forExport:
+a.enableSimulation,e[b]=g=new d.layouts[b],g.init(a),f.splice(g.index,0,g));this.layout=g;this.points.forEach(function(a){a.mass=2;a.degree=1;a.collisionNmb=1});g.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight);g.addElementsToCollection([this],g.series);g.addElementsToCollection(this.points,g.nodes)};b.prototype.addSeriesLayout=function(){var a=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},b=a.type||"packedbubble",c=this.chart.graphLayoutsStorage,e=this.chart.graphLayoutsLookup;
+a=v(a,a.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});var f=c[b+"-series"];f||(c[b+"-series"]=f=new d.layouts[b],f.init(a),e.splice(f.index,0,f));this.parentNodeLayout=f;this.createParentNodes()};b.prototype.calculateParentRadius=function(){var a=this.seriesBox();this.parentNodeRadius=k(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,a?Math.max(Math.sqrt(Math.pow(a.width,2)+Math.pow(a.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20);this.parentNode&&(this.parentNode.marker.radius=
+this.parentNode.radius=this.parentNodeRadius)};b.prototype.calculateZExtremes=function(){var a=this.options.zMin,b=this.options.zMax,c=Infinity,e=-Infinity;if(a&&b)return[a,b];this.chart.series.forEach(function(a){a.yData.forEach(function(a){m(a)&&(a>e&&(e=a),a<c&&(c=a))})});a=Q(a,c);b=Q(b,e);return[a,b]};b.prototype.checkOverlap=function(a,b){var c=a[0]-b[0],e=a[1]-b[1];return-.001>Math.sqrt(c*c+e*e)-Math.abs(a[2]+b[2])};b.prototype.createParentNodes=function(){var a=this,b=this.pointClass,c=this.chart,
+e=this.parentNodeLayout,d=this.layout.options,f,g=this.parentNode,h={radius:this.parentNodeRadius,lineColor:this.color,fillColor:p(this.color).brighten(.4).get()};d.parentNodeOptions&&(h=v(d.parentNodeOptions.marker||{},h));this.parentNodeMass=0;this.points.forEach(function(b){a.parentNodeMass+=Math.PI*Math.pow(b.marker.radius,2)});this.calculateParentRadius();e.nodes.forEach(function(b){b.seriesIndex===a.index&&(f=!0)});e.setArea(0,0,c.plotWidth,c.plotHeight);f||(g||(g=(new b).init(this,{mass:this.parentNodeRadius/
+2,marker:h,dataLabels:{inside:!1},states:{normal:{marker:h},hover:{marker:h}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(g.plotX=this.parentNode.plotX,g.plotY=this.parentNode.plotY),this.parentNode=g,e.addElementsToCollection([this],e.series),e.addElementsToCollection([g],e.nodes))};b.prototype.deferLayout=function(){var a=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),a.splitSeries&&this.addSeriesLayout())};b.prototype.destroy=
+function(){var a=this;this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(function(b){b.removeElementFromCollection(a,b.series)},this);this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy()));l.destroy.apply(this,arguments)};b.prototype.drawDataLabels=function(){l.drawDataLabels.call(this,this.points);this.parentNode&&
+(this.parentNode.formatPrefix="parentNode",l.drawDataLabels.call(this,[this.parentNode]))};b.prototype.drawGraph=function(){if(this.layout&&this.layout.options.splitSeries){var a=this.chart,b=this.layout.options.parentNodeOptions.marker;b={fill:b.fillColor||p(this.color).brighten(.4).get(),opacity:b.fillOpacity,stroke:b.lineColor||this.color,"stroke-width":Q(b.lineWidth,this.options.lineWidth)};this.parentNodesGroup||(this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?
+"inherit":"hidden",.1,a.seriesGroup),this.group.attr({zIndex:2}));this.calculateParentRadius();var c=v({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},b);this.parentNode.graphic||(this.graph=this.parentNode.graphic=a.renderer.symbol(b.symbol).add(this.parentNodesGroup));this.parentNode.graphic.attr(c)}};b.prototype.drawTracker=function(){var b=this.parentNode;a.prototype.drawTracker.call(this);
+if(b){var c=L(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[];b.graphic&&(b.graphic.element.point=b);c.forEach(function(a){a.div?a.div.point=b:a.element.point=b})}};b.prototype.getPointRadius=function(){var a=this,b=this.chart,c=this.options,e=c.useSimulation,d=Math.min(b.plotWidth,b.plotHeight),f={},g=[],h=b.allDataPoints||[],m=h.length,l,v,u,C;["minSize","maxSize"].forEach(function(a){var b=parseInt(c[a],10),e=/%$/.test(c[a]);f[a]=e?d*b/100:b*Math.sqrt(m)});b.minRadius=l=f.minSize/Math.sqrt(m);
+b.maxRadius=v=f.maxSize/Math.sqrt(m);var z=e?this.calculateZExtremes():[l,v];h.forEach(function(b,c){u=e?k(b[2],z[0],z[1]):b[2];C=a.getRadius(z[0],z[1],l,v,u);0===C&&(C=null);h[c][2]=C;g.push(C)});this.radii=g};b.prototype.init=function(){l.init.apply(this,arguments);this.eventsToUnbind.push(g(this,"updatedData",function(){var a=this;this.chart.series.forEach(function(b){b.type===a.type&&(b.isDirty=!0)},this)}));return this};b.prototype.onMouseUp=function(a){var b=a;if(b.fixedPosition&&!b.removed){var e=
+this.layout,d=this.parentNodeLayout,f,g;d&&e.options.dragBetweenSeries&&d.nodes.forEach(function(a){b&&b.marker&&a!==b.series.parentNode&&(f=e.getDistXY(b,a),g=e.vectorLength(f)-a.marker.radius-b.marker.radius,0>g&&(a.series.addPoint(v(b.options,{plotX:b.plotX,plotY:b.plotY}),!1),e.removeElementFromCollection(b,e.nodes),b.remove()))});c.onMouseUp.apply(this,arguments)}};b.prototype.placeBubbles=function(a){var b=this.checkOverlap,c=this.positionBubble,e=[],d=1,f=0,g=0;var h=[];var k;a=a.sort(function(a,
+b){return b[2]-a[2]});if(a.length){e.push([[0,0,a[0][2],a[0][3],a[0][4]]]);if(1<a.length)for(e.push([[0,0-a[1][2]-a[0][2],a[1][2],a[1][3],a[1][4]]]),k=2;k<a.length;k++)a[k][2]=a[k][2]||1,h=c(e[d][f],e[d-1][g],a[k]),b(h,e[d][0])?(e.push([]),g=0,e[d+1].push(c(e[d][f],e[d][0],a[k])),d++,f=0):1<d&&e[d-1][g+1]&&b(h,e[d-1][g+1])?(g++,e[d].push(c(e[d][f],e[d-1][g],a[k])),f++):(f++,e[d].push(h));this.chart.stages=e;this.chart.rawPositions=[].concat.apply([],e);this.resizeRadius();h=this.chart.rawPositions}return h};
+b.prototype.pointAttribs=function(a,b){var c=this.options,e=c.marker;a&&a.isParentNode&&c.layoutAlgorithm&&c.layoutAlgorithm.parentNodeOptions&&(e=c.layoutAlgorithm.parentNodeOptions.marker);c=e.fillOpacity;a=l.pointAttribs.call(this,a,b);1!==c&&(a["fill-opacity"]=c);return a};b.prototype.positionBubble=function(a,b,c){var e=Math.sqrt,d=Math.asin,f=Math.acos,g=Math.pow,h=Math.abs;e=e(g(a[0]-b[0],2)+g(a[1]-b[1],2));f=f((g(e,2)+g(c[2]+b[2],2)-g(c[2]+a[2],2))/(2*(c[2]+b[2])*e));d=d(h(a[0]-b[0])/e);a=
+(0>a[1]-b[1]?0:Math.PI)+f+d*(0>(a[0]-b[0])*(a[1]-b[1])?1:-1);return[b[0]+(b[2]+c[2])*Math.sin(a),b[1]-(b[2]+c[2])*Math.cos(a),c[2],c[3],c[4]]};b.prototype.render=function(){var a=[];l.render.apply(this,arguments);this.options.dataLabels.allowOverlap||(this.data.forEach(function(b){L(b.dataLabels)&&b.dataLabels.forEach(function(b){a.push(b)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(a))};b.prototype.resizeRadius=function(){var a=this.chart,b=a.rawPositions,c=Math.min,e=Math.max,
+d=a.plotLeft,f=a.plotTop,g=a.plotHeight,h=a.plotWidth,k,m;var l=k=Number.POSITIVE_INFINITY;var u=m=Number.NEGATIVE_INFINITY;for(var C=0;C<b.length;C++){var z=b[C];var v=z[2];l=c(l,z[0]-v);u=e(u,z[0]+v);k=c(k,z[1]-v);m=e(m,z[1]+v)}z=[u-l,m-k];c=c.apply([],[(h-d)/z[0],(g-f)/z[1]]);if(1e-10<Math.abs(c-1)){for(a=0;a<b.length;a++)z=b[a],z[2]*=c;this.placeBubbles(b)}else a.diffY=g/2+f-k-(m-k)/2,a.diffX=h/2+d-l-(u-l)/2};b.prototype.seriesBox=function(){var a=this.chart,b=Math.max,c=Math.min,e=[a.plotLeft,
+a.plotLeft+a.plotWidth,a.plotTop,a.plotTop+a.plotHeight],d;this.data.forEach(function(a){m(a.plotX)&&m(a.plotY)&&a.marker.radius&&(d=a.marker.radius,e[0]=c(e[0],a.plotX-d),e[1]=b(e[1],a.plotX+d),e[2]=c(e[2],a.plotY-d),e[3]=b(e[3],a.plotY+d))});return E(e.width/e.height)?e:null};b.prototype.setVisible=function(){var a=this;l.setVisible.apply(a,arguments);a.parentNodeLayout&&a.graph?a.visible?(a.graph.show(),a.parentNode.dataLabel&&a.parentNode.dataLabel.show()):(a.graph.hide(),a.parentNodeLayout.removeElementFromCollection(a.parentNode,
+a.parentNodeLayout.nodes),a.parentNode.dataLabel&&a.parentNode.dataLabel.hide()):a.layout&&(a.visible?a.layout.addElementsToCollection(a.points,a.layout.nodes):a.points.forEach(function(b){a.layout.removeElementFromCollection(b,a.layout.nodes)}))};b.prototype.translate=function(){var a=this.chart,b=this.data,c=this.index,e=this.options.useSimulation;this.processedXData=this.xData;this.generatePoints();m(a.allDataPoints)||(a.allDataPoints=this.accumulateAllPoints(),this.getPointRadius());if(e)var d=
+a.allDataPoints;else d=this.placeBubbles(a.allDataPoints),this.options.draggable=!1;for(var f=0,g=d;f<g.length;f++){var h=g[f];if(h[3]===c){d=b[h[4]];var k=Q(h[2],void 0);e||(d.plotX=h[0]-a.plotLeft+a.diffX,d.plotY=h[1]-a.plotTop+a.diffY);E(k)&&(d.marker=D(d.marker,{radius:k,width:2*k,height:2*k}),d.radius=k)}}e&&this.deferLayout();G(this,"afterTranslate")};b.defaultOptions=v(e.defaultOptions,w);return b}(e);D(q.prototype,{pointClass:f,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],
+hasDraggableNodes:!0,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],alignDataLabel:l.alignDataLabel,indexateNodes:b,onMouseDown:c.onMouseDown,onMouseMove:c.onMouseMove,redrawHalo:c.redrawHalo,searchPoint:b});r.registerSeriesType("packedbubble",q);"";return q});D(d,"Series/Polygon/PolygonSeries.js",[d["Core/Globals.js"],d["Core/Legend/LegendSymbol.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],
+function(b,c,d,a){var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}();b=b.noop;var h=d.series,n=d.seriesTypes,r=n.area,q=n.line,F=n.scatter;n=a.extend;var p=a.merge;a=function(a){function b(){var b=
+null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}f(b,a);b.prototype.getGraphPath=function(){for(var a=q.prototype.getGraphPath.call(this),b=a.length+1;b--;)(b===a.length||"M"===a[b][0])&&0<b&&a.splice(b,0,["Z"]);return this.areaPath=a};b.prototype.drawGraph=function(){this.options.fillColor=this.color;r.prototype.drawGraph.call(this)};b.defaultOptions=p(F.defaultOptions,{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,
+pointFormat:""},trackByArea:!0});return b}(F);n(a.prototype,{type:"polygon",drawLegendSymbol:c.drawRectangle,drawTracker:h.prototype.drawTracker,setStackedPoints:b});d.registerSeriesType("polygon",a);"";return a});D(d,"Core/Axis/WaterfallAxis.js",[d["Core/Axis/Stacking/StackItem.js"],d["Core/Utilities.js"]],function(b,c){var d=c.addEvent,a=c.objectEach,f;(function(c){function f(){var a=this.waterfall.stacks;a&&(a.changed=!1,delete a.alreadyChanged)}function h(){var a=this.options.stackLabels;a&&a.enabled&&
+this.waterfall.stacks&&this.waterfall.renderStackTotals()}function q(){for(var a=this.axes,b=this.series,c=b.length;c--;)b[c].options.stacking&&(a.forEach(function(a){a.isXAxis||(a.waterfall.stacks.changed=!0)}),c=0)}function w(){this.waterfall||(this.waterfall=new p(this))}var p=function(){function c(a){this.axis=a;this.stacks={changed:!1}}c.prototype.renderStackTotals=function(){var c=this.axis,d=c.waterfall.stacks,f=c.stacking&&c.stacking.stackTotalGroup,h=new b(c,c.options.stackLabels||{},!1,
+0,void 0);this.dummyStackItem=h;f&&a(d,function(c){a(c,function(a,c){h.total=a.stackTotal;h.x=+c;a.label&&(h.label=a.label);b.prototype.render.call(h,f);a.label=h.label;delete h.label})});h.total=null};return c}();c.Composition=p;c.compose=function(a,b){d(a,"init",w);d(a,"afterBuildStacks",f);d(a,"afterRender",h);d(b,"beforeRedraw",q)}})(f||(f={}));return f});D(d,"Series/Waterfall/WaterfallPoint.js",[d["Series/Column/ColumnSeries.js"],d["Core/Series/Point.js"],d["Core/Utilities.js"]],function(b,c,
+d){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),f=d.isNumber;return function(b){function d(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}a(d,b);
+d.prototype.getClassName=function(){var a=c.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");return a};d.prototype.isValid=function(){return f(this.y)||this.isSum||!!this.isIntermediateSum};return d}(b.prototype.pointClass)});D(d,"Series/Waterfall/WaterfallSeries.js",[d["Core/Axis/Axis.js"],d["Core/Chart/Chart.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"],d["Core/Axis/WaterfallAxis.js"],d["Series/Waterfall/WaterfallPoint.js"]],
+function(b,c,d,a,f,w){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function e(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(e.prototype=c.prototype,new e)}}(),r=d.seriesTypes,q=r.column,F=r.line,p=a.arrayMax,l=a.arrayMin,e=a.correctFloat;r=a.extend;var g=a.isNumber,k=a.merge,m=a.objectEach,
+D=a.pick;a=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;b.data=void 0;b.options=void 0;b.points=void 0;b.stackedYNeg=void 0;b.stackedYPos=void 0;b.stackKey=void 0;b.xData=void 0;b.yAxis=void 0;b.yData=void 0;return b}h(b,a);b.prototype.generatePoints=function(){q.prototype.generatePoints.apply(this);for(var a=0,b=this.points.length;a<b;a++){var c=this.points[a],d=this.processedYData[a];g(d)&&(c.isIntermediateSum||c.isSum)&&(c.y=e(d))}};b.prototype.translate=
+function(){var a=this.options,b=this.yAxis,c=D(a.minPointLength,5),e=c/2,d=a.threshold||0;a=a.stacking;var f=b.waterfall.stacks[this.stackKey],h=d,k=d;q.prototype.translate.apply(this);for(var m=this.points,t=0;t<m.length;t++){var l=m[t];var n=this.processedYData[t];var p=l.shapeArgs;if(p&&g(n)){var A=[0,n];var r=l.y;if(a){if(f){A=f[t];if("overlap"===a){var w=A.stackState[A.stateIndex--];w=0<=r?w:w-r;Object.hasOwnProperty.call(A,"absolutePos")&&delete A.absolutePos;Object.hasOwnProperty.call(A,"absoluteNeg")&&
+delete A.absoluteNeg}else 0<=r?(w=A.threshold+A.posTotal,A.posTotal-=r):(w=A.threshold+A.negTotal,A.negTotal-=r,w-=r),!A.posTotal&&g(A.absolutePos)&&Object.hasOwnProperty.call(A,"absolutePos")&&(A.posTotal=A.absolutePos,delete A.absolutePos),!A.negTotal&&g(A.absoluteNeg)&&Object.hasOwnProperty.call(A,"absoluteNeg")&&(A.negTotal=A.absoluteNeg,delete A.absoluteNeg);l.isSum||(A.connectorThreshold=A.threshold+A.stackTotal);b.reversed?(n=0<=r?w-r:w+r,r=w):(n=w,r=w-r);l.below=n<=d;p.y=b.translate(n,!1,
+!0,!1,!0);p.height=Math.abs(p.y-b.translate(r,!1,!0,!1,!0));if(r=b.waterfall.dummyStackItem)r.x=t,r.label=f[t].label,r.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[t],this.stackedYPos[t],void 0,this.xAxis)}}else w=Math.max(k,k+r)+A[0],p.y=b.translate(w,!1,!0,!1,!0),l.isSum?(p.y=b.translate(A[1],!1,!0,!1,!0),p.height=Math.min(b.translate(A[0],!1,!0,!1,!0),b.len)-p.y,l.below=A[1]<=d):l.isIntermediateSum?(0<=r?(n=A[1]+h,r=h):(n=h,r=A[1]+h),b.reversed&&(n^=r,r^=n,n^=r),p.y=b.translate(n,
+!1,!0,!1,!0),p.height=Math.abs(p.y-Math.min(b.translate(r,!1,!0,!1,!0),b.len)),h+=A[1],l.below=n<=d):(p.height=0<n?b.translate(k,!1,!0,!1,!0)-p.y:b.translate(k,!1,!0,!1,!0)-b.translate(k-n,!1,!0,!1,!0),k+=n,l.below=k<d),0>p.height&&(p.y+=p.height,p.height*=-1);l.plotY=p.y=Math.round(p.y||0)-this.borderWidth%2/2;p.height=Math.max(Math.round(p.height||0),.001);l.yBottom=p.y+p.height;p.height<=c&&!l.isNull?(p.height=c,p.y-=e,l.plotY=p.y,l.minPointLengthOffset=0>l.y?-e:e):(l.isNull&&(p.width=0),l.minPointLengthOffset=
+0);r=l.plotY+(l.negative?p.height:0);l.below&&(l.plotY+=p.height);l.tooltipPos&&(this.chart.inverted?l.tooltipPos[0]=b.len-r:l.tooltipPos[1]=r);l.isInside=this.isPointInside(l)}}};b.prototype.processData=function(b){var c=this.options,d=this.yData,f=c.data,g=d.length,h=c.threshold||0,k,l,m,t,n;for(n=l=k=m=t=0;n<g;n++){var q=d[n];var p=f&&f[n]?f[n]:{};"sum"===q||p.isSum?d[n]=e(l):"intermediateSum"===q||p.isIntermediateSum?(d[n]=e(k),k=0):(l+=q,k+=q);m=Math.min(l,m);t=Math.max(l,t)}a.prototype.processData.call(this,
+b);c.stacking||(this.dataMin=m+h,this.dataMax=t)};b.prototype.toYData=function(a){return a.isSum?"sum":a.isIntermediateSum?"intermediateSum":a.y};b.prototype.updateParallelArrays=function(b,c){a.prototype.updateParallelArrays.call(this,b,c);if("sum"===this.yData[0]||"intermediateSum"===this.yData[0])this.yData[0]=null};b.prototype.pointAttribs=function(a,b){var c=this.options.upColor;c&&!a.options.color&&(a.color=0<a.y?c:void 0);a=q.prototype.pointAttribs.call(this,a,b);delete a.dashstyle;return a};
+b.prototype.getGraphPath=function(){return[["M",0,0]]};b.prototype.getCrispPath=function(){var a=this.data,b=this.yAxis,c=a.length,e=Math.round(this.graph.strokeWidth())%2/2,d=Math.round(this.borderWidth)%2/2,f=this.xAxis.reversed,g=this.yAxis.reversed,h=this.options.stacking,k=[],l;for(l=1;l<c;l++){var m=a[l].shapeArgs;var n=a[l-1];var q=a[l-1].shapeArgs;var p=b.waterfall.stacks[this.stackKey];var r=0<n.y?-q.height:0;p&&q&&m&&(p=p[l-1],h?(p=p.connectorThreshold,r=Math.round(b.translate(p,!1,!0,!1,
+!0)+(g?r:0))-e):r=q.y+n.minPointLengthOffset+d-e,k.push(["M",(q.x||0)+(f?0:q.width||0),r],["L",(m.x||0)+(f?m.width||0:0),r]));q&&k.length&&(!h&&0>n.y&&!g||0<n.y&&g)&&((n=k[k.length-2])&&"number"===typeof n[2]&&(n[2]+=q.height||0),(n=k[k.length-1])&&"number"===typeof n[2]&&(n[2]+=q.height||0))}return k};b.prototype.drawGraph=function(){F.prototype.drawGraph.call(this);this.graph&&this.graph.attr({d:this.getCrispPath()})};b.prototype.setStackedPoints=function(){function a(a,b,c,e){if(u){if(R)for(c;c<
+R;c++)u.stackState[c]+=e;else u.stackState[0]=a,R=u.stackState.length;u.stackState.push(u.stackState[R-1]+b)}}var b=this.options,c=this.yAxis.waterfall.stacks,e=b.threshold||0,d=e,f=d,g=this.stackKey,h=this.xData,k=h.length,l,m,n;this.yAxis.stacking.usePercentage=!1;var q=l=m=d;if(this.visible||!this.chart.options.chart.ignoreHiddenSeries){var p=c.changed;(n=c.alreadyChanged)&&0>n.indexOf(g)&&(p=!0);c[g]||(c[g]={});if(n=c[g])for(var r=0;r<k;r++){var w=h[r];if(!n[w]||p)n[w]={negTotal:0,posTotal:0,
+stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:p&&n[w]?n[w].label:void 0};var u=n[w];var C=this.yData[r];0<=C?u.posTotal+=C:u.negTotal+=C;var z=b.data[r];w=u.absolutePos=u.posTotal;var O=u.absoluteNeg=u.negTotal;u.stackTotal=w+O;var R=u.stackState.length;z&&z.isIntermediateSum?(a(m,l,0,m),m=l,l=e,d^=f,f^=d,d^=f):z&&z.isSum?(a(e,q,R,0),d=e):(a(d,C,0,q),z&&(q+=C,l+=C));u.stateIndex++;u.threshold=d;d+=u.stackTotal}c.changed=!1;c.alreadyChanged||(c.alreadyChanged=[]);c.alreadyChanged.push(g)}};
+b.prototype.getExtremes=function(){var a=this.options.stacking;if(a){var b=this.yAxis;b=b.waterfall.stacks;var c=this.stackedYNeg=[];var e=this.stackedYPos=[];"overlap"===a?m(b[this.stackKey],function(a){c.push(l(a.stackState));e.push(p(a.stackState))}):m(b[this.stackKey],function(a){c.push(a.negTotal+a.threshold);e.push(a.posTotal+a.threshold)});return{dataMin:l(c),dataMax:p(e)}}return{dataMin:this.dataMin,dataMax:this.dataMax}};b.defaultOptions=k(q.defaultOptions,{dataLabels:{inside:!0},lineWidth:1,
+lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}});return b}(q);r(a.prototype,{getZonesGraphs:F.prototype.getZonesGraphs,pointValKey:"y",showLine:!0,pointClass:w});d.registerSeriesType("waterfall",a);f.compose(b,c);"";return a});D(d,"Core/Axis/RadialAxis.js",[d["Core/Axis/AxisDefaults.js"],d["Core/Defaults.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(b,c,d,a){var f=c.defaultOptions,h=d.noop,n=a.addEvent,r=a.correctFloat,q=a.defined,F=a.extend,
+p=a.fireEvent,l=a.merge,e=a.pick,g=a.relativeLength,k=a.wrap,m;(function(a){function c(){this.autoConnect=this.isCircular&&"undefined"===typeof e(this.userMax,this.options.max)&&r(this.endAngleRad-this.startAngleRad)===r(2*Math.PI);!this.isCircular&&this.chart.inverted&&this.max++;this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function d(){var a=this;return function(){if(a.isRadial&&a.tickPositions&&a.options.labels&&!0!==a.options.labels.allowOverlap)return a.tickPositions.map(function(b){return a.ticks[b]&&
+a.ticks[b].label}).filter(function(a){return!!a})}}function m(){return h}function v(a,b,c){var e=this.pane.center,d=a.value;if(this.isCircular){if(q(d))a.point&&(f=a.point.shapeArgs||{},f.start&&(d=this.chart.inverted?this.translate(a.point.rectPlotY,!0):a.point.x));else{var f=a.chartX||0;var g=a.chartY||0;d=this.translate(Math.atan2(g-c,f-b)-this.startAngleRad,!0)}a=this.getPosition(d);f=a.x;g=a.y}else q(d)||(f=a.chartX,g=a.chartY),q(f)&&q(g)&&(c=e[1]+this.chart.plotTop,d=this.translate(Math.min(Math.sqrt(Math.pow(f-
+b,2)+Math.pow(g-c,2)),e[2]/2)-e[3]/2,!0));return[d,f||0,g||0]}function w(a,b,c){a=this.pane.center;var d=this.chart,f=this.left||0,g=this.top||0,h=e(b,a[2]/2-this.offset);"undefined"===typeof c&&(c=this.horiz?0:this.center&&-this.center[3]/2);c&&(h+=c);this.isCircular||"undefined"!==typeof b?(b=this.chart.renderer.symbols.arc(f+a[0],g+a[1],h,h,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),b.xBounds=[f+a[0]],b.yBounds=[g+a[1]-h]):(b=this.postTranslate(this.angleRad,h),b=[["M",this.center[0]+
+d.plotLeft,this.center[1]+d.plotTop],["L",b.x,b.y]]);return b}function D(){this.constructor.prototype.getOffset.call(this);this.chart.axisOffset[this.side]=0}function K(a,b,c){var d=this.chart,f=function(a){if("string"===typeof a){var b=parseInt(a,10);u.test(a)&&(b=b*C/100);return b}return a},g=this.center,h=this.startAngleRad,C=g[2]/2,k=Math.min(this.offset,0),l=this.left||0,m=this.top||0,u=/%$/,z=this.isCircular,n=e(f(c.outerRadius),C),P=f(c.innerRadius);f=e(f(c.thickness),10);if("polygon"===this.options.gridLineInterpolation)k=
+this.getPlotLinePath({value:a}).concat(this.getPlotLinePath({value:b,reverse:!0}));else{a=Math.max(a,this.min);b=Math.min(b,this.max);a=this.translate(a);b=this.translate(b);z||(n=a||0,P=b||0);if("circle"!==c.shape&&z)c=h+(a||0),h+=b||0;else{c=-Math.PI/2;h=1.5*Math.PI;var q=!0}n-=k;k=d.renderer.symbols.arc(l+g[0],m+g[1],n,n,{start:Math.min(c,h),end:Math.max(c,h),innerR:e(P,n-(f-k)),open:q});z&&(z=(h+c)/2,l=l+g[0]+g[2]/2*Math.cos(z),k.xBounds=z>-Math.PI/2&&z<Math.PI/2?[l,d.plotWidth]:[0,l],k.yBounds=
+[m+g[1]+g[2]/2*Math.sin(z)],k.yBounds[0]+=z>-Math.PI&&0>z||z>Math.PI?-10:10)}return k}function x(a){var b=this,c=this.pane.center,e=this.chart,d=e.inverted,f=a.reverse,h=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},C=h.innerRadius||"0%",k=h.outerRadius||"100%",l=c[0]+e.plotLeft,m=c[1]+e.plotTop,u=this.height,z=a.isCrosshair;h=c[3]/2;var n=a.value,P;var q=this.getPosition(n);var p=q.x;q=q.y;z&&(q=this.getCrosshairPosition(a,l,m),n=q[0],p=q[1],q=q[2]);
+if(this.isCircular)n=Math.sqrt(Math.pow(p-l,2)+Math.pow(q-m,2)),f="string"===typeof C?g(C,1):C/n,e="string"===typeof k?g(k,1):k/n,c&&h&&(h/=n,f<h&&(f=h),e<h&&(e=h)),c=[["M",l+f*(p-l),m-f*(m-q)],["L",p-(1-e)*(p-l),q+(1-e)*(m-q)]];else if((n=this.translate(n))&&(0>n||n>u)&&(n=0),"circle"===this.options.gridLineInterpolation)c=this.getLinePath(0,n,h);else if(c=[],e[d?"yAxis":"xAxis"].forEach(function(a){a.pane===b.pane&&(P=a)}),P)for(l=P.tickPositions,P.autoConnect&&(l=l.concat([l[0]])),f&&(l=l.slice().reverse()),
+n&&(n+=h),m=0;m<l.length;m++)h=P.getPosition(l[m],n),c.push(m?["L",h.x,h.y]:["M",h.x,h.y]);return c}function B(a,b){a=this.translate(a);return this.postTranslate(this.isCircular?a:this.angleRad,e(this.isCircular?b:0>a?0:a,this.center[2]/2)-this.offset)}function y(){var a=this.center,b=this.chart,c=this.options.title;return{x:b.plotLeft+a[0]+(c.x||0),y:b.plotTop+a[1]-{high:.5,middle:.25,low:0}[c.align]*a[2]+(c.y||0)}}function H(a){a.beforeSetTickPositions=c;a.createLabelCollector=d;a.getCrosshairPosition=
+v;a.getLinePath=w;a.getOffset=D;a.getPlotBandPath=K;a.getPlotLinePath=x;a.getPosition=B;a.getTitlePosition=y;a.postTranslate=u;a.setAxisSize=z;a.setAxisTranslation=O;a.setOptions=R}function t(){var a=this.chart,b=this.options,c=this.pane,d=c&&c.options;a.angular&&this.isXAxis||!c||!a.angular&&!a.polar||(a=2*Math.PI,c=(e(d.startAngle,0)-90)*Math.PI/180,d=(e(d.endAngle,e(d.startAngle,0)+360)-90)*Math.PI/180,this.angleRad=(b.angle||0)*Math.PI/180,this.startAngleRad=c,this.endAngleRad=d,this.offset=b.offset||
+0,b=(c%a+a)%a,d=(d%a+a)%a,b>Math.PI&&(b-=a),d>Math.PI&&(d-=a),this.normalizedStartAngleRad=b,this.normalizedEndAngleRad=d)}function J(a){this.isRadial&&(a.align=void 0,a.preventDefault())}function N(){if(this.chart&&this.chart.labelCollectors){var a=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;0<=a&&this.chart.labelCollectors.splice(a,1)}}function U(a){var c=this.chart,e=c.inverted,d=c.angular,f=c.polar,g=this.isXAxis,k=this.coll,n=d&&g;a=a.userOptions.pane||0;a=
+this.pane=c.pane&&c.pane[a];var u;if("colorAxis"===k)this.isRadial=!1;else{if(d){if(n?(this.isHidden=!0,this.createLabelCollector=m,this.getOffset=h,this.render=this.redraw=C,this.setTitle=this.setCategories=this.setScale=h):H(this),u=!g)this.defaultPolarOptions=Y}else f&&(H(this),this.defaultPolarOptions=(u=this.horiz)?X:l("xAxis"===k?b.defaultXAxisOptions:b.defaultYAxisOptions,Z),e&&"yAxis"===k&&(this.defaultPolarOptions.stackLabels=b.defaultYAxisOptions.stackLabels,this.defaultPolarOptions.reversedStacks=
+!0));d||f?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&c.labelCollectors.push(this.labelCollector)):this.isRadial=!1;a&&u&&(a.axis=this);this.isCircular=u}}function A(){this.isRadial&&this.beforeSetTickPositions()}function M(a){var b=this.label;if(b){var c=this.axis,d=b.getBBox(),f=c.options.labels,h=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360,C=Math.round(h),k=q(f.y)?0:.3*-d.height,l=f.y,m=20,u=f.align,n="end",
+z=0>C?C+360:C,p=z,O=0,t=0;if(c.isRadial){var r=c.getPosition(this.pos,c.center[2]/2+g(e(f.distance,-25),c.center[2]/2,-c.center[2]/2));"auto"===f.rotation?b.attr({rotation:h}):q(l)||(l=c.chart.renderer.fontMetrics(b.styles&&b.styles.fontSize).b-d.height/2);q(u)||(c.isCircular?(d.width>c.len*c.tickInterval/(c.max-c.min)&&(m=0),u=h>m&&h<180-m?"left":h>180+m&&h<360-m?"right":"center"):u="center",b.attr({align:u}));if("auto"===u&&2===c.tickPositions.length&&c.isCircular){90<z&&180>z?z=180-z:270<z&&360>=
+z&&(z=540-z);180<p&&360>=p&&(p=360-p);if(c.pane.options.startAngle===C||c.pane.options.startAngle===C+360||c.pane.options.startAngle===C-360)n="start";u=-90<=C&&90>=C||-360<=C&&-270>=C||270<=C&&360>=C?"start"===n?"right":"left":"start"===n?"left":"right";70<p&&110>p&&(u="center");15>z||180<=z&&195>z?O=.3*d.height:15<=z&&35>=z?O="start"===n?0:.75*d.height:195<=z&&215>=z?O="start"===n?.75*d.height:0:35<z&&90>=z?O="start"===n?.25*-d.height:d.height:215<z&&270>=z&&(O="start"===n?d.height:.25*-d.height);
+15>p?t="start"===n?.15*-d.height:.15*d.height:165<p&&180>=p&&(t="start"===n?.15*d.height:.15*-d.height);b.attr({align:u});b.translate(t,O+k)}a.pos.x=r.x+(f.x||0);a.pos.y=r.y+(l||0)}}}function S(a){this.axis.getPosition&&F(a.pos,this.axis.getPosition(this.pos))}function u(a,b){var c=this.chart,e=this.center;a=this.startAngleRad+a;return{x:c.plotLeft+e[0]+Math.cos(a)*b,y:c.plotTop+e[1]+Math.sin(a)*b}}function C(){this.isDirty=!1}function z(){this.constructor.prototype.setAxisSize.call(this);if(this.isRadial){this.pane.updateCenter(this);
+var a=this.center=this.pane.center.slice();if(this.isCircular)this.sector=this.endAngleRad-this.startAngleRad;else{var b=this.postTranslate(this.angleRad,a[3]/2);a[0]=b.x-this.chart.plotLeft;a[1]=b.y-this.chart.plotTop}this.len=this.width=this.height=(a[2]-a[3])*e(this.sector,1)/2}}function O(){this.constructor.prototype.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||
+1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function R(a){a=this.options=l(this.constructor.defaultOptions,this.defaultPolarOptions,f[this.coll],a);a.plotBands||(a.plotBands=[]);p(this,"afterSetOptions")}function W(a,b,c,e,d,f,g){var h=this.axis;h.isRadial?(a=h.getPosition(this.pos,h.center[2]/2+e),b=["M",b,c,"L",a.x,a.y]):b=a.call(this,b,c,e,d,f,g);return b}var T=[],X={gridLineWidth:1,labels:{align:void 0,distance:15,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,
+minPadding:0,showLastLabel:!1,tickLength:0},Y={labels:{align:"center",x:0,y:void 0},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},Z={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};a.compose=function(a,b){-1===T.indexOf(a)&&(T.push(a),n(a,"afterInit",t),n(a,"autoLabelAlign",J),
+n(a,"destroy",N),n(a,"init",U),n(a,"initialAxisTranslation",A));-1===T.indexOf(b)&&(T.push(b),n(b,"afterGetLabelPosition",M),n(b,"afterGetPosition",S),k(b.prototype,"getMarkPath",W));return a}})(m||(m={}));return m});D(d,"Series/PolarComposition.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Globals.js"],d["Extensions/Pane.js"],d["Core/Axis/RadialAxis.js"],d["Core/Utilities.js"]],function(b,c,d,a,f){function h(a,b,c,e){var d=e?1:0;var f=0<=b&&b<=a.length-1?b:0>b?a.length-1+b:0;b=0>f-1?a.length-
+(1+d):f-1;var g=a[b];d=a[f+1>a.length-1?d:f+1];var C=g.plotY;var k=d.plotX;var l=d.plotY;d=a[f].plotX;f=a[f].plotY;g=(1.5*d+g.plotX)/2.5;C=(1.5*f+C)/2.5;k=(1.5*d+k)/2.5;var m=(1.5*f+l)/2.5;l=Math.sqrt(Math.pow(g-d,2)+Math.pow(C-f,2));var z=Math.sqrt(Math.pow(k-d,2)+Math.pow(m-f,2));g=Math.atan2(C-f,g-d);m=Math.PI/2+(g+Math.atan2(m-f,k-d))/2;Math.abs(g-m)>Math.PI/2&&(m-=Math.PI);g=d+Math.cos(m)*l;C=f+Math.sin(m)*l;k=d+Math.cos(Math.PI+m)*z;m=f+Math.sin(Math.PI+m)*z;d={rightContX:k,rightContY:m,leftContX:g,
+leftContY:C,plotX:d,plotY:f};c&&(d.prevPointCont=h(a,b,!1,e));return d}function n(){(this.pane||[]).forEach(function(a){a.render()})}function r(a){var b=a.args[0].xAxis,c=a.args[0].yAxis;a=a.args[0].chart;b&&c&&("polygon"===c.gridLineInterpolation?(b.startOnTick=!0,b.endOnTick=!0):"polygon"===b.gridLineInterpolation&&a.inverted&&(c.startOnTick=!0,c.endOnTick=!0))}function q(){var a=this;this.pane||(this.pane=[]);this.options.pane=V(this.options.pane);this.options.pane.forEach(function(b){new d(b,
+a)},this)}function D(a){var b=a.args.marker,c=this.chart.xAxis[0],d=this.chart.yAxis[0],e=this.chart.inverted,f=e?d:c;c=e?c:d;if(this.chart.polar){a.preventDefault();d=(b.attr?b.attr("start"):b.start)-f.startAngleRad;e=b.attr?b.attr("r"):b.r;var g=(b.attr?b.attr("end"):b.end)-f.startAngleRad;b=b.attr?b.attr("innerR"):b.innerR;a.result.x=d+f.pos;a.result.width=g-d;a.result.y=c.len+c.pos-b;a.result.height=b-e}}function p(a){var b=this.chart;if(b.polar&&b.hoverPane&&b.hoverPane.axis){a.preventDefault();
+var c=b.hoverPane.center,d=this.mouseDownX||0,e=this.mouseDownY||0,f=a.args.chartY,g=a.args.chartX,h=2*Math.PI,l=b.hoverPane.axis.startAngleRad,m=b.hoverPane.axis.endAngleRad,n=b.inverted?b.xAxis[0]:b.yAxis[0],u={},q="arc";u.x=c[0]+b.plotLeft;u.y=c[1]+b.plotTop;if(this.zoomHor){var p=0<l?m-l:Math.abs(l)+Math.abs(m),t=Math.atan2(e-b.plotTop-c[1],d-b.plotLeft-c[0])-l,r=Math.atan2(f-b.plotTop-c[1],g-b.plotLeft-c[0])-l;u.r=c[2]/2;u.innerR=c[3]/2;0>=t&&(t+=h);0>=r&&(r+=h);r<t&&(r=[t,t=r][0]);p<h&&l+r>
+m+(h-p)/2&&(r=t,t=0>=l?l:0);h=u.start=Math.max(t+l,l);t=u.end=Math.min(r+l,m);"polygon"===n.options.gridLineInterpolation&&(r=b.hoverPane.axis,p=h-r.startAngleRad+r.pos,t-=h,q=n.getPlotLinePath({value:n.max}),h=r.toValue(p),p=r.toValue(p+t),h<r.getExtremes().min&&(t=r.getExtremes(),h=t.max-(t.min-h)),p<r.getExtremes().min&&(t=r.getExtremes(),p=t.max-(t.min-p)),p<h&&(p=[h,h=p][0]),q=k(q,h,p,r),q.push(["L",c[0]+b.plotLeft,b.plotTop+c[1]]),u.d=q,q="path")}this.zoomVert&&(r=b.inverted?b.xAxis[0]:b.yAxis[0],
+d=Math.sqrt(Math.pow(d-b.plotLeft-c[0],2)+Math.pow(e-b.plotTop-c[1],2)),f=Math.sqrt(Math.pow(g-b.plotLeft-c[0],2)+Math.pow(f-b.plotTop-c[1],2)),f<d&&(d=[f,f=d][0]),f>c[2]/2&&(f=c[2]/2),d<c[3]/2&&(d=c[3]/2),this.zoomHor||(u.start=l,u.end=m),u.r=f,u.innerR=d,"polygon"===r.options.gridLineInterpolation&&(t=r.toValue(r.len+r.pos-d),h=r.toValue(r.len+r.pos-f),q=r.getPlotLinePath({value:h}).concat(r.getPlotLinePath({value:t,reverse:!0})),u.d=q,q="path"));this.zoomHor&&this.zoomVert&&"polygon"===n.options.gridLineInterpolation&&
+(r=b.hoverPane.axis,h=u.start||0,t=u.end||0,p=h-r.startAngleRad+r.pos,t-=h,h=r.toValue(p),p=r.toValue(p+t),u.d instanceof Array&&(c=u.d.slice(0,u.d.length/2),l=u.d.slice(u.d.length/2,u.d.length),l=K([],l,!0).reverse(),b=b.hoverPane.axis,c=k(c,h,p,b),(l=k(l,h,p,b))&&(l[0][0]="L"),l=K([],l,!0).reverse(),u.d=c.concat(l),q="path"));a.attrs=u;a.shapeType=q}}function l(){var a=this.chart;a.polar&&(this.polar=new S(this),a.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function e(){if(this.chart.polar&&
+this.xAxis){var a=this.chart;(this.kdByAngle=a.tooltip&&a.tooltip.shared)?this.searchPoint=g:this.options.findNearestPointBy="xy";for(var b=this.points,d=b.length;d--;)this.preventPostTranslate||this.polar.toXY(b[d]),a.hasParallelCoordinates||this.yAxis.reversed||(J(b[d].y,Number.MIN_VALUE)<this.yAxis.min||b[d].x<this.xAxis.min||b[d].x>this.xAxis.max?(b[d].isNull=!0,b[d].plotY=NaN):b[d].isNull=b[d].isValid&&!b[d].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(B(this,
+"afterRender",function(){if(a.polar){var b=this.yAxis.pane.center;if(this.clipCircle)this.clipCircle.animate({x:b[0],y:b[1],r:b[2]/2,innerR:b[3]/2});else{var d=a.renderer,e=b[0],f=b[1],g=b[2]/2,h=b[3]/2;b=U();var k=d.createElement("clipPath").attr({id:b}).add(d.defs);d=h?d.arc(e,f,g,h,0,2*Math.PI).add(k):d.circle(e,f,g).add(k);d.id=b;d.clipPath=k;this.clipCircle=d}this.group.clip(this.clipCircle);this.setClip=c.noop}})))}}function g(a){var b=this.chart,c=this.xAxis;c=c.pane&&c.pane.center;return this.searchKDTree({clientX:180+
+-180/Math.PI*Math.atan2(a.chartX-(c&&c[0]||0)-b.plotLeft,a.chartY-(c&&c[1]||0)-b.plotTop)})}function k(a,b,c,d){var e=d.tickInterval;d=d.tickPositions;var f=H(d,function(a){return a>=c}),g=H(K([],d,!0).reverse(),function(a){return a<=b});y(f)||(f=d[d.length-1]);y(g)||(g=d[0],f+=e,a[0][0]="L",a.unshift(a[a.length-3]));a=a.slice(d.indexOf(g),d.indexOf(f)+1);a[0][0]="M";return a}function m(a,b){return H(this.pane||[],function(a){return a.options.id===b})||a.call(this,b)}function N(a,b,c,d,e,f){var g=
+this.chart,h=J(d.inside,!!this.options.stacking);g.polar?(a=b.rectPlotX/Math.PI*180,g.inverted?(this.forceDL=g.isInsidePlot(b.plotX,b.plotY),h&&b.shapeArgs?(e=b.shapeArgs,e=this.yAxis.postTranslate(((e.start||0)+(e.end||0))/2-this.xAxis.startAngleRad,b.barX+b.pointWidth/2),e={x:e.x-g.plotLeft,y:e.y-g.plotTop}):b.tooltipPos&&(e={x:b.tooltipPos[0],y:b.tooltipPos[1]}),d.align=J(d.align,"center"),d.verticalAlign=J(d.verticalAlign,"middle")):(null===d.align&&(d.align=20<a&&160>a?"left":200<a&&340>a?"right":
+"center"),null===d.verticalAlign&&(d.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle")),Object.getPrototypeOf(Object.getPrototypeOf(this)).alignDataLabel.call(this,b,c,d,e,f),this.isRadialBar&&b.shapeArgs&&b.shapeArgs.start===b.shapeArgs.end?c.hide():c.show()):a.call(this,b,c,d,e,f)}function G(a){var b=this.options,c=b.stacking,d=this.chart,e=this.xAxis,g=this.yAxis,h=g.reversed,k=g.center,l=e.startAngleRad,m=e.endAngleRad-l,n=0,p=0,q=0;this.preventPostTranslate=!0;a.call(this);if(e.isRadial){a=
+this.points;e=a.length;var r=g.translate(g.min);var u=g.translate(g.max);b=b.threshold||0;d.inverted&&t(b)&&(n=g.translate(b),y(n)&&(0>n?n=0:n>m&&(n=m),this.translatedThreshold=n+l));for(;e--;){b=a[e];var v=b.barX;var w=b.x;var x=b.y;b.shapeType="arc";if(d.inverted){b.plotY=g.translate(x);c&&g.stacking?(x=g.stacking.stacks[(0>x?"-":"")+this.stackKey],this.visible&&x&&x[w]&&!b.isNull&&(q=x[w].points[this.getStackIndicator(void 0,w,this.index).key],p=g.translate(q[0]),q=g.translate(q[1]),y(p)&&(p=f.clamp(p,
+0,m)))):(p=n,q=b.plotY);p>q&&(q=[p,p=q][0]);if(!h)if(p<r)p=r;else if(q>u)q=u;else{if(q<r||p>u)p=q=0}else if(q>r)q=r;else if(p<u)p=u;else if(p>r||q<u)p=q=m;g.min>g.max&&(p=q=h?m:0);p+=l;q+=l;k&&(b.barX=v+=k[3]/2);w=Math.max(v,0);x=Math.max(v+b.pointWidth,0);b.shapeArgs={x:k&&k[0],y:k&&k[1],r:x,innerR:w,start:p,end:q};b.opacity=p===q?0:void 0;b.plotY=(y(this.translatedThreshold)&&(p<this.translatedThreshold?p:q))-l}else p=v+l,b.shapeArgs=this.polar.arc(b.yBottom,b.plotY,p,p+b.pointWidth);this.polar.toXY(b);
+d.inverted?(v=g.postTranslate(b.rectPlotY,v+b.pointWidth/2),b.tooltipPos=[v.x-d.plotLeft,v.y-d.plotTop]):b.tooltipPos=[b.plotX,b.plotY];k&&(b.ttBelow=b.plotY>k[1])}}}function L(a,b){var c=this;if(this.chart.polar){b=b||this.points;for(var d=0;d<b.length;d++)if(!b[d].isNull){var e=d;break}if(!1!==this.options.connectEnds&&"undefined"!==typeof e){this.connectEnds=!0;b.splice(b.length,0,b[e]);var f=!0}b.forEach(function(a){"undefined"===typeof a.polarPlotY&&c.polar.toXY(a)})}e=a.apply(this,[].slice.call(arguments,
+1));f&&b.pop();return e}function E(a,b){var c=this.chart,d={xAxis:[],yAxis:[]};c.polar?c.axes.forEach(function(a){if("colorAxis"!==a.coll){var e=a.isXAxis,f=a.center,g=b.chartX-f[0]-c.plotLeft;f=b.chartY-f[1]-c.plotTop;d[e?"xAxis":"yAxis"].push({axis:a,value:a.translate(e?Math.PI-Math.atan2(g,f):Math.sqrt(Math.pow(g,2)+Math.pow(f,2)),!0)})}}):d=a.call(this,b);return d}function v(a,b){this.chart.polar||a.call(this,b)}function Q(a,b){var d=this,e=this.chart,f=this.group,g=this.markerGroup,h=this.xAxis&&
+this.xAxis.center,k=e.plotLeft,l=e.plotTop,m=this.options.animation,n,p,q,r;if(e.polar)if(d.isRadialBar)b||(d.startAngleRad=J(d.translatedThreshold,d.xAxis.startAngleRad),c.seriesTypes.pie.prototype.animate.call(d,b));else{if(e.renderer.isSVG)if(m=x(m),d.is("column")){if(!b){var t=h[3]/2;d.points.forEach(function(a){n=a.graphic;q=(p=a.shapeArgs)&&p.r;r=p&&p.innerR;n&&p&&(n.attr({r:t,innerR:t}),n.animate({r:q,innerR:r},d.options.animation))})}}else b?(a={translateX:h[0]+k,translateY:h[1]+l,scaleX:.001,
+scaleY:.001},f.attr(a),g&&g.attr(a)):(a={translateX:k,translateY:l,scaleX:1,scaleY:1},f.animate(a,m),g&&g.animate(a,m))}else a.call(this,b)}function I(a,b,c,d){this.chart.polar?d?(a=h(b,d,!0,this.connectEnds),b=a.prevPointCont&&a.prevPointCont.rightContX,c=a.prevPointCont&&a.prevPointCont.rightContY,a=["C",t(b)?b:a.plotX,t(c)?c:a.plotY,t(a.leftContX)?a.leftContX:a.plotX,t(a.leftContY)?a.leftContY:a.plotY,a.plotX,a.plotY]):a=["M",c.plotX,c.plotY]:a=a.call(this,b,c,d);return a}var K=this&&this.__spreadArray||
+function(a,b,c){if(c||2===arguments.length)for(var d=0,e=b.length,f;d<e;d++)!f&&d in b||(f||(f=Array.prototype.slice.call(b,0,d)),f[d]=b[d]);return a.concat(f||Array.prototype.slice.call(b))},x=b.animObject,B=f.addEvent,y=f.defined,H=f.find,t=f.isNumber,J=f.pick,V=f.splat,U=f.uniqueKey,A=f.wrap,M=[],S=function(){function b(a){this.series=a}b.compose=function(b,c,d,f,g,h,k,t,u){a.compose(b,g);-1===M.indexOf(c)&&(M.push(c),B(c,"afterDrawChartBox",n),B(c,"getAxes",q),B(c,"init",r),A(c.prototype,"get",
+m));-1===M.indexOf(d)&&(M.push(d),b=d.prototype,A(b,"getCoordinates",E),A(b,"pinch",v),B(d,"getSelectionMarkerAttrs",p),B(d,"getSelectionBox",D));-1===M.indexOf(f)&&(M.push(f),B(f,"afterInit",l),B(f,"afterTranslate",e,{order:2}),A(f.prototype,"animate",Q));k&&-1===M.indexOf(k)&&(M.push(k),d=k.prototype,A(d,"alignDataLabel",N),A(d,"animate",Q),A(d,"translate",G));t&&-1===M.indexOf(t)&&(M.push(t),A(t.prototype,"getGraphPath",L));u&&-1===M.indexOf(u)&&(M.push(u),t=u.prototype,A(t,"getPointSpline",I),
+h&&-1===M.indexOf(h)&&(M.push(h),h.prototype.getPointSpline=t.getPointSpline))};b.prototype.arc=function(a,b,c,d){var e=this.series,f=e.xAxis.center,g=e.yAxis.len,h=f[3]/2;b=g-b+h;a=g-J(a,g)+h;e.yAxis.reversed&&(0>b&&(b=h),0>a&&(a=h));return{x:f[0],y:f[1],r:b,innerR:a,start:c,end:d}};b.prototype.toXY=function(a){var b=this.series,c=b.chart,d=b.xAxis,e=b.yAxis,f=a.plotX,g=c.inverted,h=a.y,k=a.plotY,l=g?f:e.len-k;g&&b&&!b.isRadialBar&&(a.plotY=k=t(h)?e.translate(h):0);a.rectPlotX=f;a.rectPlotY=k;e.center&&
+(l+=e.center[3]/2);t(k)&&(e=g?e.postTranslate(k,l):d.postTranslate(f,l),a.plotX=a.polarPlotX=e.x-c.plotLeft,a.plotY=a.polarPlotY=e.y-c.plotTop);b.kdByAngle?(b=(f/Math.PI*180+d.pane.options.startAngle)%360,0>b&&(b+=360),a.clientX=b):a.clientX=a.plotX};return b}();return S});D(d,"masters/highcharts-more.src.js",[d["Core/Globals.js"],d["Core/Series/SeriesRegistry.js"],d["Series/Bubble/BubbleSeries.js"],d["Series/PackedBubble/PackedBubbleSeries.js"],d["Series/PolarComposition.js"]],function(b,c,d,a,f){d.compose(b.Axis,
+b.Chart,b.Legend,b.Series);a.compose(b.Axis,b.Chart,b.Legend,b.Series);f.compose(b.Axis,b.Chart,b.Pointer,b.Series,b.Tick,c.seriesTypes.areasplinerange,c.seriesTypes.column,c.seriesTypes.line,c.seriesTypes.spline)})});
 //# sourceMappingURL=highcharts-more.js.map

+ 585 - 584
nicegui/elements/lib/highcharts.js

@@ -1,601 +1,602 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 
  License: www.highcharts.com/license
 */
-(function(aa,K){"object"===typeof module&&module.exports?(K["default"]=K,module.exports=aa.document?K(aa):K):"function"===typeof define&&define.amd?define("highcharts/highcharts",function(){return K(aa)}):(aa.Highcharts&&aa.Highcharts.error(16,!0),aa.Highcharts=K(aa))})("undefined"!==typeof window?window:this,function(aa){function K(a,v,g,E){a.hasOwnProperty(v)||(a[v]=E.apply(null,g),"function"===typeof CustomEvent&&aa.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:v,module:a[v]}})))}
-var g={};K(g,"Core/Globals.js",[],function(){var a;(function(a){a.SVG_NS="http://www.w3.org/2000/svg";a.product="Highcharts";a.version="10.3.2";a.win="undefined"!==typeof aa?aa:{};a.doc=a.win.document;a.svg=a.doc&&a.doc.createElementNS&&!!a.doc.createElementNS(a.SVG_NS,"svg").createSVGRect;a.userAgent=a.win.navigator&&a.win.navigator.userAgent||"";a.isChrome=-1!==a.userAgent.indexOf("Chrome");a.isFirefox=-1!==a.userAgent.indexOf("Firefox");a.isMS=/(edge|msie|trident)/i.test(a.userAgent)&&!a.win.opera;
-a.isSafari=!a.isChrome&&-1!==a.userAgent.indexOf("Safari");a.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(a.userAgent);a.isWebKit=-1!==a.userAgent.indexOf("AppleWebKit");a.deg2rad=2*Math.PI/360;a.hasBidiBug=a.isFirefox&&4>parseInt(a.userAgent.split("Firefox/")[1],10);a.hasTouch=!!a.win.TouchEvent;a.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];a.noop=function(){};a.supportsPassiveEvents=function(){var g=!1;if(!a.isMS){var v=Object.defineProperty({},"passive",{get:function(){g=
-!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,v),a.win.removeEventListener("testPassive",a.noop,v))}return g}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});K(g,"Core/Utilities.js",[g["Core/Globals.js"]],function(a){function g(b,d,k,H){var z=d?"Highcharts error":"Highcharts warning";32===b&&(b=""+z+": Deprecated member");var w=n(b),p=w?""+z+" #"+b+": www.highcharts.com/errors/"+b+"/":
-b.toString();if("undefined"!==typeof H){var q="";w&&(p+="?");I(H,function(b,z){q+="\n - ".concat(z,": ").concat(b);w&&(p+=encodeURI(z)+"="+encodeURI(b))});p+=q}A(a,"displayError",{chart:k,code:b,message:p,params:H},function(){if(d)throw Error(p);h.console&&-1===g.messages.indexOf(p)&&console.warn(p)});g.messages.push(p)}function x(b,h){var z={};I(b,function(d,w){if(G(b[w],!0)&&!b.nodeType&&h[w])d=x(b[w],h[w]),Object.keys(d).length&&(z[w]=d);else if(G(b[w])||b[w]!==h[w]||w in b&&!(w in h))z[w]=b[w]});
-return z}function E(b,h){return parseInt(b,h||10)}function D(b){return"string"===typeof b}function B(b){b=Object.prototype.toString.call(b);return"[object Array]"===b||"[object Array Iterator]"===b}function G(b,h){return!!b&&"object"===typeof b&&(!h||!B(b))}function r(b){return G(b)&&"number"===typeof b.nodeType}function t(b){var h=b&&b.constructor;return!(!G(b,!0)||r(b)||!h||!h.name||"Object"===h.name)}function n(b){return"number"===typeof b&&!isNaN(b)&&Infinity>b&&-Infinity<b}function f(b){return"undefined"!==
-typeof b&&null!==b}function c(b,h,d){var z=D(h)&&!f(d),w,k=function(h,d){f(h)?b.setAttribute(d,h):z?(w=b.getAttribute(d))||"class"!==d||(w=b.getAttribute(d+"Name")):b.removeAttribute(d)};D(h)?k(d,h):I(h,k);return w}function l(b,h){var d;b||(b={});for(d in h)b[d]=h[d];return b}function m(){for(var b=arguments,h=b.length,d=0;d<h;d++){var H=b[d];if("undefined"!==typeof H&&null!==H)return H}}function e(b,h){a.isMS&&!a.svg&&h&&f(h.opacity)&&(h.filter="alpha(opacity=".concat(100*h.opacity,")"));l(b.style,
-h)}function u(b){return Math.pow(10,Math.floor(Math.log(b)/Math.LN10))}function C(b,h){return 1E14<b?b:parseFloat(b.toPrecision(h||14))}function J(b,d,k){var z=a.getStyle||J;if("width"===d)return d=Math.min(b.offsetWidth,b.scrollWidth),k=b.getBoundingClientRect&&b.getBoundingClientRect().width,k<d&&k>=d-1&&(d=Math.floor(k)),Math.max(0,d-(z(b,"padding-left",!0)||0)-(z(b,"padding-right",!0)||0));if("height"===d)return Math.max(0,Math.min(b.offsetHeight,b.scrollHeight)-(z(b,"padding-top",!0)||0)-(z(b,
-"padding-bottom",!0)||0));h.getComputedStyle||g(27,!0);if(b=h.getComputedStyle(b,void 0)){var w=b.getPropertyValue(d);m(k,"opacity"!==d)&&(w=E(w))}return w}function I(b,h,d){for(var z in b)Object.hasOwnProperty.call(b,z)&&h.call(d||b[z],b[z],z,b)}function L(b,h,d){function z(h,y){var d=b.removeEventListener||a.removeEventListenerPolyfill;d&&d.call(b,h,y,!1)}function w(d){var y;if(b.nodeName){if(h){var H={};H[h]=!0}else H=d;I(H,function(b,h){if(d[h])for(y=d[h].length;y--;)z(h,d[h][y].fn)})}}var k=
-"function"===typeof b&&b.prototype||b;if(Object.hasOwnProperty.call(k,"hcEvents")){var p=k.hcEvents;h?(k=p[h]||[],d?(p[h]=k.filter(function(b){return d!==b.fn}),z(h,d)):(w(p),p[h]=[])):(w(p),delete k.hcEvents)}}function A(b,h,d,H){d=d||{};if(q.createEvent&&(b.dispatchEvent||b.fireEvent&&b!==a)){var z=q.createEvent("Events");z.initEvent(h,!0,!0);d=l(z,d);b.dispatchEvent?b.dispatchEvent(d):b.fireEvent(h,d)}else if(b.hcEvents){d.target||l(d,{preventDefault:function(){d.defaultPrevented=!0},target:b,
-type:h});z=[];for(var w=b,k=!1;w.hcEvents;)Object.hasOwnProperty.call(w,"hcEvents")&&w.hcEvents[h]&&(z.length&&(k=!0),z.unshift.apply(z,w.hcEvents[h])),w=Object.getPrototypeOf(w);k&&z.sort(function(b,h){return b.order-h.order});z.forEach(function(h){!1===h.fn.call(b,d)&&d.preventDefault()})}H&&!d.defaultPrevented&&H.call(b,d)}var d=a.charts,q=a.doc,h=a.win;(g||(g={})).messages=[];Math.easeInOutSine=function(b){return-.5*(Math.cos(Math.PI*b)-1)};var k=Array.prototype.find?function(b,h){return b.find(h)}:
-function(b,h){var d,z=b.length;for(d=0;d<z;d++)if(h(b[d],d))return b[d]};I({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(b,h){a[h]=function(d){var z;g(32,!1,void 0,(z={},z["Highcharts.".concat(h)]="use Array.".concat(b),z));return Array.prototype[b].apply(d,[].slice.call(arguments,1))}});var b,p=function(){var h=Math.random().toString(36).substring(2,9)+"-",d=0;return function(){return"highcharts-"+(b?"":h)+d++}}();h.jQuery&&(h.jQuery.fn.highcharts=function(){var b=
-[].slice.call(arguments);if(this[0])return b[0]?(new (a[D(b[0])?b.shift():"Chart"])(this[0],b[0],b[1]),this):d[c(this[0],"data-highcharts-chart")]});k={addEvent:function(b,h,d,H){void 0===H&&(H={});var k="function"===typeof b&&b.prototype||b;Object.hasOwnProperty.call(k,"hcEvents")||(k.hcEvents={});k=k.hcEvents;a.Point&&b instanceof a.Point&&b.series&&b.series.chart&&(b.series.chart.runTrackerClick=!0);var z=b.addEventListener||a.addEventListenerPolyfill;z&&z.call(b,h,d,a.supportsPassiveEvents?{passive:void 0===
-H.passive?-1!==h.indexOf("touch"):H.passive,capture:!1}:!1);k[h]||(k[h]=[]);k[h].push({fn:d,order:"number"===typeof H.order?H.order:Infinity});k[h].sort(function(b,h){return b.order-h.order});return function(){L(b,h,d)}},arrayMax:function(b){for(var h=b.length,d=b[0];h--;)b[h]>d&&(d=b[h]);return d},arrayMin:function(b){for(var h=b.length,d=b[0];h--;)b[h]<d&&(d=b[h]);return d},attr:c,clamp:function(b,h,d){return b>h?b<d?b:d:h},cleanRecursively:x,clearTimeout:function(b){f(b)&&clearTimeout(b)},correctFloat:C,
-createElement:function(b,h,d,k,p){b=q.createElement(b);h&&l(b,h);p&&e(b,{padding:"0",border:"none",margin:"0"});d&&e(b,d);k&&k.appendChild(b);return b},css:e,defined:f,destroyObjectProperties:function(b,h){I(b,function(d,k){d&&d!==h&&d.destroy&&d.destroy();delete b[k]})},discardElement:function(b){b&&b.parentElement&&b.parentElement.removeChild(b)},erase:function(b,h){for(var d=b.length;d--;)if(b[d]===h){b.splice(d,1);break}},error:g,extend:l,extendClass:function(b,h){var d=function(){};d.prototype=
-new b;l(d.prototype,h);return d},find:k,fireEvent:A,getMagnitude:u,getNestedProperty:function(b,d){for(b=b.split(".");b.length&&f(d);){var k=b.shift();if("undefined"===typeof k||"__proto__"===k)return;d=d[k];if(!f(d)||"function"===typeof d||"number"===typeof d.nodeType||d===h)return}return d},getStyle:J,inArray:function(b,d,h){g(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return d.indexOf(b,h)},isArray:B,isClass:t,isDOMElement:r,isFunction:function(b){return"function"===typeof b},isNumber:n,
-isObject:G,isString:D,keys:function(b){g(32,!1,void 0,{"Highcharts.keys":"use Object.keys"});return Object.keys(b)},merge:function(){var b,d=arguments,h={},k=function(b,d){"object"!==typeof b&&(b={});I(d,function(h,y){"__proto__"!==y&&"constructor"!==y&&(!G(h,!0)||t(h)||r(h)?b[y]=d[y]:b[y]=k(b[y]||{},h))});return b};!0===d[0]&&(h=d[1],d=Array.prototype.slice.call(d,2));var p=d.length;for(b=0;b<p;b++)h=k(h,d[b]);return h},normalizeTickInterval:function(b,d,h,k,p){var H=b;h=m(h,u(b));var w=b/h;d||(d=
-p?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===k&&(1===h?d=d.filter(function(b){return 0===b%1}):.1>=h&&(d=[1/h])));for(k=0;k<d.length&&!(H=d[k],p&&H*h>=b||!p&&w<=(d[k]+(d[k+1]||d[k]))/2);k++);return H=C(H*h,-Math.round(Math.log(.001)/Math.LN10))},objectEach:I,offset:function(b){var d=q.documentElement;b=b.parentElement||b.parentNode?b.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:b.top+(h.pageYOffset||d.scrollTop)-(d.clientTop||0),left:b.left+(h.pageXOffset||d.scrollLeft)-
-(d.clientLeft||0),width:b.width,height:b.height}},pad:function(b,d,h){return Array((d||2)+1-String(b).replace("-","").length).join(h||"0")+b},pick:m,pInt:E,relativeLength:function(b,d,h){return/%$/.test(b)?d*parseFloat(b)/100+(h||0):parseFloat(b)},removeEvent:L,splat:function(b){return B(b)?b:[b]},stableSort:function(b,d){var h=b.length,k,p;for(p=0;p<h;p++)b[p].safeI=p;b.sort(function(b,h){k=d(b,h);return 0===k?b.safeI-h.safeI:k});for(p=0;p<h;p++)delete b[p].safeI},syncTimeout:function(b,d,h){if(0<
-d)return setTimeout(b,d,h);b.call(0,h);return-1},timeUnits:{millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5},uniqueKey:p,useSerialIds:function(d){return b=m(d,b)},wrap:function(b,d,h){var k=b[d];b[d]=function(){var b=arguments,d=this;return h.apply(this,[function(){return k.apply(d,arguments.length?arguments:b)}].concat([].slice.call(arguments)))}}};"";return k});K(g,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,
+(function(aa,K){"object"===typeof module&&module.exports?(K["default"]=K,module.exports=aa.document?K(aa):K):"function"===typeof define&&define.amd?define("highcharts/highcharts",function(){return K(aa)}):(aa.Highcharts&&aa.Highcharts.error(16,!0),aa.Highcharts=K(aa))})("undefined"!==typeof window?window:this,function(aa){function K(a,A,g,F){a.hasOwnProperty(A)||(a[A]=F.apply(null,g),"function"===typeof CustomEvent&&aa.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:A,module:a[A]}})))}
+var g={};K(g,"Core/Globals.js",[],function(){var a;(function(a){a.SVG_NS="http://www.w3.org/2000/svg";a.product="Highcharts";a.version="10.3.3";a.win="undefined"!==typeof aa?aa:{};a.doc=a.win.document;a.svg=a.doc&&a.doc.createElementNS&&!!a.doc.createElementNS(a.SVG_NS,"svg").createSVGRect;a.userAgent=a.win.navigator&&a.win.navigator.userAgent||"";a.isChrome=-1!==a.userAgent.indexOf("Chrome");a.isFirefox=-1!==a.userAgent.indexOf("Firefox");a.isMS=/(edge|msie|trident)/i.test(a.userAgent)&&!a.win.opera;
+a.isSafari=!a.isChrome&&-1!==a.userAgent.indexOf("Safari");a.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(a.userAgent);a.isWebKit=-1!==a.userAgent.indexOf("AppleWebKit");a.deg2rad=2*Math.PI/360;a.hasBidiBug=a.isFirefox&&4>parseInt(a.userAgent.split("Firefox/")[1],10);a.hasTouch=!!a.win.TouchEvent;a.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];a.noop=function(){};a.supportsPassiveEvents=function(){var g=!1;if(!a.isMS){var A=Object.defineProperty({},"passive",{get:function(){g=
+!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,A),a.win.removeEventListener("testPassive",a.noop,A))}return g}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});K(g,"Core/Utilities.js",[g["Core/Globals.js"]],function(a){function g(b,c,n,J){var z=c?"Highcharts error":"Highcharts warning";32===b&&(b=""+z+": Deprecated member");var q=l(b),u=q?""+z+" #"+b+": www.highcharts.com/errors/"+b+"/":
+b.toString();if("undefined"!==typeof J){var N="";q&&(u+="?");E(J,function(b,z){N+="\n - ".concat(z,": ").concat(b);q&&(u+=encodeURI(z)+"="+encodeURI(b))});u+=N}y(a,"displayError",{chart:n,code:b,message:u,params:J},function(){if(c)throw Error(u);f.console&&-1===g.messages.indexOf(u)&&console.warn(u)});g.messages.push(u)}function x(b,f){var z={};E(b,function(c,q){if(H(b[q],!0)&&!b.nodeType&&f[q])c=x(b[q],f[q]),Object.keys(c).length&&(z[q]=c);else if(H(b[q])||b[q]!==f[q]||q in b&&!(q in f))z[q]=b[q]});
+return z}function F(b,f){return parseInt(b,f||10)}function C(b){return"string"===typeof b}function B(b){b=Object.prototype.toString.call(b);return"[object Array]"===b||"[object Array Iterator]"===b}function H(b,f){return!!b&&"object"===typeof b&&(!f||!B(b))}function t(b){return H(b)&&"number"===typeof b.nodeType}function r(b){var f=b&&b.constructor;return!(!H(b,!0)||t(b)||!f||!f.name||"Object"===f.name)}function l(b){return"number"===typeof b&&!isNaN(b)&&Infinity>b&&-Infinity<b}function e(b){return"undefined"!==
+typeof b&&null!==b}function d(b,f,c){var z=C(f)&&!e(c),q,n=function(f,c){e(f)?b.setAttribute(c,f):z?(q=b.getAttribute(c))||"class"!==c||(q=b.getAttribute(c+"Name")):b.removeAttribute(c)};C(f)?n(c,f):E(f,n);return q}function h(b,f){var c;b||(b={});for(c in f)b[c]=f[c];return b}function m(){for(var b=arguments,f=b.length,c=0;c<f;c++){var J=b[c];if("undefined"!==typeof J&&null!==J)return J}}function k(b,f){a.isMS&&!a.svg&&f&&e(f.opacity)&&(f.filter="alpha(opacity=".concat(100*f.opacity,")"));h(b.style,
+f)}function p(b){return Math.pow(10,Math.floor(Math.log(b)/Math.LN10))}function D(b,f){return 1E14<b?b:parseFloat(b.toPrecision(f||14))}function I(b,c,n){var z=a.getStyle||I;if("width"===c)return c=Math.min(b.offsetWidth,b.scrollWidth),n=b.getBoundingClientRect&&b.getBoundingClientRect().width,n<c&&n>=c-1&&(c=Math.floor(n)),Math.max(0,c-(z(b,"padding-left",!0)||0)-(z(b,"padding-right",!0)||0));if("height"===c)return Math.max(0,Math.min(b.offsetHeight,b.scrollHeight)-(z(b,"padding-top",!0)||0)-(z(b,
+"padding-bottom",!0)||0));f.getComputedStyle||g(27,!0);if(b=f.getComputedStyle(b,void 0)){var q=b.getPropertyValue(c);m(n,"opacity"!==c)&&(q=F(q))}return q}function E(b,f,c){for(var z in b)Object.hasOwnProperty.call(b,z)&&f.call(c||b[z],b[z],z,b)}function L(b,f,c){function z(f,c){var v=b.removeEventListener||a.removeEventListenerPolyfill;v&&v.call(b,f,c,!1)}function q(c){var v;if(b.nodeName){if(f){var q={};q[f]=!0}else q=c;E(q,function(b,f){if(c[f])for(v=c[f].length;v--;)z(f,c[f][v].fn)})}}var n=
+"function"===typeof b&&b.prototype||b;if(Object.hasOwnProperty.call(n,"hcEvents")){var u=n.hcEvents;f?(n=u[f]||[],c?(u[f]=n.filter(function(b){return c!==b.fn}),z(f,c)):(q(u),u[f]=[])):(q(u),delete n.hcEvents)}}function y(b,f,c,J){c=c||{};if(w.createEvent&&(b.dispatchEvent||b.fireEvent&&b!==a)){var z=w.createEvent("Events");z.initEvent(f,!0,!0);c=h(z,c);b.dispatchEvent?b.dispatchEvent(c):b.fireEvent(f,c)}else if(b.hcEvents){c.target||h(c,{preventDefault:function(){c.defaultPrevented=!0},target:b,
+type:f});z=[];for(var q=b,n=!1;q.hcEvents;)Object.hasOwnProperty.call(q,"hcEvents")&&q.hcEvents[f]&&(z.length&&(n=!0),z.unshift.apply(z,q.hcEvents[f])),q=Object.getPrototypeOf(q);n&&z.sort(function(b,f){return b.order-f.order});z.forEach(function(f){!1===f.fn.call(b,c)&&c.preventDefault()})}J&&!c.defaultPrevented&&J.call(b,c)}var c=a.charts,w=a.doc,f=a.win;(g||(g={})).messages=[];Math.easeInOutSine=function(b){return-.5*(Math.cos(Math.PI*b)-1)};var n=Array.prototype.find?function(b,f){return b.find(f)}:
+function(b,f){var c,q=b.length;for(c=0;c<q;c++)if(f(b[c],c))return b[c]};E({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(b,f){a[f]=function(c){var q;g(32,!1,void 0,(q={},q["Highcharts.".concat(f)]="use Array.".concat(b),q));return Array.prototype[b].apply(c,[].slice.call(arguments,1))}});var b,u=function(){var f=Math.random().toString(36).substring(2,9)+"-",c=0;return function(){return"highcharts-"+(b?"":f)+c++}}();f.jQuery&&(f.jQuery.fn.highcharts=function(){var b=
+[].slice.call(arguments);if(this[0])return b[0]?(new (a[C(b[0])?b.shift():"Chart"])(this[0],b[0],b[1]),this):c[d(this[0],"data-highcharts-chart")]});n={addEvent:function(b,f,c,J){void 0===J&&(J={});var q="function"===typeof b&&b.prototype||b;Object.hasOwnProperty.call(q,"hcEvents")||(q.hcEvents={});q=q.hcEvents;a.Point&&b instanceof a.Point&&b.series&&b.series.chart&&(b.series.chart.runTrackerClick=!0);var z=b.addEventListener||a.addEventListenerPolyfill;z&&z.call(b,f,c,a.supportsPassiveEvents?{passive:void 0===
+J.passive?-1!==f.indexOf("touch"):J.passive,capture:!1}:!1);q[f]||(q[f]=[]);q[f].push({fn:c,order:"number"===typeof J.order?J.order:Infinity});q[f].sort(function(b,f){return b.order-f.order});return function(){L(b,f,c)}},arrayMax:function(b){for(var f=b.length,c=b[0];f--;)b[f]>c&&(c=b[f]);return c},arrayMin:function(b){for(var f=b.length,c=b[0];f--;)b[f]<c&&(c=b[f]);return c},attr:d,clamp:function(b,f,c){return b>f?b<c?b:c:f},cleanRecursively:x,clearTimeout:function(b){e(b)&&clearTimeout(b)},correctFloat:D,
+createElement:function(b,f,c,J,n){b=w.createElement(b);f&&h(b,f);n&&k(b,{padding:"0",border:"none",margin:"0"});c&&k(b,c);J&&J.appendChild(b);return b},css:k,defined:e,destroyObjectProperties:function(b,f){E(b,function(c,q){c&&c!==f&&c.destroy&&c.destroy();delete b[q]})},discardElement:function(b){b&&b.parentElement&&b.parentElement.removeChild(b)},erase:function(b,f){for(var c=b.length;c--;)if(b[c]===f){b.splice(c,1);break}},error:g,extend:h,extendClass:function(b,f){var c=function(){};c.prototype=
+new b;h(c.prototype,f);return c},find:n,fireEvent:y,getMagnitude:p,getNestedProperty:function(b,c){for(b=b.split(".");b.length&&e(c);){var q=b.shift();if("undefined"===typeof q||"__proto__"===q)return;c=c[q];if(!e(c)||"function"===typeof c||"number"===typeof c.nodeType||c===f)return}return c},getStyle:I,inArray:function(b,c,f){g(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return c.indexOf(b,f)},isArray:B,isClass:r,isDOMElement:t,isFunction:function(b){return"function"===typeof b},isNumber:l,
+isObject:H,isString:C,keys:function(b){g(32,!1,void 0,{"Highcharts.keys":"use Object.keys"});return Object.keys(b)},merge:function(){var b,c=arguments,f={},J=function(b,c){"object"!==typeof b&&(b={});E(c,function(f,v){"__proto__"!==v&&"constructor"!==v&&(!H(f,!0)||r(f)||t(f)?b[v]=c[v]:b[v]=J(b[v]||{},f))});return b};!0===c[0]&&(f=c[1],c=Array.prototype.slice.call(c,2));var n=c.length;for(b=0;b<n;b++)f=J(f,c[b]);return f},normalizeTickInterval:function(b,c,f,J,n){var q=b;f=m(f,p(b));var u=b/f;c||(c=
+n?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===J&&(1===f?c=c.filter(function(b){return 0===b%1}):.1>=f&&(c=[1/f])));for(J=0;J<c.length&&!(q=c[J],n&&q*f>=b||!n&&u<=(c[J]+(c[J+1]||c[J]))/2);J++);return q=D(q*f,-Math.round(Math.log(.001)/Math.LN10))},objectEach:E,offset:function(b){var c=w.documentElement;b=b.parentElement||b.parentNode?b.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:b.top+(f.pageYOffset||c.scrollTop)-(c.clientTop||0),left:b.left+(f.pageXOffset||c.scrollLeft)-
+(c.clientLeft||0),width:b.width,height:b.height}},pad:function(b,c,f){return Array((c||2)+1-String(b).replace("-","").length).join(f||"0")+b},pick:m,pInt:F,relativeLength:function(b,c,f){return/%$/.test(b)?c*parseFloat(b)/100+(f||0):parseFloat(b)},removeEvent:L,splat:function(b){return B(b)?b:[b]},stableSort:function(b,c){var f=b.length,J,n;for(n=0;n<f;n++)b[n].safeI=n;b.sort(function(b,f){J=c(b,f);return 0===J?b.safeI-f.safeI:J});for(n=0;n<f;n++)delete b[n].safeI},syncTimeout:function(b,c,f){if(0<
+c)return setTimeout(b,c,f);b.call(0,f);return-1},timeUnits:{millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5},uniqueKey:u,useSerialIds:function(c){return b=m(c,b)},wrap:function(b,c,f){var n=b[c];b[c]=function(){var b=arguments,c=this;return f.apply(this,[function(){return n.apply(c,arguments.length?arguments:b)}].concat([].slice.call(arguments)))}}};"";return n});K(g,"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,zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}});K(g,"Core/Color/Color.js",[g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,
-g){var v=g.isNumber,E=g.merge,D=g.pInt;g=function(){function g(v){this.rgba=[NaN,NaN,NaN,NaN];this.input=v;var r=a.Color;if(r&&r!==g)return new r(v);if(!(this instanceof g))return new g(v);this.init(v)}g.parse=function(a){return a?new g(a):g.None};g.prototype.init=function(a){var r;if("object"===typeof a&&"undefined"!==typeof a.stops)this.stops=a.stops.map(function(c){return new g(c[1])});else if("string"===typeof a){this.input=a=g.names[a.toLowerCase()]||a;if("#"===a.charAt(0)){var t=a.length;var n=
-parseInt(a.substr(1),16);7===t?r=[(n&16711680)>>16,(n&65280)>>8,n&255,1]:4===t&&(r=[(n&3840)>>4|(n&3840)>>8,(n&240)>>4|n&240,(n&15)<<4|n&15,1])}if(!r)for(n=g.parsers.length;n--&&!r;){var f=g.parsers[n];(t=f.regex.exec(a))&&(r=f.parse(t))}}r&&(this.rgba=r)};g.prototype.get=function(a){var r=this.input,t=this.rgba;if("object"===typeof r&&"undefined"!==typeof this.stops){var n=E(r);n.stops=[].slice.call(n.stops);this.stops.forEach(function(f,c){n.stops[c]=[n.stops[c][0],f.get(a)]});return n}return t&&
-v(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?"".concat(t[3]):"rgba("+t.join(",")+")":r};g.prototype.brighten=function(a){var r=this.rgba;if(this.stops)this.stops.forEach(function(n){n.brighten(a)});else if(v(a)&&0!==a)for(var t=0;3>t;t++)r[t]+=D(255*a),0>r[t]&&(r[t]=0),255<r[t]&&(r[t]=255);return this};g.prototype.setOpacity=function(a){this.rgba[3]=a;return this};g.prototype.tweenTo=function(a,r){var t=this.rgba,n=a.rgba;if(!v(t[0])||!v(n[0]))return a.input||"none";a=
-1!==n[3]||1!==t[3];return(a?"rgba(":"rgb(")+Math.round(n[0]+(t[0]-n[0])*(1-r))+","+Math.round(n[1]+(t[1]-n[1])*(1-r))+","+Math.round(n[2]+(t[2]-n[2])*(1-r))+(a?","+(n[3]+(t[3]-n[3])*(1-r)):"")+")"};g.names={white:"#ffffff",black:"#000000"};g.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[D(a[1]),D(a[2]),D(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[D(a[1]),
-D(a[2]),D(a[3]),1]}}];g.None=new g("");return g}();"";return g});K(g,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}});K(g,"Core/Time.js",[g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g){var v=a.win,E=g.defined,D=g.error,B=g.extend,G=g.isObject,r=g.merge,t=g.objectEach,n=g.pad,f=g.pick,c=g.splat,l=g.timeUnits,m=a.isSafari&&v.Intl&&v.Intl.DateTimeFormat.prototype.formatRange,e=a.isSafari&&
-v.Intl&&!v.Intl.DateTimeFormat.prototype.formatRange;g=function(){function u(c){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=v.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(c)}u.prototype.get=function(c,e){if(this.variableTimezone||this.timezoneOffset){var m=e.getTime(),l=m-this.getTimezoneOffset(e);e.setTime(l);c=e["getUTC"+c]();e.setTime(m);return c}return this.useUTC?e["getUTC"+c]():e["get"+c]()};u.prototype.set=function(c,e,l){if(this.variableTimezone||
-this.timezoneOffset){if("Milliseconds"===c||"Seconds"===c||"Minutes"===c&&0===this.getTimezoneOffset(e)%36E5)return e["setUTC"+c](l);var f=this.getTimezoneOffset(e);f=e.getTime()-f;e.setTime(f);e["setUTC"+c](l);c=this.getTimezoneOffset(e);f=e.getTime()+c;return e.setTime(f)}return this.useUTC||m&&"FullYear"===c?e["setUTC"+c](l):e["set"+c](l)};u.prototype.update=function(c){void 0===c&&(c={});var e=f(c.useUTC,!0);this.options=c=r(!0,this.options,c);this.Date=c.Date||v.Date||Date;this.timezoneOffset=
-(this.useUTC=e)&&c.timezoneOffset||void 0;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=e&&!(!c.getTimezoneOffset&&!c.timezone)};u.prototype.makeTime=function(c,m,l,u,A,d){if(this.useUTC){var q=this.Date.UTC.apply(0,arguments);var h=this.getTimezoneOffset(q);q+=h;var k=this.getTimezoneOffset(q);h!==k?q+=k-h:h-36E5!==this.getTimezoneOffset(q-36E5)||e||(q-=36E5)}else q=(new this.Date(c,m,f(l,1),f(u,0),f(A,0),f(d,0))).getTime();return q};u.prototype.timezoneOffsetFunction=
-function(){var c=this,e=this.options,m=e.getTimezoneOffset,l=e.moment||v.moment;if(!this.useUTC)return function(c){return 6E4*(new Date(c.toString())).getTimezoneOffset()};if(e.timezone){if(l)return function(c){return 6E4*-l.tz(c,e.timezone).utcOffset()};D(25)}return this.useUTC&&m?function(c){return 6E4*m(c.valueOf())}:function(){return 6E4*(c.timezoneOffset||0)}};u.prototype.dateFormat=function(c,e,m){if(!E(e)||isNaN(e))return a.defaultOptions.lang&&a.defaultOptions.lang.invalidDate||"";c=f(c,"%Y-%m-%d %H:%M:%S");
-var l=this,u=new this.Date(e),d=this.get("Hours",u),q=this.get("Day",u),h=this.get("Date",u),k=this.get("Month",u),b=this.get("FullYear",u),p=a.defaultOptions.lang,z=p&&p.weekdays,w=p&&p.shortWeekdays;u=B({a:w?w[q]:z[q].substr(0,3),A:z[q],d:n(h),e:n(h,2," "),w:q,b:p.shortMonths[k],B:p.months[k],m:n(k+1),o:k+1,y:b.toString().substr(2,2),Y:b,H:n(d),k:d,I:n(d%12||12),l:d%12||12,M:n(this.get("Minutes",u)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:n(u.getSeconds()),L:n(Math.floor(e%1E3),3)},a.dateFormats);t(u,
-function(b,d){for(;-1!==c.indexOf("%"+d);)c=c.replace("%"+d,"function"===typeof b?b.call(l,e):b)});return m?c.substr(0,1).toUpperCase()+c.substr(1):c};u.prototype.resolveDTLFormat=function(e){return G(e,!0)?e:(e=c(e),{main:e[0],from:e[1],to:e[2]})};u.prototype.getTimeTicks=function(c,e,m,u){var A=this,d=[],q={},h=new A.Date(e),k=c.unitRange,b=c.count||1,p;u=f(u,1);if(E(e)){A.set("Milliseconds",h,k>=l.second?0:b*Math.floor(A.get("Milliseconds",h)/b));k>=l.second&&A.set("Seconds",h,k>=l.minute?0:b*
-Math.floor(A.get("Seconds",h)/b));k>=l.minute&&A.set("Minutes",h,k>=l.hour?0:b*Math.floor(A.get("Minutes",h)/b));k>=l.hour&&A.set("Hours",h,k>=l.day?0:b*Math.floor(A.get("Hours",h)/b));k>=l.day&&A.set("Date",h,k>=l.month?1:Math.max(1,b*Math.floor(A.get("Date",h)/b)));if(k>=l.month){A.set("Month",h,k>=l.year?0:b*Math.floor(A.get("Month",h)/b));var z=A.get("FullYear",h)}k>=l.year&&A.set("FullYear",h,z-z%b);k===l.week&&(z=A.get("Day",h),A.set("Date",h,A.get("Date",h)-z+u+(z<u?-7:0)));z=A.get("FullYear",
-h);u=A.get("Month",h);var w=A.get("Date",h),C=A.get("Hours",h);e=h.getTime();!A.variableTimezone&&A.useUTC||!E(m)||(p=m-e>4*l.month||A.getTimezoneOffset(e)!==A.getTimezoneOffset(m));e=h.getTime();for(h=1;e<m;)d.push(e),e=k===l.year?A.makeTime(z+h*b,0):k===l.month?A.makeTime(z,u+h*b):!p||k!==l.day&&k!==l.week?p&&k===l.hour&&1<b?A.makeTime(z,u,w,C+h*b):e+k*b:A.makeTime(z,u,w+h*b*(k===l.day?1:7)),h++;d.push(e);k<=l.hour&&1E4>d.length&&d.forEach(function(b){0===b%18E5&&"000000000"===A.dateFormat("%H%M%S%L",
-b)&&(q[b]="day")})}d.info=B(c,{higherRanks:q,totalRange:k*b});return d};u.prototype.getDateFormat=function(c,e,m,u){var f=this.dateFormat("%m-%d %H:%M:%S.%L",e),d={millisecond:15,second:12,minute:9,hour:6,day:3},q="millisecond";for(h in l){if(c===l.week&&+this.dateFormat("%w",e)===m&&"00:00:00.000"===f.substr(6)){var h="week";break}if(l[h]>c){h=q;break}if(d[h]&&f.substr(d[h])!=="01-01 00:00:00.000".substr(d[h]))break;"week"!==h&&(q=h)}return this.resolveDTLFormat(u[h]).main};return u}();"";return g});
-K(g,"Core/Defaults.js",[g["Core/Chart/ChartDefaults.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Color/Palettes.js"],g["Core/Time.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B){g=g.parse;var v=B.merge,r={colors:E.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(" "),
+g){var A=g.isNumber,F=g.merge,C=g.pInt;g=function(){function g(A){this.rgba=[NaN,NaN,NaN,NaN];this.input=A;var t=a.Color;if(t&&t!==g)return new t(A);if(!(this instanceof g))return new g(A);this.init(A)}g.parse=function(a){return a?new g(a):g.None};g.prototype.init=function(a){var t;if("object"===typeof a&&"undefined"!==typeof a.stops)this.stops=a.stops.map(function(d){return new g(d[1])});else if("string"===typeof a){this.input=a=g.names[a.toLowerCase()]||a;if("#"===a.charAt(0)){var r=a.length;var l=
+parseInt(a.substr(1),16);7===r?t=[(l&16711680)>>16,(l&65280)>>8,l&255,1]:4===r&&(t=[(l&3840)>>4|(l&3840)>>8,(l&240)>>4|l&240,(l&15)<<4|l&15,1])}if(!t)for(l=g.parsers.length;l--&&!t;){var e=g.parsers[l];(r=e.regex.exec(a))&&(t=e.parse(r))}}t&&(this.rgba=t)};g.prototype.get=function(a){var t=this.input,r=this.rgba;if("object"===typeof t&&"undefined"!==typeof this.stops){var l=F(t);l.stops=[].slice.call(l.stops);this.stops.forEach(function(e,d){l.stops[d]=[l.stops[d][0],e.get(a)]});return l}return r&&
+A(r[0])?"rgb"===a||!a&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===a?"".concat(r[3]):"rgba("+r.join(",")+")":t};g.prototype.brighten=function(a){var t=this.rgba;if(this.stops)this.stops.forEach(function(l){l.brighten(a)});else if(A(a)&&0!==a)for(var r=0;3>r;r++)t[r]+=C(255*a),0>t[r]&&(t[r]=0),255<t[r]&&(t[r]=255);return this};g.prototype.setOpacity=function(a){this.rgba[3]=a;return this};g.prototype.tweenTo=function(a,t){var r=this.rgba,l=a.rgba;if(!A(r[0])||!A(l[0]))return a.input||"none";a=
+1!==l[3]||1!==r[3];return(a?"rgba(":"rgb(")+Math.round(l[0]+(r[0]-l[0])*(1-t))+","+Math.round(l[1]+(r[1]-l[1])*(1-t))+","+Math.round(l[2]+(r[2]-l[2])*(1-t))+(a?","+(l[3]+(r[3]-l[3])*(1-t)):"")+")"};g.names={white:"#ffffff",black:"#000000"};g.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[C(a[1]),C(a[2]),C(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[C(a[1]),
+C(a[2]),C(a[3]),1]}}];g.None=new g("");return g}();"";return g});K(g,"Core/Color/Palettes.js",[],function(){return{colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" ")}});K(g,"Core/Time.js",[g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g){var A=a.win,F=g.defined,C=g.error,B=g.extend,H=g.isObject,t=g.merge,r=g.objectEach,l=g.pad,e=g.pick,d=g.splat,h=g.timeUnits,m=a.isSafari&&A.Intl&&A.Intl.DateTimeFormat.prototype.formatRange,k=a.isSafari&&
+A.Intl&&!A.Intl.DateTimeFormat.prototype.formatRange;g=function(){function p(d){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=A.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(d)}p.prototype.get=function(d,e){if(this.variableTimezone||this.timezoneOffset){var h=e.getTime(),k=h-this.getTimezoneOffset(e);e.setTime(k);d=e["getUTC"+d]();e.setTime(h);return d}return this.useUTC?e["getUTC"+d]():e["get"+d]()};p.prototype.set=function(d,e,h){if(this.variableTimezone||
+this.timezoneOffset){if("Milliseconds"===d||"Seconds"===d||"Minutes"===d&&0===this.getTimezoneOffset(e)%36E5)return e["setUTC"+d](h);var k=this.getTimezoneOffset(e);k=e.getTime()-k;e.setTime(k);e["setUTC"+d](h);d=this.getTimezoneOffset(e);k=e.getTime()+d;return e.setTime(k)}return this.useUTC||m&&"FullYear"===d?e["setUTC"+d](h):e["set"+d](h)};p.prototype.update=function(d){void 0===d&&(d={});var h=e(d.useUTC,!0);this.options=d=t(!0,this.options,d);this.Date=d.Date||A.Date||Date;this.timezoneOffset=
+(this.useUTC=h)&&d.timezoneOffset||void 0;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=h&&!(!d.getTimezoneOffset&&!d.timezone)};p.prototype.makeTime=function(d,h,m,p,y,c){if(this.useUTC){var w=this.Date.UTC.apply(0,arguments);var f=this.getTimezoneOffset(w);w+=f;var n=this.getTimezoneOffset(w);f!==n?w+=n-f:f-36E5!==this.getTimezoneOffset(w-36E5)||k||(w-=36E5)}else w=(new this.Date(d,h,e(m,1),e(p,0),e(y,0),e(c,0))).getTime();return w};p.prototype.timezoneOffsetFunction=
+function(){var d=this,e=this.options,h=e.getTimezoneOffset,k=e.moment||A.moment;if(!this.useUTC)return function(d){return 6E4*(new Date(d.toString())).getTimezoneOffset()};if(e.timezone){if(k)return function(d){return 6E4*-k.tz(d,e.timezone).utcOffset()};C(25)}return this.useUTC&&h?function(d){return 6E4*h(d.valueOf())}:function(){return 6E4*(d.timezoneOffset||0)}};p.prototype.dateFormat=function(d,h,k){if(!F(h)||isNaN(h))return a.defaultOptions.lang&&a.defaultOptions.lang.invalidDate||"";d=e(d,"%Y-%m-%d %H:%M:%S");
+var m=this,p=new this.Date(h),c=this.get("Hours",p),w=this.get("Day",p),f=this.get("Date",p),n=this.get("Month",p),b=this.get("FullYear",p),u=a.defaultOptions.lang,z=u&&u.weekdays,q=u&&u.shortWeekdays;p=B({a:q?q[w]:z[w].substr(0,3),A:z[w],d:l(f),e:l(f,2," "),w:w,b:u.shortMonths[n],B:u.months[n],m:l(n+1),o:n+1,y:b.toString().substr(2,2),Y:b,H:l(c),k:c,I:l(c%12||12),l:c%12||12,M:l(this.get("Minutes",p)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:l(p.getSeconds()),L:l(Math.floor(h%1E3),3)},a.dateFormats);r(p,
+function(b,c){for(;-1!==d.indexOf("%"+c);)d=d.replace("%"+c,"function"===typeof b?b.call(m,h):b)});return k?d.substr(0,1).toUpperCase()+d.substr(1):d};p.prototype.resolveDTLFormat=function(e){return H(e,!0)?e:(e=d(e),{main:e[0],from:e[1],to:e[2]})};p.prototype.getTimeTicks=function(d,k,p,m){var y=this,c=[],w={},f=new y.Date(k),n=d.unitRange,b=d.count||1,u;m=e(m,1);if(F(k)){y.set("Milliseconds",f,n>=h.second?0:b*Math.floor(y.get("Milliseconds",f)/b));n>=h.second&&y.set("Seconds",f,n>=h.minute?0:b*
+Math.floor(y.get("Seconds",f)/b));n>=h.minute&&y.set("Minutes",f,n>=h.hour?0:b*Math.floor(y.get("Minutes",f)/b));n>=h.hour&&y.set("Hours",f,n>=h.day?0:b*Math.floor(y.get("Hours",f)/b));n>=h.day&&y.set("Date",f,n>=h.month?1:Math.max(1,b*Math.floor(y.get("Date",f)/b)));if(n>=h.month){y.set("Month",f,n>=h.year?0:b*Math.floor(y.get("Month",f)/b));var z=y.get("FullYear",f)}n>=h.year&&y.set("FullYear",f,z-z%b);n===h.week&&(z=y.get("Day",f),y.set("Date",f,y.get("Date",f)-z+m+(z<m?-7:0)));z=y.get("FullYear",
+f);m=y.get("Month",f);var q=y.get("Date",f),N=y.get("Hours",f);k=f.getTime();!y.variableTimezone&&y.useUTC||!F(p)||(u=p-k>4*h.month||y.getTimezoneOffset(k)!==y.getTimezoneOffset(p));k=f.getTime();for(f=1;k<p;)c.push(k),k=n===h.year?y.makeTime(z+f*b,0):n===h.month?y.makeTime(z,m+f*b):!u||n!==h.day&&n!==h.week?u&&n===h.hour&&1<b?y.makeTime(z,m,q,N+f*b):k+n*b:y.makeTime(z,m,q+f*b*(n===h.day?1:7)),f++;c.push(k);n<=h.hour&&1E4>c.length&&c.forEach(function(b){0===b%18E5&&"000000000"===y.dateFormat("%H%M%S%L",
+b)&&(w[b]="day")})}c.info=B(d,{higherRanks:w,totalRange:n*b});return c};p.prototype.getDateFormat=function(d,e,k,p){var m=this.dateFormat("%m-%d %H:%M:%S.%L",e),c={millisecond:15,second:12,minute:9,hour:6,day:3},w="millisecond";for(f in h){if(d===h.week&&+this.dateFormat("%w",e)===k&&"00:00:00.000"===m.substr(6)){var f="week";break}if(h[f]>d){f=w;break}if(c[f]&&m.substr(c[f])!=="01-01 00:00:00.000".substr(c[f]))break;"week"!==f&&(w=f)}return this.resolveDTLFormat(p[f]).main};return p}();"";return g});
+K(g,"Core/Defaults.js",[g["Core/Chart/ChartDefaults.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Color/Palettes.js"],g["Core/Time.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B){g=g.parse;var A=B.merge,t={colors:F.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:a,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:x.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:x.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:g("#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"}};r.chart.styledMode=!1;"";var t=new D(v(r.global,r.time));a={defaultOptions:r,defaultTime:t,getOptions:function(){return r},setOptions:function(a){v(!0,r,a);if(a.time||a.global)x.time?x.time.update(v(r.global,r.time,a.global,a.time)):x.time=t;return r}};"";return a});K(g,"Core/Animation/Fx.js",[g["Core/Color/Color.js"],
-g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.parse,D=g.win,B=x.isNumber,G=x.objectEach;return function(){function a(a,n,f){this.pos=NaN;this.options=n;this.elem=a;this.prop=f}a.prototype.dSetter=function(){var a=this.paths,n=a&&a[0];a=a&&a[1];var f=this.now||0,c=[];if(1!==f&&n&&a)if(n.length===a.length&&1>f)for(var l=0;l<a.length;l++){for(var m=n[l],e=a[l],u=[],C=0;C<e.length;C++){var J=m[C],I=e[C];B(J)&&B(I)&&("A"!==e[0]||4!==C&&5!==C)?u[C]=J+f*(I-J):u[C]=I}c.push(u)}else c=
-a;else c=this.toD||[];this.elem.attr("d",c,void 0,!0)};a.prototype.update=function(){var a=this.elem,n=this.prop,f=this.now,c=this.options.step;if(this[n+"Setter"])this[n+"Setter"]();else a.attr?a.element&&a.attr(n,f,null,!0):a.style[n]=f+this.unit;c&&c.call(a,f,this)};a.prototype.run=function(r,n,f){var c=this,l=c.options,m=function(e){return m.stopped?!1:c.step(e)},e=D.requestAnimationFrame||function(c){setTimeout(c,13)},u=function(){for(var c=0;c<a.timers.length;c++)a.timers[c]()||a.timers.splice(c--,
-1);a.timers.length&&e(u)};r!==n||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=r,this.end=n,this.unit=f,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&1===a.timers.push(m)&&e(u)):(delete l.curAnim[this.prop],l.complete&&0===Object.keys(l.curAnim).length&&l.complete.call(this.elem))};a.prototype.step=function(a){var n=+new Date,f=this.options,c=this.elem,l=f.complete,m=f.duration,e=f.curAnim;if(c.attr&&!c.element)a=!1;else if(a||n>=m+this.startTime){this.now=
-this.end;this.pos=1;this.update();var u=e[this.prop]=!0;G(e,function(c){!0!==c&&(u=!1)});u&&l&&l.call(c);a=!1}else this.pos=f.easing((n-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0;return a};a.prototype.initPath=function(a,n,f){function c(c,d){for(;c.length<r;){var e=c[0],h=d[r-c.length];h&&"M"===e[0]&&(c[0]="C"===h[0]?["C",e[1],e[2],e[1],e[2],e[1],e[2]]:["L",e[1],e[2]]);c.unshift(e);u&&(e=c.pop(),c.push(c[c.length-1],e))}}function l(c,d){for(;c.length<
-r;)if(d=c[Math.floor(c.length/C)-1].slice(),"C"===d[0]&&(d[1]=d[5],d[2]=d[6]),u){var e=c[Math.floor(c.length/C)].slice();c.splice(c.length/2,0,d,e)}else c.push(d)}var m=a.startX,e=a.endX;f=f.slice();var u=a.isArea,C=u?2:1;n=n&&n.slice();if(!n)return[f,f];if(m&&e&&e.length){for(a=0;a<m.length;a++)if(m[a]===e[0]){var J=a;break}else if(m[0]===e[e.length-m.length+a]){J=a;var I=!0;break}else if(m[m.length-1]===e[e.length-m.length+a]){J=m.length-a;break}"undefined"===typeof J&&(n=[])}if(n.length&&B(J)){var r=
-f.length+J*C;I?(c(n,f),l(f,n)):(c(f,n),l(n,f))}return[n,f]};a.prototype.fillSetter=function(){a.prototype.strokeSetter.apply(this,arguments)};a.prototype.strokeSetter=function(){this.elem.attr(this.prop,v(this.start).tweenTo(v(this.end),this.pos),void 0,!0)};a.timers=[];return a}()});K(g,"Core/Animation/AnimationUtilities.js",[g["Core/Animation/Fx.js"],g["Core/Utilities.js"]],function(a,g){function v(c){return t(c)?n({duration:500,defer:0},c):{duration:c?500:0,defer:0}}function E(c,m){for(var e=a.timers.length;e--;)a.timers[e].elem!==
-c||m&&m!==a.timers[e].prop||(a.timers[e].stopped=!0)}var D=g.defined,B=g.getStyle,G=g.isArray,r=g.isNumber,t=g.isObject,n=g.merge,f=g.objectEach,c=g.pick;return{animate:function(c,m,e){var u,l="",J,I;if(!t(e)){var g=arguments;e={duration:g[2],easing:g[3],complete:g[4]}}r(e.duration)||(e.duration=400);e.easing="function"===typeof e.easing?e.easing:Math[e.easing]||Math.easeInOutSine;e.curAnim=n(m);f(m,function(f,d){E(c,d);I=new a(c,e,d);J=void 0;"d"===d&&G(m.d)?(I.paths=I.initPath(c,c.pathArray,m.d),
-I.toD=m.d,u=0,J=1):c.attr?u=c.attr(d):(u=parseFloat(B(c,d))||0,"opacity"!==d&&(l="px"));J||(J=f);"string"===typeof J&&J.match("px")&&(J=J.replace(/px/g,""));I.run(u,J,l)})},animObject:v,getDeferredAnimation:function(c,m,e){var u=v(m),f=0,l=0;(e?[e]:c.series).forEach(function(c){c=v(c.options.animation);f=m&&D(m.defer)?u.defer:Math.max(f,c.duration+c.defer);l=Math.min(u.duration,c.duration)});c.renderer.forExport&&(f=0);return{defer:Math.max(0,f-l),duration:Math.min(f,l)}},setAnimation:function(f,
-m){m.renderer.globalAnimation=c(f,m.options.chart.animation,!0)},stop:E}});K(g,"Core/Renderer/HTML/AST.js",[g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g){var v=a.SVG_NS,E=g.attr,D=g.createElement,B=g.css,G=g.error,r=g.isFunction,t=g.isString,n=g.objectEach,f=g.splat,c=(g=a.win.trustedTypes)&&r(g.createPolicy)&&g.createPolicy("highcharts",{createHTML:function(c){return c}}),l=c?c.createHTML(""):"";try{var m=!!(new DOMParser).parseFromString(l,"text/html")}catch(e){m=!1}r=function(){function e(c){this.nodes=
-"string"===typeof c?this.parseMarkup(c):c}e.filterUserAttributes=function(c){n(c,function(m,f){var u=!0;-1===e.allowedAttributes.indexOf(f)&&(u=!1);-1!==["background","dynsrc","href","lowsrc","src"].indexOf(f)&&(u=t(m)&&e.allowedReferences.some(function(c){return 0===m.indexOf(c)}));u||(G(33,!1,void 0,{"Invalid attribute in config":"".concat(f)}),delete c[f]);t(m)&&c[f]&&(c[f]=m.replace(/</g,"&lt;"))});return c};e.parseStyle=function(c){return c.split(";").reduce(function(c,e){e=e.split(":").map(function(c){return c.trim()});
-var m=e.shift();m&&e.length&&(c[m.replace(/-([a-z])/g,function(c){return c[1].toUpperCase()})]=e.join(":"));return c},{})};e.setElementHTML=function(c,m){c.innerHTML=e.emptyHTML;m&&(new e(m)).addToDOM(c)};e.prototype.addToDOM=function(c){function m(c,u){var l;f(c).forEach(function(c){var d=c.tagName,q=c.textContent?a.doc.createTextNode(c.textContent):void 0,h=e.bypassHTMLFiltering;if(d)if("#text"===d)var k=q;else if(-1!==e.allowedTags.indexOf(d)||h){d=a.doc.createElementNS("svg"===d?v:u.namespaceURI||
-v,d);var b=c.attributes||{};n(c,function(d,h){"tagName"!==h&&"attributes"!==h&&"children"!==h&&"style"!==h&&"textContent"!==h&&(b[h]=d)});E(d,h?b:e.filterUserAttributes(b));c.style&&B(d,c.style);q&&d.appendChild(q);m(c.children||[],d);k=d}else G(33,!1,void 0,{"Invalid tagName in config":d});k&&u.appendChild(k);l=k});return l}return m(this.nodes,c)};e.prototype.parseMarkup=function(f){var l=[];f=f.trim().replace(/ style=(["'])/g," data-style=$1");if(m)f=(new DOMParser).parseFromString(c?c.createHTML(f):
-f,"text/html");else{var u=D("div");u.innerHTML=f;f={body:u}}var a=function(c,m){var d=c.nodeName.toLowerCase(),f={tagName:d};"#text"===d&&(f.textContent=c.textContent||"");if(d=c.attributes){var h={};[].forEach.call(d,function(b){"data-style"===b.name?f.style=e.parseStyle(b.value):h[b.name]=b.value});f.attributes=h}if(c.childNodes.length){var k=[];[].forEach.call(c.childNodes,function(b){a(b,k)});k.length&&(f.children=k)}m.push(f)};[].forEach.call(f.body.childNodes,function(c){return a(c,l)});return l};
-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 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 text-anchor textAnchor textLength title type valign width x x1 x2 xlink:href y y1 y2 zIndex".split(" ");
-e.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" ");e.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 textPath thead title tbody tspan td th tr u ul #text".split(" ");e.emptyHTML=l;e.bypassHTMLFiltering=!1;return e}();
-"";return r});K(g,"Core/FormatUtilities.js",[g["Core/Defaults.js"],g["Core/Utilities.js"]],function(a,g){function v(a,f,c,l){a=+a||0;f=+f;var m=E.lang,e=(a.toString().split(".")[1]||"").split("e")[0].length,u=a.toString().split("e"),C=f;if(-1===f)f=Math.min(e,20);else if(!G(f))f=2;else if(f&&u[1]&&0>u[1]){var g=f+ +u[1];0<=g?(u[0]=(+u[0]).toExponential(g).split("e")[0],f=g):(u[0]=u[0].split(".")[0]||0,a=20>f?(u[0]*Math.pow(10,u[1])).toFixed(f):0,u[1]=0)}g=(Math.abs(u[1]?u[0]:a)+Math.pow(10,-Math.max(f,
-e)-1)).toFixed(f);e=String(t(g));var n=3<e.length?e.length%3:0;c=r(c,m.decimalPoint);l=r(l,m.thousandsSep);a=(0>a?"-":"")+(n?e.substr(0,n)+l:"");a=0>+u[1]&&!C?"0":a+e.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+l);f&&(a+=c+g.slice(-f));u[1]&&0!==+a&&(a+="e"+u[1]);return a}var E=a.defaultOptions,D=a.defaultTime,B=g.getNestedProperty,G=g.isNumber,r=g.pick,t=g.pInt;return{dateFormat:function(a,f,c){return D.dateFormat(a,f,c)},format:function(a,f,c){var l="{",m=!1,e=/f$/,u=/\.([0-9])/,C=E.lang,g=c&&c.time||
-D;c=c&&c.numberFormatter||v;for(var n=[];a;){var r=a.indexOf(l);if(-1===r)break;var A=a.slice(0,r);if(m){A=A.split(":");l=B(A.shift()||"",f);if(A.length&&"number"===typeof l)if(A=A.join(":"),e.test(A)){var d=parseInt((A.match(u)||["","-1"])[1],10);null!==l&&(l=c(l,d,C.decimalPoint,-1<A.indexOf(",")?C.thousandsSep:""))}else l=g.dateFormat(A,l);n.push(l)}else n.push(A);a=a.slice(r+1);l=(m=!m)?"}":"{"}n.push(a);return n.join("")},numberFormat:v}});K(g,"Core/Renderer/RendererUtilities.js",[g["Core/Utilities.js"]],
-function(a){var g=a.clamp,x=a.pick,E=a.stableSort,D;(function(a){function v(a,t,n){var f=a,c=f.reducedLen||t,l=function(c,e){return(e.rank||0)-(c.rank||0)},m=function(c,e){return c.target-e.target},e,u=!0,C=[],J=0;for(e=a.length;e--;)J+=a[e].size;if(J>c){E(a,l);for(J=e=0;J<=c;)J+=a[e].size,e++;C=a.splice(e-1,a.length)}E(a,m);for(a=a.map(function(c){return{size:c.size,targets:[c.target],align:x(c.align,.5)}});u;){for(e=a.length;e--;)c=a[e],l=(Math.min.apply(0,c.targets)+Math.max.apply(0,c.targets))/
-2,c.pos=g(l-c.size*c.align,0,t-c.size);e=a.length;for(u=!1;e--;)0<e&&a[e-1].pos+a[e-1].size>a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].align=.5,a[e-1].pos+a[e-1].size>t&&(a[e-1].pos=t-a[e-1].size),a.splice(e,1),u=!0)}f.push.apply(f,C);e=0;a.some(function(c){var m=0;return(c.targets||[]).some(function(){f[e].pos=c.pos+m;if("undefined"!==typeof n&&Math.abs(f[e].pos-f[e].target)>n)return f.slice(0,e+1).forEach(function(c){return delete c.pos}),f.reducedLen=
-(f.reducedLen||t)-.1*t,f.reducedLen>.1*t&&v(f,t,n),!0;m+=f[e].size;e++;return!1})});E(f,m);return f}a.distribute=v})(D||(D={}));return D});K(g,"Core/Renderer/SVG/SVGElement.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=a.animate,B=a.animObject,G=a.stop,r=x.deg2rad,t=x.doc,n=x.svg,f=x.SVG_NS,c=x.win,l=E.addEvent,m=E.attr,e=E.createElement,u=E.css,C=E.defined,J=E.erase,I=E.extend,L=E.fireEvent,A=E.isArray,
-d=E.isFunction,q=E.isString,h=E.merge,k=E.objectEach,b=E.pick,p=E.pInt,z=E.syncTimeout,w=E.uniqueKey;a=function(){function a(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=f;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}a.prototype._defaultGetter=function(d){d=b(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0);/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d));return d};a.prototype._defaultSetter=
-function(b,d,h){h.setAttribute(d,b)};a.prototype.add=function(b){var d=this.renderer,h=this.element;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&d.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex)var c=this.zIndexSetter();c||(b?b.element:d.box).appendChild(h);if(this.onAdd)this.onAdd();return this};a.prototype.addClass=function(b,d){var h=d?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b,d){-1===h.indexOf(d)&&b.push(d);return b},
-h?[h]:[]).join(" ");b!==h&&this.attr("class",b);return this};a.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)};a.prototype.align=function(d,h,c){var k={},e=this.renderer,y=e.alignedObjects,p,H,a;if(d){if(this.alignOptions=d,this.alignByTranslate=h,!c||q(c))this.alignTo=p=c||"renderer",J(y,this),y.push(this),c=void 0}else d=this.alignOptions,h=this.alignByTranslate,p=this.alignTo;c=b(c,e[p],"scrollablePlotBox"===p?e.plotBox:void 0,e);p=d.align;var w=
-d.verticalAlign;e=(c.x||0)+(d.x||0);y=(c.y||0)+(d.y||0);"right"===p?H=1:"center"===p&&(H=2);H&&(e+=(c.width-(d.width||0))/H);k[h?"translateX":"x"]=Math.round(e);"bottom"===w?a=1:"middle"===w&&(a=2);a&&(y+=(c.height-(d.height||0))/a);k[h?"translateY":"y"]=Math.round(y);this[this.placed?"animate":"attr"](k);this.placed=!0;this.alignAttr=k;return this};a.prototype.alignSetter=function(b){var d={left:"start",center:"middle",right:"end"};d[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor",
-d[b]))};a.prototype.animate=function(d,h,c){var e=this,p=B(b(h,this.renderer.globalAnimation,!0));h=p.defer;b(t.hidden,t.msHidden,t.webkitHidden,!1)&&(p.duration=0);0!==p.duration?(c&&(p.complete=c),z(function(){e.element&&v(e,d,p)},h)):(this.attr(d,void 0,c||p.complete),k(d,function(b,d){p.step&&p.step.call(this,b,{prop:d,pos:1,elem:this})},this));return this};a.prototype.applyTextOutline=function(b){var d=this.element;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(d.style.fill)));
-var h=b.split(" ");b=h[h.length-1];if((h=h[0])&&"none"!==h&&x.svg){this.fakeTS=!0;h=h.replace(/(^[\d\.]+)(.*?)$/g,function(b,d,h){return 2*Number(d)+h});this.removeTextOutline();var c=t.createElementNS(f,"tspan");m(c,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":h,"stroke-linejoin":"round"});b=d.querySelector("textPath")||d;[].forEach.call(b.childNodes,function(b){var d=b.cloneNode(!0);d.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(b){return d.removeAttribute(b)});
-c.appendChild(d)});var k=0;[].forEach.call(b.querySelectorAll("text tspan"),function(b){k+=Number(b.getAttribute("dy"))});h=t.createElementNS(f,"tspan");h.textContent="\u200b";m(h,{x:Number(d.getAttribute("x")),dy:-k});c.appendChild(h);b.insertBefore(c,b.firstChild)}};a.prototype.attr=function(b,d,h,c){var p=this.element,y=this.symbolCustomAttribs,e,a=this,w,H;if("string"===typeof b&&"undefined"!==typeof d){var F=b;b={};b[F]=d}"string"===typeof b?a=(this[b+"Getter"]||this._defaultGetter).call(this,
-b,p):(k(b,function(d,h){w=!1;c||G(this,h);this.symbolName&&-1!==y.indexOf(h)&&(e||(this.symbolAttr(b),e=!0),w=!0);!this.rotation||"x"!==h&&"y"!==h||(this.doTransform=!0);w||(H=this[h+"Setter"]||this._defaultSetter,H.call(this,d,h,p),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(h)&&this.updateShadows(h,d,H))},this),this.afterSetters());h&&h.call(this);return a};a.prototype.clip=function(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+
-")":"none")};a.prototype.crisp=function(b,d){d=d||b.strokeWidth||0;var h=Math.round(d)%2/2;b.x=Math.floor(b.x||this.x||0)+h;b.y=Math.floor(b.y||this.y||0)+h;b.width=Math.floor((b.width||this.width||0)-2*h);b.height=Math.floor((b.height||this.height||0)-2*h);C(b.strokeWidth)&&(b.strokeWidth=d);return b};a.prototype.complexColor=function(b,d,c){var p=this.renderer,e,y,a,m,f,H,F,z,M,q,l=[],u;L(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?y="radialGradient":b.linearGradient&&
-(y="linearGradient");if(y){a=b[y];f=p.gradients;H=b.stops;M=c.radialReference;A(a)&&(b[y]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===y&&M&&!C(a.gradientUnits)&&(m=a,a=h(a,p.getRadialAttr(M,m),{gradientUnits:"userSpaceOnUse"}));k(a,function(b,d){"id"!==d&&l.push(d,b)});k(H,function(b){l.push(b)});l=l.join(",");if(f[l])q=f[l].attr("id");else{a.id=q=w();var T=f[l]=p.createElement(y).attr(a).add(p.defs);T.radAttr=m;T.stops=[];H.forEach(function(b){0===b[1].indexOf("rgba")?
-(e=g.parse(b[1]),F=e.get("rgb"),z=e.get("a")):(F=b[1],z=1);b=p.createElement("stop").attr({offset:b[0],"stop-color":F,"stop-opacity":z}).add(T);T.stops.push(b)})}u="url("+p.url+"#"+q+")";c.setAttribute(d,u);c.gradient=l;b.toString=function(){return u}}})};a.prototype.css=function(b){var d=this.styles,c={},e=this.element,a=!d;b.color&&(b.fill=b.color);d&&k(b,function(b,h){d&&d[h]!==b&&(c[h]=b,a=!0)});if(a){d&&(b=I(d,c));if(null===b.width||"auto"===b.width)delete this.textWidth;else if("text"===e.nodeName.toLowerCase()&&
-b.width)var y=this.textWidth=p(b.width);this.styles=b;y&&!n&&this.renderer.forExport&&delete b.width;var w=h(b);e.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(b){return w&&delete w[b]});u(e,w);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),b.textOutline&&this.applyTextOutline(b.textOutline))}return this};a.prototype.dashstyleSetter=function(d){var h=this["stroke-width"];"inherit"===h&&(h=1);if(d=d&&d.toLowerCase()){var c=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=c.length;d--;)c[d]=""+p(c[d])*b(h,NaN);d=c.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",d)}};a.prototype.destroy=function(){var b=this,d=b.element||{},h=b.renderer,c=d.ownerSVGElement,p=h.isSVG&&"SPAN"===d.nodeName&&b.parentGroup||void 0;d.onclick=d.onmouseout=
-d.onmouseover=d.onmousemove=d.point=null;G(b);if(b.clipPath&&c){var y=b.clipPath;[].forEach.call(c.querySelectorAll("[clip-path],[CLIP-PATH]"),function(b){-1<b.getAttribute("clip-path").indexOf(y.element.id)&&b.removeAttribute("clip-path")});b.clipPath=y.destroy()}if(b.stops){for(c=0;c<b.stops.length;c++)b.stops[c].destroy();b.stops.length=0;b.stops=void 0}b.safeRemoveChild(d);for(h.styledMode||b.destroyShadows();p&&p.div&&0===p.div.childNodes.length;)d=p.parentGroup,b.safeRemoveChild(p.div),delete p.div,
-p=d;b.alignTo&&J(h.alignedObjects,b);k(b,function(d,h){b[h]&&b[h].parentGroup===b&&b[h].destroy&&b[h].destroy();delete b[h]})};a.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(b){this.safeRemoveChild(b)},this);this.shadows=void 0};a.prototype.dSetter=function(b,d,h){A(b)&&("string"===typeof b[0]&&(b=this.renderer.pathToSegments(b)),this.pathArray=b,b=b.reduce(function(b,d,h){return d&&d.join?(h?b+" ":"")+d.join(" "):(d||"").toString()},""));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");
-this[d]!==b&&(h.setAttribute(d,b),this[d]=b)};a.prototype.fadeOut=function(d){var h=this;h.animate({opacity:0},{duration:b(d,150),complete:function(){h.hide()}})};a.prototype.fillSetter=function(b,d,h){"string"===typeof b?h.setAttribute(d,b):b&&this.complexColor(b,d,h)};a.prototype.getBBox=function(h,c){var k=this.alignValue,p=this.element,e=this.renderer,y=this.styles,w=this.textStr,m=e.cache,f=e.cacheKeys,z=p.namespaceURI===this.SVG_NS;c=b(c,this.rotation,0);var F=e.styledMode?p&&a.prototype.getStyle.call(p,
-"font-size"):y&&y.fontSize,q;if(C(w)){var M=w.toString();-1===M.indexOf("<")&&(M=M.replace(/[0-9]/g,"0"));M+=["",c,F,this.textWidth,k,y&&y.textOverflow,y&&y.fontWeight].join()}M&&!h&&(q=m[M]);if(!q){if(z||e.forExport){try{var l=this.fakeTS&&function(b){var d=p.querySelector(".highcharts-text-outline");d&&u(d,{display:b})};d(l)&&l("none");q=p.getBBox?I({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight,x:0,y:0};d(l)&&l("")}catch(U){""}if(!q||0>q.width)q={x:0,y:0,width:0,height:0}}else q=this.htmlGetBBox();
-if(e.isSVG&&(e=q.width,h=q.height,z&&(q.height=h={"11px,17":14,"13px,20":16}[""+(F||"")+",".concat(Math.round(h))]||h),c)){z=Number(p.getAttribute("y")||0)-q.y;k={right:1,center:.5}[k||0]||0;y=c*r;F=(c-90)*r;var H=e*Math.cos(y);c=e*Math.sin(y);l=Math.cos(F);y=Math.sin(F);e=q.x+k*(e-H)+z*l;F=e+H;l=F-h*l;H=l-H;z=q.y+z-k*c+z*y;k=z+c;h=k-h*y;c=h-c;q.x=Math.min(e,F,l,H);q.y=Math.min(z,k,h,c);q.width=Math.max(e,F,l,H)-q.x;q.height=Math.max(z,k,h,c)-q.y}if(M&&(""===w||0<q.height)){for(;250<f.length;)delete m[f.shift()];
-m[M]||f.push(M);m[M]=q}}return q};a.prototype.getStyle=function(b){return c.getComputedStyle(this.element||this,"").getPropertyValue(b)};a.prototype.hasClass=function(b){return-1!==(""+this.attr("class")).split(" ").indexOf(b)};a.prototype.hide=function(){return this.attr({visibility:"hidden"})};a.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}};a.prototype.init=function(b,d){this.element="span"===d?e(d):t.createElementNS(this.SVG_NS,d);this.renderer=b;L(this,"afterInit")};a.prototype.on=
-function(b,d){var h=this.onEvents;if(h[b])h[b]();h[b]=l(this.element,b,d);return this};a.prototype.opacitySetter=function(b,d,h){this.opacity=b=Number(Number(b).toFixed(3));h.setAttribute(d,b)};a.prototype.removeClass=function(b){return this.attr("class",(""+this.attr("class")).replace(q(b)?new RegExp("(^| )".concat(b,"( |$)")):b," ").replace(/ +/g," ").trim())};a.prototype.removeTextOutline=function(){var b=this.element.querySelector("tspan.highcharts-text-outline");b&&this.safeRemoveChild(b)};a.prototype.safeRemoveChild=
-function(b){var d=b.parentNode;d&&d.removeChild(b)};a.prototype.setRadialReference=function(b){var d=this.element.gradient&&this.renderer.gradients[this.element.gradient];this.element.radialReference=b;d&&d.radAttr&&d.animate(this.renderer.getRadialAttr(b,d.radAttr));return this};a.prototype.setTextPath=function(b,d){var c=this;d=h(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},d);var k=this.renderer.url,p=this.text||this,y=p.textPath,e=d.attributes,a=d.enabled;b=b||y&&y.path;
-y&&y.undo();b&&a?(d=l(p,"afterModifyTree",function(d){if(b&&a){var h=b.attr("id");h||b.attr("id",h=w());var y={x:0,y:0};C(e.dx)&&(y.dx=e.dx,delete e.dx);C(e.dy)&&(y.dy=e.dy,delete e.dy);p.attr(y);c.attr({transform:""});c.box&&(c.box=c.box.destroy());y=d.nodes.slice(0);d.nodes.length=0;d.nodes[0]={tagName:"textPath",attributes:I(e,{"text-anchor":e.textAnchor,href:""+k+"#".concat(h)}),children:y}}}),p.textPath={path:b,undo:d}):(p.attr({dx:0,dy:0}),delete p.textPath);this.added&&(p.textCache="",this.renderer.buildText(p));
-return this};a.prototype.shadow=function(b,d,h){var c=[],p=this.element,y=this.oldShadowOptions,e=this.parentGroup,a=e&&90===e.rotation;e={color:"#000000",offsetX:a?-1:1,offsetY:a?-1:1,opacity:.15,width:3};var w=!1,q;!0===b?q=e:"object"===typeof b&&(q=I(e,b));q&&(q&&y&&k(q,function(b,d){b!==y[d]&&(w=!0)}),w&&this.destroyShadows(),this.oldShadowOptions=q);if(!q)this.destroyShadows();else if(!this.shadows){e=q.opacity/q.width;var F=a?"translate(".concat(q.offsetY,", ").concat(q.offsetX,")"):"translate(".concat(q.offsetX,
-", ").concat(q.offsetY,")");for(a=1;a<=q.width;a++){var f=p.cloneNode(!1);var z=2*q.width+1-2*a;m(f,{stroke:b.color||"#000000","stroke-opacity":e*a,"stroke-width":z,transform:F,fill:"none"});f.setAttribute("class",(f.getAttribute("class")||"")+" highcharts-shadow");h&&(m(f,"height",Math.max(m(f,"height")-z,0)),f.cutHeight=z);d?d.element.appendChild(f):p.parentNode&&p.parentNode.insertBefore(f,p);c.push(f)}this.shadows=c}return this};a.prototype.show=function(b){void 0===b&&(b=!0);return this.attr({visibility:b?
-"inherit":"visible"})};a.prototype["stroke-widthSetter"]=function(b,d,h){this[d]=b;h.setAttribute(d,b)};a.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var b=this.getStyle("stroke-width"),d=0;if(b.indexOf("px")===b.length-2)d=p(b);else if(""!==b){var h=t.createElementNS(f,"rect");m(h,{width:b,"stroke-width":0});this.element.parentNode.appendChild(h);d=h.getBBox().width;h.parentNode.removeChild(h)}return d};a.prototype.symbolAttr=function(d){var h=this;
-"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(c){h[c]=b(d[c],h[c])});h.attr({d:h.renderer.symbols[h.symbolName](h.x,h.y,h.width,h.height,h)})};a.prototype.textSetter=function(b){b!==this.textStr&&(delete this.textPxLength,this.textStr=b,this.added&&this.renderer.buildText(this))};a.prototype.titleSetter=function(d){var h=this.element,c=h.getElementsByTagName("title")[0]||t.createElementNS(this.SVG_NS,"title");h.insertBefore?h.insertBefore(c,h.firstChild):
-h.appendChild(c);c.textContent=String(b(d,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")};a.prototype.toFront=function(){var b=this.element;b.parentNode.appendChild(b);return this};a.prototype.translate=function(b,d){return this.attr({translateX:b,translateY:d})};a.prototype.updateShadows=function(b,d,h){var c=this.shadows;if(c)for(var k=c.length;k--;)h.call(c[k],"height"===b?Math.max(d-(c[k].cutHeight||0),0):"d"===b?this.d:d,b,c[k])};a.prototype.updateTransform=function(){var d=
-this.element,h=this.matrix,c=this.rotation;c=void 0===c?0:c;var k=this.scaleX,p=this.scaleY,y=this.translateX,e=this.translateY;y=["translate("+(void 0===y?0:y)+","+(void 0===e?0:e)+")"];C(h)&&y.push("matrix("+h.join(",")+")");c&&y.push("rotate("+c+" "+b(this.rotationOriginX,d.getAttribute("x"),0)+" "+b(this.rotationOriginY,d.getAttribute("y")||0)+")");(C(k)||C(p))&&y.push("scale("+b(k,1)+" "+b(p,1)+")");y.length&&!(this.text||this).textPath&&d.setAttribute("transform",y.join(" "))};a.prototype.visibilitySetter=
-function(b,d,h){"inherit"===b?h.removeAttribute(d):this[d]!==b&&h.setAttribute(d,b);this[d]=b};a.prototype.xGetter=function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)};a.prototype.zIndexSetter=function(b,d){var h=this.renderer,c=this.parentGroup,k=(c||h).element||h.box,y=this.element;h=k===h.box;var e=!1;var a=this.added;var w;C(b)?(y.setAttribute("data-z-index",b),b=+b,this[d]===b&&(a=!1)):C(this[d])&&y.removeAttribute("data-z-index");this[d]=
-b;if(a){(b=this.zIndex)&&c&&(c.handleZ=!0);d=k.childNodes;for(w=d.length-1;0<=w&&!e;w--){c=d[w];a=c.getAttribute("data-z-index");var q=!C(a);if(c!==y)if(0>b&&q&&!h&&!w)k.insertBefore(y,d[w]),e=!0;else if(p(a)<=b||q&&(!C(b)||0<=b))k.insertBefore(y,d[w+1]||null),e=!0}e||(k.insertBefore(y,d[h?3:0]||null),e=!0)}return e};return a}();a.prototype.strokeSetter=a.prototype.fillSetter;a.prototype.yGetter=a.prototype.xGetter;a.prototype.matrixSetter=a.prototype.rotationOriginXSetter=a.prototype.rotationOriginYSetter=
-a.prototype.rotationSetter=a.prototype.scaleXSetter=a.prototype.scaleYSetter=a.prototype.translateXSetter=a.prototype.translateYSetter=a.prototype.verticalAlignSetter=function(b,d){this[d]=b;this.doTransform=!0};"";return a});K(g,"Core/Renderer/RendererRegistry.js",[g["Core/Globals.js"]],function(a){var g;(function(g){g.rendererTypes={};var v;g.getRendererType=function(a){void 0===a&&(a=v);return g.rendererTypes[a]||g.rendererTypes[v]};g.registerRendererType=function(x,B,E){g.rendererTypes[x]=B;if(!v||
-E)v=x,a.Renderer=B}})(g||(g={}));return g});K(g,"Core/Renderer/SVG/SVGLabel.js",[g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return a(f,c)};return function(f,c){function l(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(l.prototype=c.prototype,
-new l)}}(),E=g.defined,D=g.extend,B=g.isNumber,G=g.merge,r=g.pick,t=g.removeEvent;return function(g){function f(c,a,m,e,u,C,n,I,r,A){var d=g.call(this)||this;d.paddingLeftSetter=d.paddingSetter;d.paddingRightSetter=d.paddingSetter;d.init(c,"g");d.textStr=a;d.x=m;d.y=e;d.anchorX=C;d.anchorY=n;d.baseline=r;d.className=A;d.addClass("button"===A?"highcharts-no-tooltip":"highcharts-label");A&&d.addClass("highcharts-"+A);d.text=c.text(void 0,0,0,I).attr({zIndex:1});var q;"string"===typeof u&&((q=/^url\((.*?)\)$/.test(u))||
-d.renderer.symbols[u])&&(d.symbolKey=u);d.bBox=f.emptyBBox;d.padding=3;d.baselineOffset=0;d.needsBox=c.styledMode||q;d.deferredAttr={};d.alignFactor=0;return d}v(f,g);f.prototype.alignSetter=function(c){c={left:0,center:.5,right:1}[c];c!==this.alignFactor&&(this.alignFactor=c,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))};f.prototype.anchorXSetter=function(c,a){this.anchorX=c;this.boxAttr(a,Math.round(c)-this.getCrispAdjust()-this.xSetting)};f.prototype.anchorYSetter=function(c,a){this.anchorY=
-c;this.boxAttr(a,c-this.ySetting)};f.prototype.boxAttr=function(c,a){this.box?this.box.attr(c,a):this.deferredAttr[c]=a};f.prototype.css=function(c){if(c){var l={};c=G(c);f.textProps.forEach(function(e){"undefined"!==typeof c[e]&&(l[e]=c[e],delete c[e])});this.text.css(l);var m="width"in l;"fontSize"in l||"fontWeight"in l?this.updateTextPadding():m&&this.updateBoxSize()}return a.prototype.css.call(this,c)};f.prototype.destroy=function(){t(this.element,"mouseenter");t(this.element,"mouseleave");this.text&&
-this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)};f.prototype.fillSetter=function(c,a){c&&(this.needsBox=!0);this.fill=c;this.boxAttr(a,c)};f.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var c=this.padding,a=r(this.paddingLeft,c);return{width:this.width,height:this.height,x:this.bBox.x-a,y:this.bBox.y-c}};f.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};f.prototype.heightSetter=function(c){this.heightSetting=c};f.prototype.onAdd=function(){this.text.add(this);this.attr({text:r(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&E(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};f.prototype.paddingSetter=function(c,a){B(c)?c!==this[a]&&(this[a]=c,this.updateTextPadding()):this[a]=void 0};f.prototype.rSetter=function(c,a){this.boxAttr(a,c)};f.prototype.shadow=
-function(c){c&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(c));return this};f.prototype.strokeSetter=function(c,a){this.stroke=c;this.boxAttr(a,c)};f.prototype["stroke-widthSetter"]=function(c,a){c&&(this.needsBox=!0);this["stroke-width"]=c;this.boxAttr(a,c)};f.prototype["text-alignSetter"]=function(c){this.textAlign=c};f.prototype.textSetter=function(c){"undefined"!==typeof c&&this.text.attr({text:c});this.updateTextPadding()};f.prototype.updateBoxSize=function(){var c=
-this.text,a=c.element.style,m={},e=this.padding,u=this.bBox=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!E(c.textStr)?f.emptyBBox:c.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||u.height||0)+2*e;a=this.renderer.fontMetrics(a&&a.fontSize,c);this.baselineOffset=e+Math.min((this.text.firstLineMetrics||a).b,u.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.h)/2);this.needsBox&&!c.textPath&&(this.box||(c=this.box=this.symbolKey?
-this.renderer.symbol(this.symbolKey):this.renderer.rect(),c.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),c.add(this)),c=this.getCrispAdjust(),m.x=c,m.y=(this.baseline?-this.baselineOffset:0)+c,m.width=Math.round(this.width),m.height=Math.round(this.height),this.box.attr(D(m,this.deferredAttr)),this.deferredAttr={})};f.prototype.updateTextPadding=function(){var c=this.text;if(!c.textPath){this.updateBoxSize();var a=this.baseline?
-0:this.baselineOffset,f=r(this.paddingLeft,this.padding);E(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(f+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(f!==c.x||a!==c.y)c.attr("x",f),c.hasBoxWidthChanged&&(this.bBox=c.getBBox(!0)),"undefined"!==typeof a&&c.attr("y",a);c.x=f;c.y=a}};f.prototype.widthSetter=function(c){this.widthSetting=B(c)?c:void 0};f.prototype.getPaddedWidth=function(){var c=this.padding,a=r(this.paddingLeft,
-c);c=r(this.paddingRight,c);return(this.widthSetting||this.bBox.width||0)+a+c};f.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)};f.prototype.ySetter=function(c){this.ySetting=this.y=Math.round(c);this.attr("translateY",this.ySetting)};f.emptyBBox={width:0,height:0,x:0,y:0};f.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");
-return f}(a)});K(g,"Core/Renderer/SVG/Symbols.js",[g["Core/Utilities.js"]],function(a){function g(a,g,n,f,c){var l=[];if(c){var m=c.start||0,e=G(c.r,n);n=G(c.r,f||n);var u=(c.end||0)-.001;f=c.innerR;var C=G(c.open,.001>Math.abs((c.end||0)-m-2*Math.PI)),J=Math.cos(m),I=Math.sin(m),r=Math.cos(u),A=Math.sin(u);m=G(c.longArc,.001>u-m-Math.PI?0:1);l.push(["M",a+e*J,g+n*I],["A",e,n,0,m,G(c.clockwise,1),a+e*r,g+n*A]);D(f)&&l.push(C?["M",a+f*r,g+f*A]:["L",a+f*r,g+f*A],["A",f,f,0,m,D(c.clockwise)?1-c.clockwise:
-0,a+f*J,g+f*I]);C||l.push(["Z"])}return l}function x(a,g,n,f,c){return c&&c.r?E(a,g,n,f,c):[["M",a,g],["L",a+n,g],["L",a+n,g+f],["L",a,g+f],["Z"]]}function E(a,g,n,f,c){c=c&&c.r||0;return[["M",a+c,g],["L",a+n-c,g],["C",a+n,g,a+n,g,a+n,g+c],["L",a+n,g+f-c],["C",a+n,g+f,a+n,g+f,a+n-c,g+f],["L",a+c,g+f],["C",a,g+f,a,g+f,a,g+f-c],["L",a,g+c],["C",a,g,a,g,a+c,g]]}var D=a.defined,B=a.isNumber,G=a.pick;return{arc:g,callout:function(a,g,n,f,c){var l=Math.min(c&&c.r||0,n,f),m=l+6,e=c&&c.anchorX;c=c&&c.anchorY||
-0;var u=E(a,g,n,f,{r:l});if(!B(e))return u;a+e>=n?c>g+m&&c<g+f-m?u.splice(3,1,["L",a+n,c-6],["L",a+n+6,c],["L",a+n,c+6],["L",a+n,g+f-l]):u.splice(3,1,["L",a+n,f/2],["L",e,c],["L",a+n,f/2],["L",a+n,g+f-l]):0>=a+e?c>g+m&&c<g+f-m?u.splice(7,1,["L",a,c+6],["L",a-6,c],["L",a,c-6],["L",a,g+l]):u.splice(7,1,["L",a,f/2],["L",e,c],["L",a,f/2],["L",a,g+l]):c&&c>f&&e>a+m&&e<a+n-m?u.splice(5,1,["L",e+6,g+f],["L",e,g+f+6],["L",e-6,g+f],["L",a+l,g+f]):c&&0>c&&e>a+m&&e<a+n-m&&u.splice(1,1,["L",e-6,g],["L",e,g-6],
-["L",e+6,g],["L",n-l,g]);return u},circle:function(a,t,n,f){return g(a+n/2,t+f/2,n/2,f/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(a,g,n,f){return[["M",a+n/2,g],["L",a+n,g+f/2],["L",a+n/2,g+f],["L",a,g+f/2],["Z"]]},rect:x,roundedRect:E,square:x,triangle:function(a,g,n,f){return[["M",a+n/2,g],["L",a+n,g+f],["L",a,g+f],["Z"]]},"triangle-down":function(a,g,n,f){return[["M",a,g],["L",a+n,g],["L",a+n/2,g+f],["Z"]]}}});K(g,"Core/Renderer/SVG/TextBuilder.js",[g["Core/Renderer/HTML/AST.js"],
-g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var v=g.doc,D=g.SVG_NS,B=g.win,G=x.attr,r=x.extend,t=x.fireEvent,n=x.isString,f=x.objectEach,c=x.pick;return function(){function l(c){var a=c.styles;this.renderer=c.renderer;this.svgElement=c;this.width=c.textWidth;this.textLineHeight=a&&a.lineHeight;this.textOutline=a&&a.textOutline;this.ellipsis=!(!a||"ellipsis"!==a.textOverflow);this.noWrap=!(!a||"nowrap"!==a.whiteSpace);this.fontSize=a&&a.fontSize}l.prototype.buildSVG=function(){var f=
-this.svgElement,e=f.element,u=f.renderer,l=c(f.textStr,"").toString(),g=-1!==l.indexOf("<"),I=e.childNodes;u=this.width&&!f.added&&u.box;var L=/<br.*?>/g,A=[l,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(A!==f.textCache){f.textCache=A;delete f.actualWidth;for(A=I.length;A--;)e.removeChild(I[A]);g||this.ellipsis||this.width||f.textPath||-1!==l.indexOf(" ")&&(!this.noWrap||L.test(l))?""!==l&&(u&&u.appendChild(e),l=new a(l),this.modifyTree(l.nodes),
-l.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&f.attr("title",this.unescapeEntities(f.textStr||"",["&lt;","&gt;"])),u&&u.removeChild(e)):e.appendChild(v.createTextNode(this.unescapeEntities(l)));n(this.textOutline)&&f.applyTextOutline&&f.applyTextOutline(this.textOutline)}};l.prototype.modifyDOM=function(){var c=this,a=this.svgElement,f=G(a.element,"x");a.firstLineMetrics=void 0;for(var l;l=a.element.firstChild;)if(/^[\s\u200B]*$/.test(l.textContent||" "))a.element.removeChild(l);
-else break;[].forEach.call(a.element.querySelectorAll("tspan.highcharts-br"),function(e,d){e.nextSibling&&e.previousSibling&&(0===d&&1===e.previousSibling.nodeType&&(a.firstLineMetrics=a.renderer.fontMetrics(void 0,e.previousSibling)),G(e,{dy:c.getLineHeight(e.nextSibling),x:f}))});var g=this.width||0;if(g){var n=function(e,d){var q=e.textContent||"",h=q.replace(/([^\^])-/g,"$1- ").split(" "),k=!c.noWrap&&(1<h.length||1<a.element.childNodes.length),b=c.getLineHeight(d),p=0,z=a.actualWidth;if(c.ellipsis)q&&
-c.truncate(e,q,void 0,0,Math.max(0,g-parseInt(c.fontSize||12,10)),function(b,d){return b.substring(0,d)+"\u2026"});else if(k){q=[];for(k=[];d.firstChild&&d.firstChild!==e;)k.push(d.firstChild),d.removeChild(d.firstChild);for(;h.length;)h.length&&!c.noWrap&&0<p&&(q.push(e.textContent||""),e.textContent=h.join(" ").replace(/- /g,"-")),c.truncate(e,void 0,h,0===p?z||0:0,g,function(b,d){return h.slice(0,d).join(" ").replace(/- /g,"-")}),z=a.actualWidth,p++;k.forEach(function(b){d.insertBefore(b,e)});
-q.forEach(function(h){d.insertBefore(v.createTextNode(h),e);h=v.createElementNS(D,"tspan");h.textContent="\u200b";G(h,{dy:b,x:f});d.insertBefore(h,e)})}},L=function(c){[].slice.call(c.childNodes).forEach(function(d){d.nodeType===B.Node.TEXT_NODE?n(d,c):(-1!==d.className.baseVal.indexOf("highcharts-br")&&(a.actualWidth=0),L(d))})};L(a.element)}};l.prototype.getLineHeight=function(c){var a;c=c.nodeType===B.Node.TEXT_NODE?c.parentElement:c;this.renderer.styledMode||(a=c&&/(px|em)$/.test(c.style.fontSize)?
-c.style.fontSize:this.fontSize||this.renderer.style.fontSize||12);return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(a,c||this.svgElement.element).h};l.prototype.modifyTree=function(c){var a=this,f=function(e,l){var m=e.attributes;m=void 0===m?{}:m;var u=e.children,g=e.style;g=void 0===g?{}:g;var d=e.tagName,q=a.renderer.styledMode;if("b"===d||"strong"===d)q?m["class"]="highcharts-strong":g.fontWeight="bold";else if("i"===d||"em"===d)q?m["class"]="highcharts-emphasized":
-g.fontStyle="italic";g&&g.color&&(g.fill=g.color);"br"===d?(m["class"]="highcharts-br",e.textContent="\u200b",(l=c[l+1])&&l.textContent&&(l.textContent=l.textContent.replace(/^ +/gm,""))):"a"===d&&u&&u.some(function(d){return"#text"===d.tagName})&&(e.children=[{children:u,tagName:"tspan"}]);"#text"!==d&&"a"!==d&&(e.tagName="tspan");r(e,{attributes:m,style:g});u&&u.filter(function(d){return"#text"!==d.tagName}).forEach(f)};c.forEach(f);t(this.svgElement,"afterModifyTree",{nodes:c})};l.prototype.truncate=
-function(c,a,f,l,g,n){var e=this.svgElement,m=e.renderer,d=e.rotation,q=[],h=f?1:0,k=(a||f||"").length,b=k,p,z=function(b,d){d=d||b;var h=c.parentNode;if(h&&"undefined"===typeof q[d])if(h.getSubStringLength)try{q[d]=l+h.getSubStringLength(0,f?d+1:d)}catch(Q){""}else m.getSpanWidth&&(c.textContent=n(a||f,b),q[d]=l+m.getSpanWidth(e,c));return q[d]};e.rotation=0;var w=z(c.textContent.length);if(l+w>g){for(;h<=k;)b=Math.ceil((h+k)/2),f&&(p=n(f,b)),w=z(b,p&&p.length-1),h===k?h=k+1:w>g?k=b-1:h=b;0===k?
-c.textContent="":a&&k===a.length-1||(c.textContent=p||n(a||f,b))}f&&f.splice(0,b);e.actualWidth=w;e.rotation=d};l.prototype.unescapeEntities=function(c,a){f(this.renderer.escapes,function(e,f){a&&-1!==a.indexOf(e)||(c=c.toString().replace(new RegExp(e,"g"),f))});return c};return l}()});K(g,"Core/Renderer/SVG/SVGRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGLabel.js"],
-g["Core/Renderer/SVG/Symbols.js"],g["Core/Renderer/SVG/TextBuilder.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t){var n=x.charts,f=x.deg2rad,c=x.doc,l=x.isFirefox,m=x.isMS,e=x.isWebKit,u=x.noop,C=x.SVG_NS,J=x.symbolSizes,I=x.win,L=t.addEvent,A=t.attr,d=t.createElement,q=t.css,h=t.defined,k=t.destroyObjectProperties,b=t.extend,p=t.isArray,z=t.isNumber,w=t.isObject,N=t.isString,H=t.merge,O=t.pick,Q=t.pInt,v=t.uniqueKey,Y;x=function(){function y(b,d,h,c,a,y,k){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(b,d,h,c,a,y,k)}y.prototype.init=function(b,d,h,a,y,k,e){var F=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),p=F.element;e||F.css(this.getStyle(a));b.appendChild(p);A(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&A(p,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=p;this.boxWrapper=F;this.alignedObjects=
-[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(c.createTextNode("Created with Highcharts 10.3.2"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=y;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,h,!1);var f;l&&b.getBoundingClientRect&&(d=function(){q(b,{left:0,top:0});f=b.getBoundingClientRect();q(b,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},d(),this.unSubPixelFix=
-L(I,"resize",d))};y.prototype.definition=function(b){return(new a([b])).addToDOM(this.defs.element)};y.prototype.getReferenceURL=function(){if((l||e)&&c.getElementsByTagName("base").length){if(!h(Y)){var b=v();b=(new a([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(b,")"),fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(c.body);
-q(b,{position:"fixed",top:0,left:0,zIndex:9E5});var d=c.elementFromPoint(6,6);Y="hitme"===(d&&d.id);c.body.removeChild(b)}if(Y)return I.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};y.prototype.getStyle=function(d){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},d)};y.prototype.setStyle=function(b){this.boxWrapper.css(this.getStyle(b))};y.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};
-y.prototype.destroy=function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();k(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};y.prototype.createElement=function(b){var d=new this.Element;d.init(this,b);return d};y.prototype.getRadialAttr=function(b,d){return{cx:b[0]-b[2]/2+(d.cx||0)*b[2],cy:b[1]-b[2]/2+(d.cy||0)*b[2],r:(d.r||0)*b[2]}};y.prototype.buildText=function(b){(new r(b)).buildSVG()};
-y.prototype.getContrast=function(b){b=g.parse(b).rgba.map(function(b){b/=255;return.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4)});b=.2126*b[0]+.7152*b[1]+.0722*b[2];return 1.05/(b+.05)>(b+.05)/.05?"#FFFFFF":"#000000"};y.prototype.button=function(d,h,c,y,k,e,p,f,q,z){void 0===k&&(k={});var F=this.label(d,h,c,q,void 0,void 0,z,void 0,"button"),l=this.styledMode;d=k.states||{};var M=0;k=H(k);delete k.states;var u=H({color:"#333333",cursor:"pointer",fontWeight:"normal"},k.style);delete k.style;var g=
-a.filterUserAttributes(k);F.attr(H({padding:8,r:2},g));if(!l){g=H({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},g);e=H(g,{fill:"#e6e6e6"},a.filterUserAttributes(e||d.hover||{}));var P=e.style;delete e.style;p=H(g,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},a.filterUserAttributes(p||d.select||{}));var T=p.style;delete p.style;f=H(g,{style:{color:"#cccccc"}},a.filterUserAttributes(f||d.disabled||{}));var A=f.style;delete f.style}L(F.element,m?"mouseover":"mouseenter",function(){3!==
-M&&F.setState(1)});L(F.element,m?"mouseout":"mouseleave",function(){3!==M&&F.setState(M)});F.setState=function(b){1!==b&&(F.state=M=b);F.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);l||(F.attr([g,e,p,f][b||0]),b=[u,P,T,A][b||0],w(b)&&F.css(b))};l||(F.attr(g).css(b({cursor:"default"},u)),z&&F.text.css({pointerEvents:"none"}));return F.on("touchstart",function(b){return b.stopPropagation()}).on("click",
-function(b){3!==M&&y.call(F,b)})};y.prototype.crispLine=function(b,d,c){void 0===c&&(c="round");var a=b[0],y=b[1];h(a[1])&&a[1]===y[1]&&(a[1]=y[1]=Math[c](a[1])-d%2/2);h(a[2])&&a[2]===y[2]&&(a[2]=y[2]=Math[c](a[2])+d%2/2);return b};y.prototype.path=function(d){var h=this.styledMode?{}:{fill:"none"};p(d)?h.d=d:w(d)&&b(h,d);return this.createElement("path").attr(h)};y.prototype.circle=function(b,d,h){b=w(b)?b:"undefined"===typeof b?{}:{x:b,y:d,r:h};d=this.createElement("circle");d.xSetter=d.ySetter=
-function(b,d,h){h.setAttribute("c"+d,b)};return d.attr(b)};y.prototype.arc=function(b,d,h,c,a,y){w(b)?(c=b,d=c.y,h=c.r,b=c.x):c={innerR:c,start:a,end:y};b=this.symbol("arc",b,d,h,h,c);b.r=h;return b};y.prototype.rect=function(b,d,h,c,a,y){a=w(b)?b.r:a;var k=this.createElement("rect");b=w(b)?b:"undefined"===typeof b?{}:{x:b,y:d,width:Math.max(h,0),height:Math.max(c,0)};this.styledMode||("undefined"!==typeof y&&(b["stroke-width"]=y,b=k.crisp(b)),b.fill="none");a&&(b.r=a);k.rSetter=function(b,d,h){k.r=
-b;A(h,{rx:b,ry:b})};k.rGetter=function(){return k.r||0};return k.attr(b)};y.prototype.setSize=function(b,d,h){this.width=b;this.height=d;this.boxWrapper.animate({width:b,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:O(h,!0)?void 0:0});this.alignElements()};y.prototype.g=function(b){var d=this.createElement("g");return b?d.attr({"class":"highcharts-"+b}):d};y.prototype.image=function(b,d,h,c,a,y){var k={preserveAspectRatio:"none"},e=function(b,
-d){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink","href",d):b.setAttribute("hc-svg-href",d)};z(d)&&(k.x=d);z(h)&&(k.y=h);z(c)&&(k.width=c);z(a)&&(k.height=a);var p=this.createElement("image").attr(k);d=function(d){e(p.element,b);y.call(p,d)};y?(e(p.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),h=new I.Image,L(h,"load",d),h.src=b,h.complete&&d({})):e(p.element,b);return p};y.prototype.symbol=function(a,y,k,p,e,f){var F=this,w=/^url\((.*?)\)$/,
-z=w.test(a),l=!z&&(this.symbols[a]?a:"circle"),m=l&&this.symbols[l],u;if(m){"number"===typeof y&&(u=m.call(this.symbols,Math.round(y||0),Math.round(k||0),p||0,e||0,f));var g=this.path(u);F.styledMode||g.attr("fill","none");b(g,{symbolName:l||void 0,x:y,y:k,width:p,height:e});f&&b(g,f)}else if(z){var P=a.match(w)[1];var T=g=this.image(P);T.imgwidth=O(J[P]&&J[P].width,f&&f.width);T.imgheight=O(J[P]&&J[P].height,f&&f.height);var C=function(b){return b.attr({width:b.width,height:b.height})};["width",
-"height"].forEach(function(b){T[b+"Setter"]=function(b,d){this[d]=b;b=this.alignByTranslate;var c=this.element,a=this.width,y=this.height,k=this.imgwidth,p=this.imgheight,e=this["img"+d];if(h(e)){var F=1;f&&"within"===f.backgroundSize&&a&&y?(F=Math.min(a/k,y/p),e=Math.round(e*F),A(c,{width:Math.round(k*F),height:Math.round(p*F)})):c&&c.setAttribute(d,e);b||this.translate(((a||0)-e*F)/2,((y||0)-e*F)/2)}}});h(y)&&T.attr({x:y,y:k});T.isImg=!0;h(T.imgwidth)&&h(T.imgheight)?C(T):(T.attr({width:0,height:0}),
-d("img",{onload:function(){var b=n[F.chartIndex];0===this.width&&(q(this,{position:"absolute",top:"-999em"}),c.body.appendChild(this));J[P]={width:this.width,height:this.height};T.imgwidth=this.width;T.imgheight=this.height;T.element&&C(T);this.parentNode&&this.parentNode.removeChild(this);F.imgCount--;if(!F.imgCount&&b&&!b.hasLoaded)b.onload()},src:P}),this.imgCount++)}return g};y.prototype.clipRect=function(b,d,h,c){var a=v()+"-",y=this.createElement("clipPath").attr({id:a}).add(this.defs);b=this.rect(b,
-d,h,c,0).add(y);b.id=a;b.clipPath=y;b.count=0;return b};y.prototype.text=function(b,d,c,a){var y={};if(a&&(this.allowHTML||!this.forExport))return this.html(b,d,c);y.x=Math.round(d||0);c&&(y.y=Math.round(c));h(b)&&(y.text=b);b=this.createElement("text").attr(y);if(!a||this.forExport&&!this.allowHTML)b.xSetter=function(b,d,h){for(var c=h.getElementsByTagName("tspan"),a=h.getAttribute(d),y=0,k;y<c.length;y++)k=c[y],k.getAttribute(d)===a&&k.setAttribute(d,b);h.setAttribute(d,b)};return b};y.prototype.fontMetrics=
-function(b,d){b=!this.styledMode&&/px/.test(b)||!I.getComputedStyle?b||d&&d.style&&d.style.fontSize||this.style&&this.style.fontSize:d&&D.prototype.getStyle.call(d,"font-size");b=/px/.test(b)?Q(b):12;d=24>b?b+3:Math.round(1.2*b);return{h:d,b:Math.round(.8*d),f:b}};y.prototype.rotCorr=function(b,d,h){var c=b;d&&h&&(c=Math.max(c*Math.cos(d*f),4));return{x:-b/3*Math.sin(d*f),y:c}};y.prototype.pathToSegments=function(b){for(var d=[],h=[],c={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},a=0;a<b.length;a++)N(h[0])&&
-z(b[a])&&h.length===c[h[0].toUpperCase()]&&b.splice(a,0,h[0].replace("M","L").replace("m","l")),"string"===typeof b[a]&&(h.length&&d.push(h.slice(0)),h.length=0),h.push(b[a]);d.push(h.slice(0));return d};y.prototype.label=function(b,d,h,c,a,y,k,e,p){return new B(this,b,d,h,c,a,y,k,e,p)};y.prototype.alignElements=function(){this.alignedObjects.forEach(function(b){return b.align()})};return y}();b(x.prototype,{Element:D,SVG_NS:C,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:G,
-draw:u});E.registerRendererType("svg",x,!0);"";return x});K(g,"Core/Renderer/HTML/HTMLElement.js",[g["Core/Globals.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var c=function(a,f){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return c(a,f)};return function(a,f){function e(){this.constructor=a}c(a,f);a.prototype=null===f?
-Object.create(f):(e.prototype=f.prototype,new e)}}(),D=a.isFirefox,B=a.isMS,G=a.isWebKit,r=a.win,t=x.css,n=x.defined,f=x.extend,c=x.pick,l=x.pInt;return function(a){function e(){return null!==a&&a.apply(this,arguments)||this}v(e,a);e.compose=function(c){if(-1===e.composedClasses.indexOf(c)){e.composedClasses.push(c);var a=e.prototype,f=c.prototype;f.getSpanCorrection=a.getSpanCorrection;f.htmlCss=a.htmlCss;f.htmlGetBBox=a.htmlGetBBox;f.htmlUpdateTransform=a.htmlUpdateTransform;f.setSpanRotation=a.setSpanRotation}return c};
-e.prototype.getSpanCorrection=function(c,a,e){this.xCorr=-c*e;this.yCorr=-a};e.prototype.htmlCss=function(a){var e="SPAN"===this.element.tagName&&a&&"width"in a,l=c(e&&a.width,void 0);if(e){delete a.width;this.textWidth=l;var g=!0}a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=f(this.styles,a);t(this.element,a);g&&this.htmlUpdateTransform();return this};e.prototype.htmlGetBBox=function(){var c=this.element;return{x:c.offsetLeft,y:c.offsetTop,width:c.offsetWidth,
-height:c.offsetHeight}};e.prototype.htmlUpdateTransform=function(){if(this.added){var c=this.renderer,a=this.element,e=this.translateX||0,f=this.translateY||0,g=this.x||0,m=this.y||0,d=this.textAlign||"left",q={left:0,center:.5,right:1}[d],h=this.styles;h=h&&h.whiteSpace;t(a,{marginLeft:e,marginTop:f});!c.styledMode&&this.shadows&&this.shadows.forEach(function(b){t(b,{marginLeft:e+1,marginTop:f+1})});this.inverted&&[].forEach.call(a.childNodes,function(b){c.invertChild(b,a)});if("SPAN"===a.tagName){var k=
-this.rotation,b=this.textWidth&&l(this.textWidth),p=[k,d,a.innerHTML,this.textWidth,this.textAlign].join(),z=void 0;z=!1;if(b!==this.oldTextWidth){if(this.textPxLength)var w=this.textPxLength;else t(a,{width:"",whiteSpace:h||"nowrap"}),w=a.offsetWidth;(b>this.oldTextWidth||w>b)&&(/[ \-]/.test(a.textContent||a.innerText)||"ellipsis"===a.style.textOverflow)&&(t(a,{width:w>b||k?b+"px":"auto",display:"block",whiteSpace:h||"normal"}),this.oldTextWidth=b,z=!0)}this.hasBoxWidthChanged=z;p!==this.cTT&&(z=
-c.fontMetrics(a.style.fontSize,a).b,!n(k)||k===(this.oldRotation||0)&&d===this.oldAlign||this.setSpanRotation(k,q,z),this.getSpanCorrection(!n(k)&&this.textPxLength||a.offsetWidth,z,q,k,d));t(a,{left:g+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=p;this.oldRotation=k;this.oldAlign=d}}else this.alignOnAdd=!0};e.prototype.setSpanRotation=function(c,a,e){var f={},l=B&&!/Edge/.test(r.navigator.userAgent)?"-ms-transform":G?"-webkit-transform":D?"MozTransform":r.opera?"-o-transform":void 0;
-l&&(f[l]=f.transform="rotate("+c+"deg)",f[l+(D?"Origin":"-origin")]=f.transformOrigin=100*a+"% "+e+"px",t(this.element,f))};e.composedClasses=[];return e}(g)});K(g,"Core/Renderer/HTML/HTMLRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,
-a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return a(f,c)};return function(f,c){function l(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(l.prototype=c.prototype,new l)}}(),B=E.attr,G=E.createElement,r=E.extend,t=E.pick;return function(n){function f(){return null!==n&&n.apply(this,arguments)||this}v(f,n);f.compose=function(c){-1===f.composedClasses.indexOf(c)&&(f.composedClasses.push(c),c.prototype.html=f.prototype.html);return c};f.prototype.html=function(c,f,m){var e=
-this.createElement("span"),l=e.element,n=e.renderer,J=n.isSVG,I=function(c,a){["opacity","visibility"].forEach(function(d){c[d+"Setter"]=function(e,h,k){var b=c.div?c.div.style:a;g.prototype[d+"Setter"].call(this,e,h,k);b&&(b[h]=e)}});c.addedSetters=!0};e.textSetter=function(c){c!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,a.setElementHTML(this.element,t(c,"")),this.textStr=c,e.doTransform=!0)};J&&I(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(c,a){"align"===
-a?e.alignValue=e.textAlign=c:e[a]=c;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:c,x:Math.round(f),y:Math.round(m)}).css({position:"absolute"});n.styledMode||e.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});l.style.whiteSpace="nowrap";e.css=e.htmlCss;J&&(e.add=function(c){var a=n.box.parentNode,d=[];if(this.parentGroup=c){var f=c.div;if(!f){for(;c;)d.push(c),c=c.parentGroup;d.reverse().forEach(function(h){function c(b,
-d){h[d]=b;"translateX"===d?q.left=b+"px":q.top=b+"px";h.doTransform=!0}var b=B(h.element,"class"),p=h.styles||{};f=h.div=h.div||G("div",b?{className:b}:void 0,{position:"absolute",left:(h.translateX||0)+"px",top:(h.translateY||0)+"px",display:h.display,opacity:h.opacity,cursor:p.cursor,pointerEvents:p.pointerEvents,visibility:h.visibility},f||a);var q=f.style;r(h,{classSetter:function(b){return function(d){this.element.setAttribute("class",d);b.className=d}}(f),on:function(){d[0].div&&e.on.apply({element:d[0].div,
-onEvents:h.onEvents},arguments);return h},translateXSetter:c,translateYSetter:c});h.addedSetters||I(h)})}}else f=a;f.appendChild(l);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e};f.composedClasses=[];return f}(x)});K(g,"Core/Axis/AxisDefaults.js",[],function(){var a;(function(a){a.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},
+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"}};t.chart.styledMode=!1;"";var r=new C(A(t.global,t.time));a={defaultOptions:t,defaultTime:r,getOptions:function(){return t},setOptions:function(l){A(!0,t,l);if(l.time||l.global)x.time?x.time.update(A(t.global,t.time,l.global,l.time)):x.time=r;return t}};"";return a});K(g,"Core/Animation/Fx.js",[g["Core/Color/Color.js"],
+g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var A=a.parse,C=g.win,B=x.isNumber,H=x.objectEach;return function(){function a(a,l,e){this.pos=NaN;this.options=l;this.elem=a;this.prop=e}a.prototype.dSetter=function(){var a=this.paths,l=a&&a[0];a=a&&a[1];var e=this.now||0,d=[];if(1!==e&&l&&a)if(l.length===a.length&&1>e)for(var h=0;h<a.length;h++){for(var m=l[h],k=a[h],p=[],D=0;D<k.length;D++){var I=m[D],E=k[D];B(I)&&B(E)&&("A"!==k[0]||4!==D&&5!==D)?p[D]=I+e*(E-I):p[D]=E}d.push(p)}else d=
+a;else d=this.toD||[];this.elem.attr("d",d,void 0,!0)};a.prototype.update=function(){var a=this.elem,l=this.prop,e=this.now,d=this.options.step;if(this[l+"Setter"])this[l+"Setter"]();else a.attr?a.element&&a.attr(l,e,null,!0):a.style[l]=e+this.unit;d&&d.call(a,e,this)};a.prototype.run=function(r,l,e){var d=this,h=d.options,m=function(e){return m.stopped?!1:d.step(e)},k=C.requestAnimationFrame||function(d){setTimeout(d,13)},p=function(){for(var d=0;d<a.timers.length;d++)a.timers[d]()||a.timers.splice(d--,
+1);a.timers.length&&k(p)};r!==l||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=r,this.end=l,this.unit=e,this.now=this.start,this.pos=0,m.elem=this.elem,m.prop=this.prop,m()&&1===a.timers.push(m)&&k(p)):(delete h.curAnim[this.prop],h.complete&&0===Object.keys(h.curAnim).length&&h.complete.call(this.elem))};a.prototype.step=function(a){var l=+new Date,e=this.options,d=this.elem,h=e.complete,m=e.duration,k=e.curAnim;if(d.attr&&!d.element)a=!1;else if(a||l>=m+this.startTime){this.now=
+this.end;this.pos=1;this.update();var p=k[this.prop]=!0;H(k,function(d){!0!==d&&(p=!1)});p&&h&&h.call(d);a=!1}else this.pos=e.easing((l-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0;return a};a.prototype.initPath=function(a,l,e){function d(d,c){for(;d.length<L;){var e=d[0],f=c[L-d.length];f&&"M"===e[0]&&(d[0]="C"===f[0]?["C",e[1],e[2],e[1],e[2],e[1],e[2]]:["L",e[1],e[2]]);d.unshift(e);p&&(e=d.pop(),d.push(d[d.length-1],e))}}function h(d,c){for(;d.length<
+L;)if(c=d[Math.floor(d.length/D)-1].slice(),"C"===c[0]&&(c[1]=c[5],c[2]=c[6]),p){var e=d[Math.floor(d.length/D)].slice();d.splice(d.length/2,0,c,e)}else d.push(c)}var m=a.startX,k=a.endX;e=e.slice();var p=a.isArea,D=p?2:1;l=l&&l.slice();if(!l)return[e,e];if(m&&k&&k.length){for(a=0;a<m.length;a++)if(m[a]===k[0]){var I=a;break}else if(m[0]===k[k.length-m.length+a]){I=a;var E=!0;break}else if(m[m.length-1]===k[k.length-m.length+a]){I=m.length-a;break}"undefined"===typeof I&&(l=[])}if(l.length&&B(I)){var L=
+e.length+I*D;E?(d(l,e),h(e,l)):(d(e,l),h(l,e))}return[l,e]};a.prototype.fillSetter=function(){a.prototype.strokeSetter.apply(this,arguments)};a.prototype.strokeSetter=function(){this.elem.attr(this.prop,A(this.start).tweenTo(A(this.end),this.pos),void 0,!0)};a.timers=[];return a}()});K(g,"Core/Animation/AnimationUtilities.js",[g["Core/Animation/Fx.js"],g["Core/Utilities.js"]],function(a,g){function A(d){return r(d)?l({duration:500,defer:0},d):{duration:d?500:0,defer:0}}function F(d,e){for(var k=a.timers.length;k--;)a.timers[k].elem!==
+d||e&&e!==a.timers[k].prop||(a.timers[k].stopped=!0)}var C=g.defined,B=g.getStyle,H=g.isArray,t=g.isNumber,r=g.isObject,l=g.merge,e=g.objectEach,d=g.pick;return{animate:function(d,m,k){var p,h="",I,E;if(!r(k)){var g=arguments;k={duration:g[2],easing:g[3],complete:g[4]}}t(k.duration)||(k.duration=400);k.easing="function"===typeof k.easing?k.easing:Math[k.easing]||Math.easeInOutSine;k.curAnim=l(m);e(m,function(e,c){F(d,c);E=new a(d,k,c);I=void 0;"d"===c&&H(m.d)?(E.paths=E.initPath(d,d.pathArray,m.d),
+E.toD=m.d,p=0,I=1):d.attr?p=d.attr(c):(p=parseFloat(B(d,c))||0,"opacity"!==c&&(h="px"));I||(I=e);"string"===typeof I&&I.match("px")&&(I=I.replace(/px/g,""));E.run(p,I,h)})},animObject:A,getDeferredAnimation:function(d,e,k){var p=A(e),h=0,m=0;(k?[k]:d.series).forEach(function(d){d=A(d.options.animation);h=e&&C(e.defer)?p.defer:Math.max(h,d.duration+d.defer);m=Math.min(p.duration,d.duration)});d.renderer.forExport&&(h=0);return{defer:Math.max(0,h-m),duration:Math.min(h,m)}},setAnimation:function(e,
+m){m.renderer.globalAnimation=d(e,m.options.chart.animation,!0)},stop:F}});K(g,"Core/Renderer/HTML/AST.js",[g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g){var A=a.SVG_NS,F=g.attr,C=g.createElement,B=g.css,H=g.error,t=g.isFunction,r=g.isString,l=g.objectEach,e=g.splat,d=(g=a.win.trustedTypes)&&t(g.createPolicy)&&g.createPolicy("highcharts",{createHTML:function(d){return d}}),h=d?d.createHTML(""):"";try{var m=!!(new DOMParser).parseFromString(h,"text/html")}catch(k){m=!1}t=function(){function k(d){this.nodes=
+"string"===typeof d?this.parseMarkup(d):d}k.filterUserAttributes=function(d){l(d,function(e,h){var m=!0;-1===k.allowedAttributes.indexOf(h)&&(m=!1);-1!==["background","dynsrc","href","lowsrc","src"].indexOf(h)&&(m=r(e)&&k.allowedReferences.some(function(d){return 0===e.indexOf(d)}));m||(H(33,!1,void 0,{"Invalid attribute in config":"".concat(h)}),delete d[h]);r(e)&&d[h]&&(d[h]=e.replace(/</g,"&lt;"))});return d};k.parseStyle=function(d){return d.split(";").reduce(function(d,e){e=e.split(":").map(function(d){return d.trim()});
+var k=e.shift();k&&e.length&&(d[k.replace(/-([a-z])/g,function(d){return d[1].toUpperCase()})]=e.join(":"));return d},{})};k.setElementHTML=function(d,e){d.innerHTML=k.emptyHTML;e&&(new k(e)).addToDOM(d)};k.prototype.addToDOM=function(d){function h(d,m){var p;e(d).forEach(function(d){var c=d.tagName,e=d.textContent?a.doc.createTextNode(d.textContent):void 0,f=k.bypassHTMLFiltering;if(c)if("#text"===c)var n=e;else if(-1!==k.allowedTags.indexOf(c)||f){c=a.doc.createElementNS("svg"===c?A:m.namespaceURI||
+A,c);var b=d.attributes||{};l(d,function(c,f){"tagName"!==f&&"attributes"!==f&&"children"!==f&&"style"!==f&&"textContent"!==f&&(b[f]=c)});F(c,f?b:k.filterUserAttributes(b));d.style&&B(c,d.style);e&&c.appendChild(e);h(d.children||[],c);n=c}else H(33,!1,void 0,{"Invalid tagName in config":c});n&&m.appendChild(n);p=n});return p}return h(this.nodes,d)};k.prototype.parseMarkup=function(e){var h=[];e=e.trim().replace(/ style=(["'])/g," data-style=$1");if(m)e=(new DOMParser).parseFromString(d?d.createHTML(e):
+e,"text/html");else{var p=C("div");p.innerHTML=e;e={body:p}}var a=function(d,e){var c=d.nodeName.toLowerCase(),h={tagName:c};"#text"===c&&(h.textContent=d.textContent||"");if(c=d.attributes){var f={};[].forEach.call(c,function(b){"data-style"===b.name?h.style=k.parseStyle(b.value):f[b.name]=b.value});h.attributes=f}if(d.childNodes.length){var n=[];[].forEach.call(d.childNodes,function(b){a(b,n)});n.length&&(h.children=n)}e.push(h)};[].forEach.call(e.body.childNodes,function(d){return a(d,h)});return h};
+k.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 text-anchor textAnchor textLength title type valign width x x1 x2 xlink:href y y1 y2 zIndex".split(" ");
+k.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" ");k.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 textPath thead title tbody tspan td th tr u ul #text".split(" ");k.emptyHTML=h;k.bypassHTMLFiltering=!1;return k}();
+"";return t});K(g,"Core/FormatUtilities.js",[g["Core/Defaults.js"],g["Core/Utilities.js"]],function(a,g){function A(a,e,d,h){a=+a||0;e=+e;var m=F.lang,k=(a.toString().split(".")[1]||"").split("e")[0].length,p=a.toString().split("e"),l=e;if(-1===e)e=Math.min(k,20);else if(!H(e))e=2;else if(e&&p[1]&&0>p[1]){var g=e+ +p[1];0<=g?(p[0]=(+p[0]).toExponential(g).split("e")[0],e=g):(p[0]=p[0].split(".")[0]||0,a=20>e?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)}g=(Math.abs(p[1]?p[0]:a)+Math.pow(10,-Math.max(e,
+k)-1)).toFixed(e);k=String(r(g));var E=3<k.length?k.length%3:0;d=t(d,m.decimalPoint);h=t(h,m.thousandsSep);a=(0>a?"-":"")+(E?k.substr(0,E)+h:"");a=0>+p[1]&&!l?"0":a+k.substr(E).replace(/(\d{3})(?=\d)/g,"$1"+h);e&&(a+=d+g.slice(-e));p[1]&&0!==+a&&(a+="e"+p[1]);return a}var F=a.defaultOptions,C=a.defaultTime,B=g.getNestedProperty,H=g.isNumber,t=g.pick,r=g.pInt;return{dateFormat:function(a,e,d){return C.dateFormat(a,e,d)},format:function(a,e,d){var h="{",m=!1,k=/f$/,p=/\.([0-9])/,l=F.lang,g=d&&d.time||
+C;d=d&&d.numberFormatter||A;for(var E=[];a;){var t=a.indexOf(h);if(-1===t)break;var y=a.slice(0,t);if(m){y=y.split(":");h=B(y.shift()||"",e);if(y.length&&"number"===typeof h)if(y=y.join(":"),k.test(y)){var c=parseInt((y.match(p)||["","-1"])[1],10);null!==h&&(h=d(h,c,l.decimalPoint,-1<y.indexOf(",")?l.thousandsSep:""))}else h=g.dateFormat(y,h);E.push(h)}else E.push(y);a=a.slice(t+1);h=(m=!m)?"}":"{"}E.push(a);return E.join("")},numberFormat:A}});K(g,"Core/Renderer/RendererUtilities.js",[g["Core/Utilities.js"]],
+function(a){var g=a.clamp,x=a.pick,F=a.stableSort,C;(function(a){function A(a,r,l){var e=a,d=e.reducedLen||r,h=function(d,e){return(e.rank||0)-(d.rank||0)},m=function(d,e){return d.target-e.target},k,p=!0,D=[],I=0;for(k=a.length;k--;)I+=a[k].size;if(I>d){F(a,h);for(I=k=0;I<=d;)I+=a[k].size,k++;D=a.splice(k-1,a.length)}F(a,m);for(a=a.map(function(d){return{size:d.size,targets:[d.target],align:x(d.align,.5)}});p;){for(k=a.length;k--;)d=a[k],h=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/
+2,d.pos=g(h-d.size*d.align,0,r-d.size);k=a.length;for(p=!1;k--;)0<k&&a[k-1].pos+a[k-1].size>a[k].pos&&(a[k-1].size+=a[k].size,a[k-1].targets=a[k-1].targets.concat(a[k].targets),a[k-1].align=.5,a[k-1].pos+a[k-1].size>r&&(a[k-1].pos=r-a[k-1].size),a.splice(k,1),p=!0)}e.push.apply(e,D);k=0;a.some(function(d){var h=0;return(d.targets||[]).some(function(){e[k].pos=d.pos+h;if("undefined"!==typeof l&&Math.abs(e[k].pos-e[k].target)>l)return e.slice(0,k+1).forEach(function(d){return delete d.pos}),e.reducedLen=
+(e.reducedLen||r)-.1*r,e.reducedLen>.1*r&&A(e,r,l),!0;h+=e[k].size;k++;return!1})});F(e,m);return e}a.distribute=A})(C||(C={}));return C});K(g,"Core/Renderer/SVG/SVGElement.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=a.animate,B=a.animObject,H=a.stop,t=x.deg2rad,r=x.doc,l=x.svg,e=x.SVG_NS,d=x.win,h=F.addEvent,m=F.attr,k=F.createElement,p=F.css,D=F.defined,I=F.erase,E=F.extend,L=F.fireEvent,y=F.isArray,
+c=F.isFunction,w=F.isString,f=F.merge,n=F.objectEach,b=F.pick,u=F.pInt,z=F.syncTimeout,q=F.uniqueKey;a=function(){function a(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=e;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}a.prototype._defaultGetter=function(c){c=b(this[c+"Value"],this[c],this.element?this.element.getAttribute(c):null,0);/^[\-0-9\.]+$/.test(c)&&(c=parseFloat(c));return c};a.prototype._defaultSetter=
+function(b,c,f){f.setAttribute(c,b)};a.prototype.add=function(b){var c=this.renderer,f=this.element;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&c.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex)var d=this.zIndexSetter();d||(b?b.element:c.box).appendChild(f);if(this.onAdd)this.onAdd();return this};a.prototype.addClass=function(b,c){var f=c?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b,c){-1===f.indexOf(c)&&b.push(c);return b},
+f?[f]:[]).join(" ");b!==f&&this.attr("class",b);return this};a.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)};a.prototype.align=function(c,f,d){var n={},e=this.renderer,v=e.alignedObjects,q,J,u;if(c){if(this.alignOptions=c,this.alignByTranslate=f,!d||w(d))this.alignTo=q=d||"renderer",I(v,this),v.push(this),d=void 0}else c=this.alignOptions,f=this.alignByTranslate,q=this.alignTo;d=b(d,e[q],"scrollablePlotBox"===q?e.plotBox:void 0,e);q=c.align;var a=
+c.verticalAlign;e=(d.x||0)+(c.x||0);v=(d.y||0)+(c.y||0);"right"===q?J=1:"center"===q&&(J=2);J&&(e+=(d.width-(c.width||0))/J);n[f?"translateX":"x"]=Math.round(e);"bottom"===a?u=1:"middle"===a&&(u=2);u&&(v+=(d.height-(c.height||0))/u);n[f?"translateY":"y"]=Math.round(v);this[this.placed?"animate":"attr"](n);this.placed=!0;this.alignAttr=n;return this};a.prototype.alignSetter=function(b){var c={left:"start",center:"middle",right:"end"};c[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor",
+c[b]))};a.prototype.animate=function(c,f,d){var e=this,q=B(b(f,this.renderer.globalAnimation,!0));f=q.defer;b(r.hidden,r.msHidden,r.webkitHidden,!1)&&(q.duration=0);0!==q.duration?(d&&(q.complete=d),z(function(){e.element&&A(e,c,q)},f)):(this.attr(c,void 0,d||q.complete),n(c,function(b,c){q.step&&q.step.call(this,b,{prop:c,pos:1,elem:this})},this));return this};a.prototype.applyTextOutline=function(b){var c=this.element;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));
+var f=b.split(" ");b=f[f.length-1];if((f=f[0])&&"none"!==f&&x.svg){this.fakeTS=!0;f=f.replace(/(^[\d\.]+)(.*?)$/g,function(b,c,f){return 2*Number(c)+f});this.removeTextOutline();var d=r.createElementNS(e,"tspan");m(d,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":f,"stroke-linejoin":"round"});b=c.querySelector("textPath")||c;[].forEach.call(b.childNodes,function(b){var c=b.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(b){return c.removeAttribute(b)});
+d.appendChild(c)});var n=0;[].forEach.call(b.querySelectorAll("text tspan"),function(b){n+=Number(b.getAttribute("dy"))});f=r.createElementNS(e,"tspan");f.textContent="\u200b";m(f,{x:Number(c.getAttribute("x")),dy:-n});d.appendChild(f);b.insertBefore(d,b.firstChild)}};a.prototype.attr=function(b,c,f,d){var e=this.element,v=this.symbolCustomAttribs,q,u=this,J,a;if("string"===typeof b&&"undefined"!==typeof c){var G=b;b={};b[G]=c}"string"===typeof b?u=(this[b+"Getter"]||this._defaultGetter).call(this,
+b,e):(n(b,function(c,f){J=!1;d||H(this,f);this.symbolName&&-1!==v.indexOf(f)&&(q||(this.symbolAttr(b),q=!0),J=!0);!this.rotation||"x"!==f&&"y"!==f||(this.doTransform=!0);J||(a=this[f+"Setter"]||this._defaultSetter,a.call(this,c,f,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(f)&&this.updateShadows(f,c,a))},this),this.afterSetters());f&&f.call(this);return u};a.prototype.clip=function(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+
+")":"none")};a.prototype.crisp=function(b,c){c=c||b.strokeWidth||0;var f=Math.round(c)%2/2;b.x=Math.floor(b.x||this.x||0)+f;b.y=Math.floor(b.y||this.y||0)+f;b.width=Math.floor((b.width||this.width||0)-2*f);b.height=Math.floor((b.height||this.height||0)-2*f);D(b.strokeWidth)&&(b.strokeWidth=c);return b};a.prototype.complexColor=function(b,c,d){var e=this.renderer,u,v,a,J,h,z,G,k,M,w,m=[],p;L(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?v="radialGradient":b.linearGradient&&
+(v="linearGradient");if(v){a=b[v];h=e.gradients;z=b.stops;M=d.radialReference;y(a)&&(b[v]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===v&&M&&!D(a.gradientUnits)&&(J=a,a=f(a,e.getRadialAttr(M,J),{gradientUnits:"userSpaceOnUse"}));n(a,function(b,c){"id"!==c&&m.push(c,b)});n(z,function(b){m.push(b)});m=m.join(",");if(h[m])w=h[m].attr("id");else{a.id=w=q();var U=h[m]=e.createElement(v).attr(a).add(e.defs);U.radAttr=J;U.stops=[];z.forEach(function(b){0===b[1].indexOf("rgba")?
+(u=g.parse(b[1]),G=u.get("rgb"),k=u.get("a")):(G=b[1],k=1);b=e.createElement("stop").attr({offset:b[0],"stop-color":G,"stop-opacity":k}).add(U);U.stops.push(b)})}p="url("+e.url+"#"+w+")";d.setAttribute(c,p);d.gradient=m;b.toString=function(){return p}}})};a.prototype.css=function(b){var c=this.styles,d={},e=this.element,q=!c;b.color&&(b.fill=b.color);c&&n(b,function(b,f){c&&c[f]!==b&&(d[f]=b,q=!0)});if(q){c&&(b=E(c,d));if(null===b.width||"auto"===b.width)delete this.textWidth;else if("text"===e.nodeName.toLowerCase()&&
+b.width)var v=this.textWidth=u(b.width);this.styles=b;v&&!l&&this.renderer.forExport&&delete b.width;var a=f(b);e.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(b){return a&&delete a[b]});p(e,a);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),b.textOutline&&this.applyTextOutline(b.textOutline))}return this};a.prototype.dashstyleSetter=function(c){var f=this["stroke-width"];"inherit"===f&&(f=1);if(c=c&&c.toLowerCase()){var d=c.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(c=d.length;c--;)d[c]=""+u(d[c])*b(f,NaN);c=d.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",c)}};a.prototype.destroy=function(){var b=this,c=b.element||{},f=b.renderer,d=c.ownerSVGElement,e=f.isSVG&&"SPAN"===c.nodeName&&b.parentGroup||void 0;c.onclick=c.onmouseout=
+c.onmouseover=c.onmousemove=c.point=null;H(b);if(b.clipPath&&d){var v=b.clipPath;[].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(b){-1<b.getAttribute("clip-path").indexOf(v.element.id)&&b.removeAttribute("clip-path")});b.clipPath=v.destroy()}if(b.stops){for(d=0;d<b.stops.length;d++)b.stops[d].destroy();b.stops.length=0;b.stops=void 0}b.safeRemoveChild(c);for(f.styledMode||b.destroyShadows();e&&e.div&&0===e.div.childNodes.length;)c=e.parentGroup,b.safeRemoveChild(e.div),delete e.div,
+e=c;b.alignTo&&I(f.alignedObjects,b);n(b,function(c,f){b[f]&&b[f].parentGroup===b&&b[f].destroy&&b[f].destroy();delete b[f]})};a.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(b){this.safeRemoveChild(b)},this);this.shadows=void 0};a.prototype.dSetter=function(b,c,f){y(b)&&("string"===typeof b[0]&&(b=this.renderer.pathToSegments(b)),this.pathArray=b,b=b.reduce(function(b,c,f){return c&&c.join?(f?b+" ":"")+c.join(" "):(c||"").toString()},""));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");
+this[c]!==b&&(f.setAttribute(c,b),this[c]=b)};a.prototype.fadeOut=function(c){var f=this;f.animate({opacity:0},{duration:b(c,150),complete:function(){f.hide()}})};a.prototype.fillSetter=function(b,c,f){"string"===typeof b?f.setAttribute(c,b):b&&this.complexColor(b,c,f)};a.prototype.getBBox=function(f,d){var n=this.alignValue,e=this.element,q=this.renderer,v=this.styles,u=this.textStr,h=q.cache,z=q.cacheKeys,k=e.namespaceURI===this.SVG_NS;d=b(d,this.rotation,0);var G=q.styledMode?e&&a.prototype.getStyle.call(e,
+"font-size"):v&&v.fontSize,m;if(D(u)){var M=u.toString();-1===M.indexOf("<")&&(M=M.replace(/[0-9]/g,"0"));M+=["",d,G,this.textWidth,n,v&&v.textOverflow,v&&v.fontWeight].join()}M&&!f&&(m=h[M]);if(!m){if(k||q.forExport){try{var w=this.fakeTS&&function(b){var c=e.querySelector(".highcharts-text-outline");c&&p(c,{display:b})};c(w)&&w("none");m=e.getBBox?E({},e.getBBox()):{width:e.offsetWidth,height:e.offsetHeight,x:0,y:0};c(w)&&w("")}catch(V){""}if(!m||0>m.width)m={x:0,y:0,width:0,height:0}}else m=this.htmlGetBBox();
+if(q.isSVG&&(q=m.width,f=m.height,k&&(m.height=f={"11px,17":14,"13px,20":16}[""+(G||"")+",".concat(Math.round(f))]||f),d)){k=Number(e.getAttribute("y")||0)-m.y;n={right:1,center:.5}[n||0]||0;v=d*t;G=(d-90)*t;var J=q*Math.cos(v);d=q*Math.sin(v);w=Math.cos(G);v=Math.sin(G);q=m.x+n*(q-J)+k*w;G=q+J;w=G-f*w;J=w-J;k=m.y+k-n*d+k*v;n=k+d;f=n-f*v;d=f-d;m.x=Math.min(q,G,w,J);m.y=Math.min(k,n,f,d);m.width=Math.max(q,G,w,J)-m.x;m.height=Math.max(k,n,f,d)-m.y}if(M&&(""===u||0<m.height)){for(;250<z.length;)delete h[z.shift()];
+h[M]||z.push(M);h[M]=m}}return m};a.prototype.getStyle=function(b){return d.getComputedStyle(this.element||this,"").getPropertyValue(b)};a.prototype.hasClass=function(b){return-1!==(""+this.attr("class")).split(" ").indexOf(b)};a.prototype.hide=function(){return this.attr({visibility:"hidden"})};a.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}};a.prototype.init=function(b,c){this.element="span"===c?k(c):r.createElementNS(this.SVG_NS,c);this.renderer=b;L(this,"afterInit")};a.prototype.on=
+function(b,c){var f=this.onEvents;if(f[b])f[b]();f[b]=h(this.element,b,c);return this};a.prototype.opacitySetter=function(b,c,f){this.opacity=b=Number(Number(b).toFixed(3));f.setAttribute(c,b)};a.prototype.removeClass=function(b){return this.attr("class",(""+this.attr("class")).replace(w(b)?new RegExp("(^| )".concat(b,"( |$)")):b," ").replace(/ +/g," ").trim())};a.prototype.removeTextOutline=function(){var b=this.element.querySelector("tspan.highcharts-text-outline");b&&this.safeRemoveChild(b)};a.prototype.safeRemoveChild=
+function(b){var c=b.parentNode;c&&c.removeChild(b)};a.prototype.setRadialReference=function(b){var c=this.element.gradient&&this.renderer.gradients[this.element.gradient];this.element.radialReference=b;c&&c.radAttr&&c.animate(this.renderer.getRadialAttr(b,c.radAttr));return this};a.prototype.setTextPath=function(b,c){var d=this;c=f(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},c);var n=this.renderer.url,e=this.text||this,v=e.textPath,u=c.attributes,a=c.enabled;b=b||v&&v.path;
+v&&v.undo();b&&a?(c=h(e,"afterModifyTree",function(c){if(b&&a){var f=b.attr("id");f||b.attr("id",f=q());var v={x:0,y:0};D(u.dx)&&(v.dx=u.dx,delete u.dx);D(u.dy)&&(v.dy=u.dy,delete u.dy);e.attr(v);d.attr({transform:""});d.box&&(d.box=d.box.destroy());v=c.nodes.slice(0);c.nodes.length=0;c.nodes[0]={tagName:"textPath",attributes:E(u,{"text-anchor":u.textAnchor,href:""+n+"#".concat(f)}),children:v}}}),e.textPath={path:b,undo:c}):(e.attr({dx:0,dy:0}),delete e.textPath);this.added&&(e.textCache="",this.renderer.buildText(e));
+return this};a.prototype.shadow=function(b,c,f){var d=[],e=this.element,v=this.oldShadowOptions,q=this.parentGroup,u=q&&90===q.rotation;q={color:"#000000",offsetX:u?-1:1,offsetY:u?-1:1,opacity:.15,width:3};var a=!1,h;!0===b?h=q:"object"===typeof b&&(h=E(q,b));h&&(h&&v&&n(h,function(b,c){b!==v[c]&&(a=!0)}),a&&this.destroyShadows(),this.oldShadowOptions=h);if(!h)this.destroyShadows();else if(!this.shadows){q=h.opacity/h.width;var G=u?"translate(".concat(h.offsetY,", ").concat(h.offsetX,")"):"translate(".concat(h.offsetX,
+", ").concat(h.offsetY,")");for(u=1;u<=h.width;u++){var k=e.cloneNode(!1);var z=2*h.width+1-2*u;m(k,{stroke:b.color||"#000000","stroke-opacity":q*u,"stroke-width":z,transform:G,fill:"none"});k.setAttribute("class",(k.getAttribute("class")||"")+" highcharts-shadow");f&&(m(k,"height",Math.max(m(k,"height")-z,0)),k.cutHeight=z);c?c.element.appendChild(k):e.parentNode&&e.parentNode.insertBefore(k,e);d.push(k)}this.shadows=d}return this};a.prototype.show=function(b){void 0===b&&(b=!0);return this.attr({visibility:b?
+"inherit":"visible"})};a.prototype["stroke-widthSetter"]=function(b,c,f){this[c]=b;f.setAttribute(c,b)};a.prototype.strokeWidth=function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var b=this.getStyle("stroke-width"),c=0;if(b.indexOf("px")===b.length-2)c=u(b);else if(""!==b){var f=r.createElementNS(e,"rect");m(f,{width:b,"stroke-width":0});this.element.parentNode.appendChild(f);c=f.getBBox().width;f.parentNode.removeChild(f)}return c};a.prototype.symbolAttr=function(c){var f=this;
+"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(d){f[d]=b(c[d],f[d])});f.attr({d:f.renderer.symbols[f.symbolName](f.x,f.y,f.width,f.height,f)})};a.prototype.textSetter=function(b){b!==this.textStr&&(delete this.textPxLength,this.textStr=b,this.added&&this.renderer.buildText(this))};a.prototype.titleSetter=function(c){var f=this.element,d=f.getElementsByTagName("title")[0]||r.createElementNS(this.SVG_NS,"title");f.insertBefore?f.insertBefore(d,f.firstChild):
+f.appendChild(d);d.textContent=String(b(c,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")};a.prototype.toFront=function(){var b=this.element;b.parentNode.appendChild(b);return this};a.prototype.translate=function(b,c){return this.attr({translateX:b,translateY:c})};a.prototype.updateShadows=function(b,c,f){var d=this.shadows;if(d)for(var e=d.length;e--;)f.call(d[e],"height"===b?Math.max(c-(d[e].cutHeight||0),0):"d"===b?this.d:c,b,d[e])};a.prototype.updateTransform=function(){var c=
+this.element,f=this.matrix,d=this.rotation;d=void 0===d?0:d;var e=this.scaleX,n=this.scaleY,v=this.translateX,q=this.translateY;v=["translate("+(void 0===v?0:v)+","+(void 0===q?0:q)+")"];D(f)&&v.push("matrix("+f.join(",")+")");d&&v.push("rotate("+d+" "+b(this.rotationOriginX,c.getAttribute("x"),0)+" "+b(this.rotationOriginY,c.getAttribute("y")||0)+")");(D(e)||D(n))&&v.push("scale("+b(e,1)+" "+b(n,1)+")");v.length&&!(this.text||this).textPath&&c.setAttribute("transform",v.join(" "))};a.prototype.visibilitySetter=
+function(b,c,f){"inherit"===b?f.removeAttribute(c):this[c]!==b&&f.setAttribute(c,b);this[c]=b};a.prototype.xGetter=function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)};a.prototype.zIndexSetter=function(b,c){var f=this.renderer,d=this.parentGroup,e=(d||f).element||f.box,v=this.element;f=e===f.box;var n=!1;var q=this.added;var a;D(b)?(v.setAttribute("data-z-index",b),b=+b,this[c]===b&&(q=!1)):D(this[c])&&v.removeAttribute("data-z-index");this[c]=
+b;if(q){(b=this.zIndex)&&d&&(d.handleZ=!0);c=e.childNodes;for(a=c.length-1;0<=a&&!n;a--){d=c[a];q=d.getAttribute("data-z-index");var h=!D(q);if(d!==v)if(0>b&&h&&!f&&!a)e.insertBefore(v,c[a]),n=!0;else if(u(q)<=b||h&&(!D(b)||0<=b))e.insertBefore(v,c[a+1]||null),n=!0}n||(e.insertBefore(v,c[f?3:0]||null),n=!0)}return n};return a}();a.prototype.strokeSetter=a.prototype.fillSetter;a.prototype.yGetter=a.prototype.xGetter;a.prototype.matrixSetter=a.prototype.rotationOriginXSetter=a.prototype.rotationOriginYSetter=
+a.prototype.rotationSetter=a.prototype.scaleXSetter=a.prototype.scaleYSetter=a.prototype.translateXSetter=a.prototype.translateYSetter=a.prototype.verticalAlignSetter=function(b,c){this[c]=b;this.doTransform=!0};"";return a});K(g,"Core/Renderer/RendererRegistry.js",[g["Core/Globals.js"]],function(a){var g;(function(g){g.rendererTypes={};var A;g.getRendererType=function(a){void 0===a&&(a=A);return g.rendererTypes[a]||g.rendererTypes[A]};g.registerRendererType=function(x,B,H){g.rendererTypes[x]=B;if(!A||
+H)A=x,a.Renderer=B}})(g||(g={}));return g});K(g,"Core/Renderer/SVG/SVGLabel.js",[g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g){var A=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,e){d.__proto__=e}||function(d,e){for(var a in e)e.hasOwnProperty(a)&&(d[a]=e[a])};return a(e,d)};return function(e,d){function h(){this.constructor=e}a(e,d);e.prototype=null===d?Object.create(d):(h.prototype=d.prototype,
+new h)}}(),F=g.defined,C=g.extend,B=g.isNumber,H=g.merge,t=g.pick,r=g.removeEvent;return function(g){function e(d,a,m,k,p,l,I,E,r,y){var c=g.call(this)||this;c.paddingLeftSetter=c.paddingSetter;c.paddingRightSetter=c.paddingSetter;c.init(d,"g");c.textStr=a;c.x=m;c.y=k;c.anchorX=l;c.anchorY=I;c.baseline=r;c.className=y;c.addClass("button"===y?"highcharts-no-tooltip":"highcharts-label");y&&c.addClass("highcharts-"+y);c.text=d.text(void 0,0,0,E).attr({zIndex:1});var h;"string"===typeof p&&((h=/^url\((.*?)\)$/.test(p))||
+c.renderer.symbols[p])&&(c.symbolKey=p);c.bBox=e.emptyBBox;c.padding=3;c.baselineOffset=0;c.needsBox=d.styledMode||h;c.deferredAttr={};c.alignFactor=0;return c}A(e,g);e.prototype.alignSetter=function(d){d={left:0,center:.5,right:1}[d];d!==this.alignFactor&&(this.alignFactor=d,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))};e.prototype.anchorXSetter=function(d,e){this.anchorX=d;this.boxAttr(e,Math.round(d)-this.getCrispAdjust()-this.xSetting)};e.prototype.anchorYSetter=function(d,e){this.anchorY=
+d;this.boxAttr(e,d-this.ySetting)};e.prototype.boxAttr=function(d,e){this.box?this.box.attr(d,e):this.deferredAttr[d]=e};e.prototype.css=function(d){if(d){var h={};d=H(d);e.textProps.forEach(function(e){"undefined"!==typeof d[e]&&(h[e]=d[e],delete d[e])});this.text.css(h);"fontSize"in h||"fontWeight"in h?this.updateTextPadding():("width"in h||"textOverflow"in h)&&this.updateBoxSize()}return a.prototype.css.call(this,d)};e.prototype.destroy=function(){r(this.element,"mouseenter");r(this.element,"mouseleave");
+this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)};e.prototype.fillSetter=function(d,e){d&&(this.needsBox=!0);this.fill=d;this.boxAttr(e,d)};e.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var d=this.padding,e=t(this.paddingLeft,d);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-d}};e.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};e.prototype.heightSetter=function(d){this.heightSetting=d};e.prototype.onAdd=function(){this.text.add(this);this.attr({text:t(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&F(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};e.prototype.paddingSetter=function(d,e){B(d)?d!==this[e]&&(this[e]=d,this.updateTextPadding()):this[e]=void 0};e.prototype.rSetter=function(d,e){this.boxAttr(e,
+d)};e.prototype.shadow=function(d){d&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(d));return this};e.prototype.strokeSetter=function(d,e){this.stroke=d;this.boxAttr(e,d)};e.prototype["stroke-widthSetter"]=function(d,e){d&&(this.needsBox=!0);this["stroke-width"]=d;this.boxAttr(e,d)};e.prototype["text-alignSetter"]=function(d){this.textAlign=d};e.prototype.textSetter=function(d){"undefined"!==typeof d&&this.text.attr({text:d});this.updateTextPadding()};e.prototype.updateBoxSize=
+function(){var d=this.text,a=d.element.style,m={},k=this.padding,p=this.bBox=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!F(d.textStr)?e.emptyBBox:d.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||p.height||0)+2*k;a=this.renderer.fontMetrics(a&&a.fontSize,d);this.baselineOffset=k+Math.min((this.text.firstLineMetrics||a).b,p.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.h)/2);this.needsBox&&!d.textPath&&(this.box||(d=
+this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),d.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),d.add(this)),d=this.getCrispAdjust(),m.x=d,m.y=(this.baseline?-this.baselineOffset:0)+d,m.width=Math.round(this.width),m.height=Math.round(this.height),this.box.attr(C(m,this.deferredAttr)),this.deferredAttr={})};e.prototype.updateTextPadding=function(){var d=this.text;if(!d.textPath){this.updateBoxSize();
+var e=this.baseline?0:this.baselineOffset,a=t(this.paddingLeft,this.padding);F(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(a+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(a!==d.x||e!==d.y)d.attr("x",a),d.hasBoxWidthChanged&&(this.bBox=d.getBBox(!0)),"undefined"!==typeof e&&d.attr("y",e);d.x=a;d.y=e}};e.prototype.widthSetter=function(d){this.widthSetting=B(d)?d:void 0};e.prototype.getPaddedWidth=function(){var d=this.padding,
+e=t(this.paddingLeft,d);d=t(this.paddingRight,d);return(this.widthSetting||this.bBox.width||0)+e+d};e.prototype.xSetter=function(d){this.x=d;this.alignFactor&&(d-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(d);this.attr("translateX",this.xSetting)};e.prototype.ySetter=function(d){this.ySetting=this.y=Math.round(d);this.attr("translateY",this.ySetting)};e.emptyBBox={width:0,height:0,x:0,y:0};e.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");
+return e}(a)});K(g,"Core/Renderer/SVG/Symbols.js",[g["Core/Utilities.js"]],function(a){function g(a,g,l,e,d){var h=[];if(d){var m=d.start||0,k=H(d.r,l);l=H(d.r,e||l);var p=(d.end||0)-.001;e=d.innerR;var D=H(d.open,.001>Math.abs((d.end||0)-m-2*Math.PI)),I=Math.cos(m),E=Math.sin(m),r=Math.cos(p),y=Math.sin(p);m=H(d.longArc,.001>p-m-Math.PI?0:1);h.push(["M",a+k*I,g+l*E],["A",k,l,0,m,H(d.clockwise,1),a+k*r,g+l*y]);C(e)&&h.push(D?["M",a+e*r,g+e*y]:["L",a+e*r,g+e*y],["A",e,e,0,m,C(d.clockwise)?1-d.clockwise:
+0,a+e*I,g+e*E]);D||h.push(["Z"])}return h}function x(a,g,l,e,d){return d&&d.r?F(a,g,l,e,d):[["M",a,g],["L",a+l,g],["L",a+l,g+e],["L",a,g+e],["Z"]]}function F(a,g,l,e,d){d=d&&d.r||0;return[["M",a+d,g],["L",a+l-d,g],["C",a+l,g,a+l,g,a+l,g+d],["L",a+l,g+e-d],["C",a+l,g+e,a+l,g+e,a+l-d,g+e],["L",a+d,g+e],["C",a,g+e,a,g+e,a,g+e-d],["L",a,g+d],["C",a,g,a,g,a+d,g]]}var C=a.defined,B=a.isNumber,H=a.pick;return{arc:g,callout:function(a,g,l,e,d){var h=Math.min(d&&d.r||0,l,e),m=h+6,k=d&&d.anchorX;d=d&&d.anchorY||
+0;var p=F(a,g,l,e,{r:h});if(!B(k))return p;a+k>=l?d>g+m&&d<g+e-m?p.splice(3,1,["L",a+l,d-6],["L",a+l+6,d],["L",a+l,d+6],["L",a+l,g+e-h]):p.splice(3,1,["L",a+l,e/2],["L",k,d],["L",a+l,e/2],["L",a+l,g+e-h]):0>=a+k?d>g+m&&d<g+e-m?p.splice(7,1,["L",a,d+6],["L",a-6,d],["L",a,d-6],["L",a,g+h]):p.splice(7,1,["L",a,e/2],["L",k,d],["L",a,e/2],["L",a,g+h]):d&&d>e&&k>a+m&&k<a+l-m?p.splice(5,1,["L",k+6,g+e],["L",k,g+e+6],["L",k-6,g+e],["L",a+h,g+e]):d&&0>d&&k>a+m&&k<a+l-m&&p.splice(1,1,["L",k-6,g],["L",k,g-6],
+["L",k+6,g],["L",l-h,g]);return p},circle:function(a,r,l,e){return g(a+l/2,r+e/2,l/2,e/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(a,g,l,e){return[["M",a+l/2,g],["L",a+l,g+e/2],["L",a+l/2,g+e],["L",a,g+e/2],["Z"]]},rect:x,roundedRect:F,square:x,triangle:function(a,g,l,e){return[["M",a+l/2,g],["L",a+l,g+e],["L",a,g+e],["Z"]]},"triangle-down":function(a,g,l,e){return[["M",a,g],["L",a+l,g],["L",a+l/2,g+e],["Z"]]}}});K(g,"Core/Renderer/SVG/TextBuilder.js",[g["Core/Renderer/HTML/AST.js"],
+g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var A=g.doc,C=g.SVG_NS,B=g.win,H=x.attr,t=x.extend,r=x.fireEvent,l=x.isString,e=x.objectEach,d=x.pick;return function(){function h(d){var e=d.styles;this.renderer=d.renderer;this.svgElement=d;this.width=d.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}h.prototype.buildSVG=function(){var e=
+this.svgElement,k=e.element,h=e.renderer,g=d(e.textStr,"").toString(),I=-1!==g.indexOf("<"),E=k.childNodes;h=this.width&&!e.added&&h.box;var L=/<br.*?>/g,y=[g,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(y!==e.textCache){e.textCache=y;delete e.actualWidth;for(y=E.length;y--;)k.removeChild(E[y]);I||this.ellipsis||this.width||e.textPath||-1!==g.indexOf(" ")&&(!this.noWrap||L.test(g))?""!==g&&(h&&h.appendChild(k),g=new a(g),this.modifyTree(g.nodes),
+g.addToDOM(k),this.modifyDOM(),this.ellipsis&&-1!==(k.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),h&&h.removeChild(k)):k.appendChild(A.createTextNode(this.unescapeEntities(g)));l(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}};h.prototype.modifyDOM=function(){var d=this,e=this.svgElement,a=H(e.element,"x");e.firstLineMetrics=void 0;for(var h;h=e.element.firstChild;)if(/^[\s\u200B]*$/.test(h.textContent||" "))e.element.removeChild(h);
+else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),function(h,c){h.nextSibling&&h.previousSibling&&(0===c&&1===h.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(void 0,h.previousSibling)),H(h,{dy:d.getLineHeight(h.nextSibling),x:a}))});var g=this.width||0;if(g){var l=function(h,c){var w=h.textContent||"",f=w.replace(/([^\^])-/g,"$1- ").split(" "),n=!d.noWrap&&(1<f.length||1<e.element.childNodes.length),b=d.getLineHeight(c),u=0,z=e.actualWidth;if(d.ellipsis)w&&
+d.truncate(h,w,void 0,0,Math.max(0,g-parseInt(d.fontSize||12,10)),function(b,c){return b.substring(0,c)+"\u2026"});else if(n){w=[];for(n=[];c.firstChild&&c.firstChild!==h;)n.push(c.firstChild),c.removeChild(c.firstChild);for(;f.length;)f.length&&!d.noWrap&&0<u&&(w.push(h.textContent||""),h.textContent=f.join(" ").replace(/- /g,"-")),d.truncate(h,void 0,f,0===u?z||0:0,g,function(b,c){return f.slice(0,c).join(" ").replace(/- /g,"-")}),z=e.actualWidth,u++;n.forEach(function(b){c.insertBefore(b,h)});
+w.forEach(function(f){c.insertBefore(A.createTextNode(f),h);f=A.createElementNS(C,"tspan");f.textContent="\u200b";H(f,{dy:b,x:a});c.insertBefore(f,h)})}},L=function(d){[].slice.call(d.childNodes).forEach(function(c){c.nodeType===B.Node.TEXT_NODE?l(c,d):(-1!==c.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),L(c))})};L(e.element)}};h.prototype.getLineHeight=function(d){var e;d=d.nodeType===B.Node.TEXT_NODE?d.parentElement:d;this.renderer.styledMode||(e=d&&/(px|em)$/.test(d.style.fontSize)?
+d.style.fontSize:this.fontSize||this.renderer.style.fontSize||12);return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e,d||this.svgElement.element).h};h.prototype.modifyTree=function(d){var e=this,a=function(h,k){var m=h.attributes;m=void 0===m?{}:m;var p=h.children,g=h.style;g=void 0===g?{}:g;var c=h.tagName,w=e.renderer.styledMode;if("b"===c||"strong"===c)w?m["class"]="highcharts-strong":g.fontWeight="bold";else if("i"===c||"em"===c)w?m["class"]="highcharts-emphasized":
+g.fontStyle="italic";g&&g.color&&(g.fill=g.color);"br"===c?(m["class"]="highcharts-br",h.textContent="\u200b",(k=d[k+1])&&k.textContent&&(k.textContent=k.textContent.replace(/^ +/gm,""))):"a"===c&&p&&p.some(function(c){return"#text"===c.tagName})&&(h.children=[{children:p,tagName:"tspan"}]);"#text"!==c&&"a"!==c&&(h.tagName="tspan");t(h,{attributes:m,style:g});p&&p.filter(function(c){return"#text"!==c.tagName}).forEach(a)};d.forEach(a);r(this.svgElement,"afterModifyTree",{nodes:d})};h.prototype.truncate=
+function(d,e,a,h,g,l){var k=this.svgElement,m=k.renderer,c=k.rotation,w=[],f=a?1:0,n=(e||a||"").length,b=n,u,z=function(b,c){c=c||b;var f=d.parentNode;if(f&&"undefined"===typeof w[c])if(f.getSubStringLength)try{w[c]=h+f.getSubStringLength(0,a?c+1:c)}catch(Q){""}else m.getSpanWidth&&(d.textContent=l(e||a,b),w[c]=h+m.getSpanWidth(k,d));return w[c]};k.rotation=0;var q=z(d.textContent.length);if(h+q>g){for(;f<=n;)b=Math.ceil((f+n)/2),a&&(u=l(a,b)),q=z(b,u&&u.length-1),f===n?f=n+1:q>g?n=b-1:f=b;0===n?
+d.textContent="":e&&n===e.length-1||(d.textContent=u||l(e||a,b))}a&&a.splice(0,b);k.actualWidth=q;k.rotation=c};h.prototype.unescapeEntities=function(d,a){e(this.renderer.escapes,function(e,h){a&&-1!==a.indexOf(e)||(d=d.toString().replace(new RegExp(e,"g"),h))});return d};return h}()});K(g,"Core/Renderer/SVG/SVGRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGLabel.js"],
+g["Core/Renderer/SVG/Symbols.js"],g["Core/Renderer/SVG/TextBuilder.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B,H,t,r){var l=x.charts,e=x.deg2rad,d=x.doc,h=x.isFirefox,m=x.isMS,k=x.isWebKit,p=x.noop,D=x.SVG_NS,I=x.symbolSizes,E=x.win,L=r.addEvent,y=r.attr,c=r.createElement,w=r.css,f=r.defined,n=r.destroyObjectProperties,b=r.extend,u=r.isArray,z=r.isNumber,q=r.isObject,N=r.isString,J=r.merge,O=r.pick,Q=r.pInt,A=r.uniqueKey,Y;x=function(){function v(b,c,f,d,e,v,a){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(b,c,f,d,e,v,a)}v.prototype.init=function(b,c,f,e,v,a,n){var G=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),q=G.element;n||G.css(this.getStyle(e));b.appendChild(q);y(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&y(q,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=q;this.boxWrapper=G;this.alignedObjects=
+[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(d.createTextNode("Created with Highcharts 10.3.3"));this.defs=this.createElement("defs").add();this.allowHTML=a;this.forExport=v;this.styledMode=n;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,f,!1);var u;h&&b.getBoundingClientRect&&(c=function(){w(b,{left:0,top:0});u=b.getBoundingClientRect();w(b,{left:Math.ceil(u.left)-u.left+"px",top:Math.ceil(u.top)-u.top+"px"})},c(),this.unSubPixelFix=
+L(E,"resize",c))};v.prototype.definition=function(b){return(new a([b])).addToDOM(this.defs.element)};v.prototype.getReferenceURL=function(){if((h||k)&&d.getElementsByTagName("base").length){if(!f(Y)){var b=A();b=(new a([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(b,")"),fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(d.body);
+w(b,{position:"fixed",top:0,left:0,zIndex:9E5});var c=d.elementFromPoint(6,6);Y="hitme"===(c&&c.id);d.body.removeChild(b)}if(Y)return E.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};v.prototype.getStyle=function(c){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},c)};v.prototype.setStyle=function(b){this.boxWrapper.css(this.getStyle(b))};v.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};
+v.prototype.destroy=function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();n(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};v.prototype.createElement=function(b){var c=new this.Element;c.init(this,b);return c};v.prototype.getRadialAttr=function(b,c){return{cx:b[0]-b[2]/2+(c.cx||0)*b[2],cy:b[1]-b[2]/2+(c.cy||0)*b[2],r:(c.r||0)*b[2]}};v.prototype.buildText=function(b){(new t(b)).buildSVG()};
+v.prototype.getContrast=function(b){b=g.parse(b).rgba.map(function(b){b/=255;return.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4)});b=.2126*b[0]+.7152*b[1]+.0722*b[2];return 1.05/(b+.05)>(b+.05)/.05?"#FFFFFF":"#000000"};v.prototype.button=function(c,f,d,e,v,n,u,h,z,w){void 0===v&&(v={});var G=this.label(c,f,d,z,void 0,void 0,w,void 0,"button"),k=this.styledMode;c=v.states||{};var M=0;v=J(v);delete v.states;var g=J({color:"#333333",cursor:"pointer",fontWeight:"normal"},v.style);delete v.style;var p=
+a.filterUserAttributes(v);G.attr(J({padding:8,r:2},p));if(!k){p=J({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},p);n=J(p,{fill:"#e6e6e6"},a.filterUserAttributes(n||c.hover||{}));var U=n.style;delete n.style;u=J(p,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},a.filterUserAttributes(u||c.select||{}));var P=u.style;delete u.style;h=J(p,{style:{color:"#cccccc"}},a.filterUserAttributes(h||c.disabled||{}));var y=h.style;delete h.style}L(G.element,m?"mouseover":"mouseenter",function(){3!==
+M&&G.setState(1)});L(G.element,m?"mouseout":"mouseleave",function(){3!==M&&G.setState(M)});G.setState=function(b){1!==b&&(G.state=M=b);G.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);k||(G.attr([p,n,u,h][b||0]),b=[g,U,P,y][b||0],q(b)&&G.css(b))};k||(G.attr(p).css(b({cursor:"default"},g)),w&&G.text.css({pointerEvents:"none"}));return G.on("touchstart",function(b){return b.stopPropagation()}).on("click",
+function(b){3!==M&&e.call(G,b)})};v.prototype.crispLine=function(b,c,d){void 0===d&&(d="round");var e=b[0],v=b[1];f(e[1])&&e[1]===v[1]&&(e[1]=v[1]=Math[d](e[1])-c%2/2);f(e[2])&&e[2]===v[2]&&(e[2]=v[2]=Math[d](e[2])+c%2/2);return b};v.prototype.path=function(c){var f=this.styledMode?{}:{fill:"none"};u(c)?f.d=c:q(c)&&b(f,c);return this.createElement("path").attr(f)};v.prototype.circle=function(b,c,f){b=q(b)?b:"undefined"===typeof b?{}:{x:b,y:c,r:f};c=this.createElement("circle");c.xSetter=c.ySetter=
+function(b,c,f){f.setAttribute("c"+c,b)};return c.attr(b)};v.prototype.arc=function(b,c,f,d,e,v){q(b)?(d=b,c=d.y,f=d.r,b=d.x):d={innerR:d,start:e,end:v};b=this.symbol("arc",b,c,f,f,d);b.r=f;return b};v.prototype.rect=function(b,c,f,d,e,v){e=q(b)?b.r:e;var a=this.createElement("rect");b=q(b)?b:"undefined"===typeof b?{}:{x:b,y:c,width:Math.max(f,0),height:Math.max(d,0)};this.styledMode||("undefined"!==typeof v&&(b["stroke-width"]=v,b=a.crisp(b)),b.fill="none");e&&(b.r=e);a.rSetter=function(b,c,f){a.r=
+b;y(f,{rx:b,ry:b})};a.rGetter=function(){return a.r||0};return a.attr(b)};v.prototype.setSize=function(b,c,f){this.width=b;this.height=c;this.boxWrapper.animate({width:b,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:O(f,!0)?void 0:0});this.alignElements()};v.prototype.g=function(b){var c=this.createElement("g");return b?c.attr({"class":"highcharts-"+b}):c};v.prototype.image=function(b,c,f,d,e,v){var a={preserveAspectRatio:"none"},n=function(b,
+c){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink","href",c):b.setAttribute("hc-svg-href",c)};z(c)&&(a.x=c);z(f)&&(a.y=f);z(d)&&(a.width=d);z(e)&&(a.height=e);var G=this.createElement("image").attr(a);c=function(c){n(G.element,b);v.call(G,c)};v?(n(G.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),f=new E.Image,L(f,"load",c),f.src=b,f.complete&&c({})):n(G.element,b);return G};v.prototype.symbol=function(e,v,a,n,G,q){var u=this,h=/^url\((.*?)\)$/,
+z=h.test(e),k=!z&&(this.symbols[e]?e:"circle"),g=k&&this.symbols[k],m;if(g){"number"===typeof v&&(m=g.call(this.symbols,Math.round(v||0),Math.round(a||0),n||0,G||0,q));var p=this.path(m);u.styledMode||p.attr("fill","none");b(p,{symbolName:k||void 0,x:v,y:a,width:n,height:G});q&&b(p,q)}else if(z){var P=e.match(h)[1];var U=p=this.image(P);U.imgwidth=O(I[P]&&I[P].width,q&&q.width);U.imgheight=O(I[P]&&I[P].height,q&&q.height);var N=function(b){return b.attr({width:b.width,height:b.height})};["width",
+"height"].forEach(function(b){U[b+"Setter"]=function(b,c){this[c]=b;b=this.alignByTranslate;var d=this.element,e=this.width,v=this.height,a=this.imgwidth,n=this.imgheight,G=this["img"+c];if(f(G)){var u=1;q&&"within"===q.backgroundSize&&e&&v?(u=Math.min(e/a,v/n),G=Math.round(G*u),y(d,{width:Math.round(a*u),height:Math.round(n*u)})):d&&d.setAttribute(c,G);b||this.translate(((e||0)-G*u)/2,((v||0)-G*u)/2)}}});f(v)&&U.attr({x:v,y:a});U.isImg=!0;f(U.imgwidth)&&f(U.imgheight)?N(U):(U.attr({width:0,height:0}),
+c("img",{onload:function(){var b=l[u.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),d.body.appendChild(this));I[P]={width:this.width,height:this.height};U.imgwidth=this.width;U.imgheight=this.height;U.element&&N(U);this.parentNode&&this.parentNode.removeChild(this);u.imgCount--;if(!u.imgCount&&b&&!b.hasLoaded)b.onload()},src:P}),this.imgCount++)}return p};v.prototype.clipRect=function(b,c,f,d){var e=A()+"-",v=this.createElement("clipPath").attr({id:e}).add(this.defs);b=this.rect(b,
+c,f,d,0).add(v);b.id=e;b.clipPath=v;b.count=0;return b};v.prototype.text=function(b,c,d,e){var v={};if(e&&(this.allowHTML||!this.forExport))return this.html(b,c,d);v.x=Math.round(c||0);d&&(v.y=Math.round(d));f(b)&&(v.text=b);b=this.createElement("text").attr(v);if(!e||this.forExport&&!this.allowHTML)b.xSetter=function(b,c,f){for(var d=f.getElementsByTagName("tspan"),e=f.getAttribute(c),v=0,a;v<d.length;v++)a=d[v],a.getAttribute(c)===e&&a.setAttribute(c,b);f.setAttribute(c,b)};return b};v.prototype.fontMetrics=
+function(b,c){b=!this.styledMode&&/px/.test(b)||!E.getComputedStyle?b||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize:c&&C.prototype.getStyle.call(c,"font-size");b=/px/.test(b)?Q(b):12;c=24>b?b+3:Math.round(1.2*b);return{h:c,b:Math.round(.8*c),f:b}};v.prototype.rotCorr=function(b,c,f){var d=b;c&&f&&(d=Math.max(d*Math.cos(c*e),4));return{x:-b/3*Math.sin(c*e),y:d}};v.prototype.pathToSegments=function(b){for(var c=[],f=[],d={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},e=0;e<b.length;e++)N(f[0])&&
+z(b[e])&&f.length===d[f[0].toUpperCase()]&&b.splice(e,0,f[0].replace("M","L").replace("m","l")),"string"===typeof b[e]&&(f.length&&c.push(f.slice(0)),f.length=0),f.push(b[e]);c.push(f.slice(0));return c};v.prototype.label=function(b,c,f,d,e,v,a,n,q){return new B(this,b,c,f,d,e,v,a,n,q)};v.prototype.alignElements=function(){this.alignedObjects.forEach(function(b){return b.align()})};return v}();b(x.prototype,{Element:C,SVG_NS:D,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:H,
+draw:p});F.registerRendererType("svg",x,!0);"";return x});K(g,"Core/Renderer/HTML/HTMLElement.js",[g["Core/Globals.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x){var A=this&&this.__extends||function(){var d=function(e,a){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,e){d.__proto__=e}||function(d,e){for(var a in e)e.hasOwnProperty(a)&&(d[a]=e[a])};return d(e,a)};return function(e,a){function h(){this.constructor=e}d(e,a);e.prototype=null===a?
+Object.create(a):(h.prototype=a.prototype,new h)}}(),C=a.isFirefox,B=a.isMS,H=a.isWebKit,t=a.win,r=x.css,l=x.defined,e=x.extend,d=x.pick,h=x.pInt;return function(a){function k(){return null!==a&&a.apply(this,arguments)||this}A(k,a);k.compose=function(d){if(-1===k.composedClasses.indexOf(d)){k.composedClasses.push(d);var e=k.prototype,a=d.prototype;a.getSpanCorrection=e.getSpanCorrection;a.htmlCss=e.htmlCss;a.htmlGetBBox=e.htmlGetBBox;a.htmlUpdateTransform=e.htmlUpdateTransform;a.setSpanRotation=e.setSpanRotation}return d};
+k.prototype.getSpanCorrection=function(d,e,a){this.xCorr=-d*a;this.yCorr=-e};k.prototype.htmlCss=function(a){var h="SPAN"===this.element.tagName&&a&&"width"in a,k=d(h&&a.width,void 0);if(h){delete a.width;this.textWidth=k;var g=!0}a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);r(this.element,a);g&&this.htmlUpdateTransform();return this};k.prototype.htmlGetBBox=function(){var d=this.element;return{x:d.offsetLeft,y:d.offsetTop,width:d.offsetWidth,
+height:d.offsetHeight}};k.prototype.htmlUpdateTransform=function(){if(this.added){var d=this.renderer,e=this.element,a=this.translateX||0,k=this.translateY||0,g=this.x||0,m=this.y||0,c=this.textAlign||"left",w={left:0,center:.5,right:1}[c],f=this.styles;f=f&&f.whiteSpace;r(e,{marginLeft:a,marginTop:k});!d.styledMode&&this.shadows&&this.shadows.forEach(function(b){r(b,{marginLeft:a+1,marginTop:k+1})});this.inverted&&[].forEach.call(e.childNodes,function(b){d.invertChild(b,e)});if("SPAN"===e.tagName){var n=
+this.rotation,b=this.textWidth&&h(this.textWidth),u=[n,c,e.innerHTML,this.textWidth,this.textAlign].join(),z=void 0;z=!1;if(b!==this.oldTextWidth){if(this.textPxLength)var q=this.textPxLength;else r(e,{width:"",whiteSpace:f||"nowrap"}),q=e.offsetWidth;(b>this.oldTextWidth||q>b)&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)&&(r(e,{width:q>b||n?b+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=b,z=!0)}this.hasBoxWidthChanged=z;u!==this.cTT&&(z=
+d.fontMetrics(e.style.fontSize,e).b,!l(n)||n===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(n,w,z),this.getSpanCorrection(!l(n)&&this.textPxLength||e.offsetWidth,z,w,n,c));r(e,{left:g+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=u;this.oldRotation=n;this.oldAlign=c}}else this.alignOnAdd=!0};k.prototype.setSpanRotation=function(d,e,a){var h={},k=B&&!/Edge/.test(t.navigator.userAgent)?"-ms-transform":H?"-webkit-transform":C?"MozTransform":t.opera?"-o-transform":void 0;
+k&&(h[k]=h.transform="rotate("+d+"deg)",h[k+(C?"Origin":"-origin")]=h.transformOrigin=100*e+"% "+a+"px",r(this.element,h))};k.composedClasses=[];return k}(g)});K(g,"Core/Renderer/HTML/HTMLRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,e){d.__proto__=e}||function(d,
+e){for(var a in e)e.hasOwnProperty(a)&&(d[a]=e[a])};return a(e,d)};return function(e,d){function h(){this.constructor=e}a(e,d);e.prototype=null===d?Object.create(d):(h.prototype=d.prototype,new h)}}(),B=F.attr,H=F.createElement,t=F.extend,r=F.pick;return function(l){function e(){return null!==l&&l.apply(this,arguments)||this}A(e,l);e.compose=function(d){-1===e.composedClasses.indexOf(d)&&(e.composedClasses.push(d),d.prototype.html=e.prototype.html);return d};e.prototype.html=function(d,e,m){var h=
+this.createElement("span"),p=h.element,l=h.renderer,I=l.isSVG,E=function(d,e){["opacity","visibility"].forEach(function(c){d[c+"Setter"]=function(a,f,n){var b=d.div?d.div.style:e;g.prototype[c+"Setter"].call(this,a,f,n);b&&(b[f]=a)}});d.addedSetters=!0};h.textSetter=function(d){d!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,a.setElementHTML(this.element,r(d,"")),this.textStr=d,h.doTransform=!0)};I&&E(h,h.element.style);h.xSetter=h.ySetter=h.alignSetter=h.rotationSetter=function(d,e){"align"===
+e?h.alignValue=h.textAlign=d:h[e]=d;h.doTransform=!0};h.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};h.attr({text:d,x:Math.round(e),y:Math.round(m)}).css({position:"absolute"});l.styledMode||h.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});p.style.whiteSpace="nowrap";h.css=h.htmlCss;I&&(h.add=function(d){var e=l.box.parentNode,c=[];if(this.parentGroup=d){var a=d.div;if(!a){for(;d;)c.push(d),d=d.parentGroup;c.reverse().forEach(function(f){function d(b,
+c){f[c]=b;"translateX"===c?z.left=b+"px":z.top=b+"px";f.doTransform=!0}var b=B(f.element,"class"),u=f.styles||{};a=f.div=f.div||H("div",b?{className:b}:void 0,{position:"absolute",left:(f.translateX||0)+"px",top:(f.translateY||0)+"px",display:f.display,opacity:f.opacity,cursor:u.cursor,pointerEvents:u.pointerEvents,visibility:f.visibility},a||e);var z=a.style;t(f,{classSetter:function(b){return function(c){this.element.setAttribute("class",c);b.className=c}}(a),on:function(){c[0].div&&h.on.apply({element:c[0].div,
+onEvents:f.onEvents},arguments);return f},translateXSetter:d,translateYSetter:d});f.addedSetters||E(f)})}}else a=e;a.appendChild(p);h.added=!0;h.alignOnAdd&&h.htmlUpdateTransform();return h});return h};e.composedClasses=[];return e}(x)});K(g,"Core/Axis/AxisDefaults.js",[],function(){var a;(function(a){a.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"};a.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(){var a=this.axis.chart.numberFormatter;return a(this.total||0,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};
-a.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}};a.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}};a.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}};a.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}}})(a||(a={}));return a});K(g,"Core/Foundation.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.isFunction,E=a.objectEach,D=a.removeEvent,B;(function(a){a.registerEventOptions=function(a,t){a.eventOptions=
-a.eventOptions||{};E(t.events,function(n,f){a.eventOptions[f]!==n&&(a.eventOptions[f]&&(D(a,f,a.eventOptions[f]),delete a.eventOptions[f]),x(n)&&(a.eventOptions[f]=n,g(a,f,n)))})}})(B||(B={}));return B});K(g,"Core/Axis/Tick.js",[g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var v=g.deg2rad,D=x.clamp,B=x.correctFloat,G=x.defined,r=x.destroyObjectProperties,t=x.extend,n=x.fireEvent,f=x.isNumber,c=x.merge,l=x.objectEach,m=x.pick;g=function(){function e(c,a,
-e,f,l){this.isNewLabel=this.isNew=!0;this.axis=c;this.pos=a;this.type=e||"";this.parameters=l||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;n(this,"init");e||f||this.addLabel()}e.prototype.addLabel=function(){var c=this,e=c.axis,l=e.options,g=e.chart,L=e.categories,A=e.logarithmic,d=e.names,q=c.pos,h=m(c.options&&c.options.labels,l.labels),k=e.tickPositions,b=q===k[0],p=q===k[k.length-1],z=(!h.step||1===h.step)&&1===e.tickInterval;k=k.info;var w=c.label,
-N;L=this.parameters.category||(L?m(L[q],d[q],q):q);A&&f(L)&&(L=B(A.lin2log(L)));if(e.dateTime)if(k){var H=g.time.resolveDTLFormat(l.dateTimeLabelFormats[!l.grid&&k.higherRanks[q]||k.unitName]);var O=H.main}else f(L)&&(O=e.dateTime.getXDateFormat(L,l.dateTimeLabelFormats||{}));c.isFirst=b;c.isLast=p;var Q={axis:e,chart:g,dateTimeLabelFormat:O,isFirst:b,isLast:p,pos:q,tick:c,tickPositionInfo:k,value:L};n(this,"labelFormat",Q);var r=function(b){return h.formatter?h.formatter.call(b,b):h.format?(b.text=
-e.defaultLabelFormatter.call(b,b),a.format(h.format,b,g)):e.defaultLabelFormatter.call(b,b)};l=r.call(Q,Q);var Y=H&&H.list;c.shortenLabel=Y?function(){for(N=0;N<Y.length;N++)if(t(Q,{dateTimeLabelFormat:Y[N]}),w.attr({text:r.call(Q,Q)}),w.getBBox().width<e.getSlotWidth(c)-2*h.padding)return;w.attr({text:""})}:void 0;z&&e._addedPlotLB&&c.moveLabel(l,h);G(w)||c.movedLabel?w&&w.textStr!==l&&!z&&(!w.textWidth||h.style.width||w.styles.width||w.css({width:null}),w.attr({text:l}),w.textPxLength=w.getBBox().width):
-(c.label=w=c.createLabel({x:0,y:0},l,h),c.rotation=0)};e.prototype.createLabel=function(a,e,f){var l=this.axis,g=l.chart;if(a=G(e)&&f.enabled?g.renderer.text(e,a.x,a.y,f.useHTML).add(l.labelGroup):null)g.styledMode||a.css(c(f.style)),a.textPxLength=a.getBBox().width;return a};e.prototype.destroy=function(){r(this,this.axis)};e.prototype.getPosition=function(c,a,e,f){var l=this.axis,g=l.chart,d=f&&g.oldChartHeight||g.chartHeight;c={x:c?B(l.translate(a+e,void 0,void 0,f)+l.transB):l.left+l.offset+(l.opposite?
-(f&&g.oldChartWidth||g.chartWidth)-l.right-l.left:0),y:c?d-l.bottom+l.offset-(l.opposite?l.height:0):B(d-l.translate(a+e,void 0,void 0,f)-l.transB)};c.y=D(c.y,-1E5,1E5);n(this,"afterGetPosition",{pos:c});return c};e.prototype.getLabelPosition=function(c,a,e,f,l,g,d,q){var h=this.axis,k=h.transA,b=h.isLinked&&h.linkedParent?h.linkedParent.reversed:h.reversed,p=h.staggerLines,z=h.tickRotCorr||{x:0,y:0},w=f||h.reserveSpaceDefault?0:-h.labelOffset*("center"===h.labelAlign?.5:1),m={};e=0===h.side?e.rotation?
--8:-e.getBBox().height:2===h.side?z.y+8:Math.cos(e.rotation*v)*(z.y-e.getBBox(!1,0).height/2);G(l.y)&&(e=0===h.side&&h.horiz?l.y+e:l.y);c=c+l.x+w+z.x-(g&&f?g*k*(b?-1:1):0);a=a+e-(g&&!f?g*k*(b?1:-1):0);p&&(f=d/(q||1)%p,h.opposite&&(f=p-f-1),a+=h.labelOffset/p*f);m.x=c;m.y=Math.round(a);n(this,"afterGetLabelPosition",{pos:m,tickmarkOffset:g,index:d});return m};e.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0};e.prototype.getMarkPath=function(c,
-a,e,f,l,g){return g.crispLine([["M",c,a],["L",c+(l?0:-e),a+(l?e:0)]],f)};e.prototype.handleOverflow=function(c){var a=this.axis,e=a.options.labels,f=c.x,l=a.chart.chartWidth,g=a.chart.spacing,d=m(a.labelLeft,Math.min(a.pos,g[3]));g=m(a.labelRight,Math.max(a.isRadial?0:a.pos+a.len,l-g[1]));var q=this.label,h=this.rotation,k={left:0,center:.5,right:1}[a.labelAlign||q.attr("align")],b=q.getBBox().width,p=a.getSlotWidth(this),z={},w=p,u=1,n;if(h||"justify"!==e.overflow)0>h&&f-k*b<d?n=Math.round(f/Math.cos(h*
-v)-d):0<h&&f+k*b>g&&(n=Math.round((l-f)/Math.cos(h*v)));else if(l=f+(1-k)*b,f-k*b<d?w=c.x+w*(1-k)-d:l>g&&(w=g-c.x+w*k,u=-1),w=Math.min(p,w),w<p&&"center"===a.labelAlign&&(c.x+=u*(p-w-k*(p-Math.min(b,w)))),b>w||a.autoRotation&&(q.styles||{}).width)n=w;n&&(this.shortenLabel?this.shortenLabel():(z.width=Math.floor(n)+"px",(e.style||{}).textOverflow||(z.textOverflow="ellipsis"),q.css(z)))};e.prototype.moveLabel=function(c,a){var e=this,f=e.label,g=e.axis,m=g.reversed,d=!1;f&&f.textStr===c?(e.movedLabel=
-f,d=!0,delete e.label):l(g.ticks,function(h){d||h.isNew||h===e||!h.label||h.label.textStr!==c||(e.movedLabel=h.label,d=!0,h.labelPos=e.movedLabel.xy,delete h.label)});if(!d&&(e.labelPos||f)){var q=e.labelPos||f.xy;f=g.horiz?m?0:g.width+g.left:q.x;g=g.horiz?q.y:m?g.width+g.left:0;e.movedLabel=e.createLabel({x:f,y:g},c,a);e.movedLabel&&e.movedLabel.attr({opacity:0})}};e.prototype.render=function(c,a,e){var f=this.axis,l=f.horiz,g=this.pos,d=m(this.tickmarkOffset,f.tickmarkOffset);g=this.getPosition(l,
-g,d,a);d=g.x;var q=g.y;f=l&&d===f.pos+f.len||!l&&q===f.pos?-1:1;l=m(e,this.label&&this.label.newOpacity,1);e=m(e,1);this.isActive=!0;this.renderGridLine(a,e,f);this.renderMark(g,e,f);this.renderLabel(g,a,l,c);this.isNew=!1;n(this,"afterRender")};e.prototype.renderGridLine=function(c,a,e){var f=this.axis,l=f.options,g={},d=this.pos,q=this.type,h=m(this.tickmarkOffset,f.tickmarkOffset),k=f.chart.renderer,b=this.gridLine,p=l.gridLineWidth,z=l.gridLineColor,w=l.gridLineDashStyle;"minor"===this.type&&
-(p=l.minorGridLineWidth,z=l.minorGridLineColor,w=l.minorGridLineDashStyle);b||(f.chart.styledMode||(g.stroke=z,g["stroke-width"]=p||0,g.dashstyle=w),q||(g.zIndex=1),c&&(a=0),this.gridLine=b=k.path().attr(g).addClass("highcharts-"+(q?q+"-":"")+"grid-line").add(f.gridGroup));if(b&&(e=f.getPlotLinePath({value:d+h,lineWidth:b.strokeWidth()*e,force:"pass",old:c})))b[c||this.isNew?"attr":"animate"]({d:e,opacity:a})};e.prototype.renderMark=function(c,a,e){var f=this.axis,l=f.options,g=f.chart.renderer,d=
-this.type,q=f.tickSize(d?d+"Tick":"tick"),h=c.x;c=c.y;var k=m(l["minor"!==d?"tickWidth":"minorTickWidth"],!d&&f.isXAxis?1:0);l=l["minor"!==d?"tickColor":"minorTickColor"];var b=this.mark,p=!b;q&&(f.opposite&&(q[0]=-q[0]),b||(this.mark=b=g.path().addClass("highcharts-"+(d?d+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||b.attr({stroke:l,"stroke-width":k})),b[p?"attr":"animate"]({d:this.getMarkPath(h,c,q[0],b.strokeWidth()*e,f.horiz,g),opacity:a}))};e.prototype.renderLabel=function(c,a,e,l){var g=
-this.axis,u=g.horiz,d=g.options,q=this.label,h=d.labels,k=h.step;g=m(this.tickmarkOffset,g.tickmarkOffset);var b=c.x;c=c.y;var p=!0;q&&f(b)&&(q.xy=c=this.getLabelPosition(b,c,q,u,h,g,l,k),this.isFirst&&!this.isLast&&!d.showFirstLabel||this.isLast&&!this.isFirst&&!d.showLastLabel?p=!1:!u||h.step||h.rotation||a||0===e||this.handleOverflow(c),k&&l%k&&(p=!1),p&&f(c.y)?(c.opacity=e,q[this.isNewLabel?"attr":"animate"](c).show(!0),this.isNewLabel=!1):(q.hide(),this.isNewLabel=!0))};e.prototype.replaceMovedLabel=
-function(){var c=this.label,a=this.axis,e=a.reversed;if(c&&!this.isNew){var f=a.horiz?e?a.left:a.width+a.left:c.xy.x;e=a.horiz?c.xy.y:e?a.width+a.top:a.top;c.animate({x:f,y:e,opacity:0},void 0,c.destroy);delete this.label}a.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return e}();"";return g});K(g,"Core/Axis/Axis.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/AxisDefaults.js"],g["Core/Color/Color.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"],
-g["Core/Axis/Tick.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r){var t=a.animObject,n=E.defaultOptions,f=D.registerEventOptions,c=B.deg2rad,l=r.arrayMax,m=r.arrayMin,e=r.clamp,u=r.correctFloat,C=r.defined,J=r.destroyObjectProperties,I=r.erase,v=r.error,A=r.extend,d=r.fireEvent,q=r.isArray,h=r.isNumber,k=r.isString,b=r.merge,p=r.normalizeTickInterval,z=r.objectEach,w=r.pick,N=r.relativeLength,H=r.removeEvent,O=r.splat,Q=r.syncTimeout,S=function(b,d){return p(d,void 0,void 0,w(b.options.allowDecimals,
-.5>d||void 0!==b.tickAmount),!!b.tickAmount)};a=function(){function a(b,d){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(b,d)}a.prototype.init=function(b,a){var c=a.isX;this.chart=b;this.horiz=b.inverted&&!this.isZAxis?!c:c;this.isXAxis=c;this.coll=this.coll||(c?"xAxis":"yAxis");d(this,
-"init",{userOptions:a});this.opposite=w(a.opposite,this.opposite);this.side=w(a.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(a);var e=this.options,y=e.labels,k=e.type;this.userOptions=a;this.minPixelPadding=0;this.reversed=w(e.reversed,this.reversed);this.visible=e.visible;this.zoomEnabled=e.zoomEnabled;this.hasNames="category"===k||!0===e.categories;this.categories=e.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups=
-{};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=C(e.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=e.minRange||e.maxZoom;this.range=e.range;this.offset=e.offset||0;this.min=this.max=null;a=w(e.crosshair,O(b.options.tooltip.crosshairs)[c?0:1]);this.crosshair=!0===a?{}:a;-1===b.axes.indexOf(this)&&(c?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),b[this.coll].push(this));this.series=
-this.series||[];b.inverted&&!this.isZAxis&&c&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=h(y.rotation)?y.rotation:void 0;f(this,e);d(this,"afterInit")};a.prototype.setOptions=function(h){this.options=b(g.defaultXAxisOptions,"yAxis"===this.coll&&g.defaultYAxisOptions,[g.defaultTopAxisOptions,g.defaultRightAxisOptions,g.defaultBottomAxisOptions,g.defaultLeftAxisOptions][this.side],b(n[this.coll],h));d(this,"afterSetOptions",{userOptions:h})};a.prototype.defaultLabelFormatter=
-function(b){var d=this.axis;b=this.chart.numberFormatter;var a=h(this.value)?this.value:NaN,c=d.chart.time,e=this.dateTimeLabelFormat,k=n.lang,y=k.numericSymbols;k=k.numericSymbolMagnitude||1E3;var f=d.logarithmic?Math.abs(a):d.tickInterval,p=y&&y.length;if(d.categories)var l="".concat(this.value);else if(e)l=c.dateFormat(e,a);else if(p&&1E3<=f)for(;p--&&"undefined"===typeof l;)d=Math.pow(k,p+1),f>=d&&0===10*a%d&&null!==y[p]&&0!==a&&(l=b(a/d,-1)+y[p]);"undefined"===typeof l&&(l=1E4<=Math.abs(a)?b(a,
--1):b(a,-1,void 0,""));return l};a.prototype.getSeriesExtremes=function(){var b=this,a=b.chart,c;d(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.stacking&&b.stacking.buildStacks();b.series.forEach(function(d){if(d.visible||!a.options.chart.ignoreHiddenSeries){var e=d.options,k=e.threshold;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=k&&(k=null);if(b.isXAxis){if(e=d.xData,e.length){e=b.logarithmic?e.filter(b.validatePositiveValue):
-e;c=d.getXExtremes(e);var y=c.min;var f=c.max;h(y)||y instanceof Date||(e=e.filter(h),c=d.getXExtremes(e),y=c.min,f=c.max);e.length&&(b.dataMin=Math.min(w(b.dataMin,y),y),b.dataMax=Math.max(w(b.dataMax,f),f))}}else if(d=d.applyExtremes(),h(d.dataMin)&&(y=d.dataMin,b.dataMin=Math.min(w(b.dataMin,y),y)),h(d.dataMax)&&(f=d.dataMax,b.dataMax=Math.max(w(b.dataMax,f),f)),C(k)&&(b.threshold=k),!e.softThreshold||b.positiveValuesOnly)b.softThreshold=!1}})});d(this,"afterGetSeriesExtremes")};a.prototype.translate=
-function(b,d,a,c,e,k){var f=this.linkedParent||this,y=c&&f.old?f.old.min:f.min;if(!h(y))return NaN;var p=f.minPixelPadding;e=(f.isOrdinal||f.brokenAxis&&f.brokenAxis.hasBreaks||f.logarithmic&&e)&&f.lin2val;var F=1,l=0;c=c&&f.old?f.old.transA:f.transA;c||(c=f.transA);a&&(F*=-1,l=f.len);f.reversed&&(F*=-1,l-=F*(f.sector||f.len));d?(k=(b*F+l-p)/c+y,e&&(k=f.lin2val(k))):(e&&(b=f.val2lin(b)),b=F*(b-y)*c,k=(f.isRadial?b:u(b))+l+F*p+(h(k)?c*k:0));return k};a.prototype.toPixels=function(b,d){return this.translate(b,
-!1,!this.horiz,void 0,!0)+(d?0:this.pos)};a.prototype.toValue=function(b,d){return this.translate(b-(d?0:this.pos),!0,!this.horiz,void 0,!0)};a.prototype.getPlotLinePath=function(b){function a(b,d,a){if("pass"!==n&&b<d||b>a)n?b=e(b,d,a):C=!0;return b}var c=this,k=c.chart,f=c.left,y=c.top,p=b.old,l=b.value,g=b.lineWidth,q=p&&k.oldChartHeight||k.chartHeight,z=p&&k.oldChartWidth||k.chartWidth,m=c.transB,u=b.translatedValue,n=b.force,A,H,N,O,C;b={value:l,lineWidth:g,old:p,force:n,acrossPanes:b.acrossPanes,
-translatedValue:u};d(this,"getPlotLinePath",b,function(b){u=w(u,c.translate(l,void 0,void 0,p));u=e(u,-1E5,1E5);A=N=Math.round(u+m);H=O=Math.round(q-u-m);h(u)?c.horiz?(H=y,O=q-c.bottom,A=N=a(A,f,f+c.width)):(A=f,N=z-c.right,H=O=a(H,y,y+c.height)):(C=!0,n=!1);b.path=C&&!n?null:k.renderer.crispLine([["M",A,H],["L",N,O]],g||1)});return b.path};a.prototype.getLinearTickPositions=function(b,d,a){var h=u(Math.floor(d/b)*b);a=u(Math.ceil(a/b)*b);var c=[],e;u(h+b)===h&&(e=20);if(this.single)return[d];for(d=
-h;d<=a;){c.push(d);d=u(d+b,e);if(d===k)break;var k=d}return c};a.prototype.getMinorTickInterval=function(){var b=this.options;return!0===b.minorTicks?w(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval};a.prototype.getMinorTickPositions=function(){var b=this.options,d=this.tickPositions,a=this.minorTickInterval,h=this.pointRangePadding||0,c=this.min-h;h=this.max+h;var e=h-c,k=[];if(e&&e/a<this.len/3){var f=this.logarithmic;if(f)this.paddedTicks.forEach(function(b,d,h){d&&k.push.apply(k,
-f.getLogTickPositions(a,h[d-1],h[d],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())k=k.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(a),c,h,b.startOfWeek));else for(b=c+(d[0]-c)%a;b<=h&&b!==k[0];b+=a)k.push(b)}0!==k.length&&this.trimTicks(k);return k};a.prototype.adjustForMinRange=function(){var b=this.options,d=this.logarithmic,a=this.min,h=this.max,c=0,e,k,f,p;this.isXAxis&&"undefined"===typeof this.minRange&&!d&&(C(b.min)||C(b.max)||C(b.floor)||C(b.ceiling)?
-this.minRange=null:(this.series.forEach(function(b){f=b.xData;p=b.xIncrement?1:f.length-1;if(1<f.length)for(e=p;0<e;e--)if(k=f[e]-f[e-1],!c||k<c)c=k}),this.minRange=Math.min(5*c,this.dataMax-this.dataMin)));if(h-a<this.minRange){var g=this.dataMax-this.dataMin>=this.minRange;var q=this.minRange;var z=(q-h+a)/2;z=[a-z,w(b.min,a-z)];g&&(z[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);a=l(z);h=[a+q,w(b.max,a+q)];g&&(h[2]=d?d.log2lin(this.dataMax):this.dataMax);h=m(h);h-a<q&&
-(z[0]=h-q,z[1]=w(b.min,h-q),a=l(z))}this.min=a;this.max=h};a.prototype.getClosest=function(){var b;this.categories?b=1:this.series.forEach(function(d){var a=d.closestPointRange,h=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&C(a)&&h&&(b=C(b)?Math.min(b,a):a)});return b};a.prototype.nameToX=function(b){var d=q(this.options.categories),a=d?this.categories:this.names,h=b.options.x;b.series.requireSorting=!1;C(h)||(h=this.options.uniqueNames&&a?d?a.indexOf(b.name):w(a.keys[b.name],
--1):b.series.autoIncrement());if(-1===h){if(!d&&a)var c=a.length}else c=h;"undefined"!==typeof c?(this.names[c]=b.name,this.names.keys[b.name]=c):b.x&&(c=b.x);return c};a.prototype.updateNames=function(){var b=this,d=this.names;0<d.length&&(Object.keys(d.keys).forEach(function(b){delete d.keys[b]}),d.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(d){d.xIncrement=null;if(!d.points||d.isDirtyData)b.max=Math.max(b.max,d.xData.length-1),d.processData(),d.generatePoints();
-d.data.forEach(function(a,h){if(a&&a.options&&"undefined"!==typeof a.name){var c=b.nameToX(a);"undefined"!==typeof c&&c!==a.x&&(a.x=c,d.xData[h]=c)}})}))};a.prototype.setAxisTranslation=function(){var b=this,a=b.max-b.min,h=b.linkedParent,c=!!b.categories,e=b.isXAxis,f=b.axisPointRange||0,p=0,l=0,g=b.transA;if(e||c||f){var q=b.getClosest();h?(p=h.minPointOffset,l=h.pointRangePadding):b.series.forEach(function(d){var a=c?1:e?w(d.options.pointRange,q,0):b.axisPointRange||0,h=d.options.pointPlacement;
-f=Math.max(f,a);if(!b.single||c)d=d.is("xrange")?!e:e,p=Math.max(p,d&&k(h)?0:a/2),l=Math.max(l,d&&"on"===h?0:a)});h=b.ordinal&&b.ordinal.slope&&q?b.ordinal.slope/q:1;b.minPointOffset=p*=h;b.pointRangePadding=l*=h;b.pointRange=Math.min(f,b.single&&c?1:a);e&&(b.closestPointRange=q)}b.translationSlope=b.transA=g=b.staticScale||b.len/(a+l||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=g*p;d(this,"afterSetAxisTranslation")};a.prototype.minFromRange=function(){return this.max-this.range};a.prototype.setTickInterval=
-function(b){var a=this.chart,c=this.logarithmic,e=this.options,k=this.isXAxis,f=this.isLinked,p=e.tickPixelInterval,y=this.categories,l=this.softThreshold,g=e.maxPadding,q=e.minPadding,z=h(e.tickInterval)&&0<=e.tickInterval?e.tickInterval:void 0,m=h(this.threshold)?this.threshold:null;this.dateTime||y||f||this.getTickAmount();var n=w(this.userMin,e.min);var A=w(this.userMax,e.max);if(f){this.linkedParent=a[this.coll][e.linkedTo];var H=this.linkedParent.getExtremes();this.min=w(H.min,H.dataMin);this.max=
-w(H.max,H.dataMax);e.type!==this.linkedParent.options.type&&v(11,1,a)}else{if(l&&C(m))if(this.dataMin>=m)H=m,q=0;else if(this.dataMax<=m){var N=m;g=0}this.min=w(n,H,this.dataMin);this.max=w(A,N,this.dataMax)}c&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,w(this.dataMin,this.min))&&v(10,1,a),this.min=u(c.log2lin(this.min),16),this.max=u(c.log2lin(this.max),16));this.range&&C(this.max)&&(this.userMin=this.min=n=Math.max(this.dataMin,this.minFromRange()),this.userMax=A=this.max,this.range=null);
-d(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();!(y||this.axisPointRange||this.stacking&&this.stacking.usePercentage||f)&&C(this.min)&&C(this.max)&&(a=this.max-this.min)&&(!C(n)&&q&&(this.min-=a*q),!C(A)&&g&&(this.max+=a*g));h(this.userMin)||(h(e.softMin)&&e.softMin<this.min&&(this.min=n=e.softMin),h(e.floor)&&(this.min=Math.max(this.min,e.floor)));h(this.userMax)||(h(e.softMax)&&e.softMax>this.max&&(this.max=A=e.softMax),h(e.ceiling)&&(this.max=Math.min(this.max,
-e.ceiling)));l&&C(this.dataMin)&&(m=m||0,!C(n)&&this.min<m&&this.dataMin>=m?this.min=this.options.minRange?Math.min(m,this.max-this.minRange):m:!C(A)&&this.max>m&&this.dataMax<=m&&(this.max=this.options.minRange?Math.max(m,this.min+this.minRange):m));h(this.min)&&h(this.max)&&!this.chart.polar&&this.min>this.max&&(C(this.options.min)?this.max=this.min:C(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:f&&
-this.linkedParent&&!z&&p===this.linkedParent.options.tickPixelInterval?z=this.linkedParent.tickInterval:w(z,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,y?1:(this.max-this.min)*p/Math.max(this.len,p));if(k&&!b){var O=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(b){b.forceCrop=b.forceCropping&&b.forceCropping();b.processData(O)});d(this,"postProcessData",{hasExtremesChanged:O})}this.setAxisTranslation();d(this,"initialAxisTranslation");
-this.pointRange&&!z&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));b=w(e.minTickInterval,this.dateTime&&!this.series.some(function(b){return b.noSharedTooltip})?this.closestPointRange:0);!z&&this.tickInterval<b&&(this.tickInterval=b);this.dateTime||this.logarithmic||z||(this.tickInterval=S(this,this.tickInterval));this.tickAmount||(this.tickInterval=this.unsquish());this.setTickPositions()};a.prototype.setTickPositions=function(){var b=this.options,a=b.tickPositions,c=b.tickPositioner,
-e=this.getMinorTickInterval(),k=this.hasVerticalPanning(),f="colorAxis"===this.coll,p=(f||!k)&&b.startOnTick;k=(f||!k)&&b.endOnTick;f=[];var l;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===e&&this.tickInterval?this.tickInterval/5:e;this.single=this.min===this.max&&C(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);if(a)f=a.slice();else if(h(this.min)&&h(this.max)){if(this.ordinal&&
-this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)f=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)f=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(e=b=this.tickInterval;e<=2*b;)if(f=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&
-f.length>this.tickAmount)this.tickInterval=S(this,e*=1.1);else break;else f=[this.min,this.max],v(19,!1,this.chart);f.length>this.len&&(f=[f[0],f[f.length-1]],f[0]===f[1]&&(f.length=1));c&&(this.tickPositions=f,(l=c.apply(this,[this.min,this.max]))&&(f=l))}this.tickPositions=f;this.paddedTicks=f.slice(0);this.trimTicks(f,p,k);!this.isLinked&&h(this.min)&&h(this.max)&&(this.single&&2>f.length&&!this.categories&&!this.series.some(function(b){return b.is("heatmap")&&"between"===b.options.pointPlacement})&&
-(this.min-=.5,this.max+=.5),a||l||this.adjustTickAmount());d(this,"afterSetTickPositions")};a.prototype.trimTicks=function(b,a,h){var c=b[0],e=b[b.length-1],f=!this.isOrdinal&&this.minPointOffset||0;d(this,"trimTicks");if(!this.isLinked){if(a&&-Infinity!==c)this.min=c;else for(;this.min-f>b[0];)b.shift();if(h)this.max=e;else for(;this.max+f<b[b.length-1];)b.pop();0===b.length&&C(c)&&!this.options.tickPositions&&b.push((e+c)/2)}};a.prototype.alignToOthers=function(){var b=this,d=[this],a=b.options,
-c="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,e=[],f;b.thresholdAlignment=void 0;if((!1!==this.chart.options.chart.alignTicks&&a.alignTicks||c)&&!1!==a.startOnTick&&!1!==a.endOnTick&&!b.logarithmic){var k=function(b){var d=b.options;return[b.horiz?d.left:d.top,d.width,d.height,d.pane].join()},p=k(this);this.chart[this.coll].forEach(function(a){var h=a.series;h.length&&h.some(function(b){return b.visible})&&a!==b&&k(a)===p&&(f=!0,d.push(a))})}if(f&&c){d.forEach(function(d){d=d.getThresholdAlignment(b);
-h(d)&&e.push(d)});var l=1<e.length?e.reduce(function(b,d){return b+d},0)/e.length:void 0;d.forEach(function(b){b.thresholdAlignment=l})}return f};a.prototype.getThresholdAlignment=function(b){(!h(this.dataMin)||this!==b&&this.series.some(function(b){return b.isDirty||b.isDirtyData}))&&this.getSeriesExtremes();if(h(this.threshold))return b=e((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(b=1-b),b};a.prototype.getTickAmount=function(){var b=this.options,
-d=b.tickPixelInterval,a=b.tickAmount;!C(b.tickInterval)&&!a&&this.len<d&&!this.isRadial&&!this.logarithmic&&b.startOnTick&&b.endOnTick&&(a=2);!a&&this.alignToOthers()&&(a=Math.ceil(this.len/d)+1);4>a&&(this.finalTickAmt=a,a=5);this.tickAmount=a};a.prototype.adjustTickAmount=function(){var b=this,d=b.finalTickAmt,a=b.max,c=b.min,e=b.options,f=b.tickPositions,k=b.tickAmount,p=b.thresholdAlignment,l=f&&f.length,g=w(b.threshold,b.softThreshold?0:null);var q=b.tickInterval;if(h(p)){var z=.5>p?Math.ceil(p*
-(k-1)):Math.floor(p*(k-1));e.reversed&&(z=k-1-z)}if(b.hasData()&&h(c)&&h(a)){p=function(){b.transA*=(l-1)/(k-1);b.min=e.startOnTick?f[0]:Math.min(c,f[0]);b.max=e.endOnTick?f[f.length-1]:Math.max(a,f[f.length-1])};if(h(z)&&h(b.threshold)){for(;f[z]!==g||f.length!==k||f[0]>c||f[f.length-1]<a;){f.length=0;for(f.push(b.threshold);f.length<k;)void 0===f[z]||f[z]>b.threshold?f.unshift(u(f[0]-q)):f.push(u(f[f.length-1]+q));if(q>8*b.tickInterval)break;q*=2}p()}else if(l<k){for(;f.length<k;)f.length%2||c===
-g?f.push(u(f[f.length-1]+q)):f.unshift(u(f[0]-q));p()}if(C(d)){for(q=g=f.length;q--;)(3===d&&1===q%2||2>=d&&0<q&&q<g-1)&&f.splice(q,1);b.finalTickAmt=void 0}}};a.prototype.setScale=function(){var b=!1,a=!1;this.series.forEach(function(d){b=b||d.isDirtyData||d.isDirty;a=a||d.xAxis&&d.xAxis.isDirty||!1});this.setAxisSize();var h=this.len!==(this.old&&this.old.len);h||b||a||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=h||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks();b&&this.panningState&&(this.panningState.isDirty=!0);d(this,"afterSetScale")};a.prototype.setExtremes=function(b,a,h,c,e){var f=this,k=f.chart;h=w(h,!0);f.series.forEach(function(b){delete b.kdTree});e=A(e,{min:b,max:a});d(f,"setExtremes",e,
-function(){f.userMin=b;f.userMax=a;f.eventArgs=e;h&&k.redraw(c)})};a.prototype.zoom=function(b,a){var h=this,c=this.dataMin,e=this.dataMax,f=this.options,k=Math.min(c,w(f.min,c)),p=Math.max(e,w(f.max,e));b={newMin:b,newMax:a};d(this,"zoom",b,function(b){var d=b.newMin,a=b.newMax;if(d!==h.min||a!==h.max)h.allowZoomOutside||(C(c)&&(d<k&&(d=k),d>p&&(d=p)),C(e)&&(a<k&&(a=k),a>p&&(a=p))),h.displayBtn="undefined"!==typeof d||"undefined"!==typeof a,h.setExtremes(d,a,!1,void 0,{trigger:"zoom"});b.zoomed=
-!0});return b.zoomed};a.prototype.setAxisSize=function(){var b=this.chart,d=this.options,a=d.offsets||[0,0,0,0],h=this.horiz,c=this.width=Math.round(N(w(d.width,b.plotWidth-a[3]+a[1]),b.plotWidth)),e=this.height=Math.round(N(w(d.height,b.plotHeight-a[0]+a[2]),b.plotHeight)),f=this.top=Math.round(N(w(d.top,b.plotTop+a[0]),b.plotHeight,b.plotTop));d=this.left=Math.round(N(w(d.left,b.plotLeft+a[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-f;this.right=b.chartWidth-c-d;this.len=Math.max(h?
-c:e,0);this.pos=h?d:f};a.prototype.getExtremes=function(){var b=this.logarithmic;return{min:b?u(b.lin2log(this.min)):this.min,max:b?u(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};a.prototype.getThreshold=function(b){var d=this.logarithmic,a=d?d.lin2log(this.min):this.min;d=d?d.lin2log(this.max):this.max;null===b||-Infinity===b?b=a:Infinity===b?b=d:a>b?b=a:d<b&&(b=d);return this.translate(b,0,1,0,1)};a.prototype.autoLabelAlign=
-function(b){var a=(w(b,0)-90*this.side+720)%360;b={align:"center"};d(this,"autoLabelAlign",b,function(b){15<a&&165>a?b.align="right":195<a&&345>a&&(b.align="left")});return b.align};a.prototype.tickSize=function(b){var a=this.options,h=w(a["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0),c=a["tick"===b?"tickLength":"minorTickLength"];if(h&&c){"inside"===a[b+"Position"]&&(c=-c);var e=[c,h]}b={tickSize:e};d(this,"afterTickSize",b);return b.tickSize};a.prototype.labelMetrics=
-function(){var b=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[b]&&this.ticks[b].label)};a.prototype.unsquish=function(){var b=this.options.labels,d=this.horiz,a=this.tickInterval,e=this.len/(((this.categories?1:0)+this.max-this.min)/a),f=b.rotation,k=this.labelMetrics(),p=Math.max(this.max-this.min,0),l=function(b){var d=b/(e||1);d=1<d?Math.ceil(d):1;d*a>p&&Infinity!==b&&Infinity!==e&&p&&(d=Math.ceil(p/a));return u(d*
-a)},g=a,q=Number.MAX_VALUE;if(d){if(!b.staggerLines)if(h(f))var z=[f];else e<b.autoRotationLimit&&(z=b.autoRotation);if(z)for(var m=d=void 0,n=0,A=z;n<A.length;n++){var H=A[n];if(H===f||H&&-90<=H&&90>=H)if(d=l(Math.abs(k.h/Math.sin(c*H))),m=d+Math.abs(H/360),m<q){q=m;var N=H;g=d}}}else g=l(k.h);this.autoRotation=z;this.labelRotation=w(N,h(f)?f:0);return b.step?a:g};a.prototype.getSlotWidth=function(b){var d=this.chart,a=this.horiz,c=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?
-0:1),1),f=d.margin[3];if(b&&h(b.slotWidth))return b.slotWidth;if(a&&2>c.step)return c.rotation?0:(this.staggerLines||1)*this.len/e;if(!a){b=c.style.width;if(void 0!==b)return parseInt(String(b),10);if(f)return f-d.spacing[3]}return.33*d.chartWidth};a.prototype.renderUnsquish=function(){var b=this.chart,d=b.renderer,a=this.tickPositions,h=this.ticks,c=this.options.labels,e=c.style,f=this.horiz,p=this.getSlotWidth(),l=Math.max(1,Math.round(p-2*c.padding)),g={},q=this.labelMetrics(),z=e.textOverflow,
-w=0;k(c.rotation)||(g.rotation=c.rotation||0);a.forEach(function(b){b=h[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>w&&(w=b.label.textPxLength)});this.maxLabelLength=w;if(this.autoRotation)w>l&&w>q.h?g.rotation=this.labelRotation:this.labelRotation=0;else if(p){var m=l;if(!z){var u="clip";for(l=a.length;!f&&l--;){var n=a[l];if(n=h[n].label)n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>p&&n.css({width:p+"px"}),n.getBBox().height>
-this.len/a.length-(q.h-q.f)&&(n.specificTextOverflow="ellipsis")}}}g.rotation&&(m=w>.5*b.chartHeight?.33*b.chartHeight:w,z||(u="ellipsis"));if(this.labelAlign=c.align||this.autoLabelAlign(this.labelRotation))g.align=this.labelAlign;a.forEach(function(b){var d=(b=h[b])&&b.label,a=e.width,c={};d&&(d.attr(g),b.shortenLabel?b.shortenLabel():m&&!a&&"nowrap"!==e.whiteSpace&&(m<d.textPxLength||"SPAN"===d.element.tagName)?(c.width=m+"px",z||(c.textOverflow=d.specificTextOverflow||u),d.css(c)):d.styles&&d.styles.width&&
-!c.width&&!a&&d.css({width:null}),delete d.specificTextOverflow,b.rotation=g.rotation)},this);this.tickRotCorr=d.rotCorr(q.b,this.labelRotation||0,0!==this.side)};a.prototype.hasData=function(){return this.series.some(function(b){return b.hasData()})||this.options.showEmpty&&C(this.min)&&C(this.max)};a.prototype.addTitle=function(d){var a=this.chart.renderer,c=this.horiz,h=this.opposite,e=this.options.title,f=this.chart.styledMode,k;this.axisTitle||((k=e.textAlign)||(k=(c?{low:"left",middle:"center",
-high:"right"}:{low:h?"right":"left",middle:"center",high:h?"left":"right"})[e.align]),this.axisTitle=a.text(e.text||"",0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation,align:k}).addClass("highcharts-axis-title"),f||this.axisTitle.css(b(e.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);f||e.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"});this.axisTitle[d?"show":"hide"](d)};a.prototype.generateTick=function(b){var d=this.ticks;d[b]?d[b].addLabel():d[b]=new G(this,
-b)};a.prototype.getOffset=function(){var b=this,a=this,c=a.chart,h=a.horiz,e=a.options,f=a.side,k=a.ticks,p=a.tickPositions,l=a.coll,g=a.axisParent,q=c.renderer,m=c.inverted&&!a.isZAxis?[1,0,3,2][f]:f,u=a.hasData(),n=e.title,A=e.labels,H=c.axisOffset;c=c.clipOffset;var N=[-1,1,1,-1][f],O=e.className,t,r=0,ja=0,ea=0;a.showAxis=t=u||e.showEmpty;a.staggerLines=a.horiz&&A.staggerLines||void 0;if(!a.axisGroup){var Q=function(d,a,c){return q.g(d).attr({zIndex:c}).addClass("highcharts-".concat(l.toLowerCase()).concat(a,
-" ")+(b.isRadial?"highcharts-radial-axis".concat(a," "):"")+(O||"")).add(g)};a.gridGroup=Q("grid","-grid",e.gridZIndex);a.axisGroup=Q("axis","",e.zIndex);a.labelGroup=Q("axis-labels","-labels",A.zIndex)}u||a.isLinked?(p.forEach(function(b){a.generateTick(b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===f||2===f||{1:"left",3:"right"}[f]===a.labelAlign,w(A.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&p.forEach(function(b){ea=Math.max(k[b].getLabelSize(),ea)}),a.staggerLines&&
-(ea*=a.staggerLines),a.labelOffset=ea*(a.opposite?-1:1)):z(k,function(b,d){b.destroy();delete k[d]});if(n&&n.text&&!1!==n.enabled&&(a.addTitle(t),t&&!1!==n.reserveSpace)){a.titleOffset=r=a.axisTitle.getBBox()[h?"height":"width"];var J=n.offset;ja=C(J)?0:w(n.margin,h?5:10)}a.renderLine();a.offset=N*w(e.offset,H[f]?H[f]+(e.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};n=0===f?-a.labelMetrics().h:2===f?a.tickRotCorr.y:0;u=Math.abs(ea)+ja;ea&&(u=u-n+N*(h?w(A.y,a.tickRotCorr.y+8*N):A.x));a.axisTitleMargin=
-w(J,u);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(k,p));"colorAxis"!==l&&(h=this.tickSize("tick"),H[f]=Math.max(H[f],(a.axisTitleMargin||0)+r+N*a.offset,u,p&&p.length&&h?h[0]+N*a.offset:0),e=!a.axisLine||e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2),c[m]=Math.max(c[m],e));d(this,"afterGetOffset")};a.prototype.getLinePath=function(b){var d=this.chart,a=this.opposite,c=this.offset,h=this.horiz,e=this.left+(a?this.width:0)+c;c=d.chartHeight-this.bottom-(a?this.height:
-0)+c;a&&(b*=-1);return d.renderer.crispLine([["M",h?this.left:e,h?c:this.top],["L",h?d.chartWidth-this.right:e,h?c:d.chartHeight-this.bottom]],b)};a.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}))};a.prototype.getTitlePosition=function(){var b=this.horiz,a=this.left,c=this.top,h=this.len,
-e=this.options.title,f=b?a:c,k=this.opposite,p=this.offset,l=e.x,g=e.y,q=this.axisTitle,z=this.chart.renderer.fontMetrics(e.style.fontSize,q);q=q?Math.max(q.getBBox(!1,0).height-z.h-1,0):0;h={low:f+(b?0:h),middle:f+h/2,high:f+(b?h:0)}[e.align];a=(b?c+this.height:a)+(b?1:-1)*(k?-1:1)*(this.axisTitleMargin||0)+[-q,q,z.f,-q][this.side];b={x:b?h+l:a+(k?this.width:0)+p+l,y:b?a+g-(k?this.height:0)+p:h+g};d(this,"afterGetTitlePosition",{titlePosition:b});return b};a.prototype.renderMinorTick=function(b,
-d){var a=this.minorTicks;a[b]||(a[b]=new G(this,b,"minor"));d&&a[b].isNew&&a[b].render(null,!0);a[b].render(null,!1,1)};a.prototype.renderTick=function(b,d,a){var c=this.ticks;if(!this.isLinked||b>=this.min&&b<=this.max||this.grid&&this.grid.isColumn)c[b]||(c[b]=new G(this,b)),a&&c[b].isNew&&c[b].render(d,!0,-1),c[b].render(d)};a.prototype.render=function(){var b=this,a=b.chart,c=b.logarithmic,e=b.options,f=b.isLinked,k=b.tickPositions,p=b.axisTitle,l=b.ticks,g=b.minorTicks,q=b.alternateBands,w=e.stackLabels,
-m=e.alternateGridColor,u=b.tickmarkOffset,n=b.axisLine,A=b.showAxis,H=t(a.renderer.globalAnimation),N,O;b.labelEdge.length=0;b.overlap=!1;[l,g,q].forEach(function(b){z(b,function(b){b.isActive=!1})});if(b.hasData()||f){var C=b.chart.hasRendered&&b.old&&h(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(d){b.renderMinorTick(d,C)});k.length&&(k.forEach(function(d,a){b.renderTick(d,a,C)}),u&&(0===b.min||b.single)&&(l[-1]||(l[-1]=new G(b,-1,null,!0)),l[-1].render(-1)));
-m&&k.forEach(function(d,h){O="undefined"!==typeof k[h+1]?k[h+1]+u:b.max-u;0===h%2&&d<b.max&&O<=b.max+(a.polar?-u:u)&&(q[d]||(q[d]=new B.PlotLineOrBand(b)),N=d+u,q[d].options={from:c?c.lin2log(N):N,to:c?c.lin2log(O):O,color:m,className:"highcharts-alternate-grid"},q[d].render(),q[d].isActive=!0)});b._addedPlotLB||(b._addedPlotLB=!0,(e.plotLines||[]).concat(e.plotBands||[]).forEach(function(d){b.addPlotBandOrLine(d)}))}[l,g,q].forEach(function(b){var d=[],c=H.duration;z(b,function(b,a){b.isActive||
-(b.render(a,!1,0),b.isActive=!1,d.push(a))});Q(function(){for(var a=d.length;a--;)b[d[a]]&&!b[d[a]].isActive&&(b[d[a]].destroy(),delete b[d[a]])},b!==q&&a.hasRendered&&c?c:0)});n&&(n[n.isPlaced?"animate":"attr"]({d:this.getLinePath(n.strokeWidth())}),n.isPlaced=!0,n[A?"show":"hide"](A));p&&A&&(e=b.getTitlePosition(),p[p.isNew?"attr":"animate"](e),p.isNew=!1);w&&w.enabled&&b.stacking&&b.stacking.renderStackTotals();b.old={len:b.len,max:b.max,min:b.min,transA:b.transA,userMax:b.userMax,userMin:b.userMin};
-b.isDirty=!1;d(this,"afterRender")};a.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(b){b.render()}));this.series.forEach(function(b){b.isDirty=!0})};a.prototype.getKeepProps=function(){return this.keepProps||a.keepProps};a.prototype.destroy=function(b){var a=this,c=a.plotLinesAndBands,h=this.eventOptions;d(this,"destroy",{keepEvents:b});b||H(a);[a.ticks,a.minorTicks,a.alternateBands].forEach(function(b){J(b)});if(c)for(b=c.length;b--;)c[b].destroy();
-"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(b){a[b]&&(a[b]=a[b].destroy())});for(var e in a.plotLinesAndBandsGroups)a.plotLinesAndBandsGroups[e]=a.plotLinesAndBandsGroups[e].destroy();z(a,function(b,d){-1===a.getKeepProps().indexOf(d)&&delete a[d]});this.eventOptions=h};a.prototype.drawCrosshair=function(b,a){var c=this.crosshair,h=w(c&&c.snap,!0),e=this.chart,f,k=this.cross;d(this,"drawCrosshair",{e:b,point:a});b||(b=this.cross&&this.cross.e);if(c&&
-!1!==(C(a)||!h)){h?C(a)&&(f=w("colorAxis"!==this.coll?a.crosshairPos:null,this.isXAxis?a.plotX:this.len-a.plotY)):f=b&&(this.horiz?b.chartX-this.pos:this.len-b.chartY+this.pos);if(C(f)){var p={value:a&&(this.isXAxis?a.x:w(a.stackY,a.y)),translatedValue:f};e.polar&&A(p,{isCrosshair:!0,chartX:b&&b.chartX,chartY:b&&b.chartY,point:a});p=this.getPlotLinePath(p)||null}if(!C(p)){this.hideCrosshair();return}h=this.categories&&!this.isRadial;k||(this.cross=k=e.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
-(h?"category ":"thin ")+(c.className||"")).attr({zIndex:w(c.zIndex,2)}).add(),e.styledMode||(k.attr({stroke:c.color||(h?x.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":w(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&k.attr({dashstyle:c.dashStyle})));k.show().attr({d:p});h&&!c.width&&k.attr({"stroke-width":this.transA});this.cross.e=b}else this.hideCrosshair();d(this,"afterDrawCrosshair",{e:b,point:a})};a.prototype.hideCrosshair=function(){this.cross&&this.cross.hide();
-d(this,"afterHideCrosshair")};a.prototype.hasVerticalPanning=function(){var b=this.chart.options.chart.panning;return!!(b&&b.enabled&&/y/.test(b.type))};a.prototype.validatePositiveValue=function(b){return h(b)&&0<b};a.prototype.update=function(d,a){var c=this.chart;d=b(this.userOptions,d);this.destroy(!0);this.init(c,d);c.isDirtyBox=!0;w(a,!0)&&c.redraw()};a.prototype.remove=function(b){for(var d=this.chart,a=this.coll,c=this.series,h=c.length;h--;)c[h]&&c[h].remove(!1);I(d.axes,this);I(d[a],this);
-d[a].forEach(function(b,d){b.options.index=b.userOptions.index=d});this.destroy();d.isDirtyBox=!0;w(b,!0)&&d.redraw()};a.prototype.setTitle=function(b,d){this.update({title:b},d)};a.prototype.setCategories=function(b,d){this.update({categories:b},d)};a.defaultOptions=g.defaultXAxisOptions;a.keepProps="extKey hcEvents names series userMax userMin".split(" ");return a}();"";return a});K(g,"Core/Axis/DateTimeAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.getMagnitude,E=a.normalizeTickInterval,
-D=a.timeUnits,B;(function(a){function r(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function t(a){"datetime"!==a.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new f(this))}var n=[];a.compose=function(a){-1===n.indexOf(a)&&(n.push(a),a.keepProps.push("dateTime"),a.prototype.getTimeTicks=r,g(a,"init",t));return a};var f=function(){function a(a){this.axis=a}a.prototype.normalizeTimeTickInterval=function(a,c){var e=c||[["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]];c=e[e.length-1];var f=D[c[0]],l=c[1],g;for(g=0;g<e.length&&!(c=e[g],f=D[c[0]],l=c[1],e[g+1]&&a<=(f*l[l.length-1]+D[e[g+1][0]])/2);g++);f===D.year&&a<5*f&&(l=[1,2,5]);a=E(a/f,l,"year"===c[0]?Math.max(x(a/f),1):1);return{unitRange:f,count:a,unitName:c[0]}};a.prototype.getXDateFormat=function(a,c){var e=this.axis,f=e.chart.time;return e.closestPointRange?
-f.getDateFormat(e.closestPointRange,a,e.options.startOfWeek,c)||f.resolveDTLFormat(c.year).main:f.resolveDTLFormat(c.day).main};return a}();a.Additions=f})(B||(B={}));return B});K(g,"Core/Axis/LogarithmicAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.normalizeTickInterval,E=a.pick,D;(function(a){function v(a){var c=this.logarithmic;"logarithmic"!==a.userOptions.type?this.logarithmic=void 0:c||(this.logarithmic=new n(this))}function r(){var a=this.logarithmic;a&&(this.lin2val=function(c){return a.lin2log(c)},
-this.val2lin=function(c){return a.log2lin(c)})}var t=[];a.compose=function(a){-1===t.indexOf(a)&&(t.push(a),a.keepProps.push("logarithmic"),g(a,"init",v),g(a,"afterInit",r));return a};var n=function(){function a(a){this.axis=a}a.prototype.getLogTickPositions=function(a,f,g,e){var c=this.axis,l=c.len,m=c.options,n=[];e||(this.minorAutoInterval=void 0);if(.5<=a)a=Math.round(a),n=c.getLinearTickPositions(a,f,g);else if(.08<=a){var t=Math.floor(f),A,d=m=void 0;for(l=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,
-2,3,4,5,6,7,8,9];t<g+1&&!d;t++){var q=l.length;for(A=0;A<q&&!d;A++){var h=this.log2lin(this.lin2log(t)*l[A]);h>f&&(!e||m<=g)&&"undefined"!==typeof m&&n.push(m);m>g&&(d=!0);m=h}}}else f=this.lin2log(f),g=this.lin2log(g),a=e?c.getMinorTickInterval():m.tickInterval,a=E("auto"===a?null:a,this.minorAutoInterval,m.tickPixelInterval/(e?5:1)*(g-f)/((e?l/c.tickPositions.length:l)||1)),a=x(a),n=c.getLinearTickPositions(a,f,g).map(this.log2lin),e||(this.minorAutoInterval=a/5);e||(c.tickInterval=a);return n};
-a.prototype.lin2log=function(a){return Math.pow(10,a)};a.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};return a}();a.Additions=n})(D||(D={}));return D});K(g,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.erase,x=a.extend,E=a.isNumber,D;(function(a){var v=[],r;a.compose=function(a,f){r||(r=a);-1===v.indexOf(f)&&(v.push(f),x(f.prototype,t.prototype));return f};var t=function(){function a(){}a.prototype.getPlotBandPath=function(a,c,g){void 0===
-g&&(g=this.options);var f=this.getPlotLinePath({value:c,force:!0,acrossPanes:g.acrossPanes}),e=[],l=this.horiz;c=!E(this.min)||!E(this.max)||a<this.min&&c<this.min||a>this.max&&c>this.max;a=this.getPlotLinePath({value:a,force:!0,acrossPanes:g.acrossPanes});g=1;if(a&&f){if(c){var n=a.toString()===f.toString();g=0}for(c=0;c<a.length;c+=2){var t=a[c],r=a[c+1],v=f[c],A=f[c+1];"M"!==t[0]&&"L"!==t[0]||"M"!==r[0]&&"L"!==r[0]||"M"!==v[0]&&"L"!==v[0]||"M"!==A[0]&&"L"!==A[0]||(l&&v[1]===t[1]?(v[1]+=g,A[1]+=
-g):l||v[2]!==t[2]||(v[2]+=g,A[2]+=g),e.push(["M",t[1],t[2]],["L",r[1],r[2]],["L",A[1],A[2]],["L",v[1],v[2]],["Z"]));e.isFlat=n}}return e};a.prototype.addPlotBand=function(a){return this.addPlotBandOrLine(a,"plotBands")};a.prototype.addPlotLine=function(a){return this.addPlotBandOrLine(a,"plotLines")};a.prototype.addPlotBandOrLine=function(a,c){var f=this,g=this.userOptions,e=new r(this,a);this.visible&&(e=e.render());if(e){this._addedPlotLB||(this._addedPlotLB=!0,(g.plotLines||[]).concat(g.plotBands||
-[]).forEach(function(a){f.addPlotBandOrLine(a)}));if(c){var n=g[c]||[];n.push(a);g[c]=n}this.plotLinesAndBands.push(e)}return e};a.prototype.removePlotBandOrLine=function(a){var c=this.plotLinesAndBands,f=this.options,m=this.userOptions;if(c){for(var e=c.length;e--;)c[e].id===a&&c[e].destroy();[f.plotLines||[],m.plotLines||[],f.plotBands||[],m.plotBands||[]].forEach(function(c){for(e=c.length;e--;)(c[e]||{}).id===a&&g(c,c[e])})}};a.prototype.removePlotBand=function(a){this.removePlotBandOrLine(a)};
-a.prototype.removePlotLine=function(a){this.removePlotBandOrLine(a)};return a}()})(D||(D={}));return D});K(g,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[g["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],g["Core/Utilities.js"]],function(a,g){var v=g.arrayMax,E=g.arrayMin,D=g.defined,B=g.destroyObjectProperties,G=g.erase,r=g.fireEvent,t=g.merge,n=g.objectEach,f=g.pick;g=function(){function c(a,c){this.axis=a;c&&(this.options=c,this.id=c.id)}c.compose=function(f){return a.compose(c,f)};c.prototype.render=
-function(){r(this,"render");var a=this,c=a.axis,e=c.horiz,g=c.logarithmic,C=a.options,J=C.color,I=f(C.zIndex,0),v=C.events,A={},d=c.chart.renderer,q=C.label,h=a.label,k=C.to,b=C.from,p=C.value,z=a.svgElem,w=[],N=D(b)&&D(k);w=D(p);var H=!z,O={"class":"highcharts-plot-"+(N?"band ":"line ")+(C.className||"")},Q=N?"bands":"lines";g&&(b=g.log2lin(b),k=g.log2lin(k),p=g.log2lin(p));c.chart.styledMode||(w?(O.stroke=J||"#999999",O["stroke-width"]=f(C.width,1),C.dashStyle&&(O.dashstyle=C.dashStyle)):N&&(O.fill=
-J||"#e6ebf5",C.borderWidth&&(O.stroke=C.borderColor,O["stroke-width"]=C.borderWidth)));A.zIndex=I;Q+="-"+I;(g=c.plotLinesAndBandsGroups[Q])||(c.plotLinesAndBandsGroups[Q]=g=d.g("plot-"+Q).attr(A).add());H&&(a.svgElem=z=d.path().attr(O).add(g));if(w)w=c.getPlotLinePath({value:p,lineWidth:z.strokeWidth(),acrossPanes:C.acrossPanes});else if(N)w=c.getPlotBandPath(b,k,C);else return;!a.eventsAdded&&v&&(n(v,function(b,d){z.on(d,function(b){v[d].apply(a,[b])})}),a.eventsAdded=!0);(H||!z.d)&&w&&w.length?
-z.attr({d:w}):z&&(w?(z.show(),z.animate({d:w})):z.d&&(z.hide(),h&&(a.label=h=h.destroy())));q&&(D(q.text)||D(q.formatter))&&w&&w.length&&0<c.width&&0<c.height&&!w.isFlat?(q=t({align:e&&N&&"center",x:e?!N&&4:10,verticalAlign:!e&&N&&"middle",y:e?N?16:10:N?6:-4,rotation:e&&!N&&90},q),this.renderLabel(q,w,N,I)):h&&h.hide();return a};c.prototype.renderLabel=function(a,c,e,f){var g=this.axis,l=g.chart.renderer,m=this.label;m||(this.label=m=l.text(this.getLabelText(a),0,0,a.useHTML).attr({align:a.textAlign||
-a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||""),zIndex:f}).add(),g.chart.styledMode||m.css(t({textOverflow:"ellipsis"},a.style)));f=c.xBounds||[c[0][1],c[1][1],e?c[2][1]:c[0][1]];c=c.yBounds||[c[0][2],c[1][2],e?c[2][2]:c[0][2]];e=E(f);l=E(c);m.align(a,!1,{x:e,y:l,width:v(f)-e,height:v(c)-l});m.alignValue&&"left"!==m.alignValue||m.css({width:(90===m.rotation?g.height-(m.alignAttr.y-g.top):g.width-(m.alignAttr.x-g.left))+"px"});m.show(!0)};c.prototype.getLabelText=
-function(a){return D(a.formatter)?a.formatter.call(this):a.text};c.prototype.destroy=function(){G(this.axis.plotLinesAndBands,this);delete this.axis;B(this)};return c}();"";"";return g});K(g,"Core/Tooltip.js",[g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,E,D){var v=a.format,G=g.doc,r=x.distribute,t=D.clamp,n=D.css,f=D.discardElement,c=D.extend,l=D.fireEvent,m=D.isArray,e=D.isNumber,
-u=D.isString,C=D.merge,J=D.pick,I=D.splat,L=D.syncTimeout;a=function(){function a(a,c){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=a;this.init(a,c)}a.prototype.applyFilter=function(){var a=this.chart;a.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+a.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"}}]}]})};a.prototype.bodyFormatter=function(a){return a.map(function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"]||"")})};a.prototype.cleanSplit=
-function(a){this.chart.series.forEach(function(d){var c=d&&d.tt;c&&(!c.isActive||a?d.tt=c.destroy():c.isActive=!1)})};a.prototype.defaultFormatter=function(a){var d=this.points||I(this);var c=[a.tooltipFooterHeaderFormatter(d[0])];c=c.concat(a.bodyFormatter(d));c.push(a.tooltipFooterHeaderFormatter(d[0],!0));return c};a.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(),
-f(this.container));D.clearTimeout(this.hideTimer);D.clearTimeout(this.tooltipTimeout)};a.prototype.getAnchor=function(a,c){var d=this.chart,e=d.pointer,b=d.inverted,f=d.plotTop,g=d.plotLeft,l,q,m=0,n=0;a=I(a);this.followPointer&&c?("undefined"===typeof c.chartX&&(c=e.normalize(c)),e=[c.chartX-g,c.chartY-f]):a[0].tooltipPos?e=a[0].tooltipPos:(a.forEach(function(a){l=a.series.yAxis;q=a.series.xAxis;m+=a.plotX||0;n+=a.plotLow?(a.plotLow+(a.plotHigh||0))/2:a.plotY||0;q&&l&&(b?(m+=f+d.plotHeight-q.len-
-q.pos,n+=g+d.plotWidth-l.len-l.pos):(m+=q.pos-g,n+=l.pos-f))}),m/=a.length,n/=a.length,e=[b?d.plotWidth-n:m,b?d.plotHeight-m:n],this.shared&&1<a.length&&c&&(b?e[0]=c.chartX-g:e[1]=c.chartY-f));return e.map(Math.round)};a.prototype.getClassName=function(a,c,h){var d=a.series,b=d.options;return[this.options.className,"highcharts-label",h&&"highcharts-tooltip-header",c?"highcharts-tooltip-box":"highcharts-tooltip",!h&&"highcharts-color-"+J(a.colorIndex,d.colorIndex),b&&b.className].filter(u).join(" ")};
-a.prototype.getLabel=function(){var a=this,c=this.chart.styledMode,h=this.options,e=this.split&&this.allowShared,b=h.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none"),f,l=this.chart.renderer;if(a.label){var w=!a.label.hasClass("highcharts-label");(e&&!w||!e&&w)&&a.destroy()}if(!this.label){if(this.outside){w=this.chart.options.chart.style;var m=E.getRendererType();this.container=f=g.doc.createElement("div");f.className="highcharts-tooltip-container";n(f,{position:"absolute",top:"1px",
-pointerEvents:b,zIndex:Math.max(this.options.style.zIndex||0,(w&&w.zIndex||0)+3)});g.doc.body.appendChild(f);this.renderer=l=new m(f,0,0,w,void 0,void 0,l.styledMode)}e?this.label=l.g("tooltip"):(this.label=l.label("",0,0,h.shape,void 0,void 0,h.useHTML,void 0,"tooltip").attr({padding:h.padding,r:h.borderRadius}),c||this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth}).css(h.style).css({pointerEvents:b}).shadow(h.shadow));c&&h.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+
-this.chart.index+")"}));if(a.outside&&!a.split){var u=this.label,A=u.xSetter,t=u.ySetter;u.xSetter=function(b){A.call(u,a.distance);f.style.left=b+"px"};u.ySetter=function(b){t.call(u,a.distance);f.style.top=b+"px"}}this.label.attr({zIndex:8}).add()}return this.label};a.prototype.getPosition=function(a,c,h){var d=this.chart,b=this.distance,e={},f=d.inverted&&h.h||0,g=this.outside,l=g?G.documentElement.clientWidth-2*b:d.chartWidth,q=g?Math.max(G.body.scrollHeight,G.documentElement.scrollHeight,G.body.offsetHeight,
-G.documentElement.offsetHeight,G.documentElement.clientHeight):d.chartHeight,m=d.pointer.getChartPosition(),n=function(e){var f="x"===e;return[e,f?l:q,f?a:c].concat(g?[f?a*m.scaleX:c*m.scaleY,f?m.left-b+(h.plotX+d.plotLeft)*m.scaleX:m.top-b+(h.plotY+d.plotTop)*m.scaleY,0,f?l:q]:[f?a:c,f?h.plotX+d.plotLeft:h.plotY+d.plotTop,f?d.plotLeft:d.plotTop,f?d.plotLeft+d.plotWidth:d.plotTop+d.plotHeight])},u=n("y"),A=n("x"),y;n=!!h.negative;!d.polar&&d.hoverSeries&&d.hoverSeries.yAxis&&d.hoverSeries.yAxis.reversed&&
-(n=!n);var t=!this.followPointer&&J(h.ttBelow,!d.inverted===n),r=function(a,d,c,h,k,p,l){var q=g?"y"===a?b*m.scaleY:b*m.scaleX:b,z=(c-h)/2,w=h<k-b,F=k+b+h<d,n=k-q-c+z;k=k+q-z;if(t&&F)e[a]=k;else if(!t&&w)e[a]=n;else if(w)e[a]=Math.min(l-h,0>n-f?n:n-f);else if(F)e[a]=Math.max(p,k+f+c>d?k:k+f);else return!1},C=function(a,d,c,h,f){var k;f<b||f>d-b?k=!1:e[a]=f<c/2?1:f>d-h/2?d-h-2:f-c/2;return k},v=function(b){var a=u;u=A;A=a;y=b},F=function(){!1!==r.apply(0,u)?!1!==C.apply(0,A)||y||(v(!0),F()):y?e.x=
-e.y=0:(v(!0),F())};(d.inverted||1<this.len)&&v();F();return e};a.prototype.hide=function(a){var d=this;D.clearTimeout(this.hideTimer);a=J(a,this.options.hideDelay);this.isHidden||(this.hideTimer=L(function(){d.getLabel().fadeOut(a?void 0:a);d.isHidden=!0},a))};a.prototype.init=function(a,c){this.chart=a;this.options=c;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=c.split&&!a.inverted&&!a.polar;this.shared=c.shared||this.split;this.outside=J(c.outside,!(!a.scrollablePixelsX&&!a.scrollablePixelsY))};
-a.prototype.shouldStickOnContact=function(a){return!(this.followPointer||!this.options.stickOnContact||a&&!this.chart.pointer.inClass(a.target,"highcharts-tooltip"))};a.prototype.move=function(a,e,h,f){var b=this,d=b.now,k=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(a-d.x)||1<Math.abs(e-d.y)),g=b.followPointer||1<b.len;c(d,{x:k?(2*d.x+a)/3:a,y:k?(d.y+e)/2:e,anchorX:g?void 0:k?(2*d.anchorX+h)/3:h,anchorY:g?void 0:k?(d.anchorY+f)/2:f});b.getLabel().attr(d);b.drawTracker();k&&(D.clearTimeout(this.tooltipTimeout),
-this.tooltipTimeout=setTimeout(function(){b&&b.move(a,e,h,f)},32))};a.prototype.refresh=function(a,c){var d=this.chart,e=this.options,b=d.pointer,f=I(a),g=f[0],q=[],n=e.formatter||this.defaultFormatter,u=this.shared,A=d.styledMode,t={};if(e.enabled&&g.series){D.clearTimeout(this.hideTimer);this.allowShared=!(!m(a)&&a.series&&a.series.noSharedTooltip);this.followPointer=!this.split&&g.series.tooltipOptions.followPointer;a=this.getAnchor(a,c);var r=a[0],C=a[1];u&&this.allowShared?(b.applyInactiveState(f),
-f.forEach(function(b){b.setState("hover");q.push(b.getLabelConfig())}),t={x:g.category,y:g.y},t.points=q):t=g.getLabelConfig();this.len=q.length;n=n.call(t,this);u=g.series;this.distance=J(u.tooltipOptions.distance,16);if(!1===n)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(n,f);else{var y=r,v=C;c&&b.isDirectTouch&&(y=c.chartX-d.plotLeft,v=c.chartY-d.plotTop);if(d.polar||!1===u.options.clip||f.some(function(a){return b.isDirectTouch||a.series.shouldShowTooltip(y,v)}))c=this.getLabel(),
-e.style.width&&!A||c.css({width:d.spacingBox.width+"px"}),c.attr({text:n&&n.join?n.join(""):n}),c.addClass(this.getClassName(g),!0),A||c.attr({stroke:e.borderColor||g.color||u.color||"#666666"}),this.updatePosition({plotX:r,plotY:C,negative:g.negative,ttBelow:g.ttBelow,h:a[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show();this.isHidden=!1}l(this,"refresh")}};a.prototype.renderSplit=function(a,e){function d(b,a,d,c,h){void 0===h&&(h=!0);d?(a=W?0:ba,b=t(b-
-c/2,P.left,P.right-c-(f.outside?U:0))):(a-=Z,b=h?b-c-D:b+D,b=t(b,h?b:P.left,P.right));return{x:b,y:a}}var f=this,b=f.chart,p=f.chart,g=p.chartWidth,l=p.chartHeight,q=p.plotHeight,m=p.plotLeft,n=p.plotTop,A=p.pointer,C=p.scrollablePixelsY;C=void 0===C?0:C;var v=p.scrollablePixelsX,y=p.scrollingContainer;y=void 0===y?{scrollLeft:0,scrollTop:0}:y;var I=y.scrollLeft;y=y.scrollTop;var x=p.styledMode,D=f.distance,B=f.options,F=f.options.positioner,P=f.outside&&"number"!==typeof v?G.documentElement.getBoundingClientRect():
-{left:I,right:I+g,top:y,bottom:y+l},M=f.getLabel(),X=this.renderer||b.renderer,W=!(!b.xAxis[0]||!b.xAxis[0].opposite);b=A.getChartPosition();var U=b.left;b=b.top;var Z=n+y,L=0,ba=q-C;u(a)&&(a=[!1,a]);a=a.slice(0,e.length+1).reduce(function(b,a,c){if(!1!==a&&""!==a){c=e[c-1]||{isHeader:!0,plotX:e[0].plotX,plotY:q,series:{}};var h=c.isHeader,k=h?f:c.series;a=a.toString();var p=k.tt,g=c.isHeader;var l=c.series;p||(p={padding:B.padding,r:B.borderRadius},x||(p.fill=B.backgroundColor,p["stroke-width"]=
-B.borderWidth),p=X.label("",0,0,B[g?"headerShape":"shape"],void 0,void 0,B.useHTML).addClass(f.getClassName(c,!0,g)).attr(p).add(M));p.isActive=!0;p.attr({text:a});x||p.css(B.style).shadow(B.shadow).attr({stroke:B.borderColor||c.color||l.color||"#333333"});k=k.tt=p;g=k.getBBox();a=g.width+k.strokeWidth();h&&(L=g.height,ba+=L,W&&(Z-=L));l=c.plotX;l=void 0===l?0:l;p=c.plotY;p=void 0===p?0:p;var w=c.series;if(c.isHeader){l=m+l;var z=n+q/2}else{var u=w.xAxis,y=w.yAxis;l=u.pos+t(l,-D,u.len+D);w.shouldShowTooltip(0,
-y.pos-n+p,{ignoreX:!0})&&(z=y.pos+p)}l=t(l,P.left-D,P.right+D);"number"===typeof z?(g=g.height+1,p=F?F.call(f,a,g,c):d(l,z,h,a),b.push({align:F?0:void 0,anchorX:l,anchorY:z,boxWidth:a,point:c,rank:J(p.rank,h?1:0),size:g,target:p.y,tt:k,x:p.x})):k.isActive=!1}return b},[]);!F&&a.some(function(b){var a=(f.outside?U:0)+b.anchorX;return a<P.left&&a+b.boxWidth<P.right?!0:a<U-P.left+b.boxWidth&&P.right-a>a})&&(a=a.map(function(b){var a=d(b.anchorX,b.anchorY,b.point.isHeader,b.boxWidth,!1);return c(b,{target:a.y,
-x:a.x})}));f.cleanSplit();r(a,ba);var E=U,da=U;a.forEach(function(b){var a=b.x,d=b.boxWidth;b=b.isHeader;b||(f.outside&&U+a<E&&(E=U+a),!b&&f.outside&&E+d>da&&(da=U+a))});a.forEach(function(b){var a=b.x,d=b.anchorX,c=b.pos,h=b.point.isHeader;c={visibility:"undefined"===typeof c?"hidden":"inherit",x:a,y:(c||0)+Z,anchorX:d,anchorY:b.anchorY};if(f.outside&&a<d){var e=U-E;0<e&&(h||(c.x=a+e,c.anchorX=d+e),h&&(c.x=(da-E)/2,c.anchorX=d+e))}b.tt.attr(c)});a=f.container;C=f.renderer;f.outside&&a&&C&&(p=M.getBBox(),
-C.setSize(p.width+p.x,p.height+p.y,!1),a.style.left=E+"px",a.style.top=b+"px")};a.prototype.drawTracker=function(){if(this.shouldStickOnContact()){var a=this.chart,c=this.label,h=this.shared?a.hoverPoints:a.hoverPoint;if(c&&h){var e={x:0,y:0,width:0,height:0};h=this.getAnchor(h);var b=c.getBBox();h[0]+=a.plotLeft-c.translateX;h[1]+=a.plotTop-c.translateY;e.x=Math.min(0,h[0]);e.y=Math.min(0,h[1]);e.width=0>h[0]?Math.max(Math.abs(h[0]),b.width-h[0]):Math.max(Math.abs(h[0]),b.width);e.height=0>h[1]?
-Math.max(Math.abs(h[1]),b.height-Math.abs(h[1])):Math.max(Math.abs(h[1]),b.height);this.tracker?this.tracker.attr(e):(this.tracker=c.renderer.rect(e).addClass("highcharts-tracker").add(c),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&this.tracker.destroy()};a.prototype.styledModeFormat=function(a){return a.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')};
-a.prototype.tooltipFooterHeaderFormatter=function(a,c){var d=a.series,f=d.tooltipOptions,b=d.xAxis,p=b&&b.dateTime;b={isFooter:c,labelConfig:a};var g=f.xDateFormat,q=f[c?"footerFormat":"headerFormat"];l(this,"headerFormatter",b,function(b){p&&!g&&e(a.key)&&(g=p.getXDateFormat(a.key,f.dateTimeLabelFormats));p&&g&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(b){q=q.replace("{point."+b+"}","{point."+b+":"+g+"}")});d.chart.styledMode&&(q=this.styledModeFormat(q));b.text=v(q,{point:a,series:d},
-this.chart)});return b.text};a.prototype.update=function(a){this.destroy();C(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,C(!0,this.options,a))};a.prototype.updatePosition=function(a){var d=this.chart,c=this.options,e=d.pointer,b=this.getLabel();e=e.getChartPosition();var f=(c.positioner||this.getPosition).call(this,b.width,b.height,a),g=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;if(this.outside){c=c.borderWidth+2*this.distance;this.renderer.setSize(b.width+c,b.height+c,!1);if(1!==
-e.scaleX||1!==e.scaleY)n(this.container,{transform:"scale(".concat(e.scaleX,", ").concat(e.scaleY,")")}),g*=e.scaleX,a*=e.scaleY;g+=e.left-f.x;a+=e.top-f.y}this.move(Math.round(f.x),Math.round(f.y||0),g,a)};return a}();"";return a});K(g,"Core/Series/Point.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/FormatUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,E,D){var v=g.animObject,G=x.defaultOptions,r=E.format,t=D.addEvent,n=D.defined,
-f=D.erase,c=D.extend,l=D.fireEvent,m=D.getNestedProperty,e=D.isArray,u=D.isFunction,C=D.isNumber,J=D.isObject,I=D.merge,L=D.objectEach,A=D.pick,d=D.syncTimeout,q=D.removeEvent,h=D.uniqueKey;g=function(){function k(){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.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}k.prototype.animateBeforeDestroy=function(){var b=this,a={x:b.startXPos,
-opacity:0},d=b.getGraphicalProps();d.singular.forEach(function(d){b[d]=b[d].animate("dataLabel"===d?{x:b[d].startXPos,y:b[d].startYPos,opacity:0}:a)});d.plural.forEach(function(a){b[a].forEach(function(a){a.element&&a.animate(c({x:b.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})};k.prototype.applyOptions=function(b,a){var d=this.series,h=d.options.pointValKey||d.pointValKey;b=k.prototype.optionsToObject.call(this,b);c(this,b);this.options=this.options?c(this.options,b):b;b.group&&delete this.group;
-b.dataLabels&&delete this.dataLabels;h&&(this.y=k.prototype.getNestedProperty.call(this,h));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof a&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));"undefined"===typeof this.x&&d?this.x="undefined"===typeof a?d.autoIncrement():a:C(b.x)&&d.options.relativeXValue&&(this.x=d.autoIncrement(b.x));return this};k.prototype.destroy=function(){function b(){if(a.graphic||
-a.graphics||a.dataLabel||a.dataLabels)q(a),a.destroyElements();for(g in a)a[g]=null}var a=this,c=a.series,h=c.chart;c=c.options.dataSorting;var e=h.hoverPoints,k=v(a.series.chart.renderer.globalAnimation),g;a.legendItem&&h.legend.destroyItem(a);e&&(a.setState(),f(e,a),e.length||(h.hoverPoints=null));if(a===h.hoverPoint)a.onMouseOut();c&&c.enabled?(this.animateBeforeDestroy(),d(b,k.duration)):b();h.pointCount--};k.prototype.destroyElements=function(b){var a=this;b=a.getGraphicalProps(b);b.singular.forEach(function(b){a[b]=
-a[b].destroy()});b.plural.forEach(function(b){a[b].forEach(function(b){b.element&&b.destroy()});delete a[b]})};k.prototype.firePointEvent=function(b,a,d){var c=this,h=this.series.options;(h.point.events[b]||c.options&&c.options.events&&c.options.events[b])&&c.importEvents();"click"===b&&h.allowPointSelect&&(d=function(b){c.select&&c.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});l(c,b,a,d)};k.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+
-(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};k.prototype.getGraphicalProps=function(b){var a=this,d=[],c={singular:[],plural:[]},h;b=b||{graphic:1,dataLabel:1};b.graphic&&d.push("graphic","shadowGroup");b.dataLabel&&d.push("dataLabel",
-"dataLabelPath","dataLabelUpper","connector");for(h=d.length;h--;){var e=d[h];a[e]&&c.singular.push(e)}["graphic","dataLabel","connector"].forEach(function(d){var h=d+"s";b[d]&&a[h]&&c.plural.push(h)});return c};k.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}};k.prototype.getNestedProperty=function(b){if(b)return 0===
-b.indexOf("custom.")?m(b,this.options):this[b]};k.prototype.getZone=function(){var b=this.series,a=b.zones;b=b.zoneAxis||"y";var d,c=0;for(d=a[c];this[b]>=d.value;)d=a[++c];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=d&&d.color&&!this.options.color?d.color:this.nonZonedColor;return d};k.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};k.prototype.init=function(b,a,d){this.series=b;this.applyOptions(a,
-d);this.id=n(this.id)?this.id:h();this.resolveColor();b.chart.pointCount++;l(this,"afterInit");return this};k.prototype.isValid=function(){return null!==this.x&&C(this.y)};k.prototype.optionsToObject=function(b){var a=this.series,d=a.options.keys,c=d||a.pointArrayMap||["y"],h=c.length,f={},g=0,l=0;if(C(b)||null===b)f[c[0]]=b;else if(e(b))for(!d&&b.length>h&&(a=typeof b[0],"string"===a?f.name=b[0]:"number"===a&&(f.x=b[0]),g++);l<h;)d&&"undefined"===typeof b[g]||(0<c[l].indexOf(".")?k.prototype.setNestedProperty(f,
-b[g],c[l]):f[c[l]]=b[g]),g++,l++;else"object"===typeof b&&(f=b,b.dataLabels&&(a._hasPointLabels=!0),b.marker&&(a._hasPointMarkers=!0));return f};k.prototype.resolveColor=function(){var b=this.series,a=b.chart.styledMode;var d=b.chart.options.chart.colorCount;delete this.nonZonedColor;if(b.options.colorByPoint){if(!a){d=b.options.colors||b.chart.options.colors;var c=d[b.colorCounter];d=d.length}a=b.colorCounter;b.colorCounter++;b.colorCounter===d&&(b.colorCounter=0)}else a||(c=b.color),a=b.colorIndex;
-this.colorIndex=A(this.options.colorIndex,a);this.color=A(this.options.color,c)};k.prototype.setNestedProperty=function(b,a,d){d.split(".").reduce(function(b,d,c,h){b[d]=h.length-1===c?a:J(b[d],!0)?b[d]:{};return b[d]},b);return b};k.prototype.shouldDraw=function(){return!this.isNull};k.prototype.tooltipFormatter=function(b){var a=this.series,d=a.tooltipOptions,c=A(d.valueDecimals,""),h=d.valuePrefix||"",e=d.valueSuffix||"";a.chart.styledMode&&(b=a.chart.tooltip.styledModeFormat(b));(a.pointArrayMap||
-["y"]).forEach(function(a){a="{point."+a;if(h||e)b=b.replace(RegExp(a+"}","g"),h+a+"}"+e);b=b.replace(RegExp(a+"}","g"),a+":,."+c+"f}")});return r(b,{point:this,series:this.series},a.chart)};k.prototype.update=function(b,a,d,c){function h(){e.applyOptions(b);var c=k&&e.hasMockGraphic;c=null===e.y?!c:c;k&&c&&(e.graphic=k.destroy(),delete e.hasMockGraphic);J(b,!0)&&(k&&k.element&&b&&b.marker&&"undefined"!==typeof b.marker.symbol&&(e.graphic=k.destroy()),b&&b.dataLabels&&e.dataLabel&&(e.dataLabel=e.dataLabel.destroy()),
-e.connector&&(e.connector=e.connector.destroy()));l=e.index;f.updateParallelArrays(e,l);p.data[l]=J(p.data[l],!0)||J(b,!0)?e.options:A(b,p.data[l]);f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(g.isDirtyBox=!0);"point"===p.legendType&&(g.isDirtyLegend=!0);a&&g.redraw(d)}var e=this,f=e.series,k=e.graphic,g=f.chart,p=f.options,l;a=A(a,!0);!1===c?h():e.firePointEvent("update",{options:b},h)};k.prototype.remove=function(b,a){this.series.removePoint(this.series.data.indexOf(this),b,a)};
-k.prototype.select=function(b,a){var d=this,c=d.series,h=c.chart;this.selectedStaging=b=A(b,!d.selected);d.firePointEvent(b?"select":"unselect",{accumulate:a},function(){d.selected=d.options.selected=b;c.options.data[c.data.indexOf(d)]=d.options;d.setState(b&&"select");a||h.getSelectedPoints().forEach(function(b){var a=b.series;b.selected&&b!==d&&(b.selected=b.options.selected=!1,a.options.data[a.data.indexOf(b)]=b.options,b.setState(h.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),b.firePointEvent("unselect"))})});
-delete this.selectedStaging};k.prototype.onMouseOver=function(b){var a=this.series.chart,d=a.pointer;b=b?d.normalize(b):d.getChartCoordinatesFromPoint(this,a.inverted);d.runPointActions(b,this)};k.prototype.onMouseOut=function(){var b=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(b.hoverPoints||[]).forEach(function(b){b.setState()});b.hoverPoints=b.hoverPoint=null};k.prototype.importEvents=function(){if(!this.hasImportedEvents){var b=this,a=I(b.series.options.point,
-b.options).events;b.events=a;L(a,function(a,d){u(a)&&t(b,d,a)});this.hasImportedEvents=!0}};k.prototype.setState=function(b,d){var h=this.series,e=this.state,f=h.options.states[b||"normal"]||{},k=G.plotOptions[h.type].marker&&h.options.marker,g=k&&!1===k.enabled,p=k&&k.states&&k.states[b||"normal"]||{},q=!1===p.enabled,m=this.marker||{},n=h.chart,u=k&&h.markerAttribs,t=h.halo,r,v=h.stateMarkerGraphic;b=b||"";if(!(b===this.state&&!d||this.selected&&"select"!==b||!1===f.enabled||b&&(q||g&&!1===p.enabled)||
-b&&m.states&&m.states[b]&&!1===m.states[b].enabled)){this.state=b;u&&(r=h.markerAttribs(this,b));if(this.graphic&&!this.hasMockGraphic){e&&this.graphic.removeClass("highcharts-point-"+e);b&&this.graphic.addClass("highcharts-point-"+b);if(!n.styledMode){e=h.pointAttribs(this,b);var F=A(n.options.chart.animation,f.animation);var P=e.opacity;h.options.inactiveOtherPoints&&C(P)&&((this.dataLabels||[]).forEach(function(b){b&&!b.hasClass("highcharts-data-label-hidden")&&b.animate({opacity:P},F)}),this.connector&&
-this.connector.animate({opacity:P},F));this.graphic.animate(e,F)}r&&this.graphic.animate(r,A(n.options.chart.animation,p.animation,k.animation));v&&v.hide()}else{if(b&&p){k=m.symbol||h.symbol;v&&v.currentSymbol!==k&&(v=v.destroy());if(r)if(v)v[d?"animate":"attr"]({x:r.x,y:r.y});else k&&(h.stateMarkerGraphic=v=n.renderer.symbol(k,r.x,r.y,r.width,r.height).add(h.markerGroup),v.currentSymbol=k);!n.styledMode&&v&&"inactive"!==this.state&&v.attr(h.pointAttribs(this,b))}v&&(v[b&&this.isInside?"show":"hide"](),
-v.element.point=this,v.addClass(this.getClassName(),!0))}f=f.halo;r=(v=this.graphic||v)&&v.visibility||"inherit";f&&f.size&&v&&"hidden"!==r&&!this.isCluster?(t||(h.halo=t=n.renderer.path().add(v.parentGroup)),t.show()[d?"animate":"attr"]({d:this.haloPath(f.size)}),t.attr({"class":"highcharts-halo highcharts-color-"+A(this.colorIndex,h.colorIndex)+(this.className?" "+this.className:""),visibility:r,zIndex:-1}),t.point=this,n.styledMode||t.attr(c({fill:this.color||h.color,"fill-opacity":f.opacity},
-a.filterUserAttributes(f.attributes||{})))):t&&t.point&&t.point.haloPath&&t.animate({d:t.point.haloPath(0)},null,t.hide);l(this,"afterSetState",{state:b})}};k.prototype.haloPath=function(b){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-b,this.plotY-b,2*b,2*b)};return k}();"";return g});K(g,"Core/Pointer.js",[g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Tooltip.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=a.parse,B=g.charts,G=g.noop,r=E.addEvent,t=E.attr,
-n=E.css,f=E.defined,c=E.extend,l=E.find,m=E.fireEvent,e=E.isNumber,u=E.isObject,C=E.objectEach,J=E.offset,I=E.pick,L=E.splat;a=function(){function a(a,c){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.eventsToUnbind=[];this.chart=a;this.hasDragged=!1;this.options=c;this.init(a,c)}a.prototype.applyInactiveState=function(a){var d=[],c;(a||[]).forEach(function(a){c=a.series;d.push(c);c.linkedParent&&d.push(c.linkedParent);c.linkedSeries&&(d=d.concat(c.linkedSeries));c.navigatorSeries&&
-d.push(c.navigatorSeries)});this.chart.series.forEach(function(a){-1===d.indexOf(a)?a.setState("inactive",!0):a.options.inactiveOtherPoints&&a.setAllPointsToState("inactive")})};a.prototype.destroy=function(){var d=this;this.eventsToUnbind.forEach(function(a){return a()});this.eventsToUnbind=[];g.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(d.tooltipTimeout);
-C(d,function(a,c){d[c]=void 0})};a.prototype.getSelectionMarkerAttrs=function(a,c){var d=this,e={args:{chartX:a,chartY:c},attrs:{},shapeType:"rect"};m(this,"getSelectionMarkerAttrs",e,function(b){var h=d.chart,e=d.mouseDownX;e=void 0===e?0:e;var f=d.mouseDownY;f=void 0===f?0:f;var k=d.zoomHor,g=d.zoomVert;b=b.attrs;b.x=h.plotLeft;b.y=h.plotTop;b.width=k?1:h.plotWidth;b.height=g?1:h.plotHeight;k&&(h=a-e,b.width=Math.abs(h),b.x=(0<h?0:h)+e);g&&(h=c-f,b.height=Math.abs(h),b.y=(0<h?0:h)+f)});return e};
-a.prototype.drag=function(a){var d=this.chart,c=d.options.chart,e=d.plotLeft,b=d.plotTop,f=d.plotWidth,g=d.plotHeight,l=this.mouseDownX||0,m=this.mouseDownY||0,n=u(c.panning)?c.panning&&c.panning.enabled:c.panning,A=c.panKey&&a[c.panKey+"Key"],t=a.chartX,r=a.chartY,C=this.selectionMarker;C&&C.touch||(t<e?t=e:t>e+f&&(t=e+f),r<b?r=b:r>b+g&&(r=b+g),this.hasDragged=Math.sqrt(Math.pow(l-t,2)+Math.pow(m-r,2)),10<this.hasDragged&&(e=d.isInsidePlot(l-e,m-b,{visiblePlotOnly:!0}),r=this.getSelectionMarkerAttrs(t,
-r),t=r.shapeType,r=r.attrs,!d.hasCartesianSeries&&!d.mapView||!this.zoomX&&!this.zoomY||!e||A||C||(this.selectionMarker=C=d.renderer[t](),C.attr({"class":"highcharts-selection-marker",zIndex:7}).add(),d.styledMode||C.attr({fill:c.selectionMarkerFill||v("#335cad").setOpacity(.25).get()})),C&&C.attr(r),e&&!C&&n&&d.pan(a,c.panning)))};a.prototype.dragStart=function(a){var d=this.chart;d.mouseIsDown=a.type;d.cancelClick=!1;d.mouseDownX=this.mouseDownX=a.chartX;d.mouseDownY=this.mouseDownY=a.chartY};a.prototype.getSelectionBox=
-function(a){var d={args:{marker:a},result:{}};m(this,"getSelectionBox",d,function(d){d.result={x:a.attr?+a.attr("x"):a.x,y:a.attr?+a.attr("y"):a.y,width:a.attr?a.attr("width"):a.width,height:a.attr?a.attr("height"):a.height}});return d.result};a.prototype.drop=function(a){var d=this,h=this.chart,k=this.hasPinched;if(this.selectionMarker){var b=this.getSelectionBox(this.selectionMarker),g=b.x,l=b.y,w=b.width,u=b.height,A={originalEvent:a,xAxis:[],yAxis:[],x:g,y:l,width:w,height:u},t=!!h.mapView;if(this.hasDragged||
-k)h.axes.forEach(function(b){if(b.zoomEnabled&&f(b.min)&&(k||d[{xAxis:"zoomX",yAxis:"zoomY"}[b.coll]])&&e(g)&&e(l)&&e(w)&&e(u)){var c=b.horiz,h="touchend"===a.type?b.minPixelPadding:0,p=b.toValue((c?g:l)+h);c=b.toValue((c?g+w:l+u)-h);A[b.coll].push({axis:b,min:Math.min(p,c),max:Math.max(p,c)});t=!0}}),t&&m(h,"selection",A,function(b){h.zoom(c(b,k?{animation:!1}:null))});e(h.index)&&(this.selectionMarker=this.selectionMarker.destroy());k&&this.scaleGroups()}h&&e(h.index)&&(n(h.container,{cursor:h._cursor}),
-h.cancelClick=10<this.hasDragged,h.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])};a.prototype.findNearestKDPoint=function(a,c,h){var d;a.forEach(function(b){var a=!(b.noSharedTooltip&&c)&&0>b.options.findNearestPointBy.indexOf("y");b=b.searchPoint(h,a);if((a=u(b,!0)&&b.series)&&!(a=!u(d,!0))){a=d.distX-b.distX;var e=d.dist-b.dist,f=(b.series.group&&b.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);a=0<(0!==a&&c?a:0!==e?e:0!==f?f:d.series.index>b.series.index?-1:1)}a&&
-(d=b)});return d};a.prototype.getChartCoordinatesFromPoint=function(a,c){var d=a.series,f=d.xAxis;d=d.yAxis;var b=a.shapeArgs;if(f&&d){var g=I(a.clientX,a.plotX),l=a.plotY||0;a.isNode&&b&&e(b.x)&&e(b.y)&&(g=b.x,l=b.y);return c?{chartX:d.len+d.pos-l,chartY:f.len+f.pos-g}:{chartX:g+f.pos,chartY:l+d.pos}}if(b&&b.x&&b.y)return{chartX:b.x,chartY:b.y}};a.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var a=this.chart.container,c=J(a);this.chartPosition={left:c.left,
-top:c.top,scaleX:1,scaleY:1};var h=a.offsetWidth;a=a.offsetHeight;2<h&&2<a&&(this.chartPosition.scaleX=c.width/h,this.chartPosition.scaleY=c.height/a);return this.chartPosition};a.prototype.getCoordinates=function(a){var d={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){d[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return d};a.prototype.getHoverData=function(a,c,h,e,b,f){var d=[];e=!(!e||!a);var g=function(a){return a.visible&&!(!b&&a.directTouch)&&
-I(a.options.enableMouseTracking,!0)},k={chartX:f?f.chartX:void 0,chartY:f?f.chartY:void 0,shared:b};m(this,"beforeGetHoverData",k);var p=c&&!c.stickyTracking?[c]:h.filter(function(b){return b.stickyTracking&&(k.filter||g)(b)});var q=e||!f?a:this.findNearestKDPoint(p,b,f);c=q&&q.series;q&&(b&&!c.noSharedTooltip?(p=h.filter(function(b){return k.filter?k.filter(b):g(b)&&!b.noSharedTooltip}),p.forEach(function(b){var a=l(b.points,function(b){return b.x===q.x&&!b.isNull});u(a)&&(b.boosted&&b.boost&&(a=
-b.boost.getPoint(a)),d.push(a))})):d.push(q));k={hoverPoint:q};m(this,"afterGetHoverData",k);return{hoverPoint:k.hoverPoint,hoverSeries:c,hoverPoints:d}};a.prototype.getPointFromEvent=function(a){a=a.target;for(var d;a&&!d;)d=a.point,a=a.parentNode;return d};a.prototype.onTrackerMouseOut=function(a){a=a.relatedTarget||a.toElement;var d=this.chart.hoverSeries;this.isDirectTouch=!1;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,
-"highcharts-tracker")))d.onMouseOut()};a.prototype.inClass=function(a,c){for(var d;a;){if(d=t(a,"class")){if(-1!==d.indexOf(c))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentElement}};a.prototype.init=function(a,c){this.options=c;this.chart=a;this.runChartClick=!(!c.chart.events||!c.chart.events.click);this.pinchDown=[];this.lastValidTouch={};x&&(a.tooltip=new x(a,c.tooltip));this.setDOMEvents()};a.prototype.normalize=function(a,e){var d=a.touches,f=d?d.length?d.item(0):I(d.changedTouches,
-a.changedTouches)[0]:a;e||(e=this.getChartPosition());d=f.pageX-e.left;f=f.pageY-e.top;d/=e.scaleX;f/=e.scaleY;return c(a,{chartX:Math.round(d),chartY:Math.round(f)})};a.prototype.onContainerClick=function(a){var d=this.chart,h=d.hoverPoint;a=this.normalize(a);var e=d.plotLeft,b=d.plotTop;d.cancelClick||(h&&this.inClass(a.target,"highcharts-tracker")?(m(h.series,"click",c(a,{point:h})),d.hoverPoint&&h.firePointEvent("click",a)):(c(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-e,a.chartY-b,{visiblePlotOnly:!0})&&
-m(d,"click",a)))};a.prototype.onContainerMouseDown=function(a){var d=1===((a.buttons||a.button)&1);a=this.normalize(a);if(g.isFirefox&&0!==a.button)this.onContainerMouseMove(a);if("undefined"===typeof a.button||d)this.zoomOption(a),d&&a.preventDefault&&a.preventDefault(),this.dragStart(a)};a.prototype.onContainerMouseLeave=function(d){var c=B[I(a.hoverChartIndex,-1)],h=this.chart.tooltip;d=this.normalize(d);c&&(d.relatedTarget||d.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=void 0);h&&!h.isHidden&&
-this.reset()};a.prototype.onContainerMouseEnter=function(a){delete this.chartPosition};a.prototype.onContainerMouseMove=function(a){var d=this.chart,c=d.tooltip;a=this.normalize(a);this.setHoverChartIndex();a.preventDefault||(a.returnValue=!1);("mousedown"===d.mouseIsDown||this.touchSelect(a))&&this.drag(a);d.openMenu||!this.inClass(a.target,"highcharts-tracker")&&!d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||c&&c.shouldStickOnContact(a)||(this.inClass(a.target,"highcharts-no-tooltip")?
-this.reset(!1,0):this.runPointActions(a))};a.prototype.onDocumentTouchEnd=function(d){var c=B[I(a.hoverChartIndex,-1)];c&&c.pointer.drop(d)};a.prototype.onContainerTouchMove=function(a){if(this.touchSelect(a))this.onContainerMouseMove(a);else this.touch(a)};a.prototype.onContainerTouchStart=function(a){if(this.touchSelect(a))this.onContainerMouseDown(a);else this.zoomOption(a),this.touch(a,!0)};a.prototype.onDocumentMouseMove=function(a){var d=this.chart,c=d.tooltip,e=this.chartPosition;a=this.normalize(a,
-e);!e||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||c&&c.shouldStickOnContact(a)||this.inClass(a.target,"highcharts-tracker")||this.reset()};a.prototype.onDocumentMouseUp=function(d){var c=B[I(a.hoverChartIndex,-1)];c&&c.pointer.drop(d)};a.prototype.pinch=function(a){var d=this,h=d.chart,e=d.pinchDown,b=a.touches||[],f=b.length,g=d.lastValidTouch,l=d.hasZoom,n={},u=1===f&&(d.inClass(a.target,"highcharts-tracker")&&h.runTrackerClick||d.runChartClick),A={},t=d.chart.tooltip;
-t=1===f&&I(t&&t.options.followTouchMove,!0);var r=d.selectionMarker;1<f?d.initiated=!0:t&&(d.initiated=!1);l&&d.initiated&&!u&&!1!==a.cancelable&&a.preventDefault();[].map.call(b,function(b){return d.normalize(b)});"touchstart"===a.type?([].forEach.call(b,function(b,a){e[a]={chartX:b.chartX,chartY:b.chartY}}),g.x=[e[0].chartX,e[1]&&e[1].chartX],g.y=[e[0].chartY,e[1]&&e[1].chartY],h.axes.forEach(function(b){if(b.zoomEnabled){var a=h.bounds[b.horiz?"h":"v"],d=b.minPixelPadding,c=b.toPixels(Math.min(I(b.options.min,
-b.dataMin),b.dataMin)),e=b.toPixels(Math.max(I(b.options.max,b.dataMax),b.dataMax)),f=Math.max(c,e);a.min=Math.min(b.pos,Math.min(c,e)-d);a.max=Math.max(b.pos+b.len,f+d)}}),d.res=!0):t?this.runPointActions(d.normalize(a)):e.length&&(m(h,"touchpan",{originalEvent:a},function(){r||(d.selectionMarker=r=c({destroy:G,touch:!0},h.plotBox));d.pinchTranslate(e,b,n,r,A,g);d.hasPinched=l;d.scaleGroups(n,A)}),d.res&&(d.res=!1,this.reset(!1,0)))};a.prototype.pinchTranslate=function(a,c,h,e,b,f){this.zoomHor&&
-this.pinchTranslateDirection(!0,a,c,h,e,b,f);this.zoomVert&&this.pinchTranslateDirection(!1,a,c,h,e,b,f)};a.prototype.pinchTranslateDirection=function(a,c,h,e,b,f,g,l){var d=this.chart,k=a?"x":"y",p=a?"X":"Y",m="chart"+p,w=a?"width":"height",n=d["plot"+(a?"Left":"Top")],q=d.inverted,z=d.bounds[a?"h":"v"],u=1===c.length,A=c[0][m],t=!u&&c[1][m];c=function(){"number"===typeof C&&20<Math.abs(A-t)&&(M=l||Math.abs(r-C)/Math.abs(A-t));P=(n-r)/M+A;F=d["plot"+(a?"Width":"Height")]/M};var F,P,M=l||1,r=h[0][m],
-C=!u&&h[1][m];c();h=P;if(h<z.min){h=z.min;var v=!0}else h+F>z.max&&(h=z.max-F,v=!0);v?(r-=.8*(r-g[k][0]),"number"===typeof C&&(C-=.8*(C-g[k][1])),c()):g[k]=[r,C];q||(f[k]=P-n,f[w]=F);f=q?1/M:M;b[w]=F;b[k]=h;e[q?a?"scaleY":"scaleX":"scale"+p]=M;e["translate"+p]=f*n+(r-f*A)};a.prototype.reset=function(a,c){var d=this.chart,e=d.hoverSeries,b=d.hoverPoint,f=d.hoverPoints,g=d.tooltip,l=g&&g.shared?f:b;a&&l&&L(l).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)g&&l&&
-L(l).length&&(g.refresh(l),g.shared&&f?f.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):b&&(b.setState(b.state,!0),d.axes.forEach(function(a){a.crosshair&&b.series[a.coll]===a&&a.drawCrosshair(null,b)})));else{if(b)b.onMouseOut();f&&f.forEach(function(b){b.setState()});if(e)e.onMouseOut();g&&g.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());
-d.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}};a.prototype.runPointActions=function(d,c,h){var e=this.chart,b=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,f=b?b.shared:!1,g=c||e.hoverPoint,m=g&&g.series||e.hoverSeries;c=this.getHoverData(g,m,e.series,(!d||"touchmove"!==d.type)&&(!!c||m&&m.directTouch&&this.isDirectTouch),f,d);g=c.hoverPoint;m=c.hoverSeries;var n=c.hoverPoints;c=m&&m.tooltipOptions.followPointer&&!m.tooltipOptions.split;var q=
-f&&m&&!m.noSharedTooltip;if(g&&(h||g!==e.hoverPoint||b&&b.isHidden)){(e.hoverPoints||[]).forEach(function(b){-1===n.indexOf(b)&&b.setState()});if(e.hoverSeries!==m)m.onMouseOver();this.applyInactiveState(n);(n||[]).forEach(function(b){b.setState("hover")});e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;e.hoverPoints=n;e.hoverPoint=g;g.firePointEvent("mouseOver",void 0,function(){b&&g&&b.refresh(q?n:g,d)})}else c&&b&&!b.isHidden&&(h=b.getAnchor([{}],d),e.isInsidePlot(h[0],
-h[1],{visiblePlotOnly:!0})&&b.updatePosition({plotX:h[0],plotY:h[1]}));this.unDocMouseMove||(this.unDocMouseMove=r(e.container.ownerDocument,"mousemove",function(b){var c=B[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove));e.axes.forEach(function(b){var a=I((b.crosshair||{}).snap,!0),c;a&&((c=e.hoverPoint)&&c.series[b.coll]===b||(c=l(n,function(a){return a.series&&a.series[b.coll]===b})));c||!a?b.drawCrosshair(d,c):b.hideCrosshair()})};a.prototype.scaleGroups=
-function(a,c){var d=this.chart;d.series.forEach(function(h){var b=a||h.getPlotBox();h.group&&(h.xAxis&&h.xAxis.zoomEnabled||d.mapView)&&(h.group.attr(b),h.markerGroup&&(h.markerGroup.attr(b),h.markerGroup.clip(c?d.clipRect:null)),h.dataLabelsGroup&&h.dataLabelsGroup.attr(b))});d.clipRect.attr(c||d.clipBox)};a.prototype.setDOMEvents=function(){var c=this,e=this.chart.container,h=e.ownerDocument;e.onmousedown=this.onContainerMouseDown.bind(this);e.onmousemove=this.onContainerMouseMove.bind(this);e.onclick=
-this.onContainerClick.bind(this);this.eventsToUnbind.push(r(e,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(r(e,"mouseleave",this.onContainerMouseLeave.bind(this)));a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=r(h,"mouseup",this.onDocumentMouseUp.bind(this)));for(var f=this.chart.renderTo.parentElement;f&&"BODY"!==f.tagName;)this.eventsToUnbind.push(r(f,"scroll",function(){delete c.chartPosition})),f=f.parentElement;g.hasTouch&&(this.eventsToUnbind.push(r(e,"touchstart",
-this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(r(e,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=r(h,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};a.prototype.setHoverChartIndex=function(){var c=this.chart,e=g.charts[I(a.hoverChartIndex,-1)];if(e&&e!==c)e.pointer.onContainerMouseLeave({relatedTarget:c.container});e&&e.mouseIsDown||(a.hoverChartIndex=c.index)};a.prototype.touch=function(a,
-c){var d=this.chart,e;this.setHoverChartIndex();if(1===a.touches.length)if(a=this.normalize(a),(e=d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0}))&&!d.openMenu){c&&this.runPointActions(a);if("touchmove"===a.type){c=this.pinchDown;var b=c[0]?4<=Math.sqrt(Math.pow(c[0].chartX-a.chartX,2)+Math.pow(c[0].chartY-a.chartY,2)):!1}I(b,!0)&&this.pinch(a)}else c&&this.reset();else 2===a.touches.length&&this.pinch(a)};a.prototype.touchSelect=function(a){return!(!this.chart.options.chart.zooming.singleTouch||
-!a.touches||1!==a.touches.length)};a.prototype.zoomOption=function(a){var c=this.chart,d=c.options.chart;c=c.inverted;var e=d.zooming.type||"";/touch/.test(a.type)&&(e=I(d.zooming.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=d=/y/.test(e);this.zoomHor=a&&!c||d&&c;this.zoomVert=d&&!c||a&&c;this.hasZoom=a||d};return a}();"";return a});K(g,"Core/MSPointer.js",[g["Core/Globals.js"],g["Core/Pointer.js"],g["Core/Utilities.js"]],function(a,g,x){function v(){var a=[];a.item=function(a){return this[a]};
-l(u,function(c){a.push({pageX:c.pageX,pageY:c.pageY,target:c.target})});return a}function D(a,c,e,f){var d=G[g.hoverChartIndex||NaN];"touch"!==a.pointerType&&a.pointerType!==a.MSPOINTER_TYPE_TOUCH||!d||(d=d.pointer,f(a),d[c]({type:e,target:a.currentTarget,preventDefault:t,touches:v()}))}var B=this&&this.__extends||function(){var a=function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c,
-e)};return function(c,e){function f(){this.constructor=c}a(c,e);c.prototype=null===e?Object.create(e):(f.prototype=e.prototype,new f)}}(),G=a.charts,r=a.doc,t=a.noop,n=a.win,f=x.addEvent,c=x.css,l=x.objectEach,m=x.pick,e=x.removeEvent,u={},C=!!n.PointerEvent;return function(g){function l(){return null!==g&&g.apply(this,arguments)||this}B(l,g);l.isRequired=function(){return!(a.hasTouch||!n.PointerEvent&&!n.MSPointerEvent)};l.prototype.batchMSEvents=function(a){a(this.chart.container,C?"pointerdown":
-"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,C?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(r,C?"pointerup":"MSPointerUp",this.onDocumentPointerUp)};l.prototype.destroy=function(){this.batchMSEvents(e);g.prototype.destroy.call(this)};l.prototype.init=function(a,e){g.prototype.init.call(this,a,e);this.hasZoom&&c(a.container,{"-ms-touch-action":"none","touch-action":"none"})};l.prototype.onContainerPointerDown=function(a){D(a,"onContainerTouchStart","touchstart",
-function(a){u[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})};l.prototype.onContainerPointerMove=function(a){D(a,"onContainerTouchMove","touchmove",function(a){u[a.pointerId]={pageX:a.pageX,pageY:a.pageY};u[a.pointerId].target||(u[a.pointerId].target=a.currentTarget)})};l.prototype.onDocumentPointerUp=function(a){D(a,"onDocumentTouchEnd","touchend",function(a){delete u[a.pointerId]})};l.prototype.setDOMEvents=function(){var a=this.chart.tooltip;g.prototype.setDOMEvents.call(this);
-(this.hasZoom||m(a&&a.options.followTouchMove,!0))&&this.batchMSEvents(f)};return l}(g)});K(g,"Core/Legend/Legend.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Series/Point.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B){var v=a.animObject,r=a.setAnimation,t=g.format,n=x.marginNames,f=D.distribute,c=B.addEvent,l=B.createElement,m=B.css,e=B.defined,u=B.discardElement,C=B.find,J=B.fireEvent,I=B.isNumber,
-L=B.merge,A=B.pick,d=B.relativeLength,q=B.stableSort,h=B.syncTimeout;a=function(){function a(b,a){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=b;this.init(b,a)}a.prototype.init=function(b,a){this.chart=b;this.setOptions(a);a.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())};a.prototype.setOptions=function(b){var a=A(b.padding,8);this.options=
-b;this.chart.styledMode||(this.itemStyle=b.itemStyle,this.itemHiddenStyle=L(this.itemStyle,b.itemHiddenStyle));this.itemMarginTop=b.itemMarginTop||0;this.itemMarginBottom=b.itemMarginBottom||0;this.padding=a;this.initialItemY=a-5;this.symbolWidth=A(b.symbolWidth,16);this.pages=[];this.proximate="proximate"===b.layout&&!this.chart.inverted;this.baseline=void 0};a.prototype.update=function(b,a){var c=this.chart;this.setOptions(L(!0,this.options,b));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;A(a,
-!0)&&c.redraw();J(this,"afterUpdate")};a.prototype.colorizeItem=function(b,a){var c=b.legendItem||{},d=c.group,e=c.label,h=c.line;c=c.symbol;if(d)d[a?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var f=this.options;d=this.itemHiddenStyle.color;f=a?f.itemStyle.color:d;var g=a?b.color||d:d,k=b.options&&b.options.marker,l={fill:g};e&&e.css({fill:f,color:f});h&&h.attr({stroke:g});c&&(k&&c.isMarker&&(l=b.pointAttribs(),a||(l.stroke=l.fill=d)),c.attr(l))}J(this,"afterColorizeItem",
-{item:b,visible:a})};a.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()};a.prototype.positionItem=function(b){var a=this,c=b.legendItem||{},d=c.group,h=c.x;h=void 0===h?0:h;c=c.y;c=void 0===c?0:c;var f=this.options,g=f.symbolPadding,l=!f.rtl;f=b.checkbox;d&&d.element&&(g={translateX:l?h:this.legendWidth-h-2*g-4,translateY:c},d[e(d.translateY)?"animate":"attr"](g,void 0,function(){J(a,"afterPositionItem",{item:b})}));
-f&&(f.x=h,f.y=c)};a.prototype.destroyItem=function(b){for(var a=b.checkbox,c=b.legendItem||{},d=0,e=["group","label","line","symbol"];d<e.length;d++){var h=e[d];c[h]&&(c[h]=c[h].destroy())}a&&u(a);b.legendItem=void 0};a.prototype.destroy=function(){for(var b=0,a=this.getAllItems();b<a.length;b++)this.destroyItem(a[b]);b=0;for(a="clipRect up down pager nav box title group".split(" ");b<a.length;b++){var c=a[b];this[c]&&(this[c]=this[c].destroy())}this.display=null};a.prototype.positionCheckboxes=function(){var b=
-this.group&&this.group.alignAttr,a=this.clipHeight||this.legendHeight,c=this.titleHeight;if(b){var d=b.translateY;this.allItems.forEach(function(e){var h=e.checkbox;if(h){var f=d+c+h.y+(this.scrollOffset||0)+3;m(h,{left:b.translateX+e.checkboxOffset+h.x-20+"px",top:f+"px",display:this.proximate||f>d-6&&f<d+a-6?"":"none"})}},this)}};a.prototype.renderTitle=function(){var b=this.options,a=this.padding,c=b.title,d=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,a-3,a-4,void 0,void 0,
-void 0,b.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(c.style),this.title.add(this.group)),c.width||this.title.css({width:this.maxLegendWidth+"px"}),b=this.title.getBBox(),d=b.height,this.offsetWidth=b.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d};a.prototype.setText=function(b){var a=this.options;b.legendItem.label.attr({text:a.labelFormat?t(a.labelFormat,b,this.chart):a.labelFormatter.call(b)})};a.prototype.renderItem=function(b){var a=
-b.legendItem=b.legendItem||{},c=this.chart,d=c.renderer,e=this.options,h=this.symbolWidth,f=e.symbolPadding||0,g=this.itemStyle,l=this.itemHiddenStyle,k="horizontal"===e.layout?A(e.itemDistance,20):0,m=!e.rtl,n=!b.series,u=!n&&b.series.drawLegendSymbol?b.series:b,q=u.options,t=this.createCheckboxForItem&&q&&q.showCheckbox,F=e.useHTML,P=b.options.className,M=a.label;q=h+f+k+(t?20:0);M||(a.group=d.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+b.colorIndex+(P?" "+P:"")+(n?
-" highcharts-series-"+b.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.label=M=d.text("",m?h+f:-f,this.baseline||0,F),c.styledMode||M.css(L(b.visible?g:l)),M.attr({align:m?"left":"right",zIndex:2}).add(a.group),this.baseline||(this.fontMetrics=d.fontMetrics(c.styledMode?12:g.fontSize,M),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,M.attr("y",this.baseline),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,e.squareSymbol&&(this.symbolWidth=A(e.symbolWidth,Math.max(this.symbolHeight,
-16)),q=this.symbolWidth+f+k+(t?20:0),m&&M.attr("x",this.symbolWidth+f))),u.drawLegendSymbol(this,b),this.setItemEvents&&this.setItemEvents(b,M,F));t&&!b.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(b);this.colorizeItem(b,b.visible);!c.styledMode&&g.width||M.css({width:(e.itemWidth||this.widthOption||c.spacingBox.width)-q+"px"});this.setText(b);c=M.getBBox();d=this.fontMetrics&&this.fontMetrics.h||0;b.itemWidth=b.checkboxOffset=e.itemWidth||a.labelWidth||c.width+q;this.maxItemWidth=
-Math.max(this.maxItemWidth,b.itemWidth);this.totalItemWidth+=b.itemWidth;this.itemHeight=b.itemHeight=Math.round(a.labelHeight||(c.height>1.5*d?c.height:d))};a.prototype.layoutItem=function(a){var b=this.options,c=this.padding,d="horizontal"===b.layout,e=a.itemHeight,h=this.itemMarginBottom,f=this.itemMarginTop,g=d?A(b.itemDistance,20):0,l=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:a.itemWidth;var k=a.legendItem||{};d&&this.itemX-c+b>l&&(this.itemX=c,this.lastLineHeight&&
-(this.itemY+=f+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY=f+this.itemY+h;this.lastLineHeight=Math.max(e,this.lastLineHeight);k.x=this.itemX;k.y=this.itemY;d?this.itemX+=b:(this.itemY+=f+e+h,this.lastLineHeight=e);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-c-(a.checkbox?0:g):b)+c,this.offsetWidth)};a.prototype.getAllItems=function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&A(c.showInLegend,e(c.linkedTo)?!1:void 0,!0)&&(a=a.concat((b.legendItem||
-{}).labels||("point"===c.legendType?b.data:b)))});J(this,"afterGetAllItems",{allItems:a});return a};a.prototype.getAlignment=function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)};a.prototype.adjustMargins=function(a,c){var b=this.chart,d=this.options,h=this.getAlignment();h&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(f,g){f.test(h)&&!e(a[g])&&(b[n[g]]=Math.max(b[n[g]],
-b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+A(d.margin,12)+c[g]+(b.titleOffset[g]||0)))})};a.prototype.proximatePositions=function(){var a=this.chart,c=[],d="left"===this.options.align;this.allItems.forEach(function(b){var e;var h=d;if(b.yAxis){b.xAxis.options.reversed&&(h=!h);b.points&&(e=C(h?b.points:b.points.slice(0).reverse(),function(a){return I(a.plotY)}));h=this.itemMarginTop+b.legendItem.label.getBBox().height+this.itemMarginBottom;var f=b.yAxis.top-a.plotTop;
-b.visible?(e=e?e.plotY:b.yAxis.height,e+=f-.3*h):e=f+b.yAxis.height;c.push({target:e,size:h,item:b})}},this);for(var e,h=0,g=f(c,a.plotHeight);h<g.length;h++){var l=g[h];e=l.item.legendItem||{};l.pos&&(e.y=a.plotTop-a.spacing[0]+l.pos)}};a.prototype.render=function(){var a=this.chart,c=a.renderer,e=this.options,h=this.padding,f=this.getAllItems(),g=this.group,l=this.box;this.itemX=h;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=d(e.width,a.spacingBox.width-h);var k=
-a.spacingBox.width-2*h-e.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(k/=2);this.maxLegendWidth=this.widthOption||k;g||(this.group=g=c.g("legend").addClass(e.className||"").attr({zIndex:7}).add(),this.contentGroup=c.g().attr({zIndex:1}).add(g),this.scrollGroup=c.g().add(this.contentGroup));this.renderTitle();q(f,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});e.reversed&&f.reverse();this.allItems=f;this.display=k=!!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)+h;var m=this.lastItemY+this.lastLineHeight+this.titleHeight;m=this.handleOverflow(m);m+=h;l||(this.box=l=c.rect().addClass("highcharts-legend-box").attr({r:e.borderRadius}).add(g));a.styledMode||l.attr({stroke:e.borderColor,"stroke-width":e.borderWidth||0,fill:e.backgroundColor||"none"}).shadow(e.shadow);if(0<f&&0<m)l[l.placed?"animate":
-"attr"](l.crisp.call({},{x:0,y:0,width:f,height:m},l.strokeWidth()));g[k?"show":"hide"]();a.styledMode&&"none"===g.getStyle("display")&&(f=m=0);this.legendWidth=f;this.legendHeight=m;k&&this.align();this.proximate||this.positionItems();J(this,"afterRender")};a.prototype.align=function(a){void 0===a&&(a=this.chart.spacingBox);var b=this.chart,c=this.options,d=a.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<b.titleOffset[0]?d+=b.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<b.titleOffset[2]&&
-(d-=b.titleOffset[2]);d!==a.y&&(a=L(a,{y:d}));b.hasRendered||(this.group.placed=!1);this.group.align(L(c,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":c.verticalAlign}),!0,a)};a.prototype.handleOverflow=function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,h=e.y,f="top"===e.verticalAlign,g=this.padding,l=e.maxHeight,k=e.navigation,m=A(k.animation,!0),n=k.arrowSize||12,u=this.pages,q=this.allItems,t=function(a){"number"===typeof a?v.attr({height:a}):
-v&&(b.clipRect=v.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+g+"px,9999px,"+(g+a)+"px,0)":"auto")},F=function(a){b[a]=d.circle(0,0,1.3*n).translate(n/2,n/2).add(C);c.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]},P,M,r;h=c.spacingBox.height+(f?-h:h)-g;var C=this.nav,v=this.clipRect;"horizontal"!==e.layout||"middle"===e.verticalAlign||e.floating||(h/=2);l&&(h=Math.min(h,l));u.length=0;a&&0<h&&a>h&&!1!==k.enabled?(this.clipHeight=P=
-Math.max(h-20-this.titleHeight-g,0),this.currentPage=A(this.currentPage,1),this.fullHeight=a,q.forEach(function(a,b){r=a.legendItem||{};a=r.y||0;var c=Math.round(r.label.getBBox().height),d=u.length;if(!d||a-u[d-1]>P&&(M||a)!==u[d-1])u.push(M||a),d++;r.pageIx=d-1;M&&((q[b-1].legendItem||{}).pageIx=d-1);b===q.length-1&&a+c-u[d-1]>P&&c<=P&&(u.push(a),r.pageIx=d);a!==M&&(M=a)}),v||(v=b.clipRect=d.clipRect(0,g,9999,0),b.contentGroup.clip(v)),t(P),C||(this.nav=C=d.g().attr({zIndex:1}).add(this.group),
-this.up=d.symbol("triangle",0,0,n,n).add(C),F("upTracker").on("click",function(){b.scroll(-1,m)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&k.style&&this.pager.css(k.style),this.pager.add(C),this.down=d.symbol("triangle-down",0,0,n,n).add(C),F("downTracker").on("click",function(){b.scroll(1,m)})),b.scroll(0),a=h):C&&(t(),this.nav=C.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a};a.prototype.scroll=function(a,c){var b=this,d=this.chart,
-e=this.pages,f=e.length,g=this.clipHeight,l=this.options.navigation,k=this.pager,m=this.padding,p=this.currentPage+a;p>f&&(p=f);0<p&&("undefined"!==typeof c&&r(c,d),this.nav.attr({translateX:m,translateY:g+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),k.attr({text:p+"/"+f}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,
-"class":p===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),d.styledMode||(this.up.attr({fill:1===p?l.inactiveColor:l.activeColor}),this.upTracker.css({cursor:1===p?"default":"pointer"}),this.down.attr({fill:p===f?l.inactiveColor:l.activeColor}),this.downTracker.css({cursor:p===f?"default":"pointer"})),this.scrollOffset=-e[p-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=p,this.positionCheckboxes(),a=v(A(c,d.renderer.globalAnimation,
-!0)),h(function(){J(b,"afterScroll",{currentPage:p})},a.duration))};a.prototype.setItemEvents=function(a,c,d){var b=this,e=a.legendItem||{},h=b.chart.renderer.boxWrapper,f=a instanceof E,g="highcharts-legend-"+(f?"point":"series")+"-active",l=b.chart.styledMode,k=function(c){b.allItems.forEach(function(b){a!==b&&[b].concat(b.linkedSeries||[]).forEach(function(a){a.setState(c,!f)})})},m=0;for(d=d?[c,e.symbol]:[e.group];m<d.length;m++)if(e=d[m])e.on("mouseover",function(){a.visible&&k("inactive");a.setState("hover");
-a.visible&&h.addClass(g);l||c.css(b.options.itemHoverStyle)}).on("mouseout",function(){b.chart.styledMode||c.css(L(a.visible?b.itemStyle:b.itemHiddenStyle));k("");h.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible();k(a.visible?"inactive":"")};h.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):J(a,"legendItemClick",b,c)})};a.prototype.createCheckboxForItem=function(a){a.checkbox=l("input",{type:"checkbox",className:"highcharts-legend-checkbox",
-checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);c(a.checkbox,"click",function(b){J(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})};return a}();"";return a});K(g,"Core/Series/SeriesRegistry.js",[g["Core/Globals.js"],g["Core/Defaults.js"],g["Core/Series/Point.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=g.defaultOptions,B=E.extendClass,G=E.merge,r;(function(g){function n(a,c){var f=v.plotOptions||{},
-m=c.defaultOptions,e=c.prototype;e.type=a;e.pointClass||(e.pointClass=x);m&&(f[a]=m);g.seriesTypes[a]=c}g.seriesTypes=a.seriesTypes;g.registerSeriesType=n;g.seriesType=function(a,c,l,m,e){var f=v.plotOptions||{};c=c||"";f[a]=G(f[c],l);n(a,B(g.seriesTypes[c]||function(){},m));g.seriesTypes[a].prototype.type=a;e&&(g.seriesTypes[a].prototype.pointClass=B(x,e));return g.seriesTypes[a]}})(r||(r={}));return r});K(g,"Core/Chart/Chart.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/Axis.js"],
-g["Core/Defaults.js"],g["Core/FormatUtilities.js"],g["Core/Foundation.js"],g["Core/Globals.js"],g["Core/Legend/Legend.js"],g["Core/MSPointer.js"],g["Core/Pointer.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Time.js"],g["Core/Utilities.js"],g["Core/Renderer/HTML/AST.js"]],function(a,g,x,E,D,B,G,r,t,n,f,c,l,m,e){var u=a.animate,C=a.animObject,v=a.setAnimation,I=x.defaultOptions,L=x.defaultTime,A=E.numberFormat,d=D.registerEventOptions,
-q=B.charts,h=B.doc,k=B.marginNames,b=B.svg,p=B.win,z=f.seriesTypes,w=m.addEvent,N=m.attr,H=m.cleanRecursively,O=m.createElement,Q=m.css,S=m.defined,Y=m.discardElement,y=m.erase,T=m.error,K=m.extend,ca=m.find,R=m.fireEvent,F=m.getStyle,P=m.isArray,M=m.isNumber,X=m.isObject,W=m.isString,U=m.merge,Z=m.objectEach,V=m.pick,ba=m.pInt,ha=m.relativeLength,da=m.removeEvent,fa=m.splat,ia=m.syncTimeout,ka=m.uniqueKey;a=function(){function a(a,b,c){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(a,b,c)}a.chart=function(b,c,
-d){return new a(b,c,d)};a.prototype.getArgs=function(a,b,c){W(a)||a.nodeName?(this.renderTo=a,this.init(b,c)):this.init(a,b)};a.prototype.init=function(a,b){var c=a.plotOptions||{};R(this,"init",{args:arguments},function(){var e=U(I,a),h=e.chart;Z(e.plotOptions,function(a,b){X(a)&&(a.tooltip=c[b]&&U(c[b].tooltip)||void 0)});e.tooltip.userOptions=a.chart&&a.chart.forExport&&a.tooltip.userOptions||a.tooltip;this.userOptions=a;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=
-[];this.callback=b;this.isResizing=0;var f=h.zooming=h.zooming||{};a.chart&&!a.chart.zooming&&(f.resetButton=h.resetZoomButton);f.key=V(f.key,h.zoomKey);f.pinchType=V(f.pinchType,h.pinchType);f.singleTouch=V(f.singleTouch,h.zoomBySingleTouch);f.type=V(f.type,h.zoomType);this.options=e;this.axes=[];this.series=[];this.time=a.time&&Object.keys(a.time).length?new l(a.time):B.time;this.numberFormatter=h.numberFormatter||A;this.styledMode=h.styledMode;this.hasCartesianSeries=h.showAxes;this.index=q.length;
-q.push(this);B.chartCount++;d(this,h);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;R(this,"afterInit");this.firstRender()})};a.prototype.initSeries=function(a){var b=this.options.chart;b=a.type||b.type||b.defaultSeriesType;var c=z[b];c||T(17,!0,this,{missingModuleFor:b});b=new c;"function"===typeof b.init&&b.init(this,a);return b};a.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(a){a.points||a.data||!a.enabledDataSorting||a.setData(a.options.data,
-!1)})};a.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(a,b){return a.linkedSeries.length||b.linkedSeries.length?b.linkedSeries.length-a.linkedSeries.length:0})};a.prototype.orderSeries=function(a){var b=this.series;a=a||0;for(var c=b.length;a<c;++a)b[a]&&(b[a].index=a,b[a].name=b[a].getName())};a.prototype.isInsidePlot=function(a,b,c){void 0===c&&(c={});var d=this.inverted,e=this.plotBox,h=this.plotLeft,f=this.plotTop,g=this.scrollablePlotBox,l=0;var k=0;c.visiblePlotOnly&&
-this.scrollingContainer&&(k=this.scrollingContainer,l=k.scrollLeft,k=k.scrollTop);var m=c.series;e=c.visiblePlotOnly&&g||e;g=c.inverted?b:a;b=c.inverted?a:b;a={x:g,y:b,isInsidePlot:!0,options:c};if(!c.ignoreX){var p=m&&(d&&!this.polar?m.yAxis:m.xAxis)||{pos:h,len:Infinity};g=c.paneCoordinates?p.pos+g:h+g;g>=Math.max(l+h,p.pos)&&g<=Math.min(l+h+e.width,p.pos+p.len)||(a.isInsidePlot=!1)}!c.ignoreY&&a.isInsidePlot&&(d=c.axis&&!c.axis.isXAxis&&c.axis||m&&(d?m.xAxis:m.yAxis)||{pos:f,len:Infinity},c=c.paneCoordinates?
-d.pos+b:f+b,c>=Math.max(k+f,d.pos)&&c<=Math.min(k+f+e.height,d.pos+d.len)||(a.isInsidePlot=!1));R(this,"afterIsInsidePlot",a);return a.isInsidePlot};a.prototype.redraw=function(a){R(this,"beforeRedraw");var b=this.hasCartesianSeries?this.axes:this.colorAxis||[],c=this.series,d=this.pointer,e=this.legend,h=this.userOptions.legend,f=this.renderer,g=f.isHidden(),l=[],k=this.isDirtyBox,m=this.isDirtyLegend;this.setResponsive&&this.setResponsive(!1);v(this.hasRendered?a:!1,this);g&&this.temporaryDisplay();
-this.layOutTitles();for(a=c.length;a--;){var p=c[a];if(p.options.stacking||p.options.centerInCategory){var F=!0;if(p.isDirty){var n=!0;break}}}if(n)for(a=c.length;a--;)p=c[a],p.options.stacking&&(p.isDirty=!0);c.forEach(function(a){a.isDirty&&("point"===a.options.legendType?("function"===typeof a.updateTotals&&a.updateTotals(),m=!0):h&&(h.labelFormatter||h.labelFormat)&&(m=!0));a.isDirtyData&&R(a,"updatedData")});m&&e&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);F&&this.getStacks();b.forEach(function(a){a.updateNames();
-a.setScale()});this.getMargins();b.forEach(function(a){a.isDirty&&(k=!0)});b.forEach(function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,l.push(function(){R(a,"afterSetExtremes",K(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(k||F)&&a.redraw()});k&&this.drawChartBox();R(this,"predraw");c.forEach(function(a){(k||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});d&&d.reset(!0);f.draw();R(this,"redraw");R(this,"render");g&&this.temporaryDisplay(!0);l.forEach(function(a){a.call()})};
-a.prototype.get=function(a){function b(b){return b.id===a||b.options&&b.options.id===a}for(var c=this.series,d=ca(this.axes,b)||ca(this.series,b),e=0;!d&&e<c.length;e++)d=ca(c[e].points||[],b);return d};a.prototype.getAxes=function(){var a=this,b=this.options,c=b.xAxis=fa(b.xAxis||{});b=b.yAxis=fa(b.yAxis||{});R(this,"getAxes");c.forEach(function(a,b){a.index=b;a.isX=!0});b.forEach(function(a,b){a.index=b});c.concat(b).forEach(function(b){new g(a,b)});R(this,"afterGetAxes")};a.prototype.getSelectedPoints=
-function(){return this.series.reduce(function(a,b){b.getPointsCollection().forEach(function(b){V(b.selectedStaging,b.selected)&&a.push(b)});return a},[])};a.prototype.getSelectedSeries=function(){return this.series.filter(function(a){return a.selected})};a.prototype.setTitle=function(a,b,c){this.applyDescription("title",a);this.applyDescription("subtitle",b);this.applyDescription("caption",void 0);this.layOutTitles(c)};a.prototype.applyDescription=function(a,b){var c=this,d="title"===a?{color:"#333333",
-fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};d=this.options[a]=U(!this.styledMode&&{style:d},this.options[a],b);var e=this[a];e&&b&&(this[a]=e=e.destroy());d&&!e&&(e=this.renderer.text(d.text,0,0,d.useHTML).attr({align:d.align,"class":"highcharts-"+a,zIndex:d.zIndex||4}).add(),e.update=function(b){c[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[a]](b)},this.styledMode||e.css(d.style),this[a]=e)};a.prototype.layOutTitles=function(a){var b=[0,0,0],c=this.renderer,
-d=this.spacingBox;["title","subtitle","caption"].forEach(function(a){var e=this[a],h=this.options[a],f=h.verticalAlign||"top";a="title"===a?"top"===f?-3:0:"top"===f?b[0]+2:0;var g;if(e){this.styledMode||(g=h.style&&h.style.fontSize);g=c.fontMetrics(g,e).b;e.css({width:(h.width||d.width+(h.widthAdjust||0))+"px"});var k=Math.round(e.getBBox(h.useHTML).height);e.align(K({y:"bottom"===f?g:a+g,height:k},h),!1,"spacingBox");h.floating||("top"===f?b[0]=Math.ceil(b[0]+k):"bottom"===f&&(b[2]=Math.ceil(b[2]+
-k)))}},this);b[0]&&"top"===(this.options.title.verticalAlign||"top")&&(b[0]+=this.options.title.margin);b[2]&&"bottom"===this.options.caption.verticalAlign&&(b[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==b.join(",");this.titleOffset=b;R(this,"afterLayOutTitles");!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&V(a,!0)&&this.isDirtyBox&&this.redraw())};a.prototype.getChartSize=function(){var a=this.options.chart,b=a.width;a=a.height;
-var c=this.renderTo;S(b)||(this.containerWidth=F(c,"width"));S(a)||(this.containerHeight=F(c,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);this.chartHeight=Math.max(0,ha(a,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))};a.prototype.temporaryDisplay=function(a){var b=this.renderTo;if(a)for(;b&&b.style;)b.hcOrigStyle&&(Q(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(h.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){h.body.contains(b)||
-b.parentNode||(b.hcOrigDetached=!0,h.body.appendChild(b));if("none"===F(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,height:b.style.height,overflow:b.style.overflow},a={display:"block",overflow:"hidden"},b!==this.renderTo&&(a.height=0),Q(b,a),b.offsetWidth||b.style.setProperty("display","block","important");b=b.parentNode;if(b===h.body)break}};a.prototype.setClassName=function(a){this.container.className="highcharts-container "+(a||"")};a.prototype.getContainer=function(){var a=
-this.options,d=a.chart,f=ka(),g,k=this.renderTo;k||(this.renderTo=k=d.renderTo);W(k)&&(this.renderTo=k=h.getElementById(k));k||T(13,!0,this);var l=ba(N(k,"data-highcharts-chart"));M(l)&&q[l]&&q[l].hasRendered&&q[l].destroy();N(k,"data-highcharts-chart",this.index);k.innerHTML=e.emptyHTML;d.skipClone||k.offsetWidth||this.temporaryDisplay();this.getChartSize();l=this.chartWidth;var m=this.chartHeight;Q(k,{overflow:"hidden"});this.styledMode||(g=K({position:"relative",overflow:"hidden",width:l+"px",
-height:m+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},d.style||{}));this.container=f=O("div",{id:f},g,k);this._cursor=f.style.cursor;this.renderer=new (d.renderer||!b?n.getRendererType(d.renderer):c)(f,l,m,void 0,d.forExport,a.exporting&&a.exporting.allowHTML,this.styledMode);v(void 0,this);this.setClassName(d.className);if(this.styledMode)for(var p in a.defs)this.renderer.definition(a.defs[p]);
-else this.renderer.setStyle(d.style);this.renderer.chartIndex=this.index;R(this,"afterGetContainer")};a.prototype.getMargins=function(a){var b=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();d[0]&&!S(c[0])&&(this.plotTop=Math.max(this.plotTop,d[0]+b[0]));d[2]&&!S(c[2])&&(this.marginBottom=Math.max(this.marginBottom,d[2]+b[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,b);R(this,"getMargins");a||this.getAxisMargins()};a.prototype.getAxisMargins=function(){var a=
-this,b=a.axisOffset=[0,0,0,0],c=a.colorAxis,d=a.margin,e=function(a){a.forEach(function(a){a.visible&&a.getOffset()})};a.hasCartesianSeries?e(a.axes):c&&c.length&&e(c);k.forEach(function(c,e){S(d[e])||(a[c]+=b[e])});a.setChartSize()};a.prototype.reflow=function(a){var b=this,c=b.options.chart,d=b.renderTo,e=S(c.width)&&S(c.height),f=c.width||F(d,"width");c=c.height||F(d,"height");d=a?a.target:p;delete b.pointer.chartPosition;if(!e&&!b.isPrinting&&f&&c&&(d===p||d===h)){if(f!==b.containerWidth||c!==
-b.containerHeight)m.clearTimeout(b.reflowTimeout),b.reflowTimeout=ia(function(){b.container&&b.setSize(void 0,void 0,!1)},a?100:0);b.containerWidth=f;b.containerHeight=c}};a.prototype.setReflow=function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=w(p,"resize",function(a){b.options&&b.reflow(a)}),w(this,"destroy",this.unbindReflow))};a.prototype.setSize=function(a,b,c){var d=this,e=d.renderer;d.isResizing+=1;v(c,d);c=
-e.globalAnimation;d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;"undefined"!==typeof a&&(d.options.chart.width=a);"undefined"!==typeof b&&(d.options.chart.height=b);d.getChartSize();d.styledMode||(c?u:Q)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+"px"},c);d.setChartSize(!0);e.setSize(d.chartWidth,d.chartHeight,c);d.axes.forEach(function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;R(d,
-"resize");ia(function(){d&&R(d,"endResize",null,function(){--d.isResizing})},C(c).duration)};a.prototype.setChartSize=function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,h=this.options.chart,f=this.spacing,g=this.clipOffset,k,l,m,p;this.plotLeft=k=Math.round(this.plotLeft);this.plotTop=l=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-k-this.marginRight));this.plotHeight=p=Math.max(0,Math.round(e-l-this.marginBottom));this.plotSizeX=b?p:m;this.plotSizeY=
-b?m:p;this.plotBorderWidth=h.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:d-f[3]-f[1],height:e-f[0]-f[2]};this.plotBox=c.plotBox={x:k,y:l,width:m,height:p};b=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(b,g[3])/2);e=Math.ceil(Math.max(b,g[0])/2);this.clipBox={x:d,y:e,width:Math.floor(this.plotSizeX-Math.max(b,g[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(b,g[2])/2-e))};a||(this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()}),
-c.alignElements());R(this,"afterSetChartSize",{skipAxes:a})};a.prototype.resetMargins=function(){R(this,"resetMargins");var a=this,b=a.options.chart;["margin","spacing"].forEach(function(c){var d=b[c],e=X(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,h){a[c][h]=V(b[c+d],e[h])})});k.forEach(function(b,c){a[b]=V(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]};a.prototype.drawChartBox=function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,
-d=this.chartHeight,e=this.styledMode,h=this.plotBGImage,f=a.backgroundColor,g=a.plotBackgroundColor,k=a.plotBackgroundImage,l=this.plotLeft,m=this.plotTop,p=this.plotWidth,F=this.plotHeight,n=this.plotBox,u=this.clipRect,q=this.clipBox,w=this.chartBackground,M=this.plotBackground,z=this.plotBorder,y,t="animate";w||(this.chartBackground=w=b.rect().addClass("highcharts-background").add(),t="attr");if(e)var P=y=w.strokeWidth();else{P=a.borderWidth||0;y=P+(a.shadow?8:0);f={fill:f||"none"};if(P||w["stroke-width"])f.stroke=
-a.borderColor,f["stroke-width"]=P;w.attr(f).shadow(a.shadow)}w[t]({x:y/2,y:y/2,width:c-y-P%2,height:d-y-P%2,r:a.borderRadius});t="animate";M||(t="attr",this.plotBackground=M=b.rect().addClass("highcharts-plot-background").add());M[t](n);e||(M.attr({fill:g||"none"}).shadow(a.plotShadow),k&&(h?(k!==h.attr("href")&&h.attr("href",k),h.animate(n)):this.plotBGImage=b.image(k,l,m,p,F).add()));u?u.animate({width:q.width,height:q.height}):this.clipRect=b.clipRect(q);t="animate";z||(t="attr",this.plotBorder=
-z=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());e||z.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});z[t](z.crisp({x:l,y:m,width:p,height:F},-z.strokeWidth()));this.isDirtyBox=!1;R(this,"afterDrawChartBox")};a.prototype.propFromSeries=function(){var a=this,b=a.options.chart,c=a.options.series,d,e,h;["inverted","angular","polar"].forEach(function(f){e=z[b.type||b.defaultSeriesType];h=b[f]||e&&e.prototype[f];for(d=c&&c.length;!h&&d--;)(e=z[c[d].type])&&
-e.prototype[f]&&(h=!0);a[f]=h})};a.prototype.linkSeries=function(){var a=this,b=a.series;b.forEach(function(a){a.linkedSeries.length=0});b.forEach(function(b){var c=b.options.linkedTo;W(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,c.enabledDataSorting&&b.setDataSortingOptions(),b.visible=V(b.options.visible,c.options.visible,b.visible))});R(this,"afterLinkSeries")};a.prototype.renderSeries=function(){this.series.forEach(function(a){a.translate();
-a.render()})};a.prototype.renderLabels=function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(c){var d=K(b.style,c.style),e=ba(d.left)+a.plotLeft,h=ba(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,e,h).attr({zIndex:2}).css(d).add()})};a.prototype.render=function(){var a=this.axes,b=this.colorAxis,c=this.renderer,d=this.options,e=function(a){a.forEach(function(a){a.visible&&a.render()})},h=0;this.setTitle();this.legend=new G(this,d.legend);this.getStacks&&
-this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return h=21,!0});var f=this.plotHeight=Math.max(this.plotHeight-h,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();var g=1.1<d/this.plotWidth,k=1.05<f/this.plotHeight;if(g||k)a.forEach(function(a){(a.horiz&&g||!a.horiz&&k)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries?e(a):b&&b.length&&e(b);
-this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0};a.prototype.addCredits=function(a){var b=this,c=U(!0,this.options.credits,a);c.enabled&&!this.credits&&(this.credits=this.renderer.text(c.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){c.href&&(p.location.href=c.href)}).attr({align:c.position.align,zIndex:8}),b.styledMode||
-this.credits.css(c.style),this.credits.add().align(c.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})};a.prototype.destroy=function(){var a=this,b=a.axes,c=a.series,d=a.container,h=d&&d.parentNode,f;R(a,"destroy");a.renderer.forExport?y(q,a):q[a.index]=void 0;B.chartCount--;a.renderTo.removeAttribute("data-highcharts-chart");da(a);for(f=b.length;f--;)b[f]=b[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=c.length;f--;)c[f]=
-c[f].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});d&&(d.innerHTML=e.emptyHTML,da(d),h&&Y(d));Z(a,function(b,c){delete a[c]})};a.prototype.firstRender=function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();
-a.getAxes();(P(b.series)?b.series:[]).forEach(function(b){a.initSeries(b)});a.linkSeries();a.setSeriesData();R(a,"beforeRender");t&&(r.isRequired()?a.pointer=new r(a,b):a.pointer=new t(a,b));a.render();a.pointer.getChartPosition();if(!a.renderer.imgCount&&!a.hasLoaded)a.onload();a.temporaryDisplay(!0)}};a.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&"undefined"!==typeof this.index&&a.apply(this,[this])},this);R(this,"load");R(this,"render");S(this.index)&&
-this.setReflow(this.options.chart.reflow);this.warnIfA11yModuleNotLoaded();this.hasLoaded=!0};a.prototype.warnIfA11yModuleNotLoaded=function(){var a=this.options,b=this.title;a&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(b&&b.element.textContent||"").replace(/</g,"&lt;")}),a.accessibility&&!1===a.accessibility.enabled||T('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,this))};a.prototype.addSeries=function(a,b,c){var d=this,e;a&&(b=V(b,!0),R(d,"addSeries",{options:a},function(){e=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();e.enabledDataSorting&&e.setData(a.data,!1);R(d,"afterAddSeries",{series:e});b&&d.redraw(c)}));return e};a.prototype.addAxis=function(a,b,c,d){return this.createAxis(b?"xAxis":"yAxis",{axis:a,redraw:c,animation:d})};a.prototype.addColorAxis=function(a,b,c){return this.createAxis("colorAxis",{axis:a,redraw:b,animation:c})};a.prototype.createAxis=
-function(a,b){a=new g(this,U(b.axis,{index:this[a].length,isX:"xAxis"===a}));V(b.redraw,!0)&&this.redraw(b.animation);return a};a.prototype.showLoading=function(a){var b=this,c=b.options,d=c.loading,h=function(){f&&Q(f,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})},f=b.loadingDiv,g=b.loadingSpan;f||(b.loadingDiv=f=O("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container));g||(b.loadingSpan=g=O("span",{className:"highcharts-loading-inner"},
-null,f),w(b,"redraw",h));f.className="highcharts-loading";e.setElementHTML(g,V(a,c.lang.loading,""));b.styledMode||(Q(f,K(d.style,{zIndex:10})),Q(g,d.labelStyle),b.loadingShown||(Q(f,{opacity:0,display:""}),u(f,{opacity:d.style.opacity||.5},{duration:d.showDuration||0})));b.loadingShown=!0;h()};a.prototype.hideLoading=function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(b,{opacity:0},{duration:a.loading.hideDuration||100,
-complete:function(){Q(b,{display:"none"})}}));this.loadingShown=!1};a.prototype.update=function(a,b,c,e){var h=this,f={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},g=a.isResponsiveOptions,k=[],m,p;R(h,"update",{options:a});g||h.setResponsive(!1,!0);a=H(a,h.options);h.userOptions=U(h.userOptions,a);var F=a.chart;if(F){U(!0,h.options.chart,F);"className"in F&&h.setClassName(F.className);"reflow"in F&&h.setReflow(F.reflow);if("inverted"in F||"polar"in F||"type"in
-F){h.propFromSeries();var n=!0}"alignTicks"in F&&(n=!0);"events"in F&&d(this,F);Z(F,function(a,b){-1!==h.propsRequireUpdateSeries.indexOf("chart."+b)&&(m=!0);-1!==h.propsRequireDirtyBox.indexOf(b)&&(h.isDirtyBox=!0);-1!==h.propsRequireReflow.indexOf(b)&&(g?h.isDirtyBox=!0:p=!0)});!h.styledMode&&F.style&&h.renderer.setStyle(h.options.chart.style||{})}!h.styledMode&&a.colors&&(this.options.colors=a.colors);a.time&&(this.time===L&&(this.time=new l(a.time)),U(!0,h.options.time,a.time));Z(a,function(b,
-c){if(h[c]&&"function"===typeof h[c].update)h[c].update(b,!1);else if("function"===typeof h[f[c]])h[f[c]](b);else"colors"!==c&&-1===h.collectionsWithUpdate.indexOf(c)&&U(!0,h.options[c],a[c]);"chart"!==c&&-1!==h.propsRequireUpdateSeries.indexOf(c)&&(m=!0)});this.collectionsWithUpdate.forEach(function(b){if(a[b]){var d=[];h[b].forEach(function(a,b){a.options.isInternal||d.push(V(a.options.index,b))});fa(a[b]).forEach(function(a,e){var f=S(a.id),g;f&&(g=h.get(a.id));!g&&h[b]&&(g=h[b][d?d[e]:e])&&f&&
-S(g.options.id)&&(g=void 0);g&&g.coll===b&&(g.update(a,!1),c&&(g.touched=!0));!g&&c&&h.collectionsWithInit[b]&&(h.collectionsWithInit[b][0].apply(h,[a].concat(h.collectionsWithInit[b][1]||[]).concat([!1])).touched=!0)});c&&h[b].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:k.push(a)})}});k.forEach(function(a){a.chart&&a.remove&&a.remove(!1)});n&&h.axes.forEach(function(a){a.update({},!1)});m&&h.getSeriesOrderByLinks().forEach(function(a){a.chart&&a.update({},!1)},this);n=F&&
-F.width;F=F&&(W(F.height)?ha(F.height,n||h.chartWidth):F.height);p||M(n)&&n!==h.chartWidth||M(F)&&F!==h.chartHeight?h.setSize(n,F,e):V(b,!0)&&h.redraw(e);R(h,"afterUpdate",{options:a,redraw:b,animation:e})};a.prototype.setSubtitle=function(a,b){this.applyDescription("subtitle",a);this.layOutTitles(b)};a.prototype.setCaption=function(a,b){this.applyDescription("caption",a);this.layOutTitles(b)};a.prototype.showResetZoom=function(){function a(){b.zoomOut()}var b=this,c=I.lang,d=b.options.chart.zooming.resetButton,
-h=d.theme,e="chart"===d.relativeTo||"spacingBox"===d.relativeTo?null:"scrollablePlotBox";R(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,h).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,e)});R(this,"afterShowResetZoom")};a.prototype.zoomOut=function(){R(this,"selection",{resetSelection:!0},this.zoom)};a.prototype.zoom=function(a){var b=this,c=b.pointer,d=!1,h;!a||a.resetSelection?
-(b.axes.forEach(function(a){h=a.zoom()}),c.initiated=!1):a.xAxis.concat(a.yAxis).forEach(function(a){var e=a.axis;if(c[e.isXAxis?"zoomX":"zoomY"]&&S(c.mouseDownX)&&S(c.mouseDownY)&&b.isInsidePlot(c.mouseDownX-b.plotLeft,c.mouseDownY-b.plotTop,{axis:e})||!S(b.inverted?c.mouseDownX:c.mouseDownY))h=e.zoom(a.min,a.max),e.displayBtn&&(d=!0)});var e=b.resetZoomButton;d&&!e?b.showResetZoom():!d&&X(e)&&(b.resetZoomButton=e.destroy());h&&b.redraw(V(b.options.chart.animation,a&&a.animation,100>b.pointCount))};
-a.prototype.pan=function(a,b){var c=this,d=c.hoverPoints;b="object"===typeof b?b:{enabled:b,type:"x"};var e=c.options.chart;e&&e.panning&&(e.panning=b);var h=b.type,f;R(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});var b=c.xAxis;"xy"===h?b=b.concat(c.yAxis):"y"===h&&(b=c.yAxis);var e={};b.forEach(function(b){if(b.options.panningEnabled&&!b.options.isInternal){var d=b.horiz,g=a[d?"chartX":"chartY"];d=d?"mouseDownX":"mouseDownY";var k=c[d],l=b.minPointOffset||0,m=b.reversed&&
-!c.inverted||!b.reversed&&c.inverted?-1:1,p=b.getExtremes(),F=b.toValue(k-g,!0)+l*m,n=b.toValue(k+b.len-g,!0)-(l*m||b.isXAxis&&b.pointRangePadding||0),u=n<F;m=b.hasVerticalPanning();k=u?n:F;F=u?F:n;var q=b.panningState;!m||b.isXAxis||q&&!q.isDirty||b.series.forEach(function(a){var b=a.getProcessedData(!0);b=a.getExtremes(b.yData,!0);q||(q={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE});M(b.dataMin)&&M(b.dataMax)&&(q.startMin=Math.min(V(a.options.threshold,Infinity),b.dataMin,q.startMin),q.startMax=
-Math.max(V(a.options.threshold,-Infinity),b.dataMax,q.startMax))});m=Math.min(V(q&&q.startMin,p.dataMin),l?p.min:b.toValue(b.toPixels(p.min)-b.minPixelPadding));n=Math.max(V(q&&q.startMax,p.dataMax),l?p.max:b.toValue(b.toPixels(p.max)+b.minPixelPadding));b.panningState=q;b.isOrdinal||(l=m-k,0<l&&(F+=l,k=m),l=F-n,0<l&&(F=n,k-=l),b.series.length&&k!==p.min&&F!==p.max&&k>=m&&F<=n&&(b.setExtremes(k,F,!1,!1,{trigger:"pan"}),!c.resetZoomButton&&k!==m&&F!==n&&h.match("y")&&(c.showResetZoom(),b.displayBtn=
-!1),f=!0),e[d]=g)}});Z(e,function(a,b){c[b]=a});f&&c.redraw(!1);Q(c.container,{cursor:"move"})})};return a}();K(a.prototype,{callbacks:[],collectionsWithInit:{xAxis:[a.prototype.addAxis,[!0]],yAxis:[a.prototype.addAxis,[!1]],series:[a.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(" ")});"";return a});K(g,"Core/Legend/LegendSymbol.js",[g["Core/Utilities.js"]],function(a){var g=a.merge,x=a.pick,E;(function(a){a.drawLineMarker=function(a){var v=this.legendItem=this.legendItem||{},r=this.options,t=a.symbolWidth,n=a.symbolHeight,f=n/2,c=this.chart.renderer,l=v.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);var m={},e=r.marker;this.chart.styledMode||
-(m={"stroke-width":r.lineWidth||0},r.dashStyle&&(m.dashstyle=r.dashStyle));v.line=c.path([["M",0,a],["L",t,a]]).addClass("highcharts-graph").attr(m).add(l);e&&!1!==e.enabled&&t&&(r=Math.min(x(e.radius,f),f),0===this.symbol.indexOf("url")&&(e=g(e,{width:n,height:n}),r=0),v.symbol=v=c.symbol(this.symbol,t/2-r,a-r,2*r,2*r,e).addClass("highcharts-point").add(l),v.isMarker=!0)};a.drawRectangle=function(a,g){g=g.legendItem||{};var r=a.symbolHeight,t=a.options.squareSymbol;g.symbol=this.chart.renderer.rect(t?
-(a.symbolWidth-r)/2:0,a.baseline-r+1,t?r:a.symbolWidth,r,x(a.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(g.group)}})(E||(E={}));return E});K(g,"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(){var a=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":a(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"}});K(g,"Core/Series/Series.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/Point.js"],g["Core/Series/SeriesDefaults.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t,n){var f=
-a.animObject,c=a.setAnimation,l=g.defaultOptions,m=x.registerEventOptions,e=E.hasTouch,u=E.svg,C=E.win,v=r.seriesTypes,I=n.arrayMax,L=n.arrayMin,A=n.clamp,d=n.cleanRecursively,q=n.correctFloat,h=n.defined,k=n.erase,b=n.error,p=n.extend,z=n.find,w=n.fireEvent,N=n.getNestedProperty,H=n.isArray,O=n.isNumber,Q=n.isString,S=n.merge,Y=n.objectEach,y=n.pick,T=n.removeEvent,K=n.splat,ca=n.syncTimeout;a=function(){function a(){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}a.prototype.init=function(a,b){w(this,"init",{options:b});var c=this,d=a.series;this.eventsToUnbind=[];c.chart=a;c.options=c.setOptions(b);b=c.options;c.linkedSeries=[];c.bindAxes();p(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});m(this,b);var e=b.events;if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=
-!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(a){c[a+"Data"]||(c[a+"Data"]=[])});c.isCartesian&&(a.hasCartesianSeries=!0);var h;d.length&&(h=d[d.length-1]);c._i=y(h&&h._i,-1)+1;c.opacity=c.options.opacity;a.orderSeries(this.insert(d));b.dataSorting&&b.dataSorting.enabled?c.setDataSortingOptions():c.points||c.data||c.setData(b.data,!1);w(this,"afterInit")};a.prototype.is=function(a){return v[a]&&this instanceof v[a]};a.prototype.insert=function(a){var b=this.options.index,c;if(O(b)){for(c=
-a.length;c--;)if(b>=y(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return y(c,a.length-1)};a.prototype.bindAxes=function(){var a=this,c=a.options,d=a.chart,e;w(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(h){var f=0;d[h].forEach(function(b){e=b.options;if(c[h]===f&&!e.isInternal||"undefined"!==typeof c[h]&&c[h]===e.id||"undefined"===typeof c[h]&&0===e.index)a.insert(b.series),a[h]=b,b.isDirty=!0;e.isInternal||f++});a[h]||
-a.optionalAxis===h||b(18,!0,d)})});w(this,"afterBindAxes")};a.prototype.updateParallelArrays=function(a,b){var c=a.series,d=arguments,e=O(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(e)};a.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length};a.prototype.autoIncrement=
-function(a){var b=this.options,c=b.pointIntervalUnit,d=b.relativeXValue,e=this.chart.time,h=this.xIncrement,f;h=y(h,b.pointStart,0);this.pointInterval=f=y(this.pointInterval,b.pointInterval,1);d&&O(a)&&(f*=a);c&&(b=new e.Date(h),"day"===c?e.set("Date",b,e.get("Date",b)+f):"month"===c?e.set("Month",b,e.get("Month",b)+f):"year"===c&&e.set("FullYear",b,e.get("FullYear",b)+f),f=b.getTime()-h);if(d&&O(a))return h+f;this.xIncrement=h+f;return h};a.prototype.setDataSortingOptions=function(){var a=this.options;
-p(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});h(a.pointRange)||(a.pointRange=1)};a.prototype.setOptions=function(a){var b=this.chart,c=b.options,d=c.plotOptions,e=b.userOptions||{};a=S(a);b=b.styledMode;var f={plotOptions:d,userOptions:a};w(this,"setOptions",f);var g=f.plotOptions[this.type],k=e.plotOptions||{};this.userOptions=f.userOptions;e=S(g,d.series,e.plotOptions&&e.plotOptions[this.type],a);this.tooltipOptions=S(l.tooltip,l.plotOptions.series&&l.plotOptions.series.tooltip,
-l.plotOptions[this.type].tooltip,c.tooltip.userOptions,d.series&&d.series.tooltip,d[this.type].tooltip,a.tooltip);this.stickyTracking=y(a.stickyTracking,k[this.type]&&k[this.type].stickyTracking,k.series&&k.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:e.stickyTracking);null===g.marker&&delete e.marker;this.zoneAxis=e.zoneAxis;d=this.zones=(e.zones||[]).slice();!e.negativeColor&&!e.negativeFillColor||e.zones||(c={value:e[this.zoneAxis+"Threshold"]||e.threshold||0,className:"highcharts-negative"},
-b||(c.color=e.negativeColor,c.fillColor=e.negativeFillColor),d.push(c));d.length&&h(d[d.length-1].value)&&d.push(b?{}:{color:this.color,fillColor:this.fillColor});w(this,"afterSetOptions",{options:e});return e};a.prototype.getName=function(){return y(this.options.name,"Series "+(this.index+1))};a.prototype.getCyclic=function(a,b,c){var d=this.chart,e=this.userOptions,f=a+"Index",g=a+"Counter",k=c?c.length:y(d.options.chart[a+"Count"],d[a+"Count"]);if(!b){var l=y(e[f],e["_"+f]);h(l)||(d.series.length||
-(d[g]=0),e["_"+f]=l=d[g]%k,d[g]+=1);c&&(b=c[l])}"undefined"!==typeof l&&(this[f]=l);this[a]=b};a.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||l.plotOptions[this.type].color,this.chart.options.colors)};a.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]};a.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,
-this.chart.options.symbols)};a.prototype.findPointIndex=function(a,b){var c=a.id,d=a.x,e=this.points,h=this.options.dataSorting,f,g;if(c)h=this.chart.get(c),h instanceof B&&(f=h);else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)if(f=function(b){return!b.touched&&b.index===a.index},h&&h.matchByName?f=function(b){return!b.touched&&b.name===a.name}:this.options.relativeXValue&&(f=function(b){return!b.touched&&b.options.x===a.x}),f=z(e,f),!f)return;if(f){var k=f&&f.index;
-"undefined"!==typeof k&&(g=!0)}"undefined"===typeof k&&O(d)&&(k=this.xData.indexOf(d,b));-1!==k&&"undefined"!==typeof k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!g&&O(k)&&e[k]&&e[k].touched&&(k=void 0);return k};a.prototype.updateData=function(a,b){var c=this.options,d=c.dataSorting,e=this.points,f=[],g=this.requireSorting,k=a.length===e.length,l,m,p,n=!0;this.xIncrement=null;a.forEach(function(a,b){var m=h(a)&&this.pointClass.prototype.optionsToObject.call({series:this},a)||{},n=m.x;
-if(m.id||O(n)){if(m=this.findPointIndex(m,p),-1===m||"undefined"===typeof m?f.push(a):e[m]&&a!==c.data[m]?(e[m].update(a,!1,null,!1),e[m].touched=!0,g&&(p=m+1)):e[m]&&(e[m].touched=!0),!k||b!==m||d&&d.enabled||this.hasDerivedData)l=!0}else f.push(a)},this);if(l)for(a=e.length;a--;)(m=e[a])&&!m.touched&&m.remove&&m.remove(!1,b);else!k||d&&d.enabled?n=!1:(a.forEach(function(a,b){a!==e[b].y&&e[b].update&&e[b].update(a,!1,null,!1)}),f.length=0);e.forEach(function(a){a&&(a.touched=!1)});if(!n)return!1;
-f.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=I(this.xData),this.autoIncrement());return!0};a.prototype.setData=function(a,c,d,e){void 0===c&&(c=!0);var h=this,f=h.points,g=f&&f.length||0,k=h.options,l=h.chart,m=k.dataSorting,p=h.xAxis,n=k.turboThreshold,F=this.xData,q=this.yData,u=h.pointArrayMap;u=u&&u.length;var w=k.keys,z,y=0,t=1,r=null;if(!l.options.chart.allowMutatingData){k.data&&delete h.options.data;h.userOptions.data&&
-delete h.userOptions.data;var A=S(!0,a)}a=A||a||[];A=a.length;m&&m.enabled&&(a=this.sortData(a));l.options.chart.allowMutatingData&&!1!==e&&A&&g&&!h.cropped&&!h.hasGroupedData&&h.visible&&!h.boosted&&(z=this.updateData(a,d));if(!z){h.xIncrement=null;h.colorCounter=0;this.parallelArrays.forEach(function(a){h[a+"Data"].length=0});if(n&&A>n)if(r=h.getFirstValidPoint(a),O(r))for(d=0;d<A;d++)F[d]=this.autoIncrement(),q[d]=a[d];else if(H(r))if(u)if(r.length===u)for(d=0;d<A;d++)F[d]=this.autoIncrement(),
-q[d]=a[d];else for(d=0;d<A;d++)e=a[d],F[d]=e[0],q[d]=e.slice(1,u+1);else if(w&&(y=w.indexOf("x"),t=w.indexOf("y"),y=0<=y?y:0,t=0<=t?t:1),1===r.length&&(t=0),y===t)for(d=0;d<A;d++)F[d]=this.autoIncrement(),q[d]=a[d][t];else for(d=0;d<A;d++)e=a[d],F[d]=e[y],q[d]=e[t];else b(12,!1,l);else for(d=0;d<A;d++)"undefined"!==typeof a[d]&&(e={series:h},h.pointClass.prototype.applyOptions.apply(e,[a[d]]),h.updateParallelArrays(e,d));q&&Q(q[0])&&b(14,!0,l);h.data=[];h.options.data=h.userOptions.data=a;for(d=g;d--;)f[d]&&
-f[d].destroy&&f[d].destroy();p&&(p.minRange=p.userMinRange);h.isDirty=l.isDirtyBox=!0;h.isDirtyData=!!f;d=!1}"point"===k.legendType&&(this.processData(),this.generatePoints());c&&l.redraw(d)};a.prototype.sortData=function(a){var b=this,c=b.options.dataSorting.sortKey||"y",d=function(a,b){return h(b)&&a.pointClass.prototype.optionsToObject.call({series:a},b)||{}};a.forEach(function(c,e){a[e]=d(b,c);a[e].index=e},this);a.concat().sort(function(a,b){a=N(c,a);b=N(c,b);return b<a?-1:b>a?1:0}).forEach(function(a,
-b){a.x=b},this);b.linkedSeries&&b.linkedSeries.forEach(function(b){var c=b.options,e=c.data;c.dataSorting&&c.dataSorting.enabled||!e||(e.forEach(function(c,h){e[h]=d(b,c);a[h]&&(e[h].x=a[h].x,e[h].index=h)}),b.setData(e,!1))});return a};a.prototype.getProcessedData=function(a){var c=this.xAxis,d=this.options,e=d.cropThreshold,h=a||this.getExtremesFromAll||d.getExtremesFromAll,f=this.isCartesian;a=c&&c.val2lin;d=!(!c||!c.logarithmic);var g=0,k=this.xData,l=this.yData,m=this.requireSorting;var p=!1;
-var n=k.length;if(c){p=c.getExtremes();var F=p.min;var q=p.max;p=!(!c.categories||c.names.length)}if(f&&this.sorted&&!h&&(!e||n>e||this.forceCrop))if(k[n-1]<F||k[0]>q)k=[],l=[];else if(this.yData&&(k[0]<F||k[n-1]>q)){var u=this.cropData(this.xData,this.yData,F,q);k=u.xData;l=u.yData;g=u.start;u=!0}for(e=k.length||1;--e;)if(c=d?a(k[e])-a(k[e-1]):k[e]-k[e-1],0<c&&("undefined"===typeof w||c<w))var w=c;else 0>c&&m&&!p&&(b(15,!1,this.chart),m=!1);return{xData:k,yData:l,cropped:u,cropStart:g,closestPointRange:w}};
-a.prototype.processData=function(a){var b=this.xAxis;if(this.isCartesian&&!this.isDirty&&!b.isDirty&&!this.yAxis.isDirty&&!a)return!1;a=this.getProcessedData();this.cropped=a.cropped;this.cropStart=a.cropStart;this.processedXData=a.xData;this.processedYData=a.yData;this.closestPointRange=this.basePointRange=a.closestPointRange;w(this,"afterProcessData")};a.prototype.cropData=function(a,b,c,d,e){var h=a.length,f,g=0,k=h;e=y(e,this.cropShoulder);for(f=0;f<h;f++)if(a[f]>=c){g=Math.max(0,f-e);break}for(c=
-f;c<h;c++)if(a[c]>d){k=c+e;break}return{xData:a.slice(g,k),yData:b.slice(g,k),start:g,end:k}};a.prototype.generatePoints=function(){var a=this.options,b=this.processedData||a.data,c=this.processedXData,d=this.processedYData,e=this.pointClass,h=c.length,f=this.cropStart||0,g=this.hasGroupedData,k=a.keys,l=[];a=a.dataGrouping&&a.dataGrouping.groupAll?f:0;var m,n,q=this.data;if(!q&&!g){var u=[];u.length=b.length;q=this.data=u}k&&g&&(this.options.keys=!1);for(n=0;n<h;n++){u=f+n;if(g){var z=(new e).init(this,
-[c[n]].concat(K(d[n])));z.dataGroup=this.groupMap[a+n];z.dataGroup.options&&(z.options=z.dataGroup.options,p(z,z.dataGroup.options),delete z.dataLabels)}else(z=q[u])||"undefined"===typeof b[u]||(q[u]=z=(new e).init(this,b[u],c[n]));z&&(z.index=g?a+n:u,l[n]=z)}this.options.keys=k;if(q&&(h!==(m=q.length)||g))for(n=0;n<m;n++)n!==f||g||(n+=h),q[n]&&(q[n].destroyElements(),q[n].plotX=void 0);this.data=q;this.points=l;w(this,"afterGeneratePoints")};a.prototype.getXExtremes=function(a){return{min:L(a),max:I(a)}};
-a.prototype.getExtremes=function(a,b){var c=this.xAxis,d=this.yAxis,e=this.processedXData||this.xData,h=[],f=this.requireSorting?this.cropShoulder:0;d=d?d.positiveValuesOnly:!1;var g,k=0,l=0,m=0;a=a||this.stackedYData||this.processedYData||[];var p=a.length;if(c){var n=c.getExtremes();k=n.min;l=n.max}for(g=0;g<p;g++){var q=e[g];n=a[g];var u=(O(n)||H(n))&&(n.length||0<n||!d);q=b||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!c||(e[g+f]||q)>=k&&(e[g-f]||q)<=l;if(u&&q)if(u=
-n.length)for(;u--;)O(n[u])&&(h[m++]=n[u]);else h[m++]=n}a={activeYData:h,dataMin:L(h),dataMax:I(h)};w(this,"afterGetExtremes",{dataExtremes:a});return a};a.prototype.applyExtremes=function(){var a=this.getExtremes();this.dataMin=a.dataMin;this.dataMax=a.dataMax;return a};a.prototype.getFirstValidPoint=function(a){for(var b=a.length,c=0,d=null;null===d&&c<b;)d=a[c],c++;return d};a.prototype.translate=function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,
-c=this.xAxis,d=c.categories,e=this.enabledDataSorting,f=this.yAxis,g=this.points,k=g.length,l=this.pointPlacementToXValue(),m=!!l,p=a.threshold,n=a.startFromThreshold?p:0,u=this.zoneAxis||"y",z,t,r=Number.MAX_VALUE;for(z=0;z<k;z++){var C=g[z],v=C.x,x=void 0,I=void 0,N=C.y,J=C.low,D=b&&f.stacking&&f.stacking.stacks[(this.negStacks&&N<(n?0:p)?"-":"")+this.stackKey];if(f.positiveValuesOnly&&!f.validatePositiveValue(N)||c.positiveValuesOnly&&!c.validatePositiveValue(v))C.isNull=!0;C.plotX=t=q(A(c.translate(v,
-0,0,0,1,l,"flags"===this.type),-1E5,1E5));if(b&&this.visible&&D&&D[v]){var B=this.getStackIndicator(B,v,this.index);C.isNull||(x=D[v],I=x.points[B.key])}H(I)&&(J=I[0],N=I[1],J===n&&B.key===D[v].base&&(J=y(O(p)&&p,f.min)),f.positiveValuesOnly&&0>=J&&(J=null),C.total=C.stackTotal=x.total,C.percentage=x.total&&C.y/x.total*100,C.stackY=N,this.irregularWidths||x.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=h(J)?A(f.translate(J,0,1,0,1),-1E5,1E5):null;this.dataModify&&(N=this.dataModify.modifyValue(N,
-z));C.plotY=void 0;O(N)&&(x=f.translate(N,!1,!0,!1,!0),"undefined"!==typeof x&&(C.plotY=A(x,-1E5,1E5)));C.isInside=this.isPointInside(C);C.clientX=m?q(c.translate(v,0,0,0,1,l)):t;C.negative=C[u]<(a[u+"Threshold"]||p||0);C.category=y(d&&d[C.x],C.x);if(!C.isNull&&!1!==C.visible){"undefined"!==typeof E&&(r=Math.min(r,Math.abs(t-E)));var E=t}C.zone=this.zones.length?C.getZone():void 0;!C.graphic&&this.group&&e&&(C.isNew=!0)}this.closestPointRangePx=r;w(this,"afterTranslate")};a.prototype.getValidPoints=
-function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,{inverted:d.inverted})?!1:!1!==a.visible&&(c||!a.isNull)})};a.prototype.getClipBox=function(){var a=this.chart,b=this.xAxis,c=this.yAxis,d=S(a.clipBox);b&&b.len!==a.plotSizeX&&(d.width=b.len);c&&c.len!==a.plotSizeY&&(d.height=c.len);return d};a.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)};a.prototype.setClip=
-function(){var a=this.chart,b=this.group,c=this.markerGroup,d=a.sharedClips;a=a.renderer;var e=this.getClipBox(),h=this.getSharedClipKey(),f=d[h];f?f.animate(e):d[h]=f=a.clipRect(e);b&&b.clip(!1===this.options.clip?void 0:f);c&&c.clip()};a.prototype.animate=function(a){var b=this.chart,c=this.group,d=this.markerGroup,e=b.inverted,h=f(this.options.animation),g=[this.getSharedClipKey(),h.duration,h.easing,h.defer].join(),k=b.sharedClips[g],l=b.sharedClips[g+"m"];if(a&&c)h=this.getClipBox(),k?k.attr("height",
-h.height):(h.width=0,e&&(h.x=b.plotHeight),k=b.renderer.clipRect(h),b.sharedClips[g]=k,l=b.renderer.clipRect({x:e?(b.plotSizeX||0)+99:-99,y:e?-b.plotLeft:-b.plotTop,width:99,height:e?b.chartWidth:b.chartHeight}),b.sharedClips[g+"m"]=l),c.clip(k),d&&d.clip(l);else if(k&&!k.hasClass("highcharts-animating")){b=this.getClipBox();var m=h.step;d&&d.element.childNodes.length&&(h.step=function(a,b){m&&m.apply(b,arguments);l&&l.element&&l.attr(b.prop,"width"===b.prop?a+99:a)});k.addClass("highcharts-animating").animate(b,
-h)}};a.prototype.afterAnimate=function(){var a=this;this.setClip();Y(this.chart.sharedClips,function(b,c,d){b&&!a.chart.container.querySelector('[clip-path="url(#'.concat(b.id,')"]'))&&(b.destroy(),delete d[c])});this.finishedAnimating=!0;w(this,"afterAnimate")};a.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var b=this.chart,c=this.options.marker,d=this[this.specialGroup]||this.markerGroup,e=this.xAxis,h=y(c.enabled,!e||e.isRadial?!0:null,this.closestPointRangePx>=c.enabledThreshold*
-c.radius),f,g;if(!1!==c.enabled||this._hasPointMarkers)for(f=0;f<a.length;f++){var k=a[f];var l=(g=k.graphic)?"animate":"attr";var m=k.marker||{};var p=!!k.marker;if((h&&"undefined"===typeof m.enabled||m.enabled)&&!k.isNull&&!1!==k.visible){var n=y(m.symbol,this.symbol,"rect");var q=this.markerAttribs(k,k.selected&&"select");this.enabledDataSorting&&(k.startXPos=e.reversed?-(q.width||0):e.width);var u=!1!==k.isInside;g?g[u?"show":"hide"](u).animate(q):u&&(0<(q.width||0)||k.hasImage)&&(k.graphic=g=
-b.renderer.symbol(n,q.x,q.y,q.width,q.height,p?m:c).add(d),this.enabledDataSorting&&b.hasRendered&&(g.attr({x:k.startXPos}),l="animate"));g&&"animate"===l&&g[u?"show":"hide"](u).animate(q);if(g&&!b.styledMode)g[l](this.pointAttribs(k,k.selected&&"select"));g&&g.addClass(k.getClassName(),!0)}else g&&(k.graphic=g.destroy())}};a.prototype.markerAttribs=function(a,b){var c=this.options,d=c.marker,e=a.marker||{},h=e.symbol||d.symbol,f=y(e.radius,d&&d.radius);b&&(d=d.states[b],b=e.states&&e.states[b],f=
-y(b&&b.radius,d&&d.radius,f&&f+(d&&d.radiusPlus||0)));a.hasImage=h&&0===h.indexOf("url");a.hasImage&&(f=0);a=O(f)?{x:c.crisp?Math.floor(a.plotX-f):a.plotX-f,y:a.plotY-f}:{};f&&(a.width=a.height=2*f);return a};a.prototype.pointAttribs=function(a,b){var c=this.options.marker,d=a&&a.options,e=d&&d.marker||{},h=d&&d.color,f=a&&a.color,g=a&&a.zone&&a.zone.color,k=this.color;a=y(e.lineWidth,c.lineWidth);d=1;k=h||g||f||k;h=e.fillColor||c.fillColor||k;f=e.lineColor||c.lineColor||k;b=b||"normal";c=c.states[b]||
-{};b=e.states&&e.states[b]||{};a=y(b.lineWidth,c.lineWidth,a+y(b.lineWidthPlus,c.lineWidthPlus,0));h=b.fillColor||c.fillColor||h;f=b.lineColor||c.lineColor||f;d=y(b.opacity,c.opacity,d);return{stroke:f,"stroke-width":a,fill:h,opacity:d}};a.prototype.destroy=function(a){var b=this,c=b.chart,d=/AppleWebKit\/533/.test(C.navigator.userAgent),e=b.data||[],h,f,g,l;w(b,"destroy",{keepEventsForUpdate:a});this.removeEvents(a);(b.axisTypes||[]).forEach(function(a){(l=b[a])&&l.series&&(k(l.series,b),l.isDirty=
-l.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(f=e.length;f--;)(g=e[f])&&g.destroy&&g.destroy();b.clips&&b.clips.forEach(function(a){return a.destroy()});n.clearTimeout(b.animationTimeout);Y(b,function(a,b){a instanceof t&&!a.survive&&(h=d&&"group"===b?"hide":"destroy",a[h]())});c.hoverSeries===b&&(c.hoverSeries=void 0);k(c.series,b);c.orderSeries();Y(b,function(c,d){a&&"hcEvents"===d||delete b[d]})};a.prototype.applyZones=function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,
-e=this.clips||[],h=this.graph,f=this.area,g=Math.max(b.plotWidth,b.plotHeight),k=this[(this.zoneAxis||"y")+"Axis"],l=b.inverted,m,p,n,q,u,w,z,t,r=!1;if(d.length&&(h||f)&&k&&"undefined"!==typeof k.min){var C=k.reversed;var v=k.horiz;h&&!this.showLine&&h.hide();f&&f.hide();var H=k.getExtremes();d.forEach(function(d,F){m=C?v?b.plotWidth:0:v?0:k.toPixels(H.min)||0;m=A(y(p,m),0,g);p=A(Math.round(k.toPixels(y(d.value,H.max),!0)||0),0,g);r&&(m=p=k.toPixels(H.max));q=Math.abs(m-p);u=Math.min(m,p);w=Math.max(m,
-p);k.isXAxis?(n={x:l?w:u,y:0,width:q,height:g},v||(n.x=b.plotHeight-n.x)):(n={x:0,y:l?w:u,width:g,height:q},v&&(n.y=b.plotWidth-n.y));l&&c.isVML&&(n=k.isXAxis?{x:0,y:C?u:w,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});e[F]?e[F].animate(n):e[F]=c.clipRect(n);z=a["zone-area-"+F];t=a["zone-graph-"+F];h&&t&&t.clip(e[F]);f&&z&&z.clip(e[F]);r=d.value>H.max;a.resetZones&&0===p&&(p=void 0)});this.clips=e}else a.visible&&(h&&h.show(),f&&f.show())};
-a.prototype.plotGroup=function(a,b,c,d,e){var f=this[a],g=!f;c={visibility:c,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(c.opacity=this.opacity);g&&(this[a]=f=this.chart.renderer.g().add(e));f.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(h(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr(c)[g?
-"attr":"animate"](this.getPlotBox(b));return f};a.prototype.getPlotBox=function(a){var b=this.xAxis,c=this.yAxis,d=this.chart;a=d.inverted&&!d.polar&&b&&!1!==this.invertible&&("markers"===a||"series"===a);d.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:d.plotLeft,translateY:c?c.top:d.plotTop,rotation:a?90:0,rotationOriginX:a?(b.len-c.len)/2:0,rotationOriginY:a?(b.len+c.len)/2:0,scaleX:a?-1:1,scaleY:1}};a.prototype.removeEvents=function(a){a||T(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(a){a()}),
-this.eventsToUnbind.length=0)};a.prototype.render=function(){var a=this,b=a.chart,c=a.options,d=f(c.animation),e=a.visible?"inherit":"hidden",h=c.zIndex,g=a.hasRendered,k=b.seriesGroup;b=!a.finishedAnimating&&b.renderer.isSVG?d.duration:0;w(this,"render");a.plotGroup("group","series",e,h,k);a.markerGroup=a.plotGroup("markerGroup","markers",e,h,k);!1!==c.clip&&a.setClip();a.animate&&b&&a.animate(!0);a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();
-a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.animate&&b&&a.animate();g||(b&&d.defer&&(b+=d.defer),a.animationTimeout=ca(function(){a.afterAnimate()},b||0));a.isDirty=!1;a.hasRendered=!0;w(a,"afterRender")};a.prototype.redraw=function(){var a=this.isDirty||this.isDirtyData;this.translate();this.render();a&&delete this.kdTree};a.prototype.searchPoint=function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?
-c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)};a.prototype.buildKDTree=function(a){function b(a,d,e){var h=a&&a.length;if(h){var f=c.kdAxisArray[d%e];a.sort(function(a,b){return a[f]-b[f]});h=Math.floor(h/2);return{point:a[h],left:b(a.slice(0,h),d+1,e),right:b(a.slice(h+1),d+1,e)}}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;ca(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),d,d);c.buildingKdTree=
-!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)};a.prototype.searchKDTree=function(a,b,c){function d(a,b,c,l){var m=b.point,p=e.kdAxisArray[c%l],n=m,q=h(a[f])&&h(m[f])?Math.pow(a[f]-m[f],2):null;var u=h(a[g])&&h(m[g])?Math.pow(a[g]-m[g],2):null;u=(q||0)+(u||0);m.dist=h(u)?Math.sqrt(u):Number.MAX_VALUE;m.distX=h(q)?Math.sqrt(q):Number.MAX_VALUE;p=a[p]-m[p];u=0>p?"left":"right";q=0>p?"right":"left";b[u]&&(u=d(a,b[u],c+1,l),n=u[k]<n[k]?u:m);b[q]&&Math.sqrt(p*p)<n[k]&&(a=d(a,b[q],c+1,l),n=a[k]<n[k]?
-a:n);return n}var e=this,f=this.kdAxisArray[0],g=this.kdAxisArray[1],k=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(a,this.kdTree,b,b)};a.prototype.pointPlacementToXValue=function(){var a=this.options,b=a.pointRange,c=this.xAxis;a=a.pointPlacement;"between"===a&&(a=c.reversed?-.5:.5);return O(a)?a*(b||c.pointRange):0};a.prototype.isPointInside=function(a){var b=this.chart,c=this.xAxis,d=this.yAxis;
-return"undefined"!==typeof a.plotY&&"undefined"!==typeof a.plotX&&0<=a.plotY&&a.plotY<=(d?d.len:b.plotHeight)&&0<=a.plotX&&a.plotX<=(c?c.len:b.plotWidth)};a.prototype.drawTracker=function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),h=a.chart,f=h.pointer,g=h.renderer,k=h.options.tooltip.snap,l=a.tracker,m=function(b){if(h.hoverSeries!==a)a.onMouseOver()},p="rgba(192,192,192,"+(u?.0001:.002)+")";l?l.attr({d:d}):a.graph&&(a.tracker=g.path(d).attr({visibility:a.visible?
-"inherit":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),h.styledMode||a.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:p,fill:c?p:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*k)}),[a.tracker,a.markerGroup,a.dataLabelsGroup].forEach(function(a){if(a&&(a.addClass("highcharts-tracker").on("mouseover",m).on("mouseout",function(a){f.onTrackerMouseOut(a)}),b.cursor&&!h.styledMode&&a.css({cursor:b.cursor}),e))a.on("touchstart",
-m)}));w(this,"afterDrawTracker")};a.prototype.addPoint=function(a,b,c,d,e){var h=this.options,f=this.data,g=this.chart,k=this.xAxis;k=k&&k.hasNames&&k.names;var l=h.data,m=this.xData,p;b=y(b,!0);var n={series:this};this.pointClass.prototype.applyOptions.apply(n,[a]);var u=n.x;var q=m.length;if(this.requireSorting&&u<m[q-1])for(p=!0;q&&m[q-1]>u;)q--;this.updateParallelArrays(n,"splice",q,0,0);this.updateParallelArrays(n,q);k&&n.name&&(k[u]=n.name);l.splice(q,0,a);if(p||this.processedData)this.data.splice(q,
-0,null),this.processData();"point"===h.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(n,"shift"),l.shift()));!1!==e&&w(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;b&&g.redraw(d)};a.prototype.removePoint=function(a,b,d){var e=this,h=e.data,f=h[a],g=e.points,k=e.chart,l=function(){g&&g.length===h.length&&g.splice(a,1);h.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(f||{series:e},"splice",a,1);f&&f.destroy();
-e.isDirty=!0;e.isDirtyData=!0;b&&k.redraw()};c(d,k);b=y(b,!0);f?f.firePointEvent("remove",null,l):l()};a.prototype.remove=function(a,b,c,d){function e(){h.destroy(d);f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();y(a,!0)&&f.redraw(b)}var h=this,f=h.chart;!1!==c?w(h,"remove",null,e):e()};a.prototype.update=function(a,c){a=d(a,this.userOptions);w(this,"update",{options:a});var e=this,h=e.chart,f=e.userOptions,g=e.initialType||e.type,k=h.options.plotOptions,l=v[g].prototype,m=e.finishedAnimating&&{animation:!1},
-n={},q=["eventOptions","navigatorSeries","baseSeries"],u=a.type||f.type||h.options.chart.type,z=!(this.hasDerivedData||u&&u!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||e.hasOptionChanged("dataGrouping")||e.hasOptionChanged("pointStart")||e.hasOptionChanged("pointInterval")||e.hasOptionChanged("pointIntervalUnit")||e.hasOptionChanged("keys"));u=u||g;z&&(q.push("data","isDirtyData","points","processedData",
-"processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&q.push("area","graph"),e.parallelArrays.forEach(function(a){q.push(a+"Data")}),a.data&&(a.dataSorting&&p(e.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=S(f,m,{index:"undefined"===typeof f.index?e.index:f.index,pointStart:y(k&&k.series&&k.series.pointStart,f.pointStart,e.xData[0])},!z&&{data:e.options.data},
-a);z&&a.data&&(a.data=e.options.data);q=["group","markerGroup","dataLabelsGroup","transformGroup","shadowGroup"].concat(q);q.forEach(function(a){q[a]=e[a];delete e[a]});k=!1;if(v[u]){if(k=u!==e.type,e.remove(!1,!1,!1,!0),k)if(Object.setPrototypeOf)Object.setPrototypeOf(e,v[u].prototype);else{m=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(t in l)e[t]=void 0;p(e,v[u].prototype);m?e.hcEvents=m:delete e.hcEvents}}else b(17,!0,h,{missingModuleFor:u});q.forEach(function(a){e[a]=q[a]});e.init(h,
-a);if(z&&this.points){a=e.options;if(!1===a.visible)n.graphic=1,n.dataLabel=1;else if(!e._hasPointLabels){l=a.marker;var t=a.dataLabels;!l||!1!==l.enabled&&(f.marker&&f.marker.symbol)===l.symbol||(n.graphic=1);t&&!1===t.enabled&&(n.dataLabel=1)}f=0;for(l=this.points;f<l.length;f++)(t=l[f])&&t.series&&(t.resolveColor(),Object.keys(n).length&&t.destroyElements(n),!1===a.showInLegend&&t.legendItem&&h.legend.destroyItem(t))}e.initialType=g;h.linkSeries();k&&e.linkedSeries.length&&(e.isDirtyData=!0);w(this,
-"afterUpdate");y(c,!0)&&h.redraw(z?void 0:!1)};a.prototype.setName=function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0};a.prototype.hasOptionChanged=function(a){var b=this.options[a],c=this.chart.options.plotOptions,d=this.userOptions[a];return d?b!==d:b!==y(c&&c[this.type]&&c[this.type][a],c&&c.series&&c.series[a],b)};a.prototype.onMouseOver=function(){var a=this.chart,b=a.hoverSeries;a.pointer.setHoverChartIndex();if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&
-w(this,"mouseOver");this.setState("hover");a.hoverSeries=this};a.prototype.onMouseOut=function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&w(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})};a.prototype.setState=function(a,b){var c=this,d=c.options,e=c.graph,h=d.inactiveOtherPoints,f=d.states,g=y(f[a||"normal"]&&f[a||"normal"].animation,
-c.chart.options.chart.animation),k=d.lineWidth,l=0,m=d.opacity;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&(c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(f[a]&&!1===f[a].enabled)return;a&&(k=f[a].lineWidth||k+(f[a].lineWidthPlus||0),m=y(f[a].opacity,m));if(e&&!e.dashstyle&&O(k))for(d={"stroke-width":k},e.animate(d,g);c["zone-graph-"+l];)c["zone-graph-"+l].animate(d,g),l+=
-1;h||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:m},g)})}b&&h&&c.points&&c.setAllPointsToState(a||void 0)};a.prototype.setAllPointsToState=function(a){this.points.forEach(function(b){b.setState&&b.setState(a)})};a.prototype.setVisible=function(a,b){var c=this,d=c.chart,e=d.options.chart.ignoreHiddenSeries,h=c.visible,f=(c.visible=a=c.options.visible=c.userOptions.visible="undefined"===typeof a?!h:a)?"show":"hide";["group","dataLabelsGroup","markerGroup",
-"tracker","tt"].forEach(function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();c.legendItem&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});e&&(d.isDirtyBox=!0);w(c,f);!1!==b&&d.redraw()};a.prototype.show=function(){this.setVisible(!0)};a.prototype.hide=function(){this.setVisible(!1)};a.prototype.select=
-function(a){this.selected=a=this.options.selected="undefined"===typeof a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);w(this,a?"select":"unselect")};a.prototype.shouldShowTooltip=function(a,b,c){void 0===c&&(c={});c.series=this;c.visiblePlotOnly=!0;return this.chart.isInsidePlot(a,b,c)};a.defaultOptions=G;a.types=r.seriesTypes;a.registerType=r.registerSeriesType;return a}();p(a.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:D.drawLineMarker,
-isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:B,requireSorting:!0,sorted:!0});r.series=a;"";"";return a});K(g,"Extensions/ScrollablePlotArea.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/Axis.js"],g["Core/Chart/Chart.js"],g["Core/Series/Series.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B){var v=a.stop,r=B.addEvent,t=B.createElement,n=B.defined,f=B.merge,c=B.pick;r(x,"afterSetChartSize",function(a){var c=
-this.options.chart.scrollablePlotArea,e=c&&c.minWidth;c=c&&c.minHeight;if(!this.renderer.forExport){if(e){if(this.scrollablePixelsX=e=Math.max(0,e-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=f(this.plotBox);this.plotBox.width=this.plotWidth+=e;this.inverted?this.clipBox.height+=e:this.clipBox.width+=e;var l={1:{name:"right",value:e}}}}else c&&(this.scrollablePixelsY=e=Math.max(0,c-this.chartHeight),n(e)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=f(this.plotBox),
-this.plotBox.height=this.plotHeight+=e,this.inverted?this.clipBox.width+=e:this.clipBox.height+=e,l={2:{name:"bottom",value:e}}));l&&!a.skipAxes&&this.axes.forEach(function(a){l[a.side]?a.getPlotLinePath=function(){var c=l[a.side].name,e=this[c];this[c]=e-l[a.side].value;var f=g.prototype.getPlotLinePath.apply(this,arguments);this[c]=e;return f}:(a.setAxisSize(),a.setAxisTranslation())})}});r(x,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),
-this.applyFixed()):this.fixedDiv&&this.applyFixed()});x.prototype.setUpScrolling=function(){var a=this,c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(c.overflowX="auto");this.scrollablePixelsY&&(c.overflowY="auto");this.scrollingParent=t("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=t("div",{className:"highcharts-scrolling"},c,this.scrollingParent);var e;r(this.scrollingContainer,"scroll",
-function(){a.pointer&&(delete a.pointer.chartPosition,a.hoverPoint&&(e=a.hoverPoint),a.pointer.runPointActions(void 0,e,!0))});this.innerContainer=t("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};x.prototype.moveFixedElements=function(){var a=this.container,c=this.fixedRenderer,e=".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(" "),
-f;this.scrollablePixelsX&&!this.inverted?f=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(f=".highcharts-yaxis");f&&e.push(""+f+":not(.highcharts-radial-axis)",""+f+"-labels:not(.highcharts-radial-axis-labels)");e.forEach(function(e){[].forEach.call(a.querySelectorAll(e),function(a){(a.namespaceURI===c.SVG_NS?c.box:c.box.parentNode).appendChild(a);a.style.pointerEvents=
-"auto"})})};x.prototype.applyFixed=function(){var a=!this.fixedDiv,f=this.options.chart,e=f.scrollablePlotArea,g=D.getRendererType();a?(this.fixedDiv=t("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(f.style&&f.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=f=new g(this.fixedDiv,this.chartWidth,
-this.chartHeight,this.options.chart.style),this.scrollableMask=f.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":c(e.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),r(this,"afterShowResetZoom",this.moveFixedElements),r(this,"afterApplyDrilldown",this.moveFixedElements),r(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||a)this.scrollableDirty=!1,this.moveFixedElements();
-f=this.chartWidth+(this.scrollablePixelsX||0);g=this.chartHeight+(this.scrollablePixelsY||0);v(this.container);this.container.style.width=f+"px";this.container.style.height=g+"px";this.renderer.boxWrapper.attr({width:f,height:g,viewBox:[0,0,f,g].join(" ")});this.chartBackground.attr({width:f,height:g});this.scrollingContainer.style.height=this.chartHeight+"px";a&&(e.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*e.scrollPositionX),e.scrollPositionY&&(this.scrollingContainer.scrollTop=
-this.scrollablePixelsY*e.scrollPositionY));g=this.axisOffset;a=this.plotTop-g[0]-1;e=this.plotLeft-g[3]-1;f=this.plotTop+this.plotHeight+g[2]+1;g=this.plotLeft+this.plotWidth+g[1]+1;var n=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),x=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);a=this.scrollablePixelsX?[["M",0,a],["L",this.plotLeft-1,a],["L",this.plotLeft-1,f],["L",0,f],["Z"],["M",n,a],["L",this.chartWidth,a],["L",this.chartWidth,f],["L",n,f],["Z"]]:this.scrollablePixelsY?
-[["M",e,0],["L",e,this.plotTop-1],["L",g,this.plotTop-1],["L",g,0],["Z"],["M",e,x],["L",e,this.chartHeight],["L",g,this.chartHeight],["L",g,x],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:a})};r(g,"afterInit",function(){this.chart.scrollableDirty=!0});r(E,"show",function(){this.chart.scrollableDirty=!0});""});K(g,"Core/Axis/Stacking/StackItem.js",[g["Core/FormatUtilities.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.format,
-D=g.series,B=x.defined,G=x.destroyObjectProperties,r=x.isNumber,t=x.pick;a=function(){function a(a,c,g,m,e){var f=a.chart.inverted;this.axis=a;this.isNegative=g;this.options=c=c||{};this.x=m;this.cumulative=this.total=null;this.points={};this.hasValidPoints=!1;this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:c.align||(f?g?"left":"right":"center"),verticalAlign:c.verticalAlign||(f?"middle":g?"bottom":"top"),y:c.y,x:c.x};this.textAlign=c.textAlign||(f?g?"right":"left":"center")}
-a.prototype.destroy=function(){G(this,this.axis)};a.prototype.render=function(a){var c=this.axis.chart,f=this.options,g=f.format;g=g?v(g,this,c):f.formatter.call(this);this.label?this.label.attr({text:g,visibility:"hidden"}):(this.label=c.renderer.label(g,null,null,f.shape,null,null,f.useHTML,!1,"stack-labels"),g={r:f.borderRadius||0,text:g,rotation:f.rotation,padding:t(f.padding,5),visibility:"hidden"},c.styledMode||(g.fill=f.backgroundColor,g.stroke=f.borderColor,g["stroke-width"]=f.borderWidth,
-this.label.css(f.style)),this.label.attr(g),this.label.added||this.label.add(a));this.label.labelrank=c.plotSizeY};a.prototype.setOffset=function(a,c,g,m,e){var f=this.axis,l=f.chart;m=f.translate(f.stacking.usePercentage?100:m?m:this.total,0,0,0,1);g=f.translate(g?g:0);a=t(e,l.xAxis[0].translate(this.x))+a;f=B(m)&&this.getStackBox(l,this,a,m,c,Math.abs(m-g),f);c=this.label;g=this.isNegative;var n=this.textAlign;c&&f&&(a=c.getBBox(),e=c.padding,m="justify"===t(this.options.overflow,"justify"),n="left"===
-n?l.inverted?-e:e:"right"===n?a.width:l.inverted&&"center"===n?a.width/2:l.inverted?g?a.width+e:-e:a.width/2,g=l.inverted?a.height/2:g?-e:a.height,this.alignOptions.x=t(this.options.x,0),this.alignOptions.y=t(this.options.y,0),f.x-=n,f.y-=g,c.align(this.alignOptions,null,f),l.isInsidePlot(c.alignAttr.x+n-this.alignOptions.x,c.alignAttr.y+g-this.alignOptions.y)?c.show():(c.hide(),m=!1),m&&D.prototype.justifyDataLabel.call(this.axis,c,this.alignOptions,c.alignAttr,a,f),c.attr({x:c.alignAttr.x,y:c.alignAttr.y}),
-t(!m&&this.options.crop,!0)&&((l=r(c.x)&&r(c.y)&&l.isInsidePlot(c.x-e+c.width,c.y)&&l.isInsidePlot(c.x+e,c.y))||c.hide()))};a.prototype.getStackBox=function(a,c,g,m,e,n,t){var f=c.axis.reversed,l=a.inverted,u=t.height+t.pos-(l?a.plotLeft:a.plotTop);c=c.isNegative&&!f||!c.isNegative&&f;return{x:l?c?m-t.right:m-n+t.pos-a.plotLeft:g+a.xAxis[0].transB-a.plotLeft,y:l?t.height-g-e:c?u-m-n:u-m,width:l?n:e,height:l?e:n}};return a}();"";return a});K(g,"Core/Axis/Stacking/StackingAxis.js",[g["Core/Animation/AnimationUtilities.js"],
-g["Core/Axis/Axis.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Axis/Stacking/StackItem.js"],g["Core/Utilities.js"]],function(a,g,x,E,D){function v(){var a=this,b=a.inverted;a.yAxis.forEach(function(a){a.stacking&&a.stacking.stacks&&a.hasVisibleSeries&&(a.stacking.oldStacks=a.stacking.stacks)});a.series.forEach(function(c){var d=c.xAxis&&c.xAxis.options||{};!c.options.stacking||!0!==c.visible&&!1!==a.options.chart.ignoreHiddenSeries||(c.stackKey=[c.type,h(c.options.stack,""),b?d.top:d.left,b?d.height:
-d.width].join())})}function G(){var a=this.stacking;if(a){var b=a.stacks;q(b,function(a,c){I(a);b[c]=null});a&&a.stackTotalGroup&&a.stackTotalGroup.destroy()}}function r(){this.stacking||(this.stacking=new k(this))}function t(a,b,c,d){!J(a)||a.x!==b||d&&a.stackKey!==d?a={x:b,index:0,key:d,stackKey:d}:a.index++;a.key=[c,b,a.index].join();return a}function n(){var a=this,b=a.stackKey,c=a.yAxis.stacking.stacks,d=a.processedXData,e=a[a.options.stacking+"Stacker"],h;e&&[b,"-"+b].forEach(function(b){for(var f=
-d.length,g,k;f--;)g=d[f],h=a.getStackIndicator(h,g,a.index,b),(k=(g=c[b]&&c[b][g])&&g.points[h.key])&&e.call(a,k,g,f)})}function f(a,b,c){b=b.total?100/b.total:0;a[0]=C(a[0]*b);a[1]=C(a[1]*b);this.stackedYData[c]=a[1]}function c(){var a=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?e.setStackedPoints.call(this,"group"):a&&q(a.stacks,function(b,c){"group"===c.slice(-5)&&(q(b,function(a){return a.destroy()}),
-delete a.stacks[c])})}function l(a){var b=this.chart,c=a||this.options.stacking;if(c&&(!0===this.visible||!1===b.options.chart.ignoreHiddenSeries)){var d=this.processedXData,e=this.processedYData,f=[],g=e.length,k=this.options,l=k.threshold,m=h(k.startFromThreshold&&l,0);k=k.stack;a=a?""+this.type+",".concat(c):this.stackKey;var n="-"+a,p=this.negStacks;b="group"===c?b.yAxis[0]:this.yAxis;var q=b.stacking.stacks,u=b.stacking.oldStacks,t,r;b.stacking.stacksTouched+=1;for(r=0;r<g;r++){var v=d[r];var x=
-e[r];var I=this.getStackIndicator(I,v,this.index);var D=I.key;var B=(t=p&&x<(m?0:l))?n:a;q[B]||(q[B]={});q[B][v]||(u[B]&&u[B][v]?(q[B][v]=u[B][v],q[B][v].total=null):q[B][v]=new E(b,b.options.stackLabels,!!t,v,k));B=q[B][v];null!==x?(B.points[D]=B.points[this.index]=[h(B.cumulative,m)],J(B.cumulative)||(B.base=D),B.touched=b.stacking.stacksTouched,0<I.index&&!1===this.singleStacks&&(B.points[D][0]=B.points[this.index+","+v+",0"][0])):B.points[D]=B.points[this.index]=null;"percent"===c?(t=t?a:n,p&&
-q[t]&&q[t][v]?(t=q[t][v],B.total=t.total=Math.max(t.total,B.total)+Math.abs(x)||0):B.total=C(B.total+(Math.abs(x)||0))):"group"===c?(A(x)&&(x=x[0]),null!==x&&(B.total=(B.total||0)+1)):B.total=C(B.total+(x||0));B.cumulative="group"===c?(B.total||1)-1:h(B.cumulative,m)+(x||0);null!==x&&(B.points[D].push(B.cumulative),f[r]=B.cumulative,B.hasValidPoints=!0)}"percent"===c&&(b.stacking.usePercentage=!0);"group"!==c&&(this.stackedYData=f);b.stacking.oldStacks={}}}var m=a.getDeferredAnimation,e=x.series.prototype,
-u=D.addEvent,C=D.correctFloat,J=D.defined,I=D.destroyObjectProperties,L=D.fireEvent,A=D.isArray,d=D.isNumber,q=D.objectEach,h=D.pick,k=function(){function a(a){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=a}a.prototype.buildStacks=function(){var a=this.axis,b=a.series,c=a.options.reversedStacks,d=b.length,e;if(!a.isXAxis){this.usePercentage=!1;for(e=d;e--;){var h=b[c?e:d-e-1];h.setStackedPoints();h.setGroupedPoints()}for(e=0;e<d;e++)b[e].modifyStacks();L(a,"afterBuildStacks")}};
-a.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var a=this.stacks=this.oldStacks;q(a,function(a){q(a,function(a){a.cumulative=a.total})})}};a.prototype.resetStacks=function(){var a=this,b=a.stacks;a.axis.isXAxis||q(b,function(b){q(b,function(c,e){d(c.touched)&&c.touched<a.stacksTouched?(c.destroy(),delete b[e]):(c.total=null,c.cumulative=null)})})};a.prototype.renderStackTotals=function(){var a=this.axis,b=a.chart,c=b.renderer,d=this.stacks;a=m(b,a.options.stackLabels&&
-a.options.stackLabels.animation||!1);var e=this.stackTotalGroup=this.stackTotalGroup||c.g("stack-labels").attr({zIndex:6,opacity:0}).add();e.translate(b.plotLeft,b.plotTop);q(d,function(a){q(a,function(a){a.render(e)})});e.animate({opacity:1},a)};return a}(),b;(function(a){var b=[];a.compose=function(a,d,e){-1===b.indexOf(a)&&(b.push(a),u(a,"init",r),u(a,"destroy",G));-1===b.indexOf(d)&&(b.push(d),d.prototype.getStacks=v);-1===b.indexOf(e)&&(b.push(e),a=e.prototype,a.getStackIndicator=t,a.modifyStacks=
-n,a.percentStacker=f,a.setGroupedPoints=c,a.setStackedPoints=l)}})(b||(b={}));return b});K(g,"Series/Line/LineSeries.js",[g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var a=function(g,t){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var c in f)f.hasOwnProperty(c)&&(a[c]=f[c])};return a(g,t)};return function(g,t){function n(){this.constructor=g}
-a(g,t);g.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}(),D=x.defined,B=x.merge;x=function(g){function r(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}v(r,g);r.prototype.drawGraph=function(){var a=this,g=this.options,f=(this.gappedPath||this.getGraphPath).call(this),c=this.chart.styledMode,l=[["graph","highcharts-graph"]];c||l[0].push(g.lineColor||this.color||"#cccccc",g.dashStyle);l=a.getZonesGraphs(l);l.forEach(function(l,
-e){var m=l[0],n=a[m],t=n?"animate":"attr";n?(n.endX=a.preventGraphAnimation?null:f.xMap,n.animate({d:f})):f.length&&(a[m]=n=a.chart.renderer.path(f).addClass(l[1]).attr({zIndex:1}).add(a.group));n&&!c&&(m={stroke:l[2],"stroke-width":g.lineWidth||0,fill:a.fillGraph&&a.color||"none"},l[3]?m.dashstyle=l[3]:"square"!==g.linecap&&(m["stroke-linecap"]=m["stroke-linejoin"]="round"),n[t](m).shadow(2>e&&g.shadow));n&&(n.startX=f.xMap,n.isArea=f.isArea)})};r.prototype.getGraphPath=function(a,g,f){var c=this,
-l=c.options,m=[],e=[],n,t=l.step;a=a||c.points;var r=a.reversed;r&&a.reverse();(t={right:1,center:2}[t]||t&&3)&&r&&(t=4-t);a=this.getValidPoints(a,!1,!(l.connectNulls&&!g&&!f));a.forEach(function(u,r){var A=u.plotX,d=u.plotY,q=a[r-1];(u.leftCliff||q&&q.rightCliff)&&!f&&(n=!0);u.isNull&&!D(g)&&0<r?n=!l.connectNulls:u.isNull&&!g?n=!0:(0===r||n?r=[["M",u.plotX,u.plotY]]:c.getPointSpline?r=[c.getPointSpline(a,u,r)]:t?(r=1===t?[["L",q.plotX,d]]:2===t?[["L",(q.plotX+A)/2,q.plotY],["L",(q.plotX+A)/2,d]]:
-[["L",A,q.plotY]],r.push(["L",A,d])):r=[["L",A,d]],e.push(u.x),t&&(e.push(u.x),2===t&&e.push(u.x)),m.push.apply(m,r),n=!1)});m.xMap=e;return c.graphPath=m};r.prototype.getZonesGraphs=function(a){this.zones.forEach(function(g,f){f=["zone-graph-"+f,"highcharts-graph highcharts-zone-graph-"+f+" "+(g.className||"")];this.chart.styledMode||f.push(g.color||this.color,g.dashStyle||this.options.dashStyle);a.push(f)},this);return a};r.defaultOptions=B(a.defaultOptions,{});return r}(a);g.registerSeriesType("line",
-x);"";return x});K(g,"Series/Area/AreaSeries.js",[g["Core/Color/Color.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=this&&this.__extends||function(){var a=function(c,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,f)};return function(c,f){function g(){this.constructor=c}a(c,f);c.prototype=null===f?Object.create(f):
-(g.prototype=f.prototype,new g)}}(),B=a.parse,G=x.seriesTypes.line;a=E.extend;var r=E.merge,t=E.objectEach,n=E.pick;E=function(a){function c(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}v(c,a);c.prototype.drawGraph=function(){this.areaPath=[];a.prototype.drawGraph.apply(this);var c=this,f=this.areaPath,e=this.options,g=[["area","highcharts-area",this.color,e.fillColor]];this.zones.forEach(function(a,f){g.push(["zone-area-"+f,"highcharts-area highcharts-zone-area-"+
-f+" "+a.className,a.color||c.color,a.fillColor||e.fillColor])});g.forEach(function(a){var g=a[0],l={},m=c[g],u=m?"animate":"attr";m?(m.endX=c.preventGraphAnimation?null:f.xMap,m.animate({d:f})):(l.zIndex=0,m=c[g]=c.chart.renderer.path(f).addClass(a[1]).add(c.group),m.isArea=!0);c.chart.styledMode||(l.fill=n(a[3],B(a[2]).setOpacity(n(e.fillOpacity,.75)).get()));m[u](l);m.startX=f.xMap;m.shiftUnit=e.step?2:1})};c.prototype.getGraphPath=function(a){var c=G.prototype.getGraphPath,e=this.options,f=e.stacking,
-g=this.yAxis,l=[],t=[],r=this.index,A=g.stacking.stacks[this.stackKey],d=e.threshold,q=Math.round(g.getThreshold(e.threshold));e=n(e.connectNulls,"percent"===f);var h=function(b,c,e){var h=a[b];b=f&&A[h.x].points[r];var k=h[e+"Null"]||0;e=h[e+"Cliff"]||0;h=!0;if(e||k){var m=(k?b[0]:b[1])+e;var n=b[0]+e;h=!!k}else!f&&a[c]&&a[c].isNull&&(m=n=d);"undefined"!==typeof m&&(t.push({plotX:z,plotY:null===m?q:g.getThreshold(m),isNull:h,isCliff:!0}),l.push({plotX:z,plotY:null===n?q:g.getThreshold(n),doCurve:!1}))};
-a=a||this.points;f&&(a=this.getStackPoints(a));for(var k=0,b=a.length;k<b;++k){f||(a[k].leftCliff=a[k].rightCliff=a[k].leftNull=a[k].rightNull=void 0);var p=a[k].isNull;var z=n(a[k].rectPlotX,a[k].plotX);var w=f?n(a[k].yBottom,q):q;if(!p||e)e||h(k,k-1,"left"),p&&!f&&e||(t.push(a[k]),l.push({x:k,plotX:z,plotY:w})),e||h(k,k+1,"right")}h=c.call(this,t,!0,!0);l.reversed=!0;p=c.call(this,l,!0,!0);(w=p[0])&&"M"===w[0]&&(p[0]=["L",w[1],w[2]]);p=h.concat(p);p.length&&p.push(["Z"]);c=c.call(this,t,!1,e);p.xMap=
-h.xMap;this.areaPath=p;return c};c.prototype.getStackPoints=function(a){var c=this,e=[],f=[],g=this.xAxis,l=this.yAxis,r=l.stacking.stacks[this.stackKey],v={},A=l.series,d=A.length,q=l.options.reversedStacks?1:-1,h=A.indexOf(c);a=a||this.points;if(this.options.stacking){for(var k=0;k<a.length;k++)a[k].leftNull=a[k].rightNull=void 0,v[a[k].x]=a[k];t(r,function(a,b){null!==a.total&&f.push(b)});f.sort(function(a,b){return a-b});var b=A.map(function(a){return a.visible});f.forEach(function(a,k){var m=
-0,p,u;if(v[a]&&!v[a].isNull)e.push(v[a]),[-1,1].forEach(function(e){var g=1===e?"rightNull":"leftNull",l=r[f[k+e]],m=0;if(l)for(var n=h;0<=n&&n<d;){var t=A[n].index;p=l.points[t];p||(t===c.index?v[a][g]=!0:b[n]&&(u=r[a].points[t])&&(m-=u[1]-u[0]));n+=q}v[a][1===e?"rightCliff":"leftCliff"]=m});else{for(var t=h;0<=t&&t<d;){if(p=r[a].points[A[t].index]){m=p[1];break}t+=q}m=n(m,0);m=l.translate(m,0,1,0,1);e.push({isNull:!0,plotX:g.translate(a,0,0,0,1),x:a,plotY:m,yBottom:m})}})}return e};c.defaultOptions=
-r(G.defaultOptions,{threshold:0});return c}(G);a(E.prototype,{singleStacks:!1,drawLegendSymbol:g.drawRectangle});x.registerSeriesType("area",E);"";return E});K(g,"Series/Spline/SplineSeries.js",[g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g){var v=this&&this.__extends||function(){var a=function(g,t){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var c in f)f.hasOwnProperty(c)&&(a[c]=f[c])};return a(g,t)};return function(g,
-t){function n(){this.constructor=g}a(g,t);g.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}(),E=a.seriesTypes.line,D=g.merge,B=g.pick;g=function(a){function g(){var g=null!==a&&a.apply(this,arguments)||this;g.data=void 0;g.options=void 0;g.points=void 0;return g}v(g,a);g.prototype.getPointSpline=function(a,g,f){var c=g.plotX||0,l=g.plotY||0,m=a[f-1];f=a[f+1];if(m&&!m.isNull&&!1!==m.doCurve&&!g.isCliff&&f&&!f.isNull&&!1!==f.doCurve&&!g.isCliff){a=m.plotY||0;var e=f.plotX||0;f=
-f.plotY||0;var n=0;var t=(1.5*c+(m.plotX||0))/2.5;var r=(1.5*l+a)/2.5;e=(1.5*c+e)/2.5;var v=(1.5*l+f)/2.5;e!==t&&(n=(v-r)*(e-c)/(e-t)+l-v);r+=n;v+=n;r>a&&r>l?(r=Math.max(a,l),v=2*l-r):r<a&&r<l&&(r=Math.min(a,l),v=2*l-r);v>f&&v>l?(v=Math.max(f,l),r=2*l-v):v<f&&v<l&&(v=Math.min(f,l),r=2*l-v);g.rightContX=e;g.rightContY=v}g=["C",B(m.rightContX,m.plotX,0),B(m.rightContY,m.plotY,0),B(t,c,0),B(r,l,0),c,l];m.rightContX=m.rightContY=void 0;return g};g.defaultOptions=D(E.defaultOptions);return g}(E);a.registerSeriesType("spline",
-g);"";return g});K(g,"Series/AreaSpline/AreaSplineSeries.js",[g["Series/Spline/SplineSeries.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(f,c)};return function(f,c){function g(){this.constructor=f}a(f,c);f.prototype=
-null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),B=x.seriesTypes,G=B.area;B=B.area.prototype;var r=E.extend,t=E.merge;E=function(g){function f(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.points=void 0;a.options=void 0;return a}v(f,g);f.defaultOptions=t(a.defaultOptions,G.defaultOptions);return f}(a);r(E.prototype,{getGraphPath:B.getGraphPath,getStackPoints:B.getStackPoints,drawGraph:B.drawGraph,drawLegendSymbol:g.drawRectangle});x.registerSeriesType("areaspline",E);
-"";return E});K(g,"Series/Column/ColumnSeriesDefaults.js",[],function(){"";return{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"}});K(g,"Series/Column/ColumnSeries.js",[g["Core/Animation/AnimationUtilities.js"],
-g["Core/Color/Color.js"],g["Series/Column/ColumnSeriesDefaults.js"],g["Core/Globals.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r){var t=this&&this.__extends||function(){var a=function(c,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(c,d)};return function(c,d){function e(){this.constructor=
-c}a(c,d);c.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),n=a.animObject,f=g.parse,c=E.hasTouch;a=E.noop;var l=r.clamp,m=r.defined,e=r.extend,u=r.fireEvent,v=r.isArray,J=r.isNumber,I=r.merge,L=r.pick,A=r.objectEach;r=function(a){function d(){var c=null!==a&&a.apply(this,arguments)||this;c.borderWidth=void 0;c.data=void 0;c.group=void 0;c.options=void 0;c.points=void 0;return c}t(d,a);d.prototype.animate=function(a){var c=this,b=this.yAxis,d=c.options,h=this.chart.inverted,
-f={},g=h?"translateX":"translateY";if(a)f.scaleY=.001,a=l(b.toPixels(d.threshold),b.pos,b.pos+b.len),h?f.translateX=a-b.len:f.translateY=a,c.clipBox&&c.setClip(),c.group.attr(f);else{var m=Number(c.group.attr(g));c.group.animate({scaleY:1},e(n(c.options.animation),{step:function(a,d){c.group&&(f[g]=m+d.pos*(b.pos-m),c.group.attr(f))}}))}};d.prototype.init=function(c,d){a.prototype.init.apply(this,arguments);var b=this;c=b.chart;c.hasRendered&&c.series.forEach(function(a){a.type===b.type&&(a.isDirty=
-!0)})};d.prototype.getColumnMetrics=function(){var a=this,c=a.options,b=a.xAxis,d=a.yAxis,e=b.options.reversedStacks;e=b.reversed&&!e||!b.reversed&&e;var f={},g,l=0;!1===c.grouping?l=1:a.chart.series.forEach(function(b){var c=b.yAxis,e=b.options;if(b.type===a.type&&(b.visible||!a.chart.options.chart.ignoreHiddenSeries)&&d.len===c.len&&d.pos===c.pos){if(e.stacking&&"group"!==e.stacking){g=b.stackKey;"undefined"===typeof f[g]&&(f[g]=l++);var h=f[g]}else!1!==e.grouping&&(h=l++);b.columnIndex=h}});var m=
-Math.min(Math.abs(b.transA)*(b.ordinal&&b.ordinal.slope||c.pointRange||b.closestPointRange||b.tickInterval||1),b.len),n=m*c.groupPadding,q=(m-2*n)/(l||1);c=Math.min(c.maxPointWidth||b.len,L(c.pointWidth,q*(1-2*c.pointPadding)));a.columnMetrics={width:c,offset:(q-c)/2+(n+((a.columnIndex||0)+(e?1:0))*q-m/2)*(e?-1:1),paddedWidth:q,columnCount:l};return a.columnMetrics};d.prototype.crispCol=function(a,c,b,d){var e=this.chart,h=this.borderWidth,f=-(h%2?.5:0);h=h%2?.5:1;e.inverted&&e.renderer.isVML&&(h+=
-1);this.options.crisp&&(b=Math.round(a+b)+f,a=Math.round(a)+f,b-=a);d=Math.round(c+d)+h;f=.5>=Math.abs(c)&&.5<d;c=Math.round(c)+h;d-=c;f&&d&&(--c,d+=1);return{x:a,y:c,width:b,height:d}};d.prototype.adjustForMissingColumns=function(a,c,b,d){var e=this,h=this.options.stacking;if(!b.isNull&&1<d.columnCount){var f=this.yAxis.options.reversedStacks,g=0,k=f?0:-d.columnCount;A(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(a){if("number"===typeof b.x){var c=a[b.x.toString()];c&&(a=c.points[e.index],
-h?(a&&(g=k),c.hasValidPoints&&(f?k++:k--)):v(a)&&(a=Object.keys(c.points).filter(function(a){return!a.match(",")&&c.points[a]&&1<c.points[a].length}).map(parseFloat).sort(function(a,b){return b-a}),g=a.indexOf(e.index),k=a.length))}});a=(b.plotX||0)+((k-1)*d.paddedWidth+c)/2-c-g*d.paddedWidth}return a};d.prototype.translate=function(){var a=this,c=a.chart,b=a.options,d=a.dense=2>a.closestPointRange*a.xAxis.transA;d=a.borderWidth=L(b.borderWidth,d?0:1);var e=a.xAxis,f=a.yAxis,g=b.threshold,n=a.translatedThreshold=
-f.getThreshold(g),q=L(b.minPointLength,5),u=a.getColumnMetrics(),t=u.width,r=a.pointXOffset=u.offset,y=a.dataMin,A=a.dataMax,v=a.barW=Math.max(t,1+2*d);c.inverted&&(n-=.5);b.pointPadding&&(v=Math.ceil(v));B.prototype.translate.apply(a);a.points.forEach(function(d){var h=L(d.yBottom,n),k=999+Math.abs(h),p=d.plotX||0;k=l(d.plotY,-k,f.len+k);var w=Math.min(k,h),z=Math.max(k,h)-w,C=t,x=p+r,B=v;q&&Math.abs(z)<q&&(z=q,p=!f.reversed&&!d.negative||f.reversed&&d.negative,J(g)&&J(A)&&d.y===g&&A<=g&&(f.min||
-0)<g&&(y!==A||(f.max||0)<=g)&&(p=!p),w=Math.abs(w-n)>q?h-q:n-(p?q:0));m(d.options.pointWidth)&&(C=B=Math.ceil(d.options.pointWidth),x-=Math.round((C-t)/2));b.centerInCategory&&(x=a.adjustForMissingColumns(x,C,d,u));d.barX=x;d.pointWidth=C;d.tooltipPos=c.inverted?[l(f.len+f.pos-c.plotLeft-k,f.pos-c.plotLeft,f.len+f.pos-c.plotLeft),e.len+e.pos-c.plotTop-x-B/2,z]:[e.left-c.plotLeft+x+B/2,l(k+f.pos-c.plotTop,f.pos-c.plotTop,f.len+f.pos-c.plotTop),z];d.shapeType=a.pointClass.prototype.shapeType||"rect";
-d.shapeArgs=a.crispCol.apply(a,d.isNull?[x,n,B,0]:[x,w,B,z])})};d.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};d.prototype.pointAttribs=function(a,c){var b=this.options,d=this.pointAttrToOptions||{},e=d.stroke||"borderColor",h=d["stroke-width"]||"borderWidth",g=a&&a.color||this.color,k=a&&a[e]||b[e]||g;d=a&&a.options.dashStyle||b.dashStyle;var l=a&&a[h]||b[h]||this[h]||0,m=L(a&&a.opacity,b.opacity,1);if(a&&this.zones.length){var n=a.getZone();
-g=a.options.color||n&&(n.color||a.nonZonedColor)||this.color;n&&(k=n.borderColor||k,d=n.dashStyle||d,l=n.borderWidth||l)}c&&a&&(a=I(b.states[c],a.options.states&&a.options.states[c]||{}),c=a.brightness,g=a.color||"undefined"!==typeof c&&f(g).brighten(a.brightness).get()||g,k=a[e]||k,l=a[h]||l,d=a.dashStyle||d,m=L(a.opacity,m));e={fill:g,stroke:k,"stroke-width":l,opacity:m};d&&(e.dashstyle=d);return e};d.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var c=this,b=this.chart,d=c.options,
-e=b.renderer,f=d.animationLimit||250,h;a.forEach(function(a){var g=a.graphic,k=!!g,l=g&&b.pointCount<f?"animate":"attr";if(J(a.plotY)&&null!==a.y){h=a.shapeArgs;g&&a.hasNewShapeType()&&(g=g.destroy());c.enabledDataSorting&&(a.startXPos=c.xAxis.reversed?-(h?h.width||0:0):c.xAxis.width);g||(a.graphic=g=e[a.shapeType](h).add(a.group||c.group))&&c.enabledDataSorting&&b.hasRendered&&b.pointCount<f&&(g.attr({x:a.startXPos}),k=!0,l="animate");if(g&&k)g[l](I(h));if(d.borderRadius)g[l]({r:d.borderRadius});
-b.styledMode||g[l](c.pointAttribs(a,a.selected&&"select")).shadow(!1!==a.allowShadow&&d.shadow,null,d.stacking&&!d.borderRadius);g&&(g.addClass(a.getClassName(),!0),g.attr({visibility:a.visible?"inherit":"hidden"}))}else g&&(a.graphic=g.destroy())})};d.prototype.drawTracker=function(a){void 0===a&&(a=this.points);var d=this,b=d.chart,e=b.pointer,f=function(a){var b=e.getPointFromEvent(a);"undefined"!==typeof b&&(e.isDirectTouch=!0,b.onMouseOver(a))},h;a.forEach(function(a){h=v(a.dataLabels)?a.dataLabels:
-a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);h.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});d._hasTracking||(d.trackerGroups.forEach(function(a){if(d[a]){d[a].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){e.onTrackerMouseOut(a)});if(c)d[a].on("touchstart",f);!b.styledMode&&d.options.cursor&&d[a].css({cursor:d.options.cursor})}}),d._hasTracking=!0);u(this,"afterDrawTracker")};d.prototype.remove=function(){var a=this,c=a.chart;c.hasRendered&&
-c.series.forEach(function(b){b.type===a.type&&(b.isDirty=!0)});B.prototype.remove.apply(a,arguments)};d.defaultOptions=I(B.defaultOptions,x);return d}(B);e(r.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:D.drawRectangle,getSymbol:a,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]});G.registerSeriesType("column",r);"";return r});K(g,"Core/Series/DataLabel.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/FormatUtilities.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.getDeferredAnimation,
-D=g.format,B=x.defined,G=x.extend,r=x.fireEvent,t=x.isArray,n=x.isString,f=x.merge,c=x.objectEach,l=x.pick,m=x.splat,e;(function(a){function e(a,c,b,d,e){var f=this,h=this.chart,g=this.isCartesian&&h.inverted,k=this.enabledDataSorting,m=a.plotX,n=a.plotY,q=b.rotation,p=b.align,u=B(m)&&B(n)&&h.isInsidePlot(m,Math.round(n),{inverted:g,paneCoordinates:!0,series:f}),t=function(b){k&&f.xAxis&&!r&&f.setDataLabelStartPos(a,c,e,u,b)},r="justify"===l(b.overflow,k?"none":"justify"),A=this.visible&&!1!==a.visible&&
-B(m)&&(a.series.forceDL||k&&!r||u||l(b.inside,!!this.options.stacking)&&d&&h.isInsidePlot(m,g?d.x+1:d.y+d.height-1,{inverted:g,paneCoordinates:!0,series:f}));if(A&&B(m)&&B(n)){q&&c.attr({align:p});p=c.getBBox(!0);var v=[0,0];var z=h.renderer.fontMetrics(h.styledMode?void 0:b.style.fontSize,c).b;d=G({x:g?this.yAxis.len-n:m,y:Math.round(g?this.xAxis.len-m:n),width:0,height:0},d);G(b,{width:p.width,height:p.height});q?(r=!1,v=h.renderer.rotCorr(z,q),z={x:d.x+(b.x||0)+d.width/2+v.x,y:d.y+(b.y||0)+{top:0,
-middle:.5,bottom:1}[b.verticalAlign]*d.height},v=[p.x-Number(c.attr("x")),p.y-Number(c.attr("y"))],t(z),c[e?"attr":"animate"](z)):(t(d),c.align(b,void 0,d),z=c.alignAttr);r&&0<=d.height?this.justifyDataLabel(c,b,z,p,d,e):l(b.crop,!0)&&(d=z.x,t=z.y,d+=v[0],t+=v[1],A=h.isInsidePlot(d,t,{paneCoordinates:!0,series:f})&&h.isInsidePlot(d+p.width,t+p.height,{paneCoordinates:!0,series:f}));if(b.shape&&!q)c[e?"attr":"animate"]({anchorX:g?h.plotWidth-n:m,anchorY:g?h.plotHeight-m:n})}e&&k&&(c.placed=!1);A||
-k&&!r?c.show():(c.hide(),c.placed=!1)}function g(a,c){var b=c.filter;return b?(c=b.operator,a=a[b.property],b=b.value,">"===c&&a>b||"<"===c&&a<b||">="===c&&a>=b||"<="===c&&a<=b||"=="===c&&a==b||"==="===c&&a===b?!0:!1):!0}function u(a){void 0===a&&(a=this.points);var d=this,b=d.chart,e=d.options,f=d.hasRendered||0,h=b.renderer,q=b.options.chart,u=q.backgroundColor;q=q.plotBackgroundColor;var C=h.getContrast(n(q)&&q||n(u)&&u||"#000000"),x=e.dataLabels,E;u=x.animation;u=x.defer?v(b,u,d):{defer:0,duration:0};
-x=A(A(b.options.plotOptions&&b.options.plotOptions.series&&b.options.plotOptions.series.dataLabels,b.options.plotOptions&&b.options.plotOptions[d.type]&&b.options.plotOptions[d.type].dataLabels),x);r(this,"drawDataLabels");if(t(x)||x.enabled||d._hasPointLabels){var I=d.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",x.zIndex||6);I.attr({opacity:+f});!f&&(f=d.dataLabelsGroup)&&(d.visible&&I.show(),f[e.animation?"animate":"attr"]({opacity:1},u));a.forEach(function(a){E=m(A(x,a.dlOptions||
-a.options&&a.options.dataLabels));E.forEach(function(f,k){var m=f.enabled&&(!a.isNull||a.dataLabelOnNull)&&g(a,f),n=a.connectors?a.connectors[k]:a.connector,q=a.dataLabels?a.dataLabels[k]:a.dataLabel,p=!q,u=l(f.distance,a.labelDistance);if(m){var t=a.getLabelConfig();var r=l(f[a.formatPrefix+"Format"],f.format);t=B(r)?D(r,t,b):(f[a.formatPrefix+"Formatter"]||f.formatter).call(t,f);r=f.style;var A=f.rotation;b.styledMode||(r.color=l(f.color,r.color,d.color,"#000000"),"contrast"===r.color?(a.contrastColor=
-h.getContrast(a.color||d.color),r.color=!B(u)&&f.inside||0>u||e.stacking?a.contrastColor:C):delete a.contrastColor,e.cursor&&(r.cursor=e.cursor));var v={r:f.borderRadius||0,rotation:A,padding:f.padding,zIndex:1};b.styledMode||(v.fill=f.backgroundColor,v.stroke=f.borderColor,v["stroke-width"]=f.borderWidth);c(v,function(a,b){"undefined"===typeof a&&delete v[b]})}!q||m&&B(t)&&!!q.div===!!f.useHTML&&(q.rotation&&f.rotation||q.rotation===f.rotation)||(p=!0,a.dataLabel=q=a.dataLabel&&a.dataLabel.destroy(),
-a.dataLabels&&(1===a.dataLabels.length?delete a.dataLabels:delete a.dataLabels[k]),k||delete a.dataLabel,n&&(a.connector=a.connector.destroy(),a.connectors&&(1===a.connectors.length?delete a.connectors:delete a.connectors[k])));m&&B(t)?(q?v.text=t:(a.dataLabels=a.dataLabels||[],q=a.dataLabels[k]=A?h.text(t,0,0,f.useHTML).addClass("highcharts-data-label"):h.label(t,0,0,f.shape,null,null,f.useHTML,null,"data-label"),k||(a.dataLabel=q),q.addClass(" highcharts-data-label-color-"+a.colorIndex+" "+(f.className||
-"")+(f.useHTML?" highcharts-tracker":""))),q.options=f,q.attr(v),b.styledMode||q.css(r).shadow(f.shadow),(k=f[a.formatPrefix+"TextPath"]||f.textPath)&&!f.useHTML&&(q.setTextPath(a.getDataLabelPath&&a.getDataLabelPath(q)||a.graphic,k),a.dataLabelPath&&!k.enabled&&(a.dataLabelPath=a.dataLabelPath.destroy())),q.added||q.add(I),d.alignDataLabel(a,q,f,null,p)):q&&q.hide()})})}r(this,"afterDrawDataLabels")}function x(a,c,b,d,e,f){var h=this.chart,g=c.align,k=c.verticalAlign,l=a.box?0:a.padding||0,m=c.x;
-m=void 0===m?0:m;var n=c.y;n=void 0===n?0:n;var q=(b.x||0)+l;if(0>q){"right"===g&&0<=m?(c.align="left",c.inside=!0):m-=q;var p=!0}q=(b.x||0)+d.width-l;q>h.plotWidth&&("left"===g&&0>=m?(c.align="right",c.inside=!0):m+=h.plotWidth-q,p=!0);q=b.y+l;0>q&&("bottom"===k&&0<=n?(c.verticalAlign="top",c.inside=!0):n-=q,p=!0);q=(b.y||0)+d.height-l;q>h.plotHeight&&("top"===k&&0>=n?(c.verticalAlign="bottom",c.inside=!0):n+=h.plotHeight-q,p=!0);p&&(c.x=m,c.y=n,a.placed=!f,a.align(c,void 0,e));return p}function A(a,
-c){var b=[],d;if(t(a)&&!t(c))b=a.map(function(a){return f(a,c)});else if(t(c)&&!t(a))b=c.map(function(b){return f(a,b)});else if(t(a)||t(c))for(d=Math.max(a.length,c.length);d--;)b[d]=f(a[d],c[d]);else b=f(a,c);return b}function d(a,c,b,d,e){var f=this.chart,h=f.inverted,g=this.xAxis,k=g.reversed,l=h?c.height/2:c.width/2;a=(a=a.pointWidth)?a/2:0;c.startXPos=h?e.x:k?-l-a:g.width-l+a;c.startYPos=h?k?this.yAxis.height-l+a:-l-a:e.y;d?"hidden"===c.visibility&&(c.show(),c.attr({opacity:0}).animate({opacity:1})):
-c.attr({opacity:1}).animate({opacity:0},void 0,c.hide);f.hasRendered&&(b&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)}var q=[];a.compose=function(a){if(-1===q.indexOf(a)){var c=a.prototype;q.push(a);c.alignDataLabel=e;c.drawDataLabels=u;c.justifyDataLabel=x;c.setDataLabelStartPos=d}}})(e||(e={}));"";return e});K(g,"Series/Column/ColumnDataLabel.js",[g["Core/Series/DataLabel.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=g.series,D=x.merge,B=x.pick,G;(function(g){function t(a,
-c,g,m,e){var f=this.chart.inverted,l=a.series,n=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0;l=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0;var t=a.dlBox||a.shapeArgs,r=B(a.below,a.plotY>B(this.translatedThreshold,l)),A=B(g.inside,!!this.options.stacking);t&&(m=D(t),0>m.y&&(m.height+=m.y,m.y=0),t=m.y+m.height-l,0<t&&t<m.height&&(m.height-=t),f&&(m={x:l-m.y-m.height,y:n-m.x-m.width,width:m.height,height:m.width}),A||(f?(m.x+=r?0:m.width,m.width=0):(m.y+=r?m.height:0,m.height=0)));g.align=B(g.align,
-!f||A?"center":r?"right":"left");g.verticalAlign=B(g.verticalAlign,f||A?"middle":r?"top":"bottom");v.prototype.alignDataLabel.call(this,a,c,g,m,e);g.inside&&a.contrastColor&&c.css({color:a.contrastColor})}var n=[];g.compose=function(f){a.compose(v);-1===n.indexOf(f)&&(n.push(f),f.prototype.alignDataLabel=t)}})(G||(G={}));return G});K(g,"Series/Bar/BarSeries.js",[g["Series/Column/ColumnSeries.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||
-function(){var a=function(g,t){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var c in f)f.hasOwnProperty(c)&&(a[c]=f[c])};return a(g,t)};return function(g,t){function n(){this.constructor=g}a(g,t);g.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}(),D=x.extend,B=x.merge;x=function(g){function r(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}v(r,g);r.defaultOptions=
-B(a.defaultOptions,{});return r}(a);D(x.prototype,{inverted:!0});g.registerSeriesType("bar",x);"";return x});K(g,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){"";return{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/>"}}});K(g,"Series/Scatter/ScatterSeries.js",[g["Series/Scatter/ScatterSeriesDefaults.js"],
-g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(f,c)};return function(f,c){function g(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),D=g.seriesTypes,B=D.column,G=D.line;D=x.addEvent;var r=x.extend,t=x.merge;
-x=function(g){function f(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}v(f,g);f.prototype.applyJitter=function(){var a=this,f=this.options.jitter,g=this.points.length;f&&this.points.forEach(function(c,l){["x","y"].forEach(function(e,m){var n="plot"+e.toUpperCase();if(f[e]&&!c.isNull){var u=a[e+"Axis"];var t=f[e]*u.transA;if(u&&!u.isLog){var d=Math.max(0,c[n]-t);u=Math.min(u.len,c[n]+t);m=1E4*Math.sin(l+m*g);c[n]=d+(u-d)*(m-Math.floor(m));"x"===
-e&&(c.clientX=c.plotX)}}})})};f.prototype.drawGraph=function(){this.options.lineWidth?g.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())};f.defaultOptions=t(G.defaultOptions,a);return f}(G);r(x.prototype,{drawTracker:B.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});D(x,"afterTranslate",function(){this.applyJitter()});g.registerSeriesType("scatter",x);return x});K(g,"Series/CenteredUtilities.js",
-[g["Core/Globals.js"],g["Core/Series/Series.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.deg2rad,D=x.fireEvent,B=x.isNumber,G=x.pick,r=x.relativeLength,t;(function(a){a.getCenter=function(){var a=this.options,c=this.chart,l=2*(a.slicedOffset||0),m=c.plotWidth-2*l,e=c.plotHeight-2*l,n=a.center,t=Math.min(m,e),v=a.thickness,x=a.size,E=a.innerSize||0;"string"===typeof x&&(x=parseFloat(x));"string"===typeof E&&(E=parseFloat(E));a=[G(n[0],"50%"),G(n[1],"50%"),G(x&&0>x?void 0:a.size,"100%"),G(E&&
-0>E?void 0:a.innerSize||0,"0%")];!c.angular||this instanceof g||(a[3]=0);for(n=0;4>n;++n)x=a[n],c=2>n||2===n&&/%$/.test(x),a[n]=r(x,[m,e,t,a[2]][n])+(c?l:0);a[3]>a[2]&&(a[3]=a[2]);B(v)&&2*v<a[2]&&0<v&&(a[3]=a[2]-2*v);D(this,"afterGetCenter",{positions:a});return a};a.getStartAndEndRadians=function(a,c){a=B(a)?a:0;c=B(c)&&c>a&&360>c-a?c:a+360;return{start:v*(a+-90),end:v*(c+-90)}}})(t||(t={}));"";return t});K(g,"Series/Pie/PiePoint.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Series/Point.js"],
-g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var a=function(c,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,f)};return function(c,f){function g(){this.constructor=c}a(c,f);c.prototype=null===f?Object.create(f):(g.prototype=f.prototype,new g)}}(),D=a.setAnimation,B=x.addEvent,G=x.defined;a=x.extend;var r=x.isNumber,t=x.pick,n=x.relativeLength;g=function(a){function c(){var c=
-null!==a&&a.apply(this,arguments)||this;c.labelDistance=void 0;c.options=void 0;c.series=void 0;return c}v(c,a);c.prototype.getConnectorPath=function(){var a=this.labelPosition,c=this.series.options.dataLabels,e=this.connectorShapes,f=c.connectorShape;e[f]&&(f=e[f]);return f.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,c)};c.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};c.prototype.haloPath=function(a){var c=
-this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:c.r-1,start:c.start,end:c.end})};c.prototype.init=function(){var c=this;a.prototype.init.apply(this,arguments);this.name=t(this.name,"Slice");var f=function(a){c.slice("select"===a.type)};B(this,"select",f);B(this,"unselect",f);return this};c.prototype.isValid=function(){return r(this.y)&&0<=this.y};c.prototype.setVisible=function(a,c){var e=this,f=this.series,g=f.chart,l=f.options.ignoreHiddenPoint;
-c=t(c,l);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,f.options.data[f.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(c){if(e[c])e[c][a?"show":"hide"](a)}),this.legendItem&&g.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),l&&(f.isDirty=!0),c&&g.redraw())};c.prototype.slice=function(a,c,e){var f=this.series;D(e,f.chart);t(c,!0);this.sliced=this.options.sliced=G(a)?a:!this.sliced;
-f.options.data[f.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return c}(g);a(g.prototype,{connectorShapes:{fixedOffset:function(a,c,g){var f=c.breakAt;c=c.touchingSliceAt;return[["M",a.x,a.y],g.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*f.x-c.x,2*f.y-c.y,f.x,f.y]:["L",f.x,f.y],["L",c.x,c.y]]},straight:function(a,c){c=c.touchingSliceAt;return[["M",a.x,a.y],["L",c.x,c.y]]},crookedLine:function(a,
-c,g){c=c.touchingSliceAt;var f=this.series,e=f.center[0],l=f.chart.plotWidth,t=f.chart.plotLeft;f=a.alignment;var r=this.shapeArgs.r;g=n(g.crookDistance,1);l="left"===f?e+r+(l+t-e-r)*(1-g):t+(e-r)*g;g=["L",l,a.y];e=!0;if("left"===f?l>a.x||l<c.x:l<a.x||l>c.x)e=!1;a=[["M",a.x,a.y]];e&&a.push(g);a.push(["L",c.x,c.y]);return a}}});return g});K(g,"Series/Pie/PieSeriesDefaults.js",[],function(){"";return{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",
+a.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}};a.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}};a.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}};a.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}}})(a||(a={}));return a});K(g,"Core/Foundation.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.isFunction,F=a.objectEach,C=a.removeEvent,B;(function(a){a.registerEventOptions=function(a,r){a.eventOptions=
+a.eventOptions||{};F(r.events,function(l,e){a.eventOptions[e]!==l&&(a.eventOptions[e]&&(C(a,e,a.eventOptions[e]),delete a.eventOptions[e]),x(l)&&(a.eventOptions[e]=l,g(a,e,l)))})}})(B||(B={}));return B});K(g,"Core/Axis/Tick.js",[g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var A=g.deg2rad,C=x.clamp,B=x.correctFloat,H=x.defined,t=x.destroyObjectProperties,r=x.extend,l=x.fireEvent,e=x.isNumber,d=x.merge,h=x.objectEach,m=x.pick;g=function(){function g(d,e,
+a,h,g){this.isNewLabel=this.isNew=!0;this.axis=d;this.pos=e;this.type=a||"";this.parameters=g||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;l(this,"init");a||h||this.addLabel()}g.prototype.addLabel=function(){var d=this,h=d.axis,g=h.options,k=h.chart,L=h.categories,y=h.logarithmic,c=h.names,w=d.pos,f=m(d.options&&d.options.labels,g.labels),n=h.tickPositions,b=w===n[0],u=w===n[n.length-1],z=(!f.step||1===f.step)&&1===h.tickInterval;n=n.info;var q=d.label,
+N;L=this.parameters.category||(L?m(L[w],c[w],w):w);y&&e(L)&&(L=B(y.lin2log(L)));if(h.dateTime)if(n){var J=k.time.resolveDTLFormat(g.dateTimeLabelFormats[!g.grid&&n.higherRanks[w]||n.unitName]);var O=J.main}else e(L)&&(O=h.dateTime.getXDateFormat(L,g.dateTimeLabelFormats||{}));d.isFirst=b;d.isLast=u;var Q={axis:h,chart:k,dateTimeLabelFormat:O,isFirst:b,isLast:u,pos:w,tick:d,tickPositionInfo:n,value:L};l(this,"labelFormat",Q);var t=function(b){return f.formatter?f.formatter.call(b,b):f.format?(b.text=
+h.defaultLabelFormatter.call(b,b),a.format(f.format,b,k)):h.defaultLabelFormatter.call(b,b)};g=t.call(Q,Q);var Y=J&&J.list;d.shortenLabel=Y?function(){for(N=0;N<Y.length;N++)if(r(Q,{dateTimeLabelFormat:Y[N]}),q.attr({text:t.call(Q,Q)}),q.getBBox().width<h.getSlotWidth(d)-2*f.padding)return;q.attr({text:""})}:void 0;z&&h._addedPlotLB&&d.moveLabel(g,f);H(q)||d.movedLabel?q&&q.textStr!==g&&!z&&(!q.textWidth||f.style.width||q.styles.width||q.css({width:null}),q.attr({text:g}),q.textPxLength=q.getBBox().width):
+(d.label=q=d.createLabel({x:0,y:0},g,f),d.rotation=0)};g.prototype.createLabel=function(e,a,h){var g=this.axis,k=g.chart;if(e=H(a)&&h.enabled?k.renderer.text(a,e.x,e.y,h.useHTML).add(g.labelGroup):null)k.styledMode||e.css(d(h.style)),e.textPxLength=e.getBBox().width;return e};g.prototype.destroy=function(){t(this,this.axis)};g.prototype.getPosition=function(d,e,a,h){var g=this.axis,k=g.chart,c=h&&k.oldChartHeight||k.chartHeight;d={x:d?B(g.translate(e+a,void 0,void 0,h)+g.transB):g.left+g.offset+(g.opposite?
+(h&&k.oldChartWidth||k.chartWidth)-g.right-g.left:0),y:d?c-g.bottom+g.offset-(g.opposite?g.height:0):B(c-g.translate(e+a,void 0,void 0,h)-g.transB)};d.y=C(d.y,-1E5,1E5);l(this,"afterGetPosition",{pos:d});return d};g.prototype.getLabelPosition=function(d,e,a,h,g,k,c,w){var f=this.axis,n=f.transA,b=f.isLinked&&f.linkedParent?f.linkedParent.reversed:f.reversed,u=f.staggerLines,z=f.tickRotCorr||{x:0,y:0},q=h||f.reserveSpaceDefault?0:-f.labelOffset*("center"===f.labelAlign?.5:1),m={};a=0===f.side?a.rotation?
+-8:-a.getBBox().height:2===f.side?z.y+8:Math.cos(a.rotation*A)*(z.y-a.getBBox(!1,0).height/2);H(g.y)&&(a=0===f.side&&f.horiz?g.y+a:g.y);d=d+g.x+q+z.x-(k&&h?k*n*(b?-1:1):0);e=e+a-(k&&!h?k*n*(b?1:-1):0);u&&(h=c/(w||1)%u,f.opposite&&(h=u-h-1),e+=f.labelOffset/u*h);m.x=d;m.y=Math.round(e);l(this,"afterGetLabelPosition",{pos:m,tickmarkOffset:k,index:c});return m};g.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0};g.prototype.getMarkPath=function(d,
+e,a,h,g,k){return k.crispLine([["M",d,e],["L",d+(g?0:-a),e+(g?a:0)]],h)};g.prototype.handleOverflow=function(d){var e=this.axis,a=e.options.labels,h=d.x,g=e.chart.chartWidth,k=e.chart.spacing,c=m(e.labelLeft,Math.min(e.pos,k[3]));k=m(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,g-k[1]));var w=this.label,f=this.rotation,n={left:0,center:.5,right:1}[e.labelAlign||w.attr("align")],b=w.getBBox().width,u=e.getSlotWidth(this),z={},q=u,p=1,l;if(f||"justify"!==a.overflow)0>f&&h-n*b<c?l=Math.round(h/Math.cos(f*
+A)-c):0<f&&h+n*b>k&&(l=Math.round((g-h)/Math.cos(f*A)));else if(g=h+(1-n)*b,h-n*b<c?q=d.x+q*(1-n)-c:g>k&&(q=k-d.x+q*n,p=-1),q=Math.min(u,q),q<u&&"center"===e.labelAlign&&(d.x+=p*(u-q-n*(u-Math.min(b,q)))),b>q||e.autoRotation&&(w.styles||{}).width)l=q;l&&(this.shortenLabel?this.shortenLabel():(z.width=Math.floor(l)+"px",(a.style||{}).textOverflow||(z.textOverflow="ellipsis"),w.css(z)))};g.prototype.moveLabel=function(d,e){var a=this,g=a.label,k=a.axis,m=k.reversed,c=!1;g&&g.textStr===d?(a.movedLabel=
+g,c=!0,delete a.label):h(k.ticks,function(f){c||f.isNew||f===a||!f.label||f.label.textStr!==d||(a.movedLabel=f.label,c=!0,f.labelPos=a.movedLabel.xy,delete f.label)});if(!c&&(a.labelPos||g)){var w=a.labelPos||g.xy;g=k.horiz?m?0:k.width+k.left:w.x;k=k.horiz?w.y:m?k.width+k.left:0;a.movedLabel=a.createLabel({x:g,y:k},d,e);a.movedLabel&&a.movedLabel.attr({opacity:0})}};g.prototype.render=function(d,e,a){var h=this.axis,g=h.horiz,k=this.pos,c=m(this.tickmarkOffset,h.tickmarkOffset);k=this.getPosition(g,
+k,c,e);c=k.x;var w=k.y;h=g&&c===h.pos+h.len||!g&&w===h.pos?-1:1;g=m(a,this.label&&this.label.newOpacity,1);a=m(a,1);this.isActive=!0;this.renderGridLine(e,a,h);this.renderMark(k,a,h);this.renderLabel(k,e,g,d);this.isNew=!1;l(this,"afterRender")};g.prototype.renderGridLine=function(d,e,a){var h=this.axis,g=h.options,k={},c=this.pos,w=this.type,f=m(this.tickmarkOffset,h.tickmarkOffset),n=h.chart.renderer,b=this.gridLine,u=g.gridLineWidth,z=g.gridLineColor,q=g.gridLineDashStyle;"minor"===this.type&&
+(u=g.minorGridLineWidth,z=g.minorGridLineColor,q=g.minorGridLineDashStyle);b||(h.chart.styledMode||(k.stroke=z,k["stroke-width"]=u||0,k.dashstyle=q),w||(k.zIndex=1),d&&(e=0),this.gridLine=b=n.path().attr(k).addClass("highcharts-"+(w?w+"-":"")+"grid-line").add(h.gridGroup));if(b&&(a=h.getPlotLinePath({value:c+f,lineWidth:b.strokeWidth()*a,force:"pass",old:d,acrossPanes:!1})))b[d||this.isNew?"attr":"animate"]({d:a,opacity:e})};g.prototype.renderMark=function(d,e,a){var h=this.axis,g=h.options,k=h.chart.renderer,
+c=this.type,w=h.tickSize(c?c+"Tick":"tick"),f=d.x;d=d.y;var n=m(g["minor"!==c?"tickWidth":"minorTickWidth"],!c&&h.isXAxis?1:0);g=g["minor"!==c?"tickColor":"minorTickColor"];var b=this.mark,u=!b;w&&(h.opposite&&(w[0]=-w[0]),b||(this.mark=b=k.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(h.axisGroup),h.chart.styledMode||b.attr({stroke:g,"stroke-width":n})),b[u?"attr":"animate"]({d:this.getMarkPath(f,d,w[0],b.strokeWidth()*a,h.horiz,k),opacity:e}))};g.prototype.renderLabel=function(d,a,h,g){var k=
+this.axis,l=k.horiz,c=k.options,w=this.label,f=c.labels,n=f.step;k=m(this.tickmarkOffset,k.tickmarkOffset);var b=d.x;d=d.y;var u=!0;w&&e(b)&&(w.xy=d=this.getLabelPosition(b,d,w,l,f,k,g,n),this.isFirst&&!this.isLast&&!c.showFirstLabel||this.isLast&&!this.isFirst&&!c.showLastLabel?u=!1:!l||f.step||f.rotation||a||0===h||this.handleOverflow(d),n&&g%n&&(u=!1),u&&e(d.y)?(d.opacity=h,w[this.isNewLabel?"attr":"animate"](d).show(!0),this.isNewLabel=!1):(w.hide(),this.isNewLabel=!0))};g.prototype.replaceMovedLabel=
+function(){var d=this.label,e=this.axis,a=e.reversed;if(d&&!this.isNew){var h=e.horiz?a?e.left:e.width+e.left:d.xy.x;a=e.horiz?d.xy.y:a?e.width+e.top:e.top;d.animate({x:h,y:a,opacity:0},void 0,d.destroy);delete this.label}e.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return g}();"";return g});K(g,"Core/Axis/Axis.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/AxisDefaults.js"],g["Core/Color/Color.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"],
+g["Core/Axis/Tick.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B,H,t){var r=a.animObject,l=F.defaultOptions,e=C.registerEventOptions,d=B.deg2rad,h=t.arrayMax,m=t.arrayMin,k=t.clamp,p=t.correctFloat,D=t.defined,I=t.destroyObjectProperties,E=t.erase,A=t.error,y=t.extend,c=t.fireEvent,w=t.isArray,f=t.isNumber,n=t.isString,b=t.merge,u=t.normalizeTickInterval,z=t.objectEach,q=t.pick,N=t.relativeLength,J=t.removeEvent,O=t.splat,Q=t.syncTimeout,T=function(b,c){return u(c,void 0,void 0,q(b.options.allowDecimals,
+.5>c||void 0!==b.tickAmount),!!b.tickAmount)};a=function(){function a(b,c){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(b,c)}a.prototype.init=function(b,d){var a=d.isX;this.chart=b;this.horiz=b.inverted&&!this.isZAxis?!a:a;this.isXAxis=a;this.coll=this.coll||(a?"xAxis":"yAxis");c(this,
+"init",{userOptions:d});this.opposite=q(d.opposite,this.opposite);this.side=q(d.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(d);var v=this.options,n=v.labels,h=v.type;this.userOptions=d;this.minPixelPadding=0;this.reversed=q(v.reversed,this.reversed);this.visible=v.visible;this.zoomEnabled=v.zoomEnabled;this.hasNames="category"===h||!0===v.categories;this.categories=v.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups=
+{};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=D(v.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=v.minRange||v.maxZoom;this.range=v.range;this.offset=v.offset||0;this.min=this.max=null;d=q(v.crosshair,O(b.options.tooltip.crosshairs)[a?0:1]);this.crosshair=!0===d?{}:d;-1===b.axes.indexOf(this)&&(a?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),b[this.coll].push(this));this.series=
+this.series||[];b.inverted&&!this.isZAxis&&a&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=f(n.rotation)?n.rotation:void 0;e(this,v);c(this,"afterInit")};a.prototype.setOptions=function(f){this.options=b(g.defaultXAxisOptions,"yAxis"===this.coll&&g.defaultYAxisOptions,[g.defaultTopAxisOptions,g.defaultRightAxisOptions,g.defaultBottomAxisOptions,g.defaultLeftAxisOptions][this.side],b(l[this.coll],f));c(this,"afterSetOptions",{userOptions:f})};a.prototype.defaultLabelFormatter=
+function(b){var c=this.axis;b=this.chart.numberFormatter;var d=f(this.value)?this.value:NaN,a=c.chart.time,e=this.dateTimeLabelFormat,v=l.lang,n=v.numericSymbols;v=v.numericSymbolMagnitude||1E3;var h=c.logarithmic?Math.abs(d):c.tickInterval,q=n&&n.length;if(c.categories)var u="".concat(this.value);else if(e)u=a.dateFormat(e,d);else if(q&&1E3<=h)for(;q--&&"undefined"===typeof u;)c=Math.pow(v,q+1),h>=c&&0===10*d%c&&null!==n[q]&&0!==d&&(u=b(d/c,-1)+n[q]);"undefined"===typeof u&&(u=1E4<=Math.abs(d)?b(d,
+-1):b(d,-1,void 0,""));return u};a.prototype.getSeriesExtremes=function(){var b=this,d=b.chart,a;c(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.series.forEach(function(c){if(c.visible||!d.options.chart.ignoreHiddenSeries){var e=c.options,v=e.threshold;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=v&&(v=null);if(b.isXAxis){if(e=c.xData,e.length){e=b.logarithmic?e.filter(b.validatePositiveValue):e;a=c.getXExtremes(e);
+var n=a.min;var h=a.max;f(n)||n instanceof Date||(e=e.filter(f),a=c.getXExtremes(e),n=a.min,h=a.max);e.length&&(b.dataMin=Math.min(q(b.dataMin,n),n),b.dataMax=Math.max(q(b.dataMax,h),h))}}else if(c=c.applyExtremes(),f(c.dataMin)&&(n=c.dataMin,b.dataMin=Math.min(q(b.dataMin,n),n)),f(c.dataMax)&&(h=c.dataMax,b.dataMax=Math.max(q(b.dataMax,h),h)),D(v)&&(b.threshold=v),!e.softThreshold||b.positiveValuesOnly)b.softThreshold=!1}})});c(this,"afterGetSeriesExtremes")};a.prototype.translate=function(b,c,d,
+a,e,n){var v=this.linkedParent||this,h=a&&v.old?v.old.min:v.min;if(!f(h))return NaN;var q=v.minPixelPadding;e=(v.isOrdinal||v.brokenAxis&&v.brokenAxis.hasBreaks||v.logarithmic&&e)&&v.lin2val;var u=1,G=0;a=a&&v.old?v.old.transA:v.transA;a||(a=v.transA);d&&(u*=-1,G=v.len);v.reversed&&(u*=-1,G-=u*(v.sector||v.len));c?(n=(b*u+G-q)/a+h,e&&(n=v.lin2val(n))):(e&&(b=v.val2lin(b)),b=u*(b-h)*a,n=(v.isRadial?b:p(b))+G+u*q+(f(n)?a*n:0));return n};a.prototype.toPixels=function(b,c){return this.translate(b,!1,
+!this.horiz,void 0,!0)+(c?0:this.pos)};a.prototype.toValue=function(b,c){return this.translate(b-(c?0:this.pos),!0,!this.horiz,void 0,!0)};a.prototype.getPlotLinePath=function(b){function d(b,c,f){"pass"!==p&&(b<c||b>f)&&(p?b=k(b,c,f):r=!0);return b}var a=this,e=a.chart,v=a.left,n=a.top,h=b.old,u=b.value,g=b.lineWidth,z=h&&e.oldChartHeight||e.chartHeight,w=h&&e.oldChartWidth||e.chartWidth,m=a.transB,l=b.translatedValue,p=b.force,J,N,y,O,r;b={value:u,lineWidth:g,old:h,force:p,acrossPanes:b.acrossPanes,
+translatedValue:l};c(this,"getPlotLinePath",b,function(b){l=q(l,a.translate(u,void 0,void 0,h));l=k(l,-1E5,1E5);J=y=Math.round(l+m);N=O=Math.round(z-l-m);f(l)?a.horiz?(N=n,O=z-a.bottom,J=y=d(J,v,v+a.width)):(J=v,y=w-a.right,N=O=d(N,n,n+a.height)):(r=!0,p=!1);b.path=r&&!p?null:e.renderer.crispLine([["M",J,N],["L",y,O]],g||1)});return b.path};a.prototype.getLinearTickPositions=function(b,c,f){var d=p(Math.floor(c/b)*b);f=p(Math.ceil(f/b)*b);var a=[],e;p(d+b)===d&&(e=20);if(this.single)return[c];for(c=
+d;c<=f;){a.push(c);c=p(c+b,e);if(c===v)break;var v=c}return a};a.prototype.getMinorTickInterval=function(){var b=this.options;return!0===b.minorTicks?q(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval};a.prototype.getMinorTickPositions=function(){var b=this.options,c=this.tickPositions,f=this.minorTickInterval,d=this.pointRangePadding||0,a=this.min-d;d=this.max+d;var e=d-a,n=[];if(e&&e/f<this.len/3){var h=this.logarithmic;if(h)this.paddedTicks.forEach(function(b,c,d){c&&n.push.apply(n,
+h.getLogTickPositions(f,d[c-1],d[c],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(f),a,d,b.startOfWeek));else for(b=a+(c[0]-a)%f;b<=d&&b!==n[0];b+=f)n.push(b)}0!==n.length&&this.trimTicks(n);return n};a.prototype.adjustForMinRange=function(){var b=this.options,c=this.logarithmic,f=this.min,d=this.max,a=0,e,n,u,g;this.isXAxis&&"undefined"===typeof this.minRange&&!c&&(D(b.min)||D(b.max)||D(b.floor)||D(b.ceiling)?
+this.minRange=null:(this.series.forEach(function(b){u=b.xData;g=b.xIncrement?1:u.length-1;if(1<u.length)for(e=g;0<e;e--)if(n=u[e]-u[e-1],!a||n<a)a=n}),this.minRange=Math.min(5*a,this.dataMax-this.dataMin)));if(d-f<this.minRange){var z=this.dataMax-this.dataMin>=this.minRange;var k=this.minRange;var w=(k-d+f)/2;w=[f-w,q(b.min,f-w)];z&&(w[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);f=h(w);d=[f+k,q(b.max,f+k)];z&&(d[2]=c?c.log2lin(this.dataMax):this.dataMax);d=m(d);d-f<k&&
+(w[0]=d-k,w[1]=q(b.min,d-k),f=h(w))}this.min=f;this.max=d};a.prototype.getClosest=function(){var b;this.categories?b=1:this.series.forEach(function(c){var f=c.closestPointRange,d=c.visible||!c.chart.options.chart.ignoreHiddenSeries;!c.noSharedTooltip&&D(f)&&d&&(b=D(b)?Math.min(b,f):f)});return b};a.prototype.nameToX=function(b){var c=w(this.options.categories),f=c?this.categories:this.names,d=b.options.x;b.series.requireSorting=!1;D(d)||(d=this.options.uniqueNames&&f?c?f.indexOf(b.name):q(f.keys[b.name],
+-1):b.series.autoIncrement());if(-1===d){if(!c&&f)var a=f.length}else a=d;"undefined"!==typeof a?(this.names[a]=b.name,this.names.keys[b.name]=a):b.x&&(a=b.x);return a};a.prototype.updateNames=function(){var b=this,c=this.names;0<c.length&&(Object.keys(c.keys).forEach(function(b){delete c.keys[b]}),c.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(c){c.xIncrement=null;if(!c.points||c.isDirtyData)b.max=Math.max(b.max,c.xData.length-1),c.processData(),c.generatePoints();
+c.data.forEach(function(f,d){if(f&&f.options&&"undefined"!==typeof f.name){var a=b.nameToX(f);"undefined"!==typeof a&&a!==f.x&&(f.x=a,c.xData[d]=a)}})}))};a.prototype.setAxisTranslation=function(){var b=this,f=b.max-b.min,d=b.linkedParent,a=!!b.categories,e=b.isXAxis,h=b.axisPointRange||0,u=0,g=0,k=b.transA;if(e||a||h){var z=b.getClosest();d?(u=d.minPointOffset,g=d.pointRangePadding):b.series.forEach(function(c){var f=a?1:e?q(c.options.pointRange,z,0):b.axisPointRange||0,d=c.options.pointPlacement;
+h=Math.max(h,f);if(!b.single||a)c=c.is("xrange")?!e:e,u=Math.max(u,c&&n(d)?0:f/2),g=Math.max(g,c&&"on"===d?0:f)});d=b.ordinal&&b.ordinal.slope&&z?b.ordinal.slope/z:1;b.minPointOffset=u*=d;b.pointRangePadding=g*=d;b.pointRange=Math.min(h,b.single&&a?1:f);e&&(b.closestPointRange=z)}b.translationSlope=b.transA=k=b.staticScale||b.len/(f+g||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=k*u;c(this,"afterSetAxisTranslation")};a.prototype.minFromRange=function(){return this.max-this.range};a.prototype.setTickInterval=
+function(b){var d=this.chart,a=this.logarithmic,e=this.options,n=this.isXAxis,h=this.isLinked,u=e.tickPixelInterval,v=this.categories,g=this.softThreshold,k=e.maxPadding,z=e.minPadding,w=f(e.tickInterval)&&0<=e.tickInterval?e.tickInterval:void 0,m=f(this.threshold)?this.threshold:null;this.dateTime||v||h||this.getTickAmount();var l=q(this.userMin,e.min);var J=q(this.userMax,e.max);if(h){this.linkedParent=d[this.coll][e.linkedTo];var N=this.linkedParent.getExtremes();this.min=q(N.min,N.dataMin);this.max=
+q(N.max,N.dataMax);e.type!==this.linkedParent.options.type&&A(11,1,d)}else{if(g&&D(m))if(this.dataMin>=m)N=m,z=0;else if(this.dataMax<=m){var y=m;k=0}this.min=q(l,N,this.dataMin);this.max=q(J,y,this.dataMax)}a&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,q(this.dataMin,this.min))&&A(10,1,d),this.min=p(a.log2lin(this.min),16),this.max=p(a.log2lin(this.max),16));this.range&&D(this.max)&&(this.userMin=this.min=l=Math.max(this.dataMin,this.minFromRange()),this.userMax=J=this.max,this.range=null);
+c(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();!(v||this.axisPointRange||this.stacking&&this.stacking.usePercentage||h)&&D(this.min)&&D(this.max)&&(d=this.max-this.min)&&(!D(l)&&z&&(this.min-=d*z),!D(J)&&k&&(this.max+=d*k));f(this.userMin)||(f(e.softMin)&&e.softMin<this.min&&(this.min=l=e.softMin),f(e.floor)&&(this.min=Math.max(this.min,e.floor)));f(this.userMax)||(f(e.softMax)&&e.softMax>this.max&&(this.max=J=e.softMax),f(e.ceiling)&&(this.max=Math.min(this.max,
+e.ceiling)));g&&D(this.dataMin)&&(m=m||0,!D(l)&&this.min<m&&this.dataMin>=m?this.min=this.options.minRange?Math.min(m,this.max-this.minRange):m:!D(J)&&this.max>m&&this.dataMax<=m&&(this.max=this.options.minRange?Math.max(m,this.min+this.minRange):m));f(this.min)&&f(this.max)&&!this.chart.polar&&this.min>this.max&&(D(this.options.min)?this.max=this.min:D(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:h&&
+this.linkedParent&&!w&&u===this.linkedParent.options.tickPixelInterval?w=this.linkedParent.tickInterval:q(w,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,v?1:(this.max-this.min)*u/Math.max(this.len,u));if(n&&!b){var O=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(b){b.forceCrop=b.forceCropping&&b.forceCropping();b.processData(O)});c(this,"postProcessData",{hasExtremesChanged:O})}this.setAxisTranslation();c(this,"initialAxisTranslation");
+this.pointRange&&!w&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));b=q(e.minTickInterval,this.dateTime&&!this.series.some(function(b){return b.noSharedTooltip})?this.closestPointRange:0);!w&&this.tickInterval<b&&(this.tickInterval=b);this.dateTime||this.logarithmic||w||(this.tickInterval=T(this,this.tickInterval));this.tickAmount||(this.tickInterval=this.unsquish());this.setTickPositions()};a.prototype.setTickPositions=function(){var b=this.options,d=b.tickPositions,a=b.tickPositioner,
+e=this.getMinorTickInterval(),n=this.hasVerticalPanning(),h="colorAxis"===this.coll,u=(h||!n)&&b.startOnTick;n=(h||!n)&&b.endOnTick;h=[];var q;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===e&&this.tickInterval?this.tickInterval/5:e;this.single=this.min===this.max&&D(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);if(d)h=d.slice();else if(f(this.min)&&f(this.max)){if(this.ordinal&&
+this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)h=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)h=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(e=b=this.tickInterval;e<=2*b;)if(h=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&
+h.length>this.tickAmount)this.tickInterval=T(this,e*=1.1);else break;else h=[this.min,this.max],A(19,!1,this.chart);h.length>this.len&&(h=[h[0],h[h.length-1]],h[0]===h[1]&&(h.length=1));a&&(this.tickPositions=h,(q=a.apply(this,[this.min,this.max]))&&(h=q))}this.tickPositions=h;this.paddedTicks=h.slice(0);this.trimTicks(h,u,n);!this.isLinked&&f(this.min)&&f(this.max)&&(this.single&&2>h.length&&!this.categories&&!this.series.some(function(b){return b.is("heatmap")&&"between"===b.options.pointPlacement})&&
+(this.min-=.5,this.max+=.5),d||q||this.adjustTickAmount());c(this,"afterSetTickPositions")};a.prototype.trimTicks=function(b,f,d){var a=b[0],e=b[b.length-1],h=!this.isOrdinal&&this.minPointOffset||0;c(this,"trimTicks");if(!this.isLinked){if(f&&-Infinity!==a)this.min=a;else for(;this.min-h>b[0];)b.shift();if(d)this.max=e;else for(;this.max+h<b[b.length-1];)b.pop();0===b.length&&D(a)&&!this.options.tickPositions&&b.push((e+a)/2)}};a.prototype.alignToOthers=function(){var b=this,c=[this],d=b.options,
+a="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,e=[],h;b.thresholdAlignment=void 0;if((!1!==this.chart.options.chart.alignTicks&&d.alignTicks||a)&&!1!==d.startOnTick&&!1!==d.endOnTick&&!b.logarithmic){var n=function(b){var c=b.options;return[b.horiz?c.left:c.top,c.width,c.height,c.pane].join()},u=n(this);this.chart[this.coll].forEach(function(f){var d=f.series;d.length&&d.some(function(b){return b.visible})&&f!==b&&n(f)===u&&(h=!0,c.push(f))})}if(h&&a){c.forEach(function(c){c=c.getThresholdAlignment(b);
+f(c)&&e.push(c)});var q=1<e.length?e.reduce(function(b,c){return b+c},0)/e.length:void 0;c.forEach(function(b){b.thresholdAlignment=q})}return h};a.prototype.getThresholdAlignment=function(b){(!f(this.dataMin)||this!==b&&this.series.some(function(b){return b.isDirty||b.isDirtyData}))&&this.getSeriesExtremes();if(f(this.threshold))return b=k((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(b=1-b),b};a.prototype.getTickAmount=function(){var b=this.options,
+c=b.tickPixelInterval,f=b.tickAmount;!D(b.tickInterval)&&!f&&this.len<c&&!this.isRadial&&!this.logarithmic&&b.startOnTick&&b.endOnTick&&(f=2);!f&&this.alignToOthers()&&(f=Math.ceil(this.len/c)+1);4>f&&(this.finalTickAmt=f,f=5);this.tickAmount=f};a.prototype.adjustTickAmount=function(){var b=this,c=b.finalTickAmt,d=b.max,a=b.min,e=b.options,h=b.tickPositions,n=b.tickAmount,u=b.thresholdAlignment,g=h&&h.length,k=q(b.threshold,b.softThreshold?0:null);var z=b.tickInterval;if(f(u)){var w=.5>u?Math.ceil(u*
+(n-1)):Math.floor(u*(n-1));e.reversed&&(w=n-1-w)}if(b.hasData()&&f(a)&&f(d)){u=function(){b.transA*=(g-1)/(n-1);b.min=e.startOnTick?h[0]:Math.min(a,h[0]);b.max=e.endOnTick?h[h.length-1]:Math.max(d,h[h.length-1])};if(f(w)&&f(b.threshold)){for(;h[w]!==k||h.length!==n||h[0]>a||h[h.length-1]<d;){h.length=0;for(h.push(b.threshold);h.length<n;)void 0===h[w]||h[w]>b.threshold?h.unshift(p(h[0]-z)):h.push(p(h[h.length-1]+z));if(z>8*b.tickInterval)break;z*=2}u()}else if(g<n){for(;h.length<n;)h.length%2||a===
+k?h.push(p(h[h.length-1]+z)):h.unshift(p(h[0]-z));u()}if(D(c)){for(z=k=h.length;z--;)(3===c&&1===z%2||2>=c&&0<z&&z<k-1)&&h.splice(z,1);b.finalTickAmt=void 0}}};a.prototype.setScale=function(){var b=!1,f=!1;this.series.forEach(function(c){b=b||c.isDirtyData||c.isDirty;f=f||c.xAxis&&c.xAxis.isDirty||!1});this.setAxisSize();var d=this.len!==(this.old&&this.old.len);d||b||f||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.stacking.buildStacks()),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=d||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):this.stacking&&this.stacking.cleanStacks();b&&this.panningState&&(this.panningState.isDirty=!0);c(this,"afterSetScale")};a.prototype.setExtremes=function(b,f,d,a,e){var h=this,n=h.chart;d=q(d,!0);h.series.forEach(function(b){delete b.kdTree});e=y(e,{min:b,
+max:f});c(h,"setExtremes",e,function(){h.userMin=b;h.userMax=f;h.eventArgs=e;d&&n.redraw(a)})};a.prototype.zoom=function(b,f){var d=this,a=this.dataMin,e=this.dataMax,h=this.options,n=Math.min(a,q(h.min,a)),u=Math.max(e,q(h.max,e));b={newMin:b,newMax:f};c(this,"zoom",b,function(b){var c=b.newMin,f=b.newMax;if(c!==d.min||f!==d.max)d.allowZoomOutside||(D(a)&&(c<n&&(c=n),c>u&&(c=u)),D(e)&&(f<n&&(f=n),f>u&&(f=u))),d.displayBtn="undefined"!==typeof c||"undefined"!==typeof f,d.setExtremes(c,f,!1,void 0,
+{trigger:"zoom"});b.zoomed=!0});return b.zoomed};a.prototype.setAxisSize=function(){var b=this.chart,c=this.options,f=c.offsets||[0,0,0,0],d=this.horiz,a=this.width=Math.round(N(q(c.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),e=this.height=Math.round(N(q(c.height,b.plotHeight-f[0]+f[2]),b.plotHeight)),h=this.top=Math.round(N(q(c.top,b.plotTop+f[0]),b.plotHeight,b.plotTop));c=this.left=Math.round(N(q(c.left,b.plotLeft+f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-h;this.right=b.chartWidth-
+a-c;this.len=Math.max(d?a:e,0);this.pos=d?c:h};a.prototype.getExtremes=function(){var b=this.logarithmic;return{min:b?p(b.lin2log(this.min)):this.min,max:b?p(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};a.prototype.getThreshold=function(b){var c=this.logarithmic,f=c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===b||-Infinity===b?b=f:Infinity===b?b=c:f>b?b=f:c<b&&(b=c);return this.translate(b,0,1,0,1)};a.prototype.autoLabelAlign=
+function(b){var f=(q(b,0)-90*this.side+720)%360;b={align:"center"};c(this,"autoLabelAlign",b,function(b){15<f&&165>f?b.align="right":195<f&&345>f&&(b.align="left")});return b.align};a.prototype.tickSize=function(b){var f=this.options,d=q(f["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0),a=f["tick"===b?"tickLength":"minorTickLength"];if(d&&a){"inside"===f[b+"Position"]&&(a=-a);var e=[a,d]}b={tickSize:e};c(this,"afterTickSize",b);return b.tickSize};a.prototype.labelMetrics=
+function(){var b=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[b]&&this.ticks[b].label)};a.prototype.unsquish=function(){var b=this.options.labels,c=this.horiz,a=this.tickInterval,e=this.len/(((this.categories?1:0)+this.max-this.min)/a),h=b.rotation,n=this.labelMetrics(),u=Math.max(this.max-this.min,0),g=function(b){var c=b/(e||1);c=1<c?Math.ceil(c):1;c*a>u&&Infinity!==b&&Infinity!==e&&u&&(c=Math.ceil(u/a));return p(c*
+a)},z=a,k=Number.MAX_VALUE;if(c){if(!b.staggerLines)if(f(h))var w=[h];else e<b.autoRotationLimit&&(w=b.autoRotation);if(w)for(var m=c=void 0,l=0,J=w;l<J.length;l++){var N=J[l];if(N===h||N&&-90<=N&&90>=N)if(c=g(Math.abs(n.h/Math.sin(d*N))),m=c+Math.abs(N/360),m<k){k=m;var y=N;z=c}}}else z=g(n.h);this.autoRotation=w;this.labelRotation=q(y,f(h)?h:0);return b.step?a:z};a.prototype.getSlotWidth=function(b){var c=this.chart,d=this.horiz,a=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?
+0:1),1),h=c.margin[3];if(b&&f(b.slotWidth))return b.slotWidth;if(d&&2>a.step)return a.rotation?0:(this.staggerLines||1)*this.len/e;if(!d){b=a.style.width;if(void 0!==b)return parseInt(String(b),10);if(h)return h-c.spacing[3]}return.33*c.chartWidth};a.prototype.renderUnsquish=function(){var b=this.chart,c=b.renderer,f=this.tickPositions,d=this.ticks,a=this.options.labels,e=a.style,h=this.horiz,u=this.getSlotWidth(),q=Math.max(1,Math.round(u-2*a.padding)),g={},z=this.labelMetrics(),k=e.textOverflow,
+w=0;n(a.rotation)||(g.rotation=a.rotation||0);f.forEach(function(b){b=d[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>w&&(w=b.label.textPxLength)});this.maxLabelLength=w;if(this.autoRotation)w>q&&w>z.h?g.rotation=this.labelRotation:this.labelRotation=0;else if(u){var m=q;if(!k){var l="clip";for(q=f.length;!h&&q--;){var p=f[q];if(p=d[p].label)p.styles&&"ellipsis"===p.styles.textOverflow?p.css({textOverflow:"clip"}):p.textPxLength>u&&p.css({width:u+"px"}),p.getBBox().height>
+this.len/f.length-(z.h-z.f)&&(p.specificTextOverflow="ellipsis")}}}g.rotation&&(m=w>.5*b.chartHeight?.33*b.chartHeight:w,k||(l="ellipsis"));if(this.labelAlign=a.align||this.autoLabelAlign(this.labelRotation))g.align=this.labelAlign;f.forEach(function(b){var c=(b=d[b])&&b.label,f=e.width,a={};c&&(c.attr(g),b.shortenLabel?b.shortenLabel():m&&!f&&"nowrap"!==e.whiteSpace&&(m<c.textPxLength||"SPAN"===c.element.tagName)?(a.width=m+"px",k||(a.textOverflow=c.specificTextOverflow||l),c.css(a)):c.styles&&c.styles.width&&
+!a.width&&!f&&c.css({width:null}),delete c.specificTextOverflow,b.rotation=g.rotation)},this);this.tickRotCorr=c.rotCorr(z.b,this.labelRotation||0,0!==this.side)};a.prototype.hasData=function(){return this.series.some(function(b){return b.hasData()})||this.options.showEmpty&&D(this.min)&&D(this.max)};a.prototype.addTitle=function(c){var f=this.chart.renderer,d=this.horiz,a=this.opposite,e=this.options.title,h=this.chart.styledMode,n;this.axisTitle||((n=e.textAlign)||(n=(d?{low:"left",middle:"center",
+high:"right"}:{low:a?"right":"left",middle:"center",high:a?"left":"right"})[e.align]),this.axisTitle=f.text(e.text||"",0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation,align:n}).addClass("highcharts-axis-title"),h||this.axisTitle.css(b(e.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);h||e.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"});this.axisTitle[c?"show":"hide"](c)};a.prototype.generateTick=function(b){var c=this.ticks;c[b]?c[b].addLabel():c[b]=new H(this,
+b)};a.prototype.getOffset=function(){var b=this,f=this,d=f.chart,a=f.horiz,e=f.options,h=f.side,n=f.ticks,u=f.tickPositions,g=f.coll,k=f.axisParent,w=d.renderer,m=d.inverted&&!f.isZAxis?[1,0,3,2][h]:h,l=f.hasData(),p=e.title,N=e.labels,J=d.axisOffset;d=d.clipOffset;var y=[-1,1,1,-1][h],O=e.className,r,Q=0,ja=0,da=0;f.showAxis=r=l||e.showEmpty;f.staggerLines=f.horiz&&N.staggerLines||void 0;if(!f.axisGroup){var I=function(c,f,d){return w.g(c).attr({zIndex:d}).addClass("highcharts-".concat(g.toLowerCase()).concat(f,
+" ")+(b.isRadial?"highcharts-radial-axis".concat(f," "):"")+(O||"")).add(k)};f.gridGroup=I("grid","-grid",e.gridZIndex);f.axisGroup=I("axis","",e.zIndex);f.labelGroup=I("axis-labels","-labels",N.zIndex)}l||f.isLinked?(u.forEach(function(b){f.generateTick(b)}),f.renderUnsquish(),f.reserveSpaceDefault=0===h||2===h||{1:"left",3:"right"}[h]===f.labelAlign,q(N.reserveSpace,"center"===f.labelAlign?!0:null,f.reserveSpaceDefault)&&u.forEach(function(b){da=Math.max(n[b].getLabelSize(),da)}),f.staggerLines&&
+(da*=f.staggerLines),f.labelOffset=da*(f.opposite?-1:1)):z(n,function(b,c){b.destroy();delete n[c]});if(p&&p.text&&!1!==p.enabled&&(f.addTitle(r),r&&!1!==p.reserveSpace)){f.titleOffset=Q=f.axisTitle.getBBox()[a?"height":"width"];var t=p.offset;ja=D(t)?0:q(p.margin,a?5:10)}f.renderLine();f.offset=y*q(e.offset,J[h]?J[h]+(e.margin||0):0);f.tickRotCorr=f.tickRotCorr||{x:0,y:0};p=0===h?-f.labelMetrics().h:2===h?f.tickRotCorr.y:0;l=Math.abs(da)+ja;da&&(l=l-p+y*(a?q(N.y,f.tickRotCorr.y+8*y):N.x));f.axisTitleMargin=
+q(t,l);f.getMaxLabelDimensions&&(f.maxLabelDimensions=f.getMaxLabelDimensions(n,u));"colorAxis"!==g&&(a=this.tickSize("tick"),J[h]=Math.max(J[h],(f.axisTitleMargin||0)+Q+y*f.offset,l,u&&u.length&&a?a[0]+y*f.offset:0),e=!f.axisLine||e.offset?0:2*Math.floor(f.axisLine.strokeWidth()/2),d[m]=Math.max(d[m],e));c(this,"afterGetOffset")};a.prototype.getLinePath=function(b){var c=this.chart,f=this.opposite,d=this.offset,a=this.horiz,e=this.left+(f?this.width:0)+d;d=c.chartHeight-this.bottom-(f?this.height:
+0)+d;f&&(b*=-1);return c.renderer.crispLine([["M",a?this.left:e,a?d:this.top],["L",a?c.chartWidth-this.right:e,a?d:c.chartHeight-this.bottom]],b)};a.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}))};a.prototype.getTitlePosition=function(){var b=this.horiz,f=this.left,d=this.top,a=this.len,
+e=this.options.title,h=b?f:d,n=this.opposite,u=this.offset,q=e.x,g=e.y,z=this.axisTitle,k=this.chart.renderer.fontMetrics(e.style.fontSize,z);z=z?Math.max(z.getBBox(!1,0).height-k.h-1,0):0;a={low:h+(b?0:a),middle:h+a/2,high:h+(b?a:0)}[e.align];f=(b?d+this.height:f)+(b?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-z,z,k.f,-z][this.side];b={x:b?a+q:f+(n?this.width:0)+u+q,y:b?f+g-(n?this.height:0)+u:a+g};c(this,"afterGetTitlePosition",{titlePosition:b});return b};a.prototype.renderMinorTick=function(b,
+c){var f=this.minorTicks;f[b]||(f[b]=new H(this,b,"minor"));c&&f[b].isNew&&f[b].render(null,!0);f[b].render(null,!1,1)};a.prototype.renderTick=function(b,c,f){var d=this.ticks;if(!this.isLinked||b>=this.min&&b<=this.max||this.grid&&this.grid.isColumn)d[b]||(d[b]=new H(this,b)),f&&d[b].isNew&&d[b].render(c,!0,-1),d[b].render(c)};a.prototype.render=function(){var b=this,d=b.chart,a=b.logarithmic,e=b.options,h=b.isLinked,n=b.tickPositions,u=b.axisTitle,q=b.ticks,g=b.minorTicks,k=b.alternateBands,w=e.stackLabels,
+m=e.alternateGridColor,l=b.tickmarkOffset,p=b.axisLine,N=b.showAxis,J=r(d.renderer.globalAnimation),y,O;b.labelEdge.length=0;b.overlap=!1;[q,g,k].forEach(function(b){z(b,function(b){b.isActive=!1})});if(b.hasData()||h){var D=b.chart.hasRendered&&b.old&&f(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(c){b.renderMinorTick(c,D)});n.length&&(n.forEach(function(c,f){b.renderTick(c,f,D)}),l&&(0===b.min||b.single)&&(q[-1]||(q[-1]=new H(b,-1,null,!0)),q[-1].render(-1)));
+m&&n.forEach(function(c,f){O="undefined"!==typeof n[f+1]?n[f+1]+l:b.max-l;0===f%2&&c<b.max&&O<=b.max+(d.polar?-l:l)&&(k[c]||(k[c]=new B.PlotLineOrBand(b)),y=c+l,k[c].options={from:a?a.lin2log(y):y,to:a?a.lin2log(O):O,color:m,className:"highcharts-alternate-grid"},k[c].render(),k[c].isActive=!0)});b._addedPlotLB||(b._addedPlotLB=!0,(e.plotLines||[]).concat(e.plotBands||[]).forEach(function(c){b.addPlotBandOrLine(c)}))}[q,g,k].forEach(function(b){var c=[],f=J.duration;z(b,function(b,f){b.isActive||
+(b.render(f,!1,0),b.isActive=!1,c.push(f))});Q(function(){for(var f=c.length;f--;)b[c[f]]&&!b[c[f]].isActive&&(b[c[f]].destroy(),delete b[c[f]])},b!==k&&d.hasRendered&&f?f:0)});p&&(p[p.isPlaced?"animate":"attr"]({d:this.getLinePath(p.strokeWidth())}),p.isPlaced=!0,p[N?"show":"hide"](N));u&&N&&(e=b.getTitlePosition(),u[u.isNew?"attr":"animate"](e),u.isNew=!1);w&&w.enabled&&b.stacking&&b.stacking.renderStackTotals();b.old={len:b.len,max:b.max,min:b.min,transA:b.transA,userMax:b.userMax,userMin:b.userMin};
+b.isDirty=!1;c(this,"afterRender")};a.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(b){b.render()}));this.series.forEach(function(b){b.isDirty=!0})};a.prototype.getKeepProps=function(){return this.keepProps||a.keepProps};a.prototype.destroy=function(b){var f=this,d=f.plotLinesAndBands,a=this.eventOptions;c(this,"destroy",{keepEvents:b});b||J(f);[f.ticks,f.minorTicks,f.alternateBands].forEach(function(b){I(b)});if(d)for(b=d.length;b--;)d[b].destroy();
+"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(b){f[b]&&(f[b]=f[b].destroy())});for(var e in f.plotLinesAndBandsGroups)f.plotLinesAndBandsGroups[e]=f.plotLinesAndBandsGroups[e].destroy();z(f,function(b,c){-1===f.getKeepProps().indexOf(c)&&delete f[c]});this.eventOptions=a};a.prototype.drawCrosshair=function(b,f){var d=this.crosshair,a=q(d&&d.snap,!0),e=this.chart,h,n=this.cross;c(this,"drawCrosshair",{e:b,point:f});b||(b=this.cross&&this.cross.e);if(d&&
+!1!==(D(f)||!a)){a?D(f)&&(h=q("colorAxis"!==this.coll?f.crosshairPos:null,this.isXAxis?f.plotX:this.len-f.plotY)):h=b&&(this.horiz?b.chartX-this.pos:this.len-b.chartY+this.pos);if(D(h)){var u={value:f&&(this.isXAxis?f.x:q(f.stackY,f.y)),translatedValue:h};e.polar&&y(u,{isCrosshair:!0,chartX:b&&b.chartX,chartY:b&&b.chartY,point:f});u=this.getPlotLinePath(u)||null}if(!D(u)){this.hideCrosshair();return}a=this.categories&&!this.isRadial;n||(this.cross=n=e.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
+(a?"category ":"thin ")+(d.className||"")).attr({zIndex:q(d.zIndex,2)}).add(),e.styledMode||(n.attr({stroke:d.color||(a?x.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":q(d.width,1)}).css({"pointer-events":"none"}),d.dashStyle&&n.attr({dashstyle:d.dashStyle})));n.show().attr({d:u});a&&!d.width&&n.attr({"stroke-width":this.transA});this.cross.e=b}else this.hideCrosshair();c(this,"afterDrawCrosshair",{e:b,point:f})};a.prototype.hideCrosshair=function(){this.cross&&this.cross.hide();
+c(this,"afterHideCrosshair")};a.prototype.hasVerticalPanning=function(){var b=this.chart.options.chart.panning;return!!(b&&b.enabled&&/y/.test(b.type))};a.prototype.validatePositiveValue=function(b){return f(b)&&0<b};a.prototype.update=function(c,f){var d=this.chart;c=b(this.userOptions,c);this.destroy(!0);this.init(d,c);d.isDirtyBox=!0;q(f,!0)&&d.redraw()};a.prototype.remove=function(b){for(var c=this.chart,f=this.coll,d=this.series,a=d.length;a--;)d[a]&&d[a].remove(!1);E(c.axes,this);E(c[f],this);
+c[f].forEach(function(b,c){b.options.index=b.userOptions.index=c});this.destroy();c.isDirtyBox=!0;q(b,!0)&&c.redraw()};a.prototype.setTitle=function(b,c){this.update({title:b},c)};a.prototype.setCategories=function(b,c){this.update({categories:b},c)};a.defaultOptions=g.defaultXAxisOptions;a.keepProps="extKey hcEvents names series userMax userMin".split(" ");return a}();"";return a});K(g,"Core/Axis/DateTimeAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.getMagnitude,F=a.normalizeTickInterval,
+C=a.timeUnits,B;(function(a){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function r(d){"datetime"!==d.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new e(this))}var l=[];a.compose=function(d){-1===l.indexOf(d)&&(l.push(d),d.keepProps.push("dateTime"),d.prototype.getTimeTicks=t,g(d,"init",r));return d};var e=function(){function d(d){this.axis=d}d.prototype.normalizeTimeTickInterval=function(d,a){var e=a||[["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=e[e.length-1];var h=C[a[0]],g=a[1],m;for(m=0;m<e.length&&!(a=e[m],h=C[a[0]],g=a[1],e[m+1]&&d<=(h*g[g.length-1]+C[e[m+1][0]])/2);m++);h===C.year&&d<5*h&&(g=[1,2,5]);d=F(d/h,g,"year"===a[0]?Math.max(x(d/h),1):1);return{unitRange:h,count:d,unitName:a[0]}};d.prototype.getXDateFormat=function(d,a){var e=this.axis,h=e.chart.time;return e.closestPointRange?
+h.getDateFormat(e.closestPointRange,d,e.options.startOfWeek,a)||h.resolveDTLFormat(a.year).main:h.resolveDTLFormat(a.day).main};return d}();a.Additions=e})(B||(B={}));return B});K(g,"Core/Axis/LogarithmicAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.normalizeTickInterval,F=a.pick,C;(function(a){function A(a){var d=this.logarithmic;"logarithmic"!==a.userOptions.type?this.logarithmic=void 0:d||(this.logarithmic=new l(this))}function t(){var a=this.logarithmic;a&&(this.lin2val=function(d){return a.lin2log(d)},
+this.val2lin=function(d){return a.log2lin(d)})}var r=[];a.compose=function(a){-1===r.indexOf(a)&&(r.push(a),a.keepProps.push("logarithmic"),g(a,"init",A),g(a,"afterInit",t));return a};var l=function(){function a(d){this.axis=d}a.prototype.getLogTickPositions=function(d,a,e,g){var h=this.axis,k=h.len,m=h.options,l=[];g||(this.minorAutoInterval=void 0);if(.5<=d)d=Math.round(d),l=h.getLinearTickPositions(d,a,e);else if(.08<=d){var r=Math.floor(a),y,c=m=void 0;for(k=.3<d?[1,2,4]:.15<d?[1,2,4,6,8]:[1,
+2,3,4,5,6,7,8,9];r<e+1&&!c;r++){var w=k.length;for(y=0;y<w&&!c;y++){var f=this.log2lin(this.lin2log(r)*k[y]);f>a&&(!g||m<=e)&&"undefined"!==typeof m&&l.push(m);m>e&&(c=!0);m=f}}}else a=this.lin2log(a),e=this.lin2log(e),d=g?h.getMinorTickInterval():m.tickInterval,d=F("auto"===d?null:d,this.minorAutoInterval,m.tickPixelInterval/(g?5:1)*(e-a)/((g?k/h.tickPositions.length:k)||1)),d=x(d),l=h.getLinearTickPositions(d,a,e).map(this.log2lin),g||(this.minorAutoInterval=d/5);g||(h.tickInterval=d);return l};
+a.prototype.lin2log=function(d){return Math.pow(10,d)};a.prototype.log2lin=function(d){return Math.log(d)/Math.LN10};return a}();a.Additions=l})(C||(C={}));return C});K(g,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.erase,x=a.extend,F=a.isNumber,C;(function(a){var A=[],t;a.compose=function(a,e){t||(t=a);-1===A.indexOf(e)&&(A.push(e),x(e.prototype,r.prototype));return e};var r=function(){function a(){}a.prototype.getPlotBandPath=function(a,d,h){void 0===
+h&&(h=this.options);var e=this.getPlotLinePath({value:d,force:!0,acrossPanes:h.acrossPanes}),g=[],l=this.horiz;d=!F(this.min)||!F(this.max)||a<this.min&&d<this.min||a>this.max&&d>this.max;a=this.getPlotLinePath({value:a,force:!0,acrossPanes:h.acrossPanes});h=1;if(a&&e){if(d){var r=a.toString()===e.toString();h=0}for(d=0;d<a.length;d+=2){var t=a[d],E=a[d+1],A=e[d],y=e[d+1];"M"!==t[0]&&"L"!==t[0]||"M"!==E[0]&&"L"!==E[0]||"M"!==A[0]&&"L"!==A[0]||"M"!==y[0]&&"L"!==y[0]||(l&&A[1]===t[1]?(A[1]+=h,y[1]+=
+h):l||A[2]!==t[2]||(A[2]+=h,y[2]+=h),g.push(["M",t[1],t[2]],["L",E[1],E[2]],["L",y[1],y[2]],["L",A[1],A[2]],["Z"]));g.isFlat=r}}return g};a.prototype.addPlotBand=function(a){return this.addPlotBandOrLine(a,"plotBands")};a.prototype.addPlotLine=function(a){return this.addPlotBandOrLine(a,"plotLines")};a.prototype.addPlotBandOrLine=function(a,d){var e=this,g=this.userOptions,k=new t(this,a);this.visible&&(k=k.render());if(k){this._addedPlotLB||(this._addedPlotLB=!0,(g.plotLines||[]).concat(g.plotBands||
+[]).forEach(function(a){e.addPlotBandOrLine(a)}));if(d){var l=g[d]||[];l.push(a);g[d]=l}this.plotLinesAndBands.push(k)}return k};a.prototype.removePlotBandOrLine=function(a){var d=this.plotLinesAndBands,e=this.options,m=this.userOptions;if(d){for(var k=d.length;k--;)d[k].id===a&&d[k].destroy();[e.plotLines||[],m.plotLines||[],e.plotBands||[],m.plotBands||[]].forEach(function(d){for(k=d.length;k--;)(d[k]||{}).id===a&&g(d,d[k])})}};a.prototype.removePlotBand=function(a){this.removePlotBandOrLine(a)};
+a.prototype.removePlotLine=function(a){this.removePlotBandOrLine(a)};return a}()})(C||(C={}));return C});K(g,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[g["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],g["Core/Utilities.js"]],function(a,g){var A=g.arrayMax,F=g.arrayMin,C=g.defined,B=g.destroyObjectProperties,H=g.erase,t=g.fireEvent,r=g.merge,l=g.objectEach,e=g.pick;g=function(){function d(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)}d.compose=function(e){return a.compose(d,e)};d.prototype.render=
+function(){t(this,"render");var a=this,d=a.axis,g=d.horiz,p=d.logarithmic,D=a.options,I=D.color,E=e(D.zIndex,0),A=D.events,y={},c=d.chart.renderer,w=D.label,f=a.label,n=D.to,b=D.from,u=D.value,z=a.svgElem,q=[],N=C(b)&&C(n);q=C(u);var J=!z,O={"class":"highcharts-plot-"+(N?"band ":"line ")+(D.className||"")},Q=N?"bands":"lines";p&&(b=p.log2lin(b),n=p.log2lin(n),u=p.log2lin(u));d.chart.styledMode||(q?(O.stroke=I||"#999999",O["stroke-width"]=e(D.width,1),D.dashStyle&&(O.dashstyle=D.dashStyle)):N&&(O.fill=
+I||"#e6ebf5",D.borderWidth&&(O.stroke=D.borderColor,O["stroke-width"]=D.borderWidth)));y.zIndex=E;Q+="-"+E;(p=d.plotLinesAndBandsGroups[Q])||(d.plotLinesAndBandsGroups[Q]=p=c.g("plot-"+Q).attr(y).add());J&&(a.svgElem=z=c.path().attr(O).add(p));if(q)q=d.getPlotLinePath({value:u,lineWidth:z.strokeWidth(),acrossPanes:D.acrossPanes});else if(N)q=d.getPlotBandPath(b,n,D);else return;!a.eventsAdded&&A&&(l(A,function(b,c){z.on(c,function(b){A[c].apply(a,[b])})}),a.eventsAdded=!0);(J||!z.d)&&q&&q.length?
+z.attr({d:q}):z&&(q?(z.show(),z.animate({d:q})):z.d&&(z.hide(),f&&(a.label=f=f.destroy())));w&&(C(w.text)||C(w.formatter))&&q&&q.length&&0<d.width&&0<d.height&&!q.isFlat?(w=r({align:g&&N&&"center",x:g?!N&&4:10,verticalAlign:!g&&N&&"middle",y:g?N?16:10:N?6:-4,rotation:g&&!N&&90},w),this.renderLabel(w,q,N,E)):f&&f.hide();return a};d.prototype.renderLabel=function(a,d,e,g){var h=this.axis,k=h.chart.renderer,m=this.label;m||(this.label=m=k.text(this.getLabelText(a),0,0,a.useHTML).attr({align:a.textAlign||
+a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||""),zIndex:g}).add(),h.chart.styledMode||m.css(r({textOverflow:"ellipsis"},a.style)));g=d.xBounds||[d[0][1],d[1][1],e?d[2][1]:d[0][1]];d=d.yBounds||[d[0][2],d[1][2],e?d[2][2]:d[0][2]];e=F(g);k=F(d);m.align(a,!1,{x:e,y:k,width:A(g)-e,height:A(d)-k});m.alignValue&&"left"!==m.alignValue||(a=a.clip?h.width:h.chart.chartWidth,m.css({width:(90===m.rotation?h.height-(m.alignAttr.y-h.top):a-(m.alignAttr.x-h.left))+
+"px"}));m.show(!0)};d.prototype.getLabelText=function(a){return C(a.formatter)?a.formatter.call(this):a.text};d.prototype.destroy=function(){H(this.axis.plotLinesAndBands,this);delete this.axis;B(this)};return d}();"";"";return g});K(g,"Core/Tooltip.js",[g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,F,C){var A=a.format,H=g.doc,t=x.distribute,r=C.clamp,l=C.css,e=C.discardElement,
+d=C.extend,h=C.fireEvent,m=C.isArray,k=C.isNumber,p=C.isString,D=C.merge,I=C.pick,E=C.splat,L=C.syncTimeout;a=function(){function a(c,a){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=c;this.init(c,a)}a.prototype.applyFilter=function(){var c=this.chart;c.renderer.definition({tagName:"filter",attributes:{id:"drop-shadow-"+c.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"}}]}]})};a.prototype.bodyFormatter=function(c){return c.map(function(c){var f=c.series.tooltipOptions;return(f[(c.point.formatPrefix||"point")+"Formatter"]||c.point.tooltipFormatter).call(c.point,f[(c.point.formatPrefix||"point")+"Format"]||
+"")})};a.prototype.cleanSplit=function(c){this.chart.series.forEach(function(a){var f=a&&a.tt;f&&(!f.isActive||c?a.tt=f.destroy():f.isActive=!1)})};a.prototype.defaultFormatter=function(c){var a=this.points||E(this);var f=[c.tooltipFooterHeaderFormatter(a[0])];f=f.concat(c.bodyFormatter(a));f.push(c.tooltipFooterHeaderFormatter(a[0],!0));return f};a.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(),e(this.container));C.clearTimeout(this.hideTimer);C.clearTimeout(this.tooltipTimeout)};a.prototype.getAnchor=function(c,a){var f=this.chart,d=f.pointer,b=f.inverted,e=f.plotTop;f=f.plotLeft;c=E(c);c[0].series&&c[0].series.yAxis&&!c[0].series.yAxis.options.reversedStacks&&(c=c.slice().reverse());if(this.followPointer&&a)"undefined"===typeof a.chartX&&(a=d.normalize(a)),c=[a.chartX-f,a.chartY-e];else if(c[0].tooltipPos)c=c[0].tooltipPos;else{var h=0,g=0;c.forEach(function(b){if(b=
+b.pos(!0))h+=b[0],g+=b[1]});h/=c.length;g/=c.length;this.shared&&1<c.length&&a&&(b?h=a.chartX:g=a.chartY);c=[h-f,g-e]}return c.map(Math.round)};a.prototype.getClassName=function(c,a,f){var d=c.series,b=d.options;return[this.options.className,"highcharts-label",f&&"highcharts-tooltip-header",a?"highcharts-tooltip-box":"highcharts-tooltip",!f&&"highcharts-color-"+I(c.colorIndex,d.colorIndex),b&&b.className].filter(p).join(" ")};a.prototype.getLabel=function(){var c=this,a=this.chart.styledMode,f=this.options,
+d=this.split&&this.allowShared,b=f.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none"),e,h=this.chart.renderer;if(c.label){var q=!c.label.hasClass("highcharts-label");(d&&!q||!d&&q)&&c.destroy()}if(!this.label){if(this.outside){q=this.chart.options.chart.style;var k=F.getRendererType();this.container=e=g.doc.createElement("div");e.className="highcharts-tooltip-container";l(e,{position:"absolute",top:"1px",pointerEvents:b,zIndex:Math.max(this.options.style.zIndex||0,(q&&q.zIndex||0)+3)});
+g.doc.body.appendChild(e);this.renderer=h=new k(e,0,0,q,void 0,void 0,h.styledMode)}d?this.label=h.g("tooltip"):(this.label=h.label("",0,0,f.shape,void 0,void 0,f.useHTML,void 0,"tooltip").attr({padding:f.padding,r:f.borderRadius}),a||this.label.attr({fill:f.backgroundColor,"stroke-width":f.borderWidth}).css(f.style).css({pointerEvents:b}).shadow(f.shadow));a&&f.shadow&&(this.applyFilter(),this.label.attr({filter:"url(#drop-shadow-"+this.chart.index+")"}));if(c.outside&&!c.split){var m=this.label,
+p=m.xSetter,y=m.ySetter;m.xSetter=function(b){p.call(m,c.distance);e.style.left=b+"px"};m.ySetter=function(b){y.call(m,c.distance);e.style.top=b+"px"}}this.label.attr({zIndex:8}).add()}return this.label};a.prototype.getPosition=function(c,a,f){var d=this.chart,b=this.distance,e={},h=d.inverted&&f.h||0,g=this.outside,k=g?H.documentElement.clientWidth-2*b:d.chartWidth,w=g?Math.max(H.body.scrollHeight,H.documentElement.scrollHeight,H.body.offsetHeight,H.documentElement.offsetHeight,H.documentElement.clientHeight):
+d.chartHeight,m=d.pointer.getChartPosition(),l=function(e){var h="x"===e;return[e,h?k:w,h?c:a].concat(g?[h?c*m.scaleX:a*m.scaleY,h?m.left-b+(f.plotX+d.plotLeft)*m.scaleX:m.top-b+(f.plotY+d.plotTop)*m.scaleY,0,h?k:w]:[h?c:a,h?f.plotX+d.plotLeft:f.plotY+d.plotTop,h?d.plotLeft:d.plotTop,h?d.plotLeft+d.plotWidth:d.plotTop+d.plotHeight])},p=l("y"),y=l("x"),v;l=!!f.negative;!d.polar&&d.hoverSeries&&d.hoverSeries.yAxis&&d.hoverSeries.yAxis.reversed&&(l=!l);var r=!this.followPointer&&I(f.ttBelow,!d.inverted===
+l),t=function(c,f,a,d,n,u,q){var z=g?"y"===c?b*m.scaleY:b*m.scaleX:b,k=(a-d)/2,w=d<n-b,G=n+b+d<f,l=n-z-a+k;n=n+z-k;if(r&&G)e[c]=n;else if(!r&&w)e[c]=l;else if(w)e[c]=Math.min(q-d,0>l-h?l:l-h);else if(G)e[c]=Math.max(u,n+h+a>f?n:n+h);else return!1},D=function(c,f,a,d,h){var n;h<b||h>f-b?n=!1:e[c]=h<a/2?1:h>f-d/2?f-d-2:h-a/2;return n},E=function(b){var c=p;p=y;y=c;v=b},G=function(){!1!==t.apply(0,p)?!1!==D.apply(0,y)||v||(E(!0),G()):v?e.x=e.y=0:(E(!0),G())};(d.inverted||1<this.len)&&E();G();return e};
+a.prototype.hide=function(c){var a=this;C.clearTimeout(this.hideTimer);c=I(c,this.options.hideDelay);this.isHidden||(this.hideTimer=L(function(){a.getLabel().fadeOut(c?void 0:c);a.isHidden=!0},c))};a.prototype.init=function(c,a){this.chart=c;this.options=a;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=a.split&&!c.inverted&&!c.polar;this.shared=a.shared||this.split;this.outside=I(a.outside,!(!c.scrollablePixelsX&&!c.scrollablePixelsY))};a.prototype.shouldStickOnContact=function(c){return!(this.followPointer||
+!this.options.stickOnContact||c&&!this.chart.pointer.inClass(c.target,"highcharts-tooltip"))};a.prototype.move=function(c,a,f,e){var b=this,h=b.now,n=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(c-h.x)||1<Math.abs(a-h.y)),g=b.followPointer||1<b.len;d(h,{x:n?(2*h.x+c)/3:c,y:n?(h.y+a)/2:a,anchorX:g?void 0:n?(2*h.anchorX+f)/3:f,anchorY:g?void 0:n?(h.anchorY+e)/2:e});b.getLabel().attr(h);b.drawTracker();n&&(C.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(c,
+a,f,e)},32))};a.prototype.refresh=function(c,a){var f=this.chart,d=this.options,b=f.pointer,e=E(c),g=e[0],q=[],k=d.formatter||this.defaultFormatter,w=this.shared,l=f.styledMode,p={};if(d.enabled&&g.series){C.clearTimeout(this.hideTimer);this.allowShared=!(!m(c)&&c.series&&c.series.noSharedTooltip);this.followPointer=!this.split&&g.series.tooltipOptions.followPointer;c=this.getAnchor(c,a);var y=c[0],r=c[1];w&&this.allowShared?(b.applyInactiveState(e),e.forEach(function(b){b.setState("hover");q.push(b.getLabelConfig())}),
+p={x:g.category,y:g.y},p.points=q):p=g.getLabelConfig();this.len=q.length;k=k.call(p,this);w=g.series;this.distance=I(w.tooltipOptions.distance,16);if(!1===k)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(k,e);else{var v=y,t=r;a&&b.isDirectTouch&&(v=a.chartX-f.plotLeft,t=a.chartY-f.plotTop);if(f.polar||!1===w.options.clip||e.some(function(c){return b.isDirectTouch||c.series.shouldShowTooltip(v,t)}))a=this.getLabel(),d.style.width&&!l||a.css({width:f.spacingBox.width+"px"}),a.attr({text:k&&
+k.join?k.join(""):k}),a.addClass(this.getClassName(g),!0),l||a.attr({stroke:d.borderColor||g.color||w.color||"#666666"}),this.updatePosition({plotX:y,plotY:r,negative:g.negative,ttBelow:g.ttBelow,h:c[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show();this.isHidden=!1}h(this,"refresh")}};a.prototype.renderSplit=function(c,a){function f(b,c,a,f,d){void 0===d&&(d=!0);a?(c=R?0:ba,b=r(b-f/2,P.left,P.right-f-(e.outside?V:0))):(c-=Z,b=d?b-f-x:b+x,b=r(b,d?b:P.left,
+P.right));return{x:b,y:c}}var e=this,b=e.chart,h=e.chart,g=h.chartWidth,q=h.chartHeight,k=h.plotHeight,w=h.plotLeft,m=h.plotTop,l=h.pointer,y=h.scrollablePixelsY;y=void 0===y?0:y;var D=h.scrollablePixelsX,v=h.scrollingContainer;v=void 0===v?{scrollLeft:0,scrollTop:0}:v;var E=v.scrollLeft;v=v.scrollTop;var A=h.styledMode,x=e.distance,L=e.options,G=e.options.positioner,P=e.outside&&"number"!==typeof D?H.documentElement.getBoundingClientRect():{left:E,right:E+g,top:v,bottom:v+q},M=e.getLabel(),X=this.renderer||
+b.renderer,R=!(!b.xAxis[0]||!b.xAxis[0].opposite);b=l.getChartPosition();var V=b.left;b=b.top;var Z=m+v,C=0,ba=k-y;p(c)&&(c=[!1,c]);c=c.slice(0,a.length+1).reduce(function(b,c,d){if(!1!==c&&""!==c){d=a[d-1]||{isHeader:!0,plotX:a[0].plotX,plotY:k,series:{}};var h=d.isHeader,n=h?e:d.series;c=c.toString();var g=n.tt,u=d.isHeader;var q=d.series;g||(g={padding:L.padding,r:L.borderRadius},A||(g.fill=L.backgroundColor,g["stroke-width"]=L.borderWidth),g=X.label("",0,0,L[u?"headerShape":"shape"],void 0,void 0,
+L.useHTML).addClass(e.getClassName(d,!0,u)).attr(g).add(M));g.isActive=!0;g.attr({text:c});A||g.css(L.style).shadow(L.shadow).attr({stroke:L.borderColor||d.color||q.color||"#333333"});n=n.tt=g;u=n.getBBox();c=u.width+n.strokeWidth();h&&(C=u.height,ba+=C,R&&(Z-=C));q=d.plotX;q=void 0===q?0:q;g=d.plotY;g=void 0===g?0:g;var z=d.series;if(d.isHeader){q=w+q;var l=m+k/2}else{var v=z.xAxis,p=z.yAxis;q=v.pos+r(q,-x,v.len+x);z.shouldShowTooltip(0,p.pos-m+g,{ignoreX:!0})&&(l=p.pos+g)}q=r(q,P.left-x,P.right+
+x);"number"===typeof l?(u=u.height+1,g=G?G.call(e,c,u,d):f(q,l,h,c),b.push({align:G?0:void 0,anchorX:q,anchorY:l,boxWidth:c,point:d,rank:I(g.rank,h?1:0),size:u,target:g.y,tt:n,x:g.x})):n.isActive=!1}return b},[]);!G&&c.some(function(b){var c=(e.outside?V:0)+b.anchorX;return c<P.left&&c+b.boxWidth<P.right?!0:c<V-P.left+b.boxWidth&&P.right-c>c})&&(c=c.map(function(b){var c=f(b.anchorX,b.anchorY,b.point.isHeader,b.boxWidth,!1);return d(b,{target:c.y,x:c.x})}));e.cleanSplit();t(c,ba);var B=V,F=V;c.forEach(function(b){var c=
+b.x,a=b.boxWidth;b=b.isHeader;b||(e.outside&&V+c<B&&(B=V+c),!b&&e.outside&&B+a>F&&(F=V+c))});c.forEach(function(b){var c=b.x,a=b.anchorX,f=b.pos,d=b.point.isHeader;f={visibility:"undefined"===typeof f?"hidden":"inherit",x:c,y:(f||0)+Z,anchorX:a,anchorY:b.anchorY};if(e.outside&&c<a){var h=V-B;0<h&&(d||(f.x=c+h,f.anchorX=a+h),d&&(f.x=(F-B)/2,f.anchorX=a+h))}b.tt.attr(f)});c=e.container;y=e.renderer;e.outside&&c&&y&&(h=M.getBBox(),y.setSize(h.width+h.x,h.height+h.y,!1),c.style.left=B+"px",c.style.top=
+b+"px")};a.prototype.drawTracker=function(){if(this.shouldStickOnContact()){var c=this.chart,a=this.label,f=this.shared?c.hoverPoints:c.hoverPoint;if(a&&f){var d={x:0,y:0,width:0,height:0};f=this.getAnchor(f);var b=a.getBBox();f[0]+=c.plotLeft-a.translateX;f[1]+=c.plotTop-a.translateY;d.x=Math.min(0,f[0]);d.y=Math.min(0,f[1]);d.width=0>f[0]?Math.max(Math.abs(f[0]),b.width-f[0]):Math.max(Math.abs(f[0]),b.width);d.height=0>f[1]?Math.max(Math.abs(f[1]),b.height-Math.abs(f[1])):Math.max(Math.abs(f[1]),
+b.height);this.tracker?this.tracker.attr(d):(this.tracker=a.renderer.rect(d).addClass("highcharts-tracker").add(a),c.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&this.tracker.destroy()};a.prototype.styledModeFormat=function(c){return c.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')};a.prototype.tooltipFooterHeaderFormatter=
+function(c,a){var f=c.series,d=f.tooltipOptions,b=f.xAxis,e=b&&b.dateTime;b={isFooter:a,labelConfig:c};var g=d.xDateFormat,q=d[a?"footerFormat":"headerFormat"];h(this,"headerFormatter",b,function(b){e&&!g&&k(c.key)&&(g=e.getXDateFormat(c.key,d.dateTimeLabelFormats));e&&g&&(c.point&&c.point.tooltipDateKeys||["key"]).forEach(function(b){q=q.replace("{point."+b+"}","{point."+b+":"+g+"}")});f.chart.styledMode&&(q=this.styledModeFormat(q));b.text=A(q,{point:c,series:f},this.chart)});return b.text};a.prototype.update=
+function(c){this.destroy();D(!0,this.chart.options.tooltip.userOptions,c);this.init(this.chart,D(!0,this.options,c))};a.prototype.updatePosition=function(c){var a=this.chart,f=this.distance,d=this.options,b=a.pointer,e=this.getLabel(),h=b.getChartPosition();b=h.left;var g=h.top,k=h.scaleX;h=h.scaleY;var m=(d.positioner||this.getPosition).call(this,e.width,e.height,c),p=(c.plotX||0)+a.plotLeft;c=(c.plotY||0)+a.plotTop;if(this.outside){d.positioner&&(m.x+=b-f,m.y+=g-f);f=d.borderWidth+2*f;this.renderer.setSize(e.width+
+f,e.height+f,!1);if(1!==k||1!==h)l(this.container,{transform:"scale(".concat(k,", ").concat(h,")")}),p*=k,c*=h;p+=b-m.x;c+=g-m.y}this.move(Math.round(m.x),Math.round(m.y||0),p,c)};return a}();"";return a});K(g,"Core/Series/Point.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/FormatUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,F,C){var A=g.animObject,H=x.defaultOptions,t=F.format,r=C.addEvent,l=C.defined,e=C.erase,d=C.extend,h=C.fireEvent,
+m=C.getNestedProperty,k=C.isArray,p=C.isFunction,D=C.isNumber,I=C.isObject,E=C.merge,L=C.objectEach,y=C.pick,c=C.syncTimeout,w=C.removeEvent,f=C.uniqueKey;g=function(){function g(){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.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}g.prototype.animateBeforeDestroy=function(){var b=this,c={x:b.startXPos,opacity:0},a=b.getGraphicalProps();
+a.singular.forEach(function(a){b[a]=b[a].animate("dataLabel"===a?{x:b[a].startXPos,y:b[a].startYPos,opacity:0}:c)});a.plural.forEach(function(c){b[c].forEach(function(c){c.element&&c.animate(d({x:b.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})};g.prototype.applyOptions=function(b,c){var a=this.series,f=a.options.pointValKey||a.pointValKey;b=g.prototype.optionsToObject.call(this,b);d(this,b);this.options=this.options?d(this.options,b):b;b.group&&delete this.group;b.dataLabels&&delete this.dataLabels;
+f&&(this.y=g.prototype.getNestedProperty.call(this,f));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof c&&a.xAxis&&a.xAxis.hasNames&&(this.x=a.xAxis.nameToX(this));"undefined"===typeof this.x&&a?this.x="undefined"===typeof c?a.autoIncrement():c:D(b.x)&&a.options.relativeXValue&&(this.x=a.autoIncrement(b.x));return this};g.prototype.destroy=function(){function b(){if(a.graphic||a.graphics||a.dataLabel||
+a.dataLabels)w(a),a.destroyElements();for(n in a)a[n]=null}var a=this,f=a.series,d=f.chart;f=f.options.dataSorting;var h=d.hoverPoints,g=A(a.series.chart.renderer.globalAnimation),n;a.legendItem&&d.legend.destroyItem(a);h&&(a.setState(),e(h,a),h.length||(d.hoverPoints=null));if(a===d.hoverPoint)a.onMouseOut();f&&f.enabled?(this.animateBeforeDestroy(),c(b,g.duration)):b();d.pointCount--};g.prototype.destroyElements=function(b){var c=this;b=c.getGraphicalProps(b);b.singular.forEach(function(b){c[b]=
+c[b].destroy()});b.plural.forEach(function(b){c[b].forEach(function(b){b&&b.element&&b.destroy()});delete c[b]})};g.prototype.firePointEvent=function(b,c,a){var f=this,d=this.series.options;(d.point.events[b]||f.options&&f.options.events&&f.options.events[b])&&f.importEvents();"click"===b&&d.allowPointSelect&&(a=function(b){f.select&&f.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});h(f,b,c,a)};g.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":
+"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};g.prototype.getGraphicalProps=function(b){var c=this,a=[],f={singular:[],plural:[]},d;b=b||{graphic:1,dataLabel:1};b.graphic&&a.push("graphic","shadowGroup");b.dataLabel&&a.push("dataLabel",
+"dataLabelPath","dataLabelUpper","connector");for(d=a.length;d--;){var e=a[d];c[e]&&f.singular.push(e)}["graphic","dataLabel","connector"].forEach(function(a){var d=a+"s";b[a]&&c[d]&&f.plural.push(d)});return f};g.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}};g.prototype.getNestedProperty=function(b){if(b)return 0===
+b.indexOf("custom.")?m(b,this.options):this[b]};g.prototype.getZone=function(){var b=this.series,c=b.zones;b=b.zoneAxis||"y";var a,f=0;for(a=c[f];this[b]>=a.value;)a=c[++f];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=a&&a.color&&!this.options.color?a.color:this.nonZonedColor;return a};g.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};g.prototype.init=function(b,c,a){this.series=b;this.applyOptions(c,
+a);this.id=l(this.id)?this.id:f();this.resolveColor();b.chart.pointCount++;h(this,"afterInit");return this};g.prototype.isValid=function(){return null!==this.x&&D(this.y)};g.prototype.optionsToObject=function(b){var c=this.series,a=c.options.keys,f=a||c.pointArrayMap||["y"],d=f.length,e={},h=0,n=0;if(D(b)||null===b)e[f[0]]=b;else if(k(b))for(!a&&b.length>d&&(c=typeof b[0],"string"===c?e.name=b[0]:"number"===c&&(e.x=b[0]),h++);n<d;)a&&"undefined"===typeof b[h]||(0<f[n].indexOf(".")?g.prototype.setNestedProperty(e,
+b[h],f[n]):e[f[n]]=b[h]),h++,n++;else"object"===typeof b&&(e=b,b.dataLabels&&(c._hasPointLabels=!0),b.marker&&(c._hasPointMarkers=!0));return e};g.prototype.pos=function(b,c){void 0===c&&(c=this.plotY);var a=this.plotX,f=this.series,d=f.chart,e=f.xAxis;f=f.yAxis;var h=0,g=0;if(D(a)&&D(c))return b&&(h=e?e.pos:d.plotLeft,g=f?f.pos:d.plotTop),d.inverted&&e&&f?[f.len-c+g,e.len-a+h]:[a+h,c+g]};g.prototype.resolveColor=function(){var b=this.series,c=b.chart.styledMode;var a=b.chart.options.chart.colorCount;
+delete this.nonZonedColor;if(b.options.colorByPoint){if(!c){a=b.options.colors||b.chart.options.colors;var f=a[b.colorCounter];a=a.length}c=b.colorCounter;b.colorCounter++;b.colorCounter===a&&(b.colorCounter=0)}else c||(f=b.color),c=b.colorIndex;this.colorIndex=y(this.options.colorIndex,c);this.color=y(this.options.color,f)};g.prototype.setNestedProperty=function(b,c,a){a.split(".").reduce(function(b,a,f,d){b[a]=d.length-1===f?c:I(b[a],!0)?b[a]:{};return b[a]},b);return b};g.prototype.shouldDraw=
+function(){return!this.isNull};g.prototype.tooltipFormatter=function(b){var c=this.series,a=c.tooltipOptions,f=y(a.valueDecimals,""),d=a.valuePrefix||"",e=a.valueSuffix||"";c.chart.styledMode&&(b=c.chart.tooltip.styledModeFormat(b));(c.pointArrayMap||["y"]).forEach(function(c){c="{point."+c;if(d||e)b=b.replace(RegExp(c+"}","g"),d+c+"}"+e);b=b.replace(RegExp(c+"}","g"),c+":,."+f+"f}")});return t(b,{point:this,series:this.series},c.chart)};g.prototype.update=function(b,c,a,f){function d(){e.applyOptions(b);
+var f=g&&e.hasMockGraphic;f=null===e.y?!f:f;g&&f&&(e.graphic=g.destroy(),delete e.hasMockGraphic);I(b,!0)&&(g&&g.element&&b&&b.marker&&"undefined"!==typeof b.marker.symbol&&(e.graphic=g.destroy()),b&&b.dataLabels&&e.dataLabel&&(e.dataLabel=e.dataLabel.destroy()),e.connector&&(e.connector=e.connector.destroy()));u=e.index;h.updateParallelArrays(e,u);q.data[u]=I(q.data[u],!0)||I(b,!0)?e.options:y(b,q.data[u]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(n.isDirtyBox=!0);"point"===
+q.legendType&&(n.isDirtyLegend=!0);c&&n.redraw(a)}var e=this,h=e.series,g=e.graphic,n=h.chart,q=h.options,u;c=y(c,!0);!1===f?d():e.firePointEvent("update",{options:b},d)};g.prototype.remove=function(b,c){this.series.removePoint(this.series.data.indexOf(this),b,c)};g.prototype.select=function(b,c){var a=this,f=a.series,d=f.chart;this.selectedStaging=b=y(b,!a.selected);a.firePointEvent(b?"select":"unselect",{accumulate:c},function(){a.selected=a.options.selected=b;f.options.data[f.data.indexOf(a)]=
+a.options;a.setState(b&&"select");c||d.getSelectedPoints().forEach(function(b){var c=b.series;b.selected&&b!==a&&(b.selected=b.options.selected=!1,c.options.data[c.data.indexOf(b)]=b.options,b.setState(d.hoverPoints&&c.options.inactiveOtherPoints?"inactive":""),b.firePointEvent("unselect"))})});delete this.selectedStaging};g.prototype.onMouseOver=function(b){var c=this.series.chart,a=c.pointer;b=b?a.normalize(b):a.getChartCoordinatesFromPoint(this,c.inverted);a.runPointActions(b,this)};g.prototype.onMouseOut=
+function(){var b=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(b.hoverPoints||[]).forEach(function(b){b.setState()});b.hoverPoints=b.hoverPoint=null};g.prototype.importEvents=function(){if(!this.hasImportedEvents){var b=this,c=E(b.series.options.point,b.options).events;b.events=c;L(c,function(c,a){p(c)&&r(b,a,c)});this.hasImportedEvents=!0}};g.prototype.setState=function(b,c){var f=this.series,e=this.state,g=f.options.states[b||"normal"]||{},n=H.plotOptions[f.type].marker&&
+f.options.marker,u=n&&!1===n.enabled,k=n&&n.states&&n.states[b||"normal"]||{},m=!1===k.enabled,w=this.marker||{},l=f.chart,p=n&&f.markerAttribs,r=f.halo,t,E=f.stateMarkerGraphic;b=b||"";if(!(b===this.state&&!c||this.selected&&"select"!==b||!1===g.enabled||b&&(m||u&&!1===k.enabled)||b&&w.states&&w.states[b]&&!1===w.states[b].enabled)){this.state=b;p&&(t=f.markerAttribs(this,b));if(this.graphic&&!this.hasMockGraphic){e&&this.graphic.removeClass("highcharts-point-"+e);b&&this.graphic.addClass("highcharts-point-"+
+b);if(!l.styledMode){e=f.pointAttribs(this,b);var G=y(l.options.chart.animation,g.animation);var P=e.opacity;f.options.inactiveOtherPoints&&D(P)&&((this.dataLabels||[]).forEach(function(b){b&&!b.hasClass("highcharts-data-label-hidden")&&b.animate({opacity:P},G)}),this.connector&&this.connector.animate({opacity:P},G));this.graphic.animate(e,G)}t&&this.graphic.animate(t,y(l.options.chart.animation,k.animation,n.animation));E&&E.hide()}else{if(b&&k){n=w.symbol||f.symbol;E&&E.currentSymbol!==n&&(E=E.destroy());
+if(t)if(E)E[c?"animate":"attr"]({x:t.x,y:t.y});else n&&(f.stateMarkerGraphic=E=l.renderer.symbol(n,t.x,t.y,t.width,t.height).add(f.markerGroup),E.currentSymbol=n);!l.styledMode&&E&&"inactive"!==this.state&&E.attr(f.pointAttribs(this,b))}E&&(E[b&&this.isInside?"show":"hide"](),E.element.point=this,E.addClass(this.getClassName(),!0))}g=g.halo;t=(E=this.graphic||E)&&E.visibility||"inherit";g&&g.size&&E&&"hidden"!==t&&!this.isCluster?(r||(f.halo=r=l.renderer.path().add(E.parentGroup)),r.show()[c?"animate":
+"attr"]({d:this.haloPath(g.size)}),r.attr({"class":"highcharts-halo highcharts-color-"+y(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),visibility:t,zIndex:-1}),r.point=this,l.styledMode||r.attr(d({fill:this.color||f.color,"fill-opacity":g.opacity},a.filterUserAttributes(g.attributes||{})))):r&&r.point&&r.point.haloPath&&r.animate({d:r.point.haloPath(0)},null,r.hide);h(this,"afterSetState",{state:b})}};g.prototype.haloPath=function(b){var c=this.pos();return c?this.series.chart.renderer.symbols.circle(Math.floor(c[0])-
+b,c[1]-b,2*b,2*b):[]};return g}();"";return g});K(g,"Core/Pointer.js",[g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Tooltip.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=a.parse,B=g.charts,H=g.noop,t=F.addEvent,r=F.attr,l=F.css,e=F.defined,d=F.extend,h=F.find,m=F.fireEvent,k=F.isNumber,p=F.isObject,D=F.objectEach,I=F.offset,E=F.pick,L=F.splat;a=function(){function a(c,a){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.eventsToUnbind=[];this.chart=c;this.hasDragged=
+!1;this.options=a;this.init(c,a)}a.prototype.applyInactiveState=function(c){var a=[],f;(c||[]).forEach(function(c){f=c.series;a.push(f);f.linkedParent&&a.push(f.linkedParent);f.linkedSeries&&(a=a.concat(f.linkedSeries));f.navigatorSeries&&a.push(f.navigatorSeries)});this.chart.series.forEach(function(c){-1===a.indexOf(c)?c.setState("inactive",!0):c.options.inactiveOtherPoints&&c.setAllPointsToState("inactive")})};a.prototype.destroy=function(){var c=this;this.eventsToUnbind.forEach(function(c){return c()});
+this.eventsToUnbind=[];g.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(c.tooltipTimeout);D(c,function(a,f){c[f]=void 0})};a.prototype.getSelectionMarkerAttrs=function(c,a){var f=this,d={args:{chartX:c,chartY:a},attrs:{},shapeType:"rect"};m(this,"getSelectionMarkerAttrs",d,function(b){var d=f.chart,e=f.mouseDownX;e=void 0===e?0:e;var h=f.mouseDownY;h=void 0===h?
+0:h;var g=f.zoomHor,n=f.zoomVert;b=b.attrs;b.x=d.plotLeft;b.y=d.plotTop;b.width=g?1:d.plotWidth;b.height=n?1:d.plotHeight;g&&(d=c-e,b.width=Math.abs(d),b.x=(0<d?0:d)+e);n&&(d=a-h,b.height=Math.abs(d),b.y=(0<d?0:d)+h)});return d};a.prototype.drag=function(c){var a=this.chart,f=a.options.chart,d=a.plotLeft,b=a.plotTop,e=a.plotWidth,h=a.plotHeight,g=this.mouseDownX||0,k=this.mouseDownY||0,m=p(f.panning)?f.panning&&f.panning.enabled:f.panning,l=f.panKey&&c[f.panKey+"Key"],y=c.chartX,r=c.chartY,t=this.selectionMarker;
+t&&t.touch||(y<d?y=d:y>d+e&&(y=d+e),r<b?r=b:r>b+h&&(r=b+h),this.hasDragged=Math.sqrt(Math.pow(g-y,2)+Math.pow(k-r,2)),10<this.hasDragged&&(d=a.isInsidePlot(g-d,k-b,{visiblePlotOnly:!0}),r=this.getSelectionMarkerAttrs(y,r),y=r.shapeType,r=r.attrs,!a.hasCartesianSeries&&!a.mapView||!this.zoomX&&!this.zoomY||!d||l||t||(this.selectionMarker=t=a.renderer[y](),t.attr({"class":"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||t.attr({fill:f.selectionMarkerFill||A("#335cad").setOpacity(.25).get()})),
+t&&t.attr(r),d&&!t&&m&&a.pan(c,f.panning)))};a.prototype.dragStart=function(c){var a=this.chart;a.mouseIsDown=c.type;a.cancelClick=!1;a.mouseDownX=this.mouseDownX=c.chartX;a.mouseDownY=this.mouseDownY=c.chartY};a.prototype.getSelectionBox=function(c){var a={args:{marker:c},result:{}};m(this,"getSelectionBox",a,function(a){a.result={x:c.attr?+c.attr("x"):c.x,y:c.attr?+c.attr("y"):c.y,width:c.attr?c.attr("width"):c.width,height:c.attr?c.attr("height"):c.height}});return a.result};a.prototype.drop=function(c){var a=
+this,f=this.chart,h=this.hasPinched;if(this.selectionMarker){var b=this.getSelectionBox(this.selectionMarker),g=b.x,z=b.y,q=b.width,p=b.height,y={originalEvent:c,xAxis:[],yAxis:[],x:g,y:z,width:q,height:p},r=!!f.mapView;if(this.hasDragged||h)f.axes.forEach(function(b){if(b.zoomEnabled&&e(b.min)&&(h||a[{xAxis:"zoomX",yAxis:"zoomY"}[b.coll]])&&k(g)&&k(z)&&k(q)&&k(p)){var f=b.horiz,d="touchend"===c.type?b.minPixelPadding:0,n=b.toValue((f?g:z)+d);f=b.toValue((f?g+q:z+p)-d);y[b.coll].push({axis:b,min:Math.min(n,
+f),max:Math.max(n,f)});r=!0}}),r&&m(f,"selection",y,function(b){f.zoom(d(b,h?{animation:!1}:null))});k(f.index)&&(this.selectionMarker=this.selectionMarker.destroy());h&&this.scaleGroups()}f&&k(f.index)&&(l(f.container,{cursor:f._cursor}),f.cancelClick=10<this.hasDragged,f.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])};a.prototype.findNearestKDPoint=function(c,a,f){var d;c.forEach(function(b){var c=!(b.noSharedTooltip&&a)&&0>b.options.findNearestPointBy.indexOf("y");b=b.searchPoint(f,
+c);if((c=p(b,!0)&&b.series)&&!(c=!p(d,!0))){c=d.distX-b.distX;var e=d.dist-b.dist,h=(b.series.group&&b.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);c=0<(0!==c&&a?c:0!==e?e:0!==h?h:d.series.index>b.series.index?-1:1)}c&&(d=b)});return d};a.prototype.getChartCoordinatesFromPoint=function(c,a){var f=c.series,d=f.xAxis;f=f.yAxis;var b=c.shapeArgs;if(d&&f){var e=E(c.clientX,c.plotX),h=c.plotY||0;c.isNode&&b&&k(b.x)&&k(b.y)&&(e=b.x,h=b.y);return a?{chartX:f.len+f.pos-h,chartY:d.len+d.pos-
+e}:{chartX:e+d.pos,chartY:h+f.pos}}if(b&&b.x&&b.y)return{chartX:b.x,chartY:b.y}};a.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,a=I(c);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};var f=c.offsetWidth;c=c.offsetHeight;2<f&&2<c&&(this.chartPosition.scaleX=a.width/f,this.chartPosition.scaleY=a.height/c);return this.chartPosition};a.prototype.getCoordinates=function(c){var a={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(f){a[f.isXAxis?
+"xAxis":"yAxis"].push({axis:f,value:f.toValue(c[f.horiz?"chartX":"chartY"])})});return a};a.prototype.getHoverData=function(c,a,f,d,b,e){var g=[];d=!(!d||!c);var n=function(c){return c.visible&&!(!b&&c.directTouch)&&E(c.options.enableMouseTracking,!0)},k={chartX:e?e.chartX:void 0,chartY:e?e.chartY:void 0,shared:b};m(this,"beforeGetHoverData",k);var u=a&&!a.stickyTracking?[a]:f.filter(function(b){return b.stickyTracking&&(k.filter||n)(b)});var l=d||!e?c:this.findNearestKDPoint(u,b,e);a=l&&l.series;
+l&&(b&&!a.noSharedTooltip?(u=f.filter(function(b){return k.filter?k.filter(b):n(b)&&!b.noSharedTooltip}),u.forEach(function(b){var c=h(b.points,function(b){return b.x===l.x&&!b.isNull});p(c)&&(b.boosted&&b.boost&&(c=b.boost.getPoint(c)),g.push(c))})):g.push(l));k={hoverPoint:l};m(this,"afterGetHoverData",k);return{hoverPoint:k.hoverPoint,hoverSeries:a,hoverPoints:g}};a.prototype.getPointFromEvent=function(c){c=c.target;for(var a;c&&!a;)a=c.point,c=c.parentNode;return a};a.prototype.onTrackerMouseOut=
+function(c){c=c.relatedTarget||c.toElement;var a=this.chart.hoverSeries;this.isDirectTouch=!1;if(!(!a||!c||a.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+a.index)&&this.inClass(c,"highcharts-tracker")))a.onMouseOut()};a.prototype.inClass=function(c,a){for(var f;c;){if(f=r(c,"class")){if(-1!==f.indexOf(a))return!0;if(-1!==f.indexOf("highcharts-container"))return!1}c=c.parentElement}};a.prototype.init=function(c,a){this.options=a;this.chart=c;this.runChartClick=
+!(!a.chart.events||!a.chart.events.click);this.pinchDown=[];this.lastValidTouch={};x&&(c.tooltip=new x(c,a.tooltip));this.setDOMEvents()};a.prototype.normalize=function(c,a){var f=c.touches,e=f?f.length?f.item(0):E(f.changedTouches,c.changedTouches)[0]:c;a||(a=this.getChartPosition());f=e.pageX-a.left;e=e.pageY-a.top;f/=a.scaleX;e/=a.scaleY;return d(c,{chartX:Math.round(f),chartY:Math.round(e)})};a.prototype.onContainerClick=function(c){var a=this.chart,f=a.hoverPoint;c=this.normalize(c);var e=a.plotLeft,
+b=a.plotTop;a.cancelClick||(f&&this.inClass(c.target,"highcharts-tracker")?(m(f.series,"click",d(c,{point:f})),a.hoverPoint&&f.firePointEvent("click",c)):(d(c,this.getCoordinates(c)),a.isInsidePlot(c.chartX-e,c.chartY-b,{visiblePlotOnly:!0})&&m(a,"click",c)))};a.prototype.onContainerMouseDown=function(a){var c=1===((a.buttons||a.button)&1);a=this.normalize(a);if(g.isFirefox&&0!==a.button)this.onContainerMouseMove(a);if("undefined"===typeof a.button||c)this.zoomOption(a),c&&a.preventDefault&&a.preventDefault(),
+this.dragStart(a)};a.prototype.onContainerMouseLeave=function(c){var d=B[E(a.hoverChartIndex,-1)],f=this.chart.tooltip;c=this.normalize(c);d&&(c.relatedTarget||c.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=void 0);f&&!f.isHidden&&this.reset()};a.prototype.onContainerMouseEnter=function(a){delete this.chartPosition};a.prototype.onContainerMouseMove=function(a){var c=this.chart,f=c.tooltip;a=this.normalize(a);this.setHoverChartIndex();a.preventDefault||(a.returnValue=!1);("mousedown"===c.mouseIsDown||
+this.touchSelect(a))&&this.drag(a);c.openMenu||!this.inClass(a.target,"highcharts-tracker")&&!c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop,{visiblePlotOnly:!0})||f&&f.shouldStickOnContact(a)||(this.inClass(a.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(a))};a.prototype.onDocumentTouchEnd=function(c){var d=B[E(a.hoverChartIndex,-1)];d&&d.pointer.drop(c)};a.prototype.onContainerTouchMove=function(a){if(this.touchSelect(a))this.onContainerMouseMove(a);else this.touch(a)};
+a.prototype.onContainerTouchStart=function(a){if(this.touchSelect(a))this.onContainerMouseDown(a);else this.zoomOption(a),this.touch(a,!0)};a.prototype.onDocumentMouseMove=function(a){var c=this.chart,f=c.tooltip,d=this.chartPosition;a=this.normalize(a,d);!d||c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop,{visiblePlotOnly:!0})||f&&f.shouldStickOnContact(a)||this.inClass(a.target,"highcharts-tracker")||this.reset()};a.prototype.onDocumentMouseUp=function(c){var d=B[E(a.hoverChartIndex,-1)];
+d&&d.pointer.drop(c)};a.prototype.pinch=function(a){var c=this,f=c.chart,e=c.pinchDown,b=a.touches||[],h=b.length,g=c.lastValidTouch,k=c.hasZoom,l={},p=1===h&&(c.inClass(a.target,"highcharts-tracker")&&f.runTrackerClick||c.runChartClick),y={},r=c.chart.tooltip;r=1===h&&E(r&&r.options.followTouchMove,!0);var t=c.selectionMarker;1<h?c.initiated=!0:r&&(c.initiated=!1);k&&c.initiated&&!p&&!1!==a.cancelable&&a.preventDefault();[].map.call(b,function(b){return c.normalize(b)});"touchstart"===a.type?([].forEach.call(b,
+function(b,a){e[a]={chartX:b.chartX,chartY:b.chartY}}),g.x=[e[0].chartX,e[1]&&e[1].chartX],g.y=[e[0].chartY,e[1]&&e[1].chartY],f.axes.forEach(function(b){if(b.zoomEnabled){var a=f.bounds[b.horiz?"h":"v"],c=b.minPixelPadding,d=b.toPixels(Math.min(E(b.options.min,b.dataMin),b.dataMin)),e=b.toPixels(Math.max(E(b.options.max,b.dataMax),b.dataMax)),h=Math.max(d,e);a.min=Math.min(b.pos,Math.min(d,e)-c);a.max=Math.max(b.pos+b.len,h+c)}}),c.res=!0):r?this.runPointActions(c.normalize(a)):e.length&&(m(f,"touchpan",
+{originalEvent:a},function(){t||(c.selectionMarker=t=d({destroy:H,touch:!0},f.plotBox));c.pinchTranslate(e,b,l,t,y,g);c.hasPinched=k;c.scaleGroups(l,y)}),c.res&&(c.res=!1,this.reset(!1,0)))};a.prototype.pinchTranslate=function(a,d,f,e,b,h){this.zoomHor&&this.pinchTranslateDirection(!0,a,d,f,e,b,h);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,f,e,b,h)};a.prototype.pinchTranslateDirection=function(a,d,f,e,b,h,g,k){var c=this.chart,n=a?"x":"y",q=a?"X":"Y",u="chart"+q,m=a?"width":"height",l=c["plot"+
+(a?"Left":"Top")],z=c.inverted,p=c.bounds[a?"h":"v"],w=1===d.length,y=d[0][u],r=!w&&d[1][u];d=function(){"number"===typeof R&&20<Math.abs(y-r)&&(M=k||Math.abs(t-R)/Math.abs(y-r));P=(l-t)/M+y;G=c["plot"+(a?"Width":"Height")]/M};var G,P,M=k||1,t=f[0][u],R=!w&&f[1][u];d();f=P;if(f<p.min){f=p.min;var E=!0}else f+G>p.max&&(f=p.max-G,E=!0);E?(t-=.8*(t-g[n][0]),"number"===typeof R&&(R-=.8*(R-g[n][1])),d()):g[n]=[t,R];z||(h[n]=P-l,h[m]=G);h=z?1/M:M;b[m]=G;b[n]=f;e[z?a?"scaleY":"scaleX":"scale"+q]=M;e["translate"+
+q]=h*l+(t-h*y)};a.prototype.reset=function(a,d){var c=this.chart,e=c.hoverSeries,b=c.hoverPoint,h=c.hoverPoints,g=c.tooltip,k=g&&g.shared?h:b;a&&k&&L(k).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)g&&k&&L(k).length&&(g.refresh(k),g.shared&&h?h.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):b&&(b.setState(b.state,
+!0),c.axes.forEach(function(a){a.crosshair&&b.series[a.coll]===a&&a.drawCrosshair(null,b)})));else{if(b)b.onMouseOut();h&&h.forEach(function(b){b.setState()});if(e)e.onMouseOut();g&&g.hide(d);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}};a.prototype.runPointActions=function(c,d,f){var e=this.chart,b=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,g=b?b.shared:!1,k=d||e.hoverPoint,
+q=k&&k.series||e.hoverSeries;d=this.getHoverData(k,q,e.series,(!c||"touchmove"!==c.type)&&(!!d||q&&q.directTouch&&this.isDirectTouch),g,c);k=d.hoverPoint;q=d.hoverSeries;var m=d.hoverPoints;d=q&&q.tooltipOptions.followPointer&&!q.tooltipOptions.split;var l=g&&q&&!q.noSharedTooltip;if(k&&(f||k!==e.hoverPoint||b&&b.isHidden)){(e.hoverPoints||[]).forEach(function(b){-1===m.indexOf(b)&&b.setState()});if(e.hoverSeries!==q)q.onMouseOver();this.applyInactiveState(m);(m||[]).forEach(function(b){b.setState("hover")});
+e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;e.hoverPoints=m;e.hoverPoint=k;k.firePointEvent("mouseOver",void 0,function(){b&&k&&b.refresh(l?m:k,c)})}else d&&b&&!b.isHidden&&(f=b.getAnchor([{}],c),e.isInsidePlot(f[0],f[1],{visiblePlotOnly:!0})&&b.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=t(e.container.ownerDocument,"mousemove",function(b){var c=B[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove));
+e.axes.forEach(function(b){var a=E((b.crosshair||{}).snap,!0),d;a&&((d=e.hoverPoint)&&d.series[b.coll]===b||(d=h(m,function(a){return a.series&&a.series[b.coll]===b})));d||!a?b.drawCrosshair(c,d):b.hideCrosshair()})};a.prototype.scaleGroups=function(a,d){var c=this.chart;c.series.forEach(function(f){var b=a||f.getPlotBox();f.group&&(f.xAxis&&f.xAxis.zoomEnabled||c.mapView)&&(f.group.attr(b),f.markerGroup&&(f.markerGroup.attr(b),f.markerGroup.clip(d?c.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(b))});
+c.clipRect.attr(d||c.clipBox)};a.prototype.setDOMEvents=function(){var c=this,d=this.chart.container,f=d.ownerDocument;d.onmousedown=this.onContainerMouseDown.bind(this);d.onmousemove=this.onContainerMouseMove.bind(this);d.onclick=this.onContainerClick.bind(this);this.eventsToUnbind.push(t(d,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(t(d,"mouseleave",this.onContainerMouseLeave.bind(this)));a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=t(f,"mouseup",this.onDocumentMouseUp.bind(this)));
+for(var e=this.chart.renderTo.parentElement;e&&"BODY"!==e.tagName;)this.eventsToUnbind.push(t(e,"scroll",function(){delete c.chartPosition})),e=e.parentElement;g.hasTouch&&(this.eventsToUnbind.push(t(d,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(t(d,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=t(f,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};a.prototype.setHoverChartIndex=
+function(){var c=this.chart,d=g.charts[E(a.hoverChartIndex,-1)];if(d&&d!==c)d.pointer.onContainerMouseLeave({relatedTarget:c.container});d&&d.mouseIsDown||(a.hoverChartIndex=c.index)};a.prototype.touch=function(a,d){var c=this.chart,e;this.setHoverChartIndex();if(1===a.touches.length)if(a=this.normalize(a),(e=c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop,{visiblePlotOnly:!0}))&&!c.openMenu){d&&this.runPointActions(a);if("touchmove"===a.type){d=this.pinchDown;var b=d[0]?4<=Math.sqrt(Math.pow(d[0].chartX-
+a.chartX,2)+Math.pow(d[0].chartY-a.chartY,2)):!1}E(b,!0)&&this.pinch(a)}else d&&this.reset();else 2===a.touches.length&&this.pinch(a)};a.prototype.touchSelect=function(a){return!(!this.chart.options.chart.zooming.singleTouch||!a.touches||1!==a.touches.length)};a.prototype.zoomOption=function(a){var c=this.chart,d=c.options.chart;c=c.inverted;var e=d.zooming.type||"";/touch/.test(a.type)&&(e=E(d.zooming.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=d=/y/.test(e);this.zoomHor=a&&!c||d&&c;this.zoomVert=
+d&&!c||a&&c;this.hasZoom=a||d};return a}();"";return a});K(g,"Core/MSPointer.js",[g["Core/Globals.js"],g["Core/Pointer.js"],g["Core/Utilities.js"]],function(a,g,x){function A(){var a=[];a.item=function(a){return this[a]};h(p,function(d){a.push({pageX:d.pageX,pageY:d.pageY,target:d.target})});return a}function C(a,d,e,h){var c=H[g.hoverChartIndex||NaN];"touch"!==a.pointerType&&a.pointerType!==a.MSPOINTER_TYPE_TOUCH||!c||(c=c.pointer,h(a),c[d]({type:e,target:a.currentTarget,preventDefault:r,touches:A()}))}
+var B=this&&this.__extends||function(){var a=function(d,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(d,e)};return function(d,e){function h(){this.constructor=d}a(d,e);d.prototype=null===e?Object.create(e):(h.prototype=e.prototype,new h)}}(),H=a.charts,t=a.doc,r=a.noop,l=a.win,e=x.addEvent,d=x.css,h=x.objectEach,m=x.pick,k=x.removeEvent,p={},D=!!l.PointerEvent;return function(h){function g(){return null!==
+h&&h.apply(this,arguments)||this}B(g,h);g.isRequired=function(){return!(a.hasTouch||!l.PointerEvent&&!l.MSPointerEvent)};g.prototype.batchMSEvents=function(a){a(this.chart.container,D?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,D?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(t,D?"pointerup":"MSPointerUp",this.onDocumentPointerUp)};g.prototype.destroy=function(){this.batchMSEvents(k);h.prototype.destroy.call(this)};g.prototype.init=function(a,e){h.prototype.init.call(this,
+a,e);this.hasZoom&&d(a.container,{"-ms-touch-action":"none","touch-action":"none"})};g.prototype.onContainerPointerDown=function(a){C(a,"onContainerTouchStart","touchstart",function(a){p[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})};g.prototype.onContainerPointerMove=function(a){C(a,"onContainerTouchMove","touchmove",function(a){p[a.pointerId]={pageX:a.pageX,pageY:a.pageY};p[a.pointerId].target||(p[a.pointerId].target=a.currentTarget)})};g.prototype.onDocumentPointerUp=function(a){C(a,
+"onDocumentTouchEnd","touchend",function(a){delete p[a.pointerId]})};g.prototype.setDOMEvents=function(){var a=this.chart.tooltip;h.prototype.setDOMEvents.call(this);(this.hasZoom||m(a&&a.options.followTouchMove,!0))&&this.batchMSEvents(e)};return g}(g)});K(g,"Core/Legend/Legend.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Series/Point.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B){var A=a.animObject,
+t=a.setAnimation,r=g.format,l=x.marginNames,e=C.distribute,d=B.addEvent,h=B.createElement,m=B.css,k=B.defined,p=B.discardElement,D=B.find,I=B.fireEvent,E=B.isNumber,L=B.merge,y=B.pick,c=B.relativeLength,w=B.stableSort,f=B.syncTimeout;a=function(){function a(b,a){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=b;this.init(b,a)}a.prototype.init=function(b,a){this.chart=b;this.setOptions(a);a.enabled&&(this.render(),d(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=d(this.chart,"render",function(){this.legend.proximatePositions();
+this.legend.positionItems()}):this.unchartrender&&this.unchartrender())};a.prototype.setOptions=function(b){var a=y(b.padding,8);this.options=b;this.chart.styledMode||(this.itemStyle=b.itemStyle,this.itemHiddenStyle=L(this.itemStyle,b.itemHiddenStyle));this.itemMarginTop=b.itemMarginTop||0;this.itemMarginBottom=b.itemMarginBottom||0;this.padding=a;this.initialItemY=a-5;this.symbolWidth=y(b.symbolWidth,16);this.pages=[];this.proximate="proximate"===b.layout&&!this.chart.inverted;this.baseline=void 0};
+a.prototype.update=function(b,a){var c=this.chart;this.setOptions(L(!0,this.options,b));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;y(a,!0)&&c.redraw();I(this,"afterUpdate")};a.prototype.colorizeItem=function(b,a){var c=b.legendItem||{},d=c.group,f=c.label,e=c.line;c=c.symbol;if(d)d[a?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var h=this.options;d=this.itemHiddenStyle.color;h=a?h.itemStyle.color:d;var g=a?b.color||d:d,k=b.options&&b.options.marker,n={fill:g};
+f&&f.css({fill:h,color:h});e&&e.attr({stroke:g});c&&(k&&c.isMarker&&(n=b.pointAttribs(),a||(n.stroke=n.fill=d)),c.attr(n))}I(this,"afterColorizeItem",{item:b,visible:a})};a.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()};a.prototype.positionItem=function(b){var a=this,c=b.legendItem||{},d=c.group,f=c.x;f=void 0===f?0:f;c=c.y;c=void 0===c?0:c;var e=this.options,h=e.symbolPadding,g=!e.rtl;e=b.checkbox;d&&d.element&&(h=
+{translateX:g?f:this.legendWidth-f-2*h-4,translateY:c},d[k(d.translateY)?"animate":"attr"](h,void 0,function(){I(a,"afterPositionItem",{item:b})}));e&&(e.x=f,e.y=c)};a.prototype.destroyItem=function(b){for(var a=b.checkbox,c=b.legendItem||{},d=0,f=["group","label","line","symbol"];d<f.length;d++){var e=f[d];c[e]&&(c[e]=c[e].destroy())}a&&p(a);b.legendItem=void 0};a.prototype.destroy=function(){for(var b=0,a=this.getAllItems();b<a.length;b++)this.destroyItem(a[b]);b=0;for(a="clipRect up down pager nav box title group".split(" ");b<
+a.length;b++){var c=a[b];this[c]&&(this[c]=this[c].destroy())}this.display=null};a.prototype.positionCheckboxes=function(){var b=this.group&&this.group.alignAttr,a=this.clipHeight||this.legendHeight,c=this.titleHeight;if(b){var d=b.translateY;this.allItems.forEach(function(f){var e=f.checkbox;if(e){var h=d+c+e.y+(this.scrollOffset||0)+3;m(e,{left:b.translateX+f.checkboxOffset+e.x-20+"px",top:h+"px",display:this.proximate||h>d-6&&h<d+a-6?"":"none"})}},this)}};a.prototype.renderTitle=function(){var b=
+this.options,a=this.padding,c=b.title,d=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,a-3,a-4,void 0,void 0,void 0,b.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(c.style),this.title.add(this.group)),c.width||this.title.css({width:this.maxLegendWidth+"px"}),b=this.title.getBBox(),d=b.height,this.offsetWidth=b.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d};a.prototype.setText=function(b){var a=this.options;b.legendItem.label.attr({text:a.labelFormat?
+r(a.labelFormat,b,this.chart):a.labelFormatter.call(b)})};a.prototype.renderItem=function(b){var a=b.legendItem=b.legendItem||{},c=this.chart,d=c.renderer,f=this.options,e=this.symbolWidth,h=f.symbolPadding||0,g=this.itemStyle,k=this.itemHiddenStyle,n="horizontal"===f.layout?y(f.itemDistance,20):0,m=!f.rtl,l=!b.series,p=!l&&b.series.drawLegendSymbol?b.series:b,r=p.options,w=this.createCheckboxForItem&&r&&r.showCheckbox,G=f.useHTML,P=b.options.className,M=a.label;r=e+h+n+(w?20:0);M||(a.group=d.g("legend-item").addClass("highcharts-"+
+p.type+"-series highcharts-color-"+b.colorIndex+(P?" "+P:"")+(l?" highcharts-series-"+b.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.label=M=d.text("",m?e+h:-h,this.baseline||0,G),c.styledMode||M.css(L(b.visible?g:k)),M.attr({align:m?"left":"right",zIndex:2}).add(a.group),this.baseline||(this.fontMetrics=d.fontMetrics(c.styledMode?12:g.fontSize,M),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,M.attr("y",this.baseline),this.symbolHeight=f.symbolHeight||this.fontMetrics.f,f.squareSymbol&&
+(this.symbolWidth=y(f.symbolWidth,Math.max(this.symbolHeight,16)),r=this.symbolWidth+h+n+(w?20:0),m&&M.attr("x",this.symbolWidth+h))),p.drawLegendSymbol(this,b),this.setItemEvents&&this.setItemEvents(b,M,G));w&&!b.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(b);this.colorizeItem(b,b.visible);!c.styledMode&&g.width||M.css({width:(f.itemWidth||this.widthOption||c.spacingBox.width)-r+"px"});this.setText(b);c=M.getBBox();d=this.fontMetrics&&this.fontMetrics.h||0;b.itemWidth=b.checkboxOffset=
+f.itemWidth||a.labelWidth||c.width+r;this.maxItemWidth=Math.max(this.maxItemWidth,b.itemWidth);this.totalItemWidth+=b.itemWidth;this.itemHeight=b.itemHeight=Math.round(a.labelHeight||(c.height>1.5*d?c.height:d))};a.prototype.layoutItem=function(b){var a=this.options,c=this.padding,d="horizontal"===a.layout,f=b.itemHeight,e=this.itemMarginBottom,h=this.itemMarginTop,g=d?y(a.itemDistance,20):0,k=this.maxLegendWidth;a=a.alignColumns&&this.totalItemWidth>k?this.maxItemWidth:b.itemWidth;var n=b.legendItem||
+{};d&&this.itemX-c+a>k&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=h+this.lastLineHeight+e),this.lastLineHeight=0);this.lastItemY=h+this.itemY+e;this.lastLineHeight=Math.max(f,this.lastLineHeight);n.x=this.itemX;n.y=this.itemY;d?this.itemX+=a:(this.itemY+=h+f+e,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-c-(b.checkbox?0:g):a)+c,this.offsetWidth)};a.prototype.getAllItems=function(){var b=[];this.chart.series.forEach(function(a){var c=a&&a.options;a&&y(c.showInLegend,
+k(c.linkedTo)?!1:void 0,!0)&&(b=b.concat((a.legendItem||{}).labels||("point"===c.legendType?a.data:a)))});I(this,"afterGetAllItems",{allItems:b});return b};a.prototype.getAlignment=function(){var b=this.options;return this.proximate?b.align.charAt(0)+"tv":b.floating?"":b.align.charAt(0)+b.verticalAlign.charAt(0)+b.layout.charAt(0)};a.prototype.adjustMargins=function(b,a){var c=this.chart,d=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(e,
+h){e.test(f)&&!k(b[h])&&(c[l[h]]=Math.max(c[l[h]],c.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*d[h%2?"x":"y"]+y(d.margin,12)+a[h]+(c.titleOffset[h]||0)))})};a.prototype.proximatePositions=function(){var b=this.chart,a=[],c="left"===this.options.align;this.allItems.forEach(function(d){var f;var e=c;if(d.yAxis){d.xAxis.options.reversed&&(e=!e);d.points&&(f=D(e?d.points:d.points.slice(0).reverse(),function(b){return E(b.plotY)}));e=this.itemMarginTop+d.legendItem.label.getBBox().height+
+this.itemMarginBottom;var h=d.yAxis.top-b.plotTop;d.visible?(f=f?f.plotY:d.yAxis.height,f+=h-.3*e):f=h+d.yAxis.height;a.push({target:f,size:e,item:d})}},this);for(var d,f=0,h=e(a,b.plotHeight);f<h.length;f++){var g=h[f];d=g.item.legendItem||{};E(g.pos)&&(d.y=b.plotTop-b.spacing[0]+g.pos)}};a.prototype.render=function(){var b=this.chart,a=b.renderer,d=this.options,f=this.padding,e=this.getAllItems(),h=this.group,g=this.box;this.itemX=f;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;
+this.widthOption=c(d.width,b.spacingBox.width-f);var k=b.spacingBox.width-2*f-d.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(k/=2);this.maxLegendWidth=this.widthOption||k;h||(this.group=h=a.g("legend").addClass(d.className||"").attr({zIndex:7}).add(),this.contentGroup=a.g().attr({zIndex:1}).add(h),this.scrollGroup=a.g().add(this.contentGroup));this.renderTitle();w(e,function(b,a){return(b.options&&b.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)});d.reversed&&e.reverse();
+this.allItems=e;this.display=k=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;e.forEach(this.renderItem,this);e.forEach(this.layoutItem,this);e=(this.widthOption||this.offsetWidth)+f;var n=this.lastItemY+this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=f;g||(this.box=g=a.rect().addClass("highcharts-legend-box").attr({r:d.borderRadius}).add(h));b.styledMode||g.attr({stroke:d.borderColor,"stroke-width":d.borderWidth||0,fill:d.backgroundColor||
+"none"}).shadow(d.shadow);if(0<e&&0<n)g[g.placed?"animate":"attr"](g.crisp.call({},{x:0,y:0,width:e,height:n},g.strokeWidth()));h[k?"show":"hide"]();b.styledMode&&"none"===h.getStyle("display")&&(e=n=0);this.legendWidth=e;this.legendHeight=n;k&&this.align();this.proximate||this.positionItems();I(this,"afterRender")};a.prototype.align=function(b){void 0===b&&(b=this.chart.spacingBox);var a=this.chart,c=this.options,d=b.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<a.titleOffset[0]?d+=a.titleOffset[0]:
+/(lbh|cb|rbh)/.test(this.getAlignment())&&0<a.titleOffset[2]&&(d-=a.titleOffset[2]);d!==b.y&&(b=L(b,{y:d}));a.hasRendered||(this.group.placed=!1);this.group.align(L(c,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":c.verticalAlign}),!0,b)};a.prototype.handleOverflow=function(b){var a=this,c=this.chart,d=c.renderer,f=this.options,e=f.y,h="top"===f.verticalAlign,g=this.padding,k=f.maxHeight,n=f.navigation,m=y(n.animation,!0),l=n.arrowSize||12,p=this.pages,r=this.allItems,
+w=function(b){"number"===typeof b?D.attr({height:b}):D&&(a.clipRect=D.destroy(),a.contentGroup.clip());a.contentGroup.div&&(a.contentGroup.div.style.clip=b?"rect("+g+"px,9999px,"+(g+b)+"px,0)":"auto")},G=function(b){a[b]=d.circle(0,0,1.3*l).translate(l/2,l/2).add(R);c.styledMode||a[b].attr("fill","rgba(0,0,0,0.0001)");return a[b]},P,M,t;e=c.spacingBox.height+(h?-e:e)-g;var R=this.nav,D=this.clipRect;"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(e/=2);k&&(e=Math.min(e,k));p.length=
+0;b&&0<e&&b>e&&!1!==n.enabled?(this.clipHeight=P=Math.max(e-20-this.titleHeight-g,0),this.currentPage=y(this.currentPage,1),this.fullHeight=b,r.forEach(function(b,a){t=b.legendItem||{};b=t.y||0;var c=Math.round(t.label.getBBox().height),d=p.length;if(!d||b-p[d-1]>P&&(M||b)!==p[d-1])p.push(M||b),d++;t.pageIx=d-1;M&&((r[a-1].legendItem||{}).pageIx=d-1);a===r.length-1&&b+c-p[d-1]>P&&c<=P&&(p.push(b),t.pageIx=d);b!==M&&(M=b)}),D||(D=a.clipRect=d.clipRect(0,g,9999,0),a.contentGroup.clip(D)),w(P),R||(this.nav=
+R=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,l,l).add(R),G("upTracker").on("click",function(){a.scroll(-1,m)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&n.style&&this.pager.css(n.style),this.pager.add(R),this.down=d.symbol("triangle-down",0,0,l,l).add(R),G("downTracker").on("click",function(){a.scroll(1,m)})),a.scroll(0),b=e):R&&(w(),this.nav=R.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return b};a.prototype.scroll=
+function(b,a){var c=this,d=this.chart,e=this.pages,h=e.length,g=this.clipHeight,k=this.options.navigation,n=this.pager,m=this.padding,l=this.currentPage+b;l>h&&(l=h);0<l&&("undefined"!==typeof a&&t(a,d),this.nav.attr({translateX:m,translateY:g+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(b){b.attr({"class":1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+h}),[this.down,this.downTracker].forEach(function(b){b.attr({x:18+
+this.pager.getBBox().width,"class":l===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),d.styledMode||(this.up.attr({fill:1===l?k.inactiveColor:k.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===h?k.inactiveColor:k.activeColor}),this.downTracker.css({cursor:l===h?"default":"pointer"})),this.scrollOffset=-e[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),
+b=A(y(a,d.renderer.globalAnimation,!0)),f(function(){I(c,"afterScroll",{currentPage:l})},b.duration))};a.prototype.setItemEvents=function(b,a,c){var d=this,f=b.legendItem||{},e=d.chart.renderer.boxWrapper,h=b instanceof F,g="highcharts-legend-"+(h?"point":"series")+"-active",k=d.chart.styledMode,n=function(a){d.allItems.forEach(function(c){b!==c&&[c].concat(c.linkedSeries||[]).forEach(function(b){b.setState(a,!h)})})},m=0;for(c=c?[a,f.symbol]:[f.group];m<c.length;m++)if(f=c[m])f.on("mouseover",function(){b.visible&&
+n("inactive");b.setState("hover");b.visible&&e.addClass(g);k||a.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.chart.styledMode||a.css(L(b.visible?d.itemStyle:d.itemHiddenStyle));n("");e.removeClass(g);b.setState()}).on("click",function(a){var c=function(){b.setVisible&&b.setVisible();n(b.visible?"inactive":"")};e.removeClass(g);a={browserEvent:a};b.firePointEvent?b.firePointEvent("legendItemClick",a,c):I(b,"legendItemClick",a,c)})};a.prototype.createCheckboxForItem=function(b){b.checkbox=
+h("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:b.selected,defaultChecked:b.selected},this.options.itemCheckboxStyle,this.chart.container);d(b.checkbox,"click",function(a){I(b.series||b,"checkboxClick",{checked:a.target.checked,item:b},function(){b.select()})})};return a}();"";return a});K(g,"Core/Series/SeriesRegistry.js",[g["Core/Globals.js"],g["Core/Defaults.js"],g["Core/Series/Point.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=g.defaultOptions,B=F.extendClass,
+H=F.merge,t;(function(g){function l(a,d){var e=A.plotOptions||{},m=d.defaultOptions,k=d.prototype;k.type=a;k.pointClass||(k.pointClass=x);m&&(e[a]=m);g.seriesTypes[a]=d}g.seriesTypes=a.seriesTypes;g.registerSeriesType=l;g.seriesType=function(a,d,h,m,k){var e=A.plotOptions||{};d=d||"";e[a]=H(e[d],h);l(a,B(g.seriesTypes[d]||function(){},m));g.seriesTypes[a].prototype.type=a;k&&(g.seriesTypes[a].prototype.pointClass=B(x,k));return g.seriesTypes[a]}})(t||(t={}));return t});K(g,"Core/Chart/Chart.js",[g["Core/Animation/AnimationUtilities.js"],
+g["Core/Axis/Axis.js"],g["Core/Defaults.js"],g["Core/FormatUtilities.js"],g["Core/Foundation.js"],g["Core/Globals.js"],g["Core/Legend/Legend.js"],g["Core/MSPointer.js"],g["Core/Pointer.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Time.js"],g["Core/Utilities.js"],g["Core/Renderer/HTML/AST.js"]],function(a,g,x,F,C,B,H,t,r,l,e,d,h,m,k){var p=a.animate,D=a.animObject,A=a.setAnimation,E=x.defaultOptions,L=x.defaultTime,y=F.numberFormat,
+c=C.registerEventOptions,w=B.charts,f=B.doc,n=B.marginNames,b=B.svg,u=B.win,z=e.seriesTypes,q=m.addEvent,N=m.attr,J=m.cleanRecursively,O=m.createElement,Q=m.css,T=m.defined,Y=m.discardElement,v=m.erase,U=m.error,K=m.extend,ca=m.find,S=m.fireEvent,G=m.getStyle,P=m.isArray,M=m.isNumber,X=m.isObject,R=m.isString,V=m.merge,Z=m.objectEach,W=m.pick,ba=m.pInt,fa=m.relativeLength,ha=m.removeEvent,ea=m.splat,ia=m.syncTimeout,ka=m.uniqueKey;a=function(){function a(b,a,c){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(b,
+a,c)}a.chart=function(b,c,d){return new a(b,c,d)};a.prototype.getArgs=function(b,a,c){R(b)||b.nodeName?(this.renderTo=b,this.init(a,c)):this.init(b,a)};a.prototype.init=function(b,a){var d=b.plotOptions||{};S(this,"init",{args:arguments},function(){var f=V(E,b),e=f.chart;Z(f.plotOptions,function(b,a){X(b)&&(b.tooltip=d[a]&&V(d[a].tooltip)||void 0)});f.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;this.userOptions=b;this.margin=[];this.spacing=[];this.bounds={h:{},
+v:{}};this.labelCollectors=[];this.callback=a;this.isResizing=0;var g=e.zooming=e.zooming||{};b.chart&&!b.chart.zooming&&(g.resetButton=e.resetZoomButton);g.key=W(g.key,e.zoomKey);g.pinchType=W(g.pinchType,e.pinchType);g.singleTouch=W(g.singleTouch,e.zoomBySingleTouch);g.type=W(g.type,e.zoomType);this.options=f;this.axes=[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new h(b.time):B.time;this.numberFormatter=e.numberFormatter||y;this.styledMode=e.styledMode;this.hasCartesianSeries=
+e.showAxes;this.index=w.length;w.push(this);B.chartCount++;c(this,e);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;S(this,"afterInit");this.firstRender()})};a.prototype.initSeries=function(b){var a=this.options.chart;a=b.type||a.type||a.defaultSeriesType;var c=z[a];c||U(17,!0,this,{missingModuleFor:a});a=new c;"function"===typeof a.init&&a.init(this,b);return a};a.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(b){b.points||b.data||
+!b.enabledDataSorting||b.setData(b.options.data,!1)})};a.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(b,a){return b.linkedSeries.length||a.linkedSeries.length?a.linkedSeries.length-b.linkedSeries.length:0})};a.prototype.orderSeries=function(b){var a=this.series;b=b||0;for(var c=a.length;b<c;++b)a[b]&&(a[b].index=b,a[b].name=a[b].getName())};a.prototype.isInsidePlot=function(b,a,c){void 0===c&&(c={});var d=this.inverted,f=this.plotBox,e=this.plotLeft,h=this.plotTop,
+g=this.scrollablePlotBox,k=0;var n=0;c.visiblePlotOnly&&this.scrollingContainer&&(n=this.scrollingContainer,k=n.scrollLeft,n=n.scrollTop);var m=c.series;f=c.visiblePlotOnly&&g||f;g=c.inverted?a:b;a=c.inverted?b:a;b={x:g,y:a,isInsidePlot:!0,options:c};if(!c.ignoreX){var q=m&&(d&&!this.polar?m.yAxis:m.xAxis)||{pos:e,len:Infinity};g=c.paneCoordinates?q.pos+g:e+g;g>=Math.max(k+e,q.pos)&&g<=Math.min(k+e+f.width,q.pos+q.len)||(b.isInsidePlot=!1)}!c.ignoreY&&b.isInsidePlot&&(d=c.axis&&!c.axis.isXAxis&&c.axis||
+m&&(d?m.xAxis:m.yAxis)||{pos:h,len:Infinity},c=c.paneCoordinates?d.pos+a:h+a,c>=Math.max(n+h,d.pos)&&c<=Math.min(n+h+f.height,d.pos+d.len)||(b.isInsidePlot=!1));S(this,"afterIsInsidePlot",b);return b.isInsidePlot};a.prototype.redraw=function(b){S(this,"beforeRedraw");var a=this.hasCartesianSeries?this.axes:this.colorAxis||[],c=this.series,d=this.pointer,f=this.legend,e=this.userOptions.legend,h=this.renderer,g=h.isHidden(),k=[],n=this.isDirtyBox,m=this.isDirtyLegend;this.setResponsive&&this.setResponsive(!1);
+A(this.hasRendered?b:!1,this);g&&this.temporaryDisplay();this.layOutTitles();for(b=c.length;b--;){var q=c[b];if(q.options.stacking||q.options.centerInCategory){var l=!0;if(q.isDirty){var G=!0;break}}}if(G)for(b=c.length;b--;)q=c[b],q.options.stacking&&(q.isDirty=!0);c.forEach(function(b){b.isDirty&&("point"===b.options.legendType?("function"===typeof b.updateTotals&&b.updateTotals(),m=!0):e&&(e.labelFormatter||e.labelFormat)&&(m=!0));b.isDirtyData&&S(b,"updatedData")});m&&f&&f.options.enabled&&(f.render(),
+this.isDirtyLegend=!1);l&&this.getStacks();a.forEach(function(b){b.updateNames();b.setScale()});this.getMargins();a.forEach(function(b){b.isDirty&&(n=!0)});a.forEach(function(b){var a=b.min+","+b.max;b.extKey!==a&&(b.extKey=a,k.push(function(){S(b,"afterSetExtremes",K(b.eventArgs,b.getExtremes()));delete b.eventArgs}));(n||l)&&b.redraw()});n&&this.drawChartBox();S(this,"predraw");c.forEach(function(b){(n||b.isDirty)&&b.visible&&b.redraw();b.isDirtyData=!1});d&&d.reset(!0);h.draw();S(this,"redraw");
+S(this,"render");g&&this.temporaryDisplay(!0);k.forEach(function(b){b.call()})};a.prototype.get=function(b){function a(a){return a.id===b||a.options&&a.options.id===b}for(var c=this.series,d=ca(this.axes,a)||ca(this.series,a),f=0;!d&&f<c.length;f++)d=ca(c[f].points||[],a);return d};a.prototype.getAxes=function(){var b=this,a=this.options,c=a.xAxis=ea(a.xAxis||{});a=a.yAxis=ea(a.yAxis||{});S(this,"getAxes");c.forEach(function(b,a){b.index=a;b.isX=!0});a.forEach(function(b,a){b.index=a});c.concat(a).forEach(function(a){new g(b,
+a)});S(this,"afterGetAxes")};a.prototype.getSelectedPoints=function(){return this.series.reduce(function(b,a){a.getPointsCollection().forEach(function(a){W(a.selectedStaging,a.selected)&&b.push(a)});return b},[])};a.prototype.getSelectedSeries=function(){return this.series.filter(function(b){return b.selected})};a.prototype.setTitle=function(b,a,c){this.applyDescription("title",b);this.applyDescription("subtitle",a);this.applyDescription("caption",void 0);this.layOutTitles(c)};a.prototype.applyDescription=
+function(b,a){var c=this,d="title"===b?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};d=this.options[b]=V(!this.styledMode&&{style:d},this.options[b],a);var f=this[b];f&&a&&(this[b]=f=f.destroy());d&&!f&&(f=this.renderer.text(d.text,0,0,d.useHTML).attr({align:d.align,"class":"highcharts-"+b,zIndex:d.zIndex||4}).add(),f.update=function(a){c[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[b]](a)},this.styledMode||f.css(d.style),this[b]=f)};a.prototype.layOutTitles=
+function(b){var a=[0,0,0],c=this.renderer,d=this.spacingBox;["title","subtitle","caption"].forEach(function(b){var f=this[b],e=this.options[b],h=e.verticalAlign||"top";b="title"===b?"top"===h?-3:0:"top"===h?a[0]+2:0;var g;if(f){this.styledMode||(g=e.style&&e.style.fontSize);g=c.fontMetrics(g,f).b;f.css({width:(e.width||d.width+(e.widthAdjust||0))+"px"});var k=Math.round(f.getBBox(e.useHTML).height);f.align(K({y:"bottom"===h?g:b+g,height:k},e),!1,"spacingBox");e.floating||("top"===h?a[0]=Math.ceil(a[0]+
+k):"bottom"===h&&(a[2]=Math.ceil(a[2]+k)))}},this);a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin);a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var f=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a;S(this,"afterLayOutTitles");!this.isDirtyBox&&f&&(this.isDirtyBox=this.isDirtyLegend=f,this.hasRendered&&W(b,!0)&&this.isDirtyBox&&this.redraw())};a.prototype.getChartSize=function(){var b=
+this.options.chart,a=b.width;b=b.height;var c=this.renderTo;T(a)||(this.containerWidth=G(c,"width"));T(b)||(this.containerHeight=G(c,"height"));this.chartWidth=Math.max(0,a||this.containerWidth||600);this.chartHeight=Math.max(0,fa(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))};a.prototype.temporaryDisplay=function(b){var a=this.renderTo;if(b)for(;a&&a.style;)a.hcOrigStyle&&(Q(a,a.hcOrigStyle),delete a.hcOrigStyle),a.hcOrigDetached&&(f.body.removeChild(a),a.hcOrigDetached=
+!1),a=a.parentNode;else for(;a&&a.style;){f.body.contains(a)||a.parentNode||(a.hcOrigDetached=!0,f.body.appendChild(a));if("none"===G(a,"display",!1)||a.hcOricDetached)a.hcOrigStyle={display:a.style.display,height:a.style.height,overflow:a.style.overflow},b={display:"block",overflow:"hidden"},a!==this.renderTo&&(b.height=0),Q(a,b),a.offsetWidth||a.style.setProperty("display","block","important");a=a.parentNode;if(a===f.body)break}};a.prototype.setClassName=function(b){this.container.className="highcharts-container "+
+(b||"")};a.prototype.getContainer=function(){var a=this.options,c=a.chart,e=ka(),h,g=this.renderTo;g||(this.renderTo=g=c.renderTo);R(g)&&(this.renderTo=g=f.getElementById(g));g||U(13,!0,this);var n=ba(N(g,"data-highcharts-chart"));M(n)&&w[n]&&w[n].hasRendered&&w[n].destroy();N(g,"data-highcharts-chart",this.index);g.innerHTML=k.emptyHTML;c.skipClone||g.offsetWidth||this.temporaryDisplay();this.getChartSize();n=this.chartWidth;var m=this.chartHeight;Q(g,{overflow:"hidden"});this.styledMode||(h=K({position:"relative",
+overflow:"hidden",width:n+"px",height:m+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},c.style||{}));this.container=e=O("div",{id:e},h,g);this._cursor=e.style.cursor;this.renderer=new (c.renderer||!b?l.getRendererType(c.renderer):d)(e,n,m,void 0,c.forExport,a.exporting&&a.exporting.allowHTML,this.styledMode);A(void 0,this);this.setClassName(c.className);if(this.styledMode)for(var q in a.defs)this.renderer.definition(a.defs[q]);
+else this.renderer.setStyle(c.style);this.renderer.chartIndex=this.index;S(this,"afterGetContainer")};a.prototype.getMargins=function(b){var a=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();d[0]&&!T(c[0])&&(this.plotTop=Math.max(this.plotTop,d[0]+a[0]));d[2]&&!T(c[2])&&(this.marginBottom=Math.max(this.marginBottom,d[2]+a[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,a);S(this,"getMargins");b||this.getAxisMargins()};a.prototype.getAxisMargins=function(){var b=
+this,a=b.axisOffset=[0,0,0,0],c=b.colorAxis,d=b.margin,f=function(b){b.forEach(function(b){b.visible&&b.getOffset()})};b.hasCartesianSeries?f(b.axes):c&&c.length&&f(c);n.forEach(function(c,f){T(d[f])||(b[c]+=a[f])});b.setChartSize()};a.prototype.reflow=function(b){var a=this,c=a.options.chart,d=a.renderTo,e=T(c.width)&&T(c.height),h=c.width||G(d,"width");c=c.height||G(d,"height");d=b?b.target:u;delete a.pointer.chartPosition;if(!e&&!a.isPrinting&&h&&c&&(d===u||d===f)){if(h!==a.containerWidth||c!==
+a.containerHeight)m.clearTimeout(a.reflowTimeout),a.reflowTimeout=ia(function(){a.container&&a.setSize(void 0,void 0,!1)},b?100:0);a.containerWidth=h;a.containerHeight=c}};a.prototype.setReflow=function(b){var a=this;!1===b||this.unbindReflow?!1===b&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=q(u,"resize",function(b){a.options&&a.reflow(b)}),q(this,"destroy",this.unbindReflow))};a.prototype.setSize=function(b,a,c){var d=this,f=d.renderer;d.isResizing+=1;A(c,d);c=
+f.globalAnimation;d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;"undefined"!==typeof b&&(d.options.chart.width=b);"undefined"!==typeof a&&(d.options.chart.height=a);d.getChartSize();d.styledMode||(c?p:Q)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+"px"},c);d.setChartSize(!0);f.setSize(d.chartWidth,d.chartHeight,c);d.axes.forEach(function(b){b.isDirty=!0;b.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;S(d,
+"resize");ia(function(){d&&S(d,"endResize",null,function(){--d.isResizing})},D(c).duration)};a.prototype.setChartSize=function(b){var a=this.inverted,c=this.renderer,d=this.chartWidth,f=this.chartHeight,e=this.options.chart,h=this.spacing,g=this.clipOffset,k,n,m,q;this.plotLeft=k=Math.round(this.plotLeft);this.plotTop=n=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-k-this.marginRight));this.plotHeight=q=Math.max(0,Math.round(f-n-this.marginBottom));this.plotSizeX=a?q:m;this.plotSizeY=
+a?m:q;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:h[3],y:h[0],width:d-h[3]-h[1],height:f-h[0]-h[2]};this.plotBox=c.plotBox={x:k,y:n,width:m,height:q};a=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(a,g[3])/2);f=Math.ceil(Math.max(a,g[0])/2);this.clipBox={x:d,y:f,width:Math.floor(this.plotSizeX-Math.max(a,g[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(a,g[2])/2-f))};b||(this.axes.forEach(function(b){b.setAxisSize();b.setAxisTranslation()}),
+c.alignElements());S(this,"afterSetChartSize",{skipAxes:b})};a.prototype.resetMargins=function(){S(this,"resetMargins");var b=this,a=b.options.chart;["margin","spacing"].forEach(function(c){var d=a[c],f=X(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,e){b[c][e]=W(a[c+d],f[e])})});n.forEach(function(a,c){b[a]=W(b.margin[c],b.spacing[c])});b.axisOffset=[0,0,0,0];b.clipOffset=[0,0,0,0]};a.prototype.drawChartBox=function(){var b=this.options.chart,a=this.renderer,c=this.chartWidth,
+d=this.chartHeight,f=this.styledMode,e=this.plotBGImage,h=b.backgroundColor,g=b.plotBackgroundColor,k=b.plotBackgroundImage,n=this.plotLeft,m=this.plotTop,q=this.plotWidth,l=this.plotHeight,G=this.plotBox,u=this.clipRect,p=this.clipBox,M=this.chartBackground,v=this.plotBackground,w=this.plotBorder,r,z="animate";M||(this.chartBackground=M=a.rect().addClass("highcharts-background").add(),z="attr");if(f)var y=r=M.strokeWidth();else{y=b.borderWidth||0;r=y+(b.shadow?8:0);h={fill:h||"none"};if(y||M["stroke-width"])h.stroke=
+b.borderColor,h["stroke-width"]=y;M.attr(h).shadow(b.shadow)}M[z]({x:r/2,y:r/2,width:c-r-y%2,height:d-r-y%2,r:b.borderRadius});z="animate";v||(z="attr",this.plotBackground=v=a.rect().addClass("highcharts-plot-background").add());v[z](G);f||(v.attr({fill:g||"none"}).shadow(b.plotShadow),k&&(e?(k!==e.attr("href")&&e.attr("href",k),e.animate(G)):this.plotBGImage=a.image(k,n,m,q,l).add()));u?u.animate({width:p.width,height:p.height}):this.clipRect=a.clipRect(p);z="animate";w||(z="attr",this.plotBorder=
+w=a.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f||w.attr({stroke:b.plotBorderColor,"stroke-width":b.plotBorderWidth||0,fill:"none"});w[z](w.crisp({x:n,y:m,width:q,height:l},-w.strokeWidth()));this.isDirtyBox=!1;S(this,"afterDrawChartBox")};a.prototype.propFromSeries=function(){var b=this,a=b.options.chart,c=b.options.series,d,f,e;["inverted","angular","polar"].forEach(function(h){f=z[a.type||a.defaultSeriesType];e=a[h]||f&&f.prototype[h];for(d=c&&c.length;!e&&d--;)(f=z[c[d].type])&&
+f.prototype[h]&&(e=!0);b[h]=e})};a.prototype.linkSeries=function(){var b=this,a=b.series;a.forEach(function(b){b.linkedSeries.length=0});a.forEach(function(a){var c=a.options.linkedTo;R(c)&&(c=":previous"===c?b.series[a.index-1]:b.get(c))&&c.linkedParent!==a&&(c.linkedSeries.push(a),a.linkedParent=c,c.enabledDataSorting&&a.setDataSortingOptions(),a.visible=W(a.options.visible,c.options.visible,a.visible))});S(this,"afterLinkSeries")};a.prototype.renderSeries=function(){this.series.forEach(function(b){b.translate();
+b.render()})};a.prototype.renderLabels=function(){var b=this,a=b.options.labels;a.items&&a.items.forEach(function(c){var d=K(a.style,c.style),f=ba(d.left)+b.plotLeft,e=ba(d.top)+b.plotTop+12;delete d.left;delete d.top;b.renderer.text(c.html,f,e).attr({zIndex:2}).css(d).add()})};a.prototype.render=function(){var b=this.axes,a=this.colorAxis,c=this.renderer,d=this.options,f=function(b){b.forEach(function(b){b.visible&&b.render()})},e=0;this.setTitle();this.legend=new H(this,d.legend);this.getStacks&&
+this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;b.some(function(b){if(b.horiz&&b.visible&&b.options.labels.enabled&&b.series.length)return e=21,!0});var h=this.plotHeight=Math.max(this.plotHeight-e,0);b.forEach(function(b){b.setScale()});this.getAxisMargins();var g=1.1<d/this.plotWidth,k=1.05<h/this.plotHeight;if(g||k)b.forEach(function(b){(b.horiz&&g||!b.horiz&&k)&&b.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries?f(b):a&&a.length&&f(a);
+this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0};a.prototype.addCredits=function(b){var a=this,c=V(!0,this.options.credits,b);c.enabled&&!this.credits&&(this.credits=this.renderer.text(c.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){c.href&&(u.location.href=c.href)}).attr({align:c.position.align,zIndex:8}),a.styledMode||
+this.credits.css(c.style),this.credits.add().align(c.position),this.credits.update=function(b){a.credits=a.credits.destroy();a.addCredits(b)})};a.prototype.destroy=function(){var b=this,a=b.axes,c=b.series,d=b.container,f=d&&d.parentNode,e;S(b,"destroy");b.renderer.forExport?v(w,b):w[b.index]=void 0;B.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");ha(b);for(e=a.length;e--;)a[e]=a[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=c.length;e--;)c[e]=
+c[e].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});d&&(d.innerHTML=k.emptyHTML,ha(d),f&&Y(d));Z(b,function(a,c){delete b[c]})};a.prototype.firstRender=function(){var b=this,a=b.options;if(!b.isReadyToRender||b.isReadyToRender()){b.getContainer();b.resetMargins();b.setChartSize();b.propFromSeries();
+b.getAxes();(P(a.series)?a.series:[]).forEach(function(a){b.initSeries(a)});b.linkSeries();b.setSeriesData();S(b,"beforeRender");r&&(t.isRequired()?b.pointer=new t(b,a):b.pointer=new r(b,a));b.render();b.pointer.getChartPosition();if(!b.renderer.imgCount&&!b.hasLoaded)b.onload();b.temporaryDisplay(!0)}};a.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(b){b&&"undefined"!==typeof this.index&&b.apply(this,[this])},this);S(this,"load");S(this,"render");T(this.index)&&
+this.setReflow(this.options.chart.reflow);this.warnIfA11yModuleNotLoaded();this.hasLoaded=!0};a.prototype.warnIfA11yModuleNotLoaded=function(){var b=this.options,a=this.title;b&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(a&&a.element.textContent||"").replace(/</g,"&lt;")}),b.accessibility&&!1===b.accessibility.enabled||U('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,this))};a.prototype.addSeries=function(b,a,c){var d=this,f;b&&(a=W(a,!0),S(d,"addSeries",{options:b},function(){f=d.initSeries(b);d.isDirtyLegend=!0;d.linkSeries();f.enabledDataSorting&&f.setData(b.data,!1);S(d,"afterAddSeries",{series:f});a&&d.redraw(c)}));return f};a.prototype.addAxis=function(b,a,c,d){return this.createAxis(a?"xAxis":"yAxis",{axis:b,redraw:c,animation:d})};a.prototype.addColorAxis=function(b,a,c){return this.createAxis("colorAxis",{axis:b,redraw:a,animation:c})};a.prototype.createAxis=
+function(b,a){b=new g(this,V(a.axis,{index:this[b].length,isX:"xAxis"===b}));W(a.redraw,!0)&&this.redraw(a.animation);return b};a.prototype.showLoading=function(b){var a=this,c=a.options,d=c.loading,f=function(){e&&Q(e,{left:a.plotLeft+"px",top:a.plotTop+"px",width:a.plotWidth+"px",height:a.plotHeight+"px"})},e=a.loadingDiv,h=a.loadingSpan;e||(a.loadingDiv=e=O("div",{className:"highcharts-loading highcharts-loading-hidden"},null,a.container));h||(a.loadingSpan=h=O("span",{className:"highcharts-loading-inner"},
+null,e),q(a,"redraw",f));e.className="highcharts-loading";k.setElementHTML(h,W(b,c.lang.loading,""));a.styledMode||(Q(e,K(d.style,{zIndex:10})),Q(h,d.labelStyle),a.loadingShown||(Q(e,{opacity:0,display:""}),p(e,{opacity:d.style.opacity||.5},{duration:d.showDuration||0})));a.loadingShown=!0;f()};a.prototype.hideLoading=function(){var b=this.options,a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden",this.styledMode||p(a,{opacity:0},{duration:b.loading.hideDuration||100,
+complete:function(){Q(a,{display:"none"})}}));this.loadingShown=!1};a.prototype.update=function(b,a,d,f){var e=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},k=b.isResponsiveOptions,n=[],m,q;S(e,"update",{options:b});k||e.setResponsive(!1,!0);b=J(b,e.options);e.userOptions=V(e.userOptions,b);var l=b.chart;if(l){V(!0,e.options.chart,l);"className"in l&&e.setClassName(l.className);"reflow"in l&&e.setReflow(l.reflow);if("inverted"in l||"polar"in l||"type"in
+l){e.propFromSeries();var G=!0}"alignTicks"in l&&(G=!0);"events"in l&&c(this,l);Z(l,function(b,a){-1!==e.propsRequireUpdateSeries.indexOf("chart."+a)&&(m=!0);-1!==e.propsRequireDirtyBox.indexOf(a)&&(e.isDirtyBox=!0);-1!==e.propsRequireReflow.indexOf(a)&&(k?e.isDirtyBox=!0:q=!0)});!e.styledMode&&l.style&&e.renderer.setStyle(e.options.chart.style||{})}!e.styledMode&&b.colors&&(this.options.colors=b.colors);b.time&&(this.time===L&&(this.time=new h(b.time)),V(!0,e.options.time,b.time));Z(b,function(a,
+c){if(e[c]&&"function"===typeof e[c].update)e[c].update(a,!1);else if("function"===typeof e[g[c]])e[g[c]](a);else"colors"!==c&&-1===e.collectionsWithUpdate.indexOf(c)&&V(!0,e.options[c],b[c]);"chart"!==c&&-1!==e.propsRequireUpdateSeries.indexOf(c)&&(m=!0)});this.collectionsWithUpdate.forEach(function(a){if(b[a]){var c=[];e[a].forEach(function(b,a){b.options.isInternal||c.push(W(b.options.index,a))});ea(b[a]).forEach(function(b,f){var h=T(b.id),g;h&&(g=e.get(b.id));!g&&e[a]&&(g=e[a][c?c[f]:f])&&h&&
+T(g.options.id)&&(g=void 0);g&&g.coll===a&&(g.update(b,!1),d&&(g.touched=!0));!g&&d&&e.collectionsWithInit[a]&&(e.collectionsWithInit[a][0].apply(e,[b].concat(e.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)});d&&e[a].forEach(function(b){b.touched||b.options.isInternal?delete b.touched:n.push(b)})}});n.forEach(function(b){b.chart&&b.remove&&b.remove(!1)});G&&e.axes.forEach(function(b){b.update({},!1)});m&&e.getSeriesOrderByLinks().forEach(function(b){b.chart&&b.update({},!1)},this);G=l&&
+l.width;l=l&&(R(l.height)?fa(l.height,G||e.chartWidth):l.height);q||M(G)&&G!==e.chartWidth||M(l)&&l!==e.chartHeight?e.setSize(G,l,f):W(a,!0)&&e.redraw(f);S(e,"afterUpdate",{options:b,redraw:a,animation:f})};a.prototype.setSubtitle=function(b,a){this.applyDescription("subtitle",b);this.layOutTitles(a)};a.prototype.setCaption=function(b,a){this.applyDescription("caption",b);this.layOutTitles(a)};a.prototype.showResetZoom=function(){function b(){a.zoomOut()}var a=this,c=E.lang,d=a.options.chart.zooming.resetButton,
+f=d.theme,e="chart"===d.relativeTo||"spacingBox"===d.relativeTo?null:"scrollablePlotBox";S(this,"beforeShowResetZoom",null,function(){a.resetZoomButton=a.renderer.button(c.resetZoom,null,null,b,f).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,e)});S(this,"afterShowResetZoom")};a.prototype.zoomOut=function(){S(this,"selection",{resetSelection:!0},this.zoom)};a.prototype.zoom=function(b){var a=this,c=a.pointer,d=!1,f;!b||b.resetSelection?
+(a.axes.forEach(function(b){f=b.zoom()}),c.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var e=b.axis;if(c[e.isXAxis?"zoomX":"zoomY"]&&T(c.mouseDownX)&&T(c.mouseDownY)&&a.isInsidePlot(c.mouseDownX-a.plotLeft,c.mouseDownY-a.plotTop,{axis:e})||!T(a.inverted?c.mouseDownX:c.mouseDownY))f=e.zoom(b.min,b.max),e.displayBtn&&(d=!0)});var e=a.resetZoomButton;d&&!e?a.showResetZoom():!d&&X(e)&&(a.resetZoomButton=e.destroy());f&&a.redraw(W(a.options.chart.animation,b&&b.animation,100>a.pointCount))};
+a.prototype.pan=function(b,a){var c=this,d=c.hoverPoints;a="object"===typeof a?a:{enabled:a,type:"x"};var f=c.options.chart;f&&f.panning&&(f.panning=a);var e=a.type,h;S(this,"pan",{originalEvent:b},function(){d&&d.forEach(function(b){b.setState()});var a=c.xAxis;"xy"===e?a=a.concat(c.yAxis):"y"===e&&(a=c.yAxis);var f={};a.forEach(function(a){if(a.options.panningEnabled&&!a.options.isInternal){var d=a.horiz,g=b[d?"chartX":"chartY"];d=d?"mouseDownX":"mouseDownY";var k=c[d],n=a.minPointOffset||0,m=a.reversed&&
+!c.inverted||!a.reversed&&c.inverted?-1:1,l=a.getExtremes(),q=a.toValue(k-g,!0)+n*m,G=a.toValue(k+a.len-g,!0)-(n*m||a.isXAxis&&a.pointRangePadding||0),u=G<q;m=a.hasVerticalPanning();k=u?G:q;q=u?q:G;var p=a.panningState;!m||a.isXAxis||p&&!p.isDirty||a.series.forEach(function(b){var a=b.getProcessedData(!0);a=b.getExtremes(a.yData,!0);p||(p={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE});M(a.dataMin)&&M(a.dataMax)&&(p.startMin=Math.min(W(b.options.threshold,Infinity),a.dataMin,p.startMin),p.startMax=
+Math.max(W(b.options.threshold,-Infinity),a.dataMax,p.startMax))});m=Math.min(W(p&&p.startMin,l.dataMin),n?l.min:a.toValue(a.toPixels(l.min)-a.minPixelPadding));G=Math.max(W(p&&p.startMax,l.dataMax),n?l.max:a.toValue(a.toPixels(l.max)+a.minPixelPadding));a.panningState=p;a.isOrdinal||(n=m-k,0<n&&(q+=n,k=m),n=q-G,0<n&&(q=G,k-=n),a.series.length&&k!==l.min&&q!==l.max&&k>=m&&q<=G&&(a.setExtremes(k,q,!1,!1,{trigger:"pan"}),!c.resetZoomButton&&k!==m&&q!==G&&e.match("y")&&(c.showResetZoom(),a.displayBtn=
+!1),h=!0),f[d]=g)}});Z(f,function(b,a){c[a]=b});h&&c.redraw(!1);Q(c.container,{cursor:"move"})})};return a}();K(a.prototype,{callbacks:[],collectionsWithInit:{xAxis:[a.prototype.addAxis,[!0]],yAxis:[a.prototype.addAxis,[!1]],series:[a.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(" ")});"";return a});K(g,"Core/Legend/LegendSymbol.js",[g["Core/Utilities.js"]],function(a){var g=a.extend,x=a.merge,F=a.pick,C;(function(a){a.drawLineMarker=function(a){var t=this.legendItem=this.legendItem||{},r=this.options,l=a.symbolWidth,e=a.symbolHeight,d=e/2,h=this.chart.renderer,m=t.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);var k={},p=r.marker,D=0;this.chart.styledMode||
+(k={"stroke-width":Math.min(r.lineWidth||0,24)},r.dashStyle?k.dashstyle=r.dashStyle:"square"!==r.linecap&&(k["stroke-linecap"]="round"));t.line=h.path().addClass("highcharts-graph").attr(k).add(m);k["stroke-linecap"]&&(D=Math.min(t.line.strokeWidth(),l)/2);t.line.attr({d:[["M",D,a],["L",l-D,a]]});p&&!1!==p.enabled&&l&&(r=Math.min(F(p.radius,d),d),0===this.symbol.indexOf("url")&&(p=x(p,{width:e,height:e}),r=0),t.symbol=t=h.symbol(this.symbol,l/2-r,a-r,2*r,2*r,g({context:"legend"},p)).addClass("highcharts-point").add(m),
+t.isMarker=!0)};a.drawRectangle=function(a,g){g=g.legendItem||{};var r=a.symbolHeight,l=a.options.squareSymbol;g.symbol=this.chart.renderer.rect(l?(a.symbolWidth-r)/2:0,a.baseline-r+1,l?r:a.symbolWidth,r,F(a.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(g.group)}})(C||(C={}));return C});K(g,"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",borderWidth:0,defer:!0,formatter:function(){var a=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":a(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"}});K(g,"Core/Series/Series.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/Point.js"],
+g["Core/Series/SeriesDefaults.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B,H,t,r,l){var e=a.animObject,d=a.setAnimation,h=g.defaultOptions,m=x.registerEventOptions,k=F.hasTouch,p=F.svg,D=F.win,A=t.seriesTypes,E=l.arrayMax,L=l.arrayMin,y=l.clamp,c=l.cleanRecursively,w=l.correctFloat,f=l.defined,n=l.erase,b=l.error,u=l.extend,z=l.find,q=l.fireEvent,N=l.getNestedProperty,J=l.isArray,O=l.isNumber,Q=l.isString,T=l.merge,Y=l.objectEach,
+v=l.pick,U=l.removeEvent,K=l.splat,ca=l.syncTimeout;a=function(){function a(){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}a.prototype.init=function(b,a){q(this,"init",{options:a});var c=this,d=b.series;this.eventsToUnbind=[];c.chart=b;c.options=c.setOptions(a);a=c.options;c.linkedSeries=[];c.bindAxes();u(c,
+{name:a.name,state:"",visible:!1!==a.visible,selected:!0===a.selected});m(this,a);var f=a.events;if(f&&f.click||a.point&&a.point.events&&a.point.events.click||a.allowPointSelect)b.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(b){c[b+"Data"]||(c[b+"Data"]=[])});c.isCartesian&&(b.hasCartesianSeries=!0);var e;d.length&&(e=d[d.length-1]);c._i=v(e&&e._i,-1)+1;c.opacity=c.options.opacity;b.orderSeries(this.insert(d));a.dataSorting&&a.dataSorting.enabled?c.setDataSortingOptions():
+c.points||c.data||c.setData(a.data,!1);q(this,"afterInit")};a.prototype.is=function(b){return A[b]&&this instanceof A[b]};a.prototype.insert=function(b){var a=this.options.index,c;if(O(a)){for(c=b.length;c--;)if(a>=v(b[c].options.index,b[c]._i)){b.splice(c+1,0,this);break}-1===c&&b.unshift(this);c+=1}else b.push(this);return v(c,b.length-1)};a.prototype.bindAxes=function(){var a=this,c=a.options,d=a.chart,f;q(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(e){var h=0;d[e].forEach(function(b){f=
+b.options;if(c[e]===h&&!f.isInternal||"undefined"!==typeof c[e]&&c[e]===f.id||"undefined"===typeof c[e]&&0===f.index)a.insert(b.series),a[e]=b,b.isDirty=!0;f.isInternal||h++});a[e]||a.optionalAxis===e||b(18,!0,d)})});q(this,"afterBindAxes")};a.prototype.updateParallelArrays=function(b,a){var c=b.series,d=arguments,f=O(a)?function(d){var f="y"===d&&c.toYData?c.toYData(b):b[d];c[d+"Data"][a]=f}:function(b){Array.prototype[a].apply(c[b+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(f)};
+a.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length};a.prototype.autoIncrement=function(b){var a=this.options,c=a.pointIntervalUnit,d=a.relativeXValue,f=this.chart.time,e=this.xIncrement,h;e=v(e,a.pointStart,0);this.pointInterval=h=v(this.pointInterval,a.pointInterval,1);d&&O(b)&&(h*=b);c&&(a=new f.Date(e),"day"===c?f.set("Date",a,f.get("Date",a)+h):"month"===c?f.set("Month",a,f.get("Month",
+a)+h):"year"===c&&f.set("FullYear",a,f.get("FullYear",a)+h),h=a.getTime()-e);if(d&&O(b))return e+h;this.xIncrement=e+h;return e};a.prototype.setDataSortingOptions=function(){var b=this.options;u(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});f(b.pointRange)||(b.pointRange=1)};a.prototype.setOptions=function(b){var a=this.chart,c=a.options,d=c.plotOptions,e=a.userOptions||{};b=T(b);a=a.styledMode;var g={plotOptions:d,userOptions:b};q(this,"setOptions",g);var k=g.plotOptions[this.type],
+n=e.plotOptions||{};this.userOptions=g.userOptions;e=T(k,d.series,e.plotOptions&&e.plotOptions[this.type],b);this.tooltipOptions=T(h.tooltip,h.plotOptions.series&&h.plotOptions.series.tooltip,h.plotOptions[this.type].tooltip,c.tooltip.userOptions,d.series&&d.series.tooltip,d[this.type].tooltip,b.tooltip);this.stickyTracking=v(b.stickyTracking,n[this.type]&&n[this.type].stickyTracking,n.series&&n.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:e.stickyTracking);null===k.marker&&
+delete e.marker;this.zoneAxis=e.zoneAxis;d=this.zones=(e.zones||[]).slice();!e.negativeColor&&!e.negativeFillColor||e.zones||(c={value:e[this.zoneAxis+"Threshold"]||e.threshold||0,className:"highcharts-negative"},a||(c.color=e.negativeColor,c.fillColor=e.negativeFillColor),d.push(c));d.length&&f(d[d.length-1].value)&&d.push(a?{}:{color:this.color,fillColor:this.fillColor});q(this,"afterSetOptions",{options:e});return e};a.prototype.getName=function(){return v(this.options.name,"Series "+(this.index+
+1))};a.prototype.getCyclic=function(b,a,c){var d=this.chart,e=this.userOptions,h=b+"Index",g=b+"Counter",k=c?c.length:v(d.options.chart[b+"Count"],d[b+"Count"]);if(!a){var n=v(e[h],e["_"+h]);f(n)||(d.series.length||(d[g]=0),e["_"+h]=n=d[g]%k,d[g]+=1);c&&(a=c[n])}"undefined"!==typeof n&&(this[h]=n);this[b]=a};a.prototype.getColor=function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||h.plotOptions[this.type].color,
+this.chart.options.colors)};a.prototype.getPointsCollection=function(){return(this.hasGroupedData?this.points:this.data)||[]};a.prototype.getSymbol=function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)};a.prototype.findPointIndex=function(b,a){var c=b.id,d=b.x,f=this.points,e=this.options.dataSorting,h,g;if(c)e=this.chart.get(c),e instanceof B&&(h=e);else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)if(h=function(a){return!a.touched&&
+a.index===b.index},e&&e.matchByName?h=function(a){return!a.touched&&a.name===b.name}:this.options.relativeXValue&&(h=function(a){return!a.touched&&a.options.x===b.x}),h=z(f,h),!h)return;if(h){var k=h&&h.index;"undefined"!==typeof k&&(g=!0)}"undefined"===typeof k&&O(d)&&(k=this.xData.indexOf(d,a));-1!==k&&"undefined"!==typeof k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!g&&O(k)&&f[k]&&f[k].touched&&(k=void 0);return k};a.prototype.updateData=function(b,a){var c=this.options,d=c.dataSorting,
+e=this.points,h=[],g=this.requireSorting,k=b.length===e.length,n,m,q,l=!0;this.xIncrement=null;b.forEach(function(b,a){var m=f(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{},l=m.x;if(m.id||O(l)){if(m=this.findPointIndex(m,q),-1===m||"undefined"===typeof m?h.push(b):e[m]&&b!==c.data[m]?(e[m].update(b,!1,null,!1),e[m].touched=!0,g&&(q=m+1)):e[m]&&(e[m].touched=!0),!k||a!==m||d&&d.enabled||this.hasDerivedData)n=!0}else h.push(b)},this);if(n)for(b=e.length;b--;)(m=e[b])&&!m.touched&&
+m.remove&&m.remove(!1,a);else!k||d&&d.enabled?l=!1:(b.forEach(function(b,a){b!==e[a].y&&e[a].update&&e[a].update(b,!1,null,!1)}),h.length=0);e.forEach(function(b){b&&(b.touched=!1)});if(!l)return!1;h.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=E(this.xData),this.autoIncrement());return!0};a.prototype.setData=function(a,c,d,f){void 0===c&&(c=!0);var e=this,h=e.points,g=h&&h.length||0,k=e.options,n=e.chart,m=k.dataSorting,
+l=e.xAxis,q=k.turboThreshold,u=this.xData,p=this.yData,G=e.pointArrayMap;G=G&&G.length;var v=k.keys,w,r=0,z=1,y=null;if(!n.options.chart.allowMutatingData){k.data&&delete e.options.data;e.userOptions.data&&delete e.userOptions.data;var M=T(!0,a)}a=M||a||[];M=a.length;m&&m.enabled&&(a=this.sortData(a));n.options.chart.allowMutatingData&&!1!==f&&M&&g&&!e.cropped&&!e.hasGroupedData&&e.visible&&!e.boosted&&(w=this.updateData(a,d));if(!w){e.xIncrement=null;e.colorCounter=0;this.parallelArrays.forEach(function(b){e[b+
+"Data"].length=0});if(q&&M>q)if(y=e.getFirstValidPoint(a),O(y))for(d=0;d<M;d++)u[d]=this.autoIncrement(),p[d]=a[d];else if(J(y))if(G)if(y.length===G)for(d=0;d<M;d++)u[d]=this.autoIncrement(),p[d]=a[d];else for(d=0;d<M;d++)f=a[d],u[d]=f[0],p[d]=f.slice(1,G+1);else if(v&&(r=v.indexOf("x"),z=v.indexOf("y"),r=0<=r?r:0,z=0<=z?z:1),1===y.length&&(z=0),r===z)for(d=0;d<M;d++)u[d]=this.autoIncrement(),p[d]=a[d][z];else for(d=0;d<M;d++)f=a[d],u[d]=f[r],p[d]=f[z];else b(12,!1,n);else for(d=0;d<M;d++)"undefined"!==
+typeof a[d]&&(f={series:e},e.pointClass.prototype.applyOptions.apply(f,[a[d]]),e.updateParallelArrays(f,d));p&&Q(p[0])&&b(14,!0,n);e.data=[];e.options.data=e.userOptions.data=a;for(d=g;d--;)h[d]&&h[d].destroy&&h[d].destroy();l&&(l.minRange=l.userMinRange);e.isDirty=n.isDirtyBox=!0;e.isDirtyData=!!h;d=!1}"point"===k.legendType&&(this.processData(),this.generatePoints());c&&n.redraw(d)};a.prototype.sortData=function(b){var a=this,c=a.options.dataSorting.sortKey||"y",d=function(b,a){return f(a)&&b.pointClass.prototype.optionsToObject.call({series:b},
+a)||{}};b.forEach(function(c,e){b[e]=d(a,c);b[e].index=e},this);b.concat().sort(function(b,a){b=N(c,b);a=N(c,a);return a<b?-1:a>b?1:0}).forEach(function(b,a){b.x=a},this);a.linkedSeries&&a.linkedSeries.forEach(function(a){var c=a.options,e=c.data;c.dataSorting&&c.dataSorting.enabled||!e||(e.forEach(function(c,f){e[f]=d(a,c);b[f]&&(e[f].x=b[f].x,e[f].index=f)}),a.setData(e,!1))});return b};a.prototype.getProcessedData=function(a){var c=this.xAxis,d=this.options,e=d.cropThreshold,f=a||this.getExtremesFromAll||
+d.getExtremesFromAll,h=this.isCartesian;a=c&&c.val2lin;d=!(!c||!c.logarithmic);var g=0,k=this.xData,n=this.yData,m=this.requireSorting;var l=!1;var q=k.length;if(c){l=c.getExtremes();var u=l.min;var p=l.max;l=!(!c.categories||c.names.length)}if(h&&this.sorted&&!f&&(!e||q>e||this.forceCrop))if(k[q-1]<u||k[0]>p)k=[],n=[];else if(this.yData&&(k[0]<u||k[q-1]>p)){var G=this.cropData(this.xData,this.yData,u,p);k=G.xData;n=G.yData;g=G.start;G=!0}for(e=k.length||1;--e;)if(c=d?a(k[e])-a(k[e-1]):k[e]-k[e-1],
+0<c&&("undefined"===typeof v||c<v))var v=c;else 0>c&&m&&!l&&(b(15,!1,this.chart),m=!1);return{xData:k,yData:n,cropped:G,cropStart:g,closestPointRange:v}};a.prototype.processData=function(b){var a=this.xAxis;if(this.isCartesian&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!b)return!1;b=this.getProcessedData();this.cropped=b.cropped;this.cropStart=b.cropStart;this.processedXData=b.xData;this.processedYData=b.yData;this.closestPointRange=this.basePointRange=b.closestPointRange;q(this,"afterProcessData")};
+a.prototype.cropData=function(b,a,c,d,e){var f=b.length,h,g=0,k=f;e=v(e,this.cropShoulder);for(h=0;h<f;h++)if(b[h]>=c){g=Math.max(0,h-e);break}for(c=h;c<f;c++)if(b[c]>d){k=c+e;break}return{xData:b.slice(g,k),yData:a.slice(g,k),start:g,end:k}};a.prototype.generatePoints=function(){var b=this.options,a=this.processedData||b.data,c=this.processedXData,d=this.processedYData,e=this.pointClass,f=c.length,h=this.cropStart||0,g=this.hasGroupedData,k=b.keys,n=[];b=b.dataGrouping&&b.dataGrouping.groupAll?h:
+0;var m,l,p=this.data;if(!p&&!g){var v=[];v.length=a.length;p=this.data=v}k&&g&&(this.options.keys=!1);for(l=0;l<f;l++){v=h+l;if(g){var r=(new e).init(this,[c[l]].concat(K(d[l])));r.dataGroup=this.groupMap[b+l];r.dataGroup.options&&(r.options=r.dataGroup.options,u(r,r.dataGroup.options),delete r.dataLabels)}else(r=p[v])||"undefined"===typeof a[v]||(p[v]=r=(new e).init(this,a[v],c[l]));r&&(r.index=g?b+l:v,n[l]=r)}this.options.keys=k;if(p&&(f!==(m=p.length)||g))for(l=0;l<m;l++)l!==h||g||(l+=f),p[l]&&
+(p[l].destroyElements(),p[l].plotX=void 0);this.data=p;this.points=n;q(this,"afterGeneratePoints")};a.prototype.getXExtremes=function(b){return{min:L(b),max:E(b)}};a.prototype.getExtremes=function(b,a){var c=this.xAxis,d=this.yAxis,e=this.processedXData||this.xData,f=[],h=this.requireSorting?this.cropShoulder:0;d=d?d.positiveValuesOnly:!1;var g,k=0,n=0,m=0;b=b||this.stackedYData||this.processedYData||[];var l=b.length;if(c){var p=c.getExtremes();k=p.min;n=p.max}for(g=0;g<l;g++){var u=e[g];p=b[g];
+var G=(O(p)||J(p))&&(p.length||0<p||!d);u=a||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!c||(e[g+h]||u)>=k&&(e[g-h]||u)<=n;if(G&&u)if(G=p.length)for(;G--;)O(p[G])&&(f[m++]=p[G]);else f[m++]=p}b={activeYData:f,dataMin:L(f),dataMax:E(f)};q(this,"afterGetExtremes",{dataExtremes:b});return b};a.prototype.applyExtremes=function(){var b=this.getExtremes();this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b};a.prototype.getFirstValidPoint=function(b){for(var a=b.length,c=
+0,d=null;null===d&&c<a;)d=b[c],c++;return d};a.prototype.translate=function(){this.processedXData||this.processData();this.generatePoints();var b=this.options,a=b.stacking,c=this.xAxis,d=c.categories,e=this.enabledDataSorting,h=this.yAxis,g=this.points,k=g.length,n=this.pointPlacementToXValue(),m=!!n,l=b.threshold,p=b.startFromThreshold?l:0,u=this.zoneAxis||"y",r,z,t=Number.MAX_VALUE;for(r=0;r<k;r++){var D=g[r],E=D.x,A=void 0,N=void 0,I=D.y,x=D.low,C=a&&h.stacking&&h.stacking.stacks[(this.negStacks&&
+I<(p?0:l)?"-":"")+this.stackKey];if(h.positiveValuesOnly&&!h.validatePositiveValue(I)||c.positiveValuesOnly&&!c.validatePositiveValue(E))D.isNull=!0;D.plotX=z=w(y(c.translate(E,0,0,0,1,n,"flags"===this.type),-1E5,1E5));if(a&&this.visible&&C&&C[E]){var L=this.getStackIndicator(L,E,this.index);!D.isNull&&L.key&&(A=C[E],N=A.points[L.key]);A&&J(N)&&(x=N[0],I=N[1],x===p&&L.key===C[E].base&&(x=v(O(l)?l:h.min)),h.positiveValuesOnly&&f(x)&&0>=x&&(x=void 0),D.total=D.stackTotal=v(A.total),D.percentage=f(D.y)&&
+A.total?D.y/A.total*100:void 0,D.stackY=I,this.irregularWidths||A.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))}D.yBottom=f(x)?y(h.translate(x,0,1,0,1),-1E5,1E5):void 0;this.dataModify&&(I=this.dataModify.modifyValue(I,r));D.plotY=void 0;O(I)&&(A=h.translate(I,!1,!0,!1,!0),"undefined"!==typeof A&&(D.plotY=y(A,-1E5,1E5)));D.isInside=this.isPointInside(D);D.clientX=m?w(c.translate(E,0,0,0,1,n)):z;D.negative=D[u]<(b[u+"Threshold"]||l||0);D.category=v(d&&d[D.x],D.x);if(!D.isNull&&
+!1!==D.visible){"undefined"!==typeof B&&(t=Math.min(t,Math.abs(z-B)));var B=z}D.zone=this.zones.length?D.getZone():void 0;!D.graphic&&this.group&&e&&(D.isNew=!0)}this.closestPointRangePx=t;q(this,"afterTranslate")};a.prototype.getValidPoints=function(b,a,c){var d=this.chart;return(b||this.points||[]).filter(function(b){return a&&!d.isInsidePlot(b.plotX,b.plotY,{inverted:d.inverted})?!1:!1!==b.visible&&(c||!b.isNull)})};a.prototype.getClipBox=function(){var b=this.chart,a=this.xAxis,c=this.yAxis,d=
+T(b.clipBox);a&&a.len!==b.plotSizeX&&(d.width=a.len);c&&c.len!==b.plotSizeY&&(d.height=c.len);return d};a.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)};a.prototype.setClip=function(){var b=this.chart,a=this.group,c=this.markerGroup,d=b.sharedClips;b=b.renderer;var e=this.getClipBox(),f=this.getSharedClipKey(),h=d[f];h?h.animate(e):d[f]=h=b.clipRect(e);a&&a.clip(!1===this.options.clip?void 0:h);c&&c.clip()};a.prototype.animate=
+function(b){var a=this.chart,c=this.group,d=this.markerGroup,f=a.inverted,h=e(this.options.animation),g=[this.getSharedClipKey(),h.duration,h.easing,h.defer].join(),k=a.sharedClips[g],n=a.sharedClips[g+"m"];if(b&&c)h=this.getClipBox(),k?k.attr("height",h.height):(h.width=0,f&&(h.x=a.plotHeight),k=a.renderer.clipRect(h),a.sharedClips[g]=k,n=a.renderer.clipRect({x:-99,y:-99,width:f?a.plotWidth+199:99,height:f?99:a.plotHeight+199}),a.sharedClips[g+"m"]=n),c.clip(k),d&&d.clip(n);else if(k&&!k.hasClass("highcharts-animating")){a=
+this.getClipBox();var m=h.step;d&&d.element.childNodes.length&&(h.step=function(b,a){m&&m.apply(a,arguments);"width"===a.prop&&n&&n.element&&n.attr(f?"height":"width",b+99)});k.addClass("highcharts-animating").animate(a,h)}};a.prototype.afterAnimate=function(){var b=this;this.setClip();Y(this.chart.sharedClips,function(a,c,d){a&&!b.chart.container.querySelector('[clip-path="url(#'.concat(a.id,')"]'))&&(a.destroy(),delete d[c])});this.finishedAnimating=!0;q(this,"afterAnimate")};a.prototype.drawPoints=
+function(b){void 0===b&&(b=this.points);var a=this.chart,c=a.styledMode,d=this.colorAxis,e=this.options.marker,f=this[this.specialGroup||"markerGroup"],h=this.xAxis,g=v(e.enabled,!h||h.isRadial?!0:null,this.closestPointRangePx>=e.enabledThreshold*e.radius),k,n;if(!1!==e.enabled||this._hasPointMarkers)for(k=0;k<b.length;k++){var m=b[k];var l=(n=m.graphic)?"animate":"attr";var q=m.marker||{};var p=!!m.marker;if((g&&"undefined"===typeof q.enabled||q.enabled)&&!m.isNull&&!1!==m.visible){var u=v(q.symbol,
+this.symbol,"rect");var G=this.markerAttribs(m,m.selected&&"select");this.enabledDataSorting&&(m.startXPos=h.reversed?-(G.width||0):h.width);var r=!1!==m.isInside;!n&&r&&(0<(G.width||0)||m.hasImage)&&(m.graphic=n=a.renderer.symbol(u,G.x,G.y,G.width,G.height,p?q:e).add(f),this.enabledDataSorting&&a.hasRendered&&(n.attr({x:m.startXPos}),l="animate"));n&&"animate"===l&&n[r?"show":"hide"](r).animate(G);if(n)if(q=this.pointAttribs(m,c||!m.selected?void 0:"select"),c)d&&n.css({fill:q.fill});else n[l](q);
+n&&n.addClass(m.getClassName(),!0)}else n&&(m.graphic=n.destroy())}};a.prototype.markerAttribs=function(b,a){var c=this.options,d=c.marker,e=b.marker||{},f=e.symbol||d.symbol,h={},g=v(e.radius,d&&d.radius);a&&(d=d.states[a],a=e.states&&e.states[a],g=v(a&&a.radius,d&&d.radius,g&&g+(d&&d.radiusPlus||0)));b.hasImage=f&&0===f.indexOf("url");b.hasImage&&(g=0);b=b.pos();O(g)&&b&&(h.x=b[0]-g,h.y=b[1]-g,c.crisp&&(h.x=Math.floor(h.x)));g&&(h.width=h.height=2*g);return h};a.prototype.pointAttribs=function(b,
+a){var c=this.options.marker,d=b&&b.options,e=d&&d.marker||{},f=d&&d.color,h=b&&b.color,g=b&&b.zone&&b.zone.color,k=this.color;b=v(e.lineWidth,c.lineWidth);d=1;k=f||g||h||k;f=e.fillColor||c.fillColor||k;h=e.lineColor||c.lineColor||k;a=a||"normal";c=c.states[a]||{};a=e.states&&e.states[a]||{};b=v(a.lineWidth,c.lineWidth,b+v(a.lineWidthPlus,c.lineWidthPlus,0));f=a.fillColor||c.fillColor||f;h=a.lineColor||c.lineColor||h;d=v(a.opacity,c.opacity,d);return{stroke:h,"stroke-width":b,fill:f,opacity:d}};a.prototype.destroy=
+function(b){var a=this,c=a.chart,d=/AppleWebKit\/533/.test(D.navigator.userAgent),e=a.data||[],f,h,g,k;q(a,"destroy",{keepEventsForUpdate:b});this.removeEvents(b);(a.axisTypes||[]).forEach(function(b){(k=a[b])&&k.series&&(n(k.series,a),k.isDirty=k.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(h=e.length;h--;)(g=e[h])&&g.destroy&&g.destroy();a.clips&&a.clips.forEach(function(b){return b.destroy()});l.clearTimeout(a.animationTimeout);Y(a,function(b,a){b instanceof r&&!b.survive&&
+(f=d&&"group"===a?"hide":"destroy",b[f]())});c.hoverSeries===a&&(c.hoverSeries=void 0);n(c.series,a);c.orderSeries();Y(a,function(c,d){b&&"hcEvents"===d||delete a[d]})};a.prototype.applyZones=function(){var b=this,a=this.chart,c=a.renderer,d=this.zones,e=this.clips||[],f=this.graph,h=this.area,g=Math.max(a.plotWidth,a.plotHeight),k=this[(this.zoneAxis||"y")+"Axis"],n=a.inverted,m,l,q,p,u,r,z,w,t=!1;if(d.length&&(f||h)&&k&&"undefined"!==typeof k.min){var D=k.reversed;var E=k.horiz;f&&!this.showLine&&
+f.hide();h&&h.hide();var A=k.getExtremes();d.forEach(function(d,G){m=D?E?a.plotWidth:0:E?0:k.toPixels(A.min)||0;m=y(v(l,m),0,g);l=y(Math.round(k.toPixels(v(d.value,A.max),!0)||0),0,g);t&&(m=l=k.toPixels(A.max));p=Math.abs(m-l);u=Math.min(m,l);r=Math.max(m,l);k.isXAxis?(q={x:n?r:u,y:0,width:p,height:g},E||(q.x=a.plotHeight-q.x)):(q={x:0,y:n?r:u,width:g,height:p},E&&(q.y=a.plotWidth-q.y));n&&c.isVML&&(q=k.isXAxis?{x:0,y:D?u:r,height:q.width,width:a.chartWidth}:{x:q.y-a.plotLeft-a.spacingBox.x,y:0,width:q.height,
+height:a.chartHeight});e[G]?e[G].animate(q):e[G]=c.clipRect(q);z=b["zone-area-"+G];w=b["zone-graph-"+G];f&&w&&w.clip(e[G]);h&&z&&z.clip(e[G]);t=d.value>A.max;b.resetZones&&0===l&&(l=void 0)});this.clips=e}else b.visible&&(f&&f.show(),h&&h.show())};a.prototype.plotGroup=function(b,a,c,d,e){var h=this[b],g=!h;c={visibility:c,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(c.opacity=this.opacity);g&&(this[b]=h=this.chart.renderer.g().add(e));h.addClass("highcharts-"+
+a+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(f(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(h.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);h.attr(c)[g?"attr":"animate"](this.getPlotBox(a));return h};a.prototype.getPlotBox=function(b){var a=this.xAxis,c=this.yAxis,d=this.chart;b=d.inverted&&!d.polar&&a&&!1!==this.invertible&&"series"===b;d.inverted&&(a=c,c=this.xAxis);return{translateX:a?a.left:d.plotLeft,translateY:c?
+c.top:d.plotTop,rotation:b?90:0,rotationOriginX:b?(a.len-c.len)/2:0,rotationOriginY:b?(a.len+c.len)/2:0,scaleX:b?-1:1,scaleY:1}};a.prototype.removeEvents=function(b){b||U(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length=0)};a.prototype.render=function(){var b=this,a=b.chart,c=b.options,d=e(c.animation),f=b.visible?"inherit":"hidden",h=c.zIndex,g=b.hasRendered,k=a.seriesGroup;a=!b.finishedAnimating&&a.renderer.isSVG?d.duration:0;q(this,"render");
+b.plotGroup("group","series",f,h,k);b.markerGroup=b.plotGroup("markerGroup","markers",f,h,k);!1!==c.clip&&b.setClip();b.animate&&a&&b.animate(!0);b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&&b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&&!1!==b.options.enableMouseTracking&&b.drawTracker();b.animate&&a&&b.animate();g||(a&&d.defer&&(a+=d.defer),b.animationTimeout=ca(function(){b.afterAnimate()},a||0));b.isDirty=!1;b.hasRendered=!0;q(b,"afterRender")};
+a.prototype.redraw=function(){var b=this.isDirty||this.isDirtyData;this.translate();this.render();b&&delete this.kdTree};a.prototype.searchPoint=function(b,a){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-b.chartY+c.pos:b.chartX-c.pos,plotY:e?d.len-b.chartX+d.pos:b.chartY-d.pos},a,b)};a.prototype.buildKDTree=function(b){function a(b,d,e){var f=b&&b.length;if(f){var h=c.kdAxisArray[d%e];b.sort(function(b,a){return b[h]-a[h]});f=Math.floor(f/2);return{point:b[f],
+left:a(b.slice(0,f),d+1,e),right:a(b.slice(f+1),d+1,e)}}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;ca(function(){c.kdTree=a(c.getValidPoints(null,!c.directTouch),d,d);c.buildingKdTree=!1},c.options.kdNow||b&&"touchstart"===b.type?0:1)};a.prototype.searchKDTree=function(b,a,c){function d(b,a,c,n){var m=a.point,l=e.kdAxisArray[c%n],q=m,p=f(b[h])&&f(m[h])?Math.pow(b[h]-m[h],2):null;var u=f(b[g])&&f(m[g])?Math.pow(b[g]-m[g],2):null;u=(p||0)+(u||
+0);m.dist=f(u)?Math.sqrt(u):Number.MAX_VALUE;m.distX=f(p)?Math.sqrt(p):Number.MAX_VALUE;l=b[l]-m[l];u=0>l?"left":"right";p=0>l?"right":"left";a[u]&&(u=d(b,a[u],c+1,n),q=u[k]<q[k]?u:m);a[p]&&Math.sqrt(l*l)<q[k]&&(b=d(b,a[p],c+1,n),q=b[k]<q[k]?b:q);return q}var e=this,h=this.kdAxisArray[0],g=this.kdAxisArray[1],k=a?"distX":"dist";a=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(b,this.kdTree,a,a)};a.prototype.pointPlacementToXValue=
+function(){var b=this.options,a=b.pointRange,c=this.xAxis;b=b.pointPlacement;"between"===b&&(b=c.reversed?-.5:.5);return O(b)?b*(a||c.pointRange):0};a.prototype.isPointInside=function(b){var a=this.chart,c=this.xAxis,d=this.yAxis;return"undefined"!==typeof b.plotY&&"undefined"!==typeof b.plotX&&0<=b.plotY&&b.plotY<=(d?d.len:a.plotHeight)&&0<=b.plotX&&b.plotX<=(c?c.len:a.plotWidth)};a.prototype.drawTracker=function(){var b=this,a=b.options,c=a.trackByArea,d=[].concat(c?b.areaPath:b.graphPath),e=b.chart,
+f=e.pointer,h=e.renderer,g=e.options.tooltip.snap,n=b.tracker,m=function(a){if(e.hoverSeries!==b)b.onMouseOver()},l="rgba(192,192,192,"+(p?.0001:.002)+")";n?n.attr({d:d}):b.graph&&(b.tracker=h.path(d).attr({visibility:b.visible?"inherit":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(b.group),e.styledMode||b.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:c?l:"none","stroke-width":b.graph.strokeWidth()+(c?0:2*g)}),[b.tracker,
+b.markerGroup,b.dataLabelsGroup].forEach(function(b){if(b&&(b.addClass("highcharts-tracker").on("mouseover",m).on("mouseout",function(b){f.onTrackerMouseOut(b)}),a.cursor&&!e.styledMode&&b.css({cursor:a.cursor}),k))b.on("touchstart",m)}));q(this,"afterDrawTracker")};a.prototype.addPoint=function(b,a,c,d,e){var f=this.options,h=this.data,g=this.chart,k=this.xAxis;k=k&&k.hasNames&&k.names;var n=f.data,m=this.xData,l;a=v(a,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[b]);var u=
+p.x;var r=m.length;if(this.requireSorting&&u<m[r-1])for(l=!0;r&&m[r-1]>u;)r--;this.updateParallelArrays(p,"splice",r,0,0);this.updateParallelArrays(p,r);k&&p.name&&(k[u]=p.name);n.splice(r,0,b);if(l||this.processedData)this.data.splice(r,0,null),this.processData();"point"===f.legendType&&this.generatePoints();c&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(p,"shift"),n.shift()));!1!==e&&q(this,"addPoint",{point:p});this.isDirtyData=this.isDirty=!0;a&&g.redraw(d)};a.prototype.removePoint=
+function(b,a,c){var e=this,f=e.data,h=f[b],g=e.points,k=e.chart,n=function(){g&&g.length===f.length&&g.splice(b,1);f.splice(b,1);e.options.data.splice(b,1);e.updateParallelArrays(h||{series:e},"splice",b,1);h&&h.destroy();e.isDirty=!0;e.isDirtyData=!0;a&&k.redraw()};d(c,k);a=v(a,!0);h?h.firePointEvent("remove",null,n):n()};a.prototype.remove=function(b,a,c,d){function e(){f.destroy(d);h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries();v(b,!0)&&h.redraw(a)}var f=this,h=f.chart;!1!==c?q(f,"remove",null,
+e):e()};a.prototype.update=function(a,d){a=c(a,this.userOptions);q(this,"update",{options:a});var e=this,f=e.chart,h=e.userOptions,g=e.initialType||e.type,k=f.options.plotOptions,n=A[g].prototype,m=e.finishedAnimating&&{animation:!1},l={},p=["eventOptions","navigatorSeries","baseSeries"],r=a.type||h.type||f.options.chart.type,z=!(this.hasDerivedData||r&&r!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||
+e.hasOptionChanged("dataGrouping")||e.hasOptionChanged("pointStart")||e.hasOptionChanged("pointInterval")||e.hasOptionChanged("pointIntervalUnit")||e.hasOptionChanged("keys"));r=r||g;z&&(p.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&p.push("area","graph"),e.parallelArrays.forEach(function(b){p.push(b+"Data")}),
+a.data&&(a.dataSorting&&u(e.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=T(h,m,{index:"undefined"===typeof h.index?e.index:h.index,pointStart:v(k&&k.series&&k.series.pointStart,h.pointStart,e.xData[0])},!z&&{data:e.options.data},a);z&&a.data&&(a.data=e.options.data);p=["group","markerGroup","dataLabelsGroup","transformGroup","shadowGroup"].concat(p);p.forEach(function(b){p[b]=e[b];delete e[b]});k=!1;if(A[r]){if(k=r!==e.type,e.remove(!1,!1,!1,!0),k)if(Object.setPrototypeOf)Object.setPrototypeOf(e,
+A[r].prototype);else{m=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(w in n)e[w]=void 0;u(e,A[r].prototype);m?e.hcEvents=m:delete e.hcEvents}}else b(17,!0,f,{missingModuleFor:r});p.forEach(function(b){e[b]=p[b]});e.init(f,a);if(z&&this.points){a=e.options;if(!1===a.visible)l.graphic=1,l.dataLabel=1;else if(!e._hasPointLabels){n=a.marker;var w=a.dataLabels;h=h.marker||{};!n||!1!==n.enabled&&h.symbol===n.symbol&&h.height===n.height&&h.width===n.width||(l.graphic=1);w&&!1===w.enabled&&(l.dataLabel=
+1)}h=0;for(n=this.points;h<n.length;h++)(w=n[h])&&w.series&&(w.resolveColor(),Object.keys(l).length&&w.destroyElements(l),!1===a.showInLegend&&w.legendItem&&f.legend.destroyItem(w))}e.initialType=g;f.linkSeries();k&&e.linkedSeries.length&&(e.isDirtyData=!0);q(this,"afterUpdate");v(d,!0)&&f.redraw(z?void 0:!1)};a.prototype.setName=function(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0};a.prototype.hasOptionChanged=function(b){var a=this.options[b],c=this.chart.options.plotOptions,
+d=this.userOptions[b];return d?a!==d:a!==v(c&&c[this.type]&&c[this.type][b],c&&c.series&&c.series[b],a)};a.prototype.onMouseOver=function(){var b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex();if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&q(this,"mouseOver");this.setState("hover");b.hoverSeries=this};a.prototype.onMouseOut=function(){var b=this.options,a=this.chart,c=a.tooltip,d=a.hoverPoint;a.hoverSeries=null;if(d)d.onMouseOut();this&&b.events.mouseOut&&q(this,"mouseOut");
+!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();a.series.forEach(function(b){b.setState("",!0)})};a.prototype.setState=function(b,a){var c=this,d=c.options,e=c.graph,f=d.inactiveOtherPoints,h=d.states,g=v(h[b||"normal"]&&h[b||"normal"].animation,c.chart.options.chart.animation),k=d.lineWidth,n=0,m=d.opacity;b=b||"";if(c.state!==b&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(a){a&&(c.state&&a.removeClass("highcharts-series-"+c.state),b&&a.addClass("highcharts-series-"+
+b))}),c.state=b,!c.chart.styledMode)){if(h[b]&&!1===h[b].enabled)return;b&&(k=h[b].lineWidth||k+(h[b].lineWidthPlus||0),m=v(h[b].opacity,m));if(e&&!e.dashstyle&&O(k))for(d={"stroke-width":k},e.animate(d,g);c["zone-graph-"+n];)c["zone-graph-"+n].animate(d,g),n+=1;f||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(b){b&&b.animate({opacity:m},g)})}a&&f&&c.points&&c.setAllPointsToState(b||void 0)};a.prototype.setAllPointsToState=function(b){this.points.forEach(function(a){a.setState&&
+a.setState(b)})};a.prototype.setVisible=function(b,a){var c=this,d=c.chart,e=d.options.chart.ignoreHiddenSeries,f=c.visible,h=(c.visible=b=c.options.visible=c.userOptions.visible="undefined"===typeof b?!f:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(c[b])c[b][h]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();c.legendItem&&d.legend.colorizeItem(c,b);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(b){b.options.stacking&&
+b.visible&&(b.isDirty=!0)});c.linkedSeries.forEach(function(a){a.setVisible(b,!1)});e&&(d.isDirtyBox=!0);q(c,h);!1!==a&&d.redraw()};a.prototype.show=function(){this.setVisible(!0)};a.prototype.hide=function(){this.setVisible(!1)};a.prototype.select=function(b){this.selected=b=this.options.selected="undefined"===typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);q(this,b?"select":"unselect")};a.prototype.shouldShowTooltip=function(b,a,c){void 0===c&&(c={});c.series=this;c.visiblePlotOnly=
+!0;return this.chart.isInsidePlot(b,a,c)};a.defaultOptions=H;a.types=t.seriesTypes;a.registerType=t.registerSeriesType;return a}();u(a.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:C.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:B,requireSorting:!0,sorted:!0});t.series=a;"";"";return a});K(g,"Extensions/ScrollablePlotArea.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/Axis.js"],
+g["Core/Chart/Chart.js"],g["Core/Series/Series.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B){var A=a.stop,t=B.addEvent,r=B.createElement,l=B.defined,e=B.merge,d=B.pick;t(x,"afterSetChartSize",function(a){var d=this.options.chart.scrollablePlotArea,h=d&&d.minWidth;d=d&&d.minHeight;if(!this.renderer.forExport){if(h){if(this.scrollablePixelsX=h=Math.max(0,h-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox);this.plotBox.width=
+this.plotWidth+=h;this.inverted?this.clipBox.height+=h:this.clipBox.width+=h;var p={1:{name:"right",value:h}}}}else d&&(this.scrollablePixelsY=h=Math.max(0,d-this.chartHeight),l(h)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox),this.plotBox.height=this.plotHeight+=h,this.inverted?this.clipBox.width+=h:this.clipBox.height+=h,p={2:{name:"bottom",value:h}}));p&&!a.skipAxes&&this.axes.forEach(function(a){p[a.side]?a.getPlotLinePath=function(){var d=p[a.side].name,e=this[d];this[d]=
+e-p[a.side].value;var h=g.prototype.getPlotLinePath.apply(this,arguments);this[d]=e;return h}:(a.setAxisSize(),a.setAxisTranslation())})}});t(x,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});x.prototype.setUpScrolling=function(){var a=this,d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(d.overflowX="auto");this.scrollablePixelsY&&
+(d.overflowY="auto");this.scrollingParent=r("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=r("div",{className:"highcharts-scrolling"},d,this.scrollingParent);var e;t(this.scrollingContainer,"scroll",function(){a.pointer&&(delete a.pointer.chartPosition,a.hoverPoint&&(e=a.hoverPoint),a.pointer.runPointActions(void 0,e,!0))});this.innerContainer=r("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);
+this.setUpScrolling=null};x.prototype.moveFixedElements=function(){var a=this.container,d=this.fixedRenderer,e=".highcharts-breadcrumbs-group .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(" "),g;this.scrollablePixelsX&&!this.inverted?
+g=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?g=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?g=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(g=".highcharts-yaxis");g&&e.push(""+g+":not(.highcharts-radial-axis)",""+g+"-labels:not(.highcharts-radial-axis-labels)");e.forEach(function(e){[].forEach.call(a.querySelectorAll(e),function(a){(a.namespaceURI===d.SVG_NS?d.box:d.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};x.prototype.applyFixed=function(){var a=
+!this.fixedDiv,e=this.options.chart,g=e.scrollablePlotArea,l=C.getRendererType();a?(this.fixedDiv=r("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 l(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),
+this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":d(g.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),t(this,"afterShowResetZoom",this.moveFixedElements),t(this,"afterApplyDrilldown",this.moveFixedElements),t(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||a)this.scrollableDirty=!1,this.moveFixedElements();e=this.chartWidth+(this.scrollablePixelsX||
+0);l=this.chartHeight+(this.scrollablePixelsY||0);A(this.container);this.container.style.width=e+"px";this.container.style.height=l+"px";this.renderer.boxWrapper.attr({width:e,height:l,viewBox:[0,0,e,l].join(" ")});this.chartBackground.attr({width:e,height:l});this.scrollingContainer.style.height=this.chartHeight+"px";a&&(g.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*g.scrollPositionX),g.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*g.scrollPositionY));
+l=this.axisOffset;a=this.plotTop-l[0]-1;g=this.plotLeft-l[3]-1;e=this.plotTop+this.plotHeight+l[2]+1;l=this.plotLeft+this.plotWidth+l[1]+1;var D=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),x=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);a=this.scrollablePixelsX?[["M",0,a],["L",this.plotLeft-1,a],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",D,a],["L",this.chartWidth,a],["L",this.chartWidth,e],["L",D,e],["Z"]]:this.scrollablePixelsY?[["M",g,0],["L",g,this.plotTop-1],["L",l,this.plotTop-
+1],["L",l,0],["Z"],["M",g,x],["L",g,this.chartHeight],["L",l,this.chartHeight],["L",l,x],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:a})};t(g,"afterInit",function(){this.chart.scrollableDirty=!0});t(F,"show",function(){this.chart.scrollableDirty=!0});""});K(g,"Core/Axis/Stacking/StackItem.js",[g["Core/FormatUtilities.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var A=a.format,C=g.series,B=x.destroyObjectProperties,H=x.pick,
+t=x.isNumber;a=function(){function a(a,e,d,h,g){var k=a.chart.inverted,m=a.reversed;this.axis=a;a=this.isNegative=!!d!==!!m;this.options=e=e||{};this.x=h;this.cumulative=this.total=null;this.points={};this.hasValidPoints=!1;this.stack=g;this.rightCliff=this.leftCliff=0;this.alignOptions={align:e.align||(k?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(k?"middle":a?"bottom":"top"),y:e.y,x:e.x};this.textAlign=e.textAlign||(k?a?"right":"left":"center")}a.prototype.destroy=function(){B(this,
+this.axis)};a.prototype.render=function(a){var e=this.axis.chart,d=this.options,h=d.format;h=h?A(h,this,e):d.formatter.call(this);this.label?this.label.attr({text:h,visibility:"hidden"}):(this.label=e.renderer.label(h,null,void 0,d.shape,void 0,void 0,d.useHTML,!1,"stack-labels"),h={r:d.borderRadius||0,text:h,padding:H(d.padding,5),visibility:"hidden"},e.styledMode||(h.fill=d.backgroundColor,h.stroke=d.borderColor,h["stroke-width"]=d.borderWidth,this.label.css(d.style||{})),this.label.attr(h),this.label.added||
+this.label.add(a));this.label.labelrank=e.plotSizeY};a.prototype.setOffset=function(a,e,d,h,g,k){var m=this.alignOptions,l=this.axis,r=this.label,E=this.options,A=this.textAlign,y=l.chart;a=this.getStackBox({xOffset:a,width:e,boxBottom:d,boxTop:h,defaultX:g,xAxis:k});g=m.verticalAlign;r&&a&&(e=r.getBBox(),d=r.padding,h="justify"===H(E.overflow,"justify"),m.x=E.x||0,m.y=E.y||0,g=this.adjustStackPosition({labelBox:e,verticalAlign:g,textAlign:A}),A=g.x,g=g.y,a.x-=A,a.y-=g,r.align(m,!1,a),(A=y.isInsidePlot(r.alignAttr.x+
+m.x+A,r.alignAttr.y+m.y+g))||(h=!1),h&&C.prototype.justifyDataLabel.call(l,r,m,r.alignAttr,e,a),r.attr({x:r.alignAttr.x,y:r.alignAttr.y,rotation:E.rotation,rotationOriginX:e.width/2,rotationOriginY:e.height/2}),H(!h&&E.crop,!0)&&(A=t(r.x)&&t(r.y)&&y.isInsidePlot(r.x-d+r.width,r.y)&&y.isInsidePlot(r.x+d,r.y)),r[A?"show":"hide"]())};a.prototype.adjustStackPosition=function(a){var e=a.labelBox,d={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:e.width/2+e.width/2*d[a.textAlign],y:e.height/
+2*d[a.verticalAlign]}};a.prototype.getStackBox=function(a){var e=this.axis,d=e.chart,h=a.boxTop,g=a.defaultX,k=a.xOffset,l=a.width,r=a.boxBottom;h=e.stacking.usePercentage?100:H(h,this.total,0);h=e.toPixels(h);a=H(g,(a.xAxis||d.xAxis[0]).toPixels(this.x))+k;e=e.toPixels(r?r:0);e=Math.abs(h-e);r=this.isNegative;return d.inverted?{x:(r?h:h-e)-d.plotLeft,y:a-d.plotTop,width:e,height:l}:{x:a-d.plotLeft,y:(r?h-e:h)-d.plotTop,width:l,height:e}};return a}();"";return a});K(g,"Core/Axis/Stacking/StackingAxis.js",
+[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/Axis.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Axis/Stacking/StackItem.js"],g["Core/Utilities.js"]],function(a,g,x,F,C){function A(){var b=this,a=b.inverted;b.yAxis.forEach(function(b){b.stacking&&b.stacking.stacks&&b.hasVisibleSeries&&(b.stacking.oldStacks=b.stacking.stacks)});b.series.forEach(function(c){var d=c.xAxis&&c.xAxis.options||{};!c.options.stacking||!0!==c.visible&&!1!==b.options.chart.ignoreHiddenSeries||(c.stackKey=[c.type,
+f(c.options.stack,""),a?d.top:d.left,a?d.height:d.width].join())})}function H(){var b=this.stacking;if(b){var a=b.stacks;w(a,function(b,c){E(b);a[c]=null});b&&b.stackTotalGroup&&b.stackTotalGroup.destroy()}}function t(){"yAxis"!==this.coll||this.stacking||(this.stacking=new n(this))}function r(b,a,c,d){!I(b)||b.x!==a||d&&b.stackKey!==d?b={x:a,index:0,key:d,stackKey:d}:b.index++;b.key=[c,a,b.index].join();return b}function l(){var b=this,a=b.stackKey,c=b.yAxis.stacking.stacks,d=b.processedXData,e=
+b[b.options.stacking+"Stacker"],f;e&&[a,"-"+a].forEach(function(a){for(var h=d.length,g,k;h--;)g=d[h],f=b.getStackIndicator(f,g,b.index,a),(k=(g=c[a]&&c[a][g])&&g.points[f.key])&&e.call(b,k,g,h)})}function e(b,a,c){a=a.total?100/a.total:0;b[0]=D(b[0]*a);b[1]=D(b[1]*a);this.stackedYData[c]=b[1]}function d(){var b=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length?k.setStackedPoints.call(this,"group"):b&&
+w(b.stacks,function(a,c){"group"===c.slice(-5)&&(w(a,function(b){return b.destroy()}),delete b.stacks[c])})}function h(b){var a=this.chart,c=b||this.options.stacking;if(c&&(!0===this.visible||!1===a.options.chart.ignoreHiddenSeries)){var d=this.processedXData,e=this.processedYData,h=[],g=e.length,k=this.options,n=k.threshold,m=f(k.startFromThreshold&&n,0);k=k.stack;b=b?""+this.type+",".concat(c):this.stackKey;var l="-"+b,p=this.negStacks;a="group"===c?a.yAxis[0]:this.yAxis;var u=a.stacking.stacks,
+r=a.stacking.oldStacks,w,t;a.stacking.stacksTouched+=1;for(t=0;t<g;t++){var E=d[t];var A=e[t];var x=this.getStackIndicator(x,E,this.index);var C=x.key;var B=(w=p&&A<(m?0:n))?l:b;u[B]||(u[B]={});u[B][E]||(r[B]&&r[B][E]?(u[B][E]=r[B][E],u[B][E].total=null):u[B][E]=new F(a,a.options.stackLabels,!!w,E,k));B=u[B][E];null!==A?(B.points[C]=B.points[this.index]=[f(B.cumulative,m)],I(B.cumulative)||(B.base=C),B.touched=a.stacking.stacksTouched,0<x.index&&!1===this.singleStacks&&(B.points[C][0]=B.points[this.index+
+","+E+",0"][0])):B.points[C]=B.points[this.index]=null;"percent"===c?(w=w?b:l,p&&u[w]&&u[w][E]?(w=u[w][E],B.total=w.total=Math.max(w.total,B.total)+Math.abs(A)||0):B.total=D(B.total+(Math.abs(A)||0))):"group"===c?(y(A)&&(A=A[0]),null!==A&&(B.total=(B.total||0)+1)):B.total=D(B.total+(A||0));B.cumulative="group"===c?(B.total||1)-1:f(B.cumulative,m)+(A||0);null!==A&&(B.points[C].push(B.cumulative),h[t]=B.cumulative,B.hasValidPoints=!0)}"percent"===c&&(a.stacking.usePercentage=!0);"group"!==c&&(this.stackedYData=
+h);a.stacking.oldStacks={}}}var m=a.getDeferredAnimation,k=x.series.prototype,p=C.addEvent,D=C.correctFloat,I=C.defined,E=C.destroyObjectProperties,L=C.fireEvent,y=C.isArray,c=C.isNumber,w=C.objectEach,f=C.pick,n=function(){function b(b){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=b}b.prototype.buildStacks=function(){var b=this.axis,a=b.series,c=b.options.reversedStacks,d=a.length,e;this.usePercentage=!1;for(e=d;e--;){var f=a[c?e:d-e-1];f.setStackedPoints();f.setGroupedPoints()}for(e=
+0;e<d;e++)a[e].modifyStacks();L(b,"afterBuildStacks")};b.prototype.cleanStacks=function(){if(this.oldStacks)var b=this.stacks=this.oldStacks;w(b,function(b){w(b,function(b){b.cumulative=b.total})})};b.prototype.resetStacks=function(){var b=this;w(this.stacks,function(a){w(a,function(d,e){c(d.touched)&&d.touched<b.stacksTouched?(d.destroy(),delete a[e]):(d.total=null,d.cumulative=null)})})};b.prototype.renderStackTotals=function(){var b=this.axis,a=b.chart,c=a.renderer,d=this.stacks;b=m(a,b.options.stackLabels&&
+b.options.stackLabels.animation||!1);var e=this.stackTotalGroup=this.stackTotalGroup||c.g("stack-labels").attr({zIndex:6,opacity:0}).add();e.translate(a.plotLeft,a.plotTop);w(d,function(b){w(b,function(b){b.render(e)})});e.animate({opacity:1},b)};return b}(),b;(function(b){var a=[];b.compose=function(b,c,f){-1===a.indexOf(b)&&(a.push(b),p(b,"init",t),p(b,"destroy",H));-1===a.indexOf(c)&&(a.push(c),c.prototype.getStacks=A);-1===a.indexOf(f)&&(a.push(f),b=f.prototype,b.getStackIndicator=r,b.modifyStacks=
+l,b.percentStacker=e,b.setGroupedPoints=d,b.setStackedPoints=h)}})(b||(b={}));return b});K(g,"Series/Line/LineSeries.js",[g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var A=this&&this.__extends||function(){var a=function(g,r){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var d in e)e.hasOwnProperty(d)&&(a[d]=e[d])};return a(g,r)};return function(g,r){function l(){this.constructor=g}
+a(g,r);g.prototype=null===r?Object.create(r):(l.prototype=r.prototype,new l)}}(),C=x.defined,B=x.merge;x=function(g){function t(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}A(t,g);t.prototype.drawGraph=function(){var a=this,g=this.options,e=(this.gappedPath||this.getGraphPath).call(this),d=this.chart.styledMode,h=[["graph","highcharts-graph"]];d||h[0].push(g.lineColor||this.color||"#cccccc",g.dashStyle);h=a.getZonesGraphs(h);h.forEach(function(h,
+k){var m=h[0],l=a[m],r=l?"animate":"attr";l?(l.endX=a.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(a[m]=l=a.chart.renderer.path(e).addClass(h[1]).attr({zIndex:1}).add(a.group));l&&!d&&(m={stroke:h[2],"stroke-width":g.lineWidth||0,fill:a.fillGraph&&a.color||"none"},h[3]?m.dashstyle=h[3]:"square"!==g.linecap&&(m["stroke-linecap"]=m["stroke-linejoin"]="round"),l[r](m).shadow(2>k&&g.shadow));l&&(l.startX=e.xMap,l.isArea=e.isArea)})};t.prototype.getGraphPath=function(a,g,e){var d=this,
+h=d.options,m=[],k=[],l,r=h.step;a=a||d.points;var t=a.reversed;t&&a.reverse();(r={right:1,center:2}[r]||r&&3)&&t&&(r=4-r);a=this.getValidPoints(a,!1,!(h.connectNulls&&!g&&!e));a.forEach(function(p,t){var y=p.plotX,c=p.plotY,w=a[t-1];(p.leftCliff||w&&w.rightCliff)&&!e&&(l=!0);p.isNull&&!C(g)&&0<t?l=!h.connectNulls:p.isNull&&!g?l=!0:(0===t||l?t=[["M",p.plotX,p.plotY]]:d.getPointSpline?t=[d.getPointSpline(a,p,t)]:r?(t=1===r?[["L",w.plotX,c]]:2===r?[["L",(w.plotX+y)/2,w.plotY],["L",(w.plotX+y)/2,c]]:
+[["L",y,w.plotY]],t.push(["L",y,c])):t=[["L",y,c]],k.push(p.x),r&&(k.push(p.x),2===r&&k.push(p.x)),m.push.apply(m,t),l=!1)});m.xMap=k;return d.graphPath=m};t.prototype.getZonesGraphs=function(a){this.zones.forEach(function(g,e){e=["zone-graph-"+e,"highcharts-graph highcharts-zone-graph-"+e+" "+(g.className||"")];this.chart.styledMode||e.push(g.color||this.color,g.dashStyle||this.options.dashStyle);a.push(e)},this);return a};t.defaultOptions=B(a.defaultOptions,{});return t}(a);g.registerSeriesType("line",
+x);"";return x});K(g,"Series/Area/AreaSeries.js",[g["Core/Color/Color.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=this&&this.__extends||function(){var a=function(d,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])};return a(d,e)};return function(d,e){function h(){this.constructor=d}a(d,e);d.prototype=null===e?Object.create(e):
+(h.prototype=e.prototype,new h)}}(),B=a.parse,H=x.seriesTypes.line;a=F.extend;var t=F.merge,r=F.objectEach,l=F.pick;F=function(a){function d(){var d=null!==a&&a.apply(this,arguments)||this;d.data=void 0;d.options=void 0;d.points=void 0;return d}A(d,a);d.prototype.drawGraph=function(){this.areaPath=[];a.prototype.drawGraph.apply(this);var d=this,e=this.areaPath,g=this.options,p=[["area","highcharts-area",this.color,g.fillColor]];this.zones.forEach(function(a,e){p.push(["zone-area-"+e,"highcharts-area highcharts-zone-area-"+
+e+" "+a.className,a.color||d.color,a.fillColor||g.fillColor])});p.forEach(function(a){var h=a[0],k={},m=d[h],p=m?"animate":"attr";m?(m.endX=d.preventGraphAnimation?null:e.xMap,m.animate({d:e})):(k.zIndex=0,m=d[h]=d.chart.renderer.path(e).addClass(a[1]).add(d.group),m.isArea=!0);d.chart.styledMode||(k.fill=l(a[3],B(a[2]).setOpacity(l(g.fillOpacity,.75)).get()));m[p](k);m.startX=e.xMap;m.shiftUnit=g.step?2:1})};d.prototype.getGraphPath=function(a){var d=H.prototype.getGraphPath,e=this.options,h=e.stacking,
+g=this.yAxis,r=[],t=[],A=this.index,y=g.stacking.stacks[this.stackKey],c=e.threshold,w=Math.round(g.getThreshold(e.threshold));e=l(e.connectNulls,"percent"===h);var f=function(b,d,e){var f=a[b];b=h&&y[f.x].points[A];var n=f[e+"Null"]||0;e=f[e+"Cliff"]||0;f=!0;if(e||n){var k=(n?b[0]:b[1])+e;var m=b[0]+e;f=!!n}else!h&&a[d]&&a[d].isNull&&(k=m=c);"undefined"!==typeof k&&(t.push({plotX:z,plotY:null===k?w:g.getThreshold(k),isNull:f,isCliff:!0}),r.push({plotX:z,plotY:null===m?w:g.getThreshold(m),doCurve:!1}))};
+a=a||this.points;h&&(a=this.getStackPoints(a));for(var n=0,b=a.length;n<b;++n){h||(a[n].leftCliff=a[n].rightCliff=a[n].leftNull=a[n].rightNull=void 0);var u=a[n].isNull;var z=l(a[n].rectPlotX,a[n].plotX);var q=h?l(a[n].yBottom,w):w;if(!u||e)e||f(n,n-1,"left"),u&&!h&&e||(t.push(a[n]),r.push({x:n,plotX:z,plotY:q})),e||f(n,n+1,"right")}f=d.call(this,t,!0,!0);r.reversed=!0;u=d.call(this,r,!0,!0);(q=u[0])&&"M"===q[0]&&(u[0]=["L",q[1],q[2]]);u=f.concat(u);u.length&&u.push(["Z"]);d=d.call(this,t,!1,e);u.xMap=
+f.xMap;this.areaPath=u;return d};d.prototype.getStackPoints=function(a){var d=this,e=[],h=[],g=this.xAxis,t=this.yAxis,A=t.stacking.stacks[this.stackKey],x={},y=t.series,c=y.length,w=t.options.reversedStacks?1:-1,f=y.indexOf(d);a=a||this.points;if(this.options.stacking){for(var n=0;n<a.length;n++)a[n].leftNull=a[n].rightNull=void 0,x[a[n].x]=a[n];r(A,function(b,a){null!==b.total&&h.push(a)});h.sort(function(b,a){return b-a});var b=y.map(function(b){return b.visible});h.forEach(function(a,n){var k=
+0,m,p;if(x[a]&&!x[a].isNull)e.push(x[a]),[-1,1].forEach(function(e){var g=1===e?"rightNull":"leftNull",k=A[h[n+e]],l=0;if(k)for(var q=f;0<=q&&q<c;){var u=y[q].index;m=k.points[u];m||(u===d.index?x[a][g]=!0:b[q]&&(p=A[a].points[u])&&(l-=p[1]-p[0]));q+=w}x[a][1===e?"rightCliff":"leftCliff"]=l});else{for(var u=f;0<=u&&u<c;){if(m=A[a].points[y[u].index]){k=m[1];break}u+=w}k=l(k,0);k=t.translate(k,0,1,0,1);e.push({isNull:!0,plotX:g.translate(a,0,0,0,1),x:a,plotY:k,yBottom:k})}})}return e};d.defaultOptions=
+t(H.defaultOptions,{threshold:0});return d}(H);a(F.prototype,{singleStacks:!1,drawLegendSymbol:g.drawRectangle});x.registerSeriesType("area",F);"";return F});K(g,"Series/Spline/SplineSeries.js",[g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g){var A=this&&this.__extends||function(){var a=function(g,r){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var d in e)e.hasOwnProperty(d)&&(a[d]=e[d])};return a(g,r)};return function(g,
+r){function l(){this.constructor=g}a(g,r);g.prototype=null===r?Object.create(r):(l.prototype=r.prototype,new l)}}(),F=a.seriesTypes.line,C=g.merge,B=g.pick;g=function(a){function g(){var g=null!==a&&a.apply(this,arguments)||this;g.data=void 0;g.options=void 0;g.points=void 0;return g}A(g,a);g.prototype.getPointSpline=function(a,g,e){var d=g.plotX||0,h=g.plotY||0,m=a[e-1];e=a[e+1];if(m&&!m.isNull&&!1!==m.doCurve&&!g.isCliff&&e&&!e.isNull&&!1!==e.doCurve&&!g.isCliff){a=m.plotY||0;var k=e.plotX||0;e=
+e.plotY||0;var l=0;var r=(1.5*d+(m.plotX||0))/2.5;var t=(1.5*h+a)/2.5;k=(1.5*d+k)/2.5;var A=(1.5*h+e)/2.5;k!==r&&(l=(A-t)*(k-d)/(k-r)+h-A);t+=l;A+=l;t>a&&t>h?(t=Math.max(a,h),A=2*h-t):t<a&&t<h&&(t=Math.min(a,h),A=2*h-t);A>e&&A>h?(A=Math.max(e,h),t=2*h-A):A<e&&A<h&&(A=Math.min(e,h),t=2*h-A);g.rightContX=k;g.rightContY=A}g=["C",B(m.rightContX,m.plotX,0),B(m.rightContY,m.plotY,0),B(r,d,0),B(t,h,0),d,h];m.rightContX=m.rightContY=void 0;return g};g.defaultOptions=C(F.defaultOptions);return g}(F);a.registerSeriesType("spline",
+g);"";return g});K(g,"Series/AreaSpline/AreaSplineSeries.js",[g["Series/Spline/SplineSeries.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,F){var A=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])};return a(e,d)};return function(e,d){function g(){this.constructor=e}a(e,d);e.prototype=
+null===d?Object.create(d):(g.prototype=d.prototype,new g)}}(),B=x.seriesTypes,H=B.area;B=B.area.prototype;var t=F.extend,r=F.merge;F=function(g){function e(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.points=void 0;a.options=void 0;return a}A(e,g);e.defaultOptions=r(a.defaultOptions,H.defaultOptions);return e}(a);t(F.prototype,{getGraphPath:B.getGraphPath,getStackPoints:B.getStackPoints,drawGraph:B.drawGraph,drawLegendSymbol:g.drawRectangle});x.registerSeriesType("areaspline",F);
+"";return F});K(g,"Series/Column/ColumnSeriesDefaults.js",[],function(){"";return{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"}});K(g,"Series/Column/ColumnSeries.js",[g["Core/Animation/AnimationUtilities.js"],
+g["Core/Color/Color.js"],g["Series/Column/ColumnSeriesDefaults.js"],g["Core/Globals.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B,H,t){var r=this&&this.__extends||function(){var a=function(c,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(c,d)};return function(c,d){function e(){this.constructor=
+c}a(c,d);c.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),l=a.animObject,e=g.parse,d=F.hasTouch;a=F.noop;var h=t.clamp,m=t.defined,k=t.extend,p=t.fireEvent,A=t.isArray,I=t.isNumber,E=t.merge,L=t.pick,y=t.objectEach;t=function(a){function c(){var c=null!==a&&a.apply(this,arguments)||this;c.borderWidth=void 0;c.data=void 0;c.group=void 0;c.options=void 0;c.points=void 0;return c}r(c,a);c.prototype.animate=function(a){var c=this,b=this.yAxis,d=c.options,e=this.chart.inverted,
+f={},g=e?"translateX":"translateY";if(a)f.scaleY=.001,a=h(b.toPixels(d.threshold),b.pos,b.pos+b.len),e?f.translateX=a-b.len:f.translateY=a,c.clipBox&&c.setClip(),c.group.attr(f);else{var m=Number(c.group.attr(g));c.group.animate({scaleY:1},k(l(c.options.animation),{step:function(a,d){c.group&&(f[g]=m+d.pos*(b.pos-m),c.group.attr(f))}}))}};c.prototype.init=function(c,d){a.prototype.init.apply(this,arguments);var b=this;c=b.chart;c.hasRendered&&c.series.forEach(function(a){a.type===b.type&&(a.isDirty=
+!0)})};c.prototype.getColumnMetrics=function(){var a=this,c=a.options,b=a.xAxis,d=a.yAxis,e=b.options.reversedStacks;e=b.reversed&&!e||!b.reversed&&e;var g={},h,k=0;!1===c.grouping?k=1:a.chart.series.forEach(function(b){var c=b.yAxis,e=b.options;if(b.type===a.type&&(b.visible||!a.chart.options.chart.ignoreHiddenSeries)&&d.len===c.len&&d.pos===c.pos){if(e.stacking&&"group"!==e.stacking){h=b.stackKey;"undefined"===typeof g[h]&&(g[h]=k++);var f=g[h]}else!1!==e.grouping&&(f=k++);b.columnIndex=f}});var m=
+Math.min(Math.abs(b.transA)*(b.ordinal&&b.ordinal.slope||c.pointRange||b.closestPointRange||b.tickInterval||1),b.len),l=m*c.groupPadding,p=(m-2*l)/(k||1);c=Math.min(c.maxPointWidth||b.len,L(c.pointWidth,p*(1-2*c.pointPadding)));a.columnMetrics={width:c,offset:(p-c)/2+(l+((a.columnIndex||0)+(e?1:0))*p-m/2)*(e?-1:1),paddedWidth:p,columnCount:k};return a.columnMetrics};c.prototype.crispCol=function(a,c,b,d){var e=this.chart,f=this.borderWidth,g=-(f%2?.5:0);f=f%2?.5:1;e.inverted&&e.renderer.isVML&&(f+=
+1);this.options.crisp&&(b=Math.round(a+b)+g,a=Math.round(a)+g,b-=a);d=Math.round(c+d)+f;g=.5>=Math.abs(c)&&.5<d;c=Math.round(c)+f;d-=c;g&&d&&(--c,d+=1);return{x:a,y:c,width:b,height:d}};c.prototype.adjustForMissingColumns=function(a,c,b,d){var e=this,f=this.options.stacking;if(!b.isNull&&1<d.columnCount){var g=this.yAxis.options.reversedStacks,h=0,k=g?0:-d.columnCount;y(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(a){if("number"===typeof b.x){var c=a[b.x.toString()];c&&(a=c.points[e.index],
+f?(a&&(h=k),c.hasValidPoints&&(g?k++:k--)):A(a)&&(a=Object.keys(c.points).filter(function(b){return!b.match(",")&&c.points[b]&&1<c.points[b].length}).map(parseFloat).sort(function(b,a){return a-b}),h=a.indexOf(e.index),k=a.length))}});a=(b.plotX||0)+((k-1)*d.paddedWidth+c)/2-c-h*d.paddedWidth}return a};c.prototype.translate=function(){var a=this,c=a.chart,b=a.options,d=a.dense=2>a.closestPointRange*a.xAxis.transA;d=a.borderWidth=L(b.borderWidth,d?0:1);var e=a.xAxis,g=a.yAxis,k=b.threshold,l=a.translatedThreshold=
+g.getThreshold(k),p=L(b.minPointLength,5),r=a.getColumnMetrics(),w=r.width,y=a.pointXOffset=r.offset,v=a.dataMin,t=a.dataMax,A=a.barW=Math.max(w,1+2*d);c.inverted&&(l-=.5);b.pointPadding&&(A=Math.ceil(A));B.prototype.translate.apply(a);a.points.forEach(function(d){var f=L(d.yBottom,l),n=999+Math.abs(f),q=d.plotX||0;n=h(d.plotY,-n,g.len+n);var u=Math.min(n,f),z=Math.max(n,f)-u,D=w,x=q+y,E=A;p&&Math.abs(z)<p&&(z=p,q=!g.reversed&&!d.negative||g.reversed&&d.negative,I(k)&&I(t)&&d.y===k&&t<=k&&(g.min||
+0)<k&&(v!==t||(g.max||0)<=k)&&(q=!q),u=Math.abs(u-l)>p?f-p:l-(q?p:0));m(d.options.pointWidth)&&(D=E=Math.ceil(d.options.pointWidth),x-=Math.round((D-w)/2));b.centerInCategory&&(x=a.adjustForMissingColumns(x,D,d,r));d.barX=x;d.pointWidth=D;d.tooltipPos=c.inverted?[h(g.len+g.pos-c.plotLeft-n,g.pos-c.plotLeft,g.len+g.pos-c.plotLeft),e.len+e.pos-c.plotTop-x-E/2,z]:[e.left-c.plotLeft+x+E/2,h(n+g.pos-c.plotTop,g.pos-c.plotTop,g.len+g.pos-c.plotTop),z];d.shapeType=a.pointClass.prototype.shapeType||"rect";
+d.shapeArgs=a.crispCol.apply(a,d.isNull?[x,l,E,0]:[x,u,E,z])})};c.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};c.prototype.pointAttribs=function(a,c){var b=this.options,d=this.pointAttrToOptions||{},f=d.stroke||"borderColor",g=d["stroke-width"]||"borderWidth",h=a&&a.color||this.color,k=a&&a[f]||b[f]||h;d=a&&a.options.dashStyle||b.dashStyle;var n=a&&a[g]||b[g]||this[g]||0,m=L(a&&a.opacity,b.opacity,1);if(a&&this.zones.length){var l=a.getZone();
+h=a.options.color||l&&(l.color||a.nonZonedColor)||this.color;l&&(k=l.borderColor||k,d=l.dashStyle||d,n=l.borderWidth||n)}c&&a&&(a=E(b.states[c],a.options.states&&a.options.states[c]||{}),c=a.brightness,h=a.color||"undefined"!==typeof c&&e(h).brighten(a.brightness).get()||h,k=a[f]||k,n=a[g]||n,d=a.dashStyle||d,m=L(a.opacity,m));f={fill:h,stroke:k,"stroke-width":n,opacity:m};d&&(f.dashstyle=d);return f};c.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var c=this,b=this.chart,d=c.options,
+e=b.renderer,f=d.animationLimit||250,g;a.forEach(function(a){var h=a.graphic,k=!!h,n=h&&b.pointCount<f?"animate":"attr";if(I(a.plotY)&&null!==a.y){g=a.shapeArgs;h&&a.hasNewShapeType()&&(h=h.destroy());c.enabledDataSorting&&(a.startXPos=c.xAxis.reversed?-(g?g.width||0:0):c.xAxis.width);h||(a.graphic=h=e[a.shapeType](g).add(a.group||c.group))&&c.enabledDataSorting&&b.hasRendered&&b.pointCount<f&&(h.attr({x:a.startXPos}),k=!0,n="animate");if(h&&k)h[n](E(g));if(d.borderRadius)h[n]({r:d.borderRadius});
+b.styledMode||h[n](c.pointAttribs(a,a.selected&&"select")).shadow(!1!==a.allowShadow&&d.shadow,null,d.stacking&&!d.borderRadius);h&&(h.addClass(a.getClassName(),!0),h.attr({visibility:a.visible?"inherit":"hidden"}))}else h&&(a.graphic=h.destroy())})};c.prototype.drawTracker=function(a){void 0===a&&(a=this.points);var c=this,b=c.chart,e=b.pointer,f=function(a){var b=e.getPointFromEvent(a);"undefined"!==typeof b&&(e.isDirectTouch=!0,b.onMouseOver(a))},g;a.forEach(function(a){g=A(a.dataLabels)?a.dataLabels:
+a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);g.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});c._hasTracking||(c.trackerGroups.forEach(function(a){if(c[a]){c[a].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){e.onTrackerMouseOut(a)});if(d)c[a].on("touchstart",f);!b.styledMode&&c.options.cursor&&c[a].css({cursor:c.options.cursor})}}),c._hasTracking=!0);p(this,"afterDrawTracker")};c.prototype.remove=function(){var a=this,c=a.chart;c.hasRendered&&
+c.series.forEach(function(b){b.type===a.type&&(b.isDirty=!0)});B.prototype.remove.apply(a,arguments)};c.defaultOptions=E(B.defaultOptions,x);return c}(B);k(t.prototype,{cropShoulder:0,directTouch:!0,drawLegendSymbol:C.drawRectangle,getSymbol:a,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]});H.registerSeriesType("column",t);"";return t});K(g,"Core/Series/DataLabel.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/FormatUtilities.js"],g["Core/Utilities.js"]],function(a,g,x){var A=a.getDeferredAnimation,
+C=g.format,B=x.defined,H=x.extend,t=x.fireEvent,r=x.isArray,l=x.isString,e=x.merge,d=x.objectEach,h=x.pick,m=x.splat,k;(function(a){function g(a,c,b,d,e){var f=this,g=this.chart,k=this.isCartesian&&g.inverted,n=this.enabledDataSorting,m=a.plotX,l=a.plotY,p=b.rotation,r=b.align,u=B(m)&&B(l)&&g.isInsidePlot(m,Math.round(l),{inverted:k,paneCoordinates:!0,series:f});l=function(b){n&&f.xAxis&&!w&&f.setDataLabelStartPos(a,c,e,u,b)};var w="justify"===h(b.overflow,n?"none":"justify");m=this.visible&&!1!==
+a.visible&&B(m)&&(a.series.forceDL||n&&!w||u||h(b.inside,!!this.options.stacking)&&d&&g.isInsidePlot(m,k?d.x+1:d.y+d.height-1,{inverted:k,paneCoordinates:!0,series:f}));k=a.pos();if(m&&k){p&&c.attr({align:r});r=c.getBBox(!0);var y=[0,0];var t=g.renderer.fontMetrics(g.styledMode?void 0:b.style.fontSize,c).b;d=H({x:k[0],y:Math.round(k[1]),width:0,height:0},d);H(b,{width:r.width,height:r.height});p?(w=!1,y=g.renderer.rotCorr(t,p),t={x:d.x+(b.x||0)+d.width/2+y.x,y:d.y+(b.y||0)+{top:0,middle:.5,bottom:1}[b.verticalAlign]*
+d.height},y=[r.x-Number(c.attr("x")),r.y-Number(c.attr("y"))],l(t),c[e?"attr":"animate"](t)):(l(d),c.align(b,void 0,d),t=c.alignAttr);w&&0<=d.height?this.justifyDataLabel(c,b,t,r,d,e):h(b.crop,!0)&&(d=t.x,l=t.y,d+=y[0],l+=y[1],m=g.isInsidePlot(d,l,{paneCoordinates:!0,series:f})&&g.isInsidePlot(d+r.width,l+r.height,{paneCoordinates:!0,series:f}));if(b.shape&&!p)c[e?"attr":"animate"]({anchorX:k[0],anchorY:k[1]})}e&&n&&(c.placed=!1);m||n&&!w?c.show():(c.hide(),c.placed=!1)}function k(a,c){var b=c.filter;
+return b?(c=b.operator,a=a[b.property],b=b.value,">"===c&&a>b||"<"===c&&a<b||">="===c&&a>=b||"<="===c&&a<=b||"=="===c&&a==b||"==="===c&&a===b?!0:!1):!0}function p(a){void 0===a&&(a=this.points);var c=this,b=c.chart,e=c.options,f=c.hasRendered||0,g=b.renderer,p=b.options.chart,w=p.backgroundColor;p=p.plotBackgroundColor;var x=g.getContrast(l(p)&&p||l(w)&&w||"#000000"),D=e.dataLabels,E;w=D.animation;w=D.defer?A(b,w,c):{defer:0,duration:0};D=y(y(b.options.plotOptions&&b.options.plotOptions.series&&b.options.plotOptions.series.dataLabels,
+b.options.plotOptions&&b.options.plotOptions[c.type]&&b.options.plotOptions[c.type].dataLabels),D);t(this,"drawDataLabels");if(r(D)||D.enabled||c._hasPointLabels){var F=c.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",D.zIndex||6);F.attr({opacity:+f});!f&&(f=c.dataLabelsGroup)&&(c.visible&&F.show(),f[e.animation?"animate":"attr"]({opacity:1},w));a.forEach(function(a){E=m(y(D,a.dlOptions||a.options&&a.options.dataLabels));E.forEach(function(f,n){var m=f.enabled&&(!a.isNull||a.dataLabelOnNull)&&
+k(a,f),l=a.connectors?a.connectors[n]:a.connector,p=a.dataLabels?a.dataLabels[n]:a.dataLabel,q=!p,r=h(f.distance,a.labelDistance);if(m){var u=a.getLabelConfig();var w=h(f[a.formatPrefix+"Format"],f.format);u=B(w)?C(w,u,b):(f[a.formatPrefix+"Formatter"]||f.formatter).call(u,f);w=f.style;var y=f.rotation;b.styledMode||(w.color=h(f.color,w.color,c.color,"#000000"),"contrast"===w.color?(a.contrastColor=g.getContrast(a.color||c.color),w.color=!B(r)&&f.inside||0>r||e.stacking?a.contrastColor:x):delete a.contrastColor,
+e.cursor&&(w.cursor=e.cursor));var t={r:f.borderRadius||0,rotation:y,padding:f.padding,zIndex:1};if(!b.styledMode){r=f.backgroundColor;var v=f.borderColor;t.fill="auto"===r?a.color:r;t.stroke="auto"===v?a.color:v;t["stroke-width"]=f.borderWidth}d(t,function(a,b){"undefined"===typeof a&&delete t[b]})}!p||m&&B(u)&&!!p.div===!!f.useHTML&&(p.rotation&&f.rotation||p.rotation===f.rotation)||(q=!0,a.dataLabel=p=a.dataLabel&&a.dataLabel.destroy(),a.dataLabels&&(1===a.dataLabels.length?delete a.dataLabels:
+delete a.dataLabels[n]),n||delete a.dataLabel,l&&(a.connector=a.connector.destroy(),a.connectors&&(1===a.connectors.length?delete a.connectors:delete a.connectors[n])));m&&B(u)?(p?t.text=u:(a.dataLabels=a.dataLabels||[],p=a.dataLabels[n]=y?g.text(u,0,0,f.useHTML).addClass("highcharts-data-label"):g.label(u,0,0,f.shape,null,null,f.useHTML,null,"data-label"),n||(a.dataLabel=p),p.addClass(" highcharts-data-label-color-"+a.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),p.options=
+f,p.attr(t),b.styledMode||p.css(w).shadow(f.shadow),(n=f[a.formatPrefix+"TextPath"]||f.textPath)&&!f.useHTML&&(p.setTextPath(a.getDataLabelPath&&a.getDataLabelPath(p)||a.graphic,n),a.dataLabelPath&&!n.enabled&&(a.dataLabelPath=a.dataLabelPath.destroy())),p.added||p.add(F),c.alignDataLabel(a,p,f,null,q)):p&&p.hide()})})}t(this,"afterDrawDataLabels")}function x(a,c,b,d,e,g){var f=this.chart,h=c.align,k=c.verticalAlign,n=a.box?0:a.padding||0,m=c.x;m=void 0===m?0:m;var l=c.y;l=void 0===l?0:l;var p=(b.x||
+0)+n;if(0>p){"right"===h&&0<=m?(c.align="left",c.inside=!0):m-=p;var q=!0}p=(b.x||0)+d.width-n;p>f.plotWidth&&("left"===h&&0>=m?(c.align="right",c.inside=!0):m+=f.plotWidth-p,q=!0);p=b.y+n;0>p&&("bottom"===k&&0<=l?(c.verticalAlign="top",c.inside=!0):l-=p,q=!0);p=(b.y||0)+d.height-n;p>f.plotHeight&&("top"===k&&0>=l?(c.verticalAlign="bottom",c.inside=!0):l+=f.plotHeight-p,q=!0);q&&(c.x=m,c.y=l,a.placed=!g,a.align(c,void 0,e));return q}function y(a,c){var b=[],d;if(r(a)&&!r(c))b=a.map(function(a){return e(a,
+c)});else if(r(c)&&!r(a))b=c.map(function(b){return e(a,b)});else if(r(a)||r(c))for(d=Math.max(a.length,c.length);d--;)b[d]=e(a[d],c[d]);else b=e(a,c);return b}function c(a,c,b,d,e){var f=this.chart,g=f.inverted,h=this.xAxis,k=h.reversed,m=g?c.height/2:c.width/2;a=(a=a.pointWidth)?a/2:0;c.startXPos=g?e.x:k?-m-a:h.width-m+a;c.startYPos=g?k?this.yAxis.height-m+a:-m-a:e.y;d?"hidden"===c.visibility&&(c.show(),c.attr({opacity:0}).animate({opacity:1})):c.attr({opacity:1}).animate({opacity:0},void 0,c.hide);
+f.hasRendered&&(b&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)}var w=[];a.compose=function(a){if(-1===w.indexOf(a)){var d=a.prototype;w.push(a);d.alignDataLabel=g;d.drawDataLabels=p;d.justifyDataLabel=x;d.setDataLabelStartPos=c}}})(k||(k={}));"";return k});K(g,"Series/Column/ColumnDataLabel.js",[g["Core/Series/DataLabel.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var A=g.series,C=x.merge,B=x.pick,H;(function(g){function r(a,d,g,m,k){var e=this.chart.inverted,
+h=a.series,l=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0;h=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0;var r=a.dlBox||a.shapeArgs,t=B(a.below,a.plotY>B(this.translatedThreshold,h)),y=B(g.inside,!!this.options.stacking);r&&(m=C(r),0>m.y&&(m.height+=m.y,m.y=0),r=m.y+m.height-h,0<r&&r<m.height&&(m.height-=r),e&&(m={x:h-m.y-m.height,y:l-m.x-m.width,width:m.height,height:m.width}),y||(e?(m.x+=t?0:m.width,m.width=0):(m.y+=t?m.height:0,m.height=0)));g.align=B(g.align,!e||y?"center":t?"right":"left");
+g.verticalAlign=B(g.verticalAlign,e||y?"middle":t?"top":"bottom");A.prototype.alignDataLabel.call(this,a,d,g,m,k);g.inside&&a.contrastColor&&d.css({color:a.contrastColor})}var l=[];g.compose=function(e){a.compose(A);-1===l.indexOf(e)&&(l.push(e),e.prototype.alignDataLabel=r)}})(H||(H={}));return H});K(g,"Series/Bar/BarSeries.js",[g["Series/Column/ColumnSeries.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var A=this&&this.__extends||function(){var a=function(g,r){a=
+Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var d in e)e.hasOwnProperty(d)&&(a[d]=e[d])};return a(g,r)};return function(g,r){function l(){this.constructor=g}a(g,r);g.prototype=null===r?Object.create(r):(l.prototype=r.prototype,new l)}}(),C=x.extend,B=x.merge;x=function(g){function t(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}A(t,g);t.defaultOptions=B(a.defaultOptions,{});return t}(a);
+C(x.prototype,{inverted:!0});g.registerSeriesType("bar",x);"";return x});K(g,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){"";return{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/>"}}});K(g,"Series/Scatter/ScatterSeries.js",[g["Series/Scatter/ScatterSeriesDefaults.js"],g["Core/Series/SeriesRegistry.js"],
+g["Core/Utilities.js"]],function(a,g,x){var A=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])};return a(e,d)};return function(e,d){function g(){this.constructor=e}a(e,d);e.prototype=null===d?Object.create(d):(g.prototype=d.prototype,new g)}}(),C=g.seriesTypes,B=C.column,H=C.line;C=x.addEvent;var t=x.extend,r=x.merge;x=function(g){function e(){var a=
+null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}A(e,g);e.prototype.applyJitter=function(){var a=this,e=this.options.jitter,g=this.points.length;e&&this.points.forEach(function(d,h){["x","y"].forEach(function(k,m){var l="plot"+k.toUpperCase();if(e[k]&&!d.isNull){var p=a[k+"Axis"];var r=e[k]*p.transA;if(p&&!p.isLog){var c=Math.max(0,d[l]-r);p=Math.min(p.len,d[l]+r);m=1E4*Math.sin(h+m*g);d[l]=c+(p-c)*(m-Math.floor(m));"x"===k&&(d.clientX=d.plotX)}}})})};
+e.prototype.drawGraph=function(){this.options.lineWidth?g.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())};e.defaultOptions=r(H.defaultOptions,a);return e}(H);t(x.prototype,{drawTracker:B.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});C(x,"afterTranslate",function(){this.applyJitter()});g.registerSeriesType("scatter",x);return x});K(g,"Series/CenteredUtilities.js",[g["Core/Globals.js"],
+g["Core/Series/Series.js"],g["Core/Utilities.js"]],function(a,g,x){var A=a.deg2rad,C=x.fireEvent,B=x.isNumber,H=x.pick,t=x.relativeLength,r;(function(a){a.getCenter=function(){var a=this.options,d=this.chart,h=2*(a.slicedOffset||0),m=d.plotWidth-2*h,k=d.plotHeight-2*h,l=a.center,r=Math.min(m,k),A=a.thickness,x=a.size,F=a.innerSize||0;"string"===typeof x&&(x=parseFloat(x));"string"===typeof F&&(F=parseFloat(F));a=[H(l[0],"50%"),H(l[1],"50%"),H(x&&0>x?void 0:a.size,"100%"),H(F&&0>F?void 0:a.innerSize||
+0,"0%")];!d.angular||this instanceof g||(a[3]=0);for(l=0;4>l;++l)x=a[l],d=2>l||2===l&&/%$/.test(x),a[l]=t(x,[m,k,r,a[2]][l])+(d?h:0);a[3]>a[2]&&(a[3]=a[2]);B(A)&&2*A<a[2]&&0<A&&(a[3]=a[2]-2*A);C(this,"afterGetCenter",{positions:a});return a};a.getStartAndEndRadians=function(a,d){a=B(a)?a:0;d=B(d)&&d>a&&360>d-a?d:a+360;return{start:A*(a+-90),end:A*(d+-90)}}})(r||(r={}));"";return r});K(g,"Series/Pie/PiePoint.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Series/Point.js"],g["Core/Utilities.js"]],
+function(a,g,x){var A=this&&this.__extends||function(){var a=function(d,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])};return a(d,e)};return function(d,e){function g(){this.constructor=d}a(d,e);d.prototype=null===e?Object.create(e):(g.prototype=e.prototype,new g)}}(),C=a.setAnimation,B=x.addEvent,H=x.defined;a=x.extend;var t=x.isNumber,r=x.pick,l=x.relativeLength;g=function(a){function d(){var d=
+null!==a&&a.apply(this,arguments)||this;d.labelDistance=void 0;d.options=void 0;d.series=void 0;return d}A(d,a);d.prototype.getConnectorPath=function(){var a=this.labelPosition,d=this.series.options.dataLabels,e=this.connectorShapes,g=d.connectorShape;e[g]&&(g=e[g]);return g.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,d)};d.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};d.prototype.haloPath=function(a){var d=
+this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:d.r-1,start:d.start,end:d.end})};d.prototype.init=function(){var d=this;a.prototype.init.apply(this,arguments);this.name=r(this.name,"Slice");var e=function(a){d.slice("select"===a.type)};B(this,"select",e);B(this,"unselect",e);return this};d.prototype.isValid=function(){return t(this.y)&&0<=this.y};d.prototype.setVisible=function(a,d){var e=this,g=this.series,h=g.chart,m=g.options.ignoreHiddenPoint;
+d=r(d,m);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,g.options.data[g.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(d){if(e[d])e[d][a?"show":"hide"](a)}),this.legendItem&&h.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),m&&(g.isDirty=!0),d&&h.redraw())};d.prototype.slice=function(a,d,e){var g=this.series;C(e,g.chart);r(d,!0);this.sliced=this.options.sliced=H(a)?a:!this.sliced;
+g.options.data[g.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return d}(g);a(g.prototype,{connectorShapes:{fixedOffset:function(a,d,g){var e=d.breakAt;d=d.touchingSliceAt;return[["M",a.x,a.y],g.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*e.x-d.x,2*e.y-d.y,e.x,e.y]:["L",e.x,e.y],["L",d.x,d.y]]},straight:function(a,d){d=d.touchingSliceAt;return[["M",a.x,a.y],["L",d.x,d.y]]},crookedLine:function(a,
+d,g){d=d.touchingSliceAt;var e=this.series,h=e.center[0],p=e.chart.plotWidth,r=e.chart.plotLeft;e=a.alignment;var t=this.shapeArgs.r;g=l(g.crookDistance,1);p="left"===e?h+t+(p+r-h-t)*(1-g):r+(h-t)*g;g=["L",p,a.y];h=!0;if("left"===e?p>a.x||p<d.x:p<a.x||p>d.x)h=!1;a=[["M",a.x,a.y]];h&&a.push(g);a.push(["L",d.x,d.y]);return a}}});return g});K(g,"Series/Pie/PieSeriesDefaults.js",[],function(){"";return{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}}}});K(g,"Series/Pie/PieSeries.js",[g["Series/CenteredUtilities.js"],g["Series/Column/ColumnSeries.js"],g["Core/Globals.js"],
-g["Core/Legend/LegendSymbol.js"],g["Series/Pie/PiePoint.js"],g["Series/Pie/PieSeriesDefaults.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/Symbols.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t,n){var f=this&&this.__extends||function(){var a=function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c,e)};return function(c,e){function d(){this.constructor=
-c}a(c,e);c.prototype=null===e?Object.create(e):(d.prototype=e.prototype,new d)}}(),c=a.getStartAndEndRadians;x=x.noop;var l=n.clamp,m=n.extend,e=n.fireEvent,u=n.merge,v=n.pick,J=n.relativeLength;n=function(a){function g(){var c=null!==a&&a.apply(this,arguments)||this;c.center=void 0;c.data=void 0;c.maxLabelDistance=void 0;c.options=void 0;c.points=void 0;return c}f(g,a);g.prototype.animate=function(a){var c=this,e=c.points,f=c.startAngleRad;a||e.forEach(function(a){var b=a.graphic,d=a.shapeArgs;b&&
-d&&(b.attr({r:v(a.startR,c.center&&c.center[3]/2),start:f,end:f}),b.animate({r:d.r,start:d.start,end:d.end},c.options.animation))})};g.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,e=this.options;if(0===this.total&&this.center){var f=this.center[0];var g=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(f,g,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:t.arc(f,g,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/
-2})});this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())};g.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic&&c.hasNewShapeType()&&(c.graphic=c.graphic.destroy());c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})};g.prototype.generatePoints=function(){a.prototype.generatePoints.call(this);
-this.updateTotals()};g.prototype.getX=function(a,c,e){var d=this.center,f=this.radii?this.radii[e.index]||0:d[2]/2;a=Math.asin(l((a-d[1])/(f+e.labelDistance),-1,1));return d[0]+(c?-1:1)*Math.cos(a)*(f+e.labelDistance)+(0<e.labelDistance?(c?-1:1)*this.options.dataLabels.padding:0)};g.prototype.hasData=function(){return!!this.processedXData.length};g.prototype.redrawPoints=function(){var a=this,c=a.chart,e=c.renderer,f=a.options.shadow,g,b,l,m;this.drawEmpty();!f||a.shadowGroup||c.styledMode||(a.shadowGroup=
-e.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(d){var h={};b=d.graphic;if(!d.isNull&&b){var k=void 0;m=d.shapeArgs;g=d.getTranslate();c.styledMode||(k=d.shadowGroup,f&&!k&&(k=d.shadowGroup=e.g("shadow").add(a.shadowGroup)),k&&k.attr(g),l=a.pointAttribs(d,d.selected&&"select"));d.delayedRendering?(b.setRadialReference(a.center).attr(m).attr(g),c.styledMode||b.attr(l).attr({"stroke-linejoin":"round"}).shadow(f,k),d.delayedRendering=!1):(b.setRadialReference(a.center),c.styledMode||
-u(!0,h,l),u(!0,h,m,g),b.animate(h));b.attr({visibility:d.visible?"inherit":"hidden"});b.addClass(d.getClassName(),!0)}else b&&(d.graphic=b.destroy())})};g.prototype.sortByAngle=function(a,c){a.sort(function(a,d){return"undefined"!==typeof a.angle&&(d.angle-a.angle)*c})};g.prototype.translate=function(a){e(this,"translate");this.generatePoints();var d=this.options,f=d.slicedOffset,h=f+(d.borderWidth||0),g=c(d.startAngle,d.endAngle),b=this.startAngleRad=g.start;g=(this.endAngleRad=g.end)-b;var l=this.points,
-m=d.dataLabels.distance;d=d.ignoreHiddenPoint;var n=l.length,u,t=0;a||(this.center=a=this.getCenter());for(u=0;u<n;u++){var r=l[u];var A=b+t*g;!r.isValid()||d&&!r.visible||(t+=r.percentage/100);var x=b+t*g;var C={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*A)/1E3,end:Math.round(1E3*x)/1E3};r.shapeType="arc";r.shapeArgs=C;r.labelDistance=v(r.options.dataLabels&&r.options.dataLabels.distance,m);r.labelDistance=J(r.labelDistance,C.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||
-0,r.labelDistance);x=(x+A)/2;x>1.5*Math.PI?x-=2*Math.PI:x<-Math.PI/2&&(x+=2*Math.PI);r.slicedTranslation={translateX:Math.round(Math.cos(x)*f),translateY:Math.round(Math.sin(x)*f)};C=Math.cos(x)*a[2]/2;var y=Math.sin(x)*a[2]/2;r.tooltipPos=[a[0]+.7*C,a[1]+.7*y];r.half=x<-Math.PI/2||x>Math.PI/2?1:0;r.angle=x;A=Math.min(h,r.labelDistance/5);r.labelPosition={natural:{x:a[0]+C+Math.cos(x)*r.labelDistance,y:a[1]+y+Math.sin(x)*r.labelDistance},"final":{},alignment:0>r.labelDistance?"center":r.half?"right":
-"left",connectorPosition:{breakAt:{x:a[0]+C+Math.cos(x)*A,y:a[1]+y+Math.sin(x)*A},touchingSliceAt:{x:a[0]+C,y:a[1]+y}}}}e(this,"afterTranslate")};g.prototype.updateTotals=function(){var a=this.points,c=a.length,e=this.options.ignoreHiddenPoint,f,g=0;for(f=0;f<c;f++){var b=a[f];!b.isValid()||e&&!b.visible||(g+=b.y)}this.total=g;for(f=0;f<c;f++)b=a[f],b.percentage=0<g&&(b.visible||!e)?b.y/g*100:0,b.total=g};g.defaultOptions=u(G.defaultOptions,B);return g}(G);m(n.prototype,{axisTypes:[],directTouch:!0,
-drawGraph:void 0,drawLegendSymbol:E.drawRectangle,drawTracker:g.prototype.drawTracker,getCenter:a.getCenter,getSymbol:x,isCartesian:!1,noSharedTooltip:!0,pointAttribs:g.prototype.pointAttribs,pointClass:D,requireSorting:!1,searchPoint:x,trackerGroups:["group","dataLabelsGroup"]});r.registerSeriesType("pie",n);return n});K(g,"Series/Pie/PieDataLabel.js",[g["Core/Series/DataLabel.js"],g["Core/Globals.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],
-function(a,g,x,E,D){var v=g.noop,G=x.distribute,r=E.series,t=D.arrayMax,n=D.clamp,f=D.defined,c=D.merge,l=D.pick,m=D.relativeLength,e;(function(e){function g(){var a=this,e=a.data,g=a.chart,k=a.options.dataLabels||{},b=k.connectorPadding,m=g.plotWidth,n=g.plotHeight,u=g.plotLeft,v=Math.round(g.chartWidth/3),A=a.center,x=A[2]/2,C=A[1],B=[[],[]],D=[0,0,0,0],y=a.dataLabelPositioners,E,I,J,L,F,K,M,X,W,U,Z,V;a.visible&&(k.enabled||a._hasPointLabels)&&(e.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&
-(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),r.prototype.drawDataLabels.apply(a),e.forEach(function(a){a.dataLabel&&(a.visible?(B[a.half].push(a),a.dataLabel._pos=null,!f(k.style.width)&&!f(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>v&&(a.dataLabel.css({width:Math.round(.7*v)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&
-delete a.dataLabels))}),B.forEach(function(c,d){var e=c.length,h=[],q;if(e){a.sortByAngle(c,d-.5);if(0<a.maxLabelDistance){var p=Math.max(0,C-x-a.maxLabelDistance);var t=Math.min(C+x+a.maxLabelDistance,g.plotHeight);c.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,C-x-a.labelDistance),a.bottom=Math.min(C+x+a.labelDistance,g.plotHeight),q=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+q/2,size:q,rank:a.y},h.push(a.distributeBox))});p=
-t+q-p;G(h,p,p/5)}for(Z=0;Z<e;Z++){E=c[Z];K=E.labelPosition;L=E.dataLabel;U=!1===E.visible?"hidden":"inherit";W=p=K.natural.y;h&&f(E.distributeBox)&&("undefined"===typeof E.distributeBox.pos?U="hidden":(M=E.distributeBox.size,W=y.radialDistributionY(E)));delete E.positionIndex;if(k.justify)X=y.justify(E,x,A);else switch(k.alignTo){case "connectors":X=y.alignToConnectors(c,d,m,u);break;case "plotEdges":X=y.alignToPlotEdges(L,d,m,u);break;default:X=y.radialDistributionX(a,E,W,p)}L._attr={visibility:U,
-align:K.alignment};V=E.options.dataLabels||{};L._pos={x:X+l(V.x,k.x)+({left:b,right:-b}[K.alignment]||0),y:W+l(V.y,k.y)-10};K.final.x=X;K.final.y=W;l(k.crop,!0)&&(F=L.getBBox().width,p=null,X-F<b&&1===d?(p=Math.round(F-X+b),D[3]=Math.max(p,D[3])):X+F>m-b&&0===d&&(p=Math.round(X+F-m+b),D[1]=Math.max(p,D[1])),0>W-M/2?D[0]=Math.max(Math.round(-W+M/2),D[0]):W+M/2>n&&(D[2]=Math.max(Math.round(W+M/2-n),D[2])),L.sideOverflow=p)}}}),0===t(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(b){V=
-c(k,b.options.dataLabels);if(I=l(V.connectorWidth,1)){var d;J=b.connector;if((L=b.dataLabel)&&L._pos&&b.visible&&0<b.labelDistance){U=L._attr.visibility;if(d=!J)b.connector=J=g.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+b.colorIndex+(b.className?" "+b.className:"")).add(a.dataLabelsGroup),g.styledMode||J.attr({"stroke-width":I,stroke:V.connectorColor||b.color||"#666666"});J[d?"attr":"animate"]({d:b.getConnectorPath()});J.attr("visibility",U)}else J&&(b.connector=
-J.destroy())}}))}function u(){this.points.forEach(function(a){var c=a.dataLabel,d;c&&a.visible&&((d=c._pos)?(c.sideOverflow&&(c._attr.width=Math.max(c.getBBox().width-c.sideOverflow,0),c.css({width:c._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),c.shortened=!0),c.attr(c._attr),c[c.moved?"animate":"attr"](d),c.moved=!0):c&&c.attr({y:-9999}));delete a.distributeBox},this)}function x(a){var c=this.center,d=this.options,e=d.center,b=d.minSize||80,f=null!==
-d.size;if(!f){if(null!==e[0])var g=Math.max(c[2]-Math.max(a[1],a[3]),b);else g=Math.max(c[2]-a[1]-a[3],b),c[0]+=(a[3]-a[1])/2;null!==e[1]?g=n(g,b,c[2]-Math.max(a[0],a[2])):(g=n(g,b,c[2]-a[0]-a[2]),c[1]+=(a[0]-a[2])/2);g<c[2]?(c[2]=g,c[3]=Math.min(d.thickness?Math.max(0,g-2*d.thickness):Math.max(0,m(d.innerSize||0,g)),g),this.translate(c),this.drawDataLabels&&this.drawDataLabels()):f=!0}return f}var B=[],A={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,
-c,e,f){return a.getX(e<c.top+2||e>c.bottom-2?f:e,c.half,c)},justify:function(a,c,e){return e[0]+(a.half?-1:1)*(c+a.labelDistance)},alignToPlotEdges:function(a,c,e,f){a=a.getBBox().width;return c?a+f:e-a-f},alignToConnectors:function(a,c,e,f){var b=0,d;a.forEach(function(a){d=a.dataLabel.getBBox().width;d>b&&(b=d)});return c?b+f:e-b-f}};e.compose=function(c){a.compose(r);-1===B.indexOf(c)&&(B.push(c),c=c.prototype,c.dataLabelPositioners=A,c.alignDataLabel=v,c.drawDataLabels=g,c.placeDataLabels=u,c.verifyDataLabelOverflow=
-x)}})(e||(e={}));return e});K(g,"Extensions/OverlappingDataLabels.js",[g["Core/Chart/Chart.js"],g["Core/Utilities.js"]],function(a,g){function v(a,f){var c=!1;if(a){var g=a.newOpacity;a.oldOpacity!==g&&(a.alignAttr&&a.placed?(a[g?"removeClass":"addClass"]("highcharts-data-label-hidden"),c=!0,a.alignAttr.opacity=g,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){f.styledMode||a.css({pointerEvents:g?"auto":"none"})}),D(f,"afterHideOverlappingLabel")):a.attr({opacity:g}));a.isOld=!0}return c}
-var E=g.addEvent,D=g.fireEvent,B=g.isArray,G=g.isNumber,r=g.objectEach,t=g.pick;E(a,"render",function(){var a=this,f=[];(this.labelCollectors||[]).forEach(function(a){f=f.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&r(a.stacking.stacks,function(a){r(a,function(a){a.label&&f.push(a.label)})})});(this.series||[]).forEach(function(c){var g=c.options.dataLabels;c.visible&&(!1!==g.enabled||c._hasPointLabels)&&(g=function(c){return c.forEach(function(c){c.visible&&
-(B(c.dataLabels)?c.dataLabels:c.dataLabel?[c.dataLabel]:[]).forEach(function(e){var g=e.options;e.labelrank=t(g.labelrank,c.labelrank,c.shapeArgs&&c.shapeArgs.height);g.allowOverlap?(e.oldOpacity=e.opacity,e.newOpacity=1,v(e,a)):f.push(e)})})},g(c.nodes||[]),g(c.points))});this.hideOverlappingLabels(f)});a.prototype.hideOverlappingLabels=function(a){var f=this,c=a.length,g=f.renderer,m,e,n,t=!1;var r=function(a){var c,e=a.box?0:a.padding||0,f=c=0,k;if(a&&(!a.alignAttr||a.placed)){var b=a.alignAttr||
-{x:a.attr("x"),y:a.attr("y")};var l=a.parentGroup;a.width||(c=a.getBBox(),a.width=c.width,a.height=c.height,c=g.fontMetrics(null,a.element).h);var m=a.width-2*e;(k={left:"0",center:"0.5",right:"1"}[a.alignValue])?f=+k*m:G(a.x)&&Math.round(a.x)!==a.translateX&&(f=a.x-a.translateX);return{x:b.x+(l.translateX||0)+e-(f||0),y:b.y+(l.translateY||0)+e-c,width:a.width-2*e,height:a.height-2*e}}};for(e=0;e<c;e++)if(m=a[e])m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=r(m);a.sort(function(a,c){return(c.labelrank||
-0)-(a.labelrank||0)});for(e=0;e<c;e++){var x=(r=a[e])&&r.absoluteBox;for(m=e+1;m<c;++m){var B=(n=a[m])&&n.absoluteBox;!x||!B||r===n||0===r.newOpacity||0===n.newOpacity||"hidden"===r.visibility||"hidden"===n.visibility||B.x>=x.x+x.width||B.x+B.width<=x.x||B.y>=x.y+x.height||B.y+B.height<=x.y||((r.labelrank<n.labelrank?r:n).newOpacity=0)}}a.forEach(function(a){v(a,f)&&(t=!0)});t&&D(f,"afterHideAllOverlappingLabels")}});K(g,"Core/Responsive.js",[g["Core/Utilities.js"]],function(a){var g=a.extend,x=a.find,
-E=a.isArray,D=a.isObject,B=a.merge,G=a.objectEach,r=a.pick,t=a.splat,n=a.uniqueKey,f;(function(a){var c=[];a.compose=function(a){-1===c.indexOf(a)&&(c.push(a),g(a.prototype,f.prototype));return a};var f=function(){function a(){}a.prototype.currentOptions=function(a){function c(a,f,d,g){var h;G(a,function(a,b){if(!g&&-1<e.collectionsWithUpdate.indexOf(b)&&f[b])for(a=t(a),d[b]=[],h=0;h<Math.max(a.length,f[b].length);h++)f[b][h]&&(void 0===a[h]?d[b][h]=f[b][h]:(d[b][h]={},c(a[h],f[b][h],d[b][h],g+1)));
-else D(a)?(d[b]=E(a)?[]:{},c(a,f[b]||{},d[b],g+1)):d[b]="undefined"===typeof f[b]?null:f[b]})}var e=this,f={};c(a,this.options,f,0);return f};a.prototype.matchResponsiveRule=function(a,c){var e=a.condition;(e.callback||function(){return this.chartWidth<=r(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=r(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=r(e.minWidth,0)&&this.chartHeight>=r(e.minHeight,0)}).call(this)&&c.push(a._id)};a.prototype.setResponsive=function(a,c){var e=this,f=this.options.responsive,
-g=this.currentResponsive,l=[];!c&&f&&f.rules&&f.rules.forEach(function(a){"undefined"===typeof a._id&&(a._id=n());e.matchResponsiveRule(a,l)},this);c=B.apply(void 0,l.map(function(a){return x((f||{}).rules||[],function(c){return c._id===a})}).map(function(a){return a&&a.chartOptions}));c.isResponsiveOptions=!0;l=l.toString()||void 0;l!==(g&&g.ruleIds)&&(g&&this.update(g.undoOptions,a,!0),l?(g=this.currentOptions(c),g.isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:c,undoOptions:g},
-this.update(c,a,!0)):this.currentResponsive=void 0)};return a}()})(f||(f={}));"";"";return f});K(g,"masters/highcharts.src.js",[g["Core/Globals.js"],g["Core/Utilities.js"],g["Core/Defaults.js"],g["Core/Animation/Fx.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Renderer/HTML/AST.js"],g["Core/FormatUtilities.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Renderer/HTML/HTMLElement.js"],g["Core/Renderer/HTML/HTMLRenderer.js"],
+g["Core/Legend/LegendSymbol.js"],g["Series/Pie/PiePoint.js"],g["Series/Pie/PieSeriesDefaults.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/Symbols.js"],g["Core/Utilities.js"]],function(a,g,x,F,C,B,H,t,r,l){var e=this&&this.__extends||function(){var a=function(d,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c])};return a(d,e)};return function(d,e){function c(){this.constructor=
+d}a(d,e);d.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),d=a.getStartAndEndRadians;x=x.noop;var h=l.clamp,m=l.extend,k=l.fireEvent,p=l.merge,A=l.pick,I=l.relativeLength;l=function(a){function g(){var d=null!==a&&a.apply(this,arguments)||this;d.center=void 0;d.data=void 0;d.maxLabelDistance=void 0;d.options=void 0;d.points=void 0;return d}e(g,a);g.prototype.animate=function(a){var c=this,d=c.points,e=c.startAngleRad;a||d.forEach(function(a){var b=a.graphic,d=a.shapeArgs;b&&
+d&&(b.attr({r:A(a.startR,c.center&&c.center[3]/2),start:e,end:e}),b.animate({r:d.r,start:d.start,end:d.end},c.options.animation))})};g.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,d=this.options;if(0===this.total&&this.center){var e=this.center[0];var g=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(e,g,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:r.arc(e,g,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/
+2})});this.chart.styledMode||this.graph.attr({"stroke-width":d.borderWidth,fill:d.fillColor||"none",stroke:d.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())};g.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic&&c.hasNewShapeType()&&(c.graphic=c.graphic.destroy());c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})};g.prototype.generatePoints=function(){a.prototype.generatePoints.call(this);
+this.updateTotals()};g.prototype.getX=function(a,c,d){var e=this.center,g=this.radii?this.radii[d.index]||0:e[2]/2;a=Math.asin(h((a-e[1])/(g+d.labelDistance),-1,1));return e[0]+(c?-1:1)*Math.cos(a)*(g+d.labelDistance)+(0<d.labelDistance?(c?-1:1)*this.options.dataLabels.padding:0)};g.prototype.hasData=function(){return!!this.processedXData.length};g.prototype.redrawPoints=function(){var a=this,c=a.chart,d=c.renderer,e=a.options.shadow,g,b,h,k;this.drawEmpty();!e||a.shadowGroup||c.styledMode||(a.shadowGroup=
+d.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(f){var n={};b=f.graphic;if(!f.isNull&&b){var l=void 0;k=f.shapeArgs;g=f.getTranslate();c.styledMode||(l=f.shadowGroup,e&&!l&&(l=f.shadowGroup=d.g("shadow").add(a.shadowGroup)),l&&l.attr(g),h=a.pointAttribs(f,f.selected&&"select"));f.delayedRendering?(b.setRadialReference(a.center).attr(k).attr(g),c.styledMode||b.attr(h).attr({"stroke-linejoin":"round"}).shadow(e,l),f.delayedRendering=!1):(b.setRadialReference(a.center),c.styledMode||
+p(!0,n,h),p(!0,n,k,g),b.animate(n));b.attr({visibility:f.visible?"inherit":"hidden"});b.addClass(f.getClassName(),!0)}else b&&(f.graphic=b.destroy())})};g.prototype.sortByAngle=function(a,c){a.sort(function(a,d){return"undefined"!==typeof a.angle&&(d.angle-a.angle)*c})};g.prototype.translate=function(a){k(this,"translate");this.generatePoints();var c=this.options,e=c.slicedOffset,f=e+(c.borderWidth||0),g=d(c.startAngle,c.endAngle),b=this.startAngleRad=g.start;g=(this.endAngleRad=g.end)-b;var h=this.points,
+l=c.dataLabels.distance;c=c.ignoreHiddenPoint;var m=h.length,p,r=0;a||(this.center=a=this.getCenter());for(p=0;p<m;p++){var t=h[p];var y=b+r*g;!t.isValid()||c&&!t.visible||(r+=t.percentage/100);var x=b+r*g;var D={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*y)/1E3,end:Math.round(1E3*x)/1E3};t.shapeType="arc";t.shapeArgs=D;t.labelDistance=A(t.options.dataLabels&&t.options.dataLabels.distance,l);t.labelDistance=I(t.labelDistance,D.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||
+0,t.labelDistance);x=(x+y)/2;x>1.5*Math.PI?x-=2*Math.PI:x<-Math.PI/2&&(x+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(x)*e),translateY:Math.round(Math.sin(x)*e)};D=Math.cos(x)*a[2]/2;var v=Math.sin(x)*a[2]/2;t.tooltipPos=[a[0]+.7*D,a[1]+.7*v];t.half=x<-Math.PI/2||x>Math.PI/2?1:0;t.angle=x;y=Math.min(f,t.labelDistance/5);t.labelPosition={natural:{x:a[0]+D+Math.cos(x)*t.labelDistance,y:a[1]+v+Math.sin(x)*t.labelDistance},"final":{},alignment:0>t.labelDistance?"center":t.half?"right":
+"left",connectorPosition:{breakAt:{x:a[0]+D+Math.cos(x)*y,y:a[1]+v+Math.sin(x)*y},touchingSliceAt:{x:a[0]+D,y:a[1]+v}}}}k(this,"afterTranslate")};g.prototype.updateTotals=function(){var a=this.points,c=a.length,d=this.options.ignoreHiddenPoint,e,g=0;for(e=0;e<c;e++){var b=a[e];!b.isValid()||d&&!b.visible||(g+=b.y)}this.total=g;for(e=0;e<c;e++)b=a[e],b.percentage=0<g&&(b.visible||!d)?b.y/g*100:0,b.total=g};g.defaultOptions=p(H.defaultOptions,B);return g}(H);m(l.prototype,{axisTypes:[],directTouch:!0,
+drawGraph:void 0,drawLegendSymbol:F.drawRectangle,drawTracker:g.prototype.drawTracker,getCenter:a.getCenter,getSymbol:x,isCartesian:!1,noSharedTooltip:!0,pointAttribs:g.prototype.pointAttribs,pointClass:C,requireSorting:!1,searchPoint:x,trackerGroups:["group","dataLabelsGroup"]});t.registerSeriesType("pie",l);return l});K(g,"Series/Pie/PieDataLabel.js",[g["Core/Series/DataLabel.js"],g["Core/Globals.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],
+function(a,g,x,F,C){var A=g.noop,H=x.distribute,t=F.series,r=C.arrayMax,l=C.clamp,e=C.defined,d=C.merge,h=C.pick,m=C.relativeLength,k;(function(g){function k(){var a=this,g=a.data,f=a.chart,k=a.options.dataLabels||{},b=k.connectorPadding,l=f.plotWidth,m=f.plotHeight,p=f.plotLeft,y=Math.round(f.chartWidth/3),A=a.center,x=A[2]/2,D=A[1],B=[[],[]],E=[0,0,0,0],v=a.dataLabelPositioners,C,F,I,L,G,K,M,X,R,V,Z,W;a.visible&&(k.enabled||a._hasPointLabels)&&(g.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&
+(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),t.prototype.drawDataLabels.apply(a),g.forEach(function(a){a.dataLabel&&(a.visible?(B[a.half].push(a),a.dataLabel._pos=null,!e(k.style.width)&&!e(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>y&&(a.dataLabel.css({width:Math.round(.7*y)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&
+delete a.dataLabels))}),B.forEach(function(c,d){var g=c.length,n=[],q;if(g){a.sortByAngle(c,d-.5);if(0<a.maxLabelDistance){var r=Math.max(0,D-x-a.maxLabelDistance);var t=Math.min(D+x+a.maxLabelDistance,f.plotHeight);c.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,D-x-a.labelDistance),a.bottom=Math.min(D+x+a.labelDistance,f.plotHeight),q=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+q/2,size:q,rank:a.y},n.push(a.distributeBox))});r=
+t+q-r;H(n,r,r/5)}for(Z=0;Z<g;Z++){C=c[Z];K=C.labelPosition;L=C.dataLabel;V=!1===C.visible?"hidden":"inherit";R=r=K.natural.y;n&&e(C.distributeBox)&&("undefined"===typeof C.distributeBox.pos?V="hidden":(M=C.distributeBox.size,R=v.radialDistributionY(C)));delete C.positionIndex;if(k.justify)X=v.justify(C,x,A);else switch(k.alignTo){case "connectors":X=v.alignToConnectors(c,d,l,p);break;case "plotEdges":X=v.alignToPlotEdges(L,d,l,p);break;default:X=v.radialDistributionX(a,C,R,r)}L._attr={visibility:V,
+align:K.alignment};W=C.options.dataLabels||{};L._pos={x:X+h(W.x,k.x)+({left:b,right:-b}[K.alignment]||0),y:R+h(W.y,k.y)-10};K.final.x=X;K.final.y=R;h(k.crop,!0)&&(G=L.getBBox().width,r=null,X-G<b&&1===d?(r=Math.round(G-X+b),E[3]=Math.max(r,E[3])):X+G>l-b&&0===d&&(r=Math.round(X+G-l+b),E[1]=Math.max(r,E[1])),0>R-M/2?E[0]=Math.max(Math.round(-R+M/2),E[0]):R+M/2>m&&(E[2]=Math.max(Math.round(R+M/2-m),E[2])),L.sideOverflow=r)}}}),0===r(E)||this.verifyDataLabelOverflow(E))&&(this.placeDataLabels(),this.points.forEach(function(b){W=
+d(k,b.options.dataLabels);if(F=h(W.connectorWidth,1)){var c;I=b.connector;if((L=b.dataLabel)&&L._pos&&b.visible&&0<b.labelDistance){V=L._attr.visibility;if(c=!I)b.connector=I=f.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+b.colorIndex+(b.className?" "+b.className:"")).add(a.dataLabelsGroup),f.styledMode||I.attr({"stroke-width":F,stroke:W.connectorColor||b.color||"#666666"});I[c?"attr":"animate"]({d:b.getConnectorPath()});I.attr("visibility",V)}else I&&(b.connector=
+I.destroy())}}))}function p(){this.points.forEach(function(a){var c=a.dataLabel,d;c&&a.visible&&((d=c._pos)?(c.sideOverflow&&(c._attr.width=Math.max(c.getBBox().width-c.sideOverflow,0),c.css({width:c._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),c.shortened=!0),c.attr(c._attr),c[c.moved?"animate":"attr"](d),c.moved=!0):c&&c.attr({y:-9999}));delete a.distributeBox},this)}function x(a){var c=this.center,d=this.options,e=d.center,b=d.minSize||80,g=null!==
+d.size;if(!g){if(null!==e[0])var h=Math.max(c[2]-Math.max(a[1],a[3]),b);else h=Math.max(c[2]-a[1]-a[3],b),c[0]+=(a[3]-a[1])/2;null!==e[1]?h=l(h,b,c[2]-Math.max(a[0],a[2])):(h=l(h,b,c[2]-a[0]-a[2]),c[1]+=(a[0]-a[2])/2);h<c[2]?(c[2]=h,c[3]=Math.min(d.thickness?Math.max(0,h-2*d.thickness):Math.max(0,m(d.innerSize||0,h)),h),this.translate(c),this.drawDataLabels&&this.drawDataLabels()):g=!0}return g}var B=[],y={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,
+d,e,g){return a.getX(e<d.top+2||e>d.bottom-2?g:e,d.half,d)},justify:function(a,d,e){return e[0]+(a.half?-1:1)*(d+a.labelDistance)},alignToPlotEdges:function(a,d,e,g){a=a.getBBox().width;return d?a+g:e-a-g},alignToConnectors:function(a,d,e,g){var b=0,c;a.forEach(function(a){c=a.dataLabel.getBBox().width;c>b&&(b=c)});return d?b+g:e-b-g}};g.compose=function(c){a.compose(t);-1===B.indexOf(c)&&(B.push(c),c=c.prototype,c.dataLabelPositioners=y,c.alignDataLabel=A,c.drawDataLabels=k,c.placeDataLabels=p,c.verifyDataLabelOverflow=
+x)}})(k||(k={}));return k});K(g,"Extensions/OverlappingDataLabels.js",[g["Core/Chart/Chart.js"],g["Core/Utilities.js"]],function(a,g){function A(a,e){var d=!1;if(a){var g=a.newOpacity;a.oldOpacity!==g&&(a.alignAttr&&a.placed?(a[g?"removeClass":"addClass"]("highcharts-data-label-hidden"),d=!0,a.alignAttr.opacity=g,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){e.styledMode||a.css({pointerEvents:g?"auto":"none"})}),C(e,"afterHideOverlappingLabel")):a.attr({opacity:g}));a.isOld=!0}return d}
+var F=g.addEvent,C=g.fireEvent,B=g.isArray,H=g.isNumber,t=g.objectEach,r=g.pick;F(a,"render",function(){var a=this,e=[];(this.labelCollectors||[]).forEach(function(a){e=e.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&t(a.stacking.stacks,function(a){t(a,function(a){a.label&&e.push(a.label)})})});(this.series||[]).forEach(function(d){var g=d.options.dataLabels;d.visible&&(!1!==g.enabled||d._hasPointLabels)&&(g=function(d){return d.forEach(function(d){d.visible&&
+(B(d.dataLabels)?d.dataLabels:d.dataLabel?[d.dataLabel]:[]).forEach(function(g){var h=g.options;g.labelrank=r(h.labelrank,d.labelrank,d.shapeArgs&&d.shapeArgs.height);h.allowOverlap?(g.oldOpacity=g.opacity,g.newOpacity=1,A(g,a)):e.push(g)})})},g(d.nodes||[]),g(d.points))});this.hideOverlappingLabels(e)});a.prototype.hideOverlappingLabels=function(a){var e=this,d=a.length,g=e.renderer,l,k,p,r=!1;var t=function(a){var c,d=a.box?0:a.padding||0,e=c=0,h;if(a&&(!a.alignAttr||a.placed)){var b=a.alignAttr||
+{x:a.attr("x"),y:a.attr("y")};var k=a.parentGroup;a.width||(c=a.getBBox(),a.width=c.width,a.height=c.height,c=g.fontMetrics(null,a.element).h);var l=a.width-2*d;(h={left:"0",center:"0.5",right:"1"}[a.alignValue])?e=+h*l:H(a.x)&&Math.round(a.x)!==a.translateX&&(e=a.x-a.translateX);return{x:b.x+(k.translateX||0)+d-(e||0),y:b.y+(k.translateY||0)+d-c,width:a.width-2*d,height:a.height-2*d}}};for(k=0;k<d;k++)if(l=a[k])l.oldOpacity=l.opacity,l.newOpacity=1,l.absoluteBox=t(l);a.sort(function(a,c){return(c.labelrank||
+0)-(a.labelrank||0)});for(k=0;k<d;k++){var x=(t=a[k])&&t.absoluteBox;for(l=k+1;l<d;++l){var B=(p=a[l])&&p.absoluteBox;!x||!B||t===p||0===t.newOpacity||0===p.newOpacity||"hidden"===t.visibility||"hidden"===p.visibility||B.x>=x.x+x.width||B.x+B.width<=x.x||B.y>=x.y+x.height||B.y+B.height<=x.y||((t.labelrank<p.labelrank?t:p).newOpacity=0)}}a.forEach(function(a){A(a,e)&&(r=!0)});r&&C(e,"afterHideAllOverlappingLabels")}});K(g,"Core/Responsive.js",[g["Core/Utilities.js"]],function(a){var g=a.extend,x=a.find,
+F=a.isArray,C=a.isObject,B=a.merge,H=a.objectEach,t=a.pick,r=a.splat,l=a.uniqueKey,e;(function(a){var d=[];a.compose=function(a){-1===d.indexOf(a)&&(d.push(a),g(a.prototype,e.prototype));return a};var e=function(){function a(){}a.prototype.currentOptions=function(a){function d(a,g,c,h){var f;H(a,function(a,b){if(!h&&-1<e.collectionsWithUpdate.indexOf(b)&&g[b])for(a=r(a),c[b]=[],f=0;f<Math.max(a.length,g[b].length);f++)g[b][f]&&(void 0===a[f]?c[b][f]=g[b][f]:(c[b][f]={},d(a[f],g[b][f],c[b][f],h+1)));
+else C(a)?(c[b]=F(a)?[]:{},d(a,g[b]||{},c[b],h+1)):c[b]="undefined"===typeof g[b]?null:g[b]})}var e=this,g={};d(a,this.options,g,0);return g};a.prototype.matchResponsiveRule=function(a,d){var e=a.condition;(e.callback||function(){return this.chartWidth<=t(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=t(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=t(e.minWidth,0)&&this.chartHeight>=t(e.minHeight,0)}).call(this)&&d.push(a._id)};a.prototype.setResponsive=function(a,d){var e=this,g=this.options.responsive,
+h=this.currentResponsive,k=[];!d&&g&&g.rules&&g.rules.forEach(function(a){"undefined"===typeof a._id&&(a._id=l());e.matchResponsiveRule(a,k)},this);d=B.apply(void 0,k.map(function(a){return x((g||{}).rules||[],function(c){return c._id===a})}).map(function(a){return a&&a.chartOptions}));d.isResponsiveOptions=!0;k=k.toString()||void 0;k!==(h&&h.ruleIds)&&(h&&this.update(h.undoOptions,a,!0),k?(h=this.currentOptions(d),h.isResponsiveOptions=!0,this.currentResponsive={ruleIds:k,mergedOptions:d,undoOptions:h},
+this.update(d,a,!0)):this.currentResponsive=void 0)};return a}()})(e||(e={}));"";"";return e});K(g,"masters/highcharts.src.js",[g["Core/Globals.js"],g["Core/Utilities.js"],g["Core/Defaults.js"],g["Core/Animation/Fx.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Renderer/HTML/AST.js"],g["Core/FormatUtilities.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Renderer/HTML/HTMLElement.js"],g["Core/Renderer/HTML/HTMLRenderer.js"],
 g["Core/Axis/Axis.js"],g["Core/Axis/DateTimeAxis.js"],g["Core/Axis/LogarithmicAxis.js"],g["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],g["Core/Axis/Tick.js"],g["Core/Tooltip.js"],g["Core/Series/Point.js"],g["Core/Pointer.js"],g["Core/MSPointer.js"],g["Core/Legend/Legend.js"],g["Core/Chart/Chart.js"],g["Core/Axis/Stacking/StackingAxis.js"],g["Core/Axis/Stacking/StackItem.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Series/Column/ColumnSeries.js"],g["Series/Column/ColumnDataLabel.js"],
-g["Series/Pie/PieSeries.js"],g["Series/Pie/PieDataLabel.js"],g["Core/Series/DataLabel.js"],g["Core/Responsive.js"],g["Core/Color/Color.js"],g["Core/Time.js"]],function(a,g,x,E,D,B,G,r,t,n,f,c,l,m,e,u,C,J,I,K,A,d,q,h,k,b,p,z,w,N,H,O,Q,S,Y){a.animate=D.animate;a.animObject=D.animObject;a.getDeferredAnimation=D.getDeferredAnimation;a.setAnimation=D.setAnimation;a.stop=D.stop;a.timers=E.timers;a.AST=B;a.Axis=l;a.Chart=q;a.chart=q.chart;a.Fx=E;a.Legend=d;a.PlotLineOrBand=u;a.Point=I;a.Pointer=A.isRequired()?
-A:K;a.Series=b;a.StackItem=k;a.SVGElement=t;a.SVGRenderer=n;a.Tick=C;a.Time=Y;a.Tooltip=J;a.Color=S;a.color=S.parse;c.compose(n);f.compose(t);a.defaultOptions=x.defaultOptions;a.getOptions=x.getOptions;a.time=x.defaultTime;a.setOptions=x.setOptions;a.dateFormat=G.dateFormat;a.format=G.format;a.numberFormat=G.numberFormat;a.addEvent=g.addEvent;a.arrayMax=g.arrayMax;a.arrayMin=g.arrayMin;a.attr=g.attr;a.clearTimeout=g.clearTimeout;a.correctFloat=g.correctFloat;a.createElement=g.createElement;a.css=
-g.css;a.defined=g.defined;a.destroyObjectProperties=g.destroyObjectProperties;a.discardElement=g.discardElement;a.distribute=r.distribute;a.erase=g.erase;a.error=g.error;a.extend=g.extend;a.extendClass=g.extendClass;a.find=g.find;a.fireEvent=g.fireEvent;a.getMagnitude=g.getMagnitude;a.getStyle=g.getStyle;a.inArray=g.inArray;a.isArray=g.isArray;a.isClass=g.isClass;a.isDOMElement=g.isDOMElement;a.isFunction=g.isFunction;a.isNumber=g.isNumber;a.isObject=g.isObject;a.isString=g.isString;a.keys=g.keys;
-a.merge=g.merge;a.normalizeTickInterval=g.normalizeTickInterval;a.objectEach=g.objectEach;a.offset=g.offset;a.pad=g.pad;a.pick=g.pick;a.pInt=g.pInt;a.relativeLength=g.relativeLength;a.removeEvent=g.removeEvent;a.seriesType=p.seriesType;a.splat=g.splat;a.stableSort=g.stableSort;a.syncTimeout=g.syncTimeout;a.timeUnits=g.timeUnits;a.uniqueKey=g.uniqueKey;a.useSerialIds=g.useSerialIds;a.wrap=g.wrap;w.compose(z);O.compose(b);m.compose(l);e.compose(l);H.compose(N);u.compose(l);Q.compose(q);h.compose(l,
-q,b);return a});g["masters/highcharts.src.js"]._modules=g;return g["masters/highcharts.src.js"]});
+g["Series/Pie/PieSeries.js"],g["Series/Pie/PieDataLabel.js"],g["Core/Series/DataLabel.js"],g["Core/Responsive.js"],g["Core/Color/Color.js"],g["Core/Time.js"]],function(a,g,x,F,C,B,H,t,r,l,e,d,h,m,k,p,D,I,E,L,y,c,w,f,n,b,u,z,q,K,J,O,Q,T,Y){a.animate=C.animate;a.animObject=C.animObject;a.getDeferredAnimation=C.getDeferredAnimation;a.setAnimation=C.setAnimation;a.stop=C.stop;a.timers=F.timers;a.AST=B;a.Axis=h;a.Chart=w;a.chart=w.chart;a.Fx=F;a.Legend=c;a.PlotLineOrBand=p;a.Point=E;a.Pointer=y.isRequired()?
+y:L;a.Series=b;a.StackItem=n;a.SVGElement=r;a.SVGRenderer=l;a.Tick=D;a.Time=Y;a.Tooltip=I;a.Color=T;a.color=T.parse;d.compose(l);e.compose(r);a.defaultOptions=x.defaultOptions;a.getOptions=x.getOptions;a.time=x.defaultTime;a.setOptions=x.setOptions;a.dateFormat=H.dateFormat;a.format=H.format;a.numberFormat=H.numberFormat;a.addEvent=g.addEvent;a.arrayMax=g.arrayMax;a.arrayMin=g.arrayMin;a.attr=g.attr;a.clearTimeout=g.clearTimeout;a.correctFloat=g.correctFloat;a.createElement=g.createElement;a.css=
+g.css;a.defined=g.defined;a.destroyObjectProperties=g.destroyObjectProperties;a.discardElement=g.discardElement;a.distribute=t.distribute;a.erase=g.erase;a.error=g.error;a.extend=g.extend;a.extendClass=g.extendClass;a.find=g.find;a.fireEvent=g.fireEvent;a.getMagnitude=g.getMagnitude;a.getStyle=g.getStyle;a.inArray=g.inArray;a.isArray=g.isArray;a.isClass=g.isClass;a.isDOMElement=g.isDOMElement;a.isFunction=g.isFunction;a.isNumber=g.isNumber;a.isObject=g.isObject;a.isString=g.isString;a.keys=g.keys;
+a.merge=g.merge;a.normalizeTickInterval=g.normalizeTickInterval;a.objectEach=g.objectEach;a.offset=g.offset;a.pad=g.pad;a.pick=g.pick;a.pInt=g.pInt;a.relativeLength=g.relativeLength;a.removeEvent=g.removeEvent;a.seriesType=u.seriesType;a.splat=g.splat;a.stableSort=g.stableSort;a.syncTimeout=g.syncTimeout;a.timeUnits=g.timeUnits;a.uniqueKey=g.uniqueKey;a.useSerialIds=g.useSerialIds;a.wrap=g.wrap;q.compose(z);O.compose(b);m.compose(h);k.compose(h);J.compose(K);p.compose(h);Q.compose(w);f.compose(h,
+w,b);return a});g["masters/highcharts.src.js"]._modules=g;return g["masters/highcharts.src.js"]});
 //# sourceMappingURL=highcharts.js.map

+ 1 - 1
nicegui/elements/lib/highcharts_modules/accessibility.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Accessibility module
 

+ 89 - 89
nicegui/elements/lib/highcharts_modules/annotations-advanced.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Annotations module
 
@@ -8,63 +8,63 @@
  License: www.highcharts.com/license
 */
 (function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts"],function(r){e(r);e.Highcharts=r;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function r(e,l,m,k){e.hasOwnProperty(l)||(e[l]=k.apply(null,m),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:e[l]}})))}e=e?e._modules:
-{};r(e,"Extensions/Annotations/AnnotationChart.js",[e["Core/Utilities.js"]],function(e){function l(b,a){b=this.initAnnotation(b);this.options.annotations.push(b.options);g(a,!0)&&(b.redraw(),b.graphic.attr({opacity:1}));return b}function m(){var b=this;b.plotBoxClip=this.renderer.clipRect(this.plotBox);b.controlPointsGroup=b.renderer.g("control-points").attr({zIndex:99}).clip(b.plotBoxClip).add();b.options.annotations.forEach(function(a,c){if(!b.annotations.some(function(b){return b.options===a})){var h=
-b.initAnnotation(a);b.options.annotations[c]=h.options}});b.drawAnnotations();a(b,"redraw",b.drawAnnotations);a(b,"destroy",function(){b.plotBoxClip.destroy();b.controlPointsGroup.destroy()});a(b,"exportData",function(a){var c=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,h=!a.dataRows[1].xValues,d=b.options.lang&&b.options.lang.exportData&&b.options.lang.exportData.annotationHeader,g=function(b){if(c){var a=c(b);if(!1!==a)return a}a=d+" "+b;return h?{columnTitle:a,
-topLevelColumnTitle:a}:a},q=a.dataRows[0].length,u=b.options.exporting&&b.options.exporting.csv&&b.options.exporting.csv.annotations&&b.options.exporting.csv.annotations.itemDelimiter,f=b.options.exporting&&b.options.exporting.csv&&b.options.exporting.csv.annotations&&b.options.exporting.csv.annotations.join;b.annotations.forEach(function(b){b.options.labelOptions&&b.options.labelOptions.includeInDataExport&&b.labels.forEach(function(b){if(b.options.text){var c=b.options.text;b.points.forEach(function(b){var h=
-b.x,d=b.series.xAxis?b.series.xAxis.options.index:-1,g=!1;if(-1===d){b=a.dataRows[0].length;for(var p=Array(b),x=0;x<b;++x)p[x]="";p.push(c);p.xValues=[];p.xValues[d]=h;a.dataRows.push(p);g=!0}g||a.dataRows.forEach(function(b){!g&&b.xValues&&void 0!==d&&h===b.xValues[d]&&(f&&b.length>q?b[b.length-1]+=u+c:b.push(c),g=!0)});if(!g){b=a.dataRows[0].length;p=Array(b);for(x=0;x<b;++x)p[x]="";p[0]=h;p.push(c);p.xValues=[];void 0!==d&&(p.xValues[d]=h);a.dataRows.push(p)}})}})});var p=0;a.dataRows.forEach(function(b){p=
-Math.max(p,b.length)});for(var y=p-a.dataRows[0].length,e=0;e<y;e++){var D=g(e+1);h?(a.dataRows[0].push(D.topLevelColumnTitle),a.dataRows[1].push(D.columnTitle)):a.dataRows[0].push(D)}})}function k(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(b){b.redraw();b.graphic.animate({opacity:1},b.animationConfig)})}function n(a){var d=this.annotations,g="annotations"===a.coll?a:b(d,function(b){return b.options.id===a});g&&(h(g,"remove"),c(this.options.annotations,g.options),c(d,
-g),g.destroy())}function f(){this.annotations=[];this.options.annotations||(this.options.annotations=[])}function d(b){this.chart.hasDraggedAnnotation||b.apply(this,Array.prototype.slice.call(arguments,1))}var a=e.addEvent,c=e.erase,b=e.find,h=e.fireEvent,g=e.pick,q=e.wrap,y=[],p;(function(b){b.compose=function(b,c,h){-1===y.indexOf(c)&&(y.push(c),a(c,"afterInit",f),c=c.prototype,c.addAnnotation=l,c.callbacks.push(m),c.collectionsWithInit.annotations=[l],c.collectionsWithUpdate.push("annotations"),
-c.drawAnnotations=k,c.removeAnnotation=n,c.initAnnotation=function(a){a=new (b.types[a.type]||b)(this,a);this.annotations.push(a);return a});-1===y.indexOf(h)&&(y.push(h),q(h.prototype,"onContainerMouseDown",d))}})(p||(p={}));return p});r(e,"Extensions/Annotations/AnnotationDefaults.js",[e["Core/Utilities.js"]],function(e){var l=e.defined;return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,
+{};r(e,"Extensions/Annotations/AnnotationChart.js",[e["Core/Utilities.js"]],function(e){function l(b,a){b=this.initAnnotation(b);this.options.annotations.push(b.options);h(a,!0)&&(b.redraw(),b.graphic.attr({opacity:1}));return b}function m(){var b=this;b.plotBoxClip=this.renderer.clipRect(this.plotBox);b.controlPointsGroup=b.renderer.g("control-points").attr({zIndex:99}).clip(b.plotBoxClip).add();b.options.annotations.forEach(function(a,c){if(!b.annotations.some(function(b){return b.options===a})){var g=
+b.initAnnotation(a);b.options.annotations[c]=g.options}});b.drawAnnotations();a(b,"redraw",b.drawAnnotations);a(b,"destroy",function(){b.plotBoxClip.destroy();b.controlPointsGroup.destroy()});a(b,"exportData",function(a){var c=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,g=!a.dataRows[1].xValues,d=b.options.lang&&b.options.lang.exportData&&b.options.lang.exportData.annotationHeader,h=function(b){if(c){var a=c(b);if(!1!==a)return a}a=d+" "+b;return g?{columnTitle:a,
+topLevelColumnTitle:a}:a},q=a.dataRows[0].length,u=b.options.exporting&&b.options.exporting.csv&&b.options.exporting.csv.annotations&&b.options.exporting.csv.annotations.itemDelimiter,f=b.options.exporting&&b.options.exporting.csv&&b.options.exporting.csv.annotations&&b.options.exporting.csv.annotations.join;b.annotations.forEach(function(b){b.options.labelOptions&&b.options.labelOptions.includeInDataExport&&b.labels.forEach(function(b){if(b.options.text){var c=b.options.text;b.points.forEach(function(b){var g=
+b.x,d=b.series.xAxis?b.series.xAxis.options.index:-1,h=!1;if(-1===d){b=a.dataRows[0].length;for(var p=Array(b),x=0;x<b;++x)p[x]="";p.push(c);p.xValues=[];p.xValues[d]=g;a.dataRows.push(p);h=!0}h||a.dataRows.forEach(function(b){!h&&b.xValues&&void 0!==d&&g===b.xValues[d]&&(f&&b.length>q?b[b.length-1]+=u+c:b.push(c),h=!0)});if(!h){b=a.dataRows[0].length;p=Array(b);for(x=0;x<b;++x)p[x]="";p[0]=g;p.push(c);p.xValues=[];void 0!==d&&(p.xValues[d]=g);a.dataRows.push(p)}})}})});var p=0;a.dataRows.forEach(function(b){p=
+Math.max(p,b.length)});for(var y=p-a.dataRows[0].length,e=0;e<y;e++){var D=h(e+1);g?(a.dataRows[0].push(D.topLevelColumnTitle),a.dataRows[1].push(D.columnTitle)):a.dataRows[0].push(D)}})}function k(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(b){b.redraw();b.graphic.animate({opacity:1},b.animationConfig)})}function n(a){var d=this.annotations,h="annotations"===a.coll?a:b(d,function(b){return b.options.id===a});h&&(g(h,"remove"),c(this.options.annotations,h.options),c(d,
+h),h.destroy())}function f(){this.annotations=[];this.options.annotations||(this.options.annotations=[])}function d(b){this.chart.hasDraggedAnnotation||b.apply(this,Array.prototype.slice.call(arguments,1))}var a=e.addEvent,c=e.erase,b=e.find,g=e.fireEvent,h=e.pick,q=e.wrap,y=[],p;(function(b){b.compose=function(b,c,g){-1===y.indexOf(c)&&(y.push(c),a(c,"afterInit",f),c=c.prototype,c.addAnnotation=l,c.callbacks.push(m),c.collectionsWithInit.annotations=[l],c.collectionsWithUpdate.push("annotations"),
+c.drawAnnotations=k,c.removeAnnotation=n,c.initAnnotation=function(a){a=new (b.types[a.type]||b)(this,a);this.annotations.push(a);return a});-1===y.indexOf(g)&&(y.push(g),q(g.prototype,"onContainerMouseDown",d))}})(p||(p={}));return p});r(e,"Extensions/Annotations/AnnotationDefaults.js",[e["Core/Utilities.js"]],function(e){var l=e.defined;return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,
 borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return l(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},
 height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}});r(e,"Extensions/Annotations/EventEmitter.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){var m=e.doc,k=e.isTouchDevice,n=l.addEvent,f=l.fireEvent,d=l.objectEach,a=l.pick,c=l.removeEvent;return function(){function b(){}b.prototype.addEvents=function(){var b=this,a=function(a){n(a,k?"touchstart":"mousedown",function(a){b.onMouseDown(a)},{passive:!1})};a(this.graphic.element);(b.labels||[]).forEach(function(b){b.options.useHTML&&
-b.graphic.text&&a(b.graphic.text.element)});d(b.options.events,function(a,c){var h=function(h){"click"===c&&b.cancelClick||a.call(b,b.chart.pointer.normalize(h),b.target)};if(-1===(b.nonDOMEvents||[]).indexOf(c))b.graphic.on(c,h);else n(b,c,h,{passive:!1})});if(b.options.draggable&&(n(b,"drag",b.onDrag),!b.graphic.renderer.styledMode)){var c={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[b.options.draggable]};b.graphic.css(c);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&
-b.graphic.text.css(c)})}b.isUpdating||f(b,"add")};b.prototype.destroy=function(){this.removeDocEvents();c(this);this.hcEvents=null};b.prototype.mouseMoveToRadians=function(b,a,c){var h=b.prevChartY-c,d=b.prevChartX-a;c=b.chartY-c;b=b.chartX-a;this.chart.inverted&&(a=d,d=h,h=a,a=b,b=c,c=a);return Math.atan2(c,b)-Math.atan2(h,d)};b.prototype.mouseMoveToScale=function(b,a,c){a=(b.chartX-a||1)/(b.prevChartX-a||1);b=(b.chartY-c||1)/(b.prevChartY-c||1);this.chart.inverted&&(c=b,b=a,a=c);return{x:a,y:b}};
+b.graphic.text&&a(b.graphic.text.element)});d(b.options.events,function(a,c){var g=function(g){"click"===c&&b.cancelClick||a.call(b,b.chart.pointer.normalize(g),b.target)};if(-1===(b.nonDOMEvents||[]).indexOf(c))b.graphic.on(c,g);else n(b,c,g,{passive:!1})});if(b.options.draggable&&(n(b,"drag",b.onDrag),!b.graphic.renderer.styledMode)){var c={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[b.options.draggable]};b.graphic.css(c);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&
+b.graphic.text.css(c)})}b.isUpdating||f(b,"add")};b.prototype.destroy=function(){this.removeDocEvents();c(this);this.hcEvents=null};b.prototype.mouseMoveToRadians=function(b,a,c){var g=b.prevChartY-c,d=b.prevChartX-a;c=b.chartY-c;b=b.chartX-a;this.chart.inverted&&(a=d,d=g,g=a,a=b,b=c,c=a);return Math.atan2(c,b)-Math.atan2(g,d)};b.prototype.mouseMoveToScale=function(b,a,c){a=(b.chartX-a||1)/(b.prevChartX-a||1);b=(b.chartY-c||1)/(b.prevChartY-c||1);this.chart.inverted&&(c=b,b=a,a=c);return{x:a,y:b}};
 b.prototype.mouseMoveToTranslation=function(b){var a=b.chartX-b.prevChartX;b=b.chartY-b.prevChartY;if(this.chart.inverted){var c=b;b=a;a=c}return{x:a,y:b}};b.prototype.onDrag=function(b){if(this.chart.isInsidePlot(b.chartX-this.chart.plotLeft,b.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){var a=this.mouseMoveToTranslation(b);"x"===this.options.draggable&&(a.y=0);"y"===this.options.draggable&&(a.x=0);this.points.length?this.translate(a.x,a.y):(this.shapes.forEach(function(b){return b.translate(a.x,
-a.y)}),this.labels.forEach(function(b){return b.translate(a.x,a.y)}));this.redraw(!1)}};b.prototype.onMouseDown=function(b){b.preventDefault&&b.preventDefault();if(2!==b.button){var c=this,d=c.chart.pointer;b=d.normalize(b);var h=b.chartX,p=b.chartY;c.cancelClick=!1;c.chart.hasDraggedAnnotation=!0;c.removeDrag=n(m,k?"touchmove":"mousemove",function(b){c.hasDragged=!0;b=d.normalize(b);b.prevChartX=h;b.prevChartY=p;f(c,"drag",b);h=b.chartX;p=b.chartY},k?{passive:!1}:void 0);c.removeMouseUp=n(m,k?"touchend":
+a.y)}),this.labels.forEach(function(b){return b.translate(a.x,a.y)}));this.redraw(!1)}};b.prototype.onMouseDown=function(b){b.preventDefault&&b.preventDefault();if(2!==b.button){var c=this,d=c.chart.pointer;b=d.normalize(b);var g=b.chartX,p=b.chartY;c.cancelClick=!1;c.chart.hasDraggedAnnotation=!0;c.removeDrag=n(m,k?"touchmove":"mousemove",function(b){c.hasDragged=!0;b=d.normalize(b);b.prevChartX=g;b.prevChartY=p;f(c,"drag",b);g=b.chartX;p=b.chartY},k?{passive:!1}:void 0);c.removeMouseUp=n(m,k?"touchend":
 "mouseup",function(b){var d=a(c.target&&c.target.annotation,c.target);d&&(d.cancelClick=c.hasDragged);c.cancelClick=c.hasDragged;c.hasDragged=!1;c.chart.hasDraggedAnnotation=!1;f(a(d,c),"afterUpdate");c.onMouseUp(b)},k?{passive:!1}:void 0)}};b.prototype.onMouseUp=function(b){var a=this.chart;b=this.target||this;var c=a.options.annotations;a=a.annotations.indexOf(b);this.removeDocEvents();c[a]=b.options};b.prototype.removeDocEvents=function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&
 (this.removeMouseUp=this.removeMouseUp())};return b}()});r(e,"Extensions/Annotations/ControlPoint.js",[e["Extensions/Annotations/EventEmitter.js"],e["Core/Utilities.js"]],function(e,l){var m=this&&this.__extends||function(){var f=function(d,a){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return f(d,a)};return function(d,a){function c(){this.constructor=d}f(d,a);d.prototype=null===a?Object.create(a):
-(c.prototype=a.prototype,new c)}}(),k=l.merge,n=l.pick;e=function(f){function d(a,c,b,d){var h=f.call(this)||this;h.graphic=void 0;h.nonDOMEvents=["drag"];h.chart=a;h.target=c;h.options=b;h.index=n(b.index,d);return h}m(d,f);d.prototype.destroy=function(){f.prototype.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};d.prototype.redraw=function(a){this.graphic[a?"animate":"attr"](this.options.positioner.call(this,this.target))};d.prototype.render=
+(c.prototype=a.prototype,new c)}}(),k=l.merge,n=l.pick;e=function(f){function d(a,c,b,d){var g=f.call(this)||this;g.graphic=void 0;g.nonDOMEvents=["drag"];g.chart=a;g.target=c;g.options=b;g.index=n(b.index,d);return g}m(d,f);d.prototype.destroy=function(){f.prototype.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};d.prototype.redraw=function(a){this.graphic[a?"animate":"attr"](this.options.positioner.call(this,this.target))};d.prototype.render=
 function(){var a=this.chart,c=this.options;this.graphic=a.renderer.symbol(c.symbol,0,0,c.width,c.height).add(a.controlPointsGroup).css(c.style);this.setVisibility(c.visible);this.addEvents()};d.prototype.setVisibility=function(a){this.graphic[a?"show":"hide"]();this.options.visible=a};d.prototype.update=function(a){var c=this.chart,b=this.target,d=this.index;a=k(!0,this.options,a);this.destroy();this.constructor(c,b,a,d);this.render(c.controlPointsGroup);this.redraw()};return d}(e);"";return e});
 r(e,"Extensions/Annotations/MockPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,l){var m=e.series.prototype,k=l.defined,n=l.fireEvent;e=function(){function f(d,a,c){this.plotY=this.plotX=void 0;this.mock=!0;this.series={visible:!0,chart:d,getPlotBox:m.getPlotBox};this.target=a||null;this.options=c;this.applyOptions(this.getOptions())}f.fromPoint=function(d){return new f(d.series.chart,null,{x:d.x,y:d.y,xAxis:d.series.xAxis,yAxis:d.series.yAxis})};f.pointToPixels=function(d,
-a){var c=d.series,b=c.chart,h=d.plotX||0,g=d.plotY||0;b.inverted&&(d.mock?(h=d.plotY,g=d.plotX):(h=b.plotWidth-(d.plotY||0),g=b.plotHeight-(d.plotX||0)));c&&!a&&(d=c.getPlotBox(),h+=d.translateX,g+=d.translateY);return{x:h,y:g}};f.pointToOptions=function(d){return{x:d.x,y:d.y,xAxis:d.series.xAxis,yAxis:d.series.yAxis}};f.prototype.applyOptions=function(d){this.command=d.command;this.setAxis(d,"x");this.setAxis(d,"y");this.refresh()};f.prototype.getLabelConfig=function(){return{x:this.x,y:this.y,point:this}};
-f.prototype.getOptions=function(){return this.hasDynamicOptions()?this.options(this.target):this.options};f.prototype.hasDynamicOptions=function(){return"function"===typeof this.options};f.prototype.isInsidePlot=function(){var d=this.plotX,a=this.plotY,c=this.series.xAxis,b=this.series.yAxis,h={x:d,y:a,isInsidePlot:!0,options:{}};c&&(h.isInsidePlot=k(d)&&0<=d&&d<=c.len);b&&(h.isInsidePlot=h.isInsidePlot&&k(a)&&0<=a&&a<=b.len);n(this.series.chart,"afterIsInsidePlot",h);return h.isInsidePlot};f.prototype.refresh=
+a){var c=d.series,b=c.chart,g=d.plotX||0,h=d.plotY||0;b.inverted&&(d.mock?(g=d.plotY,h=d.plotX):(g=b.plotWidth-(d.plotY||0),h=b.plotHeight-(d.plotX||0)));c&&!a&&(d=c.getPlotBox(),g+=d.translateX,h+=d.translateY);return{x:g,y:h}};f.pointToOptions=function(d){return{x:d.x,y:d.y,xAxis:d.series.xAxis,yAxis:d.series.yAxis}};f.prototype.applyOptions=function(d){this.command=d.command;this.setAxis(d,"x");this.setAxis(d,"y");this.refresh()};f.prototype.getLabelConfig=function(){return{x:this.x,y:this.y,point:this}};
+f.prototype.getOptions=function(){return this.hasDynamicOptions()?this.options(this.target):this.options};f.prototype.hasDynamicOptions=function(){return"function"===typeof this.options};f.prototype.isInsidePlot=function(){var d=this.plotX,a=this.plotY,c=this.series.xAxis,b=this.series.yAxis,g={x:d,y:a,isInsidePlot:!0,options:{}};c&&(g.isInsidePlot=k(d)&&0<=d&&d<=c.len);b&&(g.isInsidePlot=g.isInsidePlot&&k(a)&&0<=a&&a<=b.len);n(this.series.chart,"afterIsInsidePlot",g);return g.isInsidePlot};f.prototype.refresh=
 function(){var d=this.series,a=d.xAxis;d=d.yAxis;var c=this.getOptions();a?(this.x=c.x,this.plotX=a.toPixels(c.x,!0)):(this.x=void 0,this.plotX=c.x);d?(this.y=c.y,this.plotY=d.toPixels(c.y,!0)):(this.y=null,this.plotY=c.y);this.isInside=this.isInsidePlot()};f.prototype.refreshOptions=function(){var d=this.series,a=d.xAxis;d=d.yAxis;this.x=this.options.x=a?this.options.x=a.toValue(this.plotX,!0):this.plotX;this.y=this.options.y=d?d.toValue(this.plotY,!0):this.plotY};f.prototype.rotate=function(d,a,
-c){if(!this.hasDynamicOptions()){var b=Math.cos(c);c=Math.sin(c);var h=this.plotX-d,g=this.plotY-a;this.plotX=h*b-g*c+d;this.plotY=h*c+g*b+a;this.refreshOptions()}};f.prototype.scale=function(d,a,c,b){if(!this.hasDynamicOptions()){var h=this.plotY*b;this.plotX=(1-c)*d+this.plotX*c;this.plotY=(1-b)*a+h;this.refreshOptions()}};f.prototype.setAxis=function(d,a){a+="Axis";d=d[a];var c=this.series.chart;this.series[a]="object"===typeof d?d:k(d)?c[a][d]||c.get(d):null};f.prototype.toAnchor=function(){var d=
+c){if(!this.hasDynamicOptions()){var b=Math.cos(c);c=Math.sin(c);var g=this.plotX-d,h=this.plotY-a;this.plotX=g*b-h*c+d;this.plotY=g*c+h*b+a;this.refreshOptions()}};f.prototype.scale=function(d,a,c,b){if(!this.hasDynamicOptions()){var g=this.plotY*b;this.plotX=(1-c)*d+this.plotX*c;this.plotY=(1-b)*a+g;this.refreshOptions()}};f.prototype.setAxis=function(d,a){a+="Axis";d=d[a];var c=this.series.chart;this.series[a]="object"===typeof d?d:k(d)?c[a][d]||c.get(d):null};f.prototype.toAnchor=function(){var d=
 [this.plotX,this.plotY,0,0];this.series.chart.inverted&&(d[0]=this.plotY,d[1]=this.plotX);return d};f.prototype.translate=function(d,a,c,b){this.hasDynamicOptions()||(this.plotX+=c,this.plotY+=b,this.refreshOptions())};return f}();"";return e});r(e,"Extensions/Annotations/Controllables/Controllable.js",[e["Extensions/Annotations/ControlPoint.js"],e["Extensions/Annotations/MockPoint.js"],e["Core/Tooltip.js"],e["Core/Utilities.js"]],function(e,l,m,k){var n=k.isObject,f=k.isString,d=k.merge,a=k.splat;
-k=function(){function c(b,a,c,d){this.graphic=void 0;this.annotation=b;this.chart=b.chart;this.collection="label"===d?"labels":"shapes";this.options=a;this.points=[];this.controlPoints=[];this.index=c;this.itemType=d;this.init(b,a,c)}c.prototype.addControlPoints=function(){var b=this,a=this.controlPoints,c=this.options.controlPoints||[];c.forEach(function(h,g){h=d(b.options.controlPointOptions,h);h.index||(h.index=g);c[g]=h;a.push(new e(b.chart,b,h))})};c.prototype.anchor=function(b){var a=b.series.getPlotBox(),
+k=function(){function c(b,a,c,d){this.graphic=void 0;this.annotation=b;this.chart=b.chart;this.collection="label"===d?"labels":"shapes";this.options=a;this.points=[];this.controlPoints=[];this.index=c;this.itemType=d;this.init(b,a,c)}c.prototype.addControlPoints=function(){var b=this,a=this.controlPoints,c=this.options.controlPoints||[];c.forEach(function(g,h){g=d(b.options.controlPointOptions,g);g.index||(g.index=h);c[h]=g;a.push(new e(b.chart,b,g))})};c.prototype.anchor=function(b){var a=b.series.getPlotBox(),
 c=b.series.chart,q=b.mock?b.toAnchor():m.prototype.getAnchor.call({chart:b.series.chart},b);q={x:q[0]+(this.options.x||0),y:q[1]+(this.options.y||0),height:q[2]||0,width:q[3]||0};return{relativePosition:q,absolutePosition:d(q,{x:q.x+(b.mock?a.translateX:c.plotLeft),y:q.y+(b.mock?a.translateY:c.plotTop)})}};c.prototype.attr=function(){for(var b=0;b<arguments.length;b++);this.graphic.attr.apply(this.graphic,arguments)};c.prototype.attrsFromOptions=function(b){var a=this.constructor.attrsMap,c={},d=
 this.chart.styledMode,f;for(f in b){var e=a[f];"undefined"===typeof a[f]||d&&-1!==["fill","stroke","stroke-width"].indexOf(e)||(c[e]=b[f])}return c};c.prototype.destroy=function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(b){return b.destroy()});this.options=this.controlPoints=this.points=this.chart=null;this.annotation&&(this.annotation=null)};c.prototype.getPointsOptions=function(){var b=this.options;
 return b.points||b.point&&a(b.point)};c.prototype.init=function(b,a,c){this.annotation=b;this.chart=b.chart;this.options=a;this.points=[];this.controlPoints=[];this.index=c;this.linkPoints();this.addControlPoints()};c.prototype.linkPoints=function(){var b=this.getPointsOptions(),a=this.points,c=b&&b.length||0,d;for(d=0;d<c;d++){var f=this.point(b[d],a[d]);if(!f){a.length=0;return}f.mock&&f.refresh();a[d]=f}return a};c.prototype.point=function(b,a){if(b&&b.series)return b;a&&null!==a.series||(n(b)?
 a=new l(this.chart,this,b):f(b)?a=this.chart.get(b)||null:"function"===typeof b&&(a=b.call(a,this),a=a.series?a:new l(this.chart,this,b)));return a};c.prototype.render=function(b){this.controlPoints.forEach(function(b){return b.render()})};c.prototype.redraw=function(b){this.controlPoints.forEach(function(a){return a.redraw(b)})};c.prototype.rotate=function(b,a,c){this.transform("rotate",b,a,c)};c.prototype.scale=function(b,a,c,d){this.transform("scale",b,a,c,d)};c.prototype.setControlPointsVisibility=
-function(b){this.controlPoints.forEach(function(a){a.setVisibility(b)})};c.prototype.shouldBeDrawn=function(){return!!this.points.length};c.prototype.transform=function(b,a,c,d,f){var h=this;if(this.chart.inverted){var g=a;a=c;c=g}this.points.forEach(function(g,q){return h.transformPoint(b,a,c,d,f,q)},this)};c.prototype.transformPoint=function(b,a,c,d,f,e){var h=this.points[e];h.mock||(h=this.points[e]=l.fromPoint(h));h[b](a,c,d,f)};c.prototype.translate=function(b,a){this.transform("translate",null,
-null,b,a)};c.prototype.translatePoint=function(b,a,c){this.transformPoint("translate",null,null,b,a,c)};c.prototype.translateShape=function(b,a,c){var d=this.annotation.chart,h=this.annotation.userOptions,g=d.annotations.indexOf(this.annotation);d=d.options.annotations[g];this.translatePoint(b,a,0);c&&this.translatePoint(b,a,1);d[this.collection][this.index].point=this.options.point;h[this.collection][this.index].point=this.options.point};c.prototype.update=function(b){var a=this.annotation;b=d(!0,
+function(b){this.controlPoints.forEach(function(a){a.setVisibility(b)})};c.prototype.shouldBeDrawn=function(){return!!this.points.length};c.prototype.transform=function(b,a,c,d,f){var g=this;if(this.chart.inverted){var h=a;a=c;c=h}this.points.forEach(function(h,q){return g.transformPoint(b,a,c,d,f,q)},this)};c.prototype.transformPoint=function(b,a,c,d,f,e){var g=this.points[e];g.mock||(g=this.points[e]=l.fromPoint(g));g[b](a,c,d,f)};c.prototype.translate=function(b,a){this.transform("translate",null,
+null,b,a)};c.prototype.translatePoint=function(b,a,c){this.transformPoint("translate",null,null,b,a,c)};c.prototype.translateShape=function(b,a,c){var d=this.annotation.chart,g=this.annotation.userOptions,h=d.annotations.indexOf(this.annotation);d=d.options.annotations[h];this.translatePoint(b,a,0);c&&this.translatePoint(b,a,1);d[this.collection][this.index].point=this.options.point;g[this.collection][this.index].point=this.options.point};c.prototype.update=function(b){var a=this.annotation;b=d(!0,
 this.options,b);var c=this.graphic.parentGroup;this.destroy();this.constructor(a,b,this.index,this.itemType);this.render(c);this.redraw()};return c}();"";return k});r(e,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",
 refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}});r(e,"Extensions/Annotations/Controllables/ControllablePath.js",[e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllableDefaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l,m,k){function n(b){return function(a){this.attr(b,"url(#"+a+")")}}function f(){this.options.defs=q(c,this.options.defs||
 {})}function d(b,a){var c={attributes:{id:b}},d={stroke:a.color||"none",fill:a.color||"rgba(0, 0, 0, 0.75)"};c.children=a.children&&a.children.map(function(b){return q(d,b)});a=q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},a,c);a=this.definition(a);a.id=b;return a}var a=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};
-return b(a,c)};return function(a,c){function d(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),c=l.defaultMarkers,b=k.addEvent,h=k.defined,g=k.extend,q=k.merge,y=k.uniqueKey,p=[],u=n("marker-end"),D=n("marker-start"),z="rgba(192,192,192,"+(m.svg?.0001:.002)+")";return function(c){function e(b,a,d){b=c.call(this,b,a,d,"shape")||this;b.type="path";return b}a(e,c);e.compose=function(a,c){-1===p.indexOf(a)&&(p.push(a),b(a,"afterGetContainer",f));-1===
-p.indexOf(c)&&(p.push(c),c.prototype.addMarker=d)};e.prototype.toD=function(){var b=this.options.d;if(b)return"function"===typeof b?b.call(this):b;b=this.points;var a=b.length,c=[],d=a,h=b[0],g=d&&this.anchor(h).absolutePosition,f=0;if(g)for(c.push(["M",g.x,g.y]);++f<a&&d;)h=b[f],d=h.command||"L",g=this.anchor(h).absolutePosition,"M"===d?c.push([d,g.x,g.y]):"L"===d?c.push([d,g.x,g.y]):"Z"===d&&c.push([d]),d=h.series.visible;return d&&this.graphic?this.chart.renderer.crispLine(c,this.graphic.strokeWidth()):
+return b(a,c)};return function(a,c){function d(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),c=l.defaultMarkers,b=k.addEvent,g=k.defined,h=k.extend,q=k.merge,y=k.uniqueKey,p=[],u=n("marker-end"),D=n("marker-start"),z="rgba(192,192,192,"+(m.svg?.0001:.002)+")";return function(c){function e(b,a,d){b=c.call(this,b,a,d,"shape")||this;b.type="path";return b}a(e,c);e.compose=function(a,c){-1===p.indexOf(a)&&(p.push(a),b(a,"afterGetContainer",f));-1===
+p.indexOf(c)&&(p.push(c),c.prototype.addMarker=d)};e.prototype.toD=function(){var b=this.options.d;if(b)return"function"===typeof b?b.call(this):b;b=this.points;var a=b.length,c=[],d=a,g=b[0],h=d&&this.anchor(g).absolutePosition,f=0;if(h)for(c.push(["M",h.x,h.y]);++f<a&&d;)g=b[f],d=g.command||"L",h=this.anchor(g).absolutePosition,"M"===d?c.push([d,h.x,h.y]):"L"===d?c.push([d,h.x,h.y]):"Z"===d&&c.push([d]),d=g.series.visible;return d&&this.graphic?this.chart.renderer.crispLine(c,this.graphic.strokeWidth()):
 null};e.prototype.shouldBeDrawn=function(){return c.prototype.shouldBeDrawn.call(this)||!!this.options.d};e.prototype.render=function(b){var a=this.options,d=this.attrsFromOptions(a);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(d).add(b);a.className&&this.graphic.addClass(a.className);this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(b);this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",
-stroke:z,fill:z,"stroke-width":this.graphic.strokeWidth()+2*a.snap});c.prototype.render.call(this);g(this.graphic,{markerStartSetter:D,markerEndSetter:u});this.setMarkers(this)};e.prototype.redraw=function(b){if(this.graphic){var a=this.toD(),d=b?"animate":"attr";a?(this.graphic[d]({d:a}),this.tracker[d]({d:a})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!a}c.prototype.redraw.call(this,b)};e.prototype.setMarkers=function(b){var a=
-b.options,c=b.chart,d=c.options.defs,g=a.fill,f=h(g)&&"none"!==g?g:a.stroke;["markerStart","markerEnd"].forEach(function(h){var g=a[h],e;if(g){for(e in d){var p=d[e];if((g===(p.attributes&&p.attributes.id)||g===p.id)&&"marker"===p.tagName){var u=p;break}}u&&(g=b[h]=c.renderer.addMarker((a.id||y())+"-"+g,q(u,{color:f})),b.attr(h,g.getAttribute("id")))}})};e.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return e}(e)});r(e,"Extensions/Annotations/Controllables/ControllableRect.js",
+stroke:z,fill:z,"stroke-width":this.graphic.strokeWidth()+2*a.snap});c.prototype.render.call(this);h(this.graphic,{markerStartSetter:D,markerEndSetter:u});this.setMarkers(this)};e.prototype.redraw=function(b){if(this.graphic){var a=this.toD(),d=b?"animate":"attr";a?(this.graphic[d]({d:a}),this.tracker[d]({d:a})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!a}c.prototype.redraw.call(this,b)};e.prototype.setMarkers=function(b){var a=
+b.options,c=b.chart,d=c.options.defs,h=a.fill,f=g(h)&&"none"!==h?h:a.stroke;["markerStart","markerEnd"].forEach(function(g){var h=a[g],e;if(h){for(e in d){var p=d[e];if((h===(p.attributes&&p.attributes.id)||h===p.id)&&"marker"===p.tagName){var u=p;break}}u&&(h=b[g]=c.renderer.addMarker((a.id||y())+"-"+h,q(u,{color:f})),b.attr(g,h.getAttribute("id")))}})};e.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return e}(e)});r(e,"Extensions/Annotations/Controllables/ControllableRect.js",
 [e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllablePath.js"],e["Core/Utilities.js"]],function(e,l,m){var k=this&&this.__extends||function(){var f=function(d,a){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return f(d,a)};return function(d,a){function c(){this.constructor=d}f(d,a);d.prototype=null===a?Object.create(a):(c.prototype=a.prototype,
 new c)}}(),n=m.merge;return function(f){function d(a,c,b){a=f.call(this,a,c,b,"shape")||this;a.type="rect";a.translate=f.prototype.translateShape;return a}k(d,f);d.prototype.render=function(a){var c=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(c).add(a);f.prototype.render.call(this)};d.prototype.redraw=function(a){if(this.graphic){var c=this.anchor(this.points[0]).absolutePosition;if(c)this.graphic[a?"animate":"attr"]({x:c.x,y:c.y,width:this.options.width,
 height:this.options.height});else this.attr({x:0,y:-9E9});this.graphic.placed=!!c}f.prototype.redraw.call(this,a)};d.attrsMap=n(l.attrsMap,{width:"width",height:"height"});return d}(e)});r(e,"Extensions/Annotations/Controllables/ControllableCircle.js",[e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllablePath.js"],e["Core/Utilities.js"]],function(e,l,m){var k=this&&this.__extends||function(){var f=function(d,a){f=Object.setPrototypeOf||{__proto__:[]}instanceof
 Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return f(d,a)};return function(d,a){function c(){this.constructor=d}f(d,a);d.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),n=m.merge;return function(f){function d(a,c,b){a=f.call(this,a,c,b,"shape")||this;a.type="circle";a.translate=f.prototype.translateShape;return a}k(d,f);d.prototype.redraw=function(a){if(this.graphic){var c=this.anchor(this.points[0]).absolutePosition;
 if(c)this.graphic[a?"animate":"attr"]({x:c.x,y:c.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!c}f.prototype.redraw.call(this,a)};d.prototype.render=function(a){var c=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(c).add(a);f.prototype.render.call(this)};d.prototype.setRadius=function(a){this.options.r=a};d.attrsMap=n(l.attrsMap,{r:"r"});return d}(e)});r(e,"Extensions/Annotations/Controllables/ControllableEllipse.js",
 [e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllablePath.js"],e["Core/Utilities.js"]],function(e,l,m){var k=this&&this.__extends||function(){var d=function(a,c){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return d(a,c)};return function(a,c){function b(){this.constructor=a}d(a,c);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,
-new b)}}(),n=m.merge,f=m.defined;return function(d){function a(a,b,h){a=d.call(this,a,b,h,"shape")||this;a.type="ellipse";return a}k(a,d);a.prototype.init=function(a,b,h){f(b.yAxis)&&b.points.forEach(function(a){a.yAxis=b.yAxis});f(b.xAxis)&&b.points.forEach(function(a){a.xAxis=b.xAxis});d.prototype.init.call(this,a,b,h)};a.prototype.render=function(a){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(a);d.prototype.render.call(this)};
-a.prototype.translate=function(a,b){d.prototype.translateShape.call(this,a,b,!0)};a.prototype.getDistanceFromLine=function(a,b,d,g){return Math.abs((b.y-a.y)*d-(b.x-a.x)*g+b.x*a.y-b.y*a.x)/Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x))};a.prototype.getAttrs=function(a,b){var c=a.x,d=a.y,f=b.x,e=b.y;b=(c+f)/2;a=(d+e)/2;var p=Math.sqrt((c-f)*(c-f)/4+(d-e)*(d-e)/4);d=180*Math.atan((e-d)/(f-c))/Math.PI;b<c&&(d+=180);c=this.getRY();return{cx:b,cy:a,rx:p,ry:c,angle:d}};a.prototype.getRY=function(){var a=
+new b)}}(),n=m.merge,f=m.defined;return function(d){function a(a,b,g){a=d.call(this,a,b,g,"shape")||this;a.type="ellipse";return a}k(a,d);a.prototype.init=function(a,b,g){f(b.yAxis)&&b.points.forEach(function(a){a.yAxis=b.yAxis});f(b.xAxis)&&b.points.forEach(function(a){a.xAxis=b.xAxis});d.prototype.init.call(this,a,b,g)};a.prototype.render=function(a){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(a);d.prototype.render.call(this)};
+a.prototype.translate=function(a,b){d.prototype.translateShape.call(this,a,b,!0)};a.prototype.getDistanceFromLine=function(a,b,d,h){return Math.abs((b.y-a.y)*d-(b.x-a.x)*h+b.x*a.y-b.y*a.x)/Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x))};a.prototype.getAttrs=function(a,b){var c=a.x,d=a.y,f=b.x,e=b.y;b=(c+f)/2;a=(d+e)/2;var p=Math.sqrt((c-f)*(c-f)/4+(d-e)*(d-e)/4);d=180*Math.atan((e-d)/(f-c))/Math.PI;b<c&&(d+=180);c=this.getRY();return{cx:b,cy:a,rx:p,ry:c,angle:d}};a.prototype.getRY=function(){var a=
 this.getYAxis();return f(a)?Math.abs(a.toPixels(this.options.ry)-a.toPixels(0)):this.options.ry};a.prototype.getYAxis=function(){return this.chart.yAxis[this.options.yAxis]};a.prototype.getAbsolutePosition=function(a){return this.anchor(a).absolutePosition};a.prototype.redraw=function(a){if(this.graphic){var b=this.getAbsolutePosition(this.points[0]),c=this.getAbsolutePosition(this.points[1]);c=this.getAttrs(b,c);if(b)this.graphic[a?"animate":"attr"]({cx:c.cx,cy:c.cy,rx:c.rx,ry:c.ry,rotation:c.angle,
 rotationOriginX:c.cx,rotationOriginY:c.cy});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b}d.prototype.redraw.call(this,a)};a.prototype.setYRadius=function(a){var b=this.annotation.userOptions.shapes;this.options.ry=a;b&&b[0]&&(b[0].ry=a,b[0].ry=a)};a.attrsMap=n(l.attrsMap,{ry:"ry"});return a}(e)});r(e,"Extensions/Annotations/Controllables/ControllableLabel.js",[e["Extensions/Annotations/Controllables/Controllable.js"],e["Core/FormatUtilities.js"],e["Extensions/Annotations/MockPoint.js"],
-e["Core/Tooltip.js"],e["Core/Utilities.js"]],function(e,l,m,k,n){function f(a,c,d,h,g){var f=g&&g.anchorX;g=g&&g.anchorY;var e=d/2;if(b(f)&&b(g)){var q=[["M",f,g]];var p=c-g;0>p&&(p=-h-p);p<d&&(e=f<a+d/2?p:d-p);g>c+h?q.push(["L",a+e,c+h]):g<c?q.push(["L",a+e,c]):f<a?q.push(["L",a,c+h/2]):f>a+d&&q.push(["L",a+d,c+h/2])}return q||[]}var d=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&
-(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),a=l.format,c=n.extend,b=n.isNumber,h=n.pick,g=[];return function(b){function e(a,c,d){return b.call(this,a,c,d,"label")||this}d(e,b);e.alignedPosition=function(b,a){var c=b.align,d=b.verticalAlign,h=(a.x||0)+(b.x||0),g=(a.y||0)+(b.y||0),e,f;"right"===c?e=1:"center"===c&&(e=2);e&&(h+=(a.width-(b.width||0))/e);"bottom"===d?f=1:"middle"===d&&
-(f=2);f&&(g+=(a.height-(b.height||0))/f);return{x:Math.round(h),y:Math.round(g)}};e.compose=function(b){-1===g.indexOf(b)&&(g.push(b),b.prototype.symbols.connector=f)};e.justifiedOptions=function(b,a,c,d){var h=c.align,g=c.verticalAlign,e=a.box?0:a.padding||0,f=a.getBBox();a={align:h,verticalAlign:g,x:c.x,y:c.y,width:a.width,height:a.height};c=(d.x||0)-b.plotLeft;d=(d.y||0)-b.plotTop;var q=c+e;0>q&&("right"===h?a.align="left":a.x=(a.x||0)-q);q=c+f.width-e;q>b.plotWidth&&("left"===h?a.align="right":
-a.x=(a.x||0)+b.plotWidth-q);q=d+e;0>q&&("bottom"===g?a.verticalAlign="top":a.y=(a.y||0)-q);q=d+f.height-e;q>b.plotHeight&&("top"===g?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-q);return a};e.prototype.translatePoint=function(a,c){b.prototype.translatePoint.call(this,a,c,0)};e.prototype.translate=function(a,b){var c=this.annotation.chart,d=this.annotation.userOptions,h=c.annotations.indexOf(this.annotation);h=c.options.annotations[h];c.inverted&&(c=a,a=b,b=c);this.options.x+=a;this.options.y+=
-b;h[this.collection][this.index].x=this.options.x;h[this.collection][this.index].y=this.options.y;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y};e.prototype.render=function(a){var c=this.options,d=this.attrsFromOptions(c),h=c.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,c.shape,null,null,c.useHTML,null,"annotation-label").attr(d).add(a);this.annotation.chart.styledMode||("contrast"===h.color&&(h.color=this.annotation.chart.renderer.getContrast(-1<
-e.shapesWithoutBackground.indexOf(c.shape)?"#FFFFFF":c.backgroundColor)),this.graphic.css(c.style).shadow(c.shadow));c.className&&this.graphic.addClass(c.className);this.graphic.labelrank=c.labelrank;b.prototype.render.call(this)};e.prototype.redraw=function(c){var d=this.options,h=this.text||d.format||d.text,g=this.graphic,e=this.points[0];g?(g.attr({text:h?a(String(h),e.getLabelConfig(),this.annotation.chart):d.formatter.call(e,this)}),d=this.anchor(e),(h=this.position(d))?(g.alignAttr=h,h.anchorX=
-d.absolutePosition.x,h.anchorY=d.absolutePosition.y,g[c?"animate":"attr"](h)):g.attr({x:0,y:-9999}),g.placed=!!h,b.prototype.redraw.call(this,c)):this.redraw(c)};e.prototype.anchor=function(a){var c=b.prototype.anchor.apply(this,arguments),d=this.options.x||0,h=this.options.y||0;c.absolutePosition.x-=d;c.absolutePosition.y-=h;c.relativePosition.x-=d;c.relativePosition.y-=h;return c};e.prototype.position=function(a){var b=this.graphic,d=this.annotation.chart,g=this.points[0],f=this.options,q=a.absolutePosition,
-p=a.relativePosition,y=g.series.visible&&m.prototype.isInsidePlot.call(g);if(b&&y){var t=b.width;a=void 0===t?0:t;t=b.height;var n=void 0===t?0:t;f.distance?t=k.prototype.getPosition.call({chart:d,distance:h(f.distance,16)},a,n,{plotX:p.x,plotY:p.y,negative:g.negative,ttBelow:g.ttBelow,h:p.height||p.width}):f.positioner?t=f.positioner.call(this):(g={x:q.x,y:q.y,width:0,height:0},t=e.alignedPosition(c(f,{width:a,height:n}),g),"justify"===this.options.overflow&&(t=e.alignedPosition(e.justifiedOptions(d,
-b,f,t),g)));f.crop&&(b=t.x-d.plotLeft,f=t.y-d.plotTop,y=d.isInsidePlot(b,f)&&d.isInsidePlot(b+a,f+n))}return y?t:null};e.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};e.shapesWithoutBackground=["connector"];return e}(e)});r(e,"Extensions/Annotations/Controllables/ControllableImage.js",[e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(e,
+e["Core/Tooltip.js"],e["Core/Utilities.js"]],function(e,l,m,k,n){function f(a,c,d,g,h){var f=h&&h.anchorX;h=h&&h.anchorY;var e=d/2;if(b(f)&&b(h)){var q=[["M",f,h]];var p=c-h;0>p&&(p=-g-p);p<d&&(e=f<a+d/2?p:d-p);h>c+g?q.push(["L",a+e,c+g]):h<c?q.push(["L",a+e,c]):f<a?q.push(["L",a,c+g/2]):f>a+d&&q.push(["L",a+d,c+g/2])}return q||[]}var d=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&
+(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),a=l.format,c=n.extend,b=n.isNumber,g=n.pick,h=[];return function(b){function e(a,c,d){return b.call(this,a,c,d,"label")||this}d(e,b);e.alignedPosition=function(b,a){var c=b.align,d=b.verticalAlign,g=(a.x||0)+(b.x||0),h=(a.y||0)+(b.y||0),e,f;"right"===c?e=1:"center"===c&&(e=2);e&&(g+=(a.width-(b.width||0))/e);"bottom"===d?f=1:"middle"===d&&
+(f=2);f&&(h+=(a.height-(b.height||0))/f);return{x:Math.round(g),y:Math.round(h)}};e.compose=function(b){-1===h.indexOf(b)&&(h.push(b),b.prototype.symbols.connector=f)};e.justifiedOptions=function(b,a,c,d){var g=c.align,h=c.verticalAlign,e=a.box?0:a.padding||0,f=a.getBBox();a={align:g,verticalAlign:h,x:c.x,y:c.y,width:a.width,height:a.height};c=(d.x||0)-b.plotLeft;d=(d.y||0)-b.plotTop;var q=c+e;0>q&&("right"===g?a.align="left":a.x=(a.x||0)-q);q=c+f.width-e;q>b.plotWidth&&("left"===g?a.align="right":
+a.x=(a.x||0)+b.plotWidth-q);q=d+e;0>q&&("bottom"===h?a.verticalAlign="top":a.y=(a.y||0)-q);q=d+f.height-e;q>b.plotHeight&&("top"===h?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-q);return a};e.prototype.translatePoint=function(a,c){b.prototype.translatePoint.call(this,a,c,0)};e.prototype.translate=function(a,b){var c=this.annotation.chart,d=this.annotation.userOptions,g=c.annotations.indexOf(this.annotation);g=c.options.annotations[g];c.inverted&&(c=a,a=b,b=c);this.options.x+=a;this.options.y+=
+b;g[this.collection][this.index].x=this.options.x;g[this.collection][this.index].y=this.options.y;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y};e.prototype.render=function(a){var c=this.options,d=this.attrsFromOptions(c),g=c.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,c.shape,null,null,c.useHTML,null,"annotation-label").attr(d).add(a);this.annotation.chart.styledMode||("contrast"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1<
+e.shapesWithoutBackground.indexOf(c.shape)?"#FFFFFF":c.backgroundColor)),this.graphic.css(c.style).shadow(c.shadow));c.className&&this.graphic.addClass(c.className);this.graphic.labelrank=c.labelrank;b.prototype.render.call(this)};e.prototype.redraw=function(c){var d=this.options,g=this.text||d.format||d.text,h=this.graphic,e=this.points[0];h?(h.attr({text:g?a(String(g),e.getLabelConfig(),this.annotation.chart):d.formatter.call(e,this)}),d=this.anchor(e),(g=this.position(d))?(h.alignAttr=g,g.anchorX=
+d.absolutePosition.x,g.anchorY=d.absolutePosition.y,h[c?"animate":"attr"](g)):h.attr({x:0,y:-9999}),h.placed=!!g,b.prototype.redraw.call(this,c)):this.redraw(c)};e.prototype.anchor=function(a){var c=b.prototype.anchor.apply(this,arguments),d=this.options.x||0,g=this.options.y||0;c.absolutePosition.x-=d;c.absolutePosition.y-=g;c.relativePosition.x-=d;c.relativePosition.y-=g;return c};e.prototype.position=function(a){var b=this.graphic,d=this.annotation.chart,h=this.points[0],f=this.options,q=a.absolutePosition,
+p=a.relativePosition,y=h.series.visible&&m.prototype.isInsidePlot.call(h);if(b&&y){var t=b.width;a=void 0===t?0:t;t=b.height;var n=void 0===t?0:t;f.distance?t=k.prototype.getPosition.call({chart:d,distance:g(f.distance,16)},a,n,{plotX:p.x,plotY:p.y,negative:h.negative,ttBelow:h.ttBelow,h:p.height||p.width}):f.positioner?t=f.positioner.call(this):(h={x:q.x,y:q.y,width:0,height:0},t=e.alignedPosition(c(f,{width:a,height:n}),h),"justify"===this.options.overflow&&(t=e.alignedPosition(e.justifiedOptions(d,
+b,f,t),h)));f.crop&&(b=t.x-d.plotLeft,f=t.y-d.plotTop,y=d.isInsidePlot(b,f)&&d.isInsidePlot(b+a,f+n))}return y?t:null};e.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};e.shapesWithoutBackground=["connector"];return e}(e)});r(e,"Extensions/Annotations/Controllables/ControllableImage.js",[e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(e,
 l){var m=this&&this.__extends||function(){var e=function(k,f){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,a){d.__proto__=a}||function(d,a){for(var c in a)a.hasOwnProperty(c)&&(d[c]=a[c])};return e(k,f)};return function(k,f){function d(){this.constructor=k}e(k,f);k.prototype=null===f?Object.create(f):(d.prototype=f.prototype,new d)}}();return function(e){function k(f,d,a){f=e.call(this,f,d,a,"shape")||this;f.type="image";f.translate=e.prototype.translateShape;return f}m(k,e);
 k.prototype.render=function(f){var d=this.attrsFromOptions(this.options),a=this.options;this.graphic=this.annotation.chart.renderer.image(a.src,0,-9E9,a.width,a.height).attr(d).add(f);this.graphic.width=a.width;this.graphic.height=a.height;e.prototype.render.call(this)};k.prototype.redraw=function(f){if(this.graphic){var d=this.anchor(this.points[0]);if(d=l.prototype.position.call(this,d))this.graphic[f?"animate":"attr"]({x:d.x,y:d.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!d}e.prototype.redraw.call(this,
 f)};k.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return k}(e)});r(e,"Core/Chart/ChartNavigationComposition.js",[],function(){var e;(function(e){e.compose=function(e){e.navigation||(e.navigation=new m(e));return e};var m=function(){function e(e){this.updates=[];this.chart=e}e.prototype.addUpdate=function(e){this.chart.navigation.updates.push(e)};e.prototype.update=function(e,f){var d=this;this.updates.forEach(function(a){a.call(d.chart,e,f)})};return e}();e.Additions=m})(e||(e={}));return e});
@@ -78,62 +78,62 @@ c,e.chartX,e.chartY);a=d.getYAxis();e=Math.abs(a.toValue(0)-a.toValue(e));d.setY
 y:c},{xAxis:d,yAxis:a,x:e,y:c},{xAxis:d,yAxis:a,x:e,y:c},{xAxis:d,yAxis:a,x:e,y:c},{command:"Z"}]}]},b.annotationsOptions,b.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(e,d){var a=d.options.shapes;a=a&&a[0]&&a[0].points||[];var c=this.chart.pointer.getCoordinates(e);e=m(c.xAxis);c=m(c.yAxis);e&&c&&(e=e.value,c=c.value,a[1].x=e,a[2].x=e,a[2].y=c,a[3].y=c,d.update({shapes:[{points:a}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(e){var d=this.chart.pointer.getCoordinates(e);
 e=m(d.xAxis);d=m(d.yAxis);var a=this.chart.options.navigation;if(e&&d)return this.chart.addAnnotation(n({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:e.axis.options.index,yAxis:d.axis.options.index,x:e.value,y:d.value},overflow:"none",crop:!0}]},a.annotationsOptions,a.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}});r(e,"Extensions/Annotations/NavigationBindings.js",[e["Core/Chart/ChartNavigationComposition.js"],
 e["Core/Defaults.js"],e["Core/FormatUtilities.js"],e["Core/Globals.js"],e["Extensions/Annotations/NavigationBindingsDefaults.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"],e["Core/Utilities.js"]],function(e,l,m,k,n,f,d){function a(a,b){var c=v.Element.prototype,d=c.matches||c.msMatchesSelector||c.webkitMatchesSelector,e=null;if(c.closest)e=c.closest.call(a,b);else{do{if(d.call(a,b))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return e}function c(){this.chart.navigationBindings&&
-this.chart.navigationBindings.deselectAnnotation()}function b(){this.navigationBindings&&this.navigationBindings.destroy()}function h(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new J(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function g(){var a=this.navigationBindings;if(this&&a){var b=!1;this.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)});if(this.navigationBindings&&this.navigationBindings.container&&
-this.navigationBindings.container[0]){var c=this.navigationBindings.container[0];A(a.boundClassNames,function(a,d){if(d=c.querySelectorAll("."+d))for(var e=0;e<d.length;e++){var h=d[e],g=h.className;"normal"===a.noDataState?-1!==g.indexOf("highcharts-disabled-btn")&&h.classList.remove("highcharts-disabled-btn"):b?-1!==g.indexOf("highcharts-disabled-btn")&&h.classList.remove("highcharts-disabled-btn"):-1===g.indexOf("highcharts-disabled-btn")&&(h.className+=" highcharts-disabled-btn")}})}}}function q(){this.deselectAnnotation()}
+this.chart.navigationBindings.deselectAnnotation()}function b(){this.navigationBindings&&this.navigationBindings.destroy()}function g(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new J(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function h(){var a=this.navigationBindings;if(this&&a){var b=!1;this.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)});if(this.navigationBindings&&this.navigationBindings.container&&
+this.navigationBindings.container[0]){var c=this.navigationBindings.container[0];A(a.boundClassNames,function(a,d){if(d=c.querySelectorAll("."+d))for(var e=0;e<d.length;e++){var g=d[e],h=g.className;"normal"===a.noDataState?-1!==h.indexOf("highcharts-disabled-btn")&&g.classList.remove("highcharts-disabled-btn"):b?-1!==h.indexOf("highcharts-disabled-btn")&&g.classList.remove("highcharts-disabled-btn"):-1===h.indexOf("highcharts-disabled-btn")&&(g.className+=" highcharts-disabled-btn")}})}}}function q(){this.deselectAnnotation()}
 function y(){this.selectedButtonElement=null}function p(a){var b=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;K(!0,a.prototype.defaultOptions.events,{click:function(a){var c=this,d=c.chart.navigationBindings,e=d.activeAnnotation;b&&b.call(c,a);e!==c?(d.deselectAnnotation(),d.activeAnnotation=c,c.setControlPointsVisibility(!0),t(d,"showPopup",{annotation:c,formType:"annotation-toolbar",options:d.annotationToFields(c),onSubmit:function(a){if("remove"===a.actionType)d.activeAnnotation=
 !1,d.chart.removeAnnotation(c);else{var b={};d.fieldsToOptions(a.fields,b);d.deselectAnnotation();a=b.typeOptions;"measure"===c.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth);c.update(b)}}})):t(d,"closePopup");a.activeAnnotation=!0}})}var u=l.setOptions,D=m.format,z=k.doc,v=k.win,x=f.getFieldType,w=d.addEvent,F=d.attr,t=d.fireEvent,C=d.isArray,B=d.isFunction,r=d.isNumber,I=d.isObject,K=d.merge,A=d.objectEach,E=d.pick,G=[],J=function(){function d(a,
-b){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||"");this.container.length||(this.container=z.getElementsByClassName(this.options.bindingsClassName||""))}d.compose=function(a,e){-1===G.indexOf(a)&&(G.push(a),w(a,"remove",c),p(a),A(a.types,function(a){p(a)}));-1===G.indexOf(e)&&(G.push(e),w(e,"destroy",b),w(e,"load",h),w(e,"render",g));-1===G.indexOf(d)&&(G.push(d),
+b){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||"");this.container.length||(this.container=z.getElementsByClassName(this.options.bindingsClassName||""))}d.compose=function(a,e){-1===G.indexOf(a)&&(G.push(a),w(a,"remove",c),p(a),A(a.types,function(a){p(a)}));-1===G.indexOf(e)&&(G.push(e),w(e,"destroy",b),w(e,"load",g),w(e,"render",h));-1===G.indexOf(d)&&(G.push(d),
 w(d,"closePopup",q),w(d,"deselectButton",y));-1===G.indexOf(u)&&(G.push(u),u(n))};d.prototype.initEvents=function(){var a=this,b=a.chart,c=a.container,d=a.options;a.boundClassNames={};A(d.bindings||{},function(b){a.boundClassNames[b.className]=b});[].forEach.call(c,function(b){a.eventsToUnbind.push(w(b,"click",function(c){var d=a.getButtonEvents(b,c);d&&-1===d.button.className.indexOf("highcharts-disabled-btn")&&a.bindingsButtonClick(d.button,d.events,c)}))});A(d.events||{},function(b,c){B(b)&&a.eventsToUnbind.push(w(a,
 c,b,{passive:!1}))});a.eventsToUnbind.push(w(b.container,"click",function(c){!b.cancelClick&&b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop,{visiblePlotOnly:!0})&&a.bindingsChartClick(this,c)}));a.eventsToUnbind.push(w(b.container,k.isTouchDevice?"touchmove":"mousemove",function(b){a.bindingsContainerMouseMove(this,b)},k.isTouchDevice?{passive:!1}:void 0))};d.prototype.initUpdate=function(){var a=this;e.compose(this.chart).navigation.addUpdate(function(b){a.update(b)})};d.prototype.bindingsButtonClick=
-function(a,b,c){var d=this.chart,e=d.renderer.boxWrapper,h=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(h=!1),t(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&d.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));h?(this.selectedButton=b,this.selectedButtonElement=a,t(this,"selectButton",{button:a}),b.init&&b.init.call(this,a,c),
+function(a,b,c){var d=this.chart,e=d.renderer.boxWrapper,g=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(g=!1),t(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&d.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));g?(this.selectedButton=b,this.selectedButtonElement=a,t(this,"selectButton",{button:a}),b.init&&b.init.call(this,a,c),
 (b.start||b.steps)&&d.renderer.boxWrapper.addClass("highcharts-draw-mode")):(d.stockTools&&d.stockTools.toggleButtonActiveClass(a),e.removeClass("highcharts-draw-mode"),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null)};d.prototype.bindingsChartClick=function(b,c){b=this.chart;var d=this.activeAnnotation,e=this.selectedButton;b=b.renderer.boxWrapper;d&&(d.cancelClick||c.activeAnnotation||!c.target.parentNode||a(c.target,".highcharts-popup")?d.cancelClick&&setTimeout(function(){d.cancelClick=
 !1},0):t(this,"closePopup"));e&&e.start&&(this.nextEvent?(this.nextEvent(c,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(t(this,"deselectButton",{button:this.selectedButtonElement}),b.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,c,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,c))&&e.steps?(this.stepIndex=
-0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(t(this,"deselectButton",{button:this.selectedButtonElement}),b.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,c,this.currentUserDetails)))};d.prototype.bindingsContainerMouseMove=function(a,b){this.mouseMoveEvent&&this.mouseMoveEvent(b,this.currentUserDetails)};d.prototype.fieldsToOptions=function(a,b){A(a,function(a,c){var d=parseFloat(a),e=c.split("."),h=e.length-1;!r(d)||
-a.match(/px/g)||c.match(/format/g)||(a=d);if("undefined"!==a){var g=b;e.forEach(function(b,c){var d=E(e[c+1],"");h===c?g[b]=a:(g[b]||(g[b]=d.match(/\d/g)?[]:{}),g=g[b])})}});return b};d.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};d.prototype.annotationToFields=function(a){function b(c,d,e,g,f){if(e&&c&&-1===q.indexOf(d)&&(0<=(e.indexOf&&e.indexOf(d))||e[d]||!0===e))if(C(c))g[d]=[],c.forEach(function(a,
-c){I(a)?(g[d][c]={},A(a,function(a,e){b(a,e,h[d],g[d][c],d)})):b(a,0,h[d],g[d],d)});else if(I(c)){var p={};C(g)?(g.push(p),p[d]={},p=p[d]):g[d]=p;A(c,function(a,c){b(a,c,0===d?e:h[d],p,d)})}else"format"===d?g[d]=[D(c,a.labels[0].points[0]).toString(),"text"]:C(g)?g.push([c,x(f,c)]):g[d]=[c,x(d,c)]}var c=a.options,e=d.annotationsEditable,h=e.nestedOptions,g=E(c.type,c.shapes&&c.shapes[0]&&c.shapes[0].type,c.labels&&c.labels[0]&&c.labels[0].type,"label"),q=d.annotationsNonEditable[c.langKey]||[],f=
-{langKey:c.langKey,type:g};A(c,function(a,d){"typeOptions"===d?(f[d]={},A(c[d],function(a,c){b(a,c,h,f[d],c)})):b(a,d,e[g],f,d)});return f};d.prototype.getClickedClassNames=function(a,b){var c=b.target;b=[];for(var d;c&&((d=F(c,"class"))&&(b=b.concat(d.split(" ").map(function(a){return[a,c]}))),c=c.parentNode,c!==a););return b};d.prototype.getButtonEvents=function(a,b){var c=this,d;this.getClickedClassNames(a,b).forEach(function(a){c.boundClassNames[a[0]]&&!d&&(d={events:c.boundClassNames[a[0]],button:a[1]})});
+0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(t(this,"deselectButton",{button:this.selectedButtonElement}),b.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,c,this.currentUserDetails)))};d.prototype.bindingsContainerMouseMove=function(a,b){this.mouseMoveEvent&&this.mouseMoveEvent(b,this.currentUserDetails)};d.prototype.fieldsToOptions=function(a,b){A(a,function(a,c){var d=parseFloat(a),e=c.split("."),g=e.length-1;!r(d)||
+a.match(/px/g)||c.match(/format/g)||(a=d);if("undefined"!==a){var h=b;e.forEach(function(b,c){var d=E(e[c+1],"");g===c?h[b]=a:(h[b]||(h[b]=d.match(/\d/g)?[]:{}),h=h[b])})}});return b};d.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};d.prototype.annotationToFields=function(a){function b(c,d,e,h,f){if(e&&c&&-1===q.indexOf(d)&&(0<=(e.indexOf&&e.indexOf(d))||e[d]||!0===e))if(C(c))h[d]=[],c.forEach(function(a,
+c){I(a)?(h[d][c]={},A(a,function(a,e){b(a,e,g[d],h[d][c],d)})):b(a,0,g[d],h[d],d)});else if(I(c)){var p={};C(h)?(h.push(p),p[d]={},p=p[d]):h[d]=p;A(c,function(a,c){b(a,c,0===d?e:g[d],p,d)})}else"format"===d?h[d]=[D(c,a.labels[0].points[0]).toString(),"text"]:C(h)?h.push([c,x(f,c)]):h[d]=[c,x(d,c)]}var c=a.options,e=d.annotationsEditable,g=e.nestedOptions,h=E(c.type,c.shapes&&c.shapes[0]&&c.shapes[0].type,c.labels&&c.labels[0]&&c.labels[0].type,"label"),q=d.annotationsNonEditable[c.langKey]||[],f=
+{langKey:c.langKey,type:h};A(c,function(a,d){"typeOptions"===d?(f[d]={},A(c[d],function(a,c){b(a,c,g,f[d],c)})):b(a,d,e[h],f,d)});return f};d.prototype.getClickedClassNames=function(a,b){var c=b.target;b=[];for(var d;c&&((d=F(c,"class"))&&(b=b.concat(d.split(" ").map(function(a){return[a,c]}))),c=c.parentNode,c!==a););return b};d.prototype.getButtonEvents=function(a,b){var c=this,d;this.getClickedClassNames(a,b).forEach(function(a){c.boundClassNames[a[0]]&&!d&&(d={events:c.boundClassNames[a[0]],button:a[1]})});
 return d};d.prototype.update=function(a){this.options=K(!0,this.options,a);this.removeEvents();this.initEvents()};d.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(a){return a()})};d.prototype.destroy=function(){this.removeEvents()};d.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill",
 "strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],
-crookedLine:[],basicAnnotation:["shapes","labelOptions"]};d.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return d}();"";return J});r(e,"Extensions/Annotations/Popup/PopupAnnotations.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){function m(b,e,y,p,u,l){var g=this;if(e){var q=this.addInput,x=this.lang,w,F;c(p,function(c,h){w=""!==y?y+"."+h:h;a(c)&&(!d(c)||d(c)&&a(c[0])?(F=x[h]||h,F.match(/\d/g)||u.push([!0,
-F,b]),m.call(g,b,e,w,c,u,!1)):u.push([g,w,"annotation",b,c]))});l&&(h(u,function(a){return a[1].match(/format/g)?-1:1}),n&&u.reverse(),u.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(k.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},q.apply(a[0],a.splice(1)))}))}}var k=e.doc,n=e.isFirefox,f=l.createElement,d=l.isArray,a=l.isObject,c=l.objectEach,b=l.pick,h=l.stableSort;return{addForm:function(a,b,c,d){if(a){var e=this.container,
-h=this.lang,g=f("h2",{className:"highcharts-popup-main-title"},void 0,e);g.appendChild(k.createTextNode(h[b.langKey]||b.langKey||""));g=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,e);var q=f("div",{className:"highcharts-popup-bottom-row"},void 0,e);m.call(this,g,a,"",b,[],!0);this.addButton(q,d?h.addButton||"Add":h.saveButton||"Save",d?"add":"save",e,c)}},addToolbar:function(a,c,d){var e=this,h=this.lang,g=this.container,q=this.showForm;-1===g.className.indexOf("highcharts-annotation-toolbar")&&
-(g.className+=" highcharts-annotation-toolbar");a&&(g.style.top=a.plotTop+10+"px");f("span",void 0,void 0,g).appendChild(k.createTextNode(b(h[c.langKey]||c.langKey,c.shapes&&c.shapes[0].type,"")));var v=this.addButton(g,h.removeButton||"Remove","remove",g,d);v.className+=" highcharts-annotation-remove-button";v.style["background-image"]="url("+this.iconsURL+"destroy.svg)";v=this.addButton(g,h.editButton||"Edit","edit",g,function(){q.call(e,"annotation-edit",a,c,d)});v.className+=" highcharts-annotation-edit-button";
+crookedLine:[],basicAnnotation:["shapes","labelOptions"]};d.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return d}();"";return J});r(e,"Extensions/Annotations/Popup/PopupAnnotations.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){function m(b,e,y,p,u,l){var h=this;if(e){var q=this.addInput,x=this.lang,w,F;c(p,function(c,g){w=""!==y?y+"."+g:g;a(c)&&(!d(c)||d(c)&&a(c[0])?(F=x[g]||g,F.match(/\d/g)||u.push([!0,
+F,b]),m.call(h,b,e,w,c,u,!1)):u.push([h,w,"annotation",b,c]))});l&&(g(u,function(a){return a[1].match(/format/g)?-1:1}),n&&u.reverse(),u.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(k.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},q.apply(a[0],a.splice(1)))}))}}var k=e.doc,n=e.isFirefox,f=l.createElement,d=l.isArray,a=l.isObject,c=l.objectEach,b=l.pick,g=l.stableSort;return{addForm:function(a,b,c,d){if(a){var e=this.container,
+g=this.lang,h=f("h2",{className:"highcharts-popup-main-title"},void 0,e);h.appendChild(k.createTextNode(g[b.langKey]||b.langKey||""));h=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,e);var q=f("div",{className:"highcharts-popup-bottom-row"},void 0,e);m.call(this,h,a,"",b,[],!0);this.addButton(q,d?g.addButton||"Add":g.saveButton||"Save",d?"add":"save",e,c)}},addToolbar:function(a,c,d){var e=this,g=this.lang,h=this.container,q=this.showForm;-1===h.className.indexOf("highcharts-annotation-toolbar")&&
+(h.className+=" highcharts-annotation-toolbar");a&&(h.style.top=a.plotTop+10+"px");f("span",void 0,void 0,h).appendChild(k.createTextNode(b(g[c.langKey]||c.langKey,c.shapes&&c.shapes[0].type,"")));var v=this.addButton(h,g.removeButton||"Remove","remove",h,d);v.className+=" highcharts-annotation-remove-button";v.style["background-image"]="url("+this.iconsURL+"destroy.svg)";v=this.addButton(h,g.editButton||"Edit","edit",h,function(){q.call(e,"annotation-edit",a,c,d)});v.className+=" highcharts-annotation-edit-button";
 v.style["background-image"]="url("+this.iconsURL+"edit.svg)"}}});r(e,"Extensions/Annotations/Popup/PopupIndicators.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,l,m,k,n){function f(a){var b=v("div",{className:"highcharts-popup-lhs-col"},void 0,a);a=v("div",{className:"highcharts-popup-rhs-col"},void 0,a);v("div",{className:"highcharts-popup-rhs-col-wrapper"},
-void 0,a);return{lhsCol:b,rhsCol:a}}function d(b,c,d,h){var f=this,x=f.lang,E=c.querySelectorAll(".highcharts-popup-lhs-col")[0];c=c.querySelectorAll(".highcharts-popup-rhs-col")[0];var k="edit"===d;d=k?b.series:b.options.plotOptions||{};if(b||!d){var m,l=[];k||w(d)?w(d)&&(l=q.call(this,d)):l=g.call(this,d,h);C(l,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return a<b?-1:a>b?1:0});E.children[1]&&E.children[1].remove();var A=v("ul",{className:"highcharts-indicator-list"},
-void 0,E),t=c.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];l.forEach(function(c){var d=c.indicatorFullName,h=c.indicatorType,g=c.series;m=v("li",{className:"highcharts-indicator-list"},void 0,A);m.appendChild(u.createTextNode(d));["click","touchstart"].forEach(function(c){z(m,c,function(){var c=t.parentNode.children[1],d=g.params||g.options.params;t.innerHTML=e.emptyHTML;v("h3",{className:"highcharts-indicator-title"},void 0,t).appendChild(u.createTextNode(y(g,h).indicatorFullName));v("input",
-{type:"hidden",name:"highcharts-type-"+h,value:h},void 0,t);p.call(f,h,"series",b,t,g,g.linkedParent&&g.linkedParent.options.id);d.volumeSeriesID&&p.call(f,h,"volume",b,t,g,g.linkedParent&&d.volumeSeriesID);a.call(f,b,"params",d,h,t);c&&(c.style.display="block");k&&g.options&&v("input",{type:"hidden",name:"highcharts-id-"+h,value:g.options.id},void 0,t).setAttribute("highcharts-data-series-id",g.options.id)})})});0<A.childNodes.length?A.childNodes[0].click():k||(e.setElementHTML(t.parentNode.children[0],
-x.noFilterMatch||""),t.parentNode.children[1].style.display="none")}}function a(c,d,e,g,f){var q=this;if(c){var p=this.addInput;t(e,function(e,E){var k=d+"."+E;x(e)&&k&&(F(e)&&(p.call(q,k,g,f,{}),a.call(q,c,k,e,g,f)),k in r?(k=b.call(q,g,k,f),h.call(q,c,d,k,g,E,e)):"params.volumeSeriesID"===k||w(e)||p.call(q,k,g,f,{value:e,type:"number"}))})}}function c(a,b){var c=this,e=b.querySelectorAll(".highcharts-popup-lhs-col")[0];b=this.lang.clearFilter;e=v("div",{className:"highcharts-input-wrapper"},void 0,
-e);var h=this.addInput("searchIndicators","input",e,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),g=v("a",{textContent:b},void 0,e);h.classList.add("highcharts-input-search-indicators");g.classList.add("clear-filter-button");z(h,"input",function(b){d.call(c,a,c.container,"add",this.value);g.style.display=this.value.length?"inline-block":"none"});["click","touchstart"].forEach(function(b){z(g,b,function(){h.value="";d.call(c,a,c.container,
-"add","");g.style.display="none"})})}function b(a,b,c){var d=b.split(".");d=d[d.length-1];a="highcharts-"+b+"-type-"+a;var e=this.lang;v("label",{htmlFor:a},null,c).appendChild(u.createTextNode(e[d]||b));c=v("select",{name:a,className:"highcharts-popup-field",id:"highcharts-select-"+b},null,c);c.setAttribute("id","highcharts-select-"+b);return c}function h(a,b,c,d,e,h,g){"series"===b||"volume"===b?a.series.forEach(function(a){var d=a.options,e=d.name||d.params?a.name:d.id||"";"highcharts-navigator-series"!==
-d.id&&d.id!==(g&&g.options&&g.options.id)&&(x(h)||"volume"!==b||"column"!==a.type||(h=d.id),v("option",{value:d.id},void 0,c).appendChild(u.createTextNode(e)))}):d&&e&&H[e+"-"+d].forEach(function(a){v("option",{value:a},void 0,c).appendChild(u.createTextNode(a))});x(h)&&(c.value=h)}function g(a,b){var c=this.chart&&this.chart.options.lang,d=c&&c.navigation&&c.navigation.popup&&c.navigation.popup.indicatorAliases,e=[],h;t(a,function(a,c){var g=a&&a.options;if(a.params||g&&g.params)if(g=y(a,c),c=g.indicatorFullName,
-g=g.indicatorType,b){var f=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");f=new RegExp(f,"i");var q=d&&d[g]&&d[g].join(" ")||"";if(c.match(f)||q.match(f))h={indicatorFullName:c,indicatorType:g,series:a},e.push(h)}else h={indicatorFullName:c,indicatorType:g,series:a},e.push(h)});return e}function q(a){var b=[];a.forEach(function(a){a.is("sma")&&b.push({indicatorFullName:a.name,indicatorType:a.type,series:a})});return b}function y(a,b){var c=a.options,d=D[b]&&D[b].prototype.nameBase||b.toUpperCase();c&&c.type&&
-(b=a.options.type,d=a.name);return{indicatorFullName:d,indicatorType:b}}function p(a,c,d,e,g,f){d&&(a=b.call(this,a,c,e),h.call(this,d,c,a,void 0,void 0,void 0,g),x(f)&&(a.value=f))}var u=l.doc,D=k.seriesTypes,z=n.addEvent,v=n.createElement,x=n.defined,w=n.isArray,F=n.isObject,t=n.objectEach,C=n.stableSort,r;(function(a){a[a["params.algorithm"]=0]="params.algorithm";a[a["params.average"]=1]="params.average"})(r||(r={}));var H={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma",
-"ema","dema","tema","wma"]};return{addForm:function(a,b,e){b=this.lang;if(a){this.tabs.init.call(this,a);var h=this.container.querySelectorAll(".highcharts-tab-item-content");f(h[0]);c.call(this,a,h[0]);d.call(this,a,h[0],"add");var g=h[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,b.addButton||"add","add",g,e);f(h[1]);d.call(this,a,h[1],"edit");g=h[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,b.saveButton||"save","edit",g,e);this.addButton(g,b.removeButton||
-"remove","remove",g,e)}},getAmount:function(){var a=0;this.series.forEach(function(b){(b.params||b.options.params)&&a++});return a}}});r(e,"Extensions/Annotations/Popup/PopupTabs.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){function m(){return c("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function k(a,e){var b=this.container,h=this.lang,f="highcharts-tab-item";0===e&&(f+=" highcharts-tab-disabled");e=c("span",{className:f},void 0,
-b);e.appendChild(d.createTextNode(h[a+"Button"]||a));e.setAttribute("highcharts-data-tab-type",a);return e}function n(a,c){var b=this.container.querySelectorAll(".highcharts-tab-item-content");a.className+=" highcharts-tab-item-active";b[c].className+=" highcharts-tab-item-show"}function f(b){var c=this;this.container.querySelectorAll(".highcharts-tab-item").forEach(function(d,e){0===b&&"edit"===d.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(function(b){a(d,b,function(){var a=
+void 0,a);return{lhsCol:b,rhsCol:a}}function d(b,c,d,g){var f=this,x=f.lang,E=c.querySelectorAll(".highcharts-popup-lhs-col")[0];c=c.querySelectorAll(".highcharts-popup-rhs-col")[0];var k="edit"===d;d=k?b.series:b.options.plotOptions||{};if(b||!d){var m,l=[];k||w(d)?w(d)&&(l=q.call(this,d)):l=h.call(this,d,g);C(l,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return a<b?-1:a>b?1:0});E.children[1]&&E.children[1].remove();var A=v("ul",{className:"highcharts-indicator-list"},
+void 0,E),t=c.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];l.forEach(function(c){var d=c.indicatorFullName,g=c.indicatorType,h=c.series;m=v("li",{className:"highcharts-indicator-list"},void 0,A);m.appendChild(u.createTextNode(d));["click","touchstart"].forEach(function(c){z(m,c,function(){var c=t.parentNode.children[1],d=h.params||h.options.params;t.innerHTML=e.emptyHTML;v("h3",{className:"highcharts-indicator-title"},void 0,t).appendChild(u.createTextNode(y(h,g).indicatorFullName));v("input",
+{type:"hidden",name:"highcharts-type-"+g,value:g},void 0,t);p.call(f,g,"series",b,t,h,h.linkedParent&&h.linkedParent.options.id);d.volumeSeriesID&&p.call(f,g,"volume",b,t,h,h.linkedParent&&d.volumeSeriesID);a.call(f,b,"params",d,g,t);c&&(c.style.display="block");k&&h.options&&v("input",{type:"hidden",name:"highcharts-id-"+g,value:h.options.id},void 0,t).setAttribute("highcharts-data-series-id",h.options.id)})})});0<A.childNodes.length?A.childNodes[0].click():k||(e.setElementHTML(t.parentNode.children[0],
+x.noFilterMatch||""),t.parentNode.children[1].style.display="none")}}function a(c,d,e,h,f){var q=this;if(c){var p=this.addInput;t(e,function(e,E){var k=d+"."+E;x(e)&&k&&(F(e)&&(p.call(q,k,h,f,{}),a.call(q,c,k,e,h,f)),k in r?(k=b.call(q,h,k,f),g.call(q,c,d,k,h,E,e)):"params.volumeSeriesID"===k||w(e)||p.call(q,k,h,f,{value:e,type:"number"}))})}}function c(a,b){var c=this,e=b.querySelectorAll(".highcharts-popup-lhs-col")[0];b=this.lang.clearFilter;e=v("div",{className:"highcharts-input-wrapper"},void 0,
+e);var g=this.addInput("searchIndicators","input",e,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=v("a",{textContent:b},void 0,e);g.classList.add("highcharts-input-search-indicators");h.classList.add("clear-filter-button");z(g,"input",function(b){d.call(c,a,c.container,"add",this.value);h.style.display=this.value.length?"inline-block":"none"});["click","touchstart"].forEach(function(b){z(h,b,function(){g.value="";d.call(c,a,c.container,
+"add","");h.style.display="none"})})}function b(a,b,c){var d=b.split(".");d=d[d.length-1];a="highcharts-"+b+"-type-"+a;var e=this.lang;v("label",{htmlFor:a},null,c).appendChild(u.createTextNode(e[d]||b));c=v("select",{name:a,className:"highcharts-popup-field",id:"highcharts-select-"+b},null,c);c.setAttribute("id","highcharts-select-"+b);return c}function g(a,b,c,d,e,g,h){"series"===b||"volume"===b?a.series.forEach(function(a){var d=a.options,e=d.name||d.params?a.name:d.id||"";"highcharts-navigator-series"!==
+d.id&&d.id!==(h&&h.options&&h.options.id)&&(x(g)||"volume"!==b||"column"!==a.type||(g=d.id),v("option",{value:d.id},void 0,c).appendChild(u.createTextNode(e)))}):d&&e&&H[e+"-"+d].forEach(function(a){v("option",{value:a},void 0,c).appendChild(u.createTextNode(a))});x(g)&&(c.value=g)}function h(a,b){var c=this.chart&&this.chart.options.lang,d=c&&c.navigation&&c.navigation.popup&&c.navigation.popup.indicatorAliases,e=[],g;t(a,function(a,c){var h=a&&a.options;if(a.params||h&&h.params)if(h=y(a,c),c=h.indicatorFullName,
+h=h.indicatorType,b){var f=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");f=new RegExp(f,"i");var q=d&&d[h]&&d[h].join(" ")||"";if(c.match(f)||q.match(f))g={indicatorFullName:c,indicatorType:h,series:a},e.push(g)}else g={indicatorFullName:c,indicatorType:h,series:a},e.push(g)});return e}function q(a){var b=[];a.forEach(function(a){a.is("sma")&&b.push({indicatorFullName:a.name,indicatorType:a.type,series:a})});return b}function y(a,b){var c=a.options,d=D[b]&&D[b].prototype.nameBase||b.toUpperCase();c&&c.type&&
+(b=a.options.type,d=a.name);return{indicatorFullName:d,indicatorType:b}}function p(a,c,d,e,h,f){d&&(a=b.call(this,a,c,e),g.call(this,d,c,a,void 0,void 0,void 0,h),x(f)&&(a.value=f))}var u=l.doc,D=k.seriesTypes,z=n.addEvent,v=n.createElement,x=n.defined,w=n.isArray,F=n.isObject,t=n.objectEach,C=n.stableSort,r;(function(a){a[a["params.algorithm"]=0]="params.algorithm";a[a["params.average"]=1]="params.average"})(r||(r={}));var H={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma",
+"ema","dema","tema","wma"]};return{addForm:function(a,b,e){b=this.lang;if(a){this.tabs.init.call(this,a);var g=this.container.querySelectorAll(".highcharts-tab-item-content");f(g[0]);c.call(this,a,g[0]);d.call(this,a,g[0],"add");var h=g[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(h,b.addButton||"add","add",h,e);f(g[1]);d.call(this,a,g[1],"edit");h=g[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(h,b.saveButton||"save","edit",h,e);this.addButton(h,b.removeButton||
+"remove","remove",h,e)}},getAmount:function(){var a=0;this.series.forEach(function(b){(b.params||b.options.params)&&a++});return a}}});r(e,"Extensions/Annotations/Popup/PopupTabs.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){function m(){return c("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function k(a,e){var b=this.container,g=this.lang,f="highcharts-tab-item";0===e&&(f+=" highcharts-tab-disabled");e=c("span",{className:f},void 0,
+b);e.appendChild(d.createTextNode(g[a+"Button"]||a));e.setAttribute("highcharts-data-tab-type",a);return e}function n(a,c){var b=this.container.querySelectorAll(".highcharts-tab-item-content");a.className+=" highcharts-tab-item-active";b[c].className+=" highcharts-tab-item-show"}function f(b){var c=this;this.container.querySelectorAll(".highcharts-tab-item").forEach(function(d,e){0===b&&"edit"===d.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(function(b){a(d,b,function(){var a=
 c.container,b=a.querySelectorAll(".highcharts-tab-item");a=a.querySelectorAll(".highcharts-tab-item-content");for(var d=0;d<b.length;d++)b[d].classList.remove("highcharts-tab-item-active"),a[d].classList.remove("highcharts-tab-item-show");n.call(c,this,e)})})})}var d=e.doc,a=l.addEvent,c=l.createElement;return{init:function(a){if(a){a=this.indicators.getAmount.call(a);var b=k.call(this,"add");k.call(this,"edit",a);m.call(this);m.call(this);f.call(this,a);n.call(this,b,0)}}}});r(e,"Extensions/Annotations/Popup/Popup.js",
 [e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Extensions/Annotations/Popup/PopupAnnotations.js"],e["Extensions/Annotations/Popup/PopupIndicators.js"],e["Extensions/Annotations/Popup/PopupTabs.js"],e["Core/Utilities.js"]],function(e,l,m,k,n,f,d){function a(a,b){var c=Array.prototype.slice.call(a.querySelectorAll("input")),d=Array.prototype.slice.call(a.querySelectorAll("select")),e=a.querySelectorAll("#highcharts-select-series > option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];
-var h={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?h.seriesId=a.value:b?h.fields[b]=a.value:h.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],h.fields[b]=a.value)});a&&(h.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return h}var c=l.getOptions,b=m.doc,h=
-d.addEvent,g=d.createElement;l=d.extend;var q=d.fireEvent,y=d.pick;d=function(){function d(a,b,d){this.chart=d;this.iconsURL=b;this.lang=c().lang.navigation.popup;this.container=g("div",{className:"highcharts-popup highcharts-no-tooltip"},void 0,a);h(this.container,"mousedown",function(){var a=d&&d.navigationBindings&&d.navigationBindings.activeAnnotation;if(a){a.cancelClick=!0;var b=h(m.doc,"click",function(){setTimeout(function(){a.cancelClick=!1},0);b()})}});this.addCloseBtn()}d.prototype.init=
-function(a,b,c){d.call(this,a,b,c)};d.prototype.addCloseBtn=function(){var a=this,b=this.iconsURL,c=g("div",{className:"highcharts-popup-close"},void 0,this.container);c.style["background-image"]="url("+(b.match(/png|svg|jpeg|jpg|gif/ig)?b:b+"close.svg")+")";["click","touchstart"].forEach(function(b){h(c,b,function(){if(a.chart){var b=a.chart.navigationBindings;q(b,"closePopup");b&&b.selectedButtonElement&&q(b,"deselectButton",{button:b.selectedButtonElement})}else a.closePopup()})})};d.prototype.addInput=
-function(a,c,d,e){var h=a.split(".");h=h[h.length-1];var f=this.lang;c="highcharts-"+c+"-"+y(e.htmlFor,h);c.match(/\d/g)||g("label",{htmlFor:c,className:e.labelClassName},void 0,d).appendChild(b.createTextNode(f[h]||h));d=g("input",{name:c,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,d);d.setAttribute("highcharts-data-name",a);return d};d.prototype.addButton=function(c,d,e,f,q){var k=this,p=g("button",void 0,void 0,c);p.appendChild(b.createTextNode(d));q&&["click","touchstart"].forEach(function(b){h(p,
+var g={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?g.seriesId=a.value:b?g.fields[b]=a.value:g.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],g.fields[b]=a.value)});a&&(g.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return g}var c=l.getOptions,b=m.doc,g=
+d.addEvent,h=d.createElement;l=d.extend;var q=d.fireEvent,y=d.pick;d=function(){function d(a,b,d){this.chart=d;this.iconsURL=b;this.lang=c().lang.navigation.popup;this.container=h("div",{className:"highcharts-popup highcharts-no-tooltip"},void 0,a);g(this.container,"mousedown",function(){var a=d&&d.navigationBindings&&d.navigationBindings.activeAnnotation;if(a){a.cancelClick=!0;var b=g(m.doc,"click",function(){setTimeout(function(){a.cancelClick=!1},0);b()})}});this.addCloseBtn()}d.prototype.init=
+function(a,b,c){d.call(this,a,b,c)};d.prototype.addCloseBtn=function(){var a=this,b=this.iconsURL,c=h("div",{className:"highcharts-popup-close"},void 0,this.container);c.style["background-image"]="url("+(b.match(/png|svg|jpeg|jpg|gif/ig)?b:b+"close.svg")+")";["click","touchstart"].forEach(function(b){g(c,b,function(){if(a.chart){var b=a.chart.navigationBindings;q(b,"closePopup");b&&b.selectedButtonElement&&q(b,"deselectButton",{button:b.selectedButtonElement})}else a.closePopup()})})};d.prototype.addInput=
+function(a,c,d,e){var g=a.split(".");g=g[g.length-1];var f=this.lang;c="highcharts-"+c+"-"+y(e.htmlFor,g);g.match(/^\d+$/)||h("label",{htmlFor:c,className:e.labelClassName},void 0,d).appendChild(b.createTextNode(f[g]||g));d=h("input",{name:c,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,d);d.setAttribute("highcharts-data-name",a);return d};d.prototype.addButton=function(c,d,e,f,q){var k=this,p=h("button",void 0,void 0,c);p.appendChild(b.createTextNode(d));q&&["click","touchstart"].forEach(function(b){g(p,
 b,function(){k.closePopup();return q(a(f,e))})});return p};d.prototype.showPopup=function(){var a=this.container,b=a.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;a.innerHTML=e.emptyHTML;0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block";a.style.height=""};d.prototype.closePopup=function(){this.container.style.display="none"};d.prototype.showForm=function(a,
 b,c,d){b&&(this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")};return d}();l(d.prototype,{annotations:k,indicators:n,tabs:f});return d});r(e,"Extensions/Annotations/Popup/PopupComposition.js",[e["Extensions/Annotations/Popup/Popup.js"],
-e["Core/Utilities.js"]],function(e,l){function m(){this.popup&&this.popup.closePopup()}function k(a){this.popup||(this.popup=new e(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/10.3.2/gfx/stock-icons/",this.chart));this.popup.showForm(a.formType,this.chart,a.options,a.onSubmit)}function n(a,b){this.inClass(b.target,"highcharts-popup")||a.apply(this,Array.prototype.slice.call(arguments,
+e["Core/Utilities.js"]],function(e,l){function m(){this.popup&&this.popup.closePopup()}function k(a){this.popup||(this.popup=new e(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/10.3.3/gfx/stock-icons/",this.chart));this.popup.showForm(a.formType,this.chart,a.options,a.onSubmit)}function n(a,b){this.inClass(b.target,"highcharts-popup")||a.apply(this,Array.prototype.slice.call(arguments,
 1))}var f=l.addEvent,d=l.wrap,a=[];return{compose:function(c,b){-1===a.indexOf(c)&&(a.push(c),f(c,"closePopup",m),f(c,"showPopup",k));-1===a.indexOf(b)&&(a.push(b),d(b.prototype,"onContainerMouseDown",n))}}});r(e,"Extensions/Annotations/Annotation.js",[e["Core/Animation/AnimationUtilities.js"],e["Extensions/Annotations/AnnotationChart.js"],e["Extensions/Annotations/AnnotationDefaults.js"],e["Extensions/Annotations/Controllables/Controllable.js"],e["Extensions/Annotations/Controllables/ControllableRect.js"],
 e["Extensions/Annotations/Controllables/ControllableCircle.js"],e["Extensions/Annotations/Controllables/ControllableEllipse.js"],e["Extensions/Annotations/Controllables/ControllablePath.js"],e["Extensions/Annotations/Controllables/ControllableImage.js"],e["Extensions/Annotations/Controllables/ControllableLabel.js"],e["Extensions/Annotations/ControlPoint.js"],e["Extensions/Annotations/EventEmitter.js"],e["Extensions/Annotations/MockPoint.js"],e["Extensions/Annotations/NavigationBindings.js"],e["Extensions/Annotations/Popup/PopupComposition.js"],
-e["Core/Utilities.js"]],function(e,l,m,k,n,f,d,a,c,b,h,g,q,y,p,u){function r(a){var b=a.graphic;a=a.points.some(function(a){return!1!==a.series.visible&&!1!==a.visible});b&&(a?"hidden"===b.visibility&&b.show():b.hide())}function z(a,b){var c={};["labels","shapes"].forEach(function(d){var e=a[d];e&&(c[d]=b[d]?I(b[d]).map(function(a,b){return B(e[b],a)}):a[d])});return c}var v=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=
-b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),x=e.getDeferredAnimation,w=k.prototype,F=u.destroyObjectProperties,t=u.erase,C=u.fireEvent,B=u.merge,H=u.pick,I=u.splat;e=function(e){function g(a,b){var c=e.call(this)||this;c.annotation=void 0;c.coll="annotations";c.collection=void 0;c.animationConfig=void 0;c.graphic=void 0;c.group=
-void 0;c.labelCollector=void 0;c.labelsGroup=void 0;c.shapesGroup=void 0;c.chart=a;c.points=[];c.controlPoints=[];c.coll="annotations";c.labels=[];c.shapes=[];c.options=B(c.defaultOptions,b);c.userOptions=b;b=z(c.options,b);c.options.labels=b.labels;c.options.shapes=b.shapes;c.init(a,c.options);return c}v(g,e);g.compose=function(c,d,e){l.compose(g,c,d);b.compose(e);a.compose(c,e);y.compose(g,c);p.compose(y,d)};g.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&
-this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};g.prototype.addLabels=function(){var a=this,b=this.options.labels||[];b.forEach(function(c,d){c=a.initLabel(c,d);B(!0,b[d],c.options)})};g.prototype.addShapes=function(){var a=this,b=this.options.shapes||[];b.forEach(function(c,d){c=a.initShape(c,d);B(!0,b[d],c.options)})};g.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=
-null;t(a.labelCollectors,this.labelCollector);e.prototype.destroy.call(this);w.destroy.call(this);F(this,a)};g.prototype.destroyItem=function(a){t(this[a.itemType+"s"],a);a.destroy()};g.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};g.prototype.init=function(a,b,c){a=this.chart;b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();
-this.setLabelCollector();this.animationConfig=x(a,b)};g.prototype.initLabel=function(a,c){a=B(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);c=new b(this,a,c);c.itemType="label";this.labels.push(c);return c};g.prototype.initShape=function(a,b){a=B(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new g.shapesMap[a.type](this,a,b);b.itemType="shape";this.shapes.push(b);return b};g.prototype.redraw=function(a){this.linkPoints();
-this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);w.redraw.call(this,a)};g.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(H(b,!0)&&a.graphic.placed),a.points.length&&r(a)):this.destroyItem(a)};g.prototype.redrawItems=function(a,b){for(var c=a.length;c--;)this.redrawItem(a[c],b)};g.prototype.remove=function(){return this.chart.removeAnnotation(this)};
-g.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths();this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);
-this.renderItems(this.labels);this.addEvents();w.render.call(this)};g.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};g.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};g.prototype.setClipAxes=function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(c,d){d=d&&(d.point||d.points&&d.points[0]);return[a[d&&d.xAxis]||c[0],b[d&&d.yAxis]||c[1]]},[]);
-this.clipXAxis=c[0];this.clipYAxis=c[1]};g.prototype.setControlPointsVisibility=function(a){var b=function(b){b.setControlPointsVisibility(a)};w.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};g.prototype.setLabelCollector=function(){var a=this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};g.prototype.setOptions=function(a){this.options=
-B(this.defaultOptions,a)};g.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=H(a,!b.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&C(c,"closePopup"));b.visible=a};g.prototype.update=function(a,b){var c=this.chart,d=z(this.userOptions,a),e=c.annotations.indexOf(this);a=B(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;
-this.destroy();this.constructor(c,a);c.options.annotations[e]=a;this.isUpdating=!0;H(b,!0)&&c.redraw();C(this,"afterUpdate");this.isUpdating=!1};g.ControlPoint=h;g.MockPoint=q;g.shapesMap={rect:n,circle:f,ellipse:d,path:a,image:c};g.types={};return g}(g);B(!0,e.prototype,k.prototype,B(e.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:m}));"";return e});r(e,"Extensions/Annotations/Types/BasicAnnotation.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/MockPoint.js"],
+e["Core/Utilities.js"]],function(e,l,m,k,n,f,d,a,c,b,g,h,q,y,p,u){function r(a){var b=a.graphic;a=a.points.some(function(a){return!1!==a.series.visible&&!1!==a.visible});b&&(a?"hidden"===b.visibility&&b.show():b.hide())}function z(a,b){var c={};["labels","shapes"].forEach(function(d){var e=a[d];e&&(c[d]=b[d]?I(b[d]).map(function(a,b){return B(e[b],a)}):a[d])});return c}var v=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=
+b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),x=e.getDeferredAnimation,w=k.prototype,F=u.destroyObjectProperties,t=u.erase,C=u.fireEvent,B=u.merge,H=u.pick,I=u.splat;e=function(e){function h(a,b){var c=e.call(this)||this;c.annotation=void 0;c.coll="annotations";c.collection=void 0;c.animationConfig=void 0;c.graphic=void 0;c.group=
+void 0;c.labelCollector=void 0;c.labelsGroup=void 0;c.shapesGroup=void 0;c.chart=a;c.points=[];c.controlPoints=[];c.coll="annotations";c.labels=[];c.shapes=[];c.options=B(c.defaultOptions,b);c.userOptions=b;b=z(c.options,b);c.options.labels=b.labels;c.options.shapes=b.shapes;c.init(a,c.options);return c}v(h,e);h.compose=function(c,d,e){l.compose(h,c,d);b.compose(e);a.compose(c,e);y.compose(h,c);p.compose(y,d)};h.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&
+this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};h.prototype.addLabels=function(){var a=this,b=this.options.labels||[];b.forEach(function(c,d){c=a.initLabel(c,d);B(!0,b[d],c.options)})};h.prototype.addShapes=function(){var a=this,b=this.options.shapes||[];b.forEach(function(c,d){c=a.initShape(c,d);B(!0,b[d],c.options)})};h.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=
+null;t(a.labelCollectors,this.labelCollector);e.prototype.destroy.call(this);w.destroy.call(this);F(this,a)};h.prototype.destroyItem=function(a){t(this[a.itemType+"s"],a);a.destroy()};h.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};h.prototype.init=function(a,b,c){a=this.chart;b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();
+this.setLabelCollector();this.animationConfig=x(a,b)};h.prototype.initLabel=function(a,c){a=B(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);c=new b(this,a,c);c.itemType="label";this.labels.push(c);return c};h.prototype.initShape=function(a,b){a=B(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new h.shapesMap[a.type](this,a,b);b.itemType="shape";this.shapes.push(b);return b};h.prototype.redraw=function(a){this.linkPoints();
+this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);w.redraw.call(this,a)};h.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(H(b,!0)&&a.graphic.placed),a.points.length&&r(a)):this.destroyItem(a)};h.prototype.redrawItems=function(a,b){for(var c=a.length;c--;)this.redrawItem(a[c],b)};h.prototype.remove=function(){return this.chart.removeAnnotation(this)};
+h.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths();this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);
+this.renderItems(this.labels);this.addEvents();w.render.call(this)};h.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};h.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};h.prototype.setClipAxes=function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(c,d){d=d&&(d.point||d.points&&d.points[0]);return[a[d&&d.xAxis]||c[0],b[d&&d.yAxis]||c[1]]},[]);
+this.clipXAxis=c[0];this.clipYAxis=c[1]};h.prototype.setControlPointsVisibility=function(a){var b=function(b){b.setControlPointsVisibility(a)};w.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};h.prototype.setLabelCollector=function(){var a=this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};h.prototype.setOptions=function(a){this.options=
+B(this.defaultOptions,a)};h.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=H(a,!b.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&C(c,"closePopup"));b.visible=a};h.prototype.update=function(a,b){var c=this.chart,d=z(this.userOptions,a),e=c.annotations.indexOf(this);a=B(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;
+this.destroy();this.constructor(c,a);c.options.annotations[e]=a;this.isUpdating=!0;H(b,!0)&&c.redraw();C(this,"afterUpdate");this.isUpdating=!1};h.ControlPoint=g;h.MockPoint=q;h.shapesMap={rect:n,circle:f,ellipse:d,path:a,image:c};h.types={};return h}(h);B(!0,e.prototype,k.prototype,B(e.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:m}));"";return e});r(e,"Extensions/Annotations/Types/BasicAnnotation.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/MockPoint.js"],
 e["Core/Utilities.js"]],function(e,l,m){var k=this&&this.__extends||function(){var e=function(d,a){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return e(d,a)};return function(d,a){function c(){this.constructor=d}e(d,a);d.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}();m=m.merge;var n=function(f){function d(){return null!==f&&f.apply(this,arguments)||this}k(d,f);d.prototype.addControlPoints=
 function(){var a=this.options,c=d.basicControlPoints,b=this.basicType;(a.labels||a.shapes||[]).forEach(function(a){a.controlPoints=c[b]})};d.prototype.init=function(){var a=this.options;a.shapes?(delete a.labelOptions,this.basicType=(a=a.shapes[0].type)&&"path"!==a?a:"rectangle"):(delete a.shapes,this.basicType="label");e.prototype.init.apply(this,arguments)};d.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(a){if(!a.graphic.placed)return{x:0,y:-9E7};a=l.pointToPixels(a.points[0]);
 return{x:a.x-this.graphic.width/2,y:a.y-this.graphic.height/2}},events:{drag:function(a,c){a=this.mouseMoveToTranslation(a);c.translatePoint(a.x,a.y);c.annotation.userOptions.labels[0].point=c.options.point;c.redraw(!1)}}},{symbol:"square",positioner:function(a){return a.graphic.placed?{x:a.graphic.alignAttr.x-this.graphic.width/2,y:a.graphic.alignAttr.y-this.graphic.height/2}:{x:0,y:-9E7}},events:{drag:function(a,c){a=this.mouseMoveToTranslation(a);c.translate(a.x,a.y);c.annotation.userOptions.labels[0].point=
@@ -154,24 +154,24 @@ this.initShape(d(this.options.typeOptions.line,{type:"path",points:[this.points[
 c,d);this.translatePoint(a,c,b)};c.prototype.translateHeight=function(a){this.translatePoint(0,a,2);this.translatePoint(0,a,3);this.options.typeOptions.height=this.points[3].y-this.points[0].y;this.userOptions.typeOptions.height=this.options.typeOptions.height};return c}(m);n.prototype.defaultOptions=d(m.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(a){var c=k.pointToPixels(a.points[2]);
 a=k.pointToPixels(a.points[3]);var b=(c.x+a.x)/2;return{x:b-this.graphic.width/2,y:(a.y-c.y)/(a.x-c.x)*(b-c.x)+c.y-this.graphic.height/2}},events:{drag:function(a,c){c.chart.isInsidePlot(a.chartX-c.chart.plotLeft,a.chartY-c.chart.plotTop,{visiblePlotOnly:!0})&&(c.translateHeight(this.mouseMoveToTranslation(a).y),c.redraw(!1))}}}},controlPointOptions:{events:{drag:function(a,c){c.chart.isInsidePlot(a.chartX-c.chart.plotLeft,a.chartY-c.chart.plotTop,{visiblePlotOnly:!0})&&(a=this.mouseMoveToTranslation(a),
 c.translateSide(a.x,a.y,!!this.index),c.redraw(!1))}}}});return e.types.tunnel=n});r(e,"Extensions/Annotations/Types/InfinityLine.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/Types/CrookedLine.js"],e["Extensions/Annotations/MockPoint.js"],e["Core/Utilities.js"]],function(e,l,m,k){var n=this&&this.__extends||function(){var d=function(a,c){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&
-(a[b]=c[b])};return d(a,c)};return function(a,c){function b(){this.constructor=a}d(a,c);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),f=k.merge;k=function(d){function a(){return null!==d&&d.apply(this,arguments)||this}n(a,d);a.edgePoint=function(c,b){return function(d){d=d.annotation;var e=d.options.typeOptions.type,h=d.points;if("horizontalLine"===e||"verticalLine"===e)h=[h[0],new m(d.chart,h[0].target,{x:h[0].x+ +("horizontalLine"===e),y:h[0].y+ +("verticalLine"===e),
-xAxis:h[0].options.xAxis,yAxis:h[0].options.yAxis})];return a.findEdgePoint(h[c],h[b])}};a.findEdgeCoordinate=function(a,b,d,e){var c="x"===d?"y":"x";return(b[d]-a[d])*(e-a[c])/(b[c]-a[c])+a[d]};a.findEdgePoint=function(c,b){var d=c.series.chart,e=c.series.xAxis,f=b.series.yAxis,k=m.pointToPixels(c);b=m.pointToPixels(b);var p=b.x-k.x,l=b.y-k.y,n=e.left,z=n+e.width;e=f.top;f=e+f.height;z=0>p?n:z;var v=0>l?e:f;n={x:0===p?k.x:z,y:0===l?k.y:v};0!==p&&0!==l&&(p=a.findEdgeCoordinate(k,b,"y",z),k=a.findEdgeCoordinate(k,
+(a[b]=c[b])};return d(a,c)};return function(a,c){function b(){this.constructor=a}d(a,c);a.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),f=k.merge;k=function(d){function a(){return null!==d&&d.apply(this,arguments)||this}n(a,d);a.edgePoint=function(c,b){return function(d){d=d.annotation;var e=d.options.typeOptions.type,g=d.points;if("horizontalLine"===e||"verticalLine"===e)g=[g[0],new m(d.chart,g[0].target,{x:g[0].x+ +("horizontalLine"===e),y:g[0].y+ +("verticalLine"===e),
+xAxis:g[0].options.xAxis,yAxis:g[0].options.yAxis})];return a.findEdgePoint(g[c],g[b])}};a.findEdgeCoordinate=function(a,b,d,e){var c="x"===d?"y":"x";return(b[d]-a[d])*(e-a[c])/(b[c]-a[c])+a[d]};a.findEdgePoint=function(c,b){var d=c.series.chart,e=c.series.xAxis,f=b.series.yAxis,k=m.pointToPixels(c);b=m.pointToPixels(b);var p=b.x-k.x,l=b.y-k.y,n=e.left,z=n+e.width;e=f.top;f=e+f.height;z=0>p?n:z;var v=0>l?e:f;n={x:0===p?k.x:z,y:0===l?k.y:v};0!==p&&0!==l&&(p=a.findEdgeCoordinate(k,b,"y",z),k=a.findEdgeCoordinate(k,
 b,"x",v),p>=e&&p<=f?(n.x=z,n.y=p):(n.x=k,n.y=v));n.x-=d.plotLeft;n.y-=d.plotTop;c.series.chart.inverted&&(c=n.x,n.x=n.y,n.y=c);return n};a.prototype.addShapes=function(){var c=this.options.typeOptions,b=[this.points[0],a.endEdgePoint];c.type.match(/line/gi)&&(b[0]=a.startEdgePoint);b=this.initShape(f(c.line,{type:"path",points:b}),0);c.line=b.options};a.endEdgePoint=a.edgePoint(0,1);a.startEdgePoint=a.edgePoint(1,0);return a}(l);k.prototype.defaultOptions=f(l.prototype.defaultOptions,{});e.types.infinityLine=
-k;"";return k});r(e,"Extensions/Annotations/Types/TimeCycles.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/Types/CrookedLine.js"],e["Extensions/Annotations/ControlPoint.js"],e["Core/Utilities.js"]],function(e,l,m,k){function n(a,c,d,e){for(var b=[],g=1;g<=c;g++)b.push(["A",a/2,a/2,0,1,1,d+g*a,e]);return b}var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&
+k;"";return k});r(e,"Extensions/Annotations/Types/TimeCycles.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/Types/CrookedLine.js"],e["Extensions/Annotations/ControlPoint.js"],e["Core/Utilities.js"]],function(e,l,m,k){function n(a,c,d,e){for(var b=[],h=1;h<=c;h++)b.push(["A",a/2,a/2,0,1,1,d+h*a,e]);return b}var f=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&
 (a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),d=k.merge,a=k.isNumber,c=k.defined;k=function(b){function e(){return null!==b&&b.apply(this,arguments)||this}f(e,b);e.prototype.init=function(a,d,e){c(d.yAxis)&&d.points.forEach(function(a){a.yAxis=d.yAxis});c(d.xAxis)&&d.points.forEach(function(a){a.xAxis=d.xAxis});b.prototype.init.call(this,a,d,e)};e.prototype.setPath=function(){this.shapes[0].options.d=
 this.getPath()};e.prototype.getPath=function(){return[["M",this.startX,this.y]].concat(n(this.pixelInterval,this.numberOfCircles,this.startX,this.y))};e.prototype.addShapes=function(){var a=this.options.typeOptions;this.setPathProperties();var b=this.initShape(d(a.line,{type:"path",d:this.getPath(),points:this.options.points}),0);a.line=b.options};e.prototype.addControlPoints=function(){var a=this,b=this.options,c=b.typeOptions;b.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize";
-c.controlPointOptions.forEach(function(c){c=d(b.controlPointOptions,c);c=new m(a.chart,a,c,0);a.controlPoints.push(c)})};e.prototype.setPathProperties=function(){var b=this.options.typeOptions,c=b.points;if(c){var d=c[0],e=this.chart.xAxis[b.xAxis||0],h=this.chart.yAxis[b.yAxis||0];b=d.x;var f=d.y;d=c[1].x;b&&d&&(c=a(f)?h.toPixels(f):h.top+h.height,b=a(b)?e.toPixels(b):e.left,h=a(d)?e.toPixels(d):e.left+30,h=Math.round(Math.max(Math.abs(h-b),2)),d=Math.floor(e.len/h)+2,this.startX=b-(Math.floor((b-
-e.left)/h)+1)*h,this.y=c,this.pixelInterval=h,this.numberOfCircles=d)}};e.prototype.redraw=function(a){this.setPathProperties();this.setPath();b.prototype.redraw.call(this,a)};return e}(l);k.prototype.defaultOptions=d(l.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(a){return{x:a.anchor(a.points[0]).absolutePosition.x-this.graphic.width/2,y:a.y-this.graphic.height}},events:{drag:function(a,c){var b=c.anchor(c.points[0]).absolutePosition;c.translatePoint(a.chartX-
+c.controlPointOptions.forEach(function(c){c=d(b.controlPointOptions,c);c=new m(a.chart,a,c,0);a.controlPoints.push(c)})};e.prototype.setPathProperties=function(){var b=this.options.typeOptions,c=b.points;if(c){var d=c[0],e=this.chart.xAxis[b.xAxis||0],g=this.chart.yAxis[b.yAxis||0];b=d.x;var f=d.y;d=c[1].x;b&&d&&(c=a(f)?g.toPixels(f):g.top+g.height,b=a(b)?e.toPixels(b):e.left,g=a(d)?e.toPixels(d):e.left+30,g=Math.round(Math.max(Math.abs(g-b),2)),d=Math.floor(e.len/g)+2,this.startX=b-(Math.floor((b-
+e.left)/g)+1)*g,this.y=c,this.pixelInterval=g,this.numberOfCircles=d)}};e.prototype.redraw=function(a){this.setPathProperties();this.setPath();b.prototype.redraw.call(this,a)};return e}(l);k.prototype.defaultOptions=d(l.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(a){return{x:a.anchor(a.points[0]).absolutePosition.x-this.graphic.width/2,y:a.y-this.graphic.height}},events:{drag:function(a,c){var b=c.anchor(c.points[0]).absolutePosition;c.translatePoint(a.chartX-
 b.x,0,0);c.redraw(!1)}}},{positioner:function(a){return{x:a.anchor(a.points[1]).absolutePosition.x-this.graphic.width/2,y:a.y-this.graphic.height}},events:{drag:function(a,c){var b=c.anchor(c.points[1]).absolutePosition;c.translatePoint(a.chartX-b.x,0,1);c.redraw(!1)}}}]}});e.types.timeCycles=k;"";return k});r(e,"Extensions/Annotations/Types/Fibonacci.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/MockPoint.js"],e["Extensions/Annotations/Types/Tunnel.js"],e["Core/Utilities.js"]],
 function(e,l,m,k){function n(a,c){return function(){var b=this.annotation;if(!b.startRetracements||!b.endRetracements)return[];var d=this.anchor(b.startRetracements[a]).absolutePosition,e=this.anchor(b.endRetracements[a]).absolutePosition;d=[["M",Math.round(d.x),Math.round(d.y)],["L",Math.round(e.x),Math.round(e.y)]];c&&(e=this.anchor(b.endRetracements[a-1]).absolutePosition,b=this.anchor(b.startRetracements[a-1]).absolutePosition,d.push(["L",Math.round(e.x),Math.round(e.y)],["L",Math.round(b.x),
 Math.round(b.y)]));return d}}var f=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(c,b)};return function(c,b){function d(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),d=k.merge;k=function(a){function c(){return null!==a&&a.apply(this,arguments)||this}f(c,a);c.prototype.linkPoints=
-function(){a.prototype.linkPoints.call(this);this.linkRetracementsPoints()};c.prototype.linkRetracementsPoints=function(){var a=this,d=this.points,e=d[0].y-d[3].y,f=d[1].y-d[2].y,k=d[0].x,l=d[1].x;c.levels.forEach(function(b,c){var g=d[0].y-e*b;b=d[1].y-f*b;a.startRetracements=a.startRetracements||[];a.endRetracements=a.endRetracements||[];a.linkRetracementPoint(c,k,g,a.startRetracements);a.linkRetracementPoint(c,l,b,a.endRetracements)})};c.prototype.linkRetracementPoint=function(a,c,d,e){var b=e[a],
-g=this.options.typeOptions;b?(b.options.x=c,b.options.y=d,b.refresh()):e[a]=new l(this.chart,this,{x:c,y:d,xAxis:g.xAxis,yAxis:g.yAxis})};c.prototype.addShapes=function(){c.levels.forEach(function(a,c){var b=this.options.typeOptions;a=b.backgroundColors;var d=b.lineColor;b=b.lineColors;this.initShape({type:"path",d:n(c),stroke:b[c]||d},c);0<c&&this.initShape({type:"path",fill:a[c-1],strokeWidth:0,d:n(c,!0)})},this)};c.prototype.addLabels=function(){c.levels.forEach(function(a,c){var b=this.options.typeOptions;
+function(){a.prototype.linkPoints.call(this);this.linkRetracementsPoints()};c.prototype.linkRetracementsPoints=function(){var a=this,d=this.points,e=d[0].y-d[3].y,f=d[1].y-d[2].y,k=d[0].x,l=d[1].x;c.levels.forEach(function(b,c){var h=d[0].y-e*b;b=d[1].y-f*b;a.startRetracements=a.startRetracements||[];a.endRetracements=a.endRetracements||[];a.linkRetracementPoint(c,k,h,a.startRetracements);a.linkRetracementPoint(c,l,b,a.endRetracements)})};c.prototype.linkRetracementPoint=function(a,c,d,e){var b=e[a],
+h=this.options.typeOptions;b?(b.options.x=c,b.options.y=d,b.refresh()):e[a]=new l(this.chart,this,{x:c,y:d,xAxis:h.xAxis,yAxis:h.yAxis})};c.prototype.addShapes=function(){c.levels.forEach(function(a,c){var b=this.options.typeOptions;a=b.backgroundColors;var d=b.lineColor;b=b.lineColors;this.initShape({type:"path",d:n(c),stroke:b[c]||d},c);0<c&&this.initShape({type:"path",fill:a[c-1],strokeWidth:0,d:n(c,!0)})},this)};c.prototype.addLabels=function(){c.levels.forEach(function(a,c){var b=this.options.typeOptions;
 a=this.initLabel(d(b.labels[c],{point:function(a){return l.pointToOptions(a.annotation.startRetracements[c])},text:a.toString()}));b.labels[c]=a.options},this)};c.levels=[0,.236,.382,.5,.618,.786,1];return c}(m);k.prototype.defaultOptions=d(m.prototype.defaultOptions,{typeOptions:{height:2,backgroundColors:"rgba(130, 170, 255, 0.4);rgba(139, 191, 216, 0.4);rgba(150, 216, 192, 0.4);rgba(156, 229, 161, 0.4);rgba(162, 241, 130, 0.4);rgba(169, 255, 101, 0.4)".split(";"),lineColor:"#999999",lineColors:[],
 labels:[]},labelOptions:{allowOverlap:!0,align:"right",backgroundColor:"none",borderWidth:0,crop:!1,overflow:"none",shape:"rect",style:{color:"grey"},verticalAlign:"middle",y:0}});return e.types.fibonacci=k});r(e,"Extensions/Annotations/Types/FibonacciTimeZones.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/ControlPoint.js"],e["Extensions/Annotations/Types/CrookedLine.js"],e["Extensions/Annotations/Types/InfinityLine.js"],e["Extensions/Annotations/MockPoint.js"],e["Core/Utilities.js"]],
-function(e,l,m,k,n,f){function d(a,c,d){return function(b){var e=b.annotation.chart;b=b.annotation.points;var g=b[0].series.xAxis.toValue(b[0].plotX+(e.inverted?e.plotTop:e.plotLeft)+d*(1<b.length?b[1].plotX-b[0].plotX:0));b=[new n(e,b[0].target,{x:g,y:0,xAxis:b[0].options.xAxis,yAxis:b[0].options.yAxis}),new n(e,b[0].target,{x:g,y:1,xAxis:b[0].options.xAxis,yAxis:b[0].options.yAxis})];return k.findEdgePoint(b[a],b[c])}}var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||
-{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),c=f.merge;f=function(b){function e(){return null!==b&&b.apply(this,arguments)||this}a(e,b);e.prototype.addShapes=function(){for(var a=1,b=1,e=0;11>e;e++){var h=e?a:0;h=[d(1,0,h),d(0,1,h)];b=a+b;a=b-a;1===e&&(this.secondLineEdgePoints=
-[h[0],h[1]]);this.initShape(c(this.options.typeOptions.line,{type:"path",points:h}),e)}};e.prototype.addControlPoints=function(){var a=this.options,b=a.typeOptions;a=new l(this.chart,this,c(a.controlPointOptions,b.controlPointOptions),0);this.controlPoints.push(a);b.controlPointOptions=a.options};return e}(m);f.prototype.defaultOptions=c(m.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){var a=this.target,
+function(e,l,m,k,n,f){function d(a,c,d){return function(b){var e=b.annotation.chart;b=b.annotation.points;var h=b[0].series.xAxis.toValue(b[0].plotX+(e.inverted?e.plotTop:e.plotLeft)+d*(1<b.length?b[1].plotX-b[0].plotX:0));b=[new n(e,b[0].target,{x:h,y:0,xAxis:b[0].options.xAxis,yAxis:b[0].options.yAxis}),new n(e,b[0].target,{x:h,y:1,xAxis:b[0].options.xAxis,yAxis:b[0].options.yAxis})];return k.findEdgePoint(b[a],b[c])}}var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||
+{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),c=f.merge;f=function(b){function e(){return null!==b&&b.apply(this,arguments)||this}a(e,b);e.prototype.addShapes=function(){for(var a=1,b=1,e=0;11>e;e++){var g=e?a:0;g=[d(1,0,g),d(0,1,g)];b=a+b;a=b-a;1===e&&(this.secondLineEdgePoints=
+[g[0],g[1]]);this.initShape(c(this.options.typeOptions.line,{type:"path",points:g}),e)}};e.prototype.addControlPoints=function(){var a=this.options,b=a.typeOptions;a=new l(this.chart,this,c(a.controlPointOptions,b.controlPointOptions),0);this.controlPoints.push(a);b.controlPointOptions=a.options};return e}(m);f.prototype.defaultOptions=c(m.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){var a=this.target,
 c=this.graphic,d=a.secondLineEdgePoints,e={annotation:a};var f=d[0](e).y;var k=d[1](e).y;a=this.chart.plotLeft;var l=this.chart.plotTop;d=d[0](e).x;f=(f+k)/2;this.chart.inverted&&(f=[f,d],d=f[0],f=f[1]);return{x:a+d-c.width/2,y:l+f-c.height/2}},events:{drag:function(a,c){c.chart.isInsidePlot(a.chartX-c.chart.plotLeft,a.chartY-c.chart.plotTop,{visiblePlotOnly:!0})&&(a=this.mouseMoveToTranslation(a),c.translatePoint(a.x,0,1),c.redraw(!1))}}}}});e.types.fibonacciTimeZones=f;"";return f});r(e,"Extensions/Annotations/Types/Pitchfork.js",
 [e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/Types/InfinityLine.js"],e["Extensions/Annotations/MockPoint.js"],e["Core/Utilities.js"]],function(e,l,m,k){var n=this&&this.__extends||function(){var d=function(a,c){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return d(a,c)};return function(a,c){function b(){this.constructor=a}d(a,c);a.prototype=null===c?Object.create(c):(b.prototype=
 c.prototype,new b)}}(),f=k.merge;k=function(d){function a(){return null!==d&&d.apply(this,arguments)||this}n(a,d);a.outerLineEdgePoint=function(c){return function(b){var d=b.annotation,e=d.points;return a.findEdgePoint(e[c],e[0],new m(d.chart,b,d.midPointOptions()))}};a.findEdgePoint=function(a,b,d){b=Math.atan2(d.plotY-b.plotY,d.plotX-b.plotX);return{x:a.plotX+1E7*Math.cos(b),y:a.plotY+1E7*Math.sin(b)}};a.middleLineEdgePoint=function(a){var b=a.annotation;return l.findEdgePoint(b.points[0],new m(b.chart,
@@ -185,9 +185,9 @@ b.options};a.prototype.addLabels=function(){var a=this.options.typeOptions,b=a.l
 crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}});return e.types.verticalLine=m});r(e,"Extensions/Annotations/Types/Measure.js",[e["Extensions/Annotations/Annotation.js"],e["Extensions/Annotations/ControlPoint.js"],e["Core/Utilities.js"]],function(e,l,m){function k(){var a=this.chart.series,b=f(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),c=0,d=!1;a.forEach(function(a){a.visible&&"highcharts-navigator-series"!==a.options.id&&a.points.forEach(function(a){!a.isNull&&
 a.x>b.xAxisMin&&a.x<=b.xAxisMax&&a.y>b.yAxisMin&&a.y<=b.yAxisMax&&(c++,d=!0)})});d||(c="");return c}function n(){return"Min: "+this.min+"<br>Max: "+this.max+"<br>Average: "+this.average+"<br>Bins: "+this.bins}function f(a,b,c,d){return{xAxisMin:Math.min(b,a),xAxisMax:Math.max(b,a),yAxisMin:Math.min(d,c),yAxisMax:Math.max(d,c)}}function d(a,b,c){return a.toValue(a.toPixels(b)+c)}function a(){var a=this.chart.series,b=f(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),c=-Infinity,d=!1;a.forEach(function(a){a.visible&&
 "highcharts-navigator-series"!==a.options.id&&a.points.forEach(function(a){!a.isNull&&a.y>c&&a.x>b.xAxisMin&&a.x<=b.xAxisMax&&a.y>b.yAxisMin&&a.y<=b.yAxisMax&&(c=a.y,d=!0)})});d||(c="");return c}function c(){var a=this.chart.series,b=f(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),c=Infinity,d=!1;a.forEach(function(a){a.visible&&"highcharts-navigator-series"!==a.options.id&&a.points.forEach(function(a){!a.isNull&&a.y<c&&a.x>b.xAxisMin&&a.x<=b.xAxisMax&&a.y>b.yAxisMin&&a.y<=b.yAxisMax&&
-(c=a.y,d=!0)})});d||(c="");return c}function b(b){var e=this.options.typeOptions,f=this.chart.xAxis[e.xAxis];e=this.chart.yAxis[e.yAxis];var g=this.offsetX,h=this.offsetY;this.xAxisMin=d(f,this.startXMin,g);this.xAxisMax=d(f,this.startXMax,g);this.yAxisMin=d(e,this.startYMin,h);this.yAxisMax=d(e,this.startYMax,h);this.min=c.call(this);this.max=a.call(this);f="";""!==this.max&&""!==this.min&&(f=(this.max+this.min)/2);this.average=f;this.bins=k.call(this);b&&this.resize(0,0)}function h(a,b,c,e,f){var g=
+(c=a.y,d=!0)})});d||(c="");return c}function b(b){var e=this.options.typeOptions,f=this.chart.xAxis[e.xAxis];e=this.chart.yAxis[e.yAxis];var g=this.offsetX,h=this.offsetY;this.xAxisMin=d(f,this.startXMin,g);this.xAxisMax=d(f,this.startXMax,g);this.yAxisMin=d(e,this.startYMin,h);this.yAxisMax=d(e,this.startYMax,h);this.min=c.call(this);this.max=a.call(this);f="";""!==this.max&&""!==this.min&&(f=(this.max+this.min)/2);this.average=f;this.bins=k.call(this);b&&this.resize(0,0)}function g(a,b,c,e,f){var g=
 this.options.typeOptions,h=g.selectType,k=this.chart.xAxis[g.xAxis];g=this.chart.yAxis[g.yAxis];var l=this.startXMin,m=this.startXMax,n=this.startYMin,x=this.startYMax,w=this.offsetX,p=this.offsetY;b&&("x"===h?0===c?this.startXMin=d(k,l,e):this.startXMax=d(k,m,e):"y"===h?0===c?this.startYMin=d(g,n,f):this.startYMax=d(g,x,f):(this.startXMax=d(k,m,e),this.startYMax=d(g,x,f)));a&&(this.startXMin=d(k,l,w),this.startXMax=d(k,m,w),this.startYMin=d(g,n,p),this.startYMax=d(g,x,p),this.offsetY=this.offsetX=
-0)}var g=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),q=m.defined,r=m.extend,p=m.isNumber,u=m.merge,C=m.pick;m=function(a){function c(){return null!==a&&a.apply(this,arguments)||this}g(c,a);c.prototype.init=
+0)}var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),q=m.defined,r=m.extend,p=m.isNumber,u=m.merge,C=m.pick;m=function(a){function c(){return null!==a&&a.apply(this,arguments)||this}h(c,a);c.prototype.init=
 function(a,b,c){e.prototype.init.call(this,a,b,c);this.resizeY=this.resizeX=this.offsetY=this.offsetX=0;a=this.options.typeOptions;var f=this.chart;c=f.inverted;b=f.xAxis[a.xAxis];f=f.yAxis[a.yAxis];var g=a.background,h=c?g.height:g.width;g=c?g.width:g.height;var k=a.selectType,l=c?b.left:f.top;c=c?f.top:b.left;this.startXMin=a.point.x;this.startYMin=a.point.y;p(h)?this.startXMax=this.startXMin+h:this.startXMax=d(b,this.startXMin,parseFloat(h));p(g)?this.startYMax=this.startYMin-g:this.startYMax=
 d(f,this.startYMin,parseFloat(g));"x"===k?(this.startYMin=f.toValue(l),this.startYMax=f.toValue(l+f.len)):"y"===k&&(this.startXMin=b.toValue(c),this.startXMax=b.toValue(c+b.len));this.addValues();this.addShapes()};c.prototype.setClipAxes=function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis];this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]};c.prototype.pointsOptions=function(){return this.options.points};c.prototype.shapePointsOptions=function(){var a=this.options.typeOptions,
 b=a.xAxis;a=a.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:b,yAxis:a},{x:this.xAxisMax,y:this.yAxisMin,xAxis:b,yAxis:a},{x:this.xAxisMax,y:this.yAxisMax,xAxis:b,yAxis:a},{x:this.xAxisMin,y:this.yAxisMax,xAxis:b,yAxis:a}]};c.prototype.addControlPoints=function(){var a=this.chart.inverted,b=this.options.controlPointOptions,c=this.options.typeOptions.selectType;q(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===c?b.style.cursor=a?"ns-resize":"ew-resize":
@@ -195,9 +195,9 @@ b=a.xAxis;a=a.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:b,yAxis:a},{x:
 dashStyle:"Dash",overflow:"allow",align:"left",y:0,x:0,verticalAlign:"top",crop:!0,xAxis:0,yAxis:0,point:function(a){var b=a.annotation;a=a.options;return{x:b.xAxisMin,y:b.yAxisMin,xAxis:C(c.xAxis,a.xAxis),yAxis:C(c.yAxis,a.yAxis)}},text:d&&d.call(this)||n.call(this)},c.label),void 0))};c.prototype.addShapes=function(){this.addCrosshairs();this.addBackground()};c.prototype.addBackground=function(){"undefined"!==typeof this.shapePointsOptions()[0].x&&this.initShape(r({type:"path",points:this.shapePointsOptions()},
 this.options.typeOptions.background),2)};c.prototype.addCrosshairs=function(){var a=this.chart,b=this.options.typeOptions,c=a.xAxis[b.xAxis],d=a.yAxis[b.yAxis],e=a.inverted;a={point:this.options.typeOptions.point,type:"path"};var f=c.toPixels(this.xAxisMin),g=c.toPixels(this.xAxisMax),h=d.toPixels(this.yAxisMin),k=d.toPixels(this.yAxisMax);d=[];c=[];e&&(e=f,f=h,h=e,e=g,g=k,k=e);b.crosshairX.enabled&&(d=[["M",f,h+(k-h)/2],["L",g,h+(k-h)/2]]);b.crosshairY.enabled&&(c=[["M",f+(g-f)/2,h],["L",f+(g-f)/
 2,k]]);0<this.shapes.length?(this.shapes[0].options.d=d,this.shapes[1].options.d=c):(f=u(a,b.crosshairX),b=u(a,b.crosshairY),this.initShape(r({d:d},f),0),this.initShape(r({d:c},b),1))};c.prototype.onDrag=function(a){var b=this.mouseMoveToTranslation(a),c=this.options.typeOptions.selectType;a="y"===c?0:b.x;b="x"===c?0:b.y;this.translate(a,b);this.offsetX+=a;this.offsetY+=b;this.redraw(!1,!1,!0)};c.prototype.resize=function(a,b,c,d){var e=this.shapes[2];"x"===d?0===c?(e.translatePoint(a,0,0),e.translatePoint(a,
-b,3)):(e.translatePoint(a,0,1),e.translatePoint(a,b,2)):"y"===d?0===c?(e.translatePoint(0,b,0),e.translatePoint(0,b,1)):(e.translatePoint(0,b,2),e.translatePoint(0,b,3)):(e.translatePoint(a,0,1),e.translatePoint(a,b,2),e.translatePoint(0,b,3));h.call(this,!1,!0,c,a,b);this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin);this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)};c.prototype.redraw=function(a,b,c){this.linkPoints();this.graphic||
-this.render();c&&h.call(this,!0,!1);this.clipRect&&this.clipRect.animate(this.getClipBox());this.addValues(b);this.addCrosshairs();this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);this.controlPoints.forEach(function(a){return a.redraw()})};c.prototype.translate=function(a,b){this.shapes.forEach(function(c){return c.translate(a,b)});this.options.typeOptions.point.x=this.startXMin;this.options.typeOptions.point.y=this.startYMin};return c}(e);m.prototype.defaultOptions=u(e.prototype.defaultOptions,
+b,3)):(e.translatePoint(a,0,1),e.translatePoint(a,b,2)):"y"===d?0===c?(e.translatePoint(0,b,0),e.translatePoint(0,b,1)):(e.translatePoint(0,b,2),e.translatePoint(0,b,3)):(e.translatePoint(a,0,1),e.translatePoint(a,b,2),e.translatePoint(0,b,3));g.call(this,!1,!0,c,a,b);this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin);this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)};c.prototype.redraw=function(a,b,c){this.linkPoints();this.graphic||
+this.render();c&&g.call(this,!0,!1);this.clipRect&&this.clipRect.animate(this.getClipBox());this.addValues(b);this.addCrosshairs();this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);this.controlPoints.forEach(function(a){return a.redraw()})};c.prototype.translate=function(a,b){this.shapes.forEach(function(c){return c.translate(a,b)});this.options.typeOptions.point.x=this.startXMin;this.options.typeOptions.point.y=this.startYMin};return c}(e);m.prototype.defaultOptions=u(e.prototype.defaultOptions,
 {typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"11px",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(a){var b=this.index,c=a.chart,d=a.options,e=d.typeOptions,g=e.selectType;d=d.controlPointOptions;var h=c.inverted,k=c.xAxis[e.xAxis];
-c=c.yAxis[e.yAxis];var l=f(a.xAxisMin,a.xAxisMax,a.yAxisMin,a.yAxisMax);e=a.xAxisMax;var m=a.yAxisMax;"x"===g&&(m=(l.yAxisMax-l.yAxisMin)/2,0===b&&(e=a.xAxisMin));"y"===g&&(e=l.xAxisMin+(l.xAxisMax-l.xAxisMin)/2,0===b&&(m=a.yAxisMin));h?(a=c.toPixels(m),b=k.toPixels(e)):(a=k.toPixels(e),b=c.toPixels(m));return{x:a-d.width/2,y:b-d.height/2}},events:{drag:function(a,b){var c=this.mouseMoveToTranslation(a);a=b.options.typeOptions.selectType;var d="y"===a?0:c.x;c="x"===a?0:c.y;b.resize(d,c,this.index,
+c=c.yAxis[e.yAxis];var l=f(a.xAxisMin,a.xAxisMax,a.yAxisMin,a.yAxisMax);e=a.xAxisMax;var m=a.yAxisMax;"x"===g&&(m=(l.yAxisMax+l.yAxisMin)/2,0===b&&(e=a.xAxisMin));"y"===g&&(e=l.xAxisMin+(l.xAxisMax-l.xAxisMin)/2,0===b&&(m=a.yAxisMin));h?(a=c.toPixels(m),b=k.toPixels(e)):(a=k.toPixels(e),b=c.toPixels(m));return{x:a-d.width/2,y:b-d.height/2}},events:{drag:function(a,b){var c=this.mouseMoveToTranslation(a);a=b.options.typeOptions.selectType;var d="y"===a?0:c.x;c="x"===a?0:c.y;b.resize(d,c,this.index,
 a);b.resizeX+=d;b.resizeY+=c;b.redraw(!1,!0)}}}});return e.types.measure=m});r(e,"masters/modules/annotations-advanced.src.js",[e["Core/Globals.js"],e["Extensions/Annotations/Annotation.js"]],function(e,l){e.Annotation=l;l.compose(e.Chart,e.Pointer,e.SVGRenderer)})});
 //# sourceMappingURL=annotations-advanced.js.map

+ 81 - 81
nicegui/elements/lib/highcharts_modules/annotations.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Annotations module
 
@@ -7,124 +7,124 @@
 
  License: www.highcharts.com/license
 */
-(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(t){c(t);c.Highcharts=t;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function t(c,l,w,n){c.hasOwnProperty(l)||(c[l]=n.apply(null,w),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:c[l]}})))}c=c?c._modules:{};
-t(c,"Extensions/Annotations/AnnotationChart.js",[c["Core/Utilities.js"]],function(c){function l(a,d){a=this.initAnnotation(a);this.options.annotations.push(a.options);C(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1}));return a}function p(){var a=this;a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(d,g){if(!a.annotations.some(function(a){return a.options===d})){var b=
+(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(r){c(r);c.Highcharts=r;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function r(c,l,w,m){c.hasOwnProperty(l)||(c[l]=m.apply(null,w),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:c[l]}})))}c=c?c._modules:{};
+r(c,"Extensions/Annotations/AnnotationChart.js",[c["Core/Utilities.js"]],function(c){function l(a,d){a=this.initAnnotation(a);this.options.annotations.push(a.options);C(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1}));return a}function p(){var a=this;a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(d,g){if(!a.annotations.some(function(a){return a.options===d})){var b=
 a.initAnnotation(d);a.options.annotations[g]=b.options}});a.drawAnnotations();b(a,"redraw",a.drawAnnotations);b(a,"destroy",function(){a.plotBoxClip.destroy();a.controlPointsGroup.destroy()});b(a,"exportData",function(d){var g=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,b=!d.dataRows[1].xValues,e=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,h=function(a){if(g){var d=g(a);if(!1!==d)return d}d=e+" "+a;return b?{columnTitle:d,
-topLevelColumnTitle:d}:d},f=d.dataRows[0].length,C=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter,r=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var g=a.options.text;a.points.forEach(function(a){var b=
-a.x,e=a.series.xAxis?a.series.xAxis.options.index:-1,h=!1;if(-1===e){a=d.dataRows[0].length;for(var m=Array(a),q=0;q<a;++q)m[q]="";m.push(g);m.xValues=[];m.xValues[e]=b;d.dataRows.push(m);h=!0}h||d.dataRows.forEach(function(a){!h&&a.xValues&&void 0!==e&&b===a.xValues[e]&&(r&&a.length>f?a[a.length-1]+=C+g:a.push(g),h=!0)});if(!h){a=d.dataRows[0].length;m=Array(a);for(q=0;q<a;++q)m[q]="";m[0]=b;m.push(g);m.xValues=[];void 0!==e&&(m.xValues[e]=b);d.dataRows.push(m)}})}})});var q=0;d.dataRows.forEach(function(a){q=
-Math.max(q,a.length)});for(var c=q-d.dataRows[0].length,D=0;D<c;D++){var A=h(D+1);b?(d.dataRows[0].push(A.topLevelColumnTitle),d.dataRows[1].push(A.columnTitle)):d.dataRows[0].push(A)}})}function n(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}function k(a){var b=this.annotations,h="annotations"===a.coll?a:d(b,function(d){return d.options.id===a});h&&(g(h,"remove"),e(this.options.annotations,h.options),e(b,
-h),h.destroy())}function f(){this.annotations=[];this.options.annotations||(this.options.annotations=[])}function a(a){this.chart.hasDraggedAnnotation||a.apply(this,Array.prototype.slice.call(arguments,1))}var b=c.addEvent,e=c.erase,d=c.find,g=c.fireEvent,C=c.pick,D=c.wrap,A=[],r;(function(d){d.compose=function(d,g,e){-1===A.indexOf(g)&&(A.push(g),b(g,"afterInit",f),g=g.prototype,g.addAnnotation=l,g.callbacks.push(p),g.collectionsWithInit.annotations=[l],g.collectionsWithUpdate.push("annotations"),
-g.drawAnnotations=n,g.removeAnnotation=k,g.initAnnotation=function(a){a=new (d.types[a.type]||d)(this,a);this.annotations.push(a);return a});-1===A.indexOf(e)&&(A.push(e),D(e.prototype,"onContainerMouseDown",a))}})(r||(r={}));return r});t(c,"Extensions/Annotations/AnnotationDefaults.js",[c["Core/Utilities.js"]],function(c){var l=c.defined;return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,
+topLevelColumnTitle:d}:d},f=d.dataRows[0].length,C=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter,q=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var g=a.options.text;a.points.forEach(function(a){var b=
+a.x,e=a.series.xAxis?a.series.xAxis.options.index:-1,h=!1;if(-1===e){a=d.dataRows[0].length;for(var n=Array(a),c=0;c<a;++c)n[c]="";n.push(g);n.xValues=[];n.xValues[e]=b;d.dataRows.push(n);h=!0}h||d.dataRows.forEach(function(a){!h&&a.xValues&&void 0!==e&&b===a.xValues[e]&&(q&&a.length>f?a[a.length-1]+=C+g:a.push(g),h=!0)});if(!h){a=d.dataRows[0].length;n=Array(a);for(c=0;c<a;++c)n[c]="";n[0]=b;n.push(g);n.xValues=[];void 0!==e&&(n.xValues[e]=b);d.dataRows.push(n)}})}})});var c=0;d.dataRows.forEach(function(a){c=
+Math.max(c,a.length)});for(var t=c-d.dataRows[0].length,D=0;D<t;D++){var A=h(D+1);b?(d.dataRows[0].push(A.topLevelColumnTitle),d.dataRows[1].push(A.columnTitle)):d.dataRows[0].push(A)}})}function m(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}function k(a){var b=this.annotations,h="annotations"===a.coll?a:d(b,function(d){return d.options.id===a});h&&(g(h,"remove"),e(this.options.annotations,h.options),e(b,
+h),h.destroy())}function f(){this.annotations=[];this.options.annotations||(this.options.annotations=[])}function a(a){this.chart.hasDraggedAnnotation||a.apply(this,Array.prototype.slice.call(arguments,1))}var b=c.addEvent,e=c.erase,d=c.find,g=c.fireEvent,C=c.pick,D=c.wrap,A=[],q;(function(d){d.compose=function(d,g,e){-1===A.indexOf(g)&&(A.push(g),b(g,"afterInit",f),g=g.prototype,g.addAnnotation=l,g.callbacks.push(p),g.collectionsWithInit.annotations=[l],g.collectionsWithUpdate.push("annotations"),
+g.drawAnnotations=m,g.removeAnnotation=k,g.initAnnotation=function(a){a=new (d.types[a.type]||d)(this,a);this.annotations.push(a);return a});-1===A.indexOf(e)&&(A.push(e),D(e.prototype,"onContainerMouseDown",a))}})(q||(q={}));return q});r(c,"Extensions/Annotations/AnnotationDefaults.js",[c["Core/Utilities.js"]],function(c){var l=c.defined;return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,
 borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return l(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},
-height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}});t(c,"Extensions/Annotations/EventEmitter.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){var p=c.doc,n=c.isTouchDevice,k=l.addEvent,f=l.fireEvent,a=l.objectEach,b=l.pick,e=l.removeEvent;return function(){function d(){}d.prototype.addEvents=function(){var d=this,b=function(a){k(a,n?"touchstart":"mousedown",function(a){d.onMouseDown(a)},{passive:!1})};b(this.graphic.element);(d.labels||[]).forEach(function(a){a.options.useHTML&&
+height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}});r(c,"Extensions/Annotations/EventEmitter.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){var p=c.doc,m=c.isTouchDevice,k=l.addEvent,f=l.fireEvent,a=l.objectEach,b=l.pick,e=l.removeEvent;return function(){function d(){}d.prototype.addEvents=function(){var d=this,b=function(a){k(a,m?"touchstart":"mousedown",function(a){d.onMouseDown(a)},{passive:!1})};b(this.graphic.element);(d.labels||[]).forEach(function(a){a.options.useHTML&&
 a.graphic.text&&b(a.graphic.text.element)});a(d.options.events,function(a,b){var e=function(e){"click"===b&&d.cancelClick||a.call(d,d.chart.pointer.normalize(e),d.target)};if(-1===(d.nonDOMEvents||[]).indexOf(b))d.graphic.on(b,e);else k(d,b,e,{passive:!1})});if(d.options.draggable&&(k(d,"drag",d.onDrag),!d.graphic.renderer.styledMode)){var e={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[d.options.draggable]};d.graphic.css(e);(d.labels||[]).forEach(function(a){a.options.useHTML&&a.graphic.text&&
 a.graphic.text.css(e)})}d.isUpdating||f(d,"add")};d.prototype.destroy=function(){this.removeDocEvents();e(this);this.hcEvents=null};d.prototype.mouseMoveToRadians=function(a,d,b){var e=a.prevChartY-b,g=a.prevChartX-d;b=a.chartY-b;a=a.chartX-d;this.chart.inverted&&(d=g,g=e,e=d,d=a,a=b,b=d);return Math.atan2(b,a)-Math.atan2(e,g)};d.prototype.mouseMoveToScale=function(a,d,b){d=(a.chartX-d||1)/(a.prevChartX-d||1);a=(a.chartY-b||1)/(a.prevChartY-b||1);this.chart.inverted&&(b=a,a=d,d=b);return{x:d,y:a}};
 d.prototype.mouseMoveToTranslation=function(a){var d=a.chartX-a.prevChartX;a=a.chartY-a.prevChartY;if(this.chart.inverted){var b=a;a=d;d=b}return{x:d,y:a}};d.prototype.onDrag=function(a){if(this.chart.isInsidePlot(a.chartX-this.chart.plotLeft,a.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){var d=this.mouseMoveToTranslation(a);"x"===this.options.draggable&&(d.y=0);"y"===this.options.draggable&&(d.x=0);this.points.length?this.translate(d.x,d.y):(this.shapes.forEach(function(a){return a.translate(d.x,
-d.y)}),this.labels.forEach(function(a){return a.translate(d.x,d.y)}));this.redraw(!1)}};d.prototype.onMouseDown=function(a){a.preventDefault&&a.preventDefault();if(2!==a.button){var d=this,e=d.chart.pointer;a=e.normalize(a);var g=a.chartX,c=a.chartY;d.cancelClick=!1;d.chart.hasDraggedAnnotation=!0;d.removeDrag=k(p,n?"touchmove":"mousemove",function(a){d.hasDragged=!0;a=e.normalize(a);a.prevChartX=g;a.prevChartY=c;f(d,"drag",a);g=a.chartX;c=a.chartY},n?{passive:!1}:void 0);d.removeMouseUp=k(p,n?"touchend":
-"mouseup",function(a){var e=b(d.target&&d.target.annotation,d.target);e&&(e.cancelClick=d.hasDragged);d.cancelClick=d.hasDragged;d.hasDragged=!1;d.chart.hasDraggedAnnotation=!1;f(b(e,d),"afterUpdate");d.onMouseUp(a)},n?{passive:!1}:void 0)}};d.prototype.onMouseUp=function(a){var d=this.chart;a=this.target||this;var b=d.options.annotations;d=d.annotations.indexOf(a);this.removeDocEvents();b[d]=a.options};d.prototype.removeDocEvents=function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&
-(this.removeMouseUp=this.removeMouseUp())};return d}()});t(c,"Extensions/Annotations/ControlPoint.js",[c["Extensions/Annotations/EventEmitter.js"],c["Core/Utilities.js"]],function(c,l){var p=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):
-(e.prototype=b.prototype,new e)}}(),n=l.merge,k=l.pick;c=function(f){function a(a,e,d,g){var b=f.call(this)||this;b.graphic=void 0;b.nonDOMEvents=["drag"];b.chart=a;b.target=e;b.options=d;b.index=k(d.index,g);return b}p(a,f);a.prototype.destroy=function(){f.prototype.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};a.prototype.redraw=function(a){this.graphic[a?"animate":"attr"](this.options.positioner.call(this,this.target))};a.prototype.render=
-function(){var a=this.chart,e=this.options;this.graphic=a.renderer.symbol(e.symbol,0,0,e.width,e.height).add(a.controlPointsGroup).css(e.style);this.setVisibility(e.visible);this.addEvents()};a.prototype.setVisibility=function(a){this.graphic[a?"show":"hide"]();this.options.visible=a};a.prototype.update=function(a){var b=this.chart,d=this.target,g=this.index;a=n(!0,this.options,a);this.destroy();this.constructor(b,d,a,g);this.render(b.controlPointsGroup);this.redraw()};return a}(c);"";return c});
-t(c,"Extensions/Annotations/MockPoint.js",[c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,l){var p=c.series.prototype,n=l.defined,k=l.fireEvent;c=function(){function f(a,b,e){this.plotY=this.plotX=void 0;this.mock=!0;this.series={visible:!0,chart:a,getPlotBox:p.getPlotBox};this.target=b||null;this.options=e;this.applyOptions(this.getOptions())}f.fromPoint=function(a){return new f(a.series.chart,null,{x:a.x,y:a.y,xAxis:a.series.xAxis,yAxis:a.series.yAxis})};f.pointToPixels=function(a,
+d.y)}),this.labels.forEach(function(a){return a.translate(d.x,d.y)}));this.redraw(!1)}};d.prototype.onMouseDown=function(a){a.preventDefault&&a.preventDefault();if(2!==a.button){var d=this,e=d.chart.pointer;a=e.normalize(a);var g=a.chartX,c=a.chartY;d.cancelClick=!1;d.chart.hasDraggedAnnotation=!0;d.removeDrag=k(p,m?"touchmove":"mousemove",function(a){d.hasDragged=!0;a=e.normalize(a);a.prevChartX=g;a.prevChartY=c;f(d,"drag",a);g=a.chartX;c=a.chartY},m?{passive:!1}:void 0);d.removeMouseUp=k(p,m?"touchend":
+"mouseup",function(a){var e=b(d.target&&d.target.annotation,d.target);e&&(e.cancelClick=d.hasDragged);d.cancelClick=d.hasDragged;d.hasDragged=!1;d.chart.hasDraggedAnnotation=!1;f(b(e,d),"afterUpdate");d.onMouseUp(a)},m?{passive:!1}:void 0)}};d.prototype.onMouseUp=function(a){var d=this.chart;a=this.target||this;var b=d.options.annotations;d=d.annotations.indexOf(a);this.removeDocEvents();b[d]=a.options};d.prototype.removeDocEvents=function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&
+(this.removeMouseUp=this.removeMouseUp())};return d}()});r(c,"Extensions/Annotations/ControlPoint.js",[c["Extensions/Annotations/EventEmitter.js"],c["Core/Utilities.js"]],function(c,l){var p=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):
+(e.prototype=b.prototype,new e)}}(),m=l.merge,k=l.pick;c=function(f){function a(a,e,d,g){var b=f.call(this)||this;b.graphic=void 0;b.nonDOMEvents=["drag"];b.chart=a;b.target=e;b.options=d;b.index=k(d.index,g);return b}p(a,f);a.prototype.destroy=function(){f.prototype.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};a.prototype.redraw=function(a){this.graphic[a?"animate":"attr"](this.options.positioner.call(this,this.target))};a.prototype.render=
+function(){var a=this.chart,e=this.options;this.graphic=a.renderer.symbol(e.symbol,0,0,e.width,e.height).add(a.controlPointsGroup).css(e.style);this.setVisibility(e.visible);this.addEvents()};a.prototype.setVisibility=function(a){this.graphic[a?"show":"hide"]();this.options.visible=a};a.prototype.update=function(a){var b=this.chart,d=this.target,g=this.index;a=m(!0,this.options,a);this.destroy();this.constructor(b,d,a,g);this.render(b.controlPointsGroup);this.redraw()};return a}(c);"";return c});
+r(c,"Extensions/Annotations/MockPoint.js",[c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,l){var p=c.series.prototype,m=l.defined,k=l.fireEvent;c=function(){function f(a,b,e){this.plotY=this.plotX=void 0;this.mock=!0;this.series={visible:!0,chart:a,getPlotBox:p.getPlotBox};this.target=b||null;this.options=e;this.applyOptions(this.getOptions())}f.fromPoint=function(a){return new f(a.series.chart,null,{x:a.x,y:a.y,xAxis:a.series.xAxis,yAxis:a.series.yAxis})};f.pointToPixels=function(a,
 b){var e=a.series,d=e.chart,g=a.plotX||0,f=a.plotY||0;d.inverted&&(a.mock?(g=a.plotY,f=a.plotX):(g=d.plotWidth-(a.plotY||0),f=d.plotHeight-(a.plotX||0)));e&&!b&&(a=e.getPlotBox(),g+=a.translateX,f+=a.translateY);return{x:g,y:f}};f.pointToOptions=function(a){return{x:a.x,y:a.y,xAxis:a.series.xAxis,yAxis:a.series.yAxis}};f.prototype.applyOptions=function(a){this.command=a.command;this.setAxis(a,"x");this.setAxis(a,"y");this.refresh()};f.prototype.getLabelConfig=function(){return{x:this.x,y:this.y,point:this}};
-f.prototype.getOptions=function(){return this.hasDynamicOptions()?this.options(this.target):this.options};f.prototype.hasDynamicOptions=function(){return"function"===typeof this.options};f.prototype.isInsidePlot=function(){var a=this.plotX,b=this.plotY,e=this.series.xAxis,d=this.series.yAxis,g={x:a,y:b,isInsidePlot:!0,options:{}};e&&(g.isInsidePlot=n(a)&&0<=a&&a<=e.len);d&&(g.isInsidePlot=g.isInsidePlot&&n(b)&&0<=b&&b<=d.len);k(this.series.chart,"afterIsInsidePlot",g);return g.isInsidePlot};f.prototype.refresh=
+f.prototype.getOptions=function(){return this.hasDynamicOptions()?this.options(this.target):this.options};f.prototype.hasDynamicOptions=function(){return"function"===typeof this.options};f.prototype.isInsidePlot=function(){var a=this.plotX,b=this.plotY,e=this.series.xAxis,d=this.series.yAxis,g={x:a,y:b,isInsidePlot:!0,options:{}};e&&(g.isInsidePlot=m(a)&&0<=a&&a<=e.len);d&&(g.isInsidePlot=g.isInsidePlot&&m(b)&&0<=b&&b<=d.len);k(this.series.chart,"afterIsInsidePlot",g);return g.isInsidePlot};f.prototype.refresh=
 function(){var a=this.series,b=a.xAxis;a=a.yAxis;var e=this.getOptions();b?(this.x=e.x,this.plotX=b.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x);a?(this.y=e.y,this.plotY=a.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y);this.isInside=this.isInsidePlot()};f.prototype.refreshOptions=function(){var a=this.series,b=a.xAxis;a=a.yAxis;this.x=this.options.x=b?this.options.x=b.toValue(this.plotX,!0):this.plotX;this.y=this.options.y=a?a.toValue(this.plotY,!0):this.plotY};f.prototype.rotate=function(a,b,
-e){if(!this.hasDynamicOptions()){var d=Math.cos(e);e=Math.sin(e);var g=this.plotX-a,f=this.plotY-b;this.plotX=g*d-f*e+a;this.plotY=g*e+f*d+b;this.refreshOptions()}};f.prototype.scale=function(a,b,e,d){if(!this.hasDynamicOptions()){var g=this.plotY*d;this.plotX=(1-e)*a+this.plotX*e;this.plotY=(1-d)*b+g;this.refreshOptions()}};f.prototype.setAxis=function(a,b){b+="Axis";a=a[b];var e=this.series.chart;this.series[b]="object"===typeof a?a:n(a)?e[b][a]||e.get(a):null};f.prototype.toAnchor=function(){var a=
-[this.plotX,this.plotY,0,0];this.series.chart.inverted&&(a[0]=this.plotY,a[1]=this.plotX);return a};f.prototype.translate=function(a,b,e,d){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=d,this.refreshOptions())};return f}();"";return c});t(c,"Extensions/Annotations/Controllables/Controllable.js",[c["Extensions/Annotations/ControlPoint.js"],c["Extensions/Annotations/MockPoint.js"],c["Core/Tooltip.js"],c["Core/Utilities.js"]],function(c,l,w,n){var k=n.isObject,f=n.isString,a=n.merge,b=n.splat;
-n=function(){function e(a,b,e,f){this.graphic=void 0;this.annotation=a;this.chart=a.chart;this.collection="label"===f?"labels":"shapes";this.options=b;this.points=[];this.controlPoints=[];this.index=e;this.itemType=f;this.init(a,b,e)}e.prototype.addControlPoints=function(){var d=this,b=this.controlPoints,e=this.options.controlPoints||[];e.forEach(function(f,g){f=a(d.options.controlPointOptions,f);f.index||(f.index=g);e[g]=f;b.push(new c(d.chart,d,f))})};e.prototype.anchor=function(d){var b=d.series.getPlotBox(),
+e){if(!this.hasDynamicOptions()){var d=Math.cos(e);e=Math.sin(e);var g=this.plotX-a,f=this.plotY-b;this.plotX=g*d-f*e+a;this.plotY=g*e+f*d+b;this.refreshOptions()}};f.prototype.scale=function(a,b,e,d){if(!this.hasDynamicOptions()){var g=this.plotY*d;this.plotX=(1-e)*a+this.plotX*e;this.plotY=(1-d)*b+g;this.refreshOptions()}};f.prototype.setAxis=function(a,b){b+="Axis";a=a[b];var e=this.series.chart;this.series[b]="object"===typeof a?a:m(a)?e[b][a]||e.get(a):null};f.prototype.toAnchor=function(){var a=
+[this.plotX,this.plotY,0,0];this.series.chart.inverted&&(a[0]=this.plotY,a[1]=this.plotX);return a};f.prototype.translate=function(a,b,e,d){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=d,this.refreshOptions())};return f}();"";return c});r(c,"Extensions/Annotations/Controllables/Controllable.js",[c["Extensions/Annotations/ControlPoint.js"],c["Extensions/Annotations/MockPoint.js"],c["Core/Tooltip.js"],c["Core/Utilities.js"]],function(c,l,w,m){var k=m.isObject,f=m.isString,a=m.merge,b=m.splat;
+m=function(){function e(a,b,e,f){this.graphic=void 0;this.annotation=a;this.chart=a.chart;this.collection="label"===f?"labels":"shapes";this.options=b;this.points=[];this.controlPoints=[];this.index=e;this.itemType=f;this.init(a,b,e)}e.prototype.addControlPoints=function(){var d=this,b=this.controlPoints,e=this.options.controlPoints||[];e.forEach(function(f,g){f=a(d.options.controlPointOptions,f);f.index||(f.index=g);e[g]=f;b.push(new c(d.chart,d,f))})};e.prototype.anchor=function(d){var b=d.series.getPlotBox(),
 e=d.series.chart,f=d.mock?d.toAnchor():w.prototype.getAnchor.call({chart:d.series.chart},d);f={x:f[0]+(this.options.x||0),y:f[1]+(this.options.y||0),height:f[2]||0,width:f[3]||0};return{relativePosition:f,absolutePosition:a(f,{x:f.x+(d.mock?b.translateX:e.plotLeft),y:f.y+(d.mock?b.translateY:e.plotTop)})}};e.prototype.attr=function(){for(var a=0;a<arguments.length;a++);this.graphic.attr.apply(this.graphic,arguments)};e.prototype.attrsFromOptions=function(a){var d=this.constructor.attrsMap,b={},e=
 this.chart.styledMode,f;for(f in a){var c=d[f];"undefined"===typeof d[f]||e&&-1!==["fill","stroke","stroke-width"].indexOf(c)||(b[c]=a[f])}return b};e.prototype.destroy=function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(a){return a.destroy()});this.options=this.controlPoints=this.points=this.chart=null;this.annotation&&(this.annotation=null)};e.prototype.getPointsOptions=function(){var a=this.options;
 return a.points||a.point&&b(a.point)};e.prototype.init=function(a,b,e){this.annotation=a;this.chart=a.chart;this.options=b;this.points=[];this.controlPoints=[];this.index=e;this.linkPoints();this.addControlPoints()};e.prototype.linkPoints=function(){var a=this.getPointsOptions(),b=this.points,e=a&&a.length||0,f;for(f=0;f<e;f++){var c=this.point(a[f],b[f]);if(!c){b.length=0;return}c.mock&&c.refresh();b[f]=c}return b};e.prototype.point=function(a,b){if(a&&a.series)return a;b&&null!==b.series||(k(a)?
 b=new l(this.chart,this,a):f(a)?b=this.chart.get(a)||null:"function"===typeof a&&(b=a.call(b,this),b=b.series?b:new l(this.chart,this,a)));return b};e.prototype.render=function(a){this.controlPoints.forEach(function(a){return a.render()})};e.prototype.redraw=function(a){this.controlPoints.forEach(function(d){return d.redraw(a)})};e.prototype.rotate=function(a,b,e){this.transform("rotate",a,b,e)};e.prototype.scale=function(a,b,e,f){this.transform("scale",a,b,e,f)};e.prototype.setControlPointsVisibility=
-function(a){this.controlPoints.forEach(function(b){b.setVisibility(a)})};e.prototype.shouldBeDrawn=function(){return!!this.points.length};e.prototype.transform=function(a,b,e,f,c){var d=this;if(this.chart.inverted){var h=b;b=e;e=h}this.points.forEach(function(h,g){return d.transformPoint(a,b,e,f,c,g)},this)};e.prototype.transformPoint=function(a,b,e,f,c,r){var d=this.points[r];d.mock||(d=this.points[r]=l.fromPoint(d));d[a](b,e,f,c)};e.prototype.translate=function(a,b){this.transform("translate",null,
+function(a){this.controlPoints.forEach(function(b){b.setVisibility(a)})};e.prototype.shouldBeDrawn=function(){return!!this.points.length};e.prototype.transform=function(a,b,e,f,c){var d=this;if(this.chart.inverted){var h=b;b=e;e=h}this.points.forEach(function(h,g){return d.transformPoint(a,b,e,f,c,g)},this)};e.prototype.transformPoint=function(a,b,e,f,c,q){var d=this.points[q];d.mock||(d=this.points[q]=l.fromPoint(d));d[a](b,e,f,c)};e.prototype.translate=function(a,b){this.transform("translate",null,
 null,a,b)};e.prototype.translatePoint=function(a,b,e){this.transformPoint("translate",null,null,a,b,e)};e.prototype.translateShape=function(a,b,e){var d=this.annotation.chart,f=this.annotation.userOptions,c=d.annotations.indexOf(this.annotation);d=d.options.annotations[c];this.translatePoint(a,b,0);e&&this.translatePoint(a,b,1);d[this.collection][this.index].point=this.options.point;f[this.collection][this.index].point=this.options.point};e.prototype.update=function(b){var d=this.annotation;b=a(!0,
-this.options,b);var e=this.graphic.parentGroup;this.destroy();this.constructor(d,b,this.index,this.itemType);this.render(e);this.redraw()};return e}();"";return n});t(c,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",
-refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}});t(c,"Extensions/Annotations/Controllables/ControllablePath.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableDefaults.js"],c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l,w,n){function k(a){return function(b){this.attr(a,"url(#"+b+")")}}function f(){this.options.defs=D(e,this.options.defs||
+this.options,b);var e=this.graphic.parentGroup;this.destroy();this.constructor(d,b,this.index,this.itemType);this.render(e);this.redraw()};return e}();"";return m});r(c,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",
+refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}});r(c,"Extensions/Annotations/Controllables/ControllablePath.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableDefaults.js"],c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l,w,m){function k(a){return function(b){this.attr(a,"url(#"+b+")")}}function f(){this.options.defs=D(e,this.options.defs||
 {})}function a(a,b){var d={attributes:{id:a}},e={stroke:b.color||"none",fill:b.color||"rgba(0, 0, 0, 0.75)"};d.children=b.children&&b.children.map(function(a){return D(e,a)});b=D(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},b,d);b=this.definition(b);b.id=a;return b}var b=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};
-return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),e=l.defaultMarkers,d=n.addEvent,g=n.defined,C=n.extend,D=n.merge,A=n.uniqueKey,r=[],h=k("marker-end"),q=k("marker-start"),F="rgba(192,192,192,"+(w.svg?.0001:.002)+")";return function(e){function c(a,b,d){a=e.call(this,a,b,d,"shape")||this;a.type="path";return a}b(c,e);c.compose=function(b,e){-1===r.indexOf(b)&&(r.push(b),d(b,"afterGetContainer",f));-1===
-r.indexOf(e)&&(r.push(e),e.prototype.addMarker=a)};c.prototype.toD=function(){var a=this.options.d;if(a)return"function"===typeof a?a.call(this):a;a=this.points;var b=a.length,d=[],e=b,f=a[0],c=e&&this.anchor(f).absolutePosition,h=0;if(c)for(d.push(["M",c.x,c.y]);++h<b&&e;)f=a[h],e=f.command||"L",c=this.anchor(f).absolutePosition,"M"===e?d.push([e,c.x,c.y]):"L"===e?d.push([e,c.x,c.y]):"Z"===e&&d.push([e]),e=f.series.visible;return e&&this.graphic?this.chart.renderer.crispLine(d,this.graphic.strokeWidth()):
+return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),e=l.defaultMarkers,d=m.addEvent,g=m.defined,C=m.extend,D=m.merge,A=m.uniqueKey,q=[],h=k("marker-end"),t=k("marker-start"),F="rgba(192,192,192,"+(w.svg?.0001:.002)+")";return function(e){function c(a,b,d){a=e.call(this,a,b,d,"shape")||this;a.type="path";return a}b(c,e);c.compose=function(b,e){-1===q.indexOf(b)&&(q.push(b),d(b,"afterGetContainer",f));-1===
+q.indexOf(e)&&(q.push(e),e.prototype.addMarker=a)};c.prototype.toD=function(){var a=this.options.d;if(a)return"function"===typeof a?a.call(this):a;a=this.points;var b=a.length,d=[],e=b,f=a[0],c=e&&this.anchor(f).absolutePosition,h=0;if(c)for(d.push(["M",c.x,c.y]);++h<b&&e;)f=a[h],e=f.command||"L",c=this.anchor(f).absolutePosition,"M"===e?d.push([e,c.x,c.y]):"L"===e?d.push([e,c.x,c.y]):"Z"===e&&d.push([e]),e=f.series.visible;return e&&this.graphic?this.chart.renderer.crispLine(d,this.graphic.strokeWidth()):
 null};c.prototype.shouldBeDrawn=function(){return e.prototype.shouldBeDrawn.call(this)||!!this.options.d};c.prototype.render=function(a){var b=this.options,d=this.attrsFromOptions(b);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(d).add(a);b.className&&this.graphic.addClass(b.className);this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(a);this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",
-stroke:F,fill:F,"stroke-width":this.graphic.strokeWidth()+2*b.snap});e.prototype.render.call(this);C(this.graphic,{markerStartSetter:q,markerEndSetter:h});this.setMarkers(this)};c.prototype.redraw=function(a){if(this.graphic){var b=this.toD(),d=a?"animate":"attr";b?(this.graphic[d]({d:b}),this.tracker[d]({d:b})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!b}e.prototype.redraw.call(this,a)};c.prototype.setMarkers=function(a){var b=
-a.options,d=a.chart,e=d.options.defs,f=b.fill,c=g(f)&&"none"!==f?f:b.stroke;["markerStart","markerEnd"].forEach(function(f){var h=b[f],g;if(h){for(g in e){var m=e[g];if((h===(m.attributes&&m.attributes.id)||h===m.id)&&"marker"===m.tagName){var q=m;break}}q&&(h=a[f]=d.renderer.addMarker((b.id||A())+"-"+h,D(q,{color:c})),a.attr(f,h.getAttribute("id")))}})};c.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return c}(c)});t(c,"Extensions/Annotations/Controllables/ControllableRect.js",
-[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var n=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):(e.prototype=b.prototype,
-new e)}}(),k=w.merge;return function(f){function a(a,e,d){a=f.call(this,a,e,d,"shape")||this;a.type="rect";a.translate=f.prototype.translateShape;return a}n(a,f);a.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(b).add(a);f.prototype.render.call(this)};a.prototype.redraw=function(a){if(this.graphic){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,width:this.options.width,
-height:this.options.height});else this.attr({x:0,y:-9E9});this.graphic.placed=!!b}f.prototype.redraw.call(this,a)};a.attrsMap=k(l.attrsMap,{width:"width",height:"height"});return a}(c)});t(c,"Extensions/Annotations/Controllables/ControllableCircle.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var n=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof
-Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):(e.prototype=b.prototype,new e)}}(),k=w.merge;return function(f){function a(a,e,d){a=f.call(this,a,e,d,"shape")||this;a.type="circle";a.translate=f.prototype.translateShape;return a}n(a,f);a.prototype.redraw=function(a){if(this.graphic){var b=this.anchor(this.points[0]).absolutePosition;
-if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b}f.prototype.redraw.call(this,a)};a.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(b).add(a);f.prototype.render.call(this)};a.prototype.setRadius=function(a){this.options.r=a};a.attrsMap=k(l.attrsMap,{r:"r"});return a}(c)});t(c,"Extensions/Annotations/Controllables/ControllableEllipse.js",
-[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var n=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,e)};return function(b,e){function d(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(d.prototype=e.prototype,
-new d)}}(),k=w.merge,f=w.defined;return function(a){function b(b,d,f){b=a.call(this,b,d,f,"shape")||this;b.type="ellipse";return b}n(b,a);b.prototype.init=function(b,d,c){f(d.yAxis)&&d.points.forEach(function(a){a.yAxis=d.yAxis});f(d.xAxis)&&d.points.forEach(function(a){a.xAxis=d.xAxis});a.prototype.init.call(this,b,d,c)};b.prototype.render=function(b){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(b);a.prototype.render.call(this)};
-b.prototype.translate=function(b,d){a.prototype.translateShape.call(this,b,d,!0)};b.prototype.getDistanceFromLine=function(a,b,f,c){return Math.abs((b.y-a.y)*f-(b.x-a.x)*c+b.x*a.y-b.y*a.x)/Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x))};b.prototype.getAttrs=function(a,b){var d=a.x,e=a.y,f=b.x,c=b.y;b=(d+f)/2;a=(e+c)/2;var r=Math.sqrt((d-f)*(d-f)/4+(e-c)*(e-c)/4);e=180*Math.atan((c-e)/(f-d))/Math.PI;b<d&&(e+=180);d=this.getRY();return{cx:b,cy:a,rx:r,ry:d,angle:e}};b.prototype.getRY=function(){var a=
+stroke:F,fill:F,"stroke-width":this.graphic.strokeWidth()+2*b.snap});e.prototype.render.call(this);C(this.graphic,{markerStartSetter:t,markerEndSetter:h});this.setMarkers(this)};c.prototype.redraw=function(a){if(this.graphic){var b=this.toD(),d=a?"animate":"attr";b?(this.graphic[d]({d:b}),this.tracker[d]({d:b})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!b}e.prototype.redraw.call(this,a)};c.prototype.setMarkers=function(a){var b=
+a.options,d=a.chart,e=d.options.defs,f=b.fill,c=g(f)&&"none"!==f?f:b.stroke;["markerStart","markerEnd"].forEach(function(f){var h=b[f],g;if(h){for(g in e){var n=e[g];if((h===(n.attributes&&n.attributes.id)||h===n.id)&&"marker"===n.tagName){var t=n;break}}t&&(h=a[f]=d.renderer.addMarker((b.id||A())+"-"+h,D(t,{color:c})),a.attr(f,h.getAttribute("id")))}})};c.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return c}(c)});r(c,"Extensions/Annotations/Controllables/ControllableRect.js",
+[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var m=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):(e.prototype=b.prototype,
+new e)}}(),k=w.merge;return function(f){function a(a,e,d){a=f.call(this,a,e,d,"shape")||this;a.type="rect";a.translate=f.prototype.translateShape;return a}m(a,f);a.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(b).add(a);f.prototype.render.call(this)};a.prototype.redraw=function(a){if(this.graphic){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,width:this.options.width,
+height:this.options.height});else this.attr({x:0,y:-9E9});this.graphic.placed=!!b}f.prototype.redraw.call(this,a)};a.attrsMap=k(l.attrsMap,{width:"width",height:"height"});return a}(c)});r(c,"Extensions/Annotations/Controllables/ControllableCircle.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var m=this&&this.__extends||function(){var f=function(a,b){f=Object.setPrototypeOf||{__proto__:[]}instanceof
+Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return f(a,b)};return function(a,b){function e(){this.constructor=a}f(a,b);a.prototype=null===b?Object.create(b):(e.prototype=b.prototype,new e)}}(),k=w.merge;return function(f){function a(a,e,d){a=f.call(this,a,e,d,"shape")||this;a.type="circle";a.translate=f.prototype.translateShape;return a}m(a,f);a.prototype.redraw=function(a){if(this.graphic){var b=this.anchor(this.points[0]).absolutePosition;
+if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b}f.prototype.redraw.call(this,a)};a.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(b).add(a);f.prototype.render.call(this)};a.prototype.setRadius=function(a){this.options.r=a};a.attrsMap=k(l.attrsMap,{r:"r"});return a}(c)});r(c,"Extensions/Annotations/Controllables/ControllableEllipse.js",
+[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Core/Utilities.js"]],function(c,l,w){var m=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,e)};return function(b,e){function d(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(d.prototype=e.prototype,
+new d)}}(),k=w.merge,f=w.defined;return function(a){function b(b,d,f){b=a.call(this,b,d,f,"shape")||this;b.type="ellipse";return b}m(b,a);b.prototype.init=function(b,d,c){f(d.yAxis)&&d.points.forEach(function(a){a.yAxis=d.yAxis});f(d.xAxis)&&d.points.forEach(function(a){a.xAxis=d.xAxis});a.prototype.init.call(this,b,d,c)};b.prototype.render=function(b){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(b);a.prototype.render.call(this)};
+b.prototype.translate=function(b,d){a.prototype.translateShape.call(this,b,d,!0)};b.prototype.getDistanceFromLine=function(a,b,f,c){return Math.abs((b.y-a.y)*f-(b.x-a.x)*c+b.x*a.y-b.y*a.x)/Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x))};b.prototype.getAttrs=function(a,b){var d=a.x,e=a.y,f=b.x,c=b.y;b=(d+f)/2;a=(e+c)/2;var q=Math.sqrt((d-f)*(d-f)/4+(e-c)*(e-c)/4);e=180*Math.atan((c-e)/(f-d))/Math.PI;b<d&&(e+=180);d=this.getRY();return{cx:b,cy:a,rx:q,ry:d,angle:e}};b.prototype.getRY=function(){var a=
 this.getYAxis();return f(a)?Math.abs(a.toPixels(this.options.ry)-a.toPixels(0)):this.options.ry};b.prototype.getYAxis=function(){return this.chart.yAxis[this.options.yAxis]};b.prototype.getAbsolutePosition=function(a){return this.anchor(a).absolutePosition};b.prototype.redraw=function(b){if(this.graphic){var d=this.getAbsolutePosition(this.points[0]),e=this.getAbsolutePosition(this.points[1]);e=this.getAttrs(d,e);if(d)this.graphic[b?"animate":"attr"]({cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,rotation:e.angle,
-rotationOriginX:e.cx,rotationOriginY:e.cy});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!d}a.prototype.redraw.call(this,b)};b.prototype.setYRadius=function(a){var b=this.annotation.userOptions.shapes;this.options.ry=a;b&&b[0]&&(b[0].ry=a,b[0].ry=a)};b.attrsMap=k(l.attrsMap,{ry:"ry"});return b}(c)});t(c,"Extensions/Annotations/Controllables/ControllableLabel.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Core/FormatUtilities.js"],c["Extensions/Annotations/MockPoint.js"],
-c["Core/Tooltip.js"],c["Core/Utilities.js"]],function(c,l,w,n,k){function f(a,b,e,f,c){var h=c&&c.anchorX;c=c&&c.anchorY;var q=e/2;if(d(h)&&d(c)){var r=[["M",h,c]];var g=b-c;0>g&&(g=-f-g);g<e&&(q=h<a+e/2?g:e-g);c>b+f?r.push(["L",a+q,b+f]):c<b?r.push(["L",a+q,b]):h<a?r.push(["L",a,b+f/2]):h>a+e&&r.push(["L",a+e,b+f/2])}return r||[]}var a=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&
+rotationOriginX:e.cx,rotationOriginY:e.cy});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!d}a.prototype.redraw.call(this,b)};b.prototype.setYRadius=function(a){var b=this.annotation.userOptions.shapes;this.options.ry=a;b&&b[0]&&(b[0].ry=a,b[0].ry=a)};b.attrsMap=k(l.attrsMap,{ry:"ry"});return b}(c)});r(c,"Extensions/Annotations/Controllables/ControllableLabel.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Core/FormatUtilities.js"],c["Extensions/Annotations/MockPoint.js"],
+c["Core/Tooltip.js"],c["Core/Utilities.js"]],function(c,l,w,m,k){function f(a,b,e,f,c){var h=c&&c.anchorX;c=c&&c.anchorY;var t=e/2;if(d(h)&&d(c)){var q=[["M",h,c]];var g=b-c;0>g&&(g=-f-g);g<e&&(t=h<a+e/2?g:e-g);c>b+f?q.push(["L",a+t,b+f]):c<b?q.push(["L",a+t,b]):h<a?q.push(["L",a,b+f/2]):h>a+e&&q.push(["L",a+e,b+f/2])}return q||[]}var a=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&
 (a[d]=b[d])};return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),b=l.format,e=k.extend,d=k.isNumber,g=k.pick,p=[];return function(d){function c(a,b,e){return d.call(this,a,b,e,"label")||this}a(c,d);c.alignedPosition=function(a,b){var d=a.align,e=a.verticalAlign,f=(b.x||0)+(a.x||0),c=(b.y||0)+(a.y||0),h,g;"right"===d?h=1:"center"===d&&(h=2);h&&(f+=(b.width-(a.width||0))/h);"bottom"===e?g=1:"middle"===e&&
-(g=2);g&&(c+=(b.height-(a.height||0))/g);return{x:Math.round(f),y:Math.round(c)}};c.compose=function(a){-1===p.indexOf(a)&&(p.push(a),a.prototype.symbols.connector=f)};c.justifiedOptions=function(a,b,d,e){var f=d.align,c=d.verticalAlign,h=b.box?0:b.padding||0,g=b.getBBox();b={align:f,verticalAlign:c,x:d.x,y:d.y,width:b.width,height:b.height};d=(e.x||0)-a.plotLeft;e=(e.y||0)-a.plotTop;var q=d+h;0>q&&("right"===f?b.align="left":b.x=(b.x||0)-q);q=d+g.width-h;q>a.plotWidth&&("left"===f?b.align="right":
-b.x=(b.x||0)+a.plotWidth-q);q=e+h;0>q&&("bottom"===c?b.verticalAlign="top":b.y=(b.y||0)-q);q=e+g.height-h;q>a.plotHeight&&("top"===c?b.verticalAlign="bottom":b.y=(b.y||0)+a.plotHeight-q);return b};c.prototype.translatePoint=function(a,b){d.prototype.translatePoint.call(this,a,b,0)};c.prototype.translate=function(a,b){var d=this.annotation.chart,e=this.annotation.userOptions,f=d.annotations.indexOf(this.annotation);f=d.options.annotations[f];d.inverted&&(d=a,a=b,b=d);this.options.x+=a;this.options.y+=
+(g=2);g&&(c+=(b.height-(a.height||0))/g);return{x:Math.round(f),y:Math.round(c)}};c.compose=function(a){-1===p.indexOf(a)&&(p.push(a),a.prototype.symbols.connector=f)};c.justifiedOptions=function(a,b,d,e){var f=d.align,c=d.verticalAlign,h=b.box?0:b.padding||0,g=b.getBBox();b={align:f,verticalAlign:c,x:d.x,y:d.y,width:b.width,height:b.height};d=(e.x||0)-a.plotLeft;e=(e.y||0)-a.plotTop;var t=d+h;0>t&&("right"===f?b.align="left":b.x=(b.x||0)-t);t=d+g.width-h;t>a.plotWidth&&("left"===f?b.align="right":
+b.x=(b.x||0)+a.plotWidth-t);t=e+h;0>t&&("bottom"===c?b.verticalAlign="top":b.y=(b.y||0)-t);t=e+g.height-h;t>a.plotHeight&&("top"===c?b.verticalAlign="bottom":b.y=(b.y||0)+a.plotHeight-t);return b};c.prototype.translatePoint=function(a,b){d.prototype.translatePoint.call(this,a,b,0)};c.prototype.translate=function(a,b){var d=this.annotation.chart,e=this.annotation.userOptions,f=d.annotations.indexOf(this.annotation);f=d.options.annotations[f];d.inverted&&(d=a,a=b,b=d);this.options.x+=a;this.options.y+=
 b;f[this.collection][this.index].x=this.options.x;f[this.collection][this.index].y=this.options.y;e[this.collection][this.index].x=this.options.x;e[this.collection][this.index].y=this.options.y};c.prototype.render=function(a){var b=this.options,e=this.attrsFromOptions(b),f=b.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,b.shape,null,null,b.useHTML,null,"annotation-label").attr(e).add(a);this.annotation.chart.styledMode||("contrast"===f.color&&(f.color=this.annotation.chart.renderer.getContrast(-1<
 c.shapesWithoutBackground.indexOf(b.shape)?"#FFFFFF":b.backgroundColor)),this.graphic.css(b.style).shadow(b.shadow));b.className&&this.graphic.addClass(b.className);this.graphic.labelrank=b.labelrank;d.prototype.render.call(this)};c.prototype.redraw=function(a){var e=this.options,f=this.text||e.format||e.text,c=this.graphic,g=this.points[0];c?(c.attr({text:f?b(String(f),g.getLabelConfig(),this.annotation.chart):e.formatter.call(g,this)}),e=this.anchor(g),(f=this.position(e))?(c.alignAttr=f,f.anchorX=
 e.absolutePosition.x,f.anchorY=e.absolutePosition.y,c[a?"animate":"attr"](f)):c.attr({x:0,y:-9999}),c.placed=!!f,d.prototype.redraw.call(this,a)):this.redraw(a)};c.prototype.anchor=function(a){var b=d.prototype.anchor.apply(this,arguments),e=this.options.x||0,f=this.options.y||0;b.absolutePosition.x-=e;b.absolutePosition.y-=f;b.relativePosition.x-=e;b.relativePosition.y-=f;return b};c.prototype.position=function(a){var b=this.graphic,d=this.annotation.chart,f=this.points[0],k=this.options,l=a.absolutePosition,
-r=a.relativePosition,p=f.series.visible&&w.prototype.isInsidePlot.call(f);if(b&&p){var u=b.width;a=void 0===u?0:u;u=b.height;var C=void 0===u?0:u;k.distance?u=n.prototype.getPosition.call({chart:d,distance:g(k.distance,16)},a,C,{plotX:r.x,plotY:r.y,negative:f.negative,ttBelow:f.ttBelow,h:r.height||r.width}):k.positioner?u=k.positioner.call(this):(f={x:l.x,y:l.y,width:0,height:0},u=c.alignedPosition(e(k,{width:a,height:C}),f),"justify"===this.options.overflow&&(u=c.alignedPosition(c.justifiedOptions(d,
-b,k,u),f)));k.crop&&(b=u.x-d.plotLeft,k=u.y-d.plotTop,p=d.isInsidePlot(b,k)&&d.isInsidePlot(b+a,k+C))}return p?u:null};c.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};c.shapesWithoutBackground=["connector"];return c}(c)});t(c,"Extensions/Annotations/Controllables/ControllableImage.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(c,
+q=a.relativePosition,p=f.series.visible&&w.prototype.isInsidePlot.call(f);if(b&&p){var u=b.width;a=void 0===u?0:u;u=b.height;var C=void 0===u?0:u;k.distance?u=m.prototype.getPosition.call({chart:d,distance:g(k.distance,16)},a,C,{plotX:q.x,plotY:q.y,negative:f.negative,ttBelow:f.ttBelow,h:q.height||q.width}):k.positioner?u=k.positioner.call(this):(f={x:l.x,y:l.y,width:0,height:0},u=c.alignedPosition(e(k,{width:a,height:C}),f),"justify"===this.options.overflow&&(u=c.alignedPosition(c.justifiedOptions(d,
+b,k,u),f)));k.crop&&(b=u.x-d.plotLeft,k=u.y-d.plotTop,p=d.isInsidePlot(b,k)&&d.isInsidePlot(b+a,k+C))}return p?u:null};c.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};c.shapesWithoutBackground=["connector"];return c}(c)});r(c,"Extensions/Annotations/Controllables/ControllableImage.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(c,
 l){var p=this&&this.__extends||function(){var c=function(k,f){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return c(k,f)};return function(k,f){function a(){this.constructor=k}c(k,f);k.prototype=null===f?Object.create(f):(a.prototype=f.prototype,new a)}}();return function(c){function k(f,a,b){f=c.call(this,f,a,b,"shape")||this;f.type="image";f.translate=c.prototype.translateShape;return f}p(k,c);
 k.prototype.render=function(f){var a=this.attrsFromOptions(this.options),b=this.options;this.graphic=this.annotation.chart.renderer.image(b.src,0,-9E9,b.width,b.height).attr(a).add(f);this.graphic.width=b.width;this.graphic.height=b.height;c.prototype.render.call(this)};k.prototype.redraw=function(f){if(this.graphic){var a=this.anchor(this.points[0]);if(a=l.prototype.position.call(this,a))this.graphic[f?"animate":"attr"]({x:a.x,y:a.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!a}c.prototype.redraw.call(this,
-f)};k.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return k}(c)});t(c,"Core/Chart/ChartNavigationComposition.js",[],function(){var c;(function(c){c.compose=function(c){c.navigation||(c.navigation=new l(c));return c};var l=function(){function c(c){this.updates=[];this.chart=c}c.prototype.addUpdate=function(c){this.chart.navigation.updates.push(c)};c.prototype.update=function(c,f){var a=this;this.updates.forEach(function(b){b.call(a.chart,c,f)})};return c}();c.Additions=l})(c||(c={}));return c});
-t(c,"Extensions/Annotations/NavigationBindingsUtilities.js",[c["Core/Utilities.js"]],function(c){var l=c.defined,p=c.isNumber,n=c.pick,k={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:k,getAssignedAxis:function(c){return c.filter(function(a){var b=a.axis.getExtremes(),e=b.min;b=b.max;var d=n(a.axis.minPointOffset,0);return p(e)&&p(b)&&a.value>=
-e-d&&a.value<=b+d&&!a.axis.options.isInternal})[0]},getFieldType:function(c,a){c=k[c];a=typeof a;l(c)&&(a=c);return{string:"text",number:"number","boolean":"checkbox"}[a]}}});t(c,"Extensions/Annotations/NavigationBindingsDefaults.js",[c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l){var p=c.getAssignedAxis,n=l.isNumber,k=l.merge;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",
+f)};k.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return k}(c)});r(c,"Core/Chart/ChartNavigationComposition.js",[],function(){var c;(function(c){c.compose=function(c){c.navigation||(c.navigation=new l(c));return c};var l=function(){function c(c){this.updates=[];this.chart=c}c.prototype.addUpdate=function(c){this.chart.navigation.updates.push(c)};c.prototype.update=function(c,f){var a=this;this.updates.forEach(function(b){b.call(a.chart,c,f)})};return c}();c.Additions=l})(c||(c={}));return c});
+r(c,"Extensions/Annotations/NavigationBindingsUtilities.js",[c["Core/Utilities.js"]],function(c){var l=c.defined,p=c.isNumber,m=c.pick,k={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:k,getAssignedAxis:function(c){return c.filter(function(a){var b=a.axis.getExtremes(),c=b.min;b=b.max;var d=m(a.axis.minPointOffset,0);return p(c)&&p(b)&&a.value>=
+c-d&&a.value<=b+d&&!a.axis.options.isInternal})[0]},getFieldType:function(c,a){c=k[c];a=typeof a;l(c)&&(a=c);return{string:"text",number:"number","boolean":"checkbox"}[a]}}});r(c,"Extensions/Annotations/NavigationBindingsDefaults.js",[c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l){var p=c.getAssignedAxis,m=l.isNumber,k=l.merge;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",
 label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",
 bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);c=p(a.xAxis);a=p(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:c.value,y:a.value,xAxis:c.axis.options.index,yAxis:a.axis.options.index},r:5}]},b.annotationsOptions,b.bindings.circleAnnotation.annotationsOptions))},steps:[function(c,a){var b=a.options.shapes;
-b=b&&b[0]&&b[0].point||{};if(n(b.xAxis)&&n(b.yAxis)){var e=this.chart.inverted;var d=this.chart.xAxis[b.xAxis].toPixels(b.x);b=this.chart.yAxis[b.yAxis].toPixels(b.y);e=Math.max(Math.sqrt(Math.pow(e?b-c.chartX:d-c.chartX,2)+Math.pow(e?d-c.chartY:b-c.chartY,2)),5)}a.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);c=p(a.xAxis);a=p(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"ellipse",
+b=b&&b[0]&&b[0].point||{};if(m(b.xAxis)&&m(b.yAxis)){var e=this.chart.inverted;var d=this.chart.xAxis[b.xAxis].toPixels(b.x);b=this.chart.yAxis[b.yAxis].toPixels(b.y);e=Math.max(Math.sqrt(Math.pow(e?b-c.chartX:d-c.chartX,2)+Math.pow(e?d-c.chartY:b-c.chartY,2)),5)}a.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);c=p(a.xAxis);a=p(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"ellipse",
 type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:c.axis.options.index,yAxis:a.axis.options.index,points:[{x:c.value,y:a.value},{x:c.value,y:a.value}],ry:1}]},b.annotationsOptions,b.bindings.ellipseAnnotation.annotationOptions))},steps:[function(c,a){a=a.shapes[0];var b=a.getAbsolutePosition(a.points[1]);a.translatePoint(c.chartX-b.x,c.chartY-b.y,1);a.redraw(!1)},function(c,a){a=a.shapes[0];var b=a.getAbsolutePosition(a.points[0]),e=a.getAbsolutePosition(a.points[1]);c=a.getDistanceFromLine(b,
 e,c.chartX,c.chartY);b=a.getYAxis();c=Math.abs(b.toValue(0)-b.toValue(c));a.setYRadius(c);a.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(c){c=this.chart.pointer.getCoordinates(c);var a=p(c.xAxis),b=p(c.yAxis);if(a&&b){c=a.value;var e=b.value;a=a.axis.options.index;b=b.axis.options.index;var d=this.chart.options.navigation;return this.chart.addAnnotation(k({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:b,x:c,
 y:e},{xAxis:a,yAxis:b,x:c,y:e},{xAxis:a,yAxis:b,x:c,y:e},{xAxis:a,yAxis:b,x:c,y:e},{command:"Z"}]}]},d.annotationsOptions,d.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(c,a){var b=a.options.shapes;b=b&&b[0]&&b[0].points||[];var e=this.chart.pointer.getCoordinates(c);c=p(e.xAxis);e=p(e.yAxis);c&&e&&(c=c.value,e=e.value,b[1].x=c,b[2].x=c,b[2].y=e,b[3].y=e,a.update({shapes:[{points:b}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);
-c=p(a.xAxis);a=p(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:c.axis.options.index,yAxis:a.axis.options.index,x:c.value,y:a.value},overflow:"none",crop:!0}]},b.annotationsOptions,b.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}});t(c,"Extensions/Annotations/NavigationBindings.js",[c["Core/Chart/ChartNavigationComposition.js"],
-c["Core/Defaults.js"],c["Core/FormatUtilities.js"],c["Core/Globals.js"],c["Extensions/Annotations/NavigationBindingsDefaults.js"],c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l,w,n,k,f,a){function b(a,b){var c=z.Element.prototype,d=c.matches||c.msMatchesSelector||c.webkitMatchesSelector,e=null;if(c.closest)e=c.closest.call(a,b);else{do{if(d.call(a,b))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return e}function e(){this.chart.navigationBindings&&
+c=p(a.xAxis);a=p(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:c.axis.options.index,yAxis:a.axis.options.index,x:c.value,y:a.value},overflow:"none",crop:!0}]},b.annotationsOptions,b.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}});r(c,"Extensions/Annotations/NavigationBindings.js",[c["Core/Chart/ChartNavigationComposition.js"],
+c["Core/Defaults.js"],c["Core/FormatUtilities.js"],c["Core/Globals.js"],c["Extensions/Annotations/NavigationBindingsDefaults.js"],c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l,w,m,k,f,a){function b(a,b){var c=z.Element.prototype,d=c.matches||c.msMatchesSelector||c.webkitMatchesSelector,e=null;if(c.closest)e=c.closest.call(a,b);else{do{if(d.call(a,b))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return e}function e(){this.chart.navigationBindings&&
 this.chart.navigationBindings.deselectAnnotation()}function d(){this.navigationBindings&&this.navigationBindings.destroy()}function g(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new L(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function p(){var a=this.navigationBindings;if(this&&a){var b=!1;this.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)});if(this.navigationBindings&&this.navigationBindings.container&&
-this.navigationBindings.container[0]){var c=this.navigationBindings.container[0];x(a.boundClassNames,function(a,d){if(d=c.querySelectorAll("."+d))for(var e=0;e<d.length;e++){var f=d[e],m=f.className;"normal"===a.noDataState?-1!==m.indexOf("highcharts-disabled-btn")&&f.classList.remove("highcharts-disabled-btn"):b?-1!==m.indexOf("highcharts-disabled-btn")&&f.classList.remove("highcharts-disabled-btn"):-1===m.indexOf("highcharts-disabled-btn")&&(f.className+=" highcharts-disabled-btn")}})}}}function D(){this.deselectAnnotation()}
-function A(){this.selectedButtonElement=null}function r(a){var b=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;E(!0,a.prototype.defaultOptions.events,{click:function(a){var c=this,d=c.chart.navigationBindings,e=d.activeAnnotation;b&&b.call(c,a);e!==c?(d.deselectAnnotation(),d.activeAnnotation=c,c.setControlPointsVisibility(!0),u(d,"showPopup",{annotation:c,formType:"annotation-toolbar",options:d.annotationToFields(c),onSubmit:function(a){if("remove"===a.actionType)d.activeAnnotation=
-!1,d.chart.removeAnnotation(c);else{var b={};d.fieldsToOptions(a.fields,b);d.deselectAnnotation();a=b.typeOptions;"measure"===c.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth);c.update(b)}}})):u(d,"closePopup");a.activeAnnotation=!0}})}var h=l.setOptions,q=w.format,F=n.doc,z=n.win,G=f.getFieldType,y=a.addEvent,t=a.attr,u=a.fireEvent,H=a.isArray,B=a.isFunction,I=a.isNumber,J=a.isObject,E=a.merge,x=a.objectEach,m=a.pick,v=[],L=function(){function a(a,
-b){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||"");this.container.length||(this.container=F.getElementsByClassName(this.options.bindingsClassName||""))}a.compose=function(b,c){-1===v.indexOf(b)&&(v.push(b),y(b,"remove",e),r(b),x(b.types,function(a){r(a)}));-1===v.indexOf(c)&&(v.push(c),y(c,"destroy",d),y(c,"load",g),y(c,"render",p));-1===v.indexOf(a)&&(v.push(a),
+this.navigationBindings.container[0]){var c=this.navigationBindings.container[0];x(a.boundClassNames,function(a,d){if(d=c.querySelectorAll("."+d))for(var e=0;e<d.length;e++){var f=d[e],n=f.className;"normal"===a.noDataState?-1!==n.indexOf("highcharts-disabled-btn")&&f.classList.remove("highcharts-disabled-btn"):b?-1!==n.indexOf("highcharts-disabled-btn")&&f.classList.remove("highcharts-disabled-btn"):-1===n.indexOf("highcharts-disabled-btn")&&(f.className+=" highcharts-disabled-btn")}})}}}function D(){this.deselectAnnotation()}
+function A(){this.selectedButtonElement=null}function q(a){var b=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;E(!0,a.prototype.defaultOptions.events,{click:function(a){var c=this,d=c.chart.navigationBindings,e=d.activeAnnotation;b&&b.call(c,a);e!==c?(d.deselectAnnotation(),d.activeAnnotation=c,c.setControlPointsVisibility(!0),u(d,"showPopup",{annotation:c,formType:"annotation-toolbar",options:d.annotationToFields(c),onSubmit:function(a){if("remove"===a.actionType)d.activeAnnotation=
+!1,d.chart.removeAnnotation(c);else{var b={};d.fieldsToOptions(a.fields,b);d.deselectAnnotation();a=b.typeOptions;"measure"===c.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth);c.update(b)}}})):u(d,"closePopup");a.activeAnnotation=!0}})}var h=l.setOptions,t=w.format,F=m.doc,z=m.win,G=f.getFieldType,y=a.addEvent,r=a.attr,u=a.fireEvent,H=a.isArray,B=a.isFunction,I=a.isNumber,J=a.isObject,E=a.merge,x=a.objectEach,n=a.pick,v=[],L=function(){function a(a,
+b){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||"");this.container.length||(this.container=F.getElementsByClassName(this.options.bindingsClassName||""))}a.compose=function(b,c){-1===v.indexOf(b)&&(v.push(b),y(b,"remove",e),q(b),x(b.types,function(a){q(a)}));-1===v.indexOf(c)&&(v.push(c),y(c,"destroy",d),y(c,"load",g),y(c,"render",p));-1===v.indexOf(a)&&(v.push(a),
 y(a,"closePopup",D),y(a,"deselectButton",A));-1===v.indexOf(h)&&(v.push(h),h(k))};a.prototype.initEvents=function(){var a=this,b=a.chart,c=a.container,d=a.options;a.boundClassNames={};x(d.bindings||{},function(b){a.boundClassNames[b.className]=b});[].forEach.call(c,function(b){a.eventsToUnbind.push(y(b,"click",function(c){var d=a.getButtonEvents(b,c);d&&-1===d.button.className.indexOf("highcharts-disabled-btn")&&a.bindingsButtonClick(d.button,d.events,c)}))});x(d.events||{},function(b,c){B(b)&&a.eventsToUnbind.push(y(a,
-c,b,{passive:!1}))});a.eventsToUnbind.push(y(b.container,"click",function(c){!b.cancelClick&&b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop,{visiblePlotOnly:!0})&&a.bindingsChartClick(this,c)}));a.eventsToUnbind.push(y(b.container,n.isTouchDevice?"touchmove":"mousemove",function(b){a.bindingsContainerMouseMove(this,b)},n.isTouchDevice?{passive:!1}:void 0))};a.prototype.initUpdate=function(){var a=this;c.compose(this.chart).navigation.addUpdate(function(b){a.update(b)})};a.prototype.bindingsButtonClick=
+c,b,{passive:!1}))});a.eventsToUnbind.push(y(b.container,"click",function(c){!b.cancelClick&&b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop,{visiblePlotOnly:!0})&&a.bindingsChartClick(this,c)}));a.eventsToUnbind.push(y(b.container,m.isTouchDevice?"touchmove":"mousemove",function(b){a.bindingsContainerMouseMove(this,b)},m.isTouchDevice?{passive:!1}:void 0))};a.prototype.initUpdate=function(){var a=this;c.compose(this.chart).navigation.addUpdate(function(b){a.update(b)})};a.prototype.bindingsButtonClick=
 function(a,b,c){var d=this.chart,e=d.renderer.boxWrapper,f=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(f=!1),u(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&d.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));f?(this.selectedButton=b,this.selectedButtonElement=a,u(this,"selectButton",{button:a}),b.init&&b.init.call(this,a,c),
 (b.start||b.steps)&&d.renderer.boxWrapper.addClass("highcharts-draw-mode")):(d.stockTools&&d.stockTools.toggleButtonActiveClass(a),e.removeClass("highcharts-draw-mode"),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null)};a.prototype.bindingsChartClick=function(a,c){a=this.chart;var d=this.activeAnnotation,e=this.selectedButton;a=a.renderer.boxWrapper;d&&(d.cancelClick||c.activeAnnotation||!c.target.parentNode||b(c.target,".highcharts-popup")?d.cancelClick&&setTimeout(function(){d.cancelClick=
 !1},0):u(this,"closePopup"));e&&e.start&&(this.nextEvent?(this.nextEvent(c,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,c,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,c))&&e.steps?(this.stepIndex=
 0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,c,this.currentUserDetails)))};a.prototype.bindingsContainerMouseMove=function(a,b){this.mouseMoveEvent&&this.mouseMoveEvent(b,this.currentUserDetails)};a.prototype.fieldsToOptions=function(a,b){x(a,function(a,c){var d=parseFloat(a),e=c.split("."),f=e.length-1;!I(d)||
-a.match(/px/g)||c.match(/format/g)||(a=d);if("undefined"!==a){var h=b;e.forEach(function(b,c){var d=m(e[c+1],"");f===c?h[b]=a:(h[b]||(h[b]=d.match(/\d/g)?[]:{}),h=h[b])})}});return b};a.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};a.prototype.annotationToFields=function(b){function c(a,d,e,m,h){if(e&&a&&-1===g.indexOf(d)&&(0<=(e.indexOf&&e.indexOf(d))||e[d]||!0===e))if(H(a))m[d]=[],a.forEach(function(a,
-b){J(a)?(m[d][b]={},x(a,function(a,e){c(a,e,f[d],m[d][b],d)})):c(a,0,f[d],m[d],d)});else if(J(a)){var v={};H(m)?(m.push(v),v[d]={},v=v[d]):m[d]=v;x(a,function(a,b){c(a,b,0===d?e:f[d],v,d)})}else"format"===d?m[d]=[q(a,b.labels[0].points[0]).toString(),"text"]:H(m)?m.push([a,G(h,a)]):m[d]=[a,G(d,a)]}var d=b.options,e=a.annotationsEditable,f=e.nestedOptions,h=m(d.type,d.shapes&&d.shapes[0]&&d.shapes[0].type,d.labels&&d.labels[0]&&d.labels[0].type,"label"),g=a.annotationsNonEditable[d.langKey]||[],v=
-{langKey:d.langKey,type:h};x(d,function(a,b){"typeOptions"===b?(v[b]={},x(d[b],function(a,d){c(a,d,f,v[b],d)})):c(a,b,e[h],v,b)});return v};a.prototype.getClickedClassNames=function(a,b){var d=b.target;b=[];for(var c;d&&((c=t(d,"class"))&&(b=b.concat(c.split(" ").map(function(a){return[a,d]}))),d=d.parentNode,d!==a););return b};a.prototype.getButtonEvents=function(a,b){var d=this,c;this.getClickedClassNames(a,b).forEach(function(a){d.boundClassNames[a[0]]&&!c&&(c={events:d.boundClassNames[a[0]],button:a[1]})});
+a.match(/px/g)||c.match(/format/g)||(a=d);if("undefined"!==a){var h=b;e.forEach(function(b,c){var d=n(e[c+1],"");f===c?h[b]=a:(h[b]||(h[b]=d.match(/\d/g)?[]:{}),h=h[b])})}});return b};a.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};a.prototype.annotationToFields=function(b){function c(a,d,e,n,h){if(e&&a&&-1===g.indexOf(d)&&(0<=(e.indexOf&&e.indexOf(d))||e[d]||!0===e))if(H(a))n[d]=[],a.forEach(function(a,
+b){J(a)?(n[d][b]={},x(a,function(a,e){c(a,e,f[d],n[d][b],d)})):c(a,0,f[d],n[d],d)});else if(J(a)){var v={};H(n)?(n.push(v),v[d]={},v=v[d]):n[d]=v;x(a,function(a,b){c(a,b,0===d?e:f[d],v,d)})}else"format"===d?n[d]=[t(a,b.labels[0].points[0]).toString(),"text"]:H(n)?n.push([a,G(h,a)]):n[d]=[a,G(d,a)]}var d=b.options,e=a.annotationsEditable,f=e.nestedOptions,h=n(d.type,d.shapes&&d.shapes[0]&&d.shapes[0].type,d.labels&&d.labels[0]&&d.labels[0].type,"label"),g=a.annotationsNonEditable[d.langKey]||[],v=
+{langKey:d.langKey,type:h};x(d,function(a,b){"typeOptions"===b?(v[b]={},x(d[b],function(a,d){c(a,d,f,v[b],d)})):c(a,b,e[h],v,b)});return v};a.prototype.getClickedClassNames=function(a,b){var d=b.target;b=[];for(var c;d&&((c=r(d,"class"))&&(b=b.concat(c.split(" ").map(function(a){return[a,d]}))),d=d.parentNode,d!==a););return b};a.prototype.getButtonEvents=function(a,b){var d=this,c;this.getClickedClassNames(a,b).forEach(function(a){d.boundClassNames[a[0]]&&!c&&(c={events:d.boundClassNames[a[0]],button:a[1]})});
 return c};a.prototype.update=function(a){this.options=E(!0,this.options,a);this.removeEvents();this.initEvents()};a.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(a){return a()})};a.prototype.destroy=function(){this.removeEvents()};a.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill",
 "strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],
-crookedLine:[],basicAnnotation:["shapes","labelOptions"]};a.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return a}();"";return L});t(c,"Extensions/Annotations/Popup/PopupAnnotations.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){function p(d,c,l,r,h,q){var F=this;if(c){var z=this.addInput,G=this.lang,y,C;e(r,function(e,f){y=""!==l?l+"."+f:f;b(e)&&(!a(e)||a(e)&&b(e[0])?(C=G[f]||f,C.match(/\d/g)||h.push([!0,
-C,d]),p.call(F,d,c,y,e,h,!1)):h.push([F,y,"annotation",d,e]))});q&&(g(h,function(a){return a[1].match(/format/g)?-1:1}),k&&h.reverse(),h.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(n.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},z.apply(a[0],a.splice(1)))}))}}var n=c.doc,k=c.isFirefox,f=l.createElement,a=l.isArray,b=l.isObject,e=l.objectEach,d=l.pick,g=l.stableSort;return{addForm:function(a,b,d,c){if(a){var e=this.container,
-g=this.lang,k=f("h2",{className:"highcharts-popup-main-title"},void 0,e);k.appendChild(n.createTextNode(g[b.langKey]||b.langKey||""));k=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,e);var l=f("div",{className:"highcharts-popup-bottom-row"},void 0,e);p.call(this,k,a,"",b,[],!0);this.addButton(l,c?g.addButton||"Add":g.saveButton||"Save",c?"add":"save",e,d)}},addToolbar:function(a,b,c){var e=this,g=this.lang,k=this.container,l=this.showForm;-1===k.className.indexOf("highcharts-annotation-toolbar")&&
-(k.className+=" highcharts-annotation-toolbar");a&&(k.style.top=a.plotTop+10+"px");f("span",void 0,void 0,k).appendChild(n.createTextNode(d(g[b.langKey]||b.langKey,b.shapes&&b.shapes[0].type,"")));var p=this.addButton(k,g.removeButton||"Remove","remove",k,c);p.className+=" highcharts-annotation-remove-button";p.style["background-image"]="url("+this.iconsURL+"destroy.svg)";p=this.addButton(k,g.editButton||"Edit","edit",k,function(){l.call(e,"annotation-edit",a,b,c)});p.className+=" highcharts-annotation-edit-button";
-p.style["background-image"]="url("+this.iconsURL+"edit.svg)"}}});t(c,"Extensions/Annotations/Popup/PopupIndicators.js",[c["Core/Renderer/HTML/AST.js"],c["Core/Globals.js"],c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,l,t,n,k){function f(a){var b=z("div",{className:"highcharts-popup-lhs-col"},void 0,a);a=z("div",{className:"highcharts-popup-rhs-col"},void 0,a);z("div",{className:"highcharts-popup-rhs-col-wrapper"},
-void 0,a);return{lhsCol:b,rhsCol:a}}function a(a,d,e,f){var m=this,g=m.lang,x=d.querySelectorAll(".highcharts-popup-lhs-col")[0];d=d.querySelectorAll(".highcharts-popup-rhs-col")[0];var k="edit"===e;e=k?a.series:a.options.plotOptions||{};if(a||!e){var l,q=[];k||y(e)?y(e)&&(q=w.call(this,e)):q=p.call(this,e,f);H(q,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return a<b?-1:a>b?1:0});x.children[1]&&x.children[1].remove();var n=z("ul",{className:"highcharts-indicator-list"},
-void 0,x),E=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];q.forEach(function(d){var e=d.indicatorFullName,f=d.indicatorType,g=d.series;l=z("li",{className:"highcharts-indicator-list"},void 0,n);l.appendChild(h.createTextNode(e));["click","touchstart"].forEach(function(d){F(l,d,function(){var d=E.parentNode.children[1],e=g.params||g.options.params;E.innerHTML=c.emptyHTML;z("h3",{className:"highcharts-indicator-title"},void 0,E).appendChild(h.createTextNode(A(g,f).indicatorFullName));z("input",
-{type:"hidden",name:"highcharts-type-"+f,value:f},void 0,E);r.call(m,f,"series",a,E,g,g.linkedParent&&g.linkedParent.options.id);e.volumeSeriesID&&r.call(m,f,"volume",a,E,g,g.linkedParent&&e.volumeSeriesID);b.call(m,a,"params",e,f,E);d&&(d.style.display="block");k&&g.options&&z("input",{type:"hidden",name:"highcharts-id-"+f,value:g.options.id},void 0,E).setAttribute("highcharts-data-series-id",g.options.id)})})});0<n.childNodes.length?n.childNodes[0].click():k||(c.setElementHTML(E.parentNode.children[0],
-g.noFilterMatch||""),E.parentNode.children[1].style.display="none")}}function b(a,c,e,f,v){var m=this;if(a){var h=this.addInput;u(e,function(e,k){var x=c+"."+k;G(e)&&x&&(K(e)&&(h.call(m,x,f,v,{}),b.call(m,a,x,e,f,v)),x in B?(x=d.call(m,f,x,v),g.call(m,a,c,x,f,k,e)):"params.volumeSeriesID"===x||y(e)||h.call(m,x,f,v,{value:e,type:"number"}))})}}function e(b,d){var c=this,e=d.querySelectorAll(".highcharts-popup-lhs-col")[0];d=this.lang.clearFilter;e=z("div",{className:"highcharts-input-wrapper"},void 0,
+crookedLine:[],basicAnnotation:["shapes","labelOptions"]};a.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return a}();"";return L});r(c,"Extensions/Annotations/Popup/PopupAnnotations.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){function p(d,c,l,q,h,t){var F=this;if(c){var z=this.addInput,G=this.lang,y,C;e(q,function(e,f){y=""!==l?l+"."+f:f;b(e)&&(!a(e)||a(e)&&b(e[0])?(C=G[f]||f,C.match(/\d/g)||h.push([!0,
+C,d]),p.call(F,d,c,y,e,h,!1)):h.push([F,y,"annotation",d,e]))});t&&(g(h,function(a){return a[1].match(/format/g)?-1:1}),k&&h.reverse(),h.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(m.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},z.apply(a[0],a.splice(1)))}))}}var m=c.doc,k=c.isFirefox,f=l.createElement,a=l.isArray,b=l.isObject,e=l.objectEach,d=l.pick,g=l.stableSort;return{addForm:function(a,b,d,c){if(a){var e=this.container,
+g=this.lang,k=f("h2",{className:"highcharts-popup-main-title"},void 0,e);k.appendChild(m.createTextNode(g[b.langKey]||b.langKey||""));k=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,e);var l=f("div",{className:"highcharts-popup-bottom-row"},void 0,e);p.call(this,k,a,"",b,[],!0);this.addButton(l,c?g.addButton||"Add":g.saveButton||"Save",c?"add":"save",e,d)}},addToolbar:function(a,b,c){var e=this,g=this.lang,k=this.container,l=this.showForm;-1===k.className.indexOf("highcharts-annotation-toolbar")&&
+(k.className+=" highcharts-annotation-toolbar");a&&(k.style.top=a.plotTop+10+"px");f("span",void 0,void 0,k).appendChild(m.createTextNode(d(g[b.langKey]||b.langKey,b.shapes&&b.shapes[0].type,"")));var p=this.addButton(k,g.removeButton||"Remove","remove",k,c);p.className+=" highcharts-annotation-remove-button";p.style["background-image"]="url("+this.iconsURL+"destroy.svg)";p=this.addButton(k,g.editButton||"Edit","edit",k,function(){l.call(e,"annotation-edit",a,b,c)});p.className+=" highcharts-annotation-edit-button";
+p.style["background-image"]="url("+this.iconsURL+"edit.svg)"}}});r(c,"Extensions/Annotations/Popup/PopupIndicators.js",[c["Core/Renderer/HTML/AST.js"],c["Core/Globals.js"],c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,l,r,m,k){function f(a){var b=z("div",{className:"highcharts-popup-lhs-col"},void 0,a);a=z("div",{className:"highcharts-popup-rhs-col"},void 0,a);z("div",{className:"highcharts-popup-rhs-col-wrapper"},
+void 0,a);return{lhsCol:b,rhsCol:a}}function a(a,d,e,f){var n=this,g=n.lang,x=d.querySelectorAll(".highcharts-popup-lhs-col")[0];d=d.querySelectorAll(".highcharts-popup-rhs-col")[0];var k="edit"===e;e=k?a.series:a.options.plotOptions||{};if(a||!e){var l,m=[];k||y(e)?y(e)&&(m=w.call(this,e)):m=p.call(this,e,f);H(m,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return a<b?-1:a>b?1:0});x.children[1]&&x.children[1].remove();var t=z("ul",{className:"highcharts-indicator-list"},
+void 0,x),E=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];m.forEach(function(d){var e=d.indicatorFullName,f=d.indicatorType,g=d.series;l=z("li",{className:"highcharts-indicator-list"},void 0,t);l.appendChild(h.createTextNode(e));["click","touchstart"].forEach(function(d){F(l,d,function(){var d=E.parentNode.children[1],e=g.params||g.options.params;E.innerHTML=c.emptyHTML;z("h3",{className:"highcharts-indicator-title"},void 0,E).appendChild(h.createTextNode(A(g,f).indicatorFullName));z("input",
+{type:"hidden",name:"highcharts-type-"+f,value:f},void 0,E);q.call(n,f,"series",a,E,g,g.linkedParent&&g.linkedParent.options.id);e.volumeSeriesID&&q.call(n,f,"volume",a,E,g,g.linkedParent&&e.volumeSeriesID);b.call(n,a,"params",e,f,E);d&&(d.style.display="block");k&&g.options&&z("input",{type:"hidden",name:"highcharts-id-"+f,value:g.options.id},void 0,E).setAttribute("highcharts-data-series-id",g.options.id)})})});0<t.childNodes.length?t.childNodes[0].click():k||(c.setElementHTML(E.parentNode.children[0],
+g.noFilterMatch||""),E.parentNode.children[1].style.display="none")}}function b(a,c,e,f,v){var n=this;if(a){var h=this.addInput;u(e,function(e,k){var x=c+"."+k;G(e)&&x&&(K(e)&&(h.call(n,x,f,v,{}),b.call(n,a,x,e,f,v)),x in B?(x=d.call(n,f,x,v),g.call(n,a,c,x,f,k,e)):"params.volumeSeriesID"===x||y(e)||h.call(n,x,f,v,{value:e,type:"number"}))})}}function e(b,d){var c=this,e=d.querySelectorAll(".highcharts-popup-lhs-col")[0];d=this.lang.clearFilter;e=z("div",{className:"highcharts-input-wrapper"},void 0,
 e);var f=this.addInput("searchIndicators","input",e,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),g=z("a",{textContent:d},void 0,e);f.classList.add("highcharts-input-search-indicators");g.classList.add("clear-filter-button");F(f,"input",function(d){a.call(c,b,c.container,"add",this.value);g.style.display=this.value.length?"inline-block":"none"});["click","touchstart"].forEach(function(d){F(g,d,function(){f.value="";a.call(c,b,c.container,
 "add","");g.style.display="none"})})}function d(a,b,d){var c=b.split(".");c=c[c.length-1];a="highcharts-"+b+"-type-"+a;var e=this.lang;z("label",{htmlFor:a},null,d).appendChild(h.createTextNode(e[c]||b));d=z("select",{name:a,className:"highcharts-popup-field",id:"highcharts-select-"+b},null,d);d.setAttribute("id","highcharts-select-"+b);return d}function g(a,b,d,c,e,f,g){"series"===b||"volume"===b?a.series.forEach(function(a){var c=a.options,e=c.name||c.params?a.name:c.id||"";"highcharts-navigator-series"!==
-c.id&&c.id!==(g&&g.options&&g.options.id)&&(G(f)||"volume"!==b||"column"!==a.type||(f=c.id),z("option",{value:c.id},void 0,d).appendChild(h.createTextNode(e)))}):c&&e&&I[e+"-"+c].forEach(function(a){z("option",{value:a},void 0,d).appendChild(h.createTextNode(a))});G(f)&&(d.value=f)}function p(a,b){var d=this.chart&&this.chart.options.lang,c=d&&d.navigation&&d.navigation.popup&&d.navigation.popup.indicatorAliases,e=[],f;u(a,function(a,d){var m=a&&a.options;if(a.params||m&&m.params)if(m=A(a,d),d=m.indicatorFullName,
-m=m.indicatorType,b){var g=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");g=new RegExp(g,"i");var h=c&&c[m]&&c[m].join(" ")||"";if(d.match(g)||h.match(g))f={indicatorFullName:d,indicatorType:m,series:a},e.push(f)}else f={indicatorFullName:d,indicatorType:m,series:a},e.push(f)});return e}function w(a){var b=[];a.forEach(function(a){a.is("sma")&&b.push({indicatorFullName:a.name,indicatorType:a.type,series:a})});return b}function A(a,b){var d=a.options,c=q[b]&&q[b].prototype.nameBase||b.toUpperCase();d&&d.type&&
-(b=a.options.type,c=a.name);return{indicatorFullName:c,indicatorType:b}}function r(a,b,c,e,f,h){c&&(a=d.call(this,a,b,e),g.call(this,c,b,a,void 0,void 0,void 0,f),G(h)&&(a.value=h))}var h=l.doc,q=n.seriesTypes,F=k.addEvent,z=k.createElement,G=k.defined,y=k.isArray,K=k.isObject,u=k.objectEach,H=k.stableSort,B;(function(a){a[a["params.algorithm"]=0]="params.algorithm";a[a["params.average"]=1]="params.average"})(B||(B={}));var I={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma",
-"ema","dema","tema","wma"]};return{addForm:function(b,d,c){d=this.lang;if(b){this.tabs.init.call(this,b);var m=this.container.querySelectorAll(".highcharts-tab-item-content");f(m[0]);e.call(this,b,m[0]);a.call(this,b,m[0],"add");var g=m[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,d.addButton||"add","add",g,c);f(m[1]);a.call(this,b,m[1],"edit");g=m[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,d.saveButton||"save","edit",g,c);this.addButton(g,d.removeButton||
-"remove","remove",g,c)}},getAmount:function(){var a=0;this.series.forEach(function(b){(b.params||b.options.params)&&a++});return a}}});t(c,"Extensions/Annotations/Popup/PopupTabs.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){function p(){return e("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function n(b,c){var d=this.container,f=this.lang,g="highcharts-tab-item";0===c&&(g+=" highcharts-tab-disabled");c=e("span",{className:g},void 0,
-d);c.appendChild(a.createTextNode(f[b+"Button"]||b));c.setAttribute("highcharts-data-tab-type",b);return c}function k(a,b){var d=this.container.querySelectorAll(".highcharts-tab-item-content");a.className+=" highcharts-tab-item-active";d[b].className+=" highcharts-tab-item-show"}function f(a){var d=this;this.container.querySelectorAll(".highcharts-tab-item").forEach(function(c,e){0===a&&"edit"===c.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(function(a){b(c,a,function(){var a=
-d.container,b=a.querySelectorAll(".highcharts-tab-item");a=a.querySelectorAll(".highcharts-tab-item-content");for(var c=0;c<b.length;c++)b[c].classList.remove("highcharts-tab-item-active"),a[c].classList.remove("highcharts-tab-item-show");k.call(d,this,e)})})})}var a=c.doc,b=l.addEvent,e=l.createElement;return{init:function(a){if(a){a=this.indicators.getAmount.call(a);var b=n.call(this,"add");n.call(this,"edit",a);p.call(this);p.call(this);f.call(this,a);k.call(this,b,0)}}}});t(c,"Extensions/Annotations/Popup/Popup.js",
-[c["Core/Renderer/HTML/AST.js"],c["Core/Defaults.js"],c["Core/Globals.js"],c["Extensions/Annotations/Popup/PopupAnnotations.js"],c["Extensions/Annotations/Popup/PopupIndicators.js"],c["Extensions/Annotations/Popup/PopupTabs.js"],c["Core/Utilities.js"]],function(c,l,t,n,k,f,a){function b(a,b){var c=Array.prototype.slice.call(a.querySelectorAll("input")),d=Array.prototype.slice.call(a.querySelectorAll("select")),e=a.querySelectorAll("#highcharts-select-series > option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];
-var f={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?f.seriesId=a.value:b?f.fields[b]=a.value:f.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],f.fields[b]=a.value)});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return f}var e=l.getOptions,d=t.doc,g=
-a.addEvent,p=a.createElement;l=a.extend;var w=a.fireEvent,A=a.pick;a=function(){function a(a,b,c){this.chart=c;this.iconsURL=b;this.lang=e().lang.navigation.popup;this.container=p("div",{className:"highcharts-popup highcharts-no-tooltip"},void 0,a);g(this.container,"mousedown",function(){var a=c&&c.navigationBindings&&c.navigationBindings.activeAnnotation;if(a){a.cancelClick=!0;var b=g(t.doc,"click",function(){setTimeout(function(){a.cancelClick=!1},0);b()})}});this.addCloseBtn()}a.prototype.init=
+c.id&&c.id!==(g&&g.options&&g.options.id)&&(G(f)||"volume"!==b||"column"!==a.type||(f=c.id),z("option",{value:c.id},void 0,d).appendChild(h.createTextNode(e)))}):c&&e&&I[e+"-"+c].forEach(function(a){z("option",{value:a},void 0,d).appendChild(h.createTextNode(a))});G(f)&&(d.value=f)}function p(a,b){var d=this.chart&&this.chart.options.lang,c=d&&d.navigation&&d.navigation.popup&&d.navigation.popup.indicatorAliases,e=[],f;u(a,function(a,d){var n=a&&a.options;if(a.params||n&&n.params)if(n=A(a,d),d=n.indicatorFullName,
+n=n.indicatorType,b){var g=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");g=new RegExp(g,"i");var h=c&&c[n]&&c[n].join(" ")||"";if(d.match(g)||h.match(g))f={indicatorFullName:d,indicatorType:n,series:a},e.push(f)}else f={indicatorFullName:d,indicatorType:n,series:a},e.push(f)});return e}function w(a){var b=[];a.forEach(function(a){a.is("sma")&&b.push({indicatorFullName:a.name,indicatorType:a.type,series:a})});return b}function A(a,b){var d=a.options,c=t[b]&&t[b].prototype.nameBase||b.toUpperCase();d&&d.type&&
+(b=a.options.type,c=a.name);return{indicatorFullName:c,indicatorType:b}}function q(a,b,c,e,f,h){c&&(a=d.call(this,a,b,e),g.call(this,c,b,a,void 0,void 0,void 0,f),G(h)&&(a.value=h))}var h=l.doc,t=m.seriesTypes,F=k.addEvent,z=k.createElement,G=k.defined,y=k.isArray,K=k.isObject,u=k.objectEach,H=k.stableSort,B;(function(a){a[a["params.algorithm"]=0]="params.algorithm";a[a["params.average"]=1]="params.average"})(B||(B={}));var I={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma",
+"ema","dema","tema","wma"]};return{addForm:function(b,d,c){d=this.lang;if(b){this.tabs.init.call(this,b);var n=this.container.querySelectorAll(".highcharts-tab-item-content");f(n[0]);e.call(this,b,n[0]);a.call(this,b,n[0],"add");var g=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,d.addButton||"add","add",g,c);f(n[1]);a.call(this,b,n[1],"edit");g=n[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(g,d.saveButton||"save","edit",g,c);this.addButton(g,d.removeButton||
+"remove","remove",g,c)}},getAmount:function(){var a=0;this.series.forEach(function(b){(b.params||b.options.params)&&a++});return a}}});r(c,"Extensions/Annotations/Popup/PopupTabs.js",[c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,l){function p(){return e("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function m(b,c){var d=this.container,f=this.lang,g="highcharts-tab-item";0===c&&(g+=" highcharts-tab-disabled");c=e("span",{className:g},void 0,
+d);c.appendChild(a.createTextNode(f[b+"Button"]||b));c.setAttribute("highcharts-data-tab-type",b);return c}function k(a,b){var c=this.container.querySelectorAll(".highcharts-tab-item-content");a.className+=" highcharts-tab-item-active";c[b].className+=" highcharts-tab-item-show"}function f(a){var c=this;this.container.querySelectorAll(".highcharts-tab-item").forEach(function(d,e){0===a&&"edit"===d.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(function(a){b(d,a,function(){var a=
+c.container,b=a.querySelectorAll(".highcharts-tab-item");a=a.querySelectorAll(".highcharts-tab-item-content");for(var d=0;d<b.length;d++)b[d].classList.remove("highcharts-tab-item-active"),a[d].classList.remove("highcharts-tab-item-show");k.call(c,this,e)})})})}var a=c.doc,b=l.addEvent,e=l.createElement;return{init:function(a){if(a){a=this.indicators.getAmount.call(a);var b=m.call(this,"add");m.call(this,"edit",a);p.call(this);p.call(this);f.call(this,a);k.call(this,b,0)}}}});r(c,"Extensions/Annotations/Popup/Popup.js",
+[c["Core/Renderer/HTML/AST.js"],c["Core/Defaults.js"],c["Core/Globals.js"],c["Extensions/Annotations/Popup/PopupAnnotations.js"],c["Extensions/Annotations/Popup/PopupIndicators.js"],c["Extensions/Annotations/Popup/PopupTabs.js"],c["Core/Utilities.js"]],function(c,l,r,m,k,f,a){function b(a,b){var c=Array.prototype.slice.call(a.querySelectorAll("input")),d=Array.prototype.slice.call(a.querySelectorAll("select")),e=a.querySelectorAll("#highcharts-select-series > option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];
+var f={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?f.seriesId=a.value:b?f.fields[b]=a.value:f.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],f.fields[b]=a.value)});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return f}var e=l.getOptions,d=r.doc,g=
+a.addEvent,p=a.createElement;l=a.extend;var w=a.fireEvent,A=a.pick;a=function(){function a(a,b,c){this.chart=c;this.iconsURL=b;this.lang=e().lang.navigation.popup;this.container=p("div",{className:"highcharts-popup highcharts-no-tooltip"},void 0,a);g(this.container,"mousedown",function(){var a=c&&c.navigationBindings&&c.navigationBindings.activeAnnotation;if(a){a.cancelClick=!0;var b=g(r.doc,"click",function(){setTimeout(function(){a.cancelClick=!1},0);b()})}});this.addCloseBtn()}a.prototype.init=
 function(b,c,d){a.call(this,b,c,d)};a.prototype.addCloseBtn=function(){var a=this,b=this.iconsURL,c=p("div",{className:"highcharts-popup-close"},void 0,this.container);c.style["background-image"]="url("+(b.match(/png|svg|jpeg|jpg|gif/ig)?b:b+"close.svg")+")";["click","touchstart"].forEach(function(b){g(c,b,function(){if(a.chart){var b=a.chart.navigationBindings;w(b,"closePopup");b&&b.selectedButtonElement&&w(b,"deselectButton",{button:b.selectedButtonElement})}else a.closePopup()})})};a.prototype.addInput=
-function(a,b,c,e){var f=a.split(".");f=f[f.length-1];var g=this.lang;b="highcharts-"+b+"-"+A(e.htmlFor,f);b.match(/\d/g)||p("label",{htmlFor:b,className:e.labelClassName},void 0,c).appendChild(d.createTextNode(g[f]||f));c=p("input",{name:b,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,c);c.setAttribute("highcharts-data-name",a);return c};a.prototype.addButton=function(a,c,e,f,k){var h=this,l=p("button",void 0,void 0,a);l.appendChild(d.createTextNode(c));k&&["click","touchstart"].forEach(function(a){g(l,
+function(a,b,c,e){var f=a.split(".");f=f[f.length-1];var g=this.lang;b="highcharts-"+b+"-"+A(e.htmlFor,f);f.match(/^\d+$/)||p("label",{htmlFor:b,className:e.labelClassName},void 0,c).appendChild(d.createTextNode(g[f]||f));c=p("input",{name:b,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,c);c.setAttribute("highcharts-data-name",a);return c};a.prototype.addButton=function(a,c,e,f,k){var h=this,l=p("button",void 0,void 0,a);l.appendChild(d.createTextNode(c));k&&["click","touchstart"].forEach(function(a){g(l,
 a,function(){h.closePopup();return k(b(f,e))})});return l};a.prototype.showPopup=function(){var a=this.container,b=a.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;a.innerHTML=c.emptyHTML;0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block";a.style.height=""};a.prototype.closePopup=function(){this.container.style.display="none"};a.prototype.showForm=function(a,
-b,c,d){b&&(this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")};return a}();l(a.prototype,{annotations:n,indicators:k,tabs:f});return a});t(c,"Extensions/Annotations/Popup/PopupComposition.js",[c["Extensions/Annotations/Popup/Popup.js"],
-c["Core/Utilities.js"]],function(c,l){function p(){this.popup&&this.popup.closePopup()}function n(a){this.popup||(this.popup=new c(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/10.3.2/gfx/stock-icons/",this.chart));this.popup.showForm(a.formType,this.chart,a.options,a.onSubmit)}function k(a,b){this.inClass(b.target,"highcharts-popup")||a.apply(this,Array.prototype.slice.call(arguments,
-1))}var f=l.addEvent,a=l.wrap,b=[];return{compose:function(c,d){-1===b.indexOf(c)&&(b.push(c),f(c,"closePopup",p),f(c,"showPopup",n));-1===b.indexOf(d)&&(b.push(d),a(d.prototype,"onContainerMouseDown",k))}}});t(c,"Extensions/Annotations/Annotation.js",[c["Core/Animation/AnimationUtilities.js"],c["Extensions/Annotations/AnnotationChart.js"],c["Extensions/Annotations/AnnotationDefaults.js"],c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableRect.js"],
+b,c,d){b&&(this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")};return a}();l(a.prototype,{annotations:m,indicators:k,tabs:f});return a});r(c,"Extensions/Annotations/Popup/PopupComposition.js",[c["Extensions/Annotations/Popup/Popup.js"],
+c["Core/Utilities.js"]],function(c,l){function p(){this.popup&&this.popup.closePopup()}function m(a){this.popup||(this.popup=new c(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/10.3.3/gfx/stock-icons/",this.chart));this.popup.showForm(a.formType,this.chart,a.options,a.onSubmit)}function k(a,b){this.inClass(b.target,"highcharts-popup")||a.apply(this,Array.prototype.slice.call(arguments,
+1))}var f=l.addEvent,a=l.wrap,b=[];return{compose:function(c,d){-1===b.indexOf(c)&&(b.push(c),f(c,"closePopup",p),f(c,"showPopup",m));-1===b.indexOf(d)&&(b.push(d),a(d.prototype,"onContainerMouseDown",k))}}});r(c,"Extensions/Annotations/Annotation.js",[c["Core/Animation/AnimationUtilities.js"],c["Extensions/Annotations/AnnotationChart.js"],c["Extensions/Annotations/AnnotationDefaults.js"],c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableRect.js"],
 c["Extensions/Annotations/Controllables/ControllableCircle.js"],c["Extensions/Annotations/Controllables/ControllableEllipse.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Extensions/Annotations/Controllables/ControllableImage.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"],c["Extensions/Annotations/ControlPoint.js"],c["Extensions/Annotations/EventEmitter.js"],c["Extensions/Annotations/MockPoint.js"],c["Extensions/Annotations/NavigationBindings.js"],c["Extensions/Annotations/Popup/PopupComposition.js"],
-c["Core/Utilities.js"]],function(c,l,t,n,k,f,a,b,e,d,g,C,D,A,r,h){function p(a){var b=a.graphic;a=a.points.some(function(a){return!1!==a.series.visible&&!1!==a.visible});b&&(a?"hidden"===b.visibility&&b.show():b.hide())}function w(a,b){var c={};["labels","shapes"].forEach(function(d){var e=a[d];e&&(c[d]=b[d]?J(b[d]).map(function(a,b){return B(e[b],a)}):a[d])});return c}var z=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=
-b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),G=c.getDeferredAnimation,y=n.prototype,K=h.destroyObjectProperties,u=h.erase,H=h.fireEvent,B=h.merge,I=h.pick,J=h.splat;c=function(c){function h(a,b){var d=c.call(this)||this;d.annotation=void 0;d.coll="annotations";d.collection=void 0;d.animationConfig=void 0;d.graphic=void 0;d.group=
-void 0;d.labelCollector=void 0;d.labelsGroup=void 0;d.shapesGroup=void 0;d.chart=a;d.points=[];d.controlPoints=[];d.coll="annotations";d.labels=[];d.shapes=[];d.options=B(d.defaultOptions,b);d.userOptions=b;b=w(d.options,b);d.options.labels=b.labels;d.options.shapes=b.shapes;d.init(a,d.options);return d}z(h,c);h.compose=function(a,c,e){l.compose(h,a,c);d.compose(e);b.compose(a,e);A.compose(h,a);r.compose(A,c)};h.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&
+c["Core/Utilities.js"]],function(c,l,r,m,k,f,a,b,e,d,g,C,D,A,q,h){function p(a){var b=a.graphic;a=a.points.some(function(a){return!1!==a.series.visible&&!1!==a.visible});b&&(a?"hidden"===b.visibility&&b.show():b.hide())}function w(a,b){var c={};["labels","shapes"].forEach(function(d){var e=a[d];e&&(c[d]=b[d]?J(b[d]).map(function(a,b){return B(e[b],a)}):a[d])});return c}var z=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=
+b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),G=c.getDeferredAnimation,y=m.prototype,K=h.destroyObjectProperties,u=h.erase,H=h.fireEvent,B=h.merge,I=h.pick,J=h.splat;c=function(c){function h(a,b){var d=c.call(this)||this;d.annotation=void 0;d.coll="annotations";d.collection=void 0;d.animationConfig=void 0;d.graphic=void 0;d.group=
+void 0;d.labelCollector=void 0;d.labelsGroup=void 0;d.shapesGroup=void 0;d.chart=a;d.points=[];d.controlPoints=[];d.coll="annotations";d.labels=[];d.shapes=[];d.options=B(d.defaultOptions,b);d.userOptions=b;b=w(d.options,b);d.options.labels=b.labels;d.options.shapes=b.shapes;d.init(a,d.options);return d}z(h,c);h.compose=function(a,c,e){l.compose(h,a,c);d.compose(e);b.compose(a,e);A.compose(h,a);q.compose(A,c)};h.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&
 this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};h.prototype.addLabels=function(){var a=this,b=this.options.labels||[];b.forEach(function(c,d){c=a.initLabel(c,d);B(!0,b[d],c.options)})};h.prototype.addShapes=function(){var a=this,b=this.options.shapes||[];b.forEach(function(c,d){c=a.initShape(c,d);B(!0,b[d],c.options)})};h.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=
 null;u(a.labelCollectors,this.labelCollector);c.prototype.destroy.call(this);y.destroy.call(this);K(this,a)};h.prototype.destroyItem=function(a){u(this[a.itemType+"s"],a);a.destroy()};h.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};h.prototype.init=function(a,b,c){a=this.chart;b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();
 this.setLabelCollector();this.animationConfig=G(a,b)};h.prototype.initLabel=function(a,b){a=B(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new d(this,a,b);b.itemType="label";this.labels.push(b);return b};h.prototype.initShape=function(a,b){a=B(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new h.shapesMap[a.type](this,a,b);b.itemType="shape";this.shapes.push(b);return b};h.prototype.redraw=function(a){this.linkPoints();
@@ -133,6 +133,6 @@ h.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annota
 this.renderItems(this.labels);this.addEvents();y.render.call(this)};h.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};h.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};h.prototype.setClipAxes=function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(c,d){d=d&&(d.point||d.points&&d.points[0]);return[a[d&&d.xAxis]||c[0],b[d&&d.yAxis]||c[1]]},[]);
 this.clipXAxis=c[0];this.clipYAxis=c[1]};h.prototype.setControlPointsVisibility=function(a){var b=function(b){b.setControlPointsVisibility(a)};y.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};h.prototype.setLabelCollector=function(){var a=this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};h.prototype.setOptions=function(a){this.options=
 B(this.defaultOptions,a)};h.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=I(a,!b.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&H(c,"closePopup"));b.visible=a};h.prototype.update=function(a,b){var c=this.chart,d=w(this.userOptions,a),e=c.annotations.indexOf(this);a=B(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;
-this.destroy();this.constructor(c,a);c.options.annotations[e]=a;this.isUpdating=!0;I(b,!0)&&c.redraw();H(this,"afterUpdate");this.isUpdating=!1};h.ControlPoint=g;h.MockPoint=D;h.shapesMap={rect:k,circle:f,ellipse:a,path:b,image:e};h.types={};return h}(C);B(!0,c.prototype,n.prototype,B(c.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:t}));"";return c});t(c,"masters/modules/annotations.src.js",[c["Core/Globals.js"],c["Extensions/Annotations/Annotation.js"]],function(c,
+this.destroy();this.constructor(c,a);c.options.annotations[e]=a;this.isUpdating=!0;I(b,!0)&&c.redraw();H(this,"afterUpdate");this.isUpdating=!1};h.ControlPoint=g;h.MockPoint=D;h.shapesMap={rect:k,circle:f,ellipse:a,path:b,image:e};h.types={};return h}(C);B(!0,c.prototype,m.prototype,B(c.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:r}));"";return c});r(c,"masters/modules/annotations.src.js",[c["Core/Globals.js"],c["Extensions/Annotations/Annotation.js"]],function(c,
 l){c.Annotation=l;l.compose(c.Chart,c.Pointer,c.SVGRenderer)})});
 //# sourceMappingURL=annotations.js.map

+ 1 - 1
nicegui/elements/lib/highcharts_modules/arc-diagram.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Arc diagram module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/arrow-symbols.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Arrow Symbols
 

File diff suppressed because it is too large
+ 8 - 8
nicegui/elements/lib/highcharts_modules/boost-canvas.js


File diff suppressed because it is too large
+ 1 - 7
nicegui/elements/lib/highcharts_modules/boost.js


+ 1 - 1
nicegui/elements/lib/highcharts_modules/broken-axis.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/bullet.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Bullet graph series type for Highcharts
 

+ 3 - 3
nicegui/elements/lib/highcharts_modules/coloraxis.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  ColorAxis module
 
@@ -13,8 +13,8 @@
 c,d){a.update({},d)})}function r(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function D(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]}function f(a){var c=this,d=a?"show":"hide";c.visible=c.options.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(c[a])c[a][d]()});this.series.buildKDTree()}function a(){var a=this,c=this.options.nullColor,d=this.colorAxis,e=this.colorKey;(this.data.length?
 this.data:this.points).forEach(function(h){var f=h.getNestedProperty(e);(f=h.options.color||(h.isNull||null===h.value?c:d&&"undefined"!==typeof f?d.toColor(f,h):h.color||a.color))&&h.color!==f&&(h.color=f,"point"===a.options.legendType&&h.legendItem&&h.legendItem.label&&a.chart.legend.colorizeItem(h,h.visible))})}function c(a){var c=a.prototype.createAxis;a.prototype.createAxis=function(a,d){if("colorAxis"!==a)return c.apply(this,arguments);var e=new q(this,y(d.axis,{index:this[a].length,isX:!1}));
 this.isDirtyLegend=!0;this.axes.forEach(function(a){a.series=[]});this.series.forEach(function(a){a.bindAxes();a.isDirtyData=!0});z(d.redraw,!0)&&this.redraw(d.animation);return e}}function e(){this.elem.attr("fill",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}function d(){this.elem.attr("stroke",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}var h=[],q;b.compose=function(l,g,b,w,m){q||(q=l);-1===h.indexOf(g)&&(h.push(g),l=g.prototype,l.collectionsWithUpdate.push("colorAxis"),l.collectionsWithInit.colorAxis=
-[l.addColorAxis],p(g,"afterGetAxes",k),c(g));-1===h.indexOf(b)&&(h.push(b),g=b.prototype,g.fillSetter=e,g.strokeSetter=d);-1===h.indexOf(w)&&(h.push(w),p(w,"afterGetAllItems",v),p(w,"afterColorizeItem",t),p(w,"afterUpdate",x));-1===h.indexOf(m)&&(h.push(m),n(m.prototype,{optionalAxis:"colorAxis",translateColors:a}),n(m.prototype.pointClass.prototype,{setVisible:f}),p(m,"afterTranslate",r),p(m,"bindAxes",D))};b.pointSetVisible=f})(v||(v={}));return v});n(b,"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}});n(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],
+[l.addColorAxis],p(g,"afterGetAxes",k),c(g));-1===h.indexOf(b)&&(h.push(b),g=b.prototype,g.fillSetter=e,g.strokeSetter=d);-1===h.indexOf(w)&&(h.push(w),p(w,"afterGetAllItems",v),p(w,"afterColorizeItem",t),p(w,"afterUpdate",x));-1===h.indexOf(m)&&(h.push(m),n(m.prototype,{optionalAxis:"colorAxis",translateColors:a}),n(m.prototype.pointClass.prototype,{setVisible:f}),p(m,"afterTranslate",r,{order:1}),p(m,"bindAxes",D))};b.pointSetVisible=f})(v||(v={}));return v});n(b,"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}});n(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],
 b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,k,n,p,E,y,z,u){var m=this&&this.__extends||function(){var b=function(f,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var d in e)e.hasOwnProperty(d)&&(a[d]=e[d])};return b(f,a)};return function(f,a){function c(){this.constructor=f}b(f,a);f.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),t=k.parse,A=z.series,B=u.extend,C=u.isNumber,x=u.merge,r=u.pick;
 k=function(b){function f(a,c){var e=b.call(this,a,c)||this;e.beforePadding=!1;e.chart=void 0;e.coll="colorAxis";e.dataClasses=void 0;e.name="";e.options=void 0;e.stops=void 0;e.visible=!0;e.init(a,c);return e}m(f,b);f.compose=function(a,c,e,d){n.compose(f,a,c,e,d)};f.prototype.init=function(a,c){var e=a.options.legend||{},d=c.layout?"vertical"!==c.layout:"vertical"!==e.layout,h=c.visible;e=x(f.defaultColorAxisOptions,c,{showEmpty:!1,title:null,visible:e.enabled&&!1!==h});this.coll="colorAxis";this.side=
 c.side||d?2:1;this.reversed=c.reversed||!d;this.opposite=!d;b.prototype.init.call(this,a,e);this.userOptions.visible=h;c.dataClasses&&this.initDataClasses(c);this.initStops();this.horiz=d;this.zoomEnabled=!1};f.prototype.initDataClasses=function(a){var c=this.chart,e=this.legendItem=this.legendItem||{},d=a.dataClasses.length,h=this.options,b,f=0,g=c.options.chart.colorCount;this.dataClasses=b=[];e.labels=[];(a.dataClasses||[]).forEach(function(a,e){a=x(a);b.push(a);if(c.styledMode||!a.color)"category"===

+ 1 - 1
nicegui/elements/lib/highcharts_modules/current-date-indicator.js

@@ -1,5 +1,5 @@
 /*
- Highcharts Gantt JS v10.3.2 (2022-11-28)
+ Highcharts Gantt JS v10.3.3 (2023-01-20)
 
  CurrentDateIndicator
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/cylinder.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Highcharts cylinder module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/data.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Data module
 

+ 3 - 3
nicegui/elements/lib/highcharts_modules/datagrouping.js

@@ -1,5 +1,5 @@
 /*
- Highstock JS v10.3.2 (2022-11-28)
+ Highstock JS v10.3.3 (2023-01-20)
 
  Data grouping module
 
@@ -16,8 +16,8 @@ a[0]:a.hasNulls?null:void 0},range:function(b,d){b=a.low(b);d=a.high(d);if(k(b)|
 function q(){for(var b=this.series,d=b.length,e=0,k=!1,g,r;d--;)if(r=b[d].options.dataGrouping)if(e=Math.max(e,c(r.groupPixelWidth,a.common.groupPixelWidth)),g=(b[d].processedXData||b[d].data).length,b[d].groupPixelWidth||g>this.chart.plotSizeX/e||g&&r.forced)k=!0;return k?e:0}function g(){this.series.forEach(function(a){a.hasProcessed=!1})}function l(a,b){var d;b=c(b,!0);a||(a={forced:!1,units:null});if(this instanceof e)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=
 "boolean"===typeof a?a:k(a,b.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0);b&&this.chart.redraw()}var K=b.addEvent,G=b.extend,k=b.merge,c=b.pick,p=[],e;return{compose:function(a){e=a;-1===p.indexOf(a)&&(p.push(a),K(a,"afterSetScale",g),K(a,"postProcessData",d),G(a.prototype,{applyGrouping:d,getGroupPixelWidth:q,setDataGrouping:l}))}}});g(a,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[a["Extensions/DataGrouping/ApproximationRegistry.js"],a["Extensions/DataGrouping/DataGroupingDefaults.js"],
 a["Core/Axis/DateTimeAxis.js"],a["Core/Defaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,g,q,D,l){function d(a){var c=this.chart,d=this.options.dataGrouping,e=!1!==this.allowDG&&d&&v(d.enabled,c.options.isStock),f=this.visible||!c.options.chart.ignoreHiddenSeries,A=this.currentDataGrouping,k=!1;e&&!this.requireSorting&&(this.requireSorting=k=!0);a=!1===!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!a)||!e;k&&(this.requireSorting=!1);
-if(!a){this.destroyGroupedData();var y=d.groupAll?this.xData:this.processedXData,q=d.groupAll?this.yData:this.processedYData;e=c.plotSizeX;a=this.xAxis;var l=a.options.ordinal,h=this.groupPixelWidth;k=void 0;if(h&&y&&y.length){this.isDirty=k=!0;this.points=null;var m=a.getExtremes();var n=m.min;m=m.max;l=l&&a.ordinal&&a.ordinal.getGroupIntervalFactor(n,m,this)||1;e=a.getTimeTicks(g.Additions.prototype.normalizeTimeTickInterval(h*(m-n)/e*l,d.units||b.units),Math.min(n,y[0]),Math.max(m,y[y.length-1]),
-a.options.startOfWeek,y,this.closestPointRange);h=u.groupData.apply(this,[y,q,e,d.approximation]);y=h.groupedXData;q=h.groupedYData;l=0;d&&d.smoothed&&y.length&&(d.firstAnchor="firstPoint",d.anchor="middle",d.lastAnchor="lastPoint",F(32,!1,c,{"dataGrouping.smoothed":"use dataGrouping.anchor"}));c=y;var E=this.options.dataGrouping;n=this.currentDataGrouping&&this.currentDataGrouping.gapSize;if(E&&this.xData&&n&&this.groupMap){var z=c.length-1;var x=E.anchor;var C=v(E.firstAnchor,x);E=v(E.lastAnchor,
+if(!a){this.destroyGroupedData();var y=d.groupAll?this.xData:this.processedXData,q=d.groupAll?this.yData:this.processedYData;e=c.plotSizeX;a=this.xAxis;var l=a.options.ordinal,h=this.groupPixelWidth;k=void 0;if(h&&y&&y.length&&e){this.isDirty=k=!0;this.points=null;var m=a.getExtremes();var n=m.min;m=m.max;l=l&&a.ordinal&&a.ordinal.getGroupIntervalFactor(n,m,this)||1;e=a.getTimeTicks(g.Additions.prototype.normalizeTimeTickInterval(h*(m-n)/e*l,d.units||b.units),Math.min(n,y[0]),Math.max(m,y[y.length-
+1]),a.options.startOfWeek,y,this.closestPointRange);h=u.groupData.apply(this,[y,q,e,d.approximation]);y=h.groupedXData;q=h.groupedYData;l=0;d&&d.smoothed&&y.length&&(d.firstAnchor="firstPoint",d.anchor="middle",d.lastAnchor="lastPoint",F(32,!1,c,{"dataGrouping.smoothed":"use dataGrouping.anchor"}));c=y;var E=this.options.dataGrouping;n=this.currentDataGrouping&&this.currentDataGrouping.gapSize;if(E&&this.xData&&n&&this.groupMap){var z=c.length-1;var x=E.anchor;var C=v(E.firstAnchor,x);E=v(E.lastAnchor,
 x);if(x&&"start"!==x){var w=n*{middle:.5,end:1}[x];for(x=c.length-1;x--&&0<x;)c[x]+=w}if(C&&"start"!==C&&this.xData[0]>=c[0]){x=this.groupMap[0].start;w=this.groupMap[0].length;var p=void 0;r(x)&&r(w)&&(p=x+(w-1));c[0]={middle:c[0]+.5*n,end:c[0]+n,firstPoint:this.xData[0],lastPoint:p&&this.xData[p]}[C]}E&&"start"!==E&&n&&c[z]>=m-n&&(m=this.groupMap[this.groupMap.length-1].start,c[z]={middle:c[z]+.5*n,end:c[z]+n,firstPoint:m&&this.xData[m],lastPoint:this.xData[this.xData.length-1]}[E])}for(m=1;m<e.length;m++)e.info.segmentStarts&&
 -1!==e.info.segmentStarts.indexOf(m)||(l=Math.max(e[m]-e[m-1],l));m=e.info;m.gapSize=l;this.closestPointRange=e.info.totalRange;this.groupMap=h.groupMap;if(f){f=y;if(H(f[0])&&r(a.min)&&r(a.dataMin)&&f[0]<a.min){if(!H(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=Math.min(f[0],a.min);a.dataMin=Math.min(f[0],a.dataMin)}if(H(f[f.length-1])&&r(a.max)&&r(a.dataMax)&&f[f.length-1]>a.max){if(!H(a.options.max)&&r(a.dataMax)&&a.max>=a.dataMax||a.max===a.dataMax)a.max=Math.max(f[f.length-1],a.max);
 a.dataMax=Math.max(f[f.length-1],a.dataMax)}}d.groupAll&&(this.allGroupedData=q,d=this.cropData(y,q,a.min,a.max,1),y=d.xData,q=d.yData,this.cropStart=d.start);this.processedXData=y;this.processedYData=q}else this.groupMap=null;this.hasGroupedData=k;this.currentDataGrouping=m;this.preventGraphAnimation=(A&&A.totalRange)!==(m&&m.totalRange)}}function h(){this.groupedData&&(this.groupedData.forEach(function(a,b){a&&(this.groupedData[b]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)}function k(){L.apply(this);

+ 1 - 1
nicegui/elements/lib/highcharts_modules/debugger.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Debugger module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/dependency-wheel.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Dependency wheel module
 

+ 5 - 5
nicegui/elements/lib/highcharts_modules/dotplot.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Dot plot series type for Highcharts
 
@@ -8,8 +8,8 @@
  License: www.highcharts.com/license
 */
 (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/dotplot",["highcharts"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,g,f,b){a.hasOwnProperty(g)||(a[g]=b.apply(null,f),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:a[g]}})))}a=a?a._modules:{};b(a,
-"Series/DotPlot/DotPlotSeries.js",[a["Series/Column/ColumnSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,f){var g=this&&this.__extends||function(){var a=function(e,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(e,c)};return function(e,c){function b(){this.constructor=e}a(e,c);e.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),
-t=f.extend,n=f.merge,u=f.pick;f=function(b){function e(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}g(e,b);e.prototype.drawPoints=function(){var a=this,b=a.chart.renderer,e=this.options.marker,f=this.yAxis.transA*a.options.itemPadding,g=this.borderWidth%2?.5:1;this.points.forEach(function(d){var c;var h=d.marker||{};var v=h.symbol||e.symbol,n=u(h.radius,e.radius),w="rect"!==v;d.graphics=c=d.graphics||[];var m=d.pointAttr?d.pointAttr[d.selected?
-"selected":""]||a.pointAttr[""]:a.pointAttribs(d,d.selected&&"select");delete m.r;a.chart.styledMode&&(delete m.stroke,delete m["stroke-width"]);if(null!==d.y){d.graphic||(d.graphic=b.g("point").add(a.group));var p=u(d.stackY,d.y);var q=Math.min(d.pointWidth,a.yAxis.transA-f);var l=Math.floor(p);for(h=p;h>p-d.y;h--,l--){var k=d.barX+(w?d.pointWidth/2-q/2:0);var r=a.yAxis.toPixels(h,!0)+f/2;a.options.crisp&&(k=Math.round(k)-g,r=Math.round(r)+g);k={x:k,y:r,width:Math.round(w?q:d.pointWidth),height:Math.round(q),
-r:n};c[l]?c[l].animate(k):c[l]=b.symbol(v).attr(t(k,m)).add(d.graphic);c[l].isActive=!0}}c.forEach(function(a,b){a.isActive?a.isActive=!1:(a.destroy(),c.splice(b,1))})})};e.defaultOptions=n(a.defaultOptions,{itemPadding:.2,marker:{symbol:"circle",states:{hover:{},select:{}}}});return e}(a);t(f.prototype,{markerAttribs:void 0});b.registerSeriesType("dotplot",f);return f});b(a,"masters/modules/dotplot.src.js",[],function(){})});
+"Series/DotPlot/DotPlotSeries.js",[a["Series/Column/ColumnSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,f){var g=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])};return a(e,d)};return function(e,d){function b(){this.constructor=e}a(e,d);e.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)}}(),
+t=f.extend,n=f.merge,u=f.pick;f=function(b){function e(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}g(e,b);e.prototype.drawPoints=function(){var a=this,b=a.chart.renderer,e=this.options.marker,f=this.yAxis.transA*a.options.itemPadding,g=this.borderWidth%2?.5:1;this.points.forEach(function(c){var d;var k=c.marker||{};var v=k.symbol||e.symbol,n=u(k.radius,e.radius),w="rect"!==v;c.graphics=d=c.graphics||[];var m=c.pointAttr?c.pointAttr[c.selected?
+"selected":""]||a.pointAttr[""]:a.pointAttribs(c,c.selected&&"select");delete m.r;a.chart.styledMode&&(delete m.stroke,delete m["stroke-width"]);if(null!==c.y){c.graphic||(c.graphic=b.g("point").add(a.group));var p=u(c.stackY,c.y);var q=Math.min(c.pointWidth,a.yAxis.transA-f);var r=Math.floor(p);for(k=p;k>p-c.y;k--,r--){var l=c.barX+(w?c.pointWidth/2-q/2:0);var h=a.yAxis.toPixels(k,!0)+f/2;a.options.crisp&&(l=Math.round(l)-g,h=Math.round(h)+g);l={x:l,y:h,width:Math.round(w?q:c.pointWidth),height:Math.round(q),
+r:n};(h=d[r])?h.animate(l):h=b.symbol(v).attr(t(l,m)).add(c.graphic);h.isActive=!0;d[r]=h}}d.forEach(function(a,b){a&&(a.isActive?a.isActive=!1:(a.destroy(),d.splice(b,1)))})})};e.defaultOptions=n(a.defaultOptions,{itemPadding:.2,marker:{symbol:"circle",states:{hover:{},select:{}}}});return e}(a);t(f.prototype,{markerAttribs:void 0});b.registerSeriesType("dotplot",f);return f});b(a,"masters/modules/dotplot.src.js",[],function(){})});
 //# sourceMappingURL=dotplot.js.map

+ 1 - 1
nicegui/elements/lib/highcharts_modules/drag-panes.js

@@ -1,5 +1,5 @@
 /*
- Highstock JS v10.3.2 (2022-11-28)
+ Highstock JS v10.3.3 (2023-01-20)
 
  Drag-panes module
 

+ 35 - 35
nicegui/elements/lib/highcharts_modules/draggable-points.js

@@ -1,42 +1,42 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 
  License: www.highcharts.com/license
 */
-(function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts"],function(n){e(n);e.Highcharts=n;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function n(e,p,n,w){e.hasOwnProperty(p)||(e[p]=w.apply(null,n),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:p,module:e[p]}})))}e=e?e._modules:
-{};n(e,"Extensions/DraggablePoints.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,p,n,w,E,x,l){function F(a){return{left:"right",right:"left",top:"bottom",bottom:"top"}[a]}function M(a){var b=["draggableX","draggableY"],c;r(a.dragDropProps,function(a){a.optionName&&b.push(a.optionName)});for(c=b.length;c--;)if(a.options.dragDrop[b[c]])return!0}
-function N(a){var b=a.series?a.series.length:0;if(a.hasCartesianSeries&&!a.polar)for(;b--;)if(a.series[b].options.dragDrop&&M(a.series[b]))return!0}function O(a){var b=a.series,c=b.options.dragDrop||{};a=a.options&&a.options.dragDrop;var d,f;r(b.dragDropProps,function(a){"x"===a.axis&&a.move?d=!0:"y"===a.axis&&a.move&&(f=!0)});return(c.draggableX&&d||c.draggableY&&f)&&!(a&&!1===a.draggableX&&!1===a.draggableY)&&b.yAxis&&b.xAxis}function A(a,b){return"undefined"===typeof a.chartX||"undefined"===typeof a.chartY?
-b.pointer.normalize(a):a}function B(a,b,c,d){var f=b.map(function(b){return t(a,b,c,d)});return function(){f.forEach(function(a){a()})}}function P(a,b,c){var d=b.dragDropData.origin;b=d.chartX;d=d.chartY;var f=a.chartX;a=a.chartY;return Math.sqrt((f-b)*(f-b)+(a-d)*(a-d))>c}function Q(a,b,c){var d={chartX:a.chartX,chartY:a.chartY,guideBox:c&&{x:c.attr("x"),y:c.attr("y"),width:c.attr("width"),height:c.attr("height")},points:{}};b.forEach(function(b){var c={};r(b.series.dragDropProps,function(d,f){d=
-b.series[d.axis+"Axis"];c[f]=b[f];c[f+"Offset"]=d.toPixels(b[f])-(d.horiz?a.chartX:a.chartY)});c.point=b;d.points[b.id]=c});return d}function R(a){var b=a.series,c=[],d=b.options.dragDrop.groupBy;b.boosted?b.options.data.forEach(function(a,d){c.push((new b.pointClass).init(b,a));c[c.length-1].index=d}):c=b.points;return a.options[d]?c.filter(function(b){return b.options[d]===a.options[d]}):[a]}function G(a,b){var c=R(b),d=b.series,f=d.chart,k;z(d.options.dragDrop&&d.options.dragDrop.liveRedraw,!0)||
-(f.dragGuideBox=k=d.getGuideBox(c),f.setGuideBoxState("default",d.options.dragDrop.guideBox).add(d.group));f.dragDropData={origin:Q(a,c,k),point:b,groupedPoints:c,isDragging:!0}}function S(a,b){var c=a.point,d=q(c.series.options.dragDrop,c.options.dragDrop),f={},k=a.updateProp,e={};r(c.series.dragDropProps,function(a,b){if(!k||k===b&&a.resize&&(!a.optionName||!1!==d[a.optionName]))if(k||a.move&&("x"===a.axis&&d.draggableX||"y"===a.axis&&d.draggableY))f[b]=a});(k?[c]:a.groupedPoints).forEach(function(c){e[c.id]=
-{point:c,newValues:c.getDropValues(a.origin,b,f)}});return e}function H(a,b){var c=a.dragDropData.newPoints;b=T(b);a.isDragDropAnimating=!0;r(c,function(a){a.point.update(a.newValues,!1)});a.redraw(b);setTimeout(function(){delete a.isDragDropAnimating;a.hoverPoint&&!a.dragHandles&&a.hoverPoint.showDragHandles()},b.duration)}function I(a){var b=a.series&&a.series.chart,c=b&&b.dragDropData;!b||!b.dragHandles||c&&(c.isDragging&&c.draggedPastSensitivity||c.isHoveringHandle===a.id)||b.hideDragHandles()}
-function J(a){var b=0,c;for(c in a)Object.hasOwnProperty.call(a,c)&&b++;return b}function K(a){for(var b in a)if(Object.hasOwnProperty.call(a,b))return a[b]}function U(a,b){if(!b.zoomOrPanKeyPressed(a)){var c=b.dragDropData;var d=0;if(c&&c.isDragging&&c.point.series){var f=c.point;d=f.series.options.dragDrop;a.preventDefault();c.draggedPastSensitivity||(c.draggedPastSensitivity=P(a,b,z(f.options.dragDrop&&f.options.dragDrop.dragSensitivity,d&&d.dragSensitivity,2)));c.draggedPastSensitivity&&(c.newPoints=
-S(c,a),b=c.newPoints,d=J(b),b=1===d?K(b):null,f.firePointEvent("drag",{origin:c.origin,newPoints:c.newPoints,newPoint:b&&b.newValues,newPointId:b&&b.point.id,numNewPoints:d,chartX:a.chartX,chartY:a.chartY},function(){var b=f.series,c=b.chart,d=c.dragDropData,e=q(b.options.dragDrop,f.options.dragDrop),g=e.draggableX,m=e.draggableY;b=d.origin;var h=a.chartX-b.chartX,C=a.chartY-b.chartY,v=h;d=d.updateProp;c.inverted&&(h=-C,C=-v);if(z(e.liveRedraw,!0))H(c,!1),f.showDragHandles();else if(d){g=h;c=C;v=
-f.series;m=v.chart;d=m.dragDropData;e=v.dragDropProps[d.updateProp];var n=d.newPoints[f.id].newValues;var p="function"===typeof e.resizeSide?e.resizeSide(n,f):e.resizeSide;e.beforeResize&&e.beforeResize(m.dragGuideBox,n,f);m=m.dragGuideBox;v="x"===e.axis&&v.xAxis.reversed||"y"===e.axis&&v.yAxis.reversed?F(p):p;g="x"===e.axis?g-(d.origin.prevdX||0):0;c="y"===e.axis?c-(d.origin.prevdY||0):0;switch(v){case "left":var l={x:m.attr("x")+g,width:Math.max(1,m.attr("width")-g)};break;case "right":l={width:Math.max(1,
-m.attr("width")+g)};break;case "top":l={y:m.attr("y")+c,height:Math.max(1,m.attr("height")-c)};break;case "bottom":l={height:Math.max(1,m.attr("height")+c)}}m.attr(l)}else c.dragGuideBox.translate(g?h:0,m?C:0);b.prevdX=h;b.prevdY=C}))}}}function D(a,b){var c=b.dragDropData;if(c&&c.isDragging&&c.draggedPastSensitivity&&c.point.series){var d=c.point,f=c.newPoints,e=J(f),g=1===e?K(f):null;b.dragHandles&&b.hideDragHandles();a.preventDefault();b.cancelClick=!0;d.firePointEvent("drop",{origin:c.origin,
-chartX:a.chartX,chartY:a.chartY,newPoints:f,numNewPoints:e,newPoint:g&&g.newValues,newPointId:g&&g.point.id},function(){H(b)})}delete b.dragDropData;b.dragGuideBox&&(b.dragGuideBox.destroy(),delete b.dragGuideBox)}function V(a){var b=a.container,c=n.doc;N(a)&&(B(b,["mousedown","touchstart"],function(b){b=A(b,a);var c=a.hoverPoint,d=q(c&&c.series.options.dragDrop,c&&c.options.dragDrop),e=d.draggableX||!1;d=d.draggableY||!1;a.cancelClick=!1;!e&&!d||a.zoomOrPanKeyPressed(b)||a.hasDraggedAnnotation||
-(a.dragDropData&&a.dragDropData.isDragging?D(b,a):c&&O(c)&&(a.mouseIsDown=!1,G(b,c),c.firePointEvent("dragStart",b)))}),B(b,["mousemove","touchmove"],function(b){U(A(b,a),a)},{passive:!1}),t(b,"mouseleave",function(b){D(A(b,a),a)}),a.unbindDragDropMouseUp=B(c,["mouseup","touchend"],function(b){D(A(b,a),a)},{passive:!1}),a.hasAddedDragDropEvents=!0,t(a,"destroy",function(){a.unbindDragDropMouseUp&&a.unbindDragDropMouseUp()}))}var T=e.animObject,g=x.seriesTypes,t=l.addEvent,W=l.clamp,X=l.isNumber,q=
-l.merge,r=l.objectEach,z=l.pick;e=function(a){a=a.shapeArgs||a.graphic.getBBox();var b=a.r||0,c=a.height/2;return[["M",0,b],["L",0,c-5],["A",1,1,0,0,0,0,c+5],["A",1,1,0,0,0,0,c-5],["M",0,c+5],["L",0,a.height-b]]};x=E.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!0}};g.flags&&(g.flags.prototype.dragDropProps=x);var h=g.column.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:function(a,b,c){var d=c.series.translatedThreshold,f=a.attr("y");b.y>=
-c.series.options.threshold?(b=a.attr("height"),a.attr({height:Math.max(0,Math.round(b+(d?d-(f+b):0)))})):a.attr({y:Math.round(f+(d?d-f:0))})},resizeSide:function(a,b){var c=b.series.chart.dragHandles;a=a.y>=(b.series.options.threshold||0)?"top":"bottom";b=F(a);c[b]&&(c[b].destroy(),delete c[b]);return a},handlePositioner:function(a){var b=a.shapeArgs||a.graphic&&a.graphic.getBBox()||{},c=a.series.yAxis.reversed,d=a.series.options.threshold||0;a=a.y||0;return{x:b.x||0,y:!c&&a>=d||c&&a<d?b.y||0:(b.y||
-0)+(b.height||0)}},handleFormatter:function(a){var b=a.shapeArgs||{};a=b.r||0;b=b.width||0;var c=b/2;return[["M",a,0],["L",c-5,0],["A",1,1,0,0,0,c+5,0],["A",1,1,0,0,0,c-5,0],["M",c+5,0],["L",b-a,0]]}}};g.bullet&&(g.bullet.prototype.dragDropProps={x:h.x,y:h.y,target:{optionName:"draggableTarget",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){var b=a.targetGraphic.getBBox();return{x:a.barX,y:b.y+b.height/2}},handleFormatter:h.y.handleFormatter}});g.columnrange&&(g.columnrange.prototype.dragDropProps=
-{x:{axis:"x",move:!0},low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){a=a.shapeArgs||a.graphic.getBBox();return{x:a.x||0,y:(a.y||0)+(a.height||0)}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){a=a.shapeArgs||a.graphic.getBBox();return{x:a.x||0,y:a.y||0}},handleFormatter:h.y.handleFormatter,propValidate:function(a,
-b){return a>=b.low}}});g.boxplot&&(g.boxplot.prototype.dragDropProps={x:h.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.lowPlot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.q1}},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q1Plot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,
-b){return a<=b.median&&a>=b.low}},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q3Plot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.median}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.highPlot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,
-b){return a>=b.q3}}});g.ohlc&&(g.ohlc.prototype.dragDropProps={x:h.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotLow}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.open&&a<=b.close}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotHigh}},handleFormatter:h.y.handleFormatter,propValidate:function(a,
-b){return a>=b.open&&a>=b.close}},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"top":"bottom"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotOpen}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"bottom":"top"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotClose}},
-handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}}});g.arearange&&(x=g.columnrange.prototype.dragDropProps,l=function(a){a=a.graphic?a.graphic.getBBox().width/2+1:4;return[["M",0-a,0],["a",a,a,0,1,0,2*a,0],["a",a,a,0,1,0,-2*a,0]]},g.arearange.prototype.dragDropProps={x:x.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return(a=a.graphics&&a.graphics[0]&&a.graphics[0].getBBox())?{x:a.x+a.width/2,y:a.y+
-a.height/2}:{x:-999,y:-999}},handleFormatter:l,propValidate:x.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return(a=a.graphics&&a.graphics[1]&&a.graphics[1].getBBox())?{x:a.x+a.width/2,y:a.y+a.height/2}:{x:-999,y:-999}},handleFormatter:l,propValidate:x.high.propValidate}});g.waterfall&&(g.waterfall.prototype.dragDropProps={x:h.x,y:q(h.y,{handleFormatter:function(a){return a.isSum||a.isIntermediateSum?null:h.y.handleFormatter(a)}})});
-if(g.xrange){var L=function(a,b){var c=a.series,d=c.xAxis,f=c.yAxis,e=c.chart.inverted;b=d.toPixels(a[b],!0);var g=f.toPixels(a.y,!0);a=c.columnMetrics?c.columnMetrics.offset:-a.shapeArgs.height/2;e&&(b=d.len-b,g=f.len-g);return{x:Math.round(b),y:Math.round(g+a)}};e=g.xrange.prototype.dragDropProps={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:function(a){return L(a,"x")},handleFormatter:e,propValidate:function(a,b){return a<=b.x2}},
-x2:{optionName:"draggableX2",axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:function(a){return L(a,"x2")},handleFormatter:e,propValidate:function(a,b){return a>=b.x}}};g.gantt&&(g.gantt.prototype.dragDropProps={y:e.y,start:q(e.x,{optionName:"draggableStart",validateIndividualDrag:function(a){return!a.milestone}}),end:q(e.x2,{optionName:"draggableEnd",validateIndividualDrag:function(a){return!a.milestone}})})}"gauge pie sunburst wordcloud sankey histogram pareto vector windbarb treemap bellcurve sma map mapline".split(" ").forEach(function(a){g[a]&&
-(g[a].prototype.dragDropProps=null)});var Y={"default":{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}},Z={className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901};p.prototype.setGuideBoxState=function(a,b){var c=this.dragGuideBox;b=q(Y,b);a=q(b["default"],b[a]);return c.attr({className:a.className,stroke:a.lineColor,strokeWidth:a.lineWidth,fill:a.color,cursor:a.cursor,zIndex:a.zIndex}).css({pointerEvents:"none"})};
-w.prototype.getDropValues=function(a,b,c){var d=this,f=d.series,e=q(f.options.dragDrop,d.options.dragDrop),g={},h=a.points[d.id],u;for(u in c)if(Object.hasOwnProperty.call(c,u)){if("undefined"!==typeof l){var l=!1;break}l=!0}r(c,function(a,c){var m=h[c],k=f[a.axis+"Axis"];k=k.toValue((k.horiz?b.chartX:b.chartY)+h[c+"Offset"]);var y=a.axis.toUpperCase(),u=f[y.toLowerCase()+"Axis"].categories?1:0;u=z(e["dragPrecision"+y],u);var n=z(e["dragMin"+y],-Infinity);y=z(e["dragMax"+y],Infinity);u&&(k=Math.round(k/
-u)*u);k=W(k,n,y);l&&a.propValidate&&!a.propValidate(k,d)||"undefined"===typeof m||(g[c]=k)});return g};E.prototype.getGuideBox=function(a){var b=this.chart,c=Infinity,d=-Infinity,e=Infinity,g=-Infinity,h;a.forEach(function(a){var b=a.graphic&&a.graphic.getBBox()||a.shapeArgs;if(b){var f=void 0,k=a.x2;X(k)&&(f=a.series.xAxis.translate(k,!1,!1,!1,!0));k=!(b.width||b.height||b.x||b.y);h=!0;c=Math.min(a.plotX||0,f||0,k?Infinity:b.x||0,c);d=Math.max(a.plotX||0,f||0,(b.x||0)+(b.width||0),d);e=Math.min(a.plotY||
-0,k?Infinity:b.y||0,e);g=Math.max((b.y||0)+(b.height||0),g)}});return h?b.renderer.rect(c,e,d-c,g-e):b.renderer.g()};w.prototype.showDragHandles=function(){var a=this,b=a.series,c=b.chart,d=c.renderer,e=q(b.options.dragDrop,a.options.dragDrop);r(b.dragDropProps,function(f,g){var h=q(Z,f.handleOptions,e.dragHandle),k={"class":h.className,"stroke-width":h.lineWidth,fill:h.color,stroke:h.lineColor},l=h.pathFormatter||f.handleFormatter,m=f.handlePositioner,n=f.validateIndividualDrag?f.validateIndividualDrag(a):
-!0;f.resize&&n&&f.resizeSide&&l&&(e["draggable"+f.axis.toUpperCase()]||e[f.optionName])&&!1!==e[f.optionName]&&(c.dragHandles||(c.dragHandles={group:d.g("drag-drop-handles").add(b.markerGroup||b.group)}),c.dragHandles.point=a.id,m=m(a),k.d=l=l(a),n=a.series.xAxis.categories?-.5:0,!l||m.x<n||0>m.y||(k.cursor=h.cursor||("x"===f.axis!==!!c.inverted?"ew-resize":"ns-resize"),(h=c.dragHandles[f.optionName])||(h=c.dragHandles[f.optionName]=d.path().add(c.dragHandles.group)),h.translate(m.x,m.y).attr(k),
-B(h.element,["touchstart","mousedown"],function(b){b=A(b,c);var d=a.series.chart;d.zoomOrPanKeyPressed(b)||(d.mouseIsDown=!1,G(b,a),d.dragDropData.updateProp=b.updateProp=g,a.firePointEvent("dragStart",b),b.stopPropagation(),b.preventDefault())},{passive:!1}),t(c.dragHandles.group.element,"mouseover",function(){c.dragDropData=c.dragDropData||{};c.dragDropData.isHoveringHandle=a.id}),B(c.dragHandles.group.element,["touchend","mouseout"],function(){var b=a.series.chart;b.dragDropData&&a.id===b.dragDropData.isHoveringHandle&&
-delete b.dragDropData.isHoveringHandle;b.hoverPoint||I(a)})))})};p.prototype.hideDragHandles=function(){this.dragHandles&&(r(this.dragHandles,function(a,b){"group"!==b&&a.destroy&&a.destroy()}),this.dragHandles.group&&this.dragHandles.group.destroy&&this.dragHandles.group.destroy(),delete this.dragHandles)};t(w,"mouseOver",function(){var a=this;setTimeout(function(){var b=a.series,c=b&&b.chart,d=c&&c.dragDropData,e=c&&c.is3d&&c.is3d();!c||d&&d.isDragging&&d.draggedPastSensitivity||c.isDragDropAnimating||
-!b.options.dragDrop||e||(c.dragHandles&&c.hideDragHandles(),a.showDragHandles())},12)});t(w,"mouseOut",function(){var a=this;setTimeout(function(){a.series&&I(a)},10)});t(w,"remove",function(){var a=this.series.chart,b=a.dragHandles;b&&b.point===this.id&&a.hideDragHandles()});p.prototype.zoomOrPanKeyPressed=function(a){var b=this.options.chart||{},c=b.panKey&&b.panKey+"Key";return a[b.zooming.key&&b.zooming.key+"Key"]||a[c]};t(p,"render",function(){this.hasAddedDragDropEvents||V(this)});""});n(e,
-"masters/modules/draggable-points.src.js",[],function(){})});
+(function(f){"object"===typeof module&&module.exports?(f["default"]=f,module.exports=f):"function"===typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts"],function(r){f(r);f.Highcharts=r;return f}):f("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(f){function r(f,m,r,x){f.hasOwnProperty(m)||(f[m]=x.apply(null,r),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:m,module:f[m]}})))}f=f?f._modules:
+{};r(f,"Extensions/DraggablePoints.js",[f["Core/Animation/AnimationUtilities.js"],f["Core/Chart/Chart.js"],f["Core/Globals.js"],f["Core/Series/Point.js"],f["Core/Series/Series.js"],f["Core/Series/SeriesRegistry.js"],f["Core/Utilities.js"]],function(f,m,r,x,D,y,u){function E(a){return{left:"right",right:"left",top:"bottom",bottom:"top"}[a]}function M(a){var b=["draggableX","draggableY"],c;v(a.dragDropProps,function(a){a.optionName&&b.push(a.optionName)});for(c=b.length;c--;)if(a.options.dragDrop[b[c]])return!0}
+function N(a){var b=a.series?a.series.length:0;if(a.hasCartesianSeries&&!a.polar)for(;b--;)if(a.series[b].options.dragDrop&&M(a.series[b]))return!0}function O(a){var b=a.series,c=b.options.dragDrop||{};a=a.options&&a.options.dragDrop;var d,e;v(b.dragDropProps,function(a){"x"===a.axis&&a.move?d=!0:"y"===a.axis&&a.move&&(e=!0)});return(c.draggableX&&d||c.draggableY&&e)&&!(a&&!1===a.draggableX&&!1===a.draggableY)&&b.yAxis&&b.xAxis}function A(a,b){return"undefined"===typeof a.chartX||"undefined"===typeof a.chartY?
+b.pointer.normalize(a):a}function B(a,b,c,d){var e=b.map(function(b){return w(a,b,c,d)});return function(){e.forEach(function(a){a()})}}function P(a,b,c){var d=b.dragDropData.origin;b=d.chartX;d=d.chartY;var e=a.chartX;a=a.chartY;return Math.sqrt((e-b)*(e-b)+(a-d)*(a-d))>c}function Q(a,b,c){var d={chartX:a.chartX,chartY:a.chartY,guideBox:c&&{x:c.attr("x"),y:c.attr("y"),width:c.attr("width"),height:c.attr("height")},points:{}};b.forEach(function(b){var c={};v(b.series.dragDropProps,function(d,e){d=
+b.series[d.axis+"Axis"];c[e]=b[e];c[e+"Offset"]=d.toPixels(b[e])-(d.horiz?a.chartX:a.chartY)});c.point=b;d.points[b.id]=c});return d}function R(a){var b=a.series,c=[],d=b.options.dragDrop.groupBy;b.boosted?b.options.data.forEach(function(a,d){c.push((new b.pointClass).init(b,a));c[c.length-1].index=d}):c=b.points;return a.options[d]?c.filter(function(b){return b.options[d]===a.options[d]}):[a]}function F(a,b){var c=R(b),d=b.series,e=d.chart,q;z(d.options.dragDrop&&d.options.dragDrop.liveRedraw,!0)||
+(e.dragGuideBox=q=d.getGuideBox(c),e.setGuideBoxState("default",d.options.dragDrop.guideBox).add(d.group));e.dragDropData={origin:Q(a,c,q),point:b,groupedPoints:c,isDragging:!0}}function S(a,b){var c=a.point,d=t(c.series.options.dragDrop,c.options.dragDrop),e={},q=a.updateProp,n={};v(c.series.dragDropProps,function(a,b){if(!q||q===b&&a.resize&&(!a.optionName||!1!==d[a.optionName]))if(q||a.move&&("x"===a.axis&&d.draggableX||"y"===a.axis&&d.draggableY))e[b]=a});(q?[c]:a.groupedPoints).forEach(function(c){n[c.id]=
+{point:c,newValues:c.getDropValues(a.origin,b,e)}});return n}function G(a,b){var c=a.dragDropData.newPoints;b=T(b);a.isDragDropAnimating=!0;v(c,function(a){a.point.update(a.newValues,!1)});a.redraw(b);setTimeout(function(){delete a.isDragDropAnimating;a.hoverPoint&&!a.dragHandles&&a.hoverPoint.showDragHandles()},b.duration)}function H(a){var b=a.series&&a.series.chart,c=b&&b.dragDropData;!b||!b.dragHandles||c&&(c.isDragging&&c.draggedPastSensitivity||c.isHoveringHandle===a.id)||b.hideDragHandles()}
+function I(a){var b=0,c;for(c in a)Object.hasOwnProperty.call(a,c)&&b++;return b}function J(a){for(var b in a)if(Object.hasOwnProperty.call(a,b))return a[b]}function U(a,b){if(!b.zoomOrPanKeyPressed(a)){var c=b.dragDropData;var d=0;if(c&&c.isDragging&&c.point.series){var e=c.point;d=e.series.options.dragDrop;a.preventDefault();c.draggedPastSensitivity||(c.draggedPastSensitivity=P(a,b,z(e.options.dragDrop&&e.options.dragDrop.dragSensitivity,d&&d.dragSensitivity,2)));c.draggedPastSensitivity&&(c.newPoints=
+S(c,a),b=c.newPoints,d=I(b),b=1===d?J(b):null,e.firePointEvent("drag",{origin:c.origin,newPoints:c.newPoints,newPoint:b&&b.newValues,newPointId:b&&b.point.id,numNewPoints:d,chartX:a.chartX,chartY:a.chartY},function(){var b=e.series,c=b.chart,d=c.dragDropData,l=t(b.options.dragDrop,e.options.dragDrop),f=l.draggableX,h=l.draggableY;b=d.origin;var g=a.chartX-b.chartX,k=a.chartY-b.chartY,p=g;d=d.updateProp;c.inverted&&(g=-k,k=-p);if(z(l.liveRedraw,!0))G(c,!1),e.showDragHandles();else if(d){f=g;c=k;p=
+e.series;h=p.chart;d=h.dragDropData;l=p.dragDropProps[d.updateProp];var K=d.newPoints[e.id].newValues;var r="function"===typeof l.resizeSide?l.resizeSide(K,e):l.resizeSide;l.beforeResize&&l.beforeResize(h.dragGuideBox,K,e);h=h.dragGuideBox;p="x"===l.axis&&p.xAxis.reversed||"y"===l.axis&&p.yAxis.reversed?E(r):r;f="x"===l.axis?f-(d.origin.prevdX||0):0;c="y"===l.axis?c-(d.origin.prevdY||0):0;switch(p){case "left":var m={x:h.attr("x")+f,width:Math.max(1,h.attr("width")-f)};break;case "right":m={width:Math.max(1,
+h.attr("width")+f)};break;case "top":m={y:h.attr("y")+c,height:Math.max(1,h.attr("height")-c)};break;case "bottom":m={height:Math.max(1,h.attr("height")+c)}}h.attr(m)}else c.dragGuideBox.translate(f?g:0,h?k:0);b.prevdX=g;b.prevdY=k}))}}}function C(a,b){var c=b.dragDropData;if(c&&c.isDragging&&c.draggedPastSensitivity&&c.point.series){var d=c.point,e=c.newPoints,f=I(e),n=1===f?J(e):null;b.dragHandles&&b.hideDragHandles();a.preventDefault();b.cancelClick=!0;d.firePointEvent("drop",{origin:c.origin,
+chartX:a.chartX,chartY:a.chartY,newPoints:e,numNewPoints:f,newPoint:n&&n.newValues,newPointId:n&&n.point.id},function(){G(b)})}delete b.dragDropData;b.dragGuideBox&&(b.dragGuideBox.destroy(),delete b.dragGuideBox)}function V(a){var b=a.container,c=r.doc;N(a)&&(B(b,["mousedown","touchstart"],function(b){b=A(b,a);var c=a.hoverPoint,d=t(c&&c.series.options.dragDrop,c&&c.options.dragDrop),f=d.draggableX||!1;d=d.draggableY||!1;a.cancelClick=!1;!f&&!d||a.zoomOrPanKeyPressed(b)||a.hasDraggedAnnotation||
+(a.dragDropData&&a.dragDropData.isDragging?C(b,a):c&&O(c)&&(a.mouseIsDown=!1,F(b,c),c.firePointEvent("dragStart",b)))}),B(b,["mousemove","touchmove"],function(b){U(A(b,a),a)},{passive:!1}),w(b,"mouseleave",function(b){C(A(b,a),a)}),a.unbindDragDropMouseUp=B(c,["mouseup","touchend"],function(b){C(A(b,a),a)},{passive:!1}),a.hasAddedDragDropEvents=!0,w(a,"destroy",function(){a.unbindDragDropMouseUp&&a.unbindDragDropMouseUp()}))}var T=f.animObject,g=y.seriesTypes,w=u.addEvent,W=u.clamp,X=u.isNumber,t=
+u.merge,v=u.objectEach,z=u.pick;f=function(a){a=a.shapeArgs||a.graphic.getBBox();var b=a.r||0,c=a.height/2;return[["M",0,b],["L",0,c-5],["A",1,1,0,0,0,0,c+5],["A",1,1,0,0,0,0,c-5],["M",0,c+5],["L",0,a.height-b]]};y=D.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!0}};g.flags&&(g.flags.prototype.dragDropProps=y);var k=g.column.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:function(a,b,c){var d=c.series.translatedThreshold,e=a.attr("y");b.y>=
+c.series.options.threshold?(b=a.attr("height"),a.attr({height:Math.max(0,Math.round(b+(d?d-(e+b):0)))})):a.attr({y:Math.round(e+(d?d-e:0))})},resizeSide:function(a,b){var c=b.series.chart.dragHandles;a=a.y>=(b.series.options.threshold||0)?"top":"bottom";b=E(a);c[b]&&(c[b].destroy(),delete c[b]);return a},handlePositioner:function(a){var b=a.shapeArgs||a.graphic&&a.graphic.getBBox()||{},c=a.series.yAxis.reversed,d=a.series.options.threshold||0;a=a.y||0;return{x:b.x||0,y:!c&&a>=d||c&&a<d?b.y||0:(b.y||
+0)+(b.height||0)}},handleFormatter:function(a){var b=a.shapeArgs||{};a=b.r||0;b=b.width||0;var c=b/2;return[["M",a,0],["L",c-5,0],["A",1,1,0,0,0,c+5,0],["A",1,1,0,0,0,c-5,0],["M",c+5,0],["L",b-a,0]]}}};g.bullet&&(g.bullet.prototype.dragDropProps={x:k.x,y:k.y,target:{optionName:"draggableTarget",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){var b=a.targetGraphic.getBBox();return{x:a.barX,y:b.y+b.height/2}},handleFormatter:k.y.handleFormatter}});g.columnrange&&(g.columnrange.prototype.dragDropProps=
+{x:{axis:"x",move:!0},low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){a=a.shapeArgs||a.graphic.getBBox();return{x:a.x||0,y:(a.y||0)+(a.height||0)}},handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.high}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){a=a.shapeArgs||a.graphic.getBBox();return{x:a.x||0,y:a.y||0}},handleFormatter:k.y.handleFormatter,propValidate:function(a,
+b){return a>=b.low}}});g.boxplot&&(g.boxplot.prototype.dragDropProps={x:k.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.lowPlot}},handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.q1}},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q1Plot}},handleFormatter:k.y.handleFormatter,propValidate:function(a,
+b){return a<=b.median&&a>=b.low}},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q3Plot}},handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.median}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.highPlot}},handleFormatter:k.y.handleFormatter,propValidate:function(a,
+b){return a>=b.q3}}});g.ohlc&&(g.ohlc.prototype.dragDropProps={x:k.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotLow}},handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.open&&a<=b.close}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotHigh}},handleFormatter:k.y.handleFormatter,propValidate:function(a,
+b){return a>=b.open&&a>=b.close}},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"top":"bottom"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotOpen}},handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"bottom":"top"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotClose}},
+handleFormatter:k.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}}});g.arearange&&(y=g.columnrange.prototype.dragDropProps,u=function(a){a=a.graphic?a.graphic.getBBox().width/2+1:4;return[["M",0-a,0],["a",a,a,0,1,0,2*a,0],["a",a,a,0,1,0,-2*a,0]]},g.arearange.prototype.dragDropProps={x:y.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return(a=a.graphics&&a.graphics[0]&&a.graphics[0].getBBox())?{x:a.x+a.width/2,y:a.y+
+a.height/2}:{x:-999,y:-999}},handleFormatter:u,propValidate:y.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return(a=a.graphics&&a.graphics[1]&&a.graphics[1].getBBox())?{x:a.x+a.width/2,y:a.y+a.height/2}:{x:-999,y:-999}},handleFormatter:u,propValidate:y.high.propValidate}});g.waterfall&&(g.waterfall.prototype.dragDropProps={x:k.x,y:t(k.y,{handleFormatter:function(a){return a.isSum||a.isIntermediateSum?null:k.y.handleFormatter(a)}})});
+if(g.xrange){var L=function(a,b){var c=a.series,d=c.xAxis,e=c.yAxis,f=c.chart.inverted;b=d.toPixels(a[b],!0);var n=e.toPixels(a.y,!0);a=c.columnMetrics?c.columnMetrics.offset:-a.shapeArgs.height/2;f&&(b=d.len-b,n=e.len-n);return{x:Math.round(b),y:Math.round(n+a)}};f=g.xrange.prototype.dragDropProps={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:function(a){return L(a,"x")},handleFormatter:f,propValidate:function(a,b){return a<=b.x2}},
+x2:{optionName:"draggableX2",axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:function(a){return L(a,"x2")},handleFormatter:f,propValidate:function(a,b){return a>=b.x}}};g.gantt&&(g.gantt.prototype.dragDropProps={y:f.y,start:t(f.x,{optionName:"draggableStart",validateIndividualDrag:function(a){return!a.milestone}}),end:t(f.x2,{optionName:"draggableEnd",validateIndividualDrag:function(a){return!a.milestone}})})}"gauge pie sunburst wordcloud sankey histogram pareto vector windbarb treemap bellcurve sma map mapline".split(" ").forEach(function(a){g[a]&&
+(g[a].prototype.dragDropProps=null)});var Y={"default":{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}},Z={className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901};m.prototype.setGuideBoxState=function(a,b){var c=this.dragGuideBox;b=t(Y,b);a=t(b["default"],b[a]);return c.attr({className:a.className,stroke:a.lineColor,strokeWidth:a.lineWidth,fill:a.color,cursor:a.cursor,zIndex:a.zIndex}).css({pointerEvents:"none"})};
+x.prototype.getDropValues=function(a,b,c){var d=this,e=d.series,f=t(e.options.dragDrop,d.options.dragDrop),n={},g=a.points[d.id],l;for(l in c)if(Object.hasOwnProperty.call(c,l)){if("undefined"!==typeof k){var k=!1;break}k=!0}v(c,function(a,c){var l=g[c],p=e[a.axis+"Axis"];p=p.toValue((p.horiz?b.chartX:b.chartY)+g[c+"Offset"]);var h=a.axis.toUpperCase(),q=e[h.toLowerCase()+"Axis"].categories?1:0;q=z(f["dragPrecision"+h],q);var m=z(f["dragMin"+h],-Infinity);h=z(f["dragMax"+h],Infinity);q&&(p=Math.round(p/
+q)*q);p=W(p,m,h);k&&a.propValidate&&!a.propValidate(p,d)||"undefined"===typeof l||(n[c]=p)});return n};D.prototype.getGuideBox=function(a){var b=this.chart,c=Infinity,d=-Infinity,e=Infinity,f=-Infinity,g;a.forEach(function(a){var b=a.graphic&&a.graphic.getBBox()||a.shapeArgs;if(b){var n=void 0,h=a.x2;X(h)&&(n=a.series.xAxis.translate(h,!1,!1,!1,!0));h=!(b.width||b.height||b.x||b.y);g=!0;c=Math.min(a.plotX||0,n||0,h?Infinity:b.x||0,c);d=Math.max(a.plotX||0,n||0,(b.x||0)+(b.width||0),d);e=Math.min(a.plotY||
+0,h?Infinity:b.y||0,e);f=Math.max((b.y||0)+(b.height||0),f)}});return g?b.renderer.rect(c,e,d-c,f-e):b.renderer.g()};x.prototype.showDragHandles=function(){var a=this,b=a.series,c=b.chart,d=c.inverted,f=c.renderer,g=t(b.options.dragDrop,a.options.dragDrop);v(b.dragDropProps,function(e,k){var l=t(Z,e.handleOptions,g.dragHandle),n={"class":l.className,"stroke-width":l.lineWidth,fill:l.color,stroke:l.lineColor},h=l.pathFormatter||e.handleFormatter,m=e.handlePositioner,q=e.validateIndividualDrag?e.validateIndividualDrag(a):
+!0;e.resize&&q&&e.resizeSide&&h&&(g["draggable"+e.axis.toUpperCase()]||g[e.optionName])&&!1!==g[e.optionName]&&(c.dragHandles||(c.dragHandles={group:f.g("drag-drop-handles").add(b.markerGroup||b.group)}),c.dragHandles.point=a.id,m=m(a),n.d=h=h(a),q=a.series.xAxis.categories?-.5:0,!h||m.x<q||0>m.y||(n.cursor=l.cursor||("x"===e.axis!==!!d?"ew-resize":"ns-resize"),(l=c.dragHandles[e.optionName])||(l=c.dragHandles[e.optionName]=f.path().add(c.dragHandles.group)),n.translateX=d?b.yAxis.len-m.y:m.x,n.translateY=
+d?b.xAxis.len-m.x:m.y,d&&(n.rotation=-90),l.attr(n),B(l.element,["touchstart","mousedown"],function(b){b=A(b,c);var d=a.series.chart;d.zoomOrPanKeyPressed(b)||(d.mouseIsDown=!1,F(b,a),d.dragDropData.updateProp=b.updateProp=k,a.firePointEvent("dragStart",b),b.stopPropagation(),b.preventDefault())},{passive:!1}),w(c.dragHandles.group.element,"mouseover",function(){c.dragDropData=c.dragDropData||{};c.dragDropData.isHoveringHandle=a.id}),B(c.dragHandles.group.element,["touchend","mouseout"],function(){var b=
+a.series.chart;b.dragDropData&&a.id===b.dragDropData.isHoveringHandle&&delete b.dragDropData.isHoveringHandle;b.hoverPoint||H(a)})))})};m.prototype.hideDragHandles=function(){this.dragHandles&&(v(this.dragHandles,function(a,b){"group"!==b&&a.destroy&&a.destroy()}),this.dragHandles.group&&this.dragHandles.group.destroy&&this.dragHandles.group.destroy(),delete this.dragHandles)};w(x,"mouseOver",function(){var a=this;setTimeout(function(){var b=a.series,c=b&&b.chart,d=c&&c.dragDropData,e=c&&c.is3d&&
+c.is3d();!c||d&&d.isDragging&&d.draggedPastSensitivity||c.isDragDropAnimating||!b.options.dragDrop||e||(c.dragHandles&&c.hideDragHandles(),a.showDragHandles())},12)});w(x,"mouseOut",function(){var a=this;setTimeout(function(){a.series&&H(a)},10)});w(x,"remove",function(){var a=this.series.chart,b=a.dragHandles;b&&b.point===this.id&&a.hideDragHandles()});m.prototype.zoomOrPanKeyPressed=function(a){var b=this.options.chart||{},c=b.panKey&&b.panKey+"Key";return a[b.zooming.key&&b.zooming.key+"Key"]||
+a[c]};w(m,"render",function(){this.hasAddedDragDropEvents||V(this)});""});r(f,"masters/modules/draggable-points.src.js",[],function(){})});
 //# sourceMappingURL=draggable-points.js.map

+ 5 - 5
nicegui/elements/lib/highcharts_modules/drilldown.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Highcharts Drilldown module
 
@@ -38,9 +38,9 @@ e&&delete this.group;this.points.forEach(function(d){var f=d.graphic,m=a.shapeAr
 this.is("item")&&(b.duration=0);if(this.center){var d=c.shapeArgs,e=d.start,g=(d.end-e)/this.points.length,f=this.chart.styledMode;a||(this.points.forEach(function(a,m){var h=a.shapeArgs;f||(d.fill=c.color,h.fill=a.color);if(a.graphic)a.graphic.attr(t(d,{start:e+m*g,end:e+(m+1)*g}))[b?"animate":"attr"](h,b)}),this.chart.drilldown&&this.chart.drilldown.fadeInGroup(this.dataLabelsGroup),delete this.animate)}}});y.prototype.doDrilldown=function(){this.runDrilldown()};y.prototype.runDrilldown=function(a,
 c,b){var d=this.series.chart,e=d.options.drilldown,g=(e.series||[]).length;d.ddDupes||(d.ddDupes=[]);for(;g--&&!f;)if(e.series[g].id===this.drilldown&&-1===d.ddDupes.indexOf(this.drilldown)){var f=e.series[g];d.ddDupes.push(this.drilldown)}z(d,"drilldown",{point:this,seriesOptions:f,category:c,originalEvent:b,points:"undefined"!==typeof c&&this.series.xAxis.getDDPoints(c).slice(0)},function(c){var b=c.point.series&&c.point.series.chart,d=c.seriesOptions;b&&d&&(a?b.addSingleSeriesAsDrilldown(c.point,
 d):b.addSeriesAsDrilldown(c.point,d))})};q.prototype.drilldownCategory=function(a,c){this.getDDPoints(a).forEach(function(b){b&&b.series&&b.series.visible&&b.runDrilldown&&b.runDrilldown(!0,a,c)});this.chart.applyDrilldown()};q.prototype.getDDPoints=function(a){return this.ddPoints&&this.ddPoints[a]||[]};E.prototype.drillable=function(){var a=this.pos,c=this.label,b=this.axis,d="xAxis"===b.coll&&b.getDDPoints,f=d&&b.getDDPoints(a),h=b.chart.styledMode;d&&(c&&f&&f.length?(c.drillable=!0,c.basicStyles||
-h||(c.basicStyles=t(c.styles)),c.addClass("highcharts-drilldown-axis-label"),c.removeOnDrillableClick&&C(c.element,"click"),c.removeOnDrillableClick=e(c.element,"click",function(c){c.preventDefault();b.drilldownCategory(a,c)}),h||c.css(b.chart.options.drilldown.activeAxisLabelStyle)):c&&c.drillable&&c.removeOnDrillableClick&&(h||(c.styles={},c.css(c.basicStyles)),c.removeOnDrillableClick(),c.removeClass("highcharts-drilldown-axis-label")))};e(y,"afterInit",function(){this.drilldown&&!this.unbindDrilldownClick&&
-(this.unbindDrilldownClick=e(this,"click",J));return this});e(y,"update",function(a){a=a.options||{};a.drilldown&&!this.unbindDrilldownClick?this.unbindDrilldownClick=e(this,"click",J):!a.drilldown&&void 0!==a.drilldown&&this.unbindDrilldownClick&&(this.unbindDrilldownClick=this.unbindDrilldownClick())});var J=function(a){var c=this.series;c.xAxis&&!1===c.chart.options.drilldown.allowPointDrilldown?c.xAxis.drilldownCategory(this.x,a):this.runDrilldown(void 0,void 0,a)};e(D,"afterDrawDataLabels",function(){var a=
-this.chart.options.drilldown.activeDataLabelStyle,c=this.chart.renderer,b=this.chart.styledMode;this.points.forEach(function(d){var e=d.options.dataLabels,g=B(d.dlOptions,e&&e.style,{});d.drilldown&&d.dataLabel&&("contrast"!==a.color||b||(g.color=c.getContrast(d.color||this.color)),e&&e.color&&(g.color=e.color),d.dataLabel.addClass("highcharts-drilldown-data-label"),b||d.dataLabel.css(a).css(g))},this)});var F=function(a,b,d,e){a[d?"addClass":"removeClass"]("highcharts-drilldown-point");e||a.css({cursor:b})};
-e(D,"afterDrawTracker",function(){var a=this.chart.styledMode;this.points.forEach(function(b){b.drilldown&&b.graphic&&F(b.graphic,"pointer",!0,a)})});e(y,"afterSetState",function(){var a=this.series.chart.styledMode;this.drilldown&&this.series.halo&&"hover"===this.state?F(this.series.halo,"pointer",!0,a):this.series.halo&&F(this.series.halo,"auto",!1,a)});e(f,"drillup",function(){this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy())});e(f,"drillupall",function(){this.resetZoomButton&&
+h||(c.basicStyles=t(c.styles)),c.addClass("highcharts-drilldown-axis-label"),c.removeOnDrillableClick&&C(c.element,"click"),c.removeOnDrillableClick=e(c.element,"click",function(c){c.preventDefault();b.drilldownCategory(a,c)}),h||c.css(b.chart.options.drilldown.activeAxisLabelStyle)):c&&c.drillable&&c.removeOnDrillableClick&&(h||(c.styles={},c.element.removeAttribute("style"),c.css(c.basicStyles)),c.removeOnDrillableClick(),c.removeClass("highcharts-drilldown-axis-label")))};e(y,"afterInit",function(){this.drilldown&&
+!this.unbindDrilldownClick&&(this.unbindDrilldownClick=e(this,"click",J));return this});e(y,"update",function(a){a=a.options||{};a.drilldown&&!this.unbindDrilldownClick?this.unbindDrilldownClick=e(this,"click",J):!a.drilldown&&void 0!==a.drilldown&&this.unbindDrilldownClick&&(this.unbindDrilldownClick=this.unbindDrilldownClick())});var J=function(a){var c=this.series;c.xAxis&&!1===c.chart.options.drilldown.allowPointDrilldown?c.xAxis.drilldownCategory(this.x,a):this.runDrilldown(void 0,void 0,a)};
+e(D,"afterDrawDataLabels",function(){var a=this.chart.options.drilldown.activeDataLabelStyle,c=this.chart.renderer,b=this.chart.styledMode;this.points.forEach(function(d){var e=d.options.dataLabels,g=B(d.dlOptions,e&&e.style,{});d.drilldown&&d.dataLabel&&("contrast"!==a.color||b||(g.color=c.getContrast(d.color||this.color)),e&&e.color&&(g.color=e.color),d.dataLabel.addClass("highcharts-drilldown-data-label"),b||d.dataLabel.css(a).css(g))},this)});var F=function(a,b,d,e){a[d?"addClass":"removeClass"]("highcharts-drilldown-point");
+e||a.css({cursor:b})};e(D,"afterDrawTracker",function(){var a=this.chart.styledMode;this.points.forEach(function(b){b.drilldown&&b.graphic&&F(b.graphic,"pointer",!0,a)})});e(y,"afterSetState",function(){var a=this.series.chart.styledMode;this.drilldown&&this.series.halo&&"hover"===this.state?F(this.series.halo,"pointer",!0,a):this.series.halo&&F(this.series.halo,"auto",!1,a)});e(f,"drillup",function(){this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy())});e(f,"drillupall",function(){this.resetZoomButton&&
 this.showResetZoom()})});v(a,"masters/modules/drilldown.src.js",[],function(){})});
 //# sourceMappingURL=drilldown.js.map

+ 17 - 17
nicegui/elements/lib/highcharts_modules/dumbbell.js

@@ -1,24 +1,24 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Sebastian Bochan, Rafal Sebestjanski
 
  License: www.highcharts.com/license
 */
-(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/dumbbell",["highcharts"],function(f){a(f);a.Highcharts=f;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function f(a,d,h,e){a.hasOwnProperty(d)||(a[d]=e.apply(null,h),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:a[d]}})))}a=a?a._modules:{};f(a,
-"Series/AreaRange/AreaRangePoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,d){var h=this&&this.__extends||function(){var a=function(b,n){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var k in b)b.hasOwnProperty(k)&&(a[k]=b[k])};return a(b,n)};return function(b,n){function k(){this.constructor=b}a(b,n);b.prototype=null===n?Object.create(n):(k.prototype=n.prototype,new k)}}();a=a.seriesTypes.area.prototype;var e=
-a.pointClass.prototype,l=d.defined,p=d.isNumber;return function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.high=void 0;b.low=void 0;b.options=void 0;b.plotX=void 0;b.series=void 0;return b}h(b,a);b.prototype.setState=function(){var a=this.state,b=this.series,c=b.chart.polar;l(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,!0));l(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,
-b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.graphics&&this.graphics[1];this.plotY=this.plotHigh;c&&p(this.plotHighX)&&(this.plotX=this.plotHighX);e.setState.apply(this,arguments);this.state=a;this.plotY=this.plotLow;this.graphic=this.graphics&&this.graphics[0];c&&p(this.plotLowX)&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);e.setState.apply(this,
-arguments)};b.prototype.haloPath=function(){var b=this.series.chart.polar,a=[];this.plotY=this.plotLow;b&&p(this.plotLowX)&&(this.plotX=this.plotLowX);this.isInside&&(a=e.haloPath.apply(this,arguments));this.plotY=this.plotHigh;b&&p(this.plotHighX)&&(this.plotX=this.plotHighX);this.isTopInside&&(a=a.concat(e.haloPath.apply(this,arguments)));return a};b.prototype.isValid=function(){return p(this.low)&&p(this.high)};return b}(a.pointClass)});f(a,"Series/Dumbbell/DumbbellPoint.js",[a["Series/AreaRange/AreaRangePoint.js"],
-a["Core/Utilities.js"]],function(a,d){var h=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return a(c,b)};return function(c,b){function e(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(e.prototype=b.prototype,new e)}}(),e=d.extend,l=d.pick;d=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.series=void 0;
-b.options=void 0;b.connector=void 0;b.pointWidth=void 0;return b}h(c,a);c.prototype.setState=function(){var a=this.series,c=a.chart,d=a.options.marker,h=this.options,p=l(h.lowColor,a.options.lowColor,h.color,this.zone&&this.zone.color,this.color,a.color),f="attr";this.pointSetState.apply(this,arguments);if(!this.state){f="animate";var r=this.graphics||[],m=r[0];r=r[1];m&&!c.styledMode&&(m.attr({fill:p}),r&&(c={y:this.y,zone:this.zone},this.y=this.high,this.zone=this.zone?this.getZone():void 0,d=l(this.marker?
-this.marker.fillColor:void 0,d?d.fillColor:void 0,h.color,this.zone?this.zone.color:void 0,this.color),r.attr({fill:d}),e(this,c)))}this.connector[f](a.getConnectorAttribs(this))};c.prototype.destroy=function(){this.graphic||(this.graphic=this.connector,this.connector=void 0);return a.prototype.destroy.call(this)};return c}(a);e(d.prototype,{pointSetState:a.prototype.setState});return d});f(a,"Series/Dumbbell/DumbbellSeries.js",[a["Series/Column/ColumnSeries.js"],a["Series/Dumbbell/DumbbellPoint.js"],
-a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,d,h,e,f,p,c){var b=this&&this.__extends||function(){var a=function(b,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,g){a.__proto__=g}||function(a,g){for(var b in g)g.hasOwnProperty(b)&&(a[b]=g[b])};return a(b,g)};return function(b,g){function c(){this.constructor=b}a(b,g);b.prototype=null===g?Object.create(g):(c.prototype=
-g.prototype,new c)}}(),n=a.prototype;h=h.noop;var k=e.prototype;e=f.seriesTypes;var l=e.arearange;e=e.columnrange.prototype;var t=l.prototype,u=c.extend,r=c.merge,m=c.pick;c=function(a){function c(){var g=null!==a&&a.apply(this,arguments)||this;g.data=void 0;g.options=void 0;g.points=void 0;g.columnMetrics=void 0;return g}b(c,a);c.prototype.getConnectorAttribs=function(a){var b=this.chart,g=a.options,c=this.options,d=this.xAxis,e=this.yAxis,f=m(g.connectorWidth,c.connectorWidth),h=m(g.connectorColor,
-c.connectorColor,g.color,a.zone?a.zone.color:void 0,a.color),n=m(c.states&&c.states.hover&&c.states.hover.connectorWidthPlus,1),l=m(g.dashStyle,c.dashStyle),k=m(a.plotLow,a.plotY),q=e.toPixels(c.threshold||0,!0);q=m(a.plotHigh,b.inverted?e.len-q:q);if("number"!==typeof k)return{};a.state&&(f+=n);0>k?k=0:k>=e.len&&(k=e.len);0>q?q=0:q>=e.len&&(q=e.len);if(0>a.plotX||a.plotX>d.len)f=0;a.graphics&&a.graphics[1]&&(d={y:a.y,zone:a.zone},a.y=a.high,a.zone=a.zone?a.getZone():void 0,h=m(g.connectorColor,c.connectorColor,
-g.color,a.zone?a.zone.color:void 0,a.color),u(a,d));a={d:p.prototype.crispLine([["M",a.plotX,k],["L",a.plotX,q]],f,"ceil")};b.styledMode||(a.stroke=h,a["stroke-width"]=f,l&&(a.dashstyle=l));return a};c.prototype.drawConnector=function(a){var b=m(this.options.animationLimit,250);b=a.connector&&this.chart.pointCount<b?"animate":"attr";a.connector||(a.connector=this.chart.renderer.path().addClass("highcharts-lollipop-stem").attr({zIndex:-1}).add(this.markerGroup));a.connector[b](this.getConnectorAttribs(a))};
-c.prototype.getColumnMetrics=function(){var a=n.getColumnMetrics.apply(this,arguments);a.offset+=a.width/2;return a};c.prototype.translate=function(){this.setShapeArgs.apply(this);this.translatePoint.apply(this,arguments);this.points.forEach(function(a){var b=a.shapeArgs,c=a.pointWidth;a.plotX=b.x;b.x=a.plotX-c/2;a.tooltipPos=null});this.columnMetrics.offset-=this.columnMetrics.width/2};c.prototype.drawPoints=function(){var a=this.chart,b=this.points.length,c=this.lowColor=this.options.lowColor,e=
-0;for(this.seriesDrawPoints.apply(this,arguments);e<b;){var d=this.points[e];var f=d.graphics||[];var h=f[0];f=f[1];this.drawConnector(d);f&&(f.element.point=d,f.addClass("highcharts-lollipop-high"));d.connector.element.point=d;h&&(f=d.zone&&d.zone.color,d=m(d.options.lowColor,c,d.options.color,f,d.color,this.color),a.styledMode||h.attr({fill:d}),h.addClass("highcharts-lollipop-low"));e++}};c.prototype.markerAttribs=function(){var a=t.markerAttribs.apply(this,arguments);a.x=Math.floor(a.x||0);a.y=
-Math.floor(a.y||0);return a};c.prototype.pointAttribs=function(a,b){var c=k.pointAttribs.apply(this,arguments);"hover"===b&&delete c.fill;return c};c.defaultOptions=r(l.defaultOptions,{trackByArea:!1,fillColor:"none",lineWidth:0,pointRange:1,connectorWidth:1,stickyTracking:!1,groupPadding:.2,crisp:!1,pointPadding:.1,lowColor:"#333333",states:{hover:{lineWidthPlus:0,connectorWidthPlus:1,halo:!1}}});return c}(l);u(c.prototype,{crispCol:n.crispCol,drawGraph:h,drawTracker:a.prototype.drawTracker,pointClass:d,
-setShapeArgs:e.translate,seriesDrawPoints:t.drawPoints,trackerGroups:["group","markerGroup","dataLabelsGroup"],translatePoint:t.translate});f.registerSeriesType("dumbbell",c);"";return c});f(a,"masters/modules/dumbbell.src.js",[],function(){})});
+(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/dumbbell",["highcharts"],function(h){a(h);a.Highcharts=h;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function h(a,e,l,d){a.hasOwnProperty(e)||(a[e]=d.apply(null,l),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};h(a,
+"Series/AreaRange/AreaRangePoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var l=this&&this.__extends||function(){var a=function(b,m){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f])};return a(b,m)};return function(b,m){function f(){this.constructor=b}a(b,m);b.prototype=null===m?Object.create(m):(f.prototype=m.prototype,new f)}}();a=a.seriesTypes.area.prototype;var d=
+a.pointClass.prototype,k=e.defined,p=e.isNumber;return function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.high=void 0;b.low=void 0;b.options=void 0;b.plotX=void 0;b.series=void 0;return b}l(b,a);b.prototype.setState=function(){var a=this.state,b=this.series,c=b.chart.polar;k(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,!0));k(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,
+b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.graphics&&this.graphics[1];this.plotY=this.plotHigh;c&&p(this.plotHighX)&&(this.plotX=this.plotHighX);d.setState.apply(this,arguments);this.state=a;this.plotY=this.plotLow;this.graphic=this.graphics&&this.graphics[0];c&&p(this.plotLowX)&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);d.setState.apply(this,
+arguments)};b.prototype.haloPath=function(){var b=this.series.chart.polar,a=[];this.plotY=this.plotLow;b&&p(this.plotLowX)&&(this.plotX=this.plotLowX);this.isInside&&(a=d.haloPath.apply(this,arguments));this.plotY=this.plotHigh;b&&p(this.plotHighX)&&(this.plotX=this.plotHighX);this.isTopInside&&(a=a.concat(d.haloPath.apply(this,arguments)));return a};b.prototype.isValid=function(){return p(this.low)&&p(this.high)};return b}(a.pointClass)});h(a,"Series/Dumbbell/DumbbellPoint.js",[a["Series/AreaRange/AreaRangePoint.js"],
+a["Core/Utilities.js"]],function(a,e){var l=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return a(c,b)};return function(c,b){function d(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),d=e.extend,k=e.pick;e=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.series=void 0;
+b.options=void 0;b.connector=void 0;b.pointWidth=void 0;return b}l(c,a);c.prototype.setState=function(){var a=this.series,c=a.chart,e=a.options.marker,l=this.options,p=k(l.lowColor,a.options.lowColor,l.color,this.zone&&this.zone.color,this.color,a.color),h="attr";this.pointSetState.apply(this,arguments);if(!this.state){h="animate";var q=this.graphics||[],n=q[0];q=q[1];n&&!c.styledMode&&(n.attr({fill:p}),q&&(c={y:this.y,zone:this.zone},this.y=this.high,this.zone=this.zone?this.getZone():void 0,e=k(this.marker?
+this.marker.fillColor:void 0,e?e.fillColor:void 0,l.color,this.zone?this.zone.color:void 0,this.color),q.attr({fill:e}),d(this,c)))}this.connector[h](a.getConnectorAttribs(this))};c.prototype.destroy=function(){this.graphic||(this.graphic=this.connector,this.connector=void 0);return a.prototype.destroy.call(this)};return c}(a);d(e.prototype,{pointSetState:a.prototype.setState});return e});h(a,"Series/Dumbbell/DumbbellSeries.js",[a["Series/Column/ColumnSeries.js"],a["Series/Dumbbell/DumbbellPoint.js"],
+a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,e,l,d,h,p,c){var b=this&&this.__extends||function(){var a=function(b,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,g){a.__proto__=g}||function(a,g){for(var b in g)g.hasOwnProperty(b)&&(a[b]=g[b])};return a(b,g)};return function(b,g){function c(){this.constructor=b}a(b,g);b.prototype=null===g?Object.create(g):(c.prototype=
+g.prototype,new c)}}(),m=a.prototype;l=l.noop;var f=d.prototype;d=h.seriesTypes;var k=d.arearange;d=d.columnrange.prototype;var r=k.prototype,u=c.extend,q=c.merge,n=c.pick;c=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;b.columnMetrics=void 0;return b}b(c,a);c.prototype.getConnectorAttribs=function(a){var b=this.chart,c=a.options,g=this.options,t=this.xAxis,e=this.yAxis,d=n(c.connectorWidth,g.connectorWidth),h=n(c.connectorColor,
+g.connectorColor,c.color,a.zone?a.zone.color:void 0,a.color),l=n(g.states&&g.states.hover&&g.states.hover.connectorWidthPlus,1),m=n(c.dashStyle,g.dashStyle),k=n(a.plotLow,a.plotY),f=e.toPixels(g.threshold||0,!0);f=n(a.plotHigh,b.inverted?e.len-f:f);if("number"!==typeof k)return{};a.state&&(d+=l);0>k?k=0:k>=e.len&&(k=e.len);0>f?f=0:f>=e.len&&(f=e.len);if(0>a.plotX||a.plotX>t.len)d=0;a.graphics&&a.graphics[1]&&(t={y:a.y,zone:a.zone},a.y=a.high,a.zone=a.zone?a.getZone():void 0,h=n(c.connectorColor,g.connectorColor,
+c.color,a.zone?a.zone.color:void 0,a.color),u(a,t));a={d:p.prototype.crispLine([["M",a.plotX,k],["L",a.plotX,f]],d,"ceil")};b.styledMode||(a.stroke=h,a["stroke-width"]=d,m&&(a.dashstyle=m));return a};c.prototype.drawConnector=function(a){var b=n(this.options.animationLimit,250);b=a.connector&&this.chart.pointCount<b?"animate":"attr";a.connector||(a.connector=this.chart.renderer.path().addClass("highcharts-lollipop-stem").attr({zIndex:-1}).add(this.group));a.connector[b](this.getConnectorAttribs(a))};
+c.prototype.getColumnMetrics=function(){var a=m.getColumnMetrics.apply(this,arguments);a.offset+=a.width/2;return a};c.prototype.translate=function(){var a=this,b=this.chart.inverted;this.setShapeArgs.apply(this);this.translatePoint.apply(this,arguments);this.points.forEach(function(c){var g=c.pointWidth,e=c.shapeArgs;e=void 0===e?{}:e;var d=c.tooltipPos;c.plotX=e.x||0;e.x=c.plotX-g/2;d&&(b?d[1]=a.xAxis.len-c.plotX:d[0]=c.plotX)});this.columnMetrics.offset-=this.columnMetrics.width/2};c.prototype.drawPoints=
+function(){var a=this.chart,b=this.points.length,c=this.lowColor=this.options.lowColor,e=0;for(this.seriesDrawPoints.apply(this,arguments);e<b;){var d=this.points[e];var f=d.graphics||[];var h=f[0];f=f[1];this.drawConnector(d);f&&(f.element.point=d,f.addClass("highcharts-lollipop-high"));d.connector.element.point=d;h&&(f=d.zone&&d.zone.color,d=n(d.options.lowColor,c,d.options.color,f,d.color,this.color),a.styledMode||h.attr({fill:d}),h.addClass("highcharts-lollipop-low"));e++}};c.prototype.markerAttribs=
+function(){var a=r.markerAttribs.apply(this,arguments);a.x=Math.floor(a.x||0);a.y=Math.floor(a.y||0);return a};c.prototype.pointAttribs=function(a,b){var c=f.pointAttribs.apply(this,arguments);"hover"===b&&delete c.fill;return c};c.defaultOptions=q(k.defaultOptions,{trackByArea:!1,fillColor:"none",lineWidth:0,pointRange:1,connectorWidth:1,stickyTracking:!1,groupPadding:.2,crisp:!1,pointPadding:.1,lowColor:"#333333",states:{hover:{lineWidthPlus:0,connectorWidthPlus:1,halo:!1}}});return c}(k);u(c.prototype,
+{crispCol:m.crispCol,drawGraph:l,drawTracker:a.prototype.drawTracker,pointClass:e,setShapeArgs:d.translate,seriesDrawPoints:r.drawPoints,trackerGroups:["group","markerGroup","dataLabelsGroup"],translatePoint:r.translate});h.registerSeriesType("dumbbell",c);"";return c});h(a,"masters/modules/dumbbell.src.js",[],function(){})});
 //# sourceMappingURL=dumbbell.js.map

+ 5 - 5
nicegui/elements/lib/highcharts_modules/export-data.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Exporting module
 
@@ -26,10 +26,10 @@ e||(b="highcharts-empty");c=U({"class":b},c);return{tagName:a,attributes:c,textC
 children:k})}return{tagName:"thead",children:u}}(n,h,Math.max(b,h.length)));var p=[];a.forEach(function(a){for(var c=[],d=0;d<b;d++)c.push(m(d?"td":"th",null,d?{}:{scope:"row"},a[d]));p.push({tagName:"tr",children:c})});c.push({tagName:"tbody",children:p});c={tree:{tagName:"table",id:"highcharts-data-table-".concat(this.index),children:c}};N(this,"aftergetTableAST",c);return c.tree}function ca(){this.toggleDataTable(!1)}function da(b){var c=(b=A(b,!this.isDataTableVisible))&&!this.dataTableDiv;c&&
 (this.dataTableDiv=ea.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));if(this.dataTableDiv){var g=this.dataTableDiv.style,e=g.display;g.display=b?"block":"none";b&&(this.dataTableDiv.innerHTML=a.emptyHTML,(new a([this.getTableAST()])).addToDOM(this.dataTableDiv),N(this,"afterViewData",{element:this.dataTableDiv,wasHidden:c||e!==g.display}))}this.isDataTableVisible=b;c=this.exportDivElements;
 e=(g=this.options.exporting)&&g.buttons&&g.buttons.contextButton.menuItems;b=this.options.lang;g&&g.menuItemDefinitions&&b&&b.viewData&&b.hideData&&e&&c&&(c=c[e.indexOf("viewData")])&&a.setElementHTML(c,this.isDataTableVisible?b.hideData:b.viewData)}function fa(){this.toggleDataTable(!0)}function S(a,c){var b=z.navigator,e=-1<b.userAgent.indexOf("WebKit")&&0>b.userAgent.indexOf("Chrome"),f=z.URL||z.webkitURL||z;try{if(b.msSaveOrOpenBlob&&z.MSBlobBuilder){var d=new z.MSBlobBuilder;d.append(a);return d.getBlob("image/svg+xml")}if(!e)return f.createObjectURL(new z.Blob(["\ufeff"+
-a],{type:c}))}catch(n){}}function ha(){var a=this,c=a.dataTableDiv,g=document.querySelectorAll("thead")[0].querySelectorAll("tr")[0],e=function(a,b){return function(c,d){var e=(b?c:d).children[a].textContent;c=(b?d:c).children[a].textContent;return""===e||""===c||isNaN(e)||isNaN(c)?e.toString().localeCompare(c):e-c}};c&&g.childNodes.forEach(function(b){var d=b.closest("table");b.addEventListener("click",function(){var g=E([],c.querySelectorAll("tr:not(thead tr)"),!0),f=E([],b.parentNode.children,
-!0);g.sort(e(f.indexOf(b),a.ascendingOrderInTable=!a.ascendingOrderInTable)).forEach(function(a){d.appendChild(a)});f.forEach(function(a){["highcharts-sort-ascending","highcharts-sort-descending"].forEach(function(b){a.classList.contains(b)&&a.classList.remove(b)})});b.classList.add(a.ascendingOrderInTable?"highcharts-sort-ascending":"highcharts-sort-descending")})})}function ia(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&this.viewData()}
-var E=this&&this.__spreadArray||function(a,c,g){if(g||2===arguments.length)for(var b=0,f=c.length,d;b<f;b++)!d&&b in c||(d||(d=Array.prototype.slice.call(c,0,b)),d[b]=c[b]);return a.concat(d||Array.prototype.slice.call(c))},ea=c.doc,z=c.win,ja=y.getOptions,O=y.setOptions,R=W.downloadURL,X=P.series;c=P.seriesTypes;var F=c.arearange,G=c.gantt,H=c.map,I=c.mapbubble,J=c.treemap,V=m.addEvent,L=m.defined,U=m.extend,aa=m.find,N=m.fireEvent,Y=m.isNumber,A=m.pick,h=[];"";return{compose:function(a){-1===h.indexOf(a)&&
-(h.push(a),V(a,"afterViewData",ha),V(a,"render",ia),a=a.prototype,a.downloadCSV=f,a.downloadXLS=v,a.getCSV=q,a.getDataRows=D,a.getTable=Q,a.getTableAST=ba,a.hideData=ca,a.toggleDataTable=da,a.viewData=fa);if(-1===h.indexOf(O)){h.push(O);if(a=ja().exporting)U(a.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.toggleDataTable()}}}),
+a],{type:c}))}catch(n){}}function ha(){var a=this,c=a.dataTableDiv,g=function(a,b){return function(c,d){var e=(b?c:d).children[a].textContent;c=(b?d:c).children[a].textContent;return""===e||""===c||isNaN(e)||isNaN(c)?e.toString().localeCompare(c):e-c}};if(c&&a.options.exporting&&a.options.exporting.allowTableSorting){var e=c.querySelector("thead tr");e&&e.childNodes.forEach(function(b){var d=b.closest("table");b.addEventListener("click",function(){var e=E([],c.querySelectorAll("tr:not(thead tr)"),
+!0),f=E([],b.parentNode.children,!0);e.sort(g(f.indexOf(b),a.ascendingOrderInTable=!a.ascendingOrderInTable)).forEach(function(a){d.appendChild(a)});f.forEach(function(a){["highcharts-sort-ascending","highcharts-sort-descending"].forEach(function(b){a.classList.contains(b)&&a.classList.remove(b)})});b.classList.add(a.ascendingOrderInTable?"highcharts-sort-ascending":"highcharts-sort-descending")})})}}function ia(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&
+this.viewData()}var E=this&&this.__spreadArray||function(a,c,f){if(f||2===arguments.length)for(var b=0,g=c.length,d;b<g;b++)!d&&b in c||(d||(d=Array.prototype.slice.call(c,0,b)),d[b]=c[b]);return a.concat(d||Array.prototype.slice.call(c))},ea=c.doc,z=c.win,ja=y.getOptions,O=y.setOptions,R=W.downloadURL,X=P.series;c=P.seriesTypes;var F=c.arearange,G=c.gantt,H=c.map,I=c.mapbubble,J=c.treemap,V=m.addEvent,L=m.defined,U=m.extend,aa=m.find,N=m.fireEvent,Y=m.isNumber,A=m.pick,h=[];"";return{compose:function(a){-1===
+h.indexOf(a)&&(h.push(a),V(a,"afterViewData",ha),V(a,"render",ia),a=a.prototype,a.downloadCSV=f,a.downloadXLS=v,a.getCSV=q,a.getDataRows=D,a.getTable=Q,a.getTableAST=ba,a.hideData=ca,a.toggleDataTable=da,a.viewData=fa);if(-1===h.indexOf(O)){h.push(O);if(a=ja().exporting)U(a.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.toggleDataTable()}}}),
 a.buttons&&a.buttons.contextButton.menuItems&&a.buttons.contextButton.menuItems.push("separator","downloadCSV","downloadXLS","viewData");O(p)}F&&-1===h.indexOf(F)&&(h.push(F),F.prototype.keyToAxis={low:"y",high:"y"});G&&-1===h.indexOf(G)&&(h.push(G),G.prototype.keyToAxis={start:"x",end:"x"});H&&-1===h.indexOf(H)&&(h.push(H),H.prototype.exportKey="name");I&&-1===h.indexOf(I)&&(h.push(I),I.prototype.exportKey="name");J&&-1===h.indexOf(J)&&(h.push(J),J.prototype.exportKey="name")}}});p(a,"masters/modules/export-data.src.js",
 [a["Core/Globals.js"],a["Extensions/ExportData/ExportData.js"]],function(a,f){f.compose(a.Chart)})});
 //# sourceMappingURL=export-data.js.map

+ 16 - 16
nicegui/elements/lib/highcharts_modules/exporting.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Exporting module
 
@@ -9,21 +9,21 @@
 */
 (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(m){a(m);a.Highcharts=m;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function m(a,l,J,x){a.hasOwnProperty(l)||(a[l]=x.apply(null,J),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:a[l]}})))}a=a?a._modules:{};m(a,
 "Core/Chart/ChartNavigationComposition.js",[],function(){var a;(function(a){a.compose=function(a){a.navigation||(a.navigation=new e(a));return a};var e=function(){function a(a){this.updates=[];this.chart=a}a.prototype.addUpdate=function(a){this.chart.navigation.updates.push(a)};a.prototype.update=function(a,D){var e=this;this.updates.forEach(function(b){b.call(e.chart,a,D)})};return a}();a.Additions=e})(a||(a={}));return a});m(a,"Extensions/Exporting/ExportingDefaults.js",[a["Core/Globals.js"]],function(a){a=
-a.isTouchDevice;return{exporting:{type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&
-this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",
-exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"1px solid ".concat("#999999"),
-background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:a?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"}}}});m(a,"Extensions/Exporting/ExportingSymbols.js",[],function(){var a;(function(a){function e(a,e,b,g){return[["M",a,e+2.5],["L",a+b,e+2.5],["M",a,e+g/2+.5],["L",a+b,e+g/2+.5],["M",a,e+g-1.5],["L",a+b,e+g-1.5]]}function l(a,e,b,g){a=g/3-2;g=[];return g=g.concat(this.circle(b-
-a,e,a,a),this.circle(b-a,e+a+4,a,a),this.circle(b-a,e+2*(a+4),a,a))}var q=[];a.compose=function(a){-1===q.indexOf(a)&&(q.push(a),a=a.prototype.symbols,a.menu=e,a.menuball=l.bind(a))}})(a||(a={}));return a});m(a,"Extensions/Exporting/Fullscreen.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Utilities.js"]],function(a,l){function e(){this.fullscreen=new A(this)}var x=l.addEvent,q=l.fireEvent,m=[],A=function(){function b(a){this.chart=a;this.isOpen=!1;a=a.renderTo;this.browserProps||("function"===typeof a.requestFullscreen?
-this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:a.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:a.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:a.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",
-requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}b.compose=function(a){-1===m.indexOf(a)&&(m.push(a),x(a,"beforeRender",e))};b.prototype.close=function(){var a=this,d=a.chart,n=d.options.chart;q(d,"fullscreenClose",null,function(){if(a.isOpen&&a.browserProps&&d.container.ownerDocument instanceof Document)d.container.ownerDocument[a.browserProps.exitFullscreen]();a.unbindFullscreenEvent&&(a.unbindFullscreenEvent=a.unbindFullscreenEvent());d.setSize(a.origWidth,a.origHeight,
-!1);a.origWidth=void 0;a.origHeight=void 0;n.width=a.origWidthOption;n.height=a.origHeightOption;a.origWidthOption=void 0;a.origHeightOption=void 0;a.isOpen=!1;a.setButtonText()})};b.prototype.open=function(){var a=this,d=a.chart,n=d.options.chart;q(d,"fullscreenOpen",null,function(){n&&(a.origWidthOption=n.width,a.origHeightOption=n.height);a.origWidth=d.chartWidth;a.origHeight=d.chartHeight;if(a.browserProps){var g=x(d.container.ownerDocument,a.browserProps.fullscreenChange,function(){a.isOpen?
-(a.isOpen=!1,a.close()):(d.setSize(null,null,!1),a.isOpen=!0,a.setButtonText())}),e=x(d,"destroy",g);a.unbindFullscreenEvent=function(){g();e()};var b=d.renderTo[a.browserProps.requestFullscreen]();if(b)b["catch"](function(){alert("Full screen is not supported inside a frame.")})}})};b.prototype.setButtonText=function(){var g=this.chart,d=g.exportDivElements,n=g.options.exporting,b=n&&n.buttons&&n.buttons.contextButton.menuItems;g=g.options.lang;n&&n.menuItemDefinitions&&g&&g.exitFullscreen&&g.viewFullscreen&&
-b&&d&&(d=d[b.indexOf("viewFullscreen")])&&a.setElementHTML(d,this.isOpen?g.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||g.viewFullscreen)};b.prototype.toggle=function(){this.isOpen?this.close():this.open()};return b}();"";"";return A});m(a,"Core/HttpUtilities.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,l){var e=a.doc,m=l.createElement,q=l.discardElement,D=l.merge,A=l.objectEach,b={ajax:function(a){var d={json:"application/json",xml:"application/xml",text:"text/plain",
-octet:"application/octet-stream"},b=new XMLHttpRequest;if(!a.url)return!1;b.open((a.type||"get").toUpperCase(),a.url,!0);a.headers&&a.headers["Content-Type"]||b.setRequestHeader("Content-Type",d[a.dataType||"json"]||d.text);A(a.headers,function(a,d){b.setRequestHeader(d,a)});a.responseType&&(b.responseType=a.responseType);b.onreadystatechange=function(){if(4===b.readyState){if(200===b.status){if("blob"!==a.responseType){var d=b.responseText;if("json"===a.dataType)try{d=JSON.parse(d)}catch(z){if(z instanceof
-Error){a.error&&a.error(b,z);return}}}return a.success&&a.success(d,b)}a.error&&a.error(b,b.responseText)}};a.data&&"string"!==typeof a.data&&(a.data=JSON.stringify(a.data));b.send(a.data)},getJSON:function(a,d){b.ajax({url:a,success:d,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(a,b,n){var d=m("form",D({method:"post",action:a,enctype:"multipart/form-data"},n),{display:"none"},e.body);A(b,function(a,b){m("input",{type:"hidden",name:b,value:a},void 0,d)});d.submit();q(d)}};
-"";return b});m(a,"Extensions/Exporting/Exporting.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/Defaults.js"],a["Extensions/Exporting/ExportingDefaults.js"],a["Extensions/Exporting/ExportingSymbols.js"],a["Extensions/Exporting/Fullscreen.js"],a["Core/Globals.js"],a["Core/HttpUtilities.js"],a["Core/Utilities.js"]],function(a,l,m,x,q,D,A,b,g,d){var e=x.defaultOptions,J=x.setOptions,z=b.doc,P=b.SVG_NS,C=b.win,B=d.addEvent,w=d.css,E=
-d.createElement,N=d.discardElement,F=d.extend,Q=d.find,G=d.fireEvent,R=d.isObject,r=d.merge,S=d.objectEach,y=d.pick,T=d.removeEvent,U=d.uniqueKey,H;(function(l){function n(a){var c=this,v=c.renderer,k=r(c.options.navigation.buttonOptions,a),b=k.onclick,d=k.menuItems,e=k.symbolSize||12;c.btnCount||(c.btnCount=0);c.exportDivElements||(c.exportDivElements=[],c.exportSVGElements=[]);if(!1!==k.enabled&&k.theme){var f=k.theme,M;c.styledMode||(f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));b?M=
-function(a){a&&a.stopPropagation();b.call(c,a)}:d&&(M=function(a){a&&a.stopPropagation();c.contextMenu(u.menuClassName,d,u.translateX,u.translateY,u.width,u.height,u);u.setState(2)});k.text&&k.symbol?f.paddingLeft=y(f.paddingLeft,30):k.text||F(f,{width:k.width,height:k.height,padding:0});c.styledMode||(f["stroke-linecap"]="round",f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));var u=v.button(k.text,0,0,M,f,void 0,void 0,void 0,void 0,k.useHTML).addClass(a.className).attr({title:y(c.options.lang[k._titleKey||
+a.isTouchDevice;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",
+onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},
+lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},
+menuStyle:{border:"1px solid ".concat("#999999"),background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:a?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"}}}});m(a,"Extensions/Exporting/ExportingSymbols.js",[],function(){var a;(function(a){function e(a,e,b,g){return[["M",a,e+2.5],["L",a+b,e+2.5],["M",a,e+g/2+.5],["L",a+b,e+g/2+.5],["M",a,e+g-1.5],["L",a+b,e+g-1.5]]}function l(a,
+e,b,g){a=g/3-2;g=[];return g=g.concat(this.circle(b-a,e,a,a),this.circle(b-a,e+a+4,a,a),this.circle(b-a,e+2*(a+4),a,a))}var q=[];a.compose=function(a){-1===q.indexOf(a)&&(q.push(a),a=a.prototype.symbols,a.menu=e,a.menuball=l.bind(a))}})(a||(a={}));return a});m(a,"Extensions/Exporting/Fullscreen.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Utilities.js"]],function(a,l){function e(){this.fullscreen=new A(this)}var x=l.addEvent,q=l.fireEvent,m=[],A=function(){function b(a){this.chart=a;this.isOpen=!1;
+a=a.renderTo;this.browserProps||("function"===typeof a.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:a.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:a.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:
+a.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}b.compose=function(a){-1===m.indexOf(a)&&(m.push(a),x(a,"beforeRender",e))};b.prototype.close=function(){var a=this,d=a.chart,n=d.options.chart;q(d,"fullscreenClose",null,function(){if(a.isOpen&&a.browserProps&&d.container.ownerDocument instanceof Document)d.container.ownerDocument[a.browserProps.exitFullscreen]();a.unbindFullscreenEvent&&(a.unbindFullscreenEvent=
+a.unbindFullscreenEvent());d.setSize(a.origWidth,a.origHeight,!1);a.origWidth=void 0;a.origHeight=void 0;n.width=a.origWidthOption;n.height=a.origHeightOption;a.origWidthOption=void 0;a.origHeightOption=void 0;a.isOpen=!1;a.setButtonText()})};b.prototype.open=function(){var a=this,d=a.chart,n=d.options.chart;q(d,"fullscreenOpen",null,function(){n&&(a.origWidthOption=n.width,a.origHeightOption=n.height);a.origWidth=d.chartWidth;a.origHeight=d.chartHeight;if(a.browserProps){var g=x(d.container.ownerDocument,
+a.browserProps.fullscreenChange,function(){a.isOpen?(a.isOpen=!1,a.close()):(d.setSize(null,null,!1),a.isOpen=!0,a.setButtonText())}),e=x(d,"destroy",g);a.unbindFullscreenEvent=function(){g();e()};var b=d.renderTo[a.browserProps.requestFullscreen]();if(b)b["catch"](function(){alert("Full screen is not supported inside a frame.")})}})};b.prototype.setButtonText=function(){var g=this.chart,d=g.exportDivElements,n=g.options.exporting,b=n&&n.buttons&&n.buttons.contextButton.menuItems;g=g.options.lang;
+n&&n.menuItemDefinitions&&g&&g.exitFullscreen&&g.viewFullscreen&&b&&d&&(d=d[b.indexOf("viewFullscreen")])&&a.setElementHTML(d,this.isOpen?g.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||g.viewFullscreen)};b.prototype.toggle=function(){this.isOpen?this.close():this.open()};return b}();"";"";return A});m(a,"Core/HttpUtilities.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,l){var e=a.doc,m=l.createElement,q=l.discardElement,D=l.merge,A=l.objectEach,b={ajax:function(a){var d=
+{json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},b=new XMLHttpRequest;if(!a.url)return!1;b.open((a.type||"get").toUpperCase(),a.url,!0);a.headers&&a.headers["Content-Type"]||b.setRequestHeader("Content-Type",d[a.dataType||"json"]||d.text);A(a.headers,function(a,d){b.setRequestHeader(d,a)});a.responseType&&(b.responseType=a.responseType);b.onreadystatechange=function(){if(4===b.readyState){if(200===b.status){if("blob"!==a.responseType){var d=b.responseText;
+if("json"===a.dataType)try{d=JSON.parse(d)}catch(z){if(z instanceof Error){a.error&&a.error(b,z);return}}}return a.success&&a.success(d,b)}a.error&&a.error(b,b.responseText)}};a.data&&"string"!==typeof a.data&&(a.data=JSON.stringify(a.data));b.send(a.data)},getJSON:function(a,d){b.ajax({url:a,success:d,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(a,b,n){var d=m("form",D({method:"post",action:a,enctype:"multipart/form-data"},n),{display:"none"},e.body);A(b,function(a,b){m("input",
+{type:"hidden",name:b,value:a},void 0,d)});d.submit();q(d)}};"";return b});m(a,"Extensions/Exporting/Exporting.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/Defaults.js"],a["Extensions/Exporting/ExportingDefaults.js"],a["Extensions/Exporting/ExportingSymbols.js"],a["Extensions/Exporting/Fullscreen.js"],a["Core/Globals.js"],a["Core/HttpUtilities.js"],a["Core/Utilities.js"]],function(a,l,m,x,q,D,A,b,g,d){var e=x.defaultOptions,J=x.setOptions,
+z=b.doc,P=b.SVG_NS,C=b.win,B=d.addEvent,w=d.css,E=d.createElement,N=d.discardElement,F=d.extend,Q=d.find,G=d.fireEvent,R=d.isObject,r=d.merge,S=d.objectEach,y=d.pick,T=d.removeEvent,U=d.uniqueKey,H;(function(l){function n(a){var c=this,v=c.renderer,k=r(c.options.navigation.buttonOptions,a),b=k.onclick,d=k.menuItems,e=k.symbolSize||12;c.btnCount||(c.btnCount=0);c.exportDivElements||(c.exportDivElements=[],c.exportSVGElements=[]);if(!1!==k.enabled&&k.theme){var f=k.theme,M;c.styledMode||(f.fill=y(f.fill,
+"#ffffff"),f.stroke=y(f.stroke,"none"));b?M=function(a){a&&a.stopPropagation();b.call(c,a)}:d&&(M=function(a){a&&a.stopPropagation();c.contextMenu(u.menuClassName,d,u.translateX,u.translateY,u.width,u.height,u);u.setState(2)});k.text&&k.symbol?f.paddingLeft=y(f.paddingLeft,30):k.text||F(f,{width:k.width,height:k.height,padding:0});c.styledMode||(f["stroke-linecap"]="round",f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));var u=v.button(k.text,0,0,M,f,void 0,void 0,void 0,void 0,k.useHTML).addClass(a.className).attr({title:y(c.options.lang[k._titleKey||
 k.titleKey],"")});u.menuClassName=a.menuClassName||"highcharts-menu-"+c.btnCount++;if(k.symbol){var g=v.symbol(k.symbol,k.symbolX-e/2,k.symbolY-e/2,e,e,{width:e,height:e}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(u);c.styledMode||g.attr({stroke:k.symbolStroke,fill:k.symbolFill,"stroke-width":k.symbolStrokeWidth||1})}u.add(c.exportingGroup).align(F(k,{width:u.width,x:y(k.x,c.buttonOffset)}),!0,"spacingBox");c.buttonOffset+=(u.width+k.buttonSpacing)*("right"===k.align?-1:1);c.exportSVGElements.push(u,
 g)}}function x(){if(this.printReverseInfo){var a=this.printReverseInfo,h=a.childNodes,b=a.origDisplay;a=a.resetParams;this.moveContainers(this.renderTo);[].forEach.call(h,function(a,c){1===a.nodeType&&(a.style.display=b[c]||"")});this.isPrinting=!1;a&&this.setSize.apply(this,a);delete this.printReverseInfo;I=void 0;G(this,"afterPrint")}}function H(){var a=z.body,h=this.options.exporting.printMaxWidth,b={childNodes:a.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0;this.pointer.reset(null,
 0);G(this,"beforePrint");h&&this.chartWidth>h&&(b.resetParams=[this.options.chart.width,void 0,!1],this.setSize(h,void 0,!1));[].forEach.call(b.childNodes,function(a,c){1===a.nodeType&&(b.origDisplay[c]=a.style.display,a.style.display="none")});this.moveContainers(a);this.printReverseInfo=b}function V(a){a.renderExporting();B(a,"redraw",a.renderExporting);B(a,"destroy",a.destroyExport)}function W(c,h,b,k,e,L,g){var f=this,v=f.options.navigation,u=f.chartWidth,l=f.chartHeight,m="cache-"+c,n=Math.max(e,

+ 1 - 1
nicegui/elements/lib/highcharts_modules/full-screen.js

@@ -1,5 +1,5 @@
 /*
- Highstock JS v10.3.2 (2022-11-28)
+ Highstock JS v10.3.3 (2023-01-20)
 
  Advanced Highcharts Stock tools
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/funnel.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Highcharts funnel module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/funnel3d.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Highcharts funnel module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/gantt.js

@@ -1,5 +1,5 @@
 /*
- Highcharts Gantt JS v10.3.2 (2022-11-28)
+ Highcharts Gantt JS v10.3.3 (2023-01-20)
 
  Gantt series
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/grid-axis.js

@@ -1,5 +1,5 @@
 /*
- Highcharts Gantt JS v10.3.2 (2022-11-28)
+ Highcharts Gantt JS v10.3.3 (2023-01-20)
 
  GridAxis
 

+ 40 - 40
nicegui/elements/lib/highcharts_modules/heatmap.js

@@ -1,47 +1,47 @@
 /*
- Highmaps JS v10.3.2 (2022-11-28)
+ Highmaps JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 
  License: www.highcharts.com/license
 */
-(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/heatmap",["highcharts"],function(t){b(t);b.Highcharts=t;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function t(b,h,G,p){b.hasOwnProperty(h)||(b[h]=p.apply(null,G),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:h,module:b[h]}})))}b=b?b._modules:{};t(b,
-"Core/Axis/Color/ColorAxisComposition.js",[b["Core/Color/Color.js"],b["Core/Utilities.js"]],function(b,h){var u=b.parse,p=h.addEvent,z=h.extend,n=h.merge,v=h.pick,B=h.splat,m;(function(e){function b(){var a=this,d=this.options;this.colorAxis=[];d.colorAxis&&(d.colorAxis=B(d.colorAxis),d.colorAxis.forEach(function(d,g){d.index=g;new D(a,d)}))}function h(a){var d=this,g=function(c){c=a.allItems.indexOf(c);-1!==c&&(d.destroyItem(a.allItems[c]),a.allItems.splice(c,1))},c=[],f,x;(this.chart.colorAxis||
-[]).forEach(function(a){(f=a.options)&&f.showInLegend&&(f.dataClasses&&f.visible?c=c.concat(a.getDataClassLegendSymbols()):f.visible&&c.push(a),a.series.forEach(function(a){if(!a.options.showInLegend||f.dataClasses)"point"===a.options.legendType?a.points.forEach(function(a){g(a)}):g(a)}))});for(x=c.length;x--;)a.allItems.unshift(c[x])}function m(a){a.visible&&a.item.legendColor&&a.item.legendItem.symbol.attr({fill:a.item.legendColor})}function A(){var a=this.chart.colorAxis;a&&a.forEach(function(a,
-d,c){a.update({},c)})}function r(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function w(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]}function k(a){var d=this,c=a?"show":"hide";d.visible=d.options.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(d[a])d[a][c]()});this.series.buildKDTree()}function c(){var a=this,d=this.options.nullColor,c=this.colorAxis,g=this.colorKey;(this.data.length?
-this.data:this.points).forEach(function(f){var l=f.getNestedProperty(g);(l=f.options.color||(f.isNull||null===f.value?d:c&&"undefined"!==typeof l?c.toColor(l,f):f.color||a.color))&&f.color!==l&&(f.color=l,"point"===a.options.legendType&&f.legendItem&&f.legendItem.label&&a.chart.legend.colorizeItem(f,f.visible))})}function d(a){var d=a.prototype.createAxis;a.prototype.createAxis=function(a,c){if("colorAxis"!==a)return d.apply(this,arguments);var f=new D(this,n(c.axis,{index:this[a].length,isX:!1}));
-this.isDirtyLegend=!0;this.axes.forEach(function(a){a.series=[]});this.series.forEach(function(a){a.bindAxes();a.isDirtyData=!0});v(c.redraw,!0)&&this.redraw(c.animation);return f}}function g(){this.elem.attr("fill",u(this.start).tweenTo(u(this.end),this.pos),void 0,!0)}function a(){this.elem.attr("stroke",u(this.start).tweenTo(u(this.end),this.pos),void 0,!0)}var f=[],D;e.compose=function(e,l,E,y,q){D||(D=e);-1===f.indexOf(l)&&(f.push(l),e=l.prototype,e.collectionsWithUpdate.push("colorAxis"),e.collectionsWithInit.colorAxis=
-[e.addColorAxis],p(l,"afterGetAxes",b),d(l));-1===f.indexOf(E)&&(f.push(E),l=E.prototype,l.fillSetter=g,l.strokeSetter=a);-1===f.indexOf(y)&&(f.push(y),p(y,"afterGetAllItems",h),p(y,"afterColorizeItem",m),p(y,"afterUpdate",A));-1===f.indexOf(q)&&(f.push(q),z(q.prototype,{optionalAxis:"colorAxis",translateColors:c}),z(q.prototype.pointClass.prototype,{setVisible:k}),p(q,"afterTranslate",r),p(q,"bindAxes",w))};e.pointSetVisible=k})(m||(m={}));return m});t(b,"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}});t(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],
-b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,h,t,p,z,n,v,B){var m=this&&this.__extends||function(){var e=function(b,c){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,c){d.__proto__=c}||function(d,c){for(var a in c)c.hasOwnProperty(a)&&(d[a]=c[a])};return e(b,c)};return function(b,c){function d(){this.constructor=b}e(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),e=h.parse,q=v.series,u=B.extend,C=B.isNumber,A=B.merge,r=B.pick;
-h=function(b){function k(c,d){var g=b.call(this,c,d)||this;g.beforePadding=!1;g.chart=void 0;g.coll="colorAxis";g.dataClasses=void 0;g.name="";g.options=void 0;g.stops=void 0;g.visible=!0;g.init(c,d);return g}m(k,b);k.compose=function(c,d,g,a){t.compose(k,c,d,g,a)};k.prototype.init=function(c,d){var g=c.options.legend||{},a=d.layout?"vertical"!==d.layout:"vertical"!==g.layout,f=d.visible;g=A(k.defaultColorAxisOptions,d,{showEmpty:!1,title:null,visible:g.enabled&&!1!==f});this.coll="colorAxis";this.side=
-d.side||a?2:1;this.reversed=d.reversed||!a;this.opposite=!a;b.prototype.init.call(this,c,g);this.userOptions.visible=f;d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=a;this.zoomEnabled=!1};k.prototype.initDataClasses=function(c){var d=this.chart,g=this.legendItem=this.legendItem||{},a=c.dataClasses.length,f=this.options,b,x=0,l=d.options.chart.colorCount;this.dataClasses=b=[];g.labels=[];(c.dataClasses||[]).forEach(function(c,g){c=A(c);b.push(c);if(d.styledMode||!c.color)"category"===
-f.dataClassColor?(d.styledMode||(g=d.options.colors,l=g.length,c.color=g[x]),c.colorIndex=x,x++,x===l&&(x=0)):c.color=e(f.minColor).tweenTo(e(f.maxColor),2>a?.5:g/(a-1))})};k.prototype.hasData=function(){return!!(this.tickPositions||[]).length};k.prototype.setTickPositions=function(){if(!this.dataClasses)return b.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(c){c.color=
-e(c[1])})};k.prototype.setOptions=function(c){b.prototype.setOptions.call(this,c);this.options.crosshair=this.options.marker};k.prototype.setAxisSize=function(){var c=this.legendItem&&this.legendItem.symbol,d=this.chart,g=d.options.legend||{},a,f;c?(this.left=g=c.attr("x"),this.top=a=c.attr("y"),this.width=f=c.attr("width"),this.height=c=c.attr("height"),this.right=d.chartWidth-g-f,this.bottom=d.chartHeight-a-c,this.len=this.horiz?f:c,this.pos=this.horiz?g:a):this.len=(this.horiz?g.symbolWidth:g.symbolHeight)||
-k.defaultLegendLength};k.prototype.normalizedValue=function(c){this.logarithmic&&(c=this.logarithmic.log2lin(c));return 1-(this.max-c)/(this.max-this.min||1)};k.prototype.toColor=function(c,d){var g=this.dataClasses,a=this.stops,f;if(g)for(f=g.length;f--;){var b=g[f];var e=b.from;a=b.to;if(("undefined"===typeof e||c>=e)&&("undefined"===typeof a||c<=a)){var l=b.color;d&&(d.dataClass=f,d.colorIndex=b.colorIndex);break}}else{c=this.normalizedValue(c);for(f=a.length;f--&&!(c>a[f][0]););e=a[f]||a[f+1];
-a=a[f+1]||e;c=1-(a[0]-c)/(a[0]-e[0]||1);l=e.color.tweenTo(a.color,c)}return l};k.prototype.getOffset=function(){var c=this.legendItem&&this.legendItem.group,d=this.chart.axisOffset[this.side];if(c){this.axisParent=c;b.prototype.getOffset.call(this);var g=this.chart.legend;g.allItems.forEach(function(a){a instanceof k&&a.drawLegendSymbol(g,a)});g.render();this.chart.getMargins(!0);this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width);this.chart.axisOffset[this.side]=d}};k.prototype.setLegendColor=
-function(){var c=this.reversed,d=c?1:0;c=c?0:1;d=this.horiz?[d,0,c,0]:[0,c,0,d];this.legendColor={linearGradient:{x1:d[0],y1:d[1],x2:d[2],y2:d[3]},stops:this.stops}};k.prototype.drawLegendSymbol=function(c,d){d=d.legendItem||{};var g=c.padding,a=c.options,f=r(a.itemDistance,10),b=this.horiz,e=r(a.symbolWidth,b?k.defaultLegendLength:12),l=r(a.symbolHeight,b?12:k.defaultLegendLength);a=r(a.labelPadding,b?16:30);this.setLegendColor();d.symbol||(d.symbol=this.chart.renderer.rect(0,c.baseline-11,e,l).attr({zIndex:1}).add(d.group));
-d.labelWidth=e+g+(b?f:this.options.labels.x+this.maxLabelLength);d.labelHeight=l+g+(b?a:0)};k.prototype.setState=function(c){this.series.forEach(function(d){d.setState(c)})};k.prototype.setVisible=function(){};k.prototype.getSeriesExtremes=function(){var c=this.series,d=c.length,g;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;){var a=c[d];var f=a.colorKey=r(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y");var b=a.pointArrayMap;var e=a[f+"Min"]&&a[f+"Max"];if(a[f+"Data"])var l=a[f+
-"Data"];else if(b){l=[];b=b.indexOf(f);var k=a.yData;if(0<=b&&k)for(g=0;g<k.length;g++)l.push(r(k[g][b],k[g]))}else l=a.yData;e?(a.minColorValue=a[f+"Min"],a.maxColorValue=a[f+"Max"]):(l=q.prototype.getExtremes.call(a,l),a.minColorValue=l.dataMin,a.maxColorValue=l.dataMax);"undefined"!==typeof a.minColorValue&&(this.dataMin=Math.min(this.dataMin,a.minColorValue),this.dataMax=Math.max(this.dataMax,a.maxColorValue));e||q.prototype.applyExtremes.call(a)}};k.prototype.drawCrosshair=function(c,d){var g=
-this.legendItem||{},a=d&&d.plotX,f=d&&d.plotY,e=this.pos,k=this.len;if(d){var l=this.toPixels(d.getNestedProperty(d.series.colorKey));l<e?l=e-2:l>e+k&&(l=e+k+2);d.plotX=l;d.plotY=this.len-l;b.prototype.drawCrosshair.call(this,c,d);d.plotX=a;d.plotY=f;this.cross&&!this.cross.addedToColorAxis&&g.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(g.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};
-k.prototype.getPlotLinePath=function(c){var d=this.left,g=c.translatedValue,a=this.top;return C(g)?this.horiz?[["M",g-4,a-6],["L",g+4,a-6],["L",g,a],["Z"]]:[["M",d,g],["L",d-6,g+6],["L",d-6,g-6],["Z"]]:b.prototype.getPlotLinePath.call(this,c)};k.prototype.update=function(c,d){var g=this.chart.legend;this.series.forEach(function(a){a.isDirtyData=!0});(c.dataClasses&&g.allItems||this.dataClasses)&&this.destroyItems();b.prototype.update.call(this,c,d);this.legendItem&&this.legendItem.label&&(this.setLegendColor(),
-g.colorizeItem(this,!0))};k.prototype.destroyItems=function(){var c=this.chart,d=this.legendItem||{};if(d.label)c.legend.destroyItem(this);else if(d.labels){var g=0;for(d=d.labels;g<d.length;g++)c.legend.destroyItem(d[g])}c.isDirtyLegend=!0};k.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();b.prototype.destroy.apply(this,[].slice.call(arguments))};k.prototype.remove=function(c){this.destroyItems();b.prototype.remove.call(this,c)};k.prototype.getDataClassLegendSymbols=
-function(){var c=this,d=c.chart,g=c.legendItem&&c.legendItem.labels||[],a=d.options.legend,f=r(a.valueDecimals,-1),b=r(a.valueSuffix,""),e=function(a){return c.series.reduce(function(c,d){c.push.apply(c,d.points.filter(function(c){return c.dataClass===a}));return c},[])},l;g.length||c.dataClasses.forEach(function(a,k){var q=a.from,h=a.to,y=d.numberFormatter,m=!0;l="";"undefined"===typeof q?l="< ":"undefined"===typeof h&&(l="> ");"undefined"!==typeof q&&(l+=y(q,f)+b);"undefined"!==typeof q&&"undefined"!==
-typeof h&&(l+=" - ");"undefined"!==typeof h&&(l+=y(h,f)+b);g.push(u({chart:d,name:l,options:{},drawLegendSymbol:n.drawRectangle,visible:!0,isDataClass:!0,setState:function(a){for(var c=0,d=e(k);c<d.length;c++)d[c].setState(a)},setVisible:function(){this.visible=m=c.visible=!m;for(var a=0,f=e(k);a<f.length;a++)f[a].setVisible(m);d.legend.colorizeItem(this,m)}},a))});return g};k.defaultColorAxisOptions=p;k.defaultLegendLength=200;k.keepProps=["legendItem"];return k}(b);Array.prototype.push.apply(b.keepProps,
-h.keepProps);"";return h});t(b,"Series/ColorMapComposition.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,h){var u=b.seriesTypes.column.prototype,p=h.addEvent,t=h.defined,n;(function(b){function h(b){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:b&&"hover"===b.state?1:0})}var m=[];b.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};
-b.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(b){var e={};!t(b.color)||b.state&&"normal"!==b.state||(e[this.colorProp||"fill"]=b.color);return e},pointAttribs:u.pointAttribs};b.compose=function(b){var e=b.prototype.pointClass;-1===m.indexOf(e)&&(m.push(e),p(e,"afterSetState",h));return b}})(n||(n={}));return n});t(b,"Series/Heatmap/HeatmapPoint.js",
-[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,h){var u=this&&this.__extends||function(){var b=function(h,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,e){b.__proto__=e}||function(b,e){for(var h in e)e.hasOwnProperty(h)&&(b[h]=e[h])};return b(h,e)};return function(h,e){function q(){this.constructor=h}b(h,e);h.prototype=null===e?Object.create(e):(q.prototype=e.prototype,new q)}}(),p=h.clamp,t=h.defined,n=h.extend,v=h.pick;b=function(b){function h(){var e=
-null!==b&&b.apply(this,arguments)||this;e.options=void 0;e.series=void 0;e.value=void 0;e.x=void 0;e.y=void 0;return e}u(h,b);h.prototype.applyOptions=function(e,h){e=b.prototype.applyOptions.call(this,e,h);e.formatPrefix=e.isNull||null===e.value?"null":"point";return e};h.prototype.getCellAttributes=function(){var b=this.series,h=b.options,m=(h.colsize||1)/2,u=(h.rowsize||1)/2,n=b.xAxis,r=b.yAxis,w=this.options.marker||b.options.marker;b=b.pointPlacementToXValue();var k=v(this.pointPadding,h.pointPadding,
-0),c={x1:p(Math.round(n.len-n.translate(this.x-m,!1,!0,!1,!0,-b)),-n.len,2*n.len),x2:p(Math.round(n.len-n.translate(this.x+m,!1,!0,!1,!0,-b)),-n.len,2*n.len),y1:p(Math.round(r.translate(this.y-u,!1,!0,!1,!0)),-r.len,2*r.len),y2:p(Math.round(r.translate(this.y+u,!1,!0,!1,!0)),-r.len,2*r.len)};[["width","x"],["height","y"]].forEach(function(b){var d=b[0];b=b[1];var a=b+"1",f=b+"2",e=Math.abs(c[a]-c[f]),h=w&&w.lineWidth||0,l=Math.abs(c[a]+c[f])/2;d=w&&w[d];t(d)&&d<e&&(d=d/2+h/2,c[a]=l-d,c[f]=l+d);k&&
-("y"===b&&(a=f,f=b+"1"),c[a]+=k,c[f]-=k)});return c};h.prototype.haloPath=function(b){if(!b)return[];var e=this.shapeArgs;return["M",e.x-b,e.y-b,"L",e.x-b,e.y+e.height+b,e.x+e.width+b,e.y+e.height+b,e.x+e.width+b,e.y-b,"Z"]};h.prototype.isValid=function(){return Infinity!==this.value&&-Infinity!==this.value};return h}(b.seriesTypes.scatter.prototype.pointClass);n(b.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1});return b});t(b,"Series/Heatmap/HeatmapSeries.js",[b["Core/Color/Color.js"],
-b["Series/ColorMapComposition.js"],b["Series/Heatmap/HeatmapPoint.js"],b["Core/Legend/LegendSymbol.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Renderer/SVG/SVGRenderer.js"],b["Core/Utilities.js"]],function(b,h,t,p,z,n,v){var u=this&&this.__extends||function(){var b=function(c,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return b(c,a)};return function(c,a){function d(){this.constructor=c}
-b(c,a);c.prototype=null===a?Object.create(a):(d.prototype=a.prototype,new d)}}(),m=z.series,e=z.seriesTypes,q=e.column,F=e.scatter,C=n.prototype.symbols,A=v.extend,r=v.fireEvent,w=v.isNumber,k=v.merge,c=v.pick;n=function(d){function g(){var a=null!==d&&d.apply(this,arguments)||this;a.colorAxis=void 0;a.data=void 0;a.options=void 0;a.points=void 0;a.valueMax=NaN;a.valueMin=NaN;return a}u(g,d);g.prototype.drawPoints=function(){var a=this;if((this.options.marker||{}).enabled||this._hasPointMarkers)m.prototype.drawPoints.call(this),
-this.points.forEach(function(b){b.graphic&&(b.graphic[a.chart.styledMode?"css":"animate"](a.colorAttribs(b)),null===b.value&&b.graphic.addClass("highcharts-null-point"))})};g.prototype.getExtremes=function(){var a=m.prototype.getExtremes.call(this,this.valueData),b=a.dataMin;a=a.dataMax;w(b)&&(this.valueMin=b);w(a)&&(this.valueMax=a);return m.prototype.getExtremes.call(this)};g.prototype.getValidPoints=function(a,b){return m.prototype.getValidPoints.call(this,a,b,!0)};g.prototype.hasData=function(){return!!this.processedXData.length};
-g.prototype.init=function(){m.prototype.init.apply(this,arguments);var a=this.options;a.pointRange=c(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1;C.ellipse=C.circle;a.marker&&(a.marker.r=a.borderRadius)};g.prototype.markerAttribs=function(a,b){var c=a.marker||{},d=this.options.marker||{},f=a.shapeArgs||{},g={};if(a.hasImage)return{x:a.plotX,y:a.plotY};if(b){var e=d.states[b]||{};var h=c.states&&c.states[b]||{};[["width","x"],["height","y"]].forEach(function(a){g[a[0]]=(h[a[0]]||
-e[a[0]]||f[a[0]])+(h[a[0]+"Plus"]||e[a[0]+"Plus"]||0);g[a[1]]=f[a[1]]+(f[a[0]]-g[a[0]])/2})}return b?g:f};g.prototype.pointAttribs=function(a,c){var d=m.prototype.pointAttribs.call(this,a,c),g=this.options||{},f=this.chart.options.plotOptions||{},e=f.series||{},h=f.heatmap||{};f=a&&a.options.borderColor||g.borderColor||h.borderColor||e.borderColor;e=a&&a.options.borderWidth||g.borderWidth||h.borderWidth||e.borderWidth||d["stroke-width"];d.stroke=a&&a.marker&&a.marker.lineColor||g.marker&&g.marker.lineColor||
-f||this.color;d["stroke-width"]=e;c&&(a=k(g.states[c],g.marker&&g.marker.states[c],a&&a.options.states&&a.options.states[c]||{}),c=a.brightness,d.fill=a.color||b.parse(d.fill).brighten(c||0).get(),d.stroke=a.lineColor);return d};g.prototype.setClip=function(a){var b=this.chart;m.prototype.setClip.apply(this,arguments);(!1!==this.options.clip||a)&&this.markerGroup.clip((a||this.clipBox)&&this.sharedClipKey?b.sharedClips[this.sharedClipKey]:b.clipRect)};g.prototype.translate=function(){var a=this.options,
-b=a.marker&&a.marker.symbol||"rect",c=C[b]?b:"rect",d=-1!==["circle","square"].indexOf(c);this.generatePoints();this.points.forEach(function(g){var e=g.getCellAttributes(),f={};f.x=Math.min(e.x1,e.x2);f.y=Math.min(e.y1,e.y2);f.width=Math.max(Math.abs(e.x2-e.x1),0);f.height=Math.max(Math.abs(e.y2-e.y1),0);var h=g.hasImage=0===(g.marker&&g.marker.symbol||b||"").indexOf("url");if(d){var l=Math.abs(f.width-f.height);f.x=Math.min(e.x1,e.x2)+(f.width<f.height?0:l/2);f.y=Math.min(e.y1,e.y2)+(f.width<f.height?
-l/2:0);f.width=f.height=Math.min(f.width,f.height)}l={plotX:(e.x1+e.x2)/2,plotY:(e.y1+e.y2)/2,clientX:(e.x1+e.x2)/2,shapeType:"path",shapeArgs:k(!0,f,{d:C[c](f.x,f.y,f.width,f.height,{r:a.borderRadius})})};h&&(g.marker={width:f.width,height:f.height});A(g,l)});r(this,"afterTranslate")};g.defaultOptions=k(F.defaultOptions,{animation:!1,borderRadius:0,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){var a=this.series.chart.numberFormatter,b=this.point.value;return w(b)?a(b,-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}}});return g}(F);A(n.prototype,{axisTypes:h.seriesMembers.axisTypes,colorKey:h.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:h.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:t,
-trackerGroups:h.seriesMembers.trackerGroups,alignDataLabel:q.prototype.alignDataLabel,colorAttribs:h.seriesMembers.colorAttribs,drawLegendSymbol:p.drawRectangle,getSymbol:m.prototype.getSymbol});h.compose(n);z.registerSeriesType("heatmap",n);"";"";return n});t(b,"masters/modules/heatmap.src.js",[b["Core/Globals.js"],b["Core/Axis/Color/ColorAxis.js"]],function(b,h){b.ColorAxis=h;h.compose(b.Chart,b.Fx,b.Legend,b.Series)})});
+(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/heatmap",["highcharts"],function(r){b(r);b.Highcharts=r;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function r(b,g,F,q){b.hasOwnProperty(g)||(b[g]=q.apply(null,F),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:b[g]}})))}b=b?b._modules:{};r(b,
+"Core/Axis/Color/ColorAxisComposition.js",[b["Core/Color/Color.js"],b["Core/Utilities.js"]],function(b,g){var m=b.parse,q=g.addEvent,z=g.extend,t=g.merge,u=g.pick,A=g.splat,n;(function(f){function b(){var a=this,d=this.options;this.colorAxis=[];d.colorAxis&&(d.colorAxis=A(d.colorAxis),d.colorAxis.forEach(function(d,c){d.index=c;new y(a,d)}))}function g(a){var d=this,c=function(c){c=a.allItems.indexOf(c);-1!==c&&(d.destroyItem(a.allItems[c]),a.allItems.splice(c,1))},e=[],h,x;(this.chart.colorAxis||
+[]).forEach(function(a){(h=a.options)&&h.showInLegend&&(h.dataClasses&&h.visible?e=e.concat(a.getDataClassLegendSymbols()):h.visible&&e.push(a),a.series.forEach(function(a){if(!a.options.showInLegend||h.dataClasses)"point"===a.options.legendType?a.points.forEach(function(a){c(a)}):c(a)}))});for(x=e.length;x--;)a.allItems.unshift(e[x])}function n(a){a.visible&&a.item.legendColor&&a.item.legendItem.symbol.attr({fill:a.item.legendColor})}function w(){var a=this.chart.colorAxis;a&&a.forEach(function(a,
+d,c){a.update({},c)})}function p(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function D(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]}function k(a){var d=this,c=a?"show":"hide";d.visible=d.options.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(d[a])d[a][c]()});this.series.buildKDTree()}function e(){var a=this,d=this.options.nullColor,c=this.colorAxis,e=this.colorKey;(this.data.length?
+this.data:this.points).forEach(function(h){var l=h.getNestedProperty(e);(l=h.options.color||(h.isNull||null===h.value?d:c&&"undefined"!==typeof l?c.toColor(l,h):h.color||a.color))&&h.color!==l&&(h.color=l,"point"===a.options.legendType&&h.legendItem&&h.legendItem.label&&a.chart.legend.colorizeItem(h,h.visible))})}function c(a){var d=a.prototype.createAxis;a.prototype.createAxis=function(a,c){if("colorAxis"!==a)return d.apply(this,arguments);var e=new y(this,t(c.axis,{index:this[a].length,isX:!1}));
+this.isDirtyLegend=!0;this.axes.forEach(function(a){a.series=[]});this.series.forEach(function(a){a.bindAxes();a.isDirtyData=!0});u(c.redraw,!0)&&this.redraw(c.animation);return e}}function a(){this.elem.attr("fill",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}function d(){this.elem.attr("stroke",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}var h=[],y;f.compose=function(f,l,v,C,m){y||(y=f);-1===h.indexOf(l)&&(h.push(l),f=l.prototype,f.collectionsWithUpdate.push("colorAxis"),f.collectionsWithInit.colorAxis=
+[f.addColorAxis],q(l,"afterGetAxes",b),c(l));-1===h.indexOf(v)&&(h.push(v),l=v.prototype,l.fillSetter=a,l.strokeSetter=d);-1===h.indexOf(C)&&(h.push(C),q(C,"afterGetAllItems",g),q(C,"afterColorizeItem",n),q(C,"afterUpdate",w));-1===h.indexOf(m)&&(h.push(m),z(m.prototype,{optionalAxis:"colorAxis",translateColors:e}),z(m.prototype.pointClass.prototype,{setVisible:k}),q(m,"afterTranslate",p,{order:1}),q(m,"bindAxes",D))};f.pointSetVisible=k})(n||(n={}));return n});r(b,"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}});r(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],
+b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,g,r,q,z,t,u,A){var n=this&&this.__extends||function(){var f=function(b,e){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var d in a)a.hasOwnProperty(d)&&(c[d]=a[d])};return f(b,e)};return function(b,e){function c(){this.constructor=b}f(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),f=g.parse,v=u.series,m=A.extend,B=A.isNumber,w=A.merge,p=A.pick;
+g=function(b){function k(e,c){var a=b.call(this,e,c)||this;a.beforePadding=!1;a.chart=void 0;a.coll="colorAxis";a.dataClasses=void 0;a.name="";a.options=void 0;a.stops=void 0;a.visible=!0;a.init(e,c);return a}n(k,b);k.compose=function(e,c,a,d){r.compose(k,e,c,a,d)};k.prototype.init=function(e,c){var a=e.options.legend||{},d=c.layout?"vertical"!==c.layout:"vertical"!==a.layout,h=c.visible;a=w(k.defaultColorAxisOptions,c,{showEmpty:!1,title:null,visible:a.enabled&&!1!==h});this.coll="colorAxis";this.side=
+c.side||d?2:1;this.reversed=c.reversed||!d;this.opposite=!d;b.prototype.init.call(this,e,a);this.userOptions.visible=h;c.dataClasses&&this.initDataClasses(c);this.initStops();this.horiz=d;this.zoomEnabled=!1};k.prototype.initDataClasses=function(e){var c=this.chart,a=this.legendItem=this.legendItem||{},d=e.dataClasses.length,h=this.options,b,x=0,l=c.options.chart.colorCount;this.dataClasses=b=[];a.labels=[];(e.dataClasses||[]).forEach(function(a,e){a=w(a);b.push(a);if(c.styledMode||!a.color)"category"===
+h.dataClassColor?(c.styledMode||(e=c.options.colors,l=e.length,a.color=e[x]),a.colorIndex=x,x++,x===l&&(x=0)):a.color=f(h.minColor).tweenTo(f(h.maxColor),2>d?.5:e/(d-1))})};k.prototype.hasData=function(){return!!(this.tickPositions||[]).length};k.prototype.setTickPositions=function(){if(!this.dataClasses)return b.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(e){e.color=
+f(e[1])})};k.prototype.setOptions=function(e){b.prototype.setOptions.call(this,e);this.options.crosshair=this.options.marker};k.prototype.setAxisSize=function(){var e=this.legendItem&&this.legendItem.symbol,c=this.chart,a=c.options.legend||{},d,h;e?(this.left=a=e.attr("x"),this.top=d=e.attr("y"),this.width=h=e.attr("width"),this.height=e=e.attr("height"),this.right=c.chartWidth-a-h,this.bottom=c.chartHeight-d-e,this.len=this.horiz?h:e,this.pos=this.horiz?a:d):this.len=(this.horiz?a.symbolWidth:a.symbolHeight)||
+k.defaultLegendLength};k.prototype.normalizedValue=function(e){this.logarithmic&&(e=this.logarithmic.log2lin(e));return 1-(this.max-e)/(this.max-this.min||1)};k.prototype.toColor=function(e,c){var a=this.dataClasses,d=this.stops,h;if(a)for(h=a.length;h--;){var b=a[h];var f=b.from;d=b.to;if(("undefined"===typeof f||e>=f)&&("undefined"===typeof d||e<=d)){var l=b.color;c&&(c.dataClass=h,c.colorIndex=b.colorIndex);break}}else{e=this.normalizedValue(e);for(h=d.length;h--&&!(e>d[h][0]););f=d[h]||d[h+1];
+d=d[h+1]||f;e=1-(d[0]-e)/(d[0]-f[0]||1);l=f.color.tweenTo(d.color,e)}return l};k.prototype.getOffset=function(){var e=this.legendItem&&this.legendItem.group,c=this.chart.axisOffset[this.side];if(e){this.axisParent=e;b.prototype.getOffset.call(this);var a=this.chart.legend;a.allItems.forEach(function(d){d instanceof k&&d.drawLegendSymbol(a,d)});a.render();this.chart.getMargins(!0);this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width);this.chart.axisOffset[this.side]=c}};k.prototype.setLegendColor=
+function(){var e=this.reversed,c=e?1:0;e=e?0:1;c=this.horiz?[c,0,e,0]:[0,e,0,c];this.legendColor={linearGradient:{x1:c[0],y1:c[1],x2:c[2],y2:c[3]},stops:this.stops}};k.prototype.drawLegendSymbol=function(e,c){c=c.legendItem||{};var a=e.padding,d=e.options,h=p(d.itemDistance,10),b=this.horiz,f=p(d.symbolWidth,b?k.defaultLegendLength:12),l=p(d.symbolHeight,b?12:k.defaultLegendLength);d=p(d.labelPadding,b?16:30);this.setLegendColor();c.symbol||(c.symbol=this.chart.renderer.rect(0,e.baseline-11,f,l).attr({zIndex:1}).add(c.group));
+c.labelWidth=f+a+(b?h:this.options.labels.x+this.maxLabelLength);c.labelHeight=l+a+(b?d:0)};k.prototype.setState=function(e){this.series.forEach(function(c){c.setState(e)})};k.prototype.setVisible=function(){};k.prototype.getSeriesExtremes=function(){var e=this.series,c=e.length,a;this.dataMin=Infinity;for(this.dataMax=-Infinity;c--;){var d=e[c];var h=d.colorKey=p(d.options.colorKey,d.colorKey,d.pointValKey,d.zoneAxis,"y");var b=d.pointArrayMap;var f=d[h+"Min"]&&d[h+"Max"];if(d[h+"Data"])var l=d[h+
+"Data"];else if(b){l=[];b=b.indexOf(h);var k=d.yData;if(0<=b&&k)for(a=0;a<k.length;a++)l.push(p(k[a][b],k[a]))}else l=d.yData;f?(d.minColorValue=d[h+"Min"],d.maxColorValue=d[h+"Max"]):(l=v.prototype.getExtremes.call(d,l),d.minColorValue=l.dataMin,d.maxColorValue=l.dataMax);"undefined"!==typeof d.minColorValue&&(this.dataMin=Math.min(this.dataMin,d.minColorValue),this.dataMax=Math.max(this.dataMax,d.maxColorValue));f||v.prototype.applyExtremes.call(d)}};k.prototype.drawCrosshair=function(e,c){var a=
+this.legendItem||{},d=c&&c.plotX,h=c&&c.plotY,f=this.pos,k=this.len;if(c){var l=this.toPixels(c.getNestedProperty(c.series.colorKey));l<f?l=f-2:l>f+k&&(l=f+k+2);c.plotX=l;c.plotY=this.len-l;b.prototype.drawCrosshair.call(this,e,c);c.plotX=d;c.plotY=h;this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};
+k.prototype.getPlotLinePath=function(e){var c=this.left,a=e.translatedValue,d=this.top;return B(a)?this.horiz?[["M",a-4,d-6],["L",a+4,d-6],["L",a,d],["Z"]]:[["M",c,a],["L",c-6,a+6],["L",c-6,a-6],["Z"]]:b.prototype.getPlotLinePath.call(this,e)};k.prototype.update=function(e,c){var a=this.chart.legend;this.series.forEach(function(a){a.isDirtyData=!0});(e.dataClasses&&a.allItems||this.dataClasses)&&this.destroyItems();b.prototype.update.call(this,e,c);this.legendItem&&this.legendItem.label&&(this.setLegendColor(),
+a.colorizeItem(this,!0))};k.prototype.destroyItems=function(){var e=this.chart,c=this.legendItem||{};if(c.label)e.legend.destroyItem(this);else if(c.labels){var a=0;for(c=c.labels;a<c.length;a++)e.legend.destroyItem(c[a])}e.isDirtyLegend=!0};k.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();b.prototype.destroy.apply(this,[].slice.call(arguments))};k.prototype.remove=function(e){this.destroyItems();b.prototype.remove.call(this,e)};k.prototype.getDataClassLegendSymbols=
+function(){var e=this,c=e.chart,a=e.legendItem&&e.legendItem.labels||[],d=c.options.legend,h=p(d.valueDecimals,-1),b=p(d.valueSuffix,""),f=function(a){return e.series.reduce(function(d,c){d.push.apply(d,c.points.filter(function(d){return d.dataClass===a}));return d},[])},l;a.length||e.dataClasses.forEach(function(d,k){var v=d.from,g=d.to,n=c.numberFormatter,y=!0;l="";"undefined"===typeof v?l="< ":"undefined"===typeof g&&(l="> ");"undefined"!==typeof v&&(l+=n(v,h)+b);"undefined"!==typeof v&&"undefined"!==
+typeof g&&(l+=" - ");"undefined"!==typeof g&&(l+=n(g,h)+b);a.push(m({chart:c,name:l,options:{},drawLegendSymbol:t.drawRectangle,visible:!0,isDataClass:!0,setState:function(a){for(var d=0,c=f(k);d<c.length;d++)c[d].setState(a)},setVisible:function(){this.visible=y=e.visible=!y;for(var a=0,d=f(k);a<d.length;a++)d[a].setVisible(y);c.legend.colorizeItem(this,y)}},d))});return a};k.defaultColorAxisOptions=q;k.defaultLegendLength=200;k.keepProps=["legendItem"];return k}(b);Array.prototype.push.apply(b.keepProps,
+g.keepProps);"";return g});r(b,"Series/ColorMapComposition.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,g){var m=b.seriesTypes.column.prototype,q=g.addEvent,r=g.defined,t;(function(b){function g(b){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:b&&"hover"===b.state?1:0})}var n=[];b.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};
+b.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(b){var f={};!r(b.color)||b.state&&"normal"!==b.state||(f[this.colorProp||"fill"]=b.color);return f},pointAttribs:m.pointAttribs};b.compose=function(b){var f=b.prototype.pointClass;-1===n.indexOf(f)&&(n.push(f),q(f,"afterSetState",g));return b}})(t||(t={}));return t});r(b,"Series/Heatmap/HeatmapPoint.js",
+[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,g){var m=this&&this.__extends||function(){var b=function(g,f){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,f){b.__proto__=f}||function(b,f){for(var g in f)f.hasOwnProperty(g)&&(b[g]=f[g])};return b(g,f)};return function(g,f){function v(){this.constructor=g}b(g,f);g.prototype=null===f?Object.create(f):(v.prototype=f.prototype,new v)}}(),q=g.clamp,r=g.defined,t=g.extend,u=g.pick;b=function(b){function g(){var f=
+null!==b&&b.apply(this,arguments)||this;f.options=void 0;f.series=void 0;f.value=void 0;f.x=void 0;f.y=void 0;return f}m(g,b);g.prototype.applyOptions=function(f,g){(this.isNull||null===this.value)&&delete this.color;b.prototype.applyOptions.call(this,f,g);this.formatPrefix=this.isNull||null===this.value?"null":"point";return this};g.prototype.getCellAttributes=function(){var b=this.series,g=b.options,m=(g.colsize||1)/2,n=(g.rowsize||1)/2,w=b.xAxis,p=b.yAxis,t=this.options.marker||b.options.marker;
+b=b.pointPlacementToXValue();var k=u(this.pointPadding,g.pointPadding,0),e={x1:q(Math.round(w.len-w.translate(this.x-m,!1,!0,!1,!0,-b)),-w.len,2*w.len),x2:q(Math.round(w.len-w.translate(this.x+m,!1,!0,!1,!0,-b)),-w.len,2*w.len),y1:q(Math.round(p.translate(this.y-n,!1,!0,!1,!0)),-p.len,2*p.len),y2:q(Math.round(p.translate(this.y+n,!1,!0,!1,!0)),-p.len,2*p.len)};[["width","x"],["height","y"]].forEach(function(c){var a=c[0];c=c[1];var d=c+"1",b=c+"2",f=Math.abs(e[d]-e[b]),g=t&&t.lineWidth||0,l=Math.abs(e[d]+
+e[b])/2;a=t&&t[a];r(a)&&a<f&&(a=a/2+g/2,e[d]=l-a,e[b]=l+a);k&&("y"===c&&(d=b,b=c+"1"),e[d]+=k,e[b]-=k)});return e};g.prototype.haloPath=function(b){if(!b)return[];var f=this.shapeArgs||{},g=f.x;g=void 0===g?0:g;var m=f.y;m=void 0===m?0:m;var n=f.width;n=void 0===n?0:n;f=f.height;f=void 0===f?0:f;return[["M",g-b,m-b],["L",g-b,m+f+b],["L",g+n+b,m+f+b],["L",g+n+b,m-b],["Z"]]};g.prototype.isValid=function(){return Infinity!==this.value&&-Infinity!==this.value};return g}(b.seriesTypes.scatter.prototype.pointClass);
+t(b.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1});return b});r(b,"Series/Heatmap/HeatmapSeries.js",[b["Core/Color/Color.js"],b["Series/ColorMapComposition.js"],b["Series/Heatmap/HeatmapPoint.js"],b["Core/Legend/LegendSymbol.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Renderer/SVG/SVGRenderer.js"],b["Core/Utilities.js"]],function(b,g,r,q,z,t,u){var m=this&&this.__extends||function(){var b=function(c,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=
+b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return b(c,a)};return function(c,a){function d(){this.constructor=c}b(c,a);c.prototype=null===a?Object.create(a):(d.prototype=a.prototype,new d)}}(),n=z.series,f=z.seriesTypes,v=f.column,E=f.scatter,B=t.prototype.symbols;t=u.extend;var w=u.fireEvent,p=u.isNumber,D=u.merge,k=u.pick;u=function(e){function c(){var a=null!==e&&e.apply(this,arguments)||this;a.colorAxis=void 0;a.data=void 0;a.options=void 0;a.points=void 0;a.valueMax=NaN;
+a.valueMin=NaN;return a}m(c,e);c.prototype.drawPoints=function(){var a=this;if((this.options.marker||{}).enabled||this._hasPointMarkers)n.prototype.drawPoints.call(this),this.points.forEach(function(b){b.graphic&&(b.graphic[a.chart.styledMode?"css":"animate"](a.colorAttribs(b)),null===b.value&&b.graphic.addClass("highcharts-null-point"))})};c.prototype.getExtremes=function(){var a=n.prototype.getExtremes.call(this,this.valueData),b=a.dataMin;a=a.dataMax;p(b)&&(this.valueMin=b);p(a)&&(this.valueMax=
+a);return n.prototype.getExtremes.call(this)};c.prototype.getValidPoints=function(a,b){return n.prototype.getValidPoints.call(this,a,b,!0)};c.prototype.hasData=function(){return!!this.processedXData.length};c.prototype.init=function(){e.prototype.init.apply(this,arguments);var a=this.options;a.pointRange=k(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1;B.ellipse=B.circle;a.marker&&(a.marker.r=a.borderRadius)};c.prototype.markerAttribs=function(a,b){var c=a.shapeArgs||{};if(a.hasImage)return{x:a.plotX,
+y:a.plotY};if(b&&"normal"!==b){var d=a.options.marker||{};a=this.options.marker||{};a=a.states&&a.states[b]||{};d=d.states&&d.states[b]||{};b=(d.width||a.width||c.width||0)+(d.widthPlus||a.widthPlus||0);a=(d.height||a.height||c.height||0)+(d.heightPlus||a.heightPlus||0);return{x:(c.x||0)+((c.width||0)-b)/2,y:(c.y||0)+((c.height||0)-a)/2,width:b,height:a}}return c};c.prototype.pointAttribs=function(a,c){var d=n.prototype.pointAttribs.call(this,a,c),e=this.options||{},f=this.chart.options.plotOptions||
+{},g=f.series||{},k=f.heatmap||{};f=a&&a.options.borderColor||e.borderColor||k.borderColor||g.borderColor;g=a&&a.options.borderWidth||e.borderWidth||k.borderWidth||g.borderWidth||d["stroke-width"];d.stroke=a&&a.marker&&a.marker.lineColor||e.marker&&e.marker.lineColor||f||this.color;d["stroke-width"]=g;c&&"normal"!==c&&(a=D(e.states&&e.states[c],e.marker&&e.marker.states&&e.marker.states[c],a&&a.options.states&&a.options.states[c]||{}),d.fill=a.color||b.parse(d.fill).brighten(a.brightness||0).get(),
+d.stroke=a.lineColor||d.stroke);return d};c.prototype.translate=function(){var a=this.options,b=a.marker&&a.marker.symbol||"rect",c=B[b]?b:"rect",e=-1!==["circle","square"].indexOf(c);this.generatePoints();this.points.forEach(function(d){var f=d.getCellAttributes(),g=Math.min(f.x1,f.x2),h=Math.min(f.y1,f.y2),k=Math.max(Math.abs(f.x2-f.x1),0),m=Math.max(Math.abs(f.y2-f.y1),0);d.hasImage=0===(d.marker&&d.marker.symbol||b||"").indexOf("url");e&&(h=Math.abs(k-m),g=Math.min(f.x1,f.x2)+(k<m?0:h/2),h=Math.min(f.y1,
+f.y2)+(k<m?h/2:0),k=m=Math.min(k,m));d.hasImage&&(d.marker={width:k,height:m});d.plotX=d.clientX=(f.x1+f.x2)/2;d.plotY=(f.y1+f.y2)/2;d.shapeType="path";d.shapeArgs=D(!0,{x:g,y:h,width:k,height:m},{d:B[c](g,h,k,m,{r:a.borderRadius})})});w(this,"afterTranslate")};c.defaultOptions=D(E.defaultOptions,{animation:!1,borderRadius:0,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){var a=this.series.chart.numberFormatter,b=this.point.value;return p(b)?a(b,-1):""},inside:!0,verticalAlign:"middle",
+crop:!1,overflow:"allow",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}}});return c}(E);t(u.prototype,{axisTypes:g.seriesMembers.axisTypes,colorKey:g.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:g.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:r,specialGroup:"group",
+trackerGroups:g.seriesMembers.trackerGroups,alignDataLabel:v.prototype.alignDataLabel,colorAttribs:g.seriesMembers.colorAttribs,drawLegendSymbol:q.drawRectangle,getSymbol:n.prototype.getSymbol});g.compose(u);z.registerSeriesType("heatmap",u);"";"";return u});r(b,"masters/modules/heatmap.src.js",[b["Core/Globals.js"],b["Core/Axis/Color/ColorAxis.js"]],function(b,g){b.ColorAxis=g;g.compose(b.Chart,b.Fx,b.Legend,b.Series)})});
 //# sourceMappingURL=heatmap.js.map

+ 9 - 9
nicegui/elements/lib/highcharts_modules/heikinashi.js

@@ -1,5 +1,5 @@
 /*
- Highstock JS v10.3.2 (2022-11-28)
+ Highstock JS v10.3.3 (2023-01-20)
 
  HeikinAshi series type for Highcharts Stock
 
@@ -7,12 +7,12 @@
 
  License: www.highcharts.com/license
 */
-(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/heikinashi",["highcharts","highcharts/modules/stock"],function(e){a(e);a.Highcharts=e;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function e(a,b,g,c){a.hasOwnProperty(b)||(a[b]=c.apply(null,g),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:a[b]}})))}
-a=a?a._modules:{};e(a,"Series/HeikinAshi/HeikinAshiPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var b=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function g(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(g.prototype=b.prototype,new g)}}();return function(a){function c(){return null!==
-a&&a.apply(this,arguments)||this}b(c,a);return c}(a.seriesTypes.candlestick.prototype.pointClass)});e(a,"Series/HeikinAshi/HeikinAshiSeriesDefaults.js",[],function(){"";return{dataGrouping:{groupAll:!0}}});e(a,"Series/HeikinAshi/HeikinAshiSeries.js",[a["Series/HeikinAshi/HeikinAshiPoint.js"],a["Series/HeikinAshi/HeikinAshiSeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,e,c){function g(){this.series.forEach(function(a){a.is("heikinashi")&&(a.heikiashiData.length=
-0,a.getHeikinashiData())})}function n(){for(var a=this.points,c=this.heikiashiData,d=this.cropStart||0,h=this.processedYData.length=0;h<a.length;h++){var f=a[h],b=c[h+d];f.open=b[0];f.high=b[1];f.low=b[2];f.close=b[3];this.processedYData.push([f.open,f.high,f.low,f.close])}}function p(){this.heikiashiData.length&&(this.heikiashiData.length=0)}var q=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,
-d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return a(b,d)};return function(b,d){function c(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}(),l=e.seriesTypes.candlestick,m=c.addEvent,r=c.merge,k=[];c=function(a){function c(){var d=null!==a&&a.apply(this,arguments)||this;d.data=void 0;d.heikiashiData=[];d.options=void 0;d.points=void 0;d.yData=void 0;d.processedYData=void 0;return d}q(c,a);c.compose=function(a,b){for(var d=2;d<arguments.length;d++);
-l.compose(a);-1===k.indexOf(b)&&(k.push(b),m(b,"postProcessData",g));-1===k.indexOf(c)&&(k.push(c),m(c,"afterTranslate",n),m(c,"updatedData",p))};c.prototype.getHeikinashiData=function(){var a=this.allGroupedData||this.yData,c=this.heikiashiData;if(!c.length&&a&&a.length){this.modifyFirstPointValue(a[0]);for(var b=1;b<a.length;b++)this.modifyDataPoint(a[b],c[b-1])}this.heikiashiData=c};c.prototype.init=function(){a.prototype.init.apply(this,arguments);this.heikiashiData=[]};c.prototype.modifyFirstPointValue=
-function(a){this.heikiashiData.push([(a[0]+a[1]+a[2]+a[3])/4,a[1],a[2],(a[0]+a[3])/2])};c.prototype.modifyDataPoint=function(a,b){b=(b[0]+b[3])/2;var c=(a[0]+a[1]+a[2]+a[3])/4;this.heikiashiData.push([b,Math.max(a[1],c,b),Math.min(a[2],c,b),c])};c.defaultOptions=r(l.defaultOptions,b);return c}(l);c.prototype.pointClass=a;e.registerSeriesType("heikinashi",c);return c});e(a,"masters/modules/heikinashi.src.js",[a["Core/Globals.js"],a["Series/HeikinAshi/HeikinAshiSeries.js"]],function(a,b){b.compose(a.Series,
-a.Axis)})});
+(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/heikinashi",["highcharts","highcharts/modules/stock"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,e,b,c){a.hasOwnProperty(e)||(a[e]=c.apply(null,b),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}
+a=a?a._modules:{};b(a,"Series/HeikinAshi/HeikinAshiPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var e=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function e(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(e.prototype=b.prototype,new e)}}();a=a.seriesTypes;var b=a.hlc.prototype.pointClass;
+return function(a){function c(){var c=null!==a&&a.apply(this,arguments)||this;c.resolveColor=b.prototype.resolveColor;return c}e(c,a);return c}(a.candlestick.prototype.pointClass)});b(a,"Series/HeikinAshi/HeikinAshiSeriesDefaults.js",[],function(){"";return{dataGrouping:{groupAll:!0}}});b(a,"Series/HeikinAshi/HeikinAshiSeries.js",[a["Series/HeikinAshi/HeikinAshiPoint.js"],a["Series/HeikinAshi/HeikinAshiSeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,m,c){function e(){this.series.forEach(function(a){a.is("heikinashi")&&
+(a.heikiashiData.length=0,a.getHeikinashiData())})}function n(){for(var a=this.points,c=this.heikiashiData,d=this.cropStart||0,g=this.processedYData.length=0;g<a.length;g++){var f=a[g],b=c[g+d];f.open=b[0];f.high=b[1];f.low=b[2];f.close=b[3];this.processedYData.push([f.open,f.high,f.low,f.close])}}function p(){this.heikiashiData.length&&(this.heikiashiData.length=0)}var q=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=
+d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return a(b,d)};return function(b,d){function c(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}(),k=m.seriesTypes.candlestick,l=c.addEvent,r=c.merge,h=[];c=function(a){function c(){var d=null!==a&&a.apply(this,arguments)||this;d.data=void 0;d.heikiashiData=[];d.options=void 0;d.points=void 0;d.yData=void 0;d.processedYData=void 0;return d}q(c,a);c.compose=function(a,b){for(var d=2;d<
+arguments.length;d++);k.compose(a);-1===h.indexOf(b)&&(h.push(b),l(b,"postProcessData",e));-1===h.indexOf(c)&&(h.push(c),l(c,"afterTranslate",n),l(c,"updatedData",p))};c.prototype.getHeikinashiData=function(){var a=this.allGroupedData||this.yData,c=this.heikiashiData;if(!c.length&&a&&a.length){this.modifyFirstPointValue(a[0]);for(var b=1;b<a.length;b++)this.modifyDataPoint(a[b],c[b-1])}this.heikiashiData=c};c.prototype.init=function(){a.prototype.init.apply(this,arguments);this.heikiashiData=[]};
+c.prototype.modifyFirstPointValue=function(a){this.heikiashiData.push([(a[0]+a[1]+a[2]+a[3])/4,a[1],a[2],(a[0]+a[3])/2])};c.prototype.modifyDataPoint=function(a,b){b=(b[0]+b[3])/2;var c=(a[0]+a[1]+a[2]+a[3])/4;this.heikiashiData.push([b,Math.max(a[1],c,b),Math.min(a[2],c,b),c])};c.defaultOptions=r(k.defaultOptions,b);return c}(k);c.prototype.pointClass=a;m.registerSeriesType("heikinashi",c);return c});b(a,"masters/modules/heikinashi.src.js",[a["Core/Globals.js"],a["Series/HeikinAshi/HeikinAshiSeries.js"]],
+function(a,b){b.compose(a.Series,a.Axis)})});
 //# sourceMappingURL=heikinashi.js.map

+ 1 - 1
nicegui/elements/lib/highcharts_modules/histogram-bellcurve.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2010-2021 Highsoft AS
  Author: Sebastian Domas

+ 1 - 1
nicegui/elements/lib/highcharts_modules/hollowcandlestick.js

@@ -1,5 +1,5 @@
 /*
- Highstock JS v10.3.2 (2022-11-28)
+ Highstock JS v10.3.3 (2023-01-20)
 
  Hollow Candlestick series type for Highcharts Stock
 

+ 10 - 10
nicegui/elements/lib/highcharts_modules/item-series.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Item series type for Highcharts
 
@@ -9,13 +9,13 @@
 */
 (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/item-series",["highcharts"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,e,c,b){a.hasOwnProperty(e)||(a[e]=b.apply(null,c),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};
 b(a,"Series/Item/ItemPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var c=this&&this.__extends||function(){var a=function(b,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f])};return a(b,f)};return function(b,f){function e(){this.constructor=b}a(b,f);b.prototype=null===f?Object.create(f):(e.prototype=f.prototype,new e)}}(),b=a.series;e=e.extend;a=function(a){function b(){var b=
-null!==a&&a.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}c(b,a);return b}(a.seriesTypes.pie.prototype.pointClass);e(a.prototype,{haloPath:b.prototype.pointClass.prototype.haloPath});return a});b(a,"Series/Item/ItemSeries.js",[a["Core/Globals.js"],a["Series/Item/ItemPoint.js"],a["Core/Defaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,c,y,g){var e=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof
-Array&&function(a,d){a.__proto__=d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return a(b,d)};return function(b,d){function x(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(x.prototype=d.prototype,new x)}}(),f=c.defaultOptions,z=y.seriesTypes.pie,F=g.defined,A=g.extend,J=g.fireEvent,q=g.isNumber,B=g.merge,K=g.pick;c=function(b){function c(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}e(c,b);c.prototype.animate=
-function(a){a?this.group.attr({opacity:0}):this.group.animate({opacity:1},this.options.animation)};c.prototype.drawDataLabels=function(){this.center&&this.slots?a.seriesTypes.pie.prototype.drawDataLabels.call(this):this.points.forEach(function(a){a.destroyElements({dataLabel:1})})};c.prototype.drawPoints=function(){var a=this,b=this.options,c=a.chart.renderer,e=b.marker,f=this.borderWidth%2?.5:1,C=0,t=this.getRows(),g=Math.ceil(this.total/t),u=this.chart.plotWidth/g,v=this.chart.plotHeight/t,w=this.itemSize||
-Math.min(u,v);this.points.forEach(function(d){var n,x,l=d.marker||{},p=l.symbol||e.symbol;l=K(l.radius,e.radius);var H=F(l)?2*l:w,r=H*b.itemPadding,I;d.graphics=n=d.graphics||[];a.chart.styledMode||(x=a.pointAttribs(d,d.selected&&"select"));if(!d.isNull&&d.visible){d.graphic||(d.graphic=c.g("point").add(a.group));for(var h=0;h<(d.y||0);h++){if(a.center&&a.slots){var m=a.slots.shift();var k=m.x-w/2;m=m.y-w/2}else"horizontal"===b.layout?(k=C%g*u,m=v*Math.floor(C/g)):(k=u*Math.floor(C/t),m=C%t*v);k+=
-r;m+=r;var q=I=Math.round(H-2*r);a.options.crisp&&(k=Math.round(k)-f,m=Math.round(m)+f);k={x:k,y:m,width:I,height:q};"undefined"!==typeof l&&(k.r=l);n[h]?n[h].animate(k):(x&&A(k,x),n[h]=c.symbol(p,void 0,void 0,void 0,void 0,{backgroundSize:"within"}).attr(k).add(d.graphic));n[h].isActive=!0;C++}}n.forEach(function(a,b){a.isActive?a.isActive=!1:(a.destroy(),n.splice(b,1))})})};c.prototype.getRows=function(){var a=this.options.rows;if(!a){var b=this.chart.plotWidth/this.chart.plotHeight;a=Math.sqrt(this.total);
-if(1<b)for(a=Math.ceil(a);0<a;){var c=this.total/a;if(c/a>b)break;a--}else for(a=Math.floor(a);a<this.total;){c=this.total/a;if(c/a<b)break;a++}}return a};c.prototype.getSlots=function(){function a(a){0<E&&(a.row.colCount--,E--)}for(var b=this.center,c=b[2],e=b[3],f,g=this.slots,t,q,u,v,w,y,n,D,l=0,p,G=this.endAngleRad-this.startAngleRad,r=Number.MAX_VALUE,z,h,m,k=this.options.rows,A=(c-e)/c,B=0===G%(2*Math.PI),F=this.total||0;r>F+(h&&B?h.length:0);)for(z=r,r=g.length=0,h=m,m=[],l++,p=c/l/2,k?(e=
-(p-k)/p*c,0<=e?p=k:(e=0,A=1)):p=Math.floor(p*A),f=p;0<f;f--)u=(e+f/p*(c-e-l))/2,v=G*u,w=Math.ceil(v/l),m.push({rowRadius:u,rowLength:v,colCount:w}),r+=w+1;if(h){for(var E=z-this.total-(B?h.length:0);0<E;)h.map(function(a){return{angle:a.colCount/a.rowLength,row:a}}).sort(function(a,b){return b.angle-a.angle}).slice(0,Math.min(E,Math.ceil(h.length/2))).forEach(a);h.forEach(function(a){var c=a.rowRadius;y=(a=a.colCount)?G/a:0;for(D=0;D<=a;D+=1)n=this.startAngleRad+D*y,t=b[0]+Math.cos(n)*c,q=b[1]+Math.sin(n)*
-c,g.push({x:t,y:q,angle:n})},this);g.sort(function(a,b){return a.angle-b.angle});this.itemSize=l;return g}};c.prototype.translate=function(b){0===this.total&&q(this.options.startAngle)&&q(this.options.endAngle)&&(this.center=this.getCenter());this.slots||(this.slots=[]);q(this.options.startAngle)&&q(this.options.endAngle)?(a.seriesTypes.pie.prototype.translate.apply(this,arguments),this.slots=this.getSlots()):(this.generatePoints(),J(this,"afterTranslate"))};c.defaultOptions=B(z.defaultOptions,{endAngle:void 0,
-innerSize:"40%",itemPadding:.1,layout:"vertical",marker:B(f.plotOptions.line.marker,{radius:null}),rows:void 0,crisp:!1,showInLegend:!0,startAngle:void 0});return c}(z);A(c.prototype,{markerAttribs:void 0});c.prototype.pointClass=b;y.registerSeriesType("item",c);"";return c});b(a,"masters/modules/item-series.src.js",[],function(){})});
+null!==a&&a.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}c(b,a);return b}(a.seriesTypes.pie.prototype.pointClass);e(a.prototype,{haloPath:b.prototype.pointClass.prototype.haloPath});return a});b(a,"Series/Item/ItemSeries.js",[a["Core/Globals.js"],a["Series/Item/ItemPoint.js"],a["Core/Defaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b,c,x,h){var e=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof
+Array&&function(a,d){a.__proto__=d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return a(b,d)};return function(b,d){function q(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(q.prototype=d.prototype,new q)}}(),f=c.defaultOptions,y=x.seriesTypes.pie,J=h.defined,z=h.extend,K=h.fireEvent,p=h.isNumber,C=h.merge,L=h.pick;c=function(b){function c(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}e(c,b);c.prototype.animate=
+function(a){a?this.group.attr({opacity:0}):this.group.animate({opacity:1},this.options.animation)};c.prototype.drawDataLabels=function(){this.center&&this.slots?a.seriesTypes.pie.prototype.drawDataLabels.call(this):this.points.forEach(function(a){a.destroyElements({dataLabel:1})})};c.prototype.drawPoints=function(){var a=this,b=this.options,c=a.chart.renderer,e=b.marker,f=this.borderWidth%2?.5:1,A=0,t=this.getRows(),h=Math.ceil(this.total/t),u=this.chart.plotWidth/h,v=this.chart.plotHeight/t,w=this.itemSize||
+Math.min(u,v);this.points.forEach(function(d){var q,G,l=d.marker||{},n=l.symbol||e.symbol;l=L(l.radius,e.radius);var I=J(l)?2*l:w,r=I*b.itemPadding,B;d.graphics=q=d.graphics||[];a.chart.styledMode||(G=a.pointAttribs(d,d.selected&&"select"));if(!d.isNull&&d.visible){d.graphic||(d.graphic=c.g("point").add(a.group));for(var m=0;m<(d.y||0);m++){if(a.center&&a.slots){var g=a.slots.shift();var k=g.x-w/2;g=g.y-w/2}else"horizontal"===b.layout?(k=A%h*u,g=v*Math.floor(A/h)):(k=u*Math.floor(A/t),g=A%t*v);k+=
+r;g+=r;var p=B=Math.round(I-2*r);a.options.crisp&&(k=Math.round(k)-f,g=Math.round(g)+f);k={x:k,y:g,width:B,height:p};"undefined"!==typeof l&&(k.r=l);(g=q[m])?g.animate(k):(G&&z(k,G),g=c.symbol(n,void 0,void 0,void 0,void 0,{backgroundSize:"within"}).attr(k).add(d.graphic));g.isActive=!0;q[m]=g;A++}}q.forEach(function(a,b){a&&(a.isActive?a.isActive=!1:(a.destroy(),q.splice(b,1)))})})};c.prototype.getRows=function(){var a=this.options.rows;if(!a){var b=this.chart.plotWidth/this.chart.plotHeight;a=Math.sqrt(this.total);
+if(1<b)for(a=Math.ceil(a);0<a;){var c=this.total/a;if(c/a>b)break;a--}else for(a=Math.floor(a);a<this.total;){c=this.total/a;if(c/a<b)break;a++}}return a};c.prototype.getSlots=function(){function a(a){0<F&&(a.row.colCount--,F--)}for(var b=this.center,c=b[2],e=b[3],f,h=this.slots,t,p,u,v,w,x,D,E,l=0,n,H=this.endAngleRad-this.startAngleRad,r=Number.MAX_VALUE,B,m,g,k=this.options.rows,y=(c-e)/c,z=0===H%(2*Math.PI),C=this.total||0;r>C+(m&&z?m.length:0);)for(B=r,r=h.length=0,m=g,g=[],l++,n=c/l/2,k?(e=
+(n-k)/n*c,0<=e?n=k:(e=0,y=1)):n=Math.floor(n*y),f=n;0<f;f--)u=(e+f/n*(c-e-l))/2,v=H*u,w=Math.ceil(v/l),g.push({rowRadius:u,rowLength:v,colCount:w}),r+=w+1;if(m){for(var F=B-this.total-(z?m.length:0);0<F;)m.map(function(a){return{angle:a.colCount/a.rowLength,row:a}}).sort(function(a,b){return b.angle-a.angle}).slice(0,Math.min(F,Math.ceil(m.length/2))).forEach(a);m.forEach(function(a){var c=a.rowRadius;x=(a=a.colCount)?H/a:0;for(E=0;E<=a;E+=1)D=this.startAngleRad+E*x,t=b[0]+Math.cos(D)*c,p=b[1]+Math.sin(D)*
+c,h.push({x:t,y:p,angle:D})},this);h.sort(function(a,b){return a.angle-b.angle});this.itemSize=l;return h}};c.prototype.translate=function(b){0===this.total&&p(this.options.startAngle)&&p(this.options.endAngle)&&(this.center=this.getCenter());this.slots||(this.slots=[]);p(this.options.startAngle)&&p(this.options.endAngle)?(a.seriesTypes.pie.prototype.translate.apply(this,arguments),this.slots=this.getSlots()):(this.generatePoints(),K(this,"afterTranslate"))};c.defaultOptions=C(y.defaultOptions,{endAngle:void 0,
+innerSize:"40%",itemPadding:.1,layout:"vertical",marker:C(f.plotOptions.line.marker,{radius:null}),rows:void 0,crisp:!1,showInLegend:!0,startAngle:void 0});return c}(y);z(c.prototype,{markerAttribs:void 0});c.prototype.pointClass=b;x.registerSeriesType("item",c);"";return c});b(a,"masters/modules/item-series.src.js",[],function(){})});
 //# sourceMappingURL=item-series.js.map

+ 7 - 7
nicegui/elements/lib/highcharts_modules/lollipop.js

@@ -1,14 +1,14 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Sebastian Bochan, Rafal Sebestjanski
 
  License: www.highcharts.com/license
 */
-(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/lollipop",["highcharts"],function(c){b(c);b.Highcharts=c;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function c(b,d,f,c){b.hasOwnProperty(d)||(b[d]=c.apply(null,f),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:b[d]}})))}b=b?b._modules:{};c(b,
-"Series/Lollipop/LollipopPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,d){var f=this&&this.__extends||function(){var b=function(a,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var h in a)a.hasOwnProperty(h)&&(b[h]=a[h])};return b(a,e)};return function(a,e){function d(){this.constructor=a}b(a,e);a.prototype=null===e?Object.create(e):(d.prototype=e.prototype,new d)}}(),c=b.series.prototype.pointClass.prototype,
-a=b.seriesTypes;b=a.area.prototype;var g=d.isObject;d=d.extend;a=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}f(a,b);a.prototype.init=function(b,a,d){g(a)&&"low"in a&&(a.y=a.low,delete a.low);return c.init.apply(this,arguments)};return a}(a.dumbbell.prototype.pointClass);d(a.prototype,{pointSetState:b.pointClass.prototype.setState,isValid:c.isValid});return a});c(b,"Series/Lollipop/LollipopSeries.js",[b["Series/Lollipop/LollipopPoint.js"],
-b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,d,c){var f=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return b(a,c)};return function(a,c){function d(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),a=d.seriesTypes,g=a.area.prototype,l=a.column.prototype,k=a.dumbbell,
-e=c.pick,m=c.merge;c=c.extend;a=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}f(a,b);a.prototype.toYData=function(a){return[e(a.y,a.low)]};a.defaultOptions=m(k.defaultOptions,{lowColor:void 0,threshold:0,connectorWidth:1,groupPadding:.2,pointPadding:.1,states:{hover:{lineWidthPlus:0,connectorWidthPlus:1,halo:!1}},tooltip:{pointFormat:'<span style="color:{series.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>'}});
-return a}(k);c(a.prototype,{pointArrayMap:["y"],pointValKey:"y",translatePoint:g.translate,drawPoint:g.drawPoints,drawDataLabels:l.drawDataLabels,setShapeArgs:l.translate,pointClass:b});d.registerSeriesType("lollipop",a);"";return a});c(b,"masters/modules/lollipop.src.js",[],function(){})});
+(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/lollipop",["highcharts"],function(d){b(d);b.Highcharts=d;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function d(b,c,d,a){b.hasOwnProperty(c)||(b[c]=a.apply(null,d),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:c,module:b[c]}})))}b=b?b._modules:{};d(b,
+"Series/Lollipop/LollipopPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,c){var d=this&&this.__extends||function(){var b=function(a,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var h in a)a.hasOwnProperty(h)&&(b[h]=a[h])};return b(a,e)};return function(a,e){function c(){this.constructor=a}b(a,e);a.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),a=b.seriesTypes,k=a.scatter.prototype.pointClass;
+a=a.dumbbell.prototype.pointClass;c=c.extend;b=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.series=void 0;a.plotX=void 0;return a}d(a,b);return a}(b.series.prototype.pointClass);c(b.prototype,{destroy:a.prototype.destroy,pointSetState:k.prototype.setState,setState:a.prototype.setState});return b});d(b,"Series/Lollipop/LollipopSeries.js",[b["Series/Lollipop/LollipopPoint.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Series/Series.js"],b["Core/Utilities.js"]],
+function(b,c,d,a){var k=this&&this.__extends||function(){var b=function(a,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return b(a,c)};return function(a,c){function d(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),g=c.seriesTypes,f=g.column.prototype;g=g.dumbbell.prototype;var e=a.extend,l=a.merge;a=function(b){function a(){var a=null!==
+b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}k(a,b);a.prototype.drawPoints=function(){var a=this.points.length,c=0;for(b.prototype.drawPoints.apply(this,arguments);c<a;){var d=this.points[c];this.drawConnector(d);c++}};a.defaultOptions=l(d.defaultOptions,{threshold:0,connectorWidth:1,groupPadding:.2,pointPadding:.1,states:{hover:{lineWidthPlus:0,connectorWidthPlus:1,halo:!1}},lineWidth:0,dataLabels:{align:void 0,verticalAlign:void 0},pointRange:1});return a}(d);
+e(a.prototype,{alignDataLabel:f.alignDataLabel,crispCol:f.crispCol,drawConnector:g.drawConnector,drawDataLabels:f.drawDataLabels,getColumnMetrics:f.getColumnMetrics,getConnectorAttribs:g.getConnectorAttribs,pointClass:b,translate:f.translate});c.registerSeriesType("lollipop",a);"";return a});d(b,"masters/modules/lollipop.src.js",[],function(){})});
 //# sourceMappingURL=lollipop.js.map

+ 1 - 1
nicegui/elements/lib/highcharts_modules/marker-clusters.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Marker clusters module for Highcharts
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/networkgraph.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Force directed graph module
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/no-data-to-display.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Plugin for displaying a message when there is no data visible in chart.
 

+ 2 - 2
nicegui/elements/lib/highcharts_modules/offline-exporting.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Client side exporting module
 
@@ -10,7 +10,7 @@
 (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts","highcharts/modules/exporting"],function(e){a(e);a.Highcharts=e;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function e(a,k,b,e){a.hasOwnProperty(k)||(a[k]=e.apply(null,b),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:k,
 module:a[k]}})))}a=a?a._modules:{};e(a,"Extensions/DownloadURL.js",[a["Core/Globals.js"]],function(a){var k=a.isSafari,b=a.win,e=b.document,m=b.URL||b.webkitURL||b,q=a.dataURLtoBlob=function(a){if((a=a.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<a.length&&b.atob&&b.ArrayBuffer&&b.Uint8Array&&b.Blob&&m.createObjectURL){var u=b.atob(a[3]),f=new b.ArrayBuffer(u.length);f=new b.Uint8Array(f);for(var n=0;n<f.length;++n)f[n]=u.charCodeAt(n);a=new b.Blob([f],{type:a[1]});
 return m.createObjectURL(a)}};a=a.downloadURL=function(a,m){var f=b.navigator,n=e.createElement("a");if("string"===typeof a||a instanceof String||!f.msSaveOrOpenBlob){a="".concat(a);f=/Edge\/\d+/.test(f.userAgent);if(k&&"string"===typeof a&&0===a.indexOf("data:application/pdf")||f||2E6<a.length)if(a=q(a)||"",!a)throw Error("Failed to convert to blob");if("undefined"!==typeof n.download)n.href=a,n.download=m,e.body.appendChild(n),n.click(),e.body.removeChild(n);else try{var z=b.open(a,"chart");if("undefined"===
-typeof z||null===z)throw Error("Failed to open window");}catch(h){b.location.href=a}}else f.msSaveOrOpenBlob(a,m)};return{dataURLtoBlob:q,downloadURL:a}});e(a,"Extensions/OfflineExporting/OfflineExportingDefaults.js",[],function(){return{libURL:"https://code.highcharts.com/10.3.2/lib/",menuItemDefinitions:{downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},downloadSVG:{textKey:"downloadSVG",
+typeof z||null===z)throw Error("Failed to open window");}catch(h){b.location.href=a}}else f.msSaveOrOpenBlob(a,m)};return{dataURLtoBlob:q,downloadURL:a}});e(a,"Extensions/OfflineExporting/OfflineExportingDefaults.js",[],function(){return{libURL:"https://code.highcharts.com/10.3.3/lib/",menuItemDefinitions:{downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},downloadSVG:{textKey:"downloadSVG",
 onclick:function(){this.exportChartLocal({type:"image/svg+xml"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChartLocal({type:"application/pdf"})}}}}});e(a,"Extensions/OfflineExporting/OfflineExporting.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Chart/Chart.js"],a["Core/Defaults.js"],a["Extensions/DownloadURL.js"],a["Extensions/Exporting/Exporting.js"],a["Core/Globals.js"],a["Core/HttpUtilities.js"],a["Extensions/OfflineExporting/OfflineExportingDefaults.js"],a["Core/Utilities.js"]],
 function(a,e,b,G,C,q,u,H,f){var n=b.defaultOptions,k=G.downloadURL,h=q.win,m=q.doc,I=u.ajax,J=f.addEvent,A=f.error,K=f.extend,L=f.fireEvent,B=f.merge;a.allowedAttributes.push("data-z-index","fill-opacity","rx","ry","stroke-dasharray","stroke-linejoin","text-anchor","transform","version","viewBox","visibility","xmlns","xmlns:xlink");a.allowedTags.push("desc","clippath","g");var F=[],x;(function(b){function f(a,g){var c=this,d=B(c.options.exporting,a),t=function(a){!1===d.fallbackToExportServer?d.error?
 d.error(d,a):A(28,!0):c.exportChart(d)};a=function(){return[].some.call(c.container.getElementsByTagName("image"),function(a){a=a.getAttribute("href");return""!==a&&"string"===typeof a&&0!==a.indexOf("data:")})};q.isMS&&c.styledMode&&!C.inlineAllowlist.length&&C.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,

+ 1 - 1
nicegui/elements/lib/highcharts_modules/oldie-polyfills.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Old IE (v6, v7, v8) array polyfills for Highcharts v7+.
 

+ 2 - 2
nicegui/elements/lib/highcharts_modules/oldie.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Old IE (v6, v7, v8) module for Highcharts v6+.
 
@@ -12,7 +12,7 @@
 [c["Core/Utilities.js"]],function(c){var p=c.addEvent,t=function(){return function(c){this.axis=c}}();return function(){function c(){}c.compose=function(r){r.keepProps.push("vml");p(r,"destroy",c.onDestroy);p(r,"init",c.onInit);p(r,"render",c.onRender)};c.onDestroy=function(){var c=this.vml;if(c){var p;["backFrame","bottomFrame","sideFrame"].forEach(function(r){(p=c[r])&&(c[r]=p.destroy())},this)}};c.onInit=function(){this.vml||(this.vml=new t(this))};c.onRender=function(){var c=this.vml;c.sideFrame&&
 (c.sideFrame.css({zIndex:0}),c.sideFrame.front.attr({fill:c.sideFrame.color}));c.bottomFrame&&(c.bottomFrame.css({zIndex:1}),c.bottomFrame.front.attr({fill:c.bottomFrame.color}));c.backFrame&&(c.backFrame.css({zIndex:0}),c.backFrame.front.attr({fill:c.backFrame.color}))};return c}()});q(c,"Extensions/Oldie/VMLRenderer3D.js",[c["Core/Axis/Axis.js"],c["Core/Defaults.js"],c["Extensions/Oldie/VMLAxis3D.js"]],function(c,m,t){var p=m.setOptions;return function(){function e(){}e.compose=function(e,m){var h=
 m.prototype;e=e.prototype;p({animate:!1});e.face3d=h.face3d;e.polyhedron=h.polyhedron;e.elements3d=h.elements3d;e.element3d=h.element3d;e.cuboid=h.cuboid;e.cuboidPath=h.cuboidPath;e.toLinePath=h.toLinePath;e.toLineSegments=h.toLineSegments;e.arc3d=function(c){c=h.arc3d.call(this,c);c.css({zIndex:c.zIndex});return c};e.arc3dPath=h.arc3dPath;t.compose(c)};return e}()});q(c,"Extensions/Oldie/Oldie.js",[c["Core/Chart/Chart.js"],c["Core/Color/Color.js"],c["Core/Defaults.js"],c["Core/Globals.js"],c["Core/Pointer.js"],
-c["Core/Renderer/RendererRegistry.js"],c["Core/Renderer/SVG/SVGElement.js"],c["Core/Renderer/SVG/SVGRenderer.js"],c["Core/Utilities.js"],c["Extensions/Oldie/VMLRenderer3D.js"]],function(c,m,t,e,r,q,y,h,k,P){var p=m.parse,N=t.getOptions,v=e.deg2rad,g=e.doc;t=e.noop;var D=e.svg,w=e.win,Q=k.addEvent,E=k.createElement,B=k.css,G=k.defined,H=k.discardElement,I=k.erase,x=k.extend;m=k.extendClass;var R=k.isArray,J=k.isNumber,F=k.isObject,z=k.pick,u=k.pInt,S=k.uniqueKey;N().global.VMLRadialGradientURL="http://code.highcharts.com/10.3.2/gfx/vml-radial-gradient.png";
+c["Core/Renderer/RendererRegistry.js"],c["Core/Renderer/SVG/SVGElement.js"],c["Core/Renderer/SVG/SVGRenderer.js"],c["Core/Utilities.js"],c["Extensions/Oldie/VMLRenderer3D.js"]],function(c,m,t,e,r,q,y,h,k,P){var p=m.parse,N=t.getOptions,v=e.deg2rad,g=e.doc;t=e.noop;var D=e.svg,w=e.win,Q=k.addEvent,E=k.createElement,B=k.css,G=k.defined,H=k.discardElement,I=k.erase,x=k.extend;m=k.extendClass;var R=k.isArray,J=k.isNumber,F=k.isObject,z=k.pick,u=k.pInt,S=k.uniqueKey;N().global.VMLRadialGradientURL="http://code.highcharts.com/10.3.3/gfx/vml-radial-gradient.png";
 g&&!g.defaultView&&(e.getStyle=k.getStyle=function l(b,d){var c={width:"clientWidth",height:"clientHeight"}[d];if(b.style[d])return u(b.style[d]);"opacity"===d&&(d="filter");if(c)return b.style.zoom=1,Math.max(b[c]-2*l(b,"padding"),0);b=b.currentStyle[d.replace(/\-(\w)/g,function(b,d){return d.toUpperCase()})];"filter"===d&&(b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(b,d){return d/100}));return""===b?1:u(b)});D||(Q(y,"afterInit",function(){"text"===this.element.nodeName&&this.css({position:"absolute"})}),
 r.prototype.normalize=function(a,b){a=a||w.event;a.target||(a.target=a.srcElement);b||(this.chartPosition=b=this.getChartPosition());return x(a,{chartX:Math.round(Math.max(a.x,a.clientX-b.left)),chartY:Math.round(a.y)})},c.prototype.ieSanitizeSVG=function(a){return a=a.replace(/<IMG /g,"<image ").replace(/<(\/?)TITLE>/g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,
 'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},c.prototype.isReadyToRender=function(){var a=this;return D||w!=w.top||"complete"===g.readyState?!0:(g.attachEvent("onreadystatechange",function(){g.detachEvent("onreadystatechange",a.firstRender);"complete"===g.readyState&&a.firstRender()}),!1)},g.createElementNS||(g.createElementNS=function(a,b){return g.createElement(b)}),e.addEventListenerPolyfill=function(a,

+ 1 - 1
nicegui/elements/lib/highcharts_modules/organization.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
  Organization chart series type
 
  (c) 2019-2021 Torstein Honsi

+ 1 - 1
nicegui/elements/lib/highcharts_modules/overlapping-datalabels.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  (c) 2009-2021 Torstein Honsi
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/parallel-coordinates.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Support for parallel coordinates in Highcharts
 

+ 1 - 1
nicegui/elements/lib/highcharts_modules/pareto.js

@@ -1,5 +1,5 @@
 /*
- Highcharts JS v10.3.2 (2022-11-28)
+ Highcharts JS v10.3.3 (2023-01-20)
 
  Pareto series type for Highcharts
 

Some files were not shown because too many files changed in this diff