diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..bca60c0
Binary files /dev/null and b/.DS_Store differ
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..370f79a
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,35 @@
+
+
+ => FREE HTML TEMPLATE LICENSE BY HTML Codex
+
+ All free HTML templates by HTML Codex are licensed under a Creative Commons Attribution 4.0 International License which means you are not allowed to remove the authors credit link/attribution link/backlink.
+
+ When you download or use our free HTML templates, it will attribute the following conditions.
+
+
+ => YOU ARE ALLOWED
+
+ 1. You are allowed to use for your personal and commercial purposes.
+
+ 2. You are allowed to modify/customize however you like.
+
+ 3. You are allowed to convert/port for use for any CMS.
+
+ 4. You are allowed to share/distribute under the HTML Codex brand name.
+
+ 5. You are allowed to put a screenshot or a link on your blog posts or any other websites.
+
+
+ => YOU ARE NOT ALLOWED
+
+ 1. You are not allowed to remove the authors credit link/attribution link/backlink without purchasing Credit Removal License ( https://htmlcodex.com/credit-removal ).
+
+ 2. You are not allowed to sell, resale, rent, lease, license, or sub-license.
+
+ 3. You are not allowed to upload on your template websites or template collection websites or any other third party websites without our permission.
+
+ This license can be terminated if you breach any of these conditions.
+
+ Please contact us (https://htmlcodex.com/contact) if you have any query.
+
+ => PURCHASE CREDIT REMOVAL LICENSE ( https://htmlcodex.com/credit-removal )
\ No newline at end of file
diff --git a/READ-ME.txt b/READ-ME.txt
new file mode 100644
index 0000000..41511bd
--- /dev/null
+++ b/READ-ME.txt
@@ -0,0 +1,11 @@
+ => Template Name : ECOURSES - Online Courses HTML Template
+
+ => Template Link : https://htmlcodex.com/online-courses-html-template
+
+ => Template License : https://htmlcodex.com/license (or read the LICENSE.txt file)
+
+ => Template Author : HTML Codex
+
+ => Author Website : https://htmlcodex.com
+
+ => About HTML Codex : HTML Codex is one of the top creators and publishers of Free HTML templates, HTML landing pages, HTML email templates and HTML snippets in the world. Read more at ( https://htmlcodex.com/about-us )
\ No newline at end of file
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..7a75a6f
--- /dev/null
+++ b/about.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About Us
+ Innovative Way To Learn
+
+
Centurion University is duly recognized as a pioneer is "Skill Integrated Higher Education”. Its unique model lays specific emphasis on creating sustainable livelihoods on a national scale in challenging geographies through education that results in employability and sparks entrepreneurship.
+
Learn More
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Testimonial
+ What Say Our Students
+
+
+
+
+
+
+
"The LMS website of Centurion University is a game-changer! Its user-friendly interface and comprehensive resources have streamlined our learning experience, making studying more efficient and enjoyable."
+
+
Praneeth
+
BTECH Student
+
+
+
+
"As a student at Centurion University, I can confidently say that the LMS website has been instrumental in my academic journey. It offers a diverse range of tools and materials that cater to different learning styles, ensuring every student gets the support they need."
+
+
Vyshnavi
+
BBA Student
+
+
+
+
"Centurion University's LMS website has truly revolutionized the way we learn. From interactive modules to seamless communication channels with instructors, it fosters a dynamic learning environment that empowers students to excel in their studies."
+
+
Hemchandh
+
BSC Student
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Get In Touch
+
Rollavaka Village Bondapalli, Mandal, Andhra Pradesh 535003, INDIA
+
+91 70655 69969
+
centurionuniversity@cutmap.ac.in
+
+
+
+
+
+
+
Newsletter
+
Centurion University's LMS newsletter delivers timely updates on platform enhancements, course highlights, upcoming events, and valuable educational resources. It fosters community engagement by spotlighting achievements, soliciting feedback, and sharing industry insights. Through concise communication, it aims to enrich the teaching and learning experience, foster collaboration, and support the university community in maximizing the benefits of the LMS.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/.browserslistrc b/admin/.browserslistrc
new file mode 100644
index 0000000..0c6b7ed
--- /dev/null
+++ b/admin/.browserslistrc
@@ -0,0 +1,3 @@
+defaults,
+not IE 11,
+maintained node versions
diff --git a/admin/.eslintignore b/admin/.eslintignore
new file mode 100644
index 0000000..1436918
--- /dev/null
+++ b/admin/.eslintignore
@@ -0,0 +1,2 @@
+**/*.*
+!js/**/*.js
\ No newline at end of file
diff --git a/admin/.eslintrc.json b/admin/.eslintrc.json
new file mode 100644
index 0000000..43107e3
--- /dev/null
+++ b/admin/.eslintrc.json
@@ -0,0 +1,24 @@
+{
+ "env": {
+ "browser": true,
+ "commonjs": true,
+ "es6": true,
+ "jquery": true
+ },
+ "plugins": ["prettier"],
+ "extends": ["airbnb-base", "plugin:prettier/recommended"],
+ "rules": {
+ "prettier/prettier": "error",
+ "no-underscore-dangle": "off",
+ "semi": ["error", "never"],
+ "arrow-parens": ["error", "as-needed"],
+ "no-param-reassign": "off",
+ "no-plusplus": [
+ "error",
+ {
+ "allowForLoopAfterthoughts": true
+ }
+ ],
+ "no-cond-assign": ["error", "except-parens"]
+ }
+}
diff --git a/admin/.ftpquota b/admin/.ftpquota
new file mode 100644
index 0000000..61c5037
--- /dev/null
+++ b/admin/.ftpquota
@@ -0,0 +1 @@
+4 91
diff --git a/admin/.github/workflows/handle-new-issue-comment.yml b/admin/.github/workflows/handle-new-issue-comment.yml
new file mode 100644
index 0000000..e5fc900
--- /dev/null
+++ b/admin/.github/workflows/handle-new-issue-comment.yml
@@ -0,0 +1,15 @@
+name: 'Handle new issue comment'
+on:
+ issue_comment:
+ types: [created]
+
+jobs:
+ handle_new_issue_comment:
+ runs-on: ubuntu-latest
+ name: Handle new issue comment
+ steps:
+ - name: Toggle awaiting-reply label
+ uses: jd-0001/gh-action-toggle-awaiting-reply-label@v2.0.0
+ with:
+ label: awaiting-reply
+ only-if-label: support
diff --git a/admin/.github/workflows/handle-new-issue.yml b/admin/.github/workflows/handle-new-issue.yml
new file mode 100644
index 0000000..2d15bb8
--- /dev/null
+++ b/admin/.github/workflows/handle-new-issue.yml
@@ -0,0 +1,36 @@
+name: 'Handle new issue'
+on:
+ issues:
+ types: [opened]
+
+jobs:
+ handle_new_issue:
+ runs-on: ubuntu-latest
+ name: Handle new issue
+ steps:
+ - name: Greet & Apply label
+ uses: themeselection/gh-action-comment-on-new-issue@v4.0.1
+ with:
+ message: |
+ ### Hi there
+ Thanks a lot for getting in touch with us. Your support has been raised, our response time could be 1 - 2 business days.
+ In the meantime, feel free to check out related issues in the repository for more help. We really appreciate your patience.
+ raise-support-using-form-msg: |
+ Thanks for creating an issue ☺️
+ It seems our [raise support](https://themeselection.com/tools/github/raise-support) form was skipped while creating this issue.
+ Please consider raising support via our support form only which will create issues using essential information we need to resolve your query quickly.
+ This will help in growing an excellent community where,
+ - Other people can get it resolved if they have the same query
+ - We can easily understand your query
+ - Community at a later stage can also provide you solutions/suggestions
+ Closing this issue.
+ Regards.
+ - name: Find duplicates
+ uses: wow-actions/potential-duplicates@v1.0.8
+ with:
+ GITHUB_TOKEN: ${{ github.token }}
+ label: duplicate
+ comment: >
+ Potential duplicates: {{#issues}}
+ - #{{ number }} _({{ accuracy }}% Match)_
+ {{/issues}}
diff --git a/admin/.github/workflows/issue-staler.yml b/admin/.github/workflows/issue-staler.yml
new file mode 100644
index 0000000..d0af7e8
--- /dev/null
+++ b/admin/.github/workflows/issue-staler.yml
@@ -0,0 +1,18 @@
+name: 'Close stale issues and PRs'
+on:
+ schedule:
+ - cron: '30 1 * * *'
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/stale@v4
+ with:
+ stale-issue-message: 'This issue has been automatically marked as stale because its has not had recent activity. It will be closed if no further activity occurs. Thank you for raising the concern.'
+ close-issue-message: 'This issue has been automatically marked as closed because it has not had recent activity.'
+ stale-issue-label: 'stale'
+ only-labels: 'awaiting-reply'
+ exempt-issue-labels: 'triage'
+ days-before-stale: 7
+ days-before-close: 7
diff --git a/admin/.gitignore b/admin/.gitignore
new file mode 100644
index 0000000..9269237
--- /dev/null
+++ b/admin/.gitignore
@@ -0,0 +1,59 @@
+# System Files
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Thumbnails
+._*
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Windows shortcuts
+*.lnk
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Dependency directories
+node_modules
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Yarn Integrity file
+.yarn-integrity
+
+# Optional sass cache
+/.sass-cache
+gulpfile.tmp.*
+
+################################################################################
+############################### DEVELOPMENT_ONLY ###############################
+
+# Excludes generated
+/dist
+/build
+/tmp
+/temp
+
+# Assets
+# **/static/vendor
+
+# HTML files
+/html-starter
+/html-demo
+/html-starter-demo
\ No newline at end of file
diff --git a/admin/.prettierignore b/admin/.prettierignore
new file mode 100644
index 0000000..8179bd5
--- /dev/null
+++ b/admin/.prettierignore
@@ -0,0 +1,5 @@
+dist
+node_modules
+build
+assets/vendor
+html
\ No newline at end of file
diff --git a/admin/.prettierrc.json b/admin/.prettierrc.json
new file mode 100644
index 0000000..a688e1e
--- /dev/null
+++ b/admin/.prettierrc.json
@@ -0,0 +1,26 @@
+{
+ "arrowParens": "avoid",
+ "bracketSpacing": true,
+ "htmlWhitespaceSensitivity": "css",
+ "insertPragma": false,
+ "jsxSingleQuote": true,
+ "printWidth": 120,
+ "proseWrap": "preserve",
+ "quoteProps": "as-needed",
+ "requirePragma": false,
+ "semi": true,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "trailingComma": "none",
+ "useTabs": false,
+ "overrides": [
+ {
+ "files": [
+ "js/**/*.js"
+ ],
+ "options": {
+ "semi": false
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/admin/1.html b/admin/1.html
new file mode 100644
index 0000000..93ddb6f
--- /dev/null
+++ b/admin/1.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+
Dropdown from Database
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/2.html b/admin/2.html
new file mode 100644
index 0000000..6ae7874
--- /dev/null
+++ b/admin/2.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
Course Dropdown
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/CHANGELOG.md b/admin/CHANGELOG.md
new file mode 100644
index 0000000..a6683ab
--- /dev/null
+++ b/admin/CHANGELOG.md
@@ -0,0 +1,9 @@
+# Changelog
+
+All notable changes to this template will be documented in this file.
+
+## [1.0.0] - [2022-02-11]
+
+### Added
+
+- Initial Release
diff --git a/admin/LICENSE.md b/admin/LICENSE.md
new file mode 100644
index 0000000..50be468
--- /dev/null
+++ b/admin/LICENSE.md
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 [ThemeSelection](https://themeselection.com/)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/admin/README.md b/admin/README.md
new file mode 100644
index 0000000..8bcc678
--- /dev/null
+++ b/admin/README.md
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
Most Powerful & Comprehensive Free Bootstrap 5 HTML Admin Dashboard Template built for developers!
+
+![GitHub](https://img.shields.io/github/license/themeselection/sneat-html-admin-template-free) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/themeselection/sneat-html-admin-template-free) ![GitHub issues](https://img.shields.io/github/issues/themeselection/sneat-html-admin-template-free) ![GitHub closed issues](https://img.shields.io/github/issues-closed/themeselection/sneat-html-admin-template-free) ![Twitter Follow](https://img.shields.io/twitter/follow/Theme_Selection?style=social)
+
+[![Sneat - Bootstrap 5 HTML Admin Template Demo Screenshot](https://user-images.githubusercontent.com/80033712/153581472-452394ee-327a-4d00-a41a-c6e8036b7096.png)](https://themeselection.com/products/sneat-free-bootstrap-html-admin-template/)
+
+## Introduction 🚀
+
+If you’re a developer looking for most Powerful & comprehensive [**Free Bootstrap 5 HTML Admin Template**](https://themeselection.com/products/sneat-free-bootstrap-html-admin-template/) built for developers, rich with features, and highly customizable look no further than Sneat. We’ve followed the highest industry standards to bring you the very best admin template that is not only fast and easy to use but highly scalable. Offering ultimate convenience and flexibility, you’ll be able to build whatever application you want with very little hassle.
+
+Build premium quality applications with ease. Use our innovative [bootstrap admin templates](https://themeselection.com/products/category/bootstrap-admin-templates/) to create eye-catching, high-quality WebApps. Your apps will be completely responsive, ensuring they’ll look stunning and function flawlessly on desktops, tablets, and mobile devices.
+
+[View Demo](https://themeselection.com/demo/sneat-bootstrap-html-admin-template-free/html/)
+
+## Installation ⚒️
+
+Automate time-consuming or repetitive tasks in your development workflow using Gulp 🥤
+
+> Please note, the use of Node, Webpack & Gulp and their advanced settings are totally optional. You can use and customize the template without using them too.
+
+Installing Node & Gulp and running it is super easy in Sneat, please follow these steps and you should be ready to rock 🤘
+
+1. First of all, make sure you have installed [Node](https://nodejs.org/en/) (LTS). If Node.js is already installed in your system, make sure the installed version is `LTS` and jump to step 2
+
+2. Install the Gulp CLI: Open Terminal/Command Prompt and run the following command and wait until it finishes. If you have already installed Gulp CLI, you can skip this step and jump to step 3.
+
+```bash
+npm install --global gulp-cli
+```
+
+3. Navigate to the Sneat root directory and run following command to install our local dependencies listed in `package.json`. You can use `npm` OR `yarn` as per your preference.
+
+> It is recommended to use Yarn
+
+```bash
+# For npm
+npm install --legacy-peer-deps
+
+# For Yarn
+yarn
+```
+
+4. Now, you are ready to run `npm` tasks, below command will start the server and watch the code using [browsersync](https://browsersync.io/). Open [http://localhost:3000/](http://localhost:3000/) to check your development 🚀.
+
+```bash
+# npm
+npm run serve
+
+# yarn
+yarn serve
+```
+
+## Available Tasks 🧑💻
+
+Open console/terminal, go to the Sneat root directory and run `npm run {task_name}`.i.e To generate build run `npm run build`.
+
+Run a task with specified environment(development/production) just execute the task with `--env={environment}` option, i.e. `npm run build --env=production`.
+
+> **Tip:** Use `npm run` command to list all predefined npm tasks from `package.json` file.
+
+## What's Included 📦
+
+- Dashboard
+- Layouts
+ - Without menu
+ - Without Navbar
+ - Container
+ - Fluid
+ - Blank
+- Pages
+ - Account Settings
+ - Login
+ - Register
+ - Forgot Password
+ - Error
+ - Under Maintenance
+- Cards
+- User Interface
+ - **All Bootstrap Components**
+- Extended UI
+ - Perfect Scrollbar
+ - Text Divider
+- Boxicon
+- Form Elements
+ - Basic Inputs
+ - Input Groups
+- Form Layout
+ - Vertical Form
+ - Horizontal Form
+- Tables
+
+## What's in Premium Version 💎
+
+| Sneat Free Version | Sneat Premium Version |
+| ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| [Demo](https://themeselection.com/demo/sneat-bootstrap-html-admin-template-free/html/) | [Demo](https://themeselection.com/demo/sneat-bootstrap-html-admin-template/html/vertical-menu-template/) |
+| [Download](https://themeselection.com/products/sneat-free-bootstrap-html-admin-template/) | [Purchase](https://themeselection.com/products/sneat-bootstrap-html-admin-template/) |
+| Single vertical Menu | Vertical Menu + Horizontal Menu |
+| Simple Light Style | Light & Dark Style |
+| Default Theme | Default, Semi Dark & Bordered Themes |
+| Fixed Layout(Menu) | Fixed & Static Layout(Menu) |
+| 1 Simple Dashboard | 3 Niche Dashboards |
+| - | Multiple Ready to use Application like Calendar, Invoice, Users List, Users View, Roles and Permission etc. |
+| Simple From Elements | Advance form elements, validation & form wizard |
+| Basic Cards | Basic, Advance , Statistics, Analytics, Gamifications and Actions Cards |
+| Basic User Interface(Components) | Advance and Custom User Interfaces(Components) |
+| Two Extended Components | Twelve Ready to use Extended Components |
+| - | Quick Search - Quickly navigate between pages (w/ hotkey support) |
+| Basic Pages | Authentication Pages in 2 Variants + Ready to use pages like User Profile, Account Settings,FAQ, Help Center, Pricing, Misc etc. |
+| - | 3D Characters + Illustrations |
+| Basic tables | Advanced tables |
+| - | Quick customization using theme config file |
+| - | Leaflet Maps |
+| 1 Chart Library | 2 Chart Libraries |
+| - | Multiple Navbar & Menu Options |
+| - | Starter-kit |
+| - | Internationalization support |
+| - | RTL Support |
+| Regular Support | Priority Support |
+| Detailed Documentation | Detailed Documentation |
+
+## Documentation 📜
+
+Check out our live [Documentation](https://themeselection.com/demo/sneat-bootstrap-html-admin-template/documentation/)
+
+## Browser Support 🖥️
+
+At present, we officially aim to support the last two versions of the following browsers:
+
+- Chrome (latest)
+- FireFox (latest)
+- Safari (latest)
+- Microsoft Edge (latest)
+- Opera (latest)
+
+## Useful Links 🎁
+
+- [Freebies](https://themeselection.com/products/category/download-free-admin-templates/)
+- [Download Free Admin Templates](https://themeselection.com/products/category/download-free-admin-templates/)
+- [Bootstrap 5 CheatSheet](https://bootstrap-cheatsheet.themeselection.com/)
+
+## Support 👨💻
+
+We use GitHub issues as support tickets to manage Item support.
+
+1. In order to raise the GitHub issue, you must have a github account. [Raise a Issue](https://github.com/themeselection/sneat-html-admin-template-free/issues)
+
+## License ©
+
+- Copyright © [ThemeSelection](https://themeselection.com/)
+- Licensed under [MIT](https://github.com/themeselection/sneat-html-admin-template-free/blob/master/LICENSE.md)
+
+## Contributing 🦸
+
+Contribution are always welcome and recommended! Here is how:
+
+- Fork the repository ([here is the guide](https://docs.github.com/en/get-started/quickstart/fork-a-repo)).
+- Clone to your machine `git clone https://github.com/YOUR_USERNAME/REPO_URL` Make your changes
+- Create a pull request
+
+### Contribution Requirements 🧰
+
+- When you contribute, you agree to give a non-exclusive license to ThemeSelection to use that contribution in any context as we (ThemeSelection) see appropriate.
+- If you use content provided by another party, it must be appropriately licensed using an open source license.
+- Contributions are only accepted through Github pull requests.
+- Finally, contributed code must work in all supported browsers.
+
+## Creators 😇
+
+- [ThemeSelection](https://themeselection.com)
+
+## Changelog 📆
+
+Please refer to the [CHANGELOG](https://themeselection.com/demo/sneat-bootstrap-html-admin-template-free/changelog.html) file. We will add a detailed release notes to each new release.
+
+## Social Media 🌍
+
+- Twitter : [https://twitter.com/Theme_Selection](https://twitter.com/Theme_Selection)
+- Facebook : [https://www.facebook.com/ThemeSelections/](https://www.facebook.com/ThemeSelections/)
+- Pinterest : [https://pinterest.com/themeselect/](https://pinterest.com/themeselect/)
+- Instagram : [https://www.instagram.com/themeselection/](https://www.instagram.com/themeselection/)
diff --git a/admin/admin.html b/admin/admin.html
new file mode 100644
index 0000000..193dde2
--- /dev/null
+++ b/admin/admin.html
@@ -0,0 +1,706 @@
+
+
+
+
+
+
+
+
Admins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add User
+
+
+
+
+
+
+
+
+
+
+
+ Photo
+ Name
+ Email
+ Address
+ Actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Profile Picture:
+
Name:
+
Email:
+
Address:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Are you sure you want to delete this user?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/adminprofile.html b/admin/adminprofile.html
new file mode 100644
index 0000000..9ca312d
--- /dev/null
+++ b/admin/adminprofile.html
@@ -0,0 +1,748 @@
+
+
+
+
+
+
+
Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Save changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Are you sure you want to delete your account?
+
Once you delete your account, there is no going back. Please be certain.
+
+
+
+
+
+ I confirm my account deactivation
+
+ Deactivate Account
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/announcement.html b/admin/announcement.html
new file mode 100644
index 0000000..c5b2233
--- /dev/null
+++ b/admin/announcement.html
@@ -0,0 +1,402 @@
+
+
+
+
+
+
+
+
Announcement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/api/admin.php b/admin/api/admin.php
new file mode 100644
index 0000000..8955403
--- /dev/null
+++ b/admin/api/admin.php
@@ -0,0 +1,151 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Retrieve form data
+ $name = $_POST['name'];
+ $email = $_POST['email'];
+ $password = $_POST['password'];
+ $address = $_POST['address'];
+ $role = $_POST['role'];
+ $registrationNumber = $_POST['registrationNumber'];
+ $facultyID = $_POST['facultyID'];
+ $profilePicture = $_FILES['profilePicture']['name'];
+
+ // Check if email already exists
+ $check_email_stmt = $conn->prepare("SELECT UserID FROM users WHERE Email = ?");
+ $check_email_stmt->bind_param("s", $email);
+ $check_email_stmt->execute();
+ $check_email_stmt->store_result();
+
+ if ($check_email_stmt->num_rows > 0) {
+ echo '
Email already Exists - Please Use different Email
';
+ } else {
+ // Upload profile picture with 'admin_' prefix
+ $target_dir = "uploads/";
+ $profilePicture = "admin_" . basename($_FILES["profilePicture"]["name"]);
+ $target_file = $target_dir . $profilePicture;
+
+ if (move_uploaded_file($_FILES["profilePicture"]["tmp_name"], $target_file)) {
+ echo "The file ". basename($_FILES["profilePicture"]["name"]). " has been uploaded.";
+ } else {
+ echo "Sorry, there was an error uploading your file.";
+ }
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("INSERT INTO users (Name, Email, PasswordHash, Address, Role, RegistrationNumber, FacultyID, ProfilePicture) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
+ $stmt->bind_param("ssssssss", $name, $email, $password, $address, $role, $registrationNumber, $facultyID, $profilePicture);
+
+ // Execute SQL statement
+ if ($stmt->execute() === TRUE) {
+ echo "New record created successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+ }
+
+ // Close connection
+ $conn->close();
+}
+
+// Fetch user list from the database
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ // Fetch user data
+ $sql = "SELECT * FROM users WHERE Role = 'admin'";
+ $result = $conn->query($sql);
+ $users = array();
+
+ if ($result->num_rows > 0) {
+ // Output data of each row
+ while ($row = $result->fetch_assoc()) {
+ // Append image path to the row
+ $row['ProfilePicture'] = 'api/uploads/' . $row['ProfilePicture'];
+ $users[] = $row;
+ }
+ echo json_encode($users, JSON_UNESCAPED_SLASHES);
+
+ } else {
+ echo "0 results";
+ }
+ }
+
+ if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $userID = $_PUT['userID'];
+ $name = $_PUT['name'];
+ $email = $_PUT['email'];
+ $address = $_PUT['address'];
+ $registrationNumber = $_PUT['registrationNumber'];
+
+ $sql = "UPDATE users SET Name=?, Email=?, Address=?, RegistrationNumber=? WHERE UserID=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("ssssi", $name, $email, $address, $registrationNumber, $userID);
+
+ if ($stmt->execute()) {
+ echo "Record updated successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ $stmt->close();
+ $conn->close();
+}
+
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $userID = $_DELETE['userID'];
+
+ // Fetch the filename of the profile picture to be deleted
+ $filename_query = $conn->prepare("SELECT ProfilePicture FROM users WHERE UserID=?");
+ $filename_query->bind_param("i", $userID);
+ $filename_query->execute();
+ $filename_query->store_result();
+
+ // Check if the user exists
+ if ($filename_query->num_rows > 0) {
+ $filename_query->bind_result($profilePicture);
+ $filename_query->fetch();
+
+ // Delete the user record
+ $delete_sql = "DELETE FROM users WHERE UserID=?";
+ $delete_stmt = $conn->prepare($delete_sql);
+ $delete_stmt->bind_param("i", $userID);
+
+ // Delete the image file if it exists
+ if (file_exists('uploads/' . $profilePicture)) {
+ unlink('uploads/' . $profilePicture);
+ }
+
+ // Execute the delete statement
+ if ($delete_stmt->execute()) {
+ echo "Record deleted successfully";
+ } else {
+ echo "Error: " . $delete_stmt->error;
+ }
+
+ $delete_stmt->close();
+ } else {
+ echo "User not found";
+ }
+
+ $filename_query->close();
+ $conn->close();
+}
+?>
diff --git a/admin/api/courses.php b/admin/api/courses.php
new file mode 100644
index 0000000..021d1d2
--- /dev/null
+++ b/admin/api/courses.php
@@ -0,0 +1,104 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Check if it's a POST request to insert new course
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ $courseName = $_POST['CourseName'];
+ $program = $_POST['Program'];
+ $domain = $_POST['Domain'];
+ $createdBy = $_POST['CreatedBy'];
+ $syllabusLink = $_POST['SyllabusLink'];
+ $totalCredits = $_POST['TotalCredits'];
+ $creditDistribution = $_POST['CreditDistribution'];
+
+ $sql = "INSERT INTO courses (CourseName, Program, Domain, CreatedBy, SyllabusLink, TotalCredits, CreditDistribution)
+ VALUES ('$courseName', '$program', '$domain' , '$createdBy', '$syllabusLink', '$totalCredits', '$creditDistribution')";
+
+ if ($conn->query($sql) === TRUE) {
+ echo "New course created successfully";
+ } else {
+ echo "Error: " . $sql . "
" . $conn->error;
+ }
+}
+
+// Check if it's a GET request to fetch course list or a specific course
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ if (isset($_GET['CourseID'])) {
+ $courseID = $_GET['CourseID'];
+ $sql = "SELECT courses.*, users.name as CreatedByName FROM courses
+ LEFT JOIN users ON courses.CreatedBy = users.UserID
+ WHERE CourseID=$courseID";
+ $result = $conn->query($sql);
+
+ if ($result->num_rows > 0) {
+ $course = $result->fetch_assoc();
+ echo json_encode($course);
+ } else {
+ echo "Course not found";
+ }
+ } else {
+ $sql = "SELECT courses.*, users.name as CreatedByName FROM courses
+ LEFT JOIN users ON courses.CreatedBy = users.UserID";
+ $result = $conn->query($sql);
+
+ $courses = array();
+ if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $courses[] = $row;
+ }
+ }
+
+ echo json_encode($courses);
+ }
+}
+
+// Check if it's a PUT request to update course details
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $putData);
+ $courseID = $putData['CourseID'];
+ $courseName = $putData['CourseName'];
+ $program = $putData['Program'];
+ $domain = $putData['Domain'];
+ $createdBy = $putData['CreatedBy'];
+ $syllabusLink = $putData['SyllabusLink'];
+ $totalCredits = $putData['TotalCredits'];
+ $creditDistribution = $putData['CreditDistribution'];
+
+ $sql = "UPDATE courses SET CourseName='$courseName', Program='$program', Domain='$domain', CreatedBy='$createdBy',
+ SyllabusLink='$syllabusLink', TotalCredits='$totalCredits',
+ CreditDistribution='$creditDistribution' WHERE CourseID=$courseID";
+
+ if ($conn->query($sql) === TRUE) {
+ echo "Course updated successfully";
+ } else {
+ echo "Error updating course: " . $conn->error;
+ }
+}
+
+// Check if it's a DELETE request to delete a course
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $deleteData);
+ $courseID = $deleteData['CourseID'];
+
+ $sql = "DELETE FROM courses WHERE CourseID=$courseID";
+
+ if ($conn->query($sql) === TRUE) {
+ echo "Course deleted successfully";
+ } else {
+ echo "Error deleting course: " . $conn->error;
+ }
+}
+
+$conn->close();
+?>
diff --git a/admin/api/delete.php b/admin/api/delete.php
new file mode 100644
index 0000000..f364c56
--- /dev/null
+++ b/admin/api/delete.php
@@ -0,0 +1,47 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Check if the request method is POST
+if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+ // Perform deletion operation
+ if (isset($_SESSION['UserID'])) {
+ $userId = $_SESSION['UserID']; // Assuming you're using session for authentication
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
+ $stmt->bind_param("i", $userId);
+
+ // Execute statement
+ if ($stmt->execute()) {
+ // Deletion successful
+ echo 'success';
+ } else {
+ // Deletion failed
+ echo 'error';
+ }
+ } else {
+ // User not authenticated
+ echo 'not authenticated';
+ }
+} else {
+ // Invalid request method
+ echo 'invalid request';
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/dropdown/fetch_domains.php b/admin/api/dropdown/fetch_domains.php
new file mode 100644
index 0000000..37f6437
--- /dev/null
+++ b/admin/api/dropdown/fetch_domains.php
@@ -0,0 +1,31 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Fetch domains based on selected program
+$programCode = $_GET['programCode'];
+$sql = "SELECT DomainID, DomainName FROM domains WHERE ProgramCode = '$programCode'";
+$result = $conn->query($sql);
+
+$domains = array();
+if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $domains[] = $row;
+ }
+}
+
+// Return domains as JSON
+header('Content-Type: application/json');
+echo json_encode($domains);
+
+$conn->close();
+?>
diff --git a/admin/api/dropdown/fetch_programs.php b/admin/api/dropdown/fetch_programs.php
new file mode 100644
index 0000000..3d53d50
--- /dev/null
+++ b/admin/api/dropdown/fetch_programs.php
@@ -0,0 +1,30 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Fetch programs from database
+$sql = "SELECT ProgramCode, ProgramName FROM programs";
+$result = $conn->query($sql);
+
+$programs = array();
+if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $programs[] = $row;
+ }
+}
+
+// Return programs as JSON
+header('Content-Type: application/json');
+echo json_encode($programs);
+
+$conn->close();
+?>
diff --git a/admin/api/faculty-allotment.php b/admin/api/faculty-allotment.php
new file mode 100644
index 0000000..bb2d4ac
--- /dev/null
+++ b/admin/api/faculty-allotment.php
@@ -0,0 +1,105 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Retrieve form data
+ $userID = $_POST['userID'];
+ $courseID = $_POST['courseID'];
+ $fromDate = $_POST['fromdate'];
+ $toDate = $_POST['todate'];
+ $status = $_POST['status'];
+ $role = $_POST['role'];
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("INSERT INTO registeredcourses (UserID, CourseID, fromdate, todate, status, role) VALUES (?, ?, ?, ?, ?, ?)");
+ $stmt->bind_param("iissss", $userID, $courseID, $fromDate, $toDate, $status, $role);
+
+ // Execute SQL statement
+ if ($stmt->execute() === TRUE) {
+ echo "New record created successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+// Fetch user list from the database
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ // Fetch user data
+ $sql = "SELECT registeredcourses.*, users.Name AS Name, courses.CourseName AS CourseName FROM registeredcourses
+ INNER JOIN users ON registeredcourses.UserID = users.UserID
+ INNER JOIN courses ON registeredcourses.CourseID = courses.CourseID
+ WHERE registeredcourses.role='faculty'";
+ $result = $conn->query($sql);
+ $courses = array();
+
+ if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $courses[] = $row;
+ }
+ }
+
+ echo json_encode($courses);
+}
+
+// Handle form submission for PUT
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $courseID = $_PUT['courseID'];
+ $fromDate = $_PUT['fromdate'];
+ $toDate = $_PUT['todate'];
+ $status = $_PUT['status'];
+ $role = $_PUT['role'];
+ // $userID = $_PUT['userID']; // This line is not required, as we are updating based on courseID
+
+ $sql = "UPDATE registeredcourses SET fromdate=?, todate=?, status=?, role=? WHERE CourseID=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("ssssi", $fromDate, $toDate, $status, $role, $courseID); // Updated binding parameters
+
+ if ($stmt->execute()) {
+ echo "Record updated successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ $stmt->close();
+}
+
+// Handle form submission for DELETE
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $courseID = $_DELETE['courseID']; // Corrected the variable name
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("DELETE FROM registeredcourses WHERE CourseID=?"); // Updated the query to delete based on CourseID
+ $stmt->bind_param("i", $courseID);
+
+ // Execute SQL statement
+ if ($stmt->execute()) {
+ echo "Record deleted successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/faculty.php b/admin/api/faculty.php
new file mode 100644
index 0000000..e4248e8
--- /dev/null
+++ b/admin/api/faculty.php
@@ -0,0 +1,127 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Process form data from users table
+ $name = $_POST["name"];
+ $email = $_POST["email"];
+ $password = $_POST["password"];
+ $address = $_POST["address"];
+ $role = $_POST["role"];
+ $facultyID = $_POST["FacultyID"];
+ $profilePicture = $_FILES["profilePicture"]["name"];
+
+ // Upload profile picture
+ $target_dir = "api/uploads/";
+ $target_file = $target_dir."student_" . basename($_FILES["profilePicture"]["name"]);
+ move_uploaded_file($_FILES["profilePicture"]["tmp_name"], $target_file);
+
+ // Insert data into users table
+ $sql_users = "INSERT INTO users (Name, Email, PasswordHash, Address, Role, FacultyID, ProfilePicture)
+ VALUES ('$name', '$email', '$password', '$address', '$role', '$facultyID', '$profilePicture')";
+
+ if ($conn->query($sql_users) === TRUE) {
+ // Process form data from student table
+ $domain = $_POST["Domain"];
+ $highestqualification = $_POST["HighestQualification"];
+ $publications = $_POST["Publications"];
+ $department = $_POST["Program"];
+
+ // Insert data into student table
+ $sql_student = "INSERT INTO student (FacultyID, Domain, HighestQualification, Publications, Program )
+ VALUES ('$facultyID', '$domain', '$highestqualification', '$publications', '$program')";
+
+ if ($conn->query($sql_student) === TRUE) {
+ echo "New records inserted successfully";
+ } else {
+ echo "Error: " . $sql_student . "
" . $conn->error;
+ }
+ } else {
+ echo "Error: " . $sql_users . "
" . $conn->error;
+ }
+
+ // Close connection
+ $conn->close();
+}
+
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ $sql = "SELECT * FROM users WHERE Role = 'faculty'";
+ $result = $conn->query($sql);
+ $users = [];
+
+ if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $row['ProfilePicture'] = '' . $row['ProfilePicture'];
+ $users[] = $row;
+ }
+ echo json_encode($users, JSON_UNESCAPED_SLASHES);
+ } else {
+ echo json_encode(['error' => 'No results found']);
+ }
+}
+
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $userID = $_PUT['userID'];
+ $name = $_PUT['name'];
+ $email = $_PUT['email'];
+ $address = $_PUT['address'];
+ $facultyID = $_PUT['facultyID'];
+
+ $sql = "UPDATE users SET Name=?, Email=?, Address=?, FacultyID=? WHERE UserID=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("ssssi", $name, $email, $address, $facultyID, $userID);
+
+ if ($stmt->execute()) {
+ echo json_encode(['success' => 'Record updated successfully']);
+ } else {
+ echo json_encode(['error' => 'Database error: ' . $stmt->error]);
+ }
+ $stmt->close();
+ $conn->close();
+}
+
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $userID = $_DELETE['userID'];
+ $filename_query = $conn->prepare("SELECT ProfilePicture FROM users WHERE UserID=?");
+ $filename_query->bind_param("i", $userID);
+ $filename_query->execute();
+ $filename_query->store_result();
+
+ if ($filename_query->num_rows > 0) {
+ $filename_query->bind_result($profilePicture);
+ $filename_query->fetch();
+
+ $delete_sql = "DELETE FROM users WHERE UserID=?";
+ $delete_stmt = $conn->prepare($delete_sql);
+ $delete_stmt->bind_param("i", $userID);
+
+ if (file_exists('uploads/' . $profilePicture)) {
+ unlink('uploads/' . $profilePicture);
+ }
+
+ if ($delete_stmt->execute()) {
+ echo json_encode(['success' => 'Record deleted successfully']);
+ } else {
+ echo json_encode(['error' => 'Database error: ' . $delete_stmt->error]);
+ }
+ $delete_stmt->close();
+ } else {
+ echo json_encode(['error' => 'User not found']);
+ }
+ $filename_query->close();
+ $conn->close();
+}
+?>
diff --git a/admin/api/login.php b/admin/api/login.php
new file mode 100644
index 0000000..952ce2c
--- /dev/null
+++ b/admin/api/login.php
@@ -0,0 +1,51 @@
+connect_error) {
+ die(json_encode(["status" => "error", "message" => "Connection failed: " . $conn->connect_error]));
+}
+
+$email = $_POST['email'];
+$password = $_POST['password'];
+
+$sql = $conn->prepare("SELECT * FROM users WHERE Email = ? OR Name = ?");
+$sql->bind_param("ss", $email, $email);
+$sql->execute();
+$result = $sql->get_result();
+
+if ($result->num_rows > 0) {
+ $user = $result->fetch_assoc();
+ if ($password === $user['PasswordHash']) {
+ if ($user['Role'] === 'admin') {
+ $response = [
+ "status" => "success",
+ "user" => [
+ "UserID" => $user['UserID'],
+ "Name" => $user['Name'],
+ "Email" => $user['Email'],
+ "Address" => $user['Address'],
+ "Role" => $user['Role'],
+ "ProfilePicture" => $user['ProfilePicture']
+ ],
+ "message" => "Welcome, Admin!"
+ ];
+ echo json_encode($response);
+ } else {
+ echo json_encode(["status" => "error", "message" => "Access denied: Only admins are allowed"]);
+ }
+ } else {
+ echo json_encode(["status" => "error", "message" => "Invalid password"]);
+ }
+} else {
+ echo json_encode(["status" => "error", "message" => "No user found with the provided email or username"]);
+}
+
+$conn->close();
+?>
diff --git a/admin/api/material.php b/admin/api/material.php
new file mode 100644
index 0000000..74a0ec7
--- /dev/null
+++ b/admin/api/material.php
@@ -0,0 +1,134 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+ // Handle file upload and creation of new materials
+ if (isset($_FILES['file']) && $_FILES['file']['error'] == UPLOAD_ERR_OK) {
+ $fileTmpPath = $_FILES['file']['tmp_name'];
+ $fileName = $_FILES['file']['name'];
+ $uploadFileDir = 'uploads/materials/';
+ $dest_path = $uploadFileDir . $fileName;
+
+ if (move_uploaded_file($fileTmpPath, $dest_path)) {
+ $file_url = $dest_path;
+
+ $material_name = $_POST['material_name'];
+ $type_uploaded = $_POST['type_uploaded'];
+ $uploaded_by = $_POST['uploaded_by'];
+ $uploaded_time = $_POST['uploaded_time'];
+
+ $stmt = $conn->prepare("INSERT INTO material (material_name, File, type_uploaded, uploaded_by, uploaded_time) VALUES (?, ?, ?, ?, ?)");
+ $stmt->bind_param("sssss", $material_name, $file_url, $type_uploaded, $uploaded_by, $uploaded_time);
+
+ if ($stmt->execute()) {
+ echo json_encode([
+ 'material_id' => $stmt->insert_id,
+ 'material_name' => $material_name,
+ 'File' => $file_url,
+ 'type_uploaded' => $type_uploaded,
+ 'uploaded_by' => $uploaded_by,
+ 'uploaded_time' => $uploaded_time
+ ]);
+ } else {
+ echo json_encode(['error' => $stmt->error]);
+ }
+
+ $stmt->close();
+ } else {
+ echo json_encode(['error' => 'Error moving the uploaded file.']);
+ }
+ } else {
+ echo json_encode(['error' => 'Error uploading the file.']);
+ }
+}
+
+if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
+ // Handle updating existing materials
+ parse_str(file_get_contents("php://input"), $put_vars);
+
+ $material_id = $put_vars['material_id'];
+ $material_name = $put_vars['material_name'];
+ $type_uploaded = $put_vars['type_uploaded'];
+ $uploaded_by = $put_vars['uploaded_by'];
+ $uploaded_time = $put_vars['uploaded_time'];
+
+ $stmt = $conn->prepare("UPDATE material SET material_name = ?, type_uploaded = ?, uploaded_by = ?, uploaded_time = ? WHERE material_id = ?");
+ $stmt->bind_param("ssssi", $material_name, $type_uploaded, $uploaded_by, $uploaded_time, $material_id);
+
+ if ($stmt->execute()) {
+ echo json_encode(['success' => true]);
+ } else {
+ echo json_encode(['error' => $stmt->error]);
+ }
+
+ $stmt->close();
+}
+
+if ($_SERVER['REQUEST_METHOD'] == 'GET') {
+ // Handle GET request to retrieve materials
+ $sql = "SELECT material_id, material_name, File, type_uploaded, uploaded_by, uploaded_time FROM material";
+ $result = $conn->query($sql);
+
+ $materials = [];
+ if ($result->num_rows > 0) {
+ while($row = $result->fetch_assoc()) {
+ $materials[] = $row;
+ }
+ }
+
+ echo json_encode($materials, JSON_UNESCAPED_SLASHES);
+}
+
+if ($_SERVER['REQUEST_METHOD'] == 'DELETE') {
+ // Handle DELETE request to delete materials
+ $material_id = $_GET['material_id'];
+
+ // Retrieve file path from database based on material_id
+ $stmt_select = $conn->prepare("SELECT File FROM material WHERE material_id = ?");
+ $stmt_select->bind_param("i", $material_id);
+ $stmt_select->execute();
+ $stmt_select->store_result();
+
+ if ($stmt_select->num_rows > 0) {
+ $stmt_select->bind_result($file_path);
+ $stmt_select->fetch();
+
+ // Delete file from server
+ if (unlink($file_path)) {
+ // Delete entry from database
+ $stmt_delete = $conn->prepare("DELETE FROM material WHERE material_id = ?");
+ $stmt_delete->bind_param("i", $material_id);
+
+ if ($stmt_delete->execute()) {
+ echo json_encode(['success' => true]);
+ } else {
+ echo json_encode(['error' => 'Failed to delete material from database']);
+ }
+
+ $stmt_delete->close();
+ } else {
+ echo json_encode(['error' => 'Failed to delete file from server']);
+ }
+ } else {
+ echo json_encode(['error' => 'Material not found']);
+ }
+
+ $stmt_select->close();
+ $conn->close();
+ exit(); // Exit to prevent further execution
+}
+
+
+$conn->close();
+?>
diff --git a/admin/api/reportcard.php b/admin/api/reportcard.php
new file mode 100644
index 0000000..a779226
--- /dev/null
+++ b/admin/api/reportcard.php
@@ -0,0 +1,27 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+$sql = "SELECT * FROM student";
+$result = $conn->query($sql);
+
+$students = array();
+
+if ($result->num_rows > 0) {
+ while($row = $result->fetch_assoc()) {
+ $students[] = $row;
+ }
+}
+
+$conn->close();
+
+echo json_encode($students);
+?>
diff --git a/admin/api/student-allotment.php b/admin/api/student-allotment.php
new file mode 100644
index 0000000..98ac619
--- /dev/null
+++ b/admin/api/student-allotment.php
@@ -0,0 +1,105 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Retrieve form data
+ $userID = $_POST['userID'];
+ $courseID = $_POST['courseID'];
+ $fromDate = $_POST['fromdate'];
+ $toDate = $_POST['todate'];
+ $status = $_POST['status'];
+ $role = $_POST['role'];
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("INSERT INTO registeredcourses (UserID, CourseID, fromdate, todate, status, role) VALUES (?, ?, ?, ?, ?, ?)");
+ $stmt->bind_param("iissss", $userID, $courseID, $fromDate, $toDate, $status, $role);
+
+ // Execute SQL statement
+ if ($stmt->execute() === TRUE) {
+ echo "New record created successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+// Fetch user list from the database
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ // Fetch user data
+ $sql = "SELECT registeredcourses.*, users.Name AS Name, courses.CourseName AS CourseName FROM registeredcourses
+ INNER JOIN users ON registeredcourses.UserID = users.UserID
+ INNER JOIN courses ON registeredcourses.CourseID = courses.CourseID
+ WHERE registeredcourses.role='student'";
+ $result = $conn->query($sql);
+ $courses = array();
+
+ if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $courses[] = $row;
+ }
+ }
+
+ echo json_encode($courses);
+}
+
+// Handle form submission for PUT
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $courseID = $_PUT['courseID'];
+ $fromDate = $_PUT['fromdate'];
+ $toDate = $_PUT['todate'];
+ $status = $_PUT['status'];
+ $role = $_PUT['role'];
+ // $userID = $_PUT['userID']; // This line is not required, as we are updating based on courseID
+
+ $sql = "UPDATE registeredcourses SET fromdate=?, todate=?, status=?, role=? WHERE CourseID=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("ssssi", $fromDate, $toDate, $status, $role, $courseID); // Updated binding parameters
+
+ if ($stmt->execute()) {
+ echo "Record updated successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ $stmt->close();
+}
+
+// Handle form submission for DELETE
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $courseID = $_DELETE['courseID']; // Corrected the variable name
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("DELETE FROM registeredcourses WHERE CourseID=?"); // Updated the query to delete based on CourseID
+ $stmt->bind_param("i", $courseID);
+
+ // Execute SQL statement
+ if ($stmt->execute()) {
+ echo "Record deleted successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/student-assignment.php b/admin/api/student-assignment.php
new file mode 100644
index 0000000..1fa069f
--- /dev/null
+++ b/admin/api/student-assignment.php
@@ -0,0 +1,104 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission for POST
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Retrieve form data
+
+ $assignment_id = $_POST['assignment_id'];
+ $submission_date = $_POST['submission_date'];
+ $grade = $_POST['grade'];
+ $status = $_POST['status'];
+ $submission_path = $_POST['submission_path'];
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("INSERT INTO student_assignments (student_id, assignment_id, submission_date, grade, status, submission_path) VALUES (?, ?, ?, ?, ?, ?)");
+ $stmt->bind_param("iisdss", $student_id, $assignment_id, $submission_date, $grade, $status, $submission_path);
+
+ // Execute SQL statement
+ if ($stmt->execute() === TRUE) {
+ echo "New record created successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+
+// Fetch assignment list from the database
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ $sql = "SELECT sa.*, s.Branch AS Branch, a.title AS AssignmentTitle
+ FROM student_assignments sa
+ INNER JOIN student s ON sa.student_id = s.StudentID
+ INNER JOIN assignments a ON sa.assignment_id = a.assignment_id";
+ $result = $conn->query($sql);
+ $assignments = array();
+
+ if ($result->num_rows > 0) {
+ while ($row = $result->fetch_assoc()) {
+ $assignments[] = $row;
+ }
+ }
+
+ echo json_encode($assignments);
+}
+
+// Handle form submission for PUT
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $student_assignment_id = $_PUT['student_assignment_id'];
+ $submission_date = $_PUT['submission_date'];
+ $grade = $_PUT['grade'];
+ $status = $_PUT['status'];
+ $submission_path = $_PUT['submission_path'];
+
+ $sql = "UPDATE student_assignments SET submission_date=?, grade=?, status=?, submission_path=? WHERE student_assignment_id=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("sdssi", $submission_date, $grade, $status, $submission_path, $student_assignment_id);
+
+ if ($stmt->execute()) {
+ echo "Record updated successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ $stmt->close();
+}
+
+// Handle form submission for DELETE
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $student_assignment_id = $_DELETE['student_assignment_id'];
+
+ // Prepare and bind SQL statement
+ $stmt = $conn->prepare("DELETE FROM student_assignments WHERE student_assignment_id=?");
+ $stmt->bind_param("i", $student_assignment_id);
+
+ // Execute SQL statement
+ if ($stmt->execute()) {
+ echo "Record deleted successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ // Close statement
+ $stmt->close();
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/student-assignment1.php b/admin/api/student-assignment1.php
new file mode 100644
index 0000000..edd4a61
--- /dev/null
+++ b/admin/api/student-assignment1.php
@@ -0,0 +1,35 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Fetch data from student_assignments table
+$query = "SELECT * FROM student_assignments";
+$result = $conn->query($query);
+
+// Check if query executed successfully
+if ($result) {
+ $data = array();
+ // Fetch rows
+ while ($row = $result->fetch_assoc()) {
+ $data[] = $row;
+ }
+ // Return JSON encoded data
+ echo json_encode($data);
+} else {
+ echo "Error: " . $conn->error;
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/student.php b/admin/api/student.php
new file mode 100644
index 0000000..ca6d8be
--- /dev/null
+++ b/admin/api/student.php
@@ -0,0 +1,147 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Handle form submission
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ // Process form data from users table
+ $name = $_POST["name"];
+ $email = $_POST["email"];
+ $password = $_POST["password"];
+ $address = $_POST["address"];
+ $role = $_POST["role"];
+ $registrationNumber = $_POST["RegistrationNumber"];
+ $profilePicture = $_FILES["profilePicture"]["name"];
+
+ // Upload profile picture
+ $target_dir = "api/uploads/";
+ $target_file = $target_dir."student_" . basename($_FILES["profilePicture"]["name"]);
+ move_uploaded_file($_FILES["profilePicture"]["tmp_name"], $target_file);
+
+ // Insert data into users table
+ $sql_users = "INSERT INTO users (Name, Email, PasswordHash, Address, Role, RegistrationNumber, ProfilePicture)
+ VALUES ('$name', '$email', '$password', '$address', '$role', '$registrationNumber', '$profilePicture')";
+
+ if ($conn->query($sql_users) === TRUE) {
+ // Process form data from student table
+ $program = $_POST["Program"];
+ $domain = $_POST["Domain"];
+ $cgpa = $_POST["CGPA"];
+ $sgpa = $_POST["SGPA"];
+ $joiningDate = $_POST["JoiningDate"];
+ $currentYearofStudy = $_POST["CurrentYearofStudy"];
+
+ // Insert data into student table
+ $sql_student = "INSERT INTO student (RegistrationNumber, Program, Domain, CGPA, SGPA, JoiningDate, CurrentYearofStudy)
+ VALUES ('$registrationNumber', '$program', '$domain', '$cgpa', '$sgpa', '$joiningDate', '$currentYearofStudy')";
+
+ if ($conn->query($sql_student) === TRUE) {
+ echo "New records inserted successfully";
+ } else {
+ echo "Error: " . $sql_student . "
" . $conn->error;
+ }
+ } else {
+ echo "Error: " . $sql_users . "
" . $conn->error;
+ }
+
+ // Close connection
+ $conn->close();
+}
+
+// Fetch user list from the database
+if ($_SERVER["REQUEST_METHOD"] == "GET") {
+ // Fetch user data
+ $sql = "SELECT * FROM users WHERE Role = 'student'";
+ $result = $conn->query($sql);
+ $users = array();
+
+ if ($result->num_rows > 0) {
+ // Output data of each row
+ while ($row = $result->fetch_assoc()) {
+ // Append image path to the row
+ $row['ProfilePicture'] = 'api/uploads/' . $row['ProfilePicture'];
+ $users[] = $row;
+ }
+ echo json_encode($users, JSON_UNESCAPED_SLASHES);
+ } else {
+ echo "0 results";
+ }
+}
+
+// Handle form submission for PUT
+if ($_SERVER["REQUEST_METHOD"] == "PUT") {
+ parse_str(file_get_contents("php://input"), $_PUT);
+
+ $userID = $_PUT['userID'];
+ $name = $_PUT['name'];
+ $email = $_PUT['email'];
+ $address = $_PUT['address'];
+ $registrationNumber = $_PUT['registrationNumber'];
+
+ $sql = "UPDATE users SET Name=?, Email=?, Address=?, RegistrationNumber=? WHERE UserID=?";
+ $stmt = $conn->prepare($sql);
+ $stmt->bind_param("ssssi", $name, $email, $address, $registrationNumber, $userID);
+
+ if ($stmt->execute()) {
+ echo "Record updated successfully";
+ } else {
+ echo "Error: " . $stmt->error;
+ }
+
+ $stmt->close();
+ $conn->close();
+}
+
+// Handle form submission for DELETE
+if ($_SERVER["REQUEST_METHOD"] == "DELETE") {
+ parse_str(file_get_contents("php://input"), $_DELETE);
+
+ $userID = $_DELETE['userID'];
+
+ // Fetch the filename of the profile picture to be deleted
+ $filename_query = $conn->prepare("SELECT ProfilePicture FROM users WHERE UserID=?");
+ $filename_query->bind_param("i", $userID);
+ $filename_query->execute();
+ $filename_query->store_result();
+
+ // Check if the user exists
+ if ($filename_query->num_rows > 0) {
+ $filename_query->bind_result($profilePicture);
+ $filename_query->fetch();
+
+ // Delete the user record
+ $delete_sql = "DELETE FROM users WHERE UserID=?";
+ $delete_stmt = $conn->prepare($delete_sql);
+ $delete_stmt->bind_param("i", $userID);
+
+ // Delete the image file if it exists
+ if (file_exists('uploads/' . $profilePicture)) {
+ unlink('uploads/' . $profilePicture);
+ }
+
+ // Execute the delete statement
+ if ($delete_stmt->execute()) {
+ echo "Record deleted successfully";
+ } else {
+ echo "Error: " . $delete_stmt->error;
+ }
+
+ $delete_stmt->close();
+ } else {
+ echo "User not found";
+ }
+
+ $filename_query->close();
+ $conn->close();
+}
+?>
diff --git a/admin/api/submitted-assignments.php b/admin/api/submitted-assignments.php
new file mode 100644
index 0000000..275d78d
--- /dev/null
+++ b/admin/api/submitted-assignments.php
@@ -0,0 +1,35 @@
+connect_error) {
+ die("Connection failed: " . $conn->connect_error);
+}
+
+// Fetch submitted data from student_assignments table
+$query = "SELECT * FROM student_assignments WHERE status = 'Submitted'";
+$result = $conn->query($query);
+
+// Check if query executed successfully
+if ($result) {
+ $data = array();
+ // Fetch rows
+ while ($row = $result->fetch_assoc()) {
+ $data[] = $row;
+ }
+ // Return JSON encoded data
+ echo json_encode($data);
+} else {
+ echo "Error: " . $conn->error;
+}
+
+// Close connection
+$conn->close();
+?>
diff --git a/admin/api/updateprofile.php b/admin/api/updateprofile.php
new file mode 100644
index 0000000..54441b9
--- /dev/null
+++ b/admin/api/updateprofile.php
@@ -0,0 +1,85 @@
+connect_error) {
+ throw new Exception("Connection failed: " . $conn->connect_error);
+ }
+
+ // Update user details in the database
+ $sql = "UPDATE users SET phoneNumber='$phoneNumber', address='$address', state='$state', zipCode='$zipCode', country='$country' WHERE id=$id";
+
+ if ($conn->query($sql) === TRUE) {
+ echo json_encode(["status" => "success", "message" => "Profile updated successfully"]);
+ } else {
+ throw new Exception("Error updating profile: " . $conn->error);
+ }
+
+ $conn->close();
+ } catch (Exception $e) {
+ echo json_encode(["status" => "error", "message" => $e->getMessage()]);
+ }
+} elseif ($_SERVER["REQUEST_METHOD"] == "GET" && isset($_GET['id'])) {
+ try {
+ $id = $_GET['id'];
+
+ // Database connection
+ $servername = "localhost";
+ $username = "root";
+ $password = "";
+ $dbname = "starz";
+
+ // Create connection
+ $conn = new mysqli($servername, $username, $password, $dbname);
+
+ // Check connection
+ if ($conn->connect_error) {
+ throw new Exception("Connection failed: " . $conn->connect_error);
+ }
+
+ // Fetch user details from the database
+ $sql = "SELECT * FROM users WHERE id=$id";
+ $result = $conn->query($sql);
+
+ if ($result->num_rows > 0) {
+ $row = $result->fetch_assoc();
+ echo json_encode([
+ 'status' => 'success',
+ 'data' => $row
+ ]);
+ } else {
+ throw new Exception("No user found with the provided ID");
+ }
+
+ $conn->close();
+ } catch (Exception $e) {
+ echo json_encode(["status" => "error", "message" => $e->getMessage()]);
+ }
+} else {
+ echo json_encode(["status" => "error", "message" => "Invalid request method or missing ID"]);
+}
+?>
diff --git a/admin/api/uploads/211801350002.jpg b/admin/api/uploads/211801350002.jpg
new file mode 100644
index 0000000..c072e0a
Binary files /dev/null and b/admin/api/uploads/211801350002.jpg differ
diff --git a/admin/api/uploads/211801350007.jpg b/admin/api/uploads/211801350007.jpg
new file mode 100644
index 0000000..81ac83d
Binary files /dev/null and b/admin/api/uploads/211801350007.jpg differ
diff --git a/admin/api/uploads/211801350011.jpg b/admin/api/uploads/211801350011.jpg
new file mode 100644
index 0000000..6ed7d25
Binary files /dev/null and b/admin/api/uploads/211801350011.jpg differ
diff --git a/admin/api/uploads/211801350020.jpg b/admin/api/uploads/211801350020.jpg
new file mode 100644
index 0000000..830893c
Binary files /dev/null and b/admin/api/uploads/211801350020.jpg differ
diff --git a/admin/api/uploads/211801370077.jpg b/admin/api/uploads/211801370077.jpg
new file mode 100644
index 0000000..7e0018a
Binary files /dev/null and b/admin/api/uploads/211801370077.jpg differ
diff --git a/admin/api/uploads/211801380029.jpg b/admin/api/uploads/211801380029.jpg
new file mode 100644
index 0000000..2eadf02
Binary files /dev/null and b/admin/api/uploads/211801380029.jpg differ
diff --git a/admin/api/uploads/211801381042.jpg b/admin/api/uploads/211801381042.jpg
new file mode 100644
index 0000000..789f3e4
Binary files /dev/null and b/admin/api/uploads/211801381042.jpg differ
diff --git a/admin/api/uploads/211801381043.jpg b/admin/api/uploads/211801381043.jpg
new file mode 100644
index 0000000..5bd8857
Binary files /dev/null and b/admin/api/uploads/211801381043.jpg differ
diff --git a/admin/api/uploads/A001.jpg b/admin/api/uploads/A001.jpg
new file mode 100644
index 0000000..44acf9a
Binary files /dev/null and b/admin/api/uploads/A001.jpg differ
diff --git a/admin/api/uploads/A002.jpg b/admin/api/uploads/A002.jpg
new file mode 100644
index 0000000..186b91c
Binary files /dev/null and b/admin/api/uploads/A002.jpg differ
diff --git a/admin/api/uploads/A003.jpg b/admin/api/uploads/A003.jpg
new file mode 100644
index 0000000..f27441e
Binary files /dev/null and b/admin/api/uploads/A003.jpg differ
diff --git a/admin/api/uploads/F001.jpg b/admin/api/uploads/F001.jpg
new file mode 100644
index 0000000..16a64b7
Binary files /dev/null and b/admin/api/uploads/F001.jpg differ
diff --git a/admin/api/uploads/F002.jpg b/admin/api/uploads/F002.jpg
new file mode 100644
index 0000000..8841776
Binary files /dev/null and b/admin/api/uploads/F002.jpg differ
diff --git a/admin/api/uploads/F003.jpg b/admin/api/uploads/F003.jpg
new file mode 100644
index 0000000..d281ea8
Binary files /dev/null and b/admin/api/uploads/F003.jpg differ
diff --git a/admin/api/uploads/F004.jpg b/admin/api/uploads/F004.jpg
new file mode 100644
index 0000000..e197c09
Binary files /dev/null and b/admin/api/uploads/F004.jpg differ
diff --git a/admin/api/uploads/F005.jpg b/admin/api/uploads/F005.jpg
new file mode 100644
index 0000000..3288a77
Binary files /dev/null and b/admin/api/uploads/F005.jpg differ
diff --git a/admin/api/uploads/F006.jpg b/admin/api/uploads/F006.jpg
new file mode 100644
index 0000000..83c69d6
Binary files /dev/null and b/admin/api/uploads/F006.jpg differ
diff --git a/admin/api/uploads/F007.jpg b/admin/api/uploads/F007.jpg
new file mode 100644
index 0000000..b7a3f2a
Binary files /dev/null and b/admin/api/uploads/F007.jpg differ
diff --git a/admin/api/uploads/materials/978-1-4842-4932-1.pdf b/admin/api/uploads/materials/978-1-4842-4932-1.pdf
new file mode 100644
index 0000000..3d17a21
Binary files /dev/null and b/admin/api/uploads/materials/978-1-4842-4932-1.pdf differ
diff --git a/admin/api/uploads/materials/Node [Autosaved].pptx b/admin/api/uploads/materials/Node [Autosaved].pptx
new file mode 100644
index 0000000..e543727
Binary files /dev/null and b/admin/api/uploads/materials/Node [Autosaved].pptx differ
diff --git a/admin/api/uploads/materials/Research-Data-Management-in-the-Canadian-Context-1705500780.pdf b/admin/api/uploads/materials/Research-Data-Management-in-the-Canadian-Context-1705500780.pdf
new file mode 100644
index 0000000..280cd56
Binary files /dev/null and b/admin/api/uploads/materials/Research-Data-Management-in-the-Canadian-Context-1705500780.pdf differ
diff --git a/admin/assets/css/demo.css b/admin/assets/css/demo.css
new file mode 100644
index 0000000..d842174
--- /dev/null
+++ b/admin/assets/css/demo.css
@@ -0,0 +1,107 @@
+/*
+* demo.css
+* File include item demo only specific css only
+******************************************************************************/
+
+.menu .app-brand.demo {
+ height: 64px;
+ margin-top: 12px;
+}
+
+.app-brand-logo.demo svg {
+ width: 22px;
+ height: 38px;
+}
+
+.app-brand-text.demo {
+ font-size: 1.75rem;
+ letter-spacing: -0.5px;
+ /* text-transform: lowercase; */
+}
+
+/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
+/* Detached navbar */
+.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
+ padding-top: 76px !important;
+}
+/* Default navbar */
+.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
+ padding-top: 64px !important;
+}
+
+/* Navbar page z-index issue solution */
+.content-wrapper .navbar {
+ z-index: auto;
+}
+
+/*
+* Content
+******************************************************************************/
+
+.demo-blocks > * {
+ display: block !important;
+}
+
+.demo-inline-spacing > * {
+ margin: 1rem 0.375rem 0 0 !important;
+}
+
+/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
+.demo-vertical-spacing > * {
+ margin-top: 1rem !important;
+ margin-bottom: 0 !important;
+}
+.demo-vertical-spacing.demo-only-element > :first-child {
+ margin-top: 0 !important;
+}
+
+.demo-vertical-spacing-lg > * {
+ margin-top: 1.875rem !important;
+ margin-bottom: 0 !important;
+}
+.demo-vertical-spacing-lg.demo-only-element > :first-child {
+ margin-top: 0 !important;
+}
+
+.demo-vertical-spacing-xl > * {
+ margin-top: 5rem !important;
+ margin-bottom: 0 !important;
+}
+.demo-vertical-spacing-xl.demo-only-element > :first-child {
+ margin-top: 0 !important;
+}
+
+.rtl-only {
+ display: none !important;
+ text-align: left !important;
+ direction: ltr !important;
+}
+
+[dir='rtl'] .rtl-only {
+ display: block !important;
+}
+
+/*
+* Layout demo
+******************************************************************************/
+
+.layout-demo-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin-top: 1rem;
+}
+.layout-demo-placeholder img {
+ width: 900px;
+}
+.layout-demo-info {
+ text-align: center;
+ margin-top: 1rem;
+}
diff --git a/admin/assets/img/avatars/1.png b/admin/assets/img/avatars/1.png
new file mode 100644
index 0000000..02ffed8
Binary files /dev/null and b/admin/assets/img/avatars/1.png differ
diff --git a/admin/assets/img/avatars/5.png b/admin/assets/img/avatars/5.png
new file mode 100644
index 0000000..649f9ec
Binary files /dev/null and b/admin/assets/img/avatars/5.png differ
diff --git a/admin/assets/img/avatars/6.png b/admin/assets/img/avatars/6.png
new file mode 100644
index 0000000..99ad3a6
Binary files /dev/null and b/admin/assets/img/avatars/6.png differ
diff --git a/admin/assets/img/avatars/7.png b/admin/assets/img/avatars/7.png
new file mode 100644
index 0000000..335a741
Binary files /dev/null and b/admin/assets/img/avatars/7.png differ
diff --git a/admin/assets/img/avatars/Campus View of Dr Samuel George Institute of Engineering and Technology Prakasam_Campus-View.jpg b/admin/assets/img/avatars/Campus View of Dr Samuel George Institute of Engineering and Technology Prakasam_Campus-View.jpg
new file mode 100644
index 0000000..24494fc
Binary files /dev/null and b/admin/assets/img/avatars/Campus View of Dr Samuel George Institute of Engineering and Technology Prakasam_Campus-View.jpg differ
diff --git a/admin/assets/img/avatars/Campus-visakhapatnam.jpg b/admin/assets/img/avatars/Campus-visakhapatnam.jpg
new file mode 100644
index 0000000..91679a5
Binary files /dev/null and b/admin/assets/img/avatars/Campus-visakhapatnam.jpg differ
diff --git a/admin/assets/img/avatars/avatar.png b/admin/assets/img/avatars/avatar.png
new file mode 100644
index 0000000..8dc8fbd
Binary files /dev/null and b/admin/assets/img/avatars/avatar.png differ
diff --git a/admin/assets/img/avatars/banner.jpeg b/admin/assets/img/avatars/banner.jpeg
new file mode 100644
index 0000000..33b5743
Binary files /dev/null and b/admin/assets/img/avatars/banner.jpeg differ
diff --git a/admin/assets/img/avatars/hostel.jpg b/admin/assets/img/avatars/hostel.jpg
new file mode 100644
index 0000000..1a97ad2
Binary files /dev/null and b/admin/assets/img/avatars/hostel.jpg differ
diff --git a/admin/assets/img/avatars/katriya.jpg b/admin/assets/img/avatars/katriya.jpg
new file mode 100644
index 0000000..7fd48af
Binary files /dev/null and b/admin/assets/img/avatars/katriya.jpg differ
diff --git a/admin/assets/img/avatars/logo.png b/admin/assets/img/avatars/logo.png
new file mode 100644
index 0000000..6b2d944
Binary files /dev/null and b/admin/assets/img/avatars/logo.png differ
diff --git a/admin/assets/img/avatars/samuel.webp b/admin/assets/img/avatars/samuel.webp
new file mode 100644
index 0000000..870a2a4
Binary files /dev/null and b/admin/assets/img/avatars/samuel.webp differ
diff --git a/admin/assets/img/backgrounds/18.jpg b/admin/assets/img/backgrounds/18.jpg
new file mode 100644
index 0000000..26de346
Binary files /dev/null and b/admin/assets/img/backgrounds/18.jpg differ
diff --git a/admin/assets/img/elements/1.jpg b/admin/assets/img/elements/1.jpg
new file mode 100644
index 0000000..779350e
Binary files /dev/null and b/admin/assets/img/elements/1.jpg differ
diff --git a/admin/assets/img/elements/11.jpg b/admin/assets/img/elements/11.jpg
new file mode 100644
index 0000000..30f1d63
Binary files /dev/null and b/admin/assets/img/elements/11.jpg differ
diff --git a/admin/assets/img/elements/12.jpg b/admin/assets/img/elements/12.jpg
new file mode 100644
index 0000000..e734764
Binary files /dev/null and b/admin/assets/img/elements/12.jpg differ
diff --git a/admin/assets/img/elements/13.jpg b/admin/assets/img/elements/13.jpg
new file mode 100644
index 0000000..5b19ce5
Binary files /dev/null and b/admin/assets/img/elements/13.jpg differ
diff --git a/admin/assets/img/elements/17.jpg b/admin/assets/img/elements/17.jpg
new file mode 100644
index 0000000..2004cda
Binary files /dev/null and b/admin/assets/img/elements/17.jpg differ
diff --git a/admin/assets/img/elements/18.jpg b/admin/assets/img/elements/18.jpg
new file mode 100644
index 0000000..46af155
Binary files /dev/null and b/admin/assets/img/elements/18.jpg differ
diff --git a/admin/assets/img/elements/19.jpg b/admin/assets/img/elements/19.jpg
new file mode 100644
index 0000000..cae3449
Binary files /dev/null and b/admin/assets/img/elements/19.jpg differ
diff --git a/admin/assets/img/elements/2.jpg b/admin/assets/img/elements/2.jpg
new file mode 100644
index 0000000..78bc4d8
Binary files /dev/null and b/admin/assets/img/elements/2.jpg differ
diff --git a/admin/assets/img/elements/20.jpg b/admin/assets/img/elements/20.jpg
new file mode 100644
index 0000000..1d7fb7c
Binary files /dev/null and b/admin/assets/img/elements/20.jpg differ
diff --git a/admin/assets/img/elements/3.jpg b/admin/assets/img/elements/3.jpg
new file mode 100644
index 0000000..f34f3de
Binary files /dev/null and b/admin/assets/img/elements/3.jpg differ
diff --git a/admin/assets/img/elements/4.jpg b/admin/assets/img/elements/4.jpg
new file mode 100644
index 0000000..4843200
Binary files /dev/null and b/admin/assets/img/elements/4.jpg differ
diff --git a/admin/assets/img/elements/5.jpg b/admin/assets/img/elements/5.jpg
new file mode 100644
index 0000000..29714f5
Binary files /dev/null and b/admin/assets/img/elements/5.jpg differ
diff --git a/admin/assets/img/elements/7.jpg b/admin/assets/img/elements/7.jpg
new file mode 100644
index 0000000..01a42a5
Binary files /dev/null and b/admin/assets/img/elements/7.jpg differ
diff --git a/admin/assets/img/favicon/cutm.png b/admin/assets/img/favicon/cutm.png
new file mode 100644
index 0000000..c26d3a0
Binary files /dev/null and b/admin/assets/img/favicon/cutm.png differ
diff --git a/admin/assets/img/favicon/favicon.png b/admin/assets/img/favicon/favicon.png
new file mode 100644
index 0000000..6aeeb96
Binary files /dev/null and b/admin/assets/img/favicon/favicon.png differ
diff --git a/admin/assets/img/icons/brands/asana.png b/admin/assets/img/icons/brands/asana.png
new file mode 100644
index 0000000..6a17880
Binary files /dev/null and b/admin/assets/img/icons/brands/asana.png differ
diff --git a/admin/assets/img/icons/brands/behance.png b/admin/assets/img/icons/brands/behance.png
new file mode 100644
index 0000000..bf41313
Binary files /dev/null and b/admin/assets/img/icons/brands/behance.png differ
diff --git a/admin/assets/img/icons/brands/dribbble.png b/admin/assets/img/icons/brands/dribbble.png
new file mode 100644
index 0000000..468e311
Binary files /dev/null and b/admin/assets/img/icons/brands/dribbble.png differ
diff --git a/admin/assets/img/icons/brands/facebook.png b/admin/assets/img/icons/brands/facebook.png
new file mode 100644
index 0000000..3ee2f66
Binary files /dev/null and b/admin/assets/img/icons/brands/facebook.png differ
diff --git a/admin/assets/img/icons/brands/github.png b/admin/assets/img/icons/brands/github.png
new file mode 100644
index 0000000..7e8c363
Binary files /dev/null and b/admin/assets/img/icons/brands/github.png differ
diff --git a/admin/assets/img/icons/brands/google.png b/admin/assets/img/icons/brands/google.png
new file mode 100644
index 0000000..37cdc5a
Binary files /dev/null and b/admin/assets/img/icons/brands/google.png differ
diff --git a/admin/assets/img/icons/brands/instagram.png b/admin/assets/img/icons/brands/instagram.png
new file mode 100644
index 0000000..eb18ca2
Binary files /dev/null and b/admin/assets/img/icons/brands/instagram.png differ
diff --git a/admin/assets/img/icons/brands/mailchimp.png b/admin/assets/img/icons/brands/mailchimp.png
new file mode 100644
index 0000000..d3a124f
Binary files /dev/null and b/admin/assets/img/icons/brands/mailchimp.png differ
diff --git a/admin/assets/img/icons/brands/slack.png b/admin/assets/img/icons/brands/slack.png
new file mode 100644
index 0000000..a109a0f
Binary files /dev/null and b/admin/assets/img/icons/brands/slack.png differ
diff --git a/admin/assets/img/icons/brands/twitter.png b/admin/assets/img/icons/brands/twitter.png
new file mode 100644
index 0000000..5a27c3d
Binary files /dev/null and b/admin/assets/img/icons/brands/twitter.png differ
diff --git a/admin/assets/img/icons/unicons/cc-primary.png b/admin/assets/img/icons/unicons/cc-primary.png
new file mode 100644
index 0000000..60e3631
Binary files /dev/null and b/admin/assets/img/icons/unicons/cc-primary.png differ
diff --git a/admin/assets/img/icons/unicons/cc-success.png b/admin/assets/img/icons/unicons/cc-success.png
new file mode 100644
index 0000000..658b86f
Binary files /dev/null and b/admin/assets/img/icons/unicons/cc-success.png differ
diff --git a/admin/assets/img/icons/unicons/cc-warning.png b/admin/assets/img/icons/unicons/cc-warning.png
new file mode 100644
index 0000000..16d2837
Binary files /dev/null and b/admin/assets/img/icons/unicons/cc-warning.png differ
diff --git a/admin/assets/img/icons/unicons/chart-success.png b/admin/assets/img/icons/unicons/chart-success.png
new file mode 100644
index 0000000..e684d01
Binary files /dev/null and b/admin/assets/img/icons/unicons/chart-success.png differ
diff --git a/admin/assets/img/icons/unicons/chart.png b/admin/assets/img/icons/unicons/chart.png
new file mode 100644
index 0000000..7ddc07e
Binary files /dev/null and b/admin/assets/img/icons/unicons/chart.png differ
diff --git a/admin/assets/img/icons/unicons/paypal.png b/admin/assets/img/icons/unicons/paypal.png
new file mode 100644
index 0000000..df16d74
Binary files /dev/null and b/admin/assets/img/icons/unicons/paypal.png differ
diff --git a/admin/assets/img/icons/unicons/wallet-info.png b/admin/assets/img/icons/unicons/wallet-info.png
new file mode 100644
index 0000000..f8e6948
Binary files /dev/null and b/admin/assets/img/icons/unicons/wallet-info.png differ
diff --git a/admin/assets/img/icons/unicons/wallet.png b/admin/assets/img/icons/unicons/wallet.png
new file mode 100644
index 0000000..d5253f2
Binary files /dev/null and b/admin/assets/img/icons/unicons/wallet.png differ
diff --git a/admin/assets/img/illustrations/girl-doing-yoga-light.png b/admin/assets/img/illustrations/girl-doing-yoga-light.png
new file mode 100644
index 0000000..946e47c
Binary files /dev/null and b/admin/assets/img/illustrations/girl-doing-yoga-light.png differ
diff --git a/admin/assets/img/illustrations/man-with-laptop-light.png b/admin/assets/img/illustrations/man-with-laptop-light.png
new file mode 100644
index 0000000..4266120
Binary files /dev/null and b/admin/assets/img/illustrations/man-with-laptop-light.png differ
diff --git a/admin/assets/img/illustrations/page-misc-error-light.png b/admin/assets/img/illustrations/page-misc-error-light.png
new file mode 100644
index 0000000..970e31a
Binary files /dev/null and b/admin/assets/img/illustrations/page-misc-error-light.png differ
diff --git a/admin/assets/img/layouts/layout-container-light.png b/admin/assets/img/layouts/layout-container-light.png
new file mode 100644
index 0000000..513338f
Binary files /dev/null and b/admin/assets/img/layouts/layout-container-light.png differ
diff --git a/admin/assets/img/layouts/layout-fluid-light.png b/admin/assets/img/layouts/layout-fluid-light.png
new file mode 100644
index 0000000..ca093f4
Binary files /dev/null and b/admin/assets/img/layouts/layout-fluid-light.png differ
diff --git a/admin/assets/img/layouts/layout-without-menu-light.png b/admin/assets/img/layouts/layout-without-menu-light.png
new file mode 100644
index 0000000..fe7d919
Binary files /dev/null and b/admin/assets/img/layouts/layout-without-menu-light.png differ
diff --git a/admin/assets/img/layouts/layout-without-navbar-light.png b/admin/assets/img/layouts/layout-without-navbar-light.png
new file mode 100644
index 0000000..68e69ba
Binary files /dev/null and b/admin/assets/img/layouts/layout-without-navbar-light.png differ
diff --git a/admin/assets/js/config.js b/admin/assets/js/config.js
new file mode 100644
index 0000000..91921a2
--- /dev/null
+++ b/admin/assets/js/config.js
@@ -0,0 +1,27 @@
+/**
+ * Config
+ * -------------------------------------------------------------------------------------
+ * ! IMPORTANT: Make sure you clear the browser local storage In order to see the config changes in the template.
+ * ! To clear local storage: (https://www.leadshook.com/help/how-to-clear-local-storage-in-google-chrome-browser/).
+ */
+
+'use strict';
+
+// JS global variables
+let config = {
+ colors: {
+ primary: '#696cff',
+ secondary: '#8592a3',
+ success: '#71dd37',
+ info: '#03c3ec',
+ warning: '#ffab00',
+ danger: '#ff3e1d',
+ dark: '#233446',
+ black: '#000',
+ white: '#fff',
+ body: '#f4f5fb',
+ headingColor: '#566a7f',
+ axisColor: '#a1acb8',
+ borderColor: '#eceef1'
+ }
+};
diff --git a/admin/assets/js/dashboards-analytics.js b/admin/assets/js/dashboards-analytics.js
new file mode 100644
index 0000000..c7c08a2
--- /dev/null
+++ b/admin/assets/js/dashboards-analytics.js
@@ -0,0 +1,662 @@
+/**
+ * Dashboard Analytics
+ */
+
+'use strict';
+
+(function () {
+ let cardColor, headingColor, axisColor, shadeColor, borderColor;
+
+ cardColor = config.colors.white;
+ headingColor = config.colors.headingColor;
+ axisColor = config.colors.axisColor;
+ borderColor = config.colors.borderColor;
+
+ // Total Revenue Report Chart - Bar Chart
+ // --------------------------------------------------------------------
+ const totalRevenueChartEl = document.querySelector('#totalRevenueChart'),
+ totalRevenueChartOptions = {
+ series: [
+ {
+ name: '2021',
+ data: [18, 7, 15, 29, 18, 12, 9]
+ },
+ {
+ name: '2020',
+ data: [-13, -18, -9, -14, -5, -17, -15]
+ }
+ ],
+ chart: {
+ height: 300,
+ stacked: true,
+ type: 'bar',
+ toolbar: { show: false }
+ },
+ plotOptions: {
+ bar: {
+ horizontal: false,
+ columnWidth: '33%',
+ borderRadius: 12,
+ startingShape: 'rounded',
+ endingShape: 'rounded'
+ }
+ },
+ colors: [config.colors.primary, config.colors.info],
+ dataLabels: {
+ enabled: false
+ },
+ stroke: {
+ curve: 'smooth',
+ width: 6,
+ lineCap: 'round',
+ colors: [cardColor]
+ },
+ legend: {
+ show: true,
+ horizontalAlign: 'left',
+ position: 'top',
+ markers: {
+ height: 8,
+ width: 8,
+ radius: 12,
+ offsetX: -3
+ },
+ labels: {
+ colors: axisColor
+ },
+ itemMargin: {
+ horizontal: 10
+ }
+ },
+ grid: {
+ borderColor: borderColor,
+ padding: {
+ top: 0,
+ bottom: -8,
+ left: 20,
+ right: 20
+ }
+ },
+ xaxis: {
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
+ labels: {
+ style: {
+ fontSize: '13px',
+ colors: axisColor
+ }
+ },
+ axisTicks: {
+ show: false
+ },
+ axisBorder: {
+ show: false
+ }
+ },
+ yaxis: {
+ labels: {
+ style: {
+ fontSize: '13px',
+ colors: axisColor
+ }
+ }
+ },
+ responsive: [
+ {
+ breakpoint: 1700,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '32%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 1580,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '35%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 1440,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '42%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 1300,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '48%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 1200,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '40%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 1040,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 11,
+ columnWidth: '48%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 991,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '30%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 840,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '35%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 768,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '28%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 640,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '32%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 576,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '37%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 480,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '45%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 420,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '52%'
+ }
+ }
+ }
+ },
+ {
+ breakpoint: 380,
+ options: {
+ plotOptions: {
+ bar: {
+ borderRadius: 10,
+ columnWidth: '60%'
+ }
+ }
+ }
+ }
+ ],
+ states: {
+ hover: {
+ filter: {
+ type: 'none'
+ }
+ },
+ active: {
+ filter: {
+ type: 'none'
+ }
+ }
+ }
+ };
+ if (typeof totalRevenueChartEl !== undefined && totalRevenueChartEl !== null) {
+ const totalRevenueChart = new ApexCharts(totalRevenueChartEl, totalRevenueChartOptions);
+ totalRevenueChart.render();
+ }
+
+ // Growth Chart - Radial Bar Chart
+ // --------------------------------------------------------------------
+ const growthChartEl = document.querySelector('#growthChart'),
+ growthChartOptions = {
+ series: [78],
+ labels: ['Growth'],
+ chart: {
+ height: 240,
+ type: 'radialBar'
+ },
+ plotOptions: {
+ radialBar: {
+ size: 150,
+ offsetY: 10,
+ startAngle: -150,
+ endAngle: 150,
+ hollow: {
+ size: '55%'
+ },
+ track: {
+ background: cardColor,
+ strokeWidth: '100%'
+ },
+ dataLabels: {
+ name: {
+ offsetY: 15,
+ color: headingColor,
+ fontSize: '15px',
+ fontWeight: '600',
+ fontFamily: 'Public Sans'
+ },
+ value: {
+ offsetY: -25,
+ color: headingColor,
+ fontSize: '22px',
+ fontWeight: '500',
+ fontFamily: 'Public Sans'
+ }
+ }
+ }
+ },
+ colors: [config.colors.primary],
+ fill: {
+ type: 'gradient',
+ gradient: {
+ shade: 'dark',
+ shadeIntensity: 0.5,
+ gradientToColors: [config.colors.primary],
+ inverseColors: true,
+ opacityFrom: 1,
+ opacityTo: 0.6,
+ stops: [30, 70, 100]
+ }
+ },
+ stroke: {
+ dashArray: 5
+ },
+ grid: {
+ padding: {
+ top: -35,
+ bottom: -10
+ }
+ },
+ states: {
+ hover: {
+ filter: {
+ type: 'none'
+ }
+ },
+ active: {
+ filter: {
+ type: 'none'
+ }
+ }
+ }
+ };
+ if (typeof growthChartEl !== undefined && growthChartEl !== null) {
+ const growthChart = new ApexCharts(growthChartEl, growthChartOptions);
+ growthChart.render();
+ }
+
+ // Profit Report Line Chart
+ // --------------------------------------------------------------------
+ const profileReportChartEl = document.querySelector('#profileReportChart'),
+ profileReportChartConfig = {
+ chart: {
+ height: 80,
+ // width: 175,
+ type: 'line',
+ toolbar: {
+ show: false
+ },
+ dropShadow: {
+ enabled: true,
+ top: 10,
+ left: 5,
+ blur: 3,
+ color: config.colors.warning,
+ opacity: 0.15
+ },
+ sparkline: {
+ enabled: true
+ }
+ },
+ grid: {
+ show: false,
+ padding: {
+ right: 8
+ }
+ },
+ colors: [config.colors.warning],
+ dataLabels: {
+ enabled: false
+ },
+ stroke: {
+ width: 5,
+ curve: 'smooth'
+ },
+ series: [
+ {
+ data: [110, 270, 145, 245, 205, 285]
+ }
+ ],
+ xaxis: {
+ show: false,
+ lines: {
+ show: false
+ },
+ labels: {
+ show: false
+ },
+ axisBorder: {
+ show: false
+ }
+ },
+ yaxis: {
+ show: false
+ }
+ };
+ if (typeof profileReportChartEl !== undefined && profileReportChartEl !== null) {
+ const profileReportChart = new ApexCharts(profileReportChartEl, profileReportChartConfig);
+ profileReportChart.render();
+ }
+
+ // Order Statistics Chart
+ // --------------------------------------------------------------------
+ const chartOrderStatistics = document.querySelector('#orderStatisticsChart'),
+ orderChartConfig = {
+ chart: {
+ height: 165,
+ width: 130,
+ type: 'donut'
+ },
+ labels: ['Electronic', 'Sports', 'Decor', 'Fashion'],
+ series: [85, 15, 50, 50],
+ colors: [config.colors.primary, config.colors.secondary, config.colors.info, config.colors.success],
+ stroke: {
+ width: 5,
+ colors: cardColor
+ },
+ dataLabels: {
+ enabled: false,
+ formatter: function (val, opt) {
+ return parseInt(val) + '%';
+ }
+ },
+ legend: {
+ show: false
+ },
+ grid: {
+ padding: {
+ top: 0,
+ bottom: 0,
+ right: 15
+ }
+ },
+ plotOptions: {
+ pie: {
+ donut: {
+ size: '75%',
+ labels: {
+ show: true,
+ value: {
+ fontSize: '1.5rem',
+ fontFamily: 'Public Sans',
+ color: headingColor,
+ offsetY: -15,
+ formatter: function (val) {
+ return parseInt(val) + '%';
+ }
+ },
+ name: {
+ offsetY: 20,
+ fontFamily: 'Public Sans'
+ },
+ total: {
+ show: true,
+ fontSize: '0.8125rem',
+ color: axisColor,
+ label: 'Weekly',
+ formatter: function (w) {
+ return '38%';
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+ if (typeof chartOrderStatistics !== undefined && chartOrderStatistics !== null) {
+ const statisticsChart = new ApexCharts(chartOrderStatistics, orderChartConfig);
+ statisticsChart.render();
+ }
+
+ // Income Chart - Area chart
+ // --------------------------------------------------------------------
+ const incomeChartEl = document.querySelector('#incomeChart'),
+ incomeChartConfig = {
+ series: [
+ {
+ data: [24, 21, 30, 22, 42, 26, 35, 29]
+ }
+ ],
+ chart: {
+ height: 215,
+ parentHeightOffset: 0,
+ parentWidthOffset: 0,
+ toolbar: {
+ show: false
+ },
+ type: 'area'
+ },
+ dataLabels: {
+ enabled: false
+ },
+ stroke: {
+ width: 2,
+ curve: 'smooth'
+ },
+ legend: {
+ show: false
+ },
+ markers: {
+ size: 6,
+ colors: 'transparent',
+ strokeColors: 'transparent',
+ strokeWidth: 4,
+ discrete: [
+ {
+ fillColor: config.colors.white,
+ seriesIndex: 0,
+ dataPointIndex: 7,
+ strokeColor: config.colors.primary,
+ strokeWidth: 2,
+ size: 6,
+ radius: 8
+ }
+ ],
+ hover: {
+ size: 7
+ }
+ },
+ colors: [config.colors.primary],
+ fill: {
+ type: 'gradient',
+ gradient: {
+ shade: shadeColor,
+ shadeIntensity: 0.6,
+ opacityFrom: 0.5,
+ opacityTo: 0.25,
+ stops: [0, 95, 100]
+ }
+ },
+ grid: {
+ borderColor: borderColor,
+ strokeDashArray: 3,
+ padding: {
+ top: -20,
+ bottom: -8,
+ left: -10,
+ right: 8
+ }
+ },
+ xaxis: {
+ categories: ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
+ axisBorder: {
+ show: false
+ },
+ axisTicks: {
+ show: false
+ },
+ labels: {
+ show: true,
+ style: {
+ fontSize: '13px',
+ colors: axisColor
+ }
+ }
+ },
+ yaxis: {
+ labels: {
+ show: false
+ },
+ min: 10,
+ max: 50,
+ tickAmount: 4
+ }
+ };
+ if (typeof incomeChartEl !== undefined && incomeChartEl !== null) {
+ const incomeChart = new ApexCharts(incomeChartEl, incomeChartConfig);
+ incomeChart.render();
+ }
+
+ // Expenses Mini Chart - Radial Chart
+ // --------------------------------------------------------------------
+ const weeklyExpensesEl = document.querySelector('#expensesOfWeek'),
+ weeklyExpensesConfig = {
+ series: [65],
+ chart: {
+ width: 60,
+ height: 60,
+ type: 'radialBar'
+ },
+ plotOptions: {
+ radialBar: {
+ startAngle: 0,
+ endAngle: 360,
+ strokeWidth: '8',
+ hollow: {
+ margin: 2,
+ size: '45%'
+ },
+ track: {
+ strokeWidth: '50%',
+ background: borderColor
+ },
+ dataLabels: {
+ show: true,
+ name: {
+ show: false
+ },
+ value: {
+ formatter: function (val) {
+ return '$' + parseInt(val);
+ },
+ offsetY: 5,
+ color: '#697a8d',
+ fontSize: '13px',
+ show: true
+ }
+ }
+ }
+ },
+ fill: {
+ type: 'solid',
+ colors: config.colors.primary
+ },
+ stroke: {
+ lineCap: 'round'
+ },
+ grid: {
+ padding: {
+ top: -10,
+ bottom: -15,
+ left: -10,
+ right: -10
+ }
+ },
+ states: {
+ hover: {
+ filter: {
+ type: 'none'
+ }
+ },
+ active: {
+ filter: {
+ type: 'none'
+ }
+ }
+ }
+ };
+ if (typeof weeklyExpensesEl !== undefined && weeklyExpensesEl !== null) {
+ const weeklyExpenses = new ApexCharts(weeklyExpensesEl, weeklyExpensesConfig);
+ weeklyExpenses.render();
+ }
+})();
diff --git a/admin/assets/js/extended-ui-perfect-scrollbar.js b/admin/assets/js/extended-ui-perfect-scrollbar.js
new file mode 100644
index 0000000..28862f2
--- /dev/null
+++ b/admin/assets/js/extended-ui-perfect-scrollbar.js
@@ -0,0 +1,37 @@
+/**
+ * Perfect Scrollbar
+ */
+'use strict';
+
+document.addEventListener('DOMContentLoaded', function () {
+ (function () {
+ const verticalExample = document.getElementById('vertical-example'),
+ horizontalExample = document.getElementById('horizontal-example'),
+ horizVertExample = document.getElementById('both-scrollbars-example');
+
+ // Vertical Example
+ // --------------------------------------------------------------------
+ if (verticalExample) {
+ new PerfectScrollbar(verticalExample, {
+ wheelPropagation: false
+ });
+ }
+
+ // Horizontal Example
+ // --------------------------------------------------------------------
+ if (horizontalExample) {
+ new PerfectScrollbar(horizontalExample, {
+ wheelPropagation: false,
+ suppressScrollY: true
+ });
+ }
+
+ // Both vertical and Horizontal Example
+ // --------------------------------------------------------------------
+ if (horizVertExample) {
+ new PerfectScrollbar(horizVertExample, {
+ wheelPropagation: false
+ });
+ }
+ })();
+});
diff --git a/admin/assets/js/form-basic-inputs.js b/admin/assets/js/form-basic-inputs.js
new file mode 100644
index 0000000..39bffc2
--- /dev/null
+++ b/admin/assets/js/form-basic-inputs.js
@@ -0,0 +1,11 @@
+/**
+ * Form Basic Inputs
+ */
+
+'use strict';
+
+(function () {
+ // Indeterminate checkbox
+ const checkbox = document.getElementById('defaultCheck2');
+ checkbox.indeterminate = true;
+})();
diff --git a/admin/assets/js/main.js b/admin/assets/js/main.js
new file mode 100644
index 0000000..05ae323
--- /dev/null
+++ b/admin/assets/js/main.js
@@ -0,0 +1,123 @@
+/**
+ * Main
+ */
+
+'use strict';
+
+let menu, animate;
+
+(function () {
+ // Initialize menu
+ //-----------------
+
+ let layoutMenuEl = document.querySelectorAll('#layout-menu');
+ layoutMenuEl.forEach(function (element) {
+ menu = new Menu(element, {
+ orientation: 'vertical',
+ closeChildren: false
+ });
+ // Change parameter to true if you want scroll animation
+ window.Helpers.scrollToActive((animate = false));
+ window.Helpers.mainMenu = menu;
+ });
+
+ // Initialize menu togglers and bind click on each
+ let menuToggler = document.querySelectorAll('.layout-menu-toggle');
+ menuToggler.forEach(item => {
+ item.addEventListener('click', event => {
+ event.preventDefault();
+ window.Helpers.toggleCollapsed();
+ });
+ });
+
+ // Display menu toggle (layout-menu-toggle) on hover with delay
+ let delay = function (elem, callback) {
+ let timeout = null;
+ elem.onmouseenter = function () {
+ // Set timeout to be a timer which will invoke callback after 300ms (not for small screen)
+ if (!Helpers.isSmallScreen()) {
+ timeout = setTimeout(callback, 300);
+ } else {
+ timeout = setTimeout(callback, 0);
+ }
+ };
+
+ elem.onmouseleave = function () {
+ // Clear any timers set to timeout
+ document.querySelector('.layout-menu-toggle').classList.remove('d-block');
+ clearTimeout(timeout);
+ };
+ };
+ if (document.getElementById('layout-menu')) {
+ delay(document.getElementById('layout-menu'), function () {
+ // not for small screen
+ if (!Helpers.isSmallScreen()) {
+ document.querySelector('.layout-menu-toggle').classList.add('d-block');
+ }
+ });
+ }
+
+ // Display in main menu when menu scrolls
+ let menuInnerContainer = document.getElementsByClassName('menu-inner'),
+ menuInnerShadow = document.getElementsByClassName('menu-inner-shadow')[0];
+ if (menuInnerContainer.length > 0 && menuInnerShadow) {
+ menuInnerContainer[0].addEventListener('ps-scroll-y', function () {
+ if (this.querySelector('.ps__thumb-y').offsetTop) {
+ menuInnerShadow.style.display = 'block';
+ } else {
+ menuInnerShadow.style.display = 'none';
+ }
+ });
+ }
+
+ // Init helpers & misc
+ // --------------------
+
+ // Init BS Tooltip
+ const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
+ tooltipTriggerList.map(function (tooltipTriggerEl) {
+ return new bootstrap.Tooltip(tooltipTriggerEl);
+ });
+
+ // Accordion active class
+ const accordionActiveFunction = function (e) {
+ if (e.type == 'show.bs.collapse' || e.type == 'show.bs.collapse') {
+ e.target.closest('.accordion-item').classList.add('active');
+ } else {
+ e.target.closest('.accordion-item').classList.remove('active');
+ }
+ };
+
+ const accordionTriggerList = [].slice.call(document.querySelectorAll('.accordion'));
+ const accordionList = accordionTriggerList.map(function (accordionTriggerEl) {
+ accordionTriggerEl.addEventListener('show.bs.collapse', accordionActiveFunction);
+ accordionTriggerEl.addEventListener('hide.bs.collapse', accordionActiveFunction);
+ });
+
+ // Auto update layout based on screen size
+ window.Helpers.setAutoUpdate(true);
+
+ // Toggle Password Visibility
+ window.Helpers.initPasswordToggle();
+
+ // Speech To Text
+ window.Helpers.initSpeechToText();
+
+ // Manage menu expanded/collapsed with templateCustomizer & local storage
+ //------------------------------------------------------------------
+
+ // If current layout is horizontal OR current window screen is small (overlay menu) than return from here
+ if (window.Helpers.isSmallScreen()) {
+ return;
+ }
+
+ // If current layout is vertical and current window screen is > small
+
+ // Auto update menu collapsed/expanded based on the themeConfig
+ window.Helpers.setCollapsed(true, false);
+
+
+})();
+
+
+
diff --git a/admin/assets/js/pages-account-settings-account.js b/admin/assets/js/pages-account-settings-account.js
new file mode 100644
index 0000000..2fb02de
--- /dev/null
+++ b/admin/assets/js/pages-account-settings-account.js
@@ -0,0 +1,29 @@
+/**
+ * Account Settings - Account
+ */
+
+'use strict';
+
+document.addEventListener('DOMContentLoaded', function (e) {
+ (function () {
+ const deactivateAcc = document.querySelector('#formAccountDeactivation');
+
+ // Update/reset user image of account page
+ let accountUserImage = document.getElementById('uploadedAvatar');
+ const fileInput = document.querySelector('.account-file-input'),
+ resetFileInput = document.querySelector('.account-image-reset');
+
+ if (accountUserImage) {
+ const resetImage = accountUserImage.src;
+ fileInput.onchange = () => {
+ if (fileInput.files[0]) {
+ accountUserImage.src = window.URL.createObjectURL(fileInput.files[0]);
+ }
+ };
+ resetFileInput.onclick = () => {
+ fileInput.value = '';
+ accountUserImage.src = resetImage;
+ };
+ }
+ })();
+});
diff --git a/admin/assets/js/ui-modals.js b/admin/assets/js/ui-modals.js
new file mode 100644
index 0000000..c9ebabd
--- /dev/null
+++ b/admin/assets/js/ui-modals.js
@@ -0,0 +1,33 @@
+/**
+ * UI Modals
+ */
+
+'use strict';
+
+(function () {
+ // On hiding modal, remove iframe video/audio to stop playing
+ const youTubeModal = document.querySelector('#youTubeModal'),
+ youTubeModalVideo = youTubeModal.querySelector('iframe');
+ youTubeModal.addEventListener('hidden.bs.modal', function () {
+ youTubeModalVideo.setAttribute('src', '');
+ });
+
+ // Function to get and auto play youTube video
+ const autoPlayYouTubeModal = function () {
+ const modalTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="modal"]'));
+ modalTriggerList.map(function (modalTriggerEl) {
+ modalTriggerEl.onclick = function () {
+ const theModal = this.getAttribute('data-bs-target'),
+ videoSRC = this.getAttribute('data-theVideo'),
+ videoSRCauto = `${videoSRC}?autoplay=1`,
+ modalVideo = document.querySelector(`${theModal} iframe`);
+ if (modalVideo) {
+ modalVideo.setAttribute('src', videoSRCauto);
+ }
+ };
+ });
+ };
+
+ // Calling function on load
+ autoPlayYouTubeModal();
+})();
diff --git a/admin/assets/js/ui-popover.js b/admin/assets/js/ui-popover.js
new file mode 100644
index 0000000..7252572
--- /dev/null
+++ b/admin/assets/js/ui-popover.js
@@ -0,0 +1,13 @@
+// /**
+// * UI Tooltips & Popovers
+// */
+
+'use strict';
+
+(function () {
+ const popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
+ const popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
+ // added { html: true, sanitize: false } option to render button in content area of popover
+ return new bootstrap.Popover(popoverTriggerEl, { html: true, sanitize: false });
+ });
+})();
diff --git a/admin/assets/js/ui-toasts.js b/admin/assets/js/ui-toasts.js
new file mode 100644
index 0000000..29ebb97
--- /dev/null
+++ b/admin/assets/js/ui-toasts.js
@@ -0,0 +1,39 @@
+/**
+ * UI Toasts
+ */
+
+'use strict';
+
+(function () {
+ // Bootstrap toasts example
+ // --------------------------------------------------------------------
+ const toastPlacementExample = document.querySelector('.toast-placement-ex'),
+ toastPlacementBtn = document.querySelector('#showToastPlacement');
+ let selectedType, selectedPlacement, toastPlacement;
+
+ // Dispose toast when open another
+ function toastDispose(toast) {
+ if (toast && toast._element !== null) {
+ if (toastPlacementExample) {
+ toastPlacementExample.classList.remove(selectedType);
+ DOMTokenList.prototype.remove.apply(toastPlacementExample.classList, selectedPlacement);
+ }
+ toast.dispose();
+ }
+ }
+ // Placement Button click
+ if (toastPlacementBtn) {
+ toastPlacementBtn.onclick = function () {
+ if (toastPlacement) {
+ toastDispose(toastPlacement);
+ }
+ selectedType = document.querySelector('#selectTypeOpt').value;
+ selectedPlacement = document.querySelector('#selectPlacement').value.split(' ');
+
+ toastPlacementExample.classList.add(selectedType);
+ DOMTokenList.prototype.add.apply(toastPlacementExample.classList, selectedPlacement);
+ toastPlacement = new bootstrap.Toast(toastPlacementExample);
+ toastPlacement.show();
+ };
+ }
+})();
diff --git a/admin/assets/vendor/css/core.css b/admin/assets/vendor/css/core.css
new file mode 100644
index 0000000..48dd4cf
--- /dev/null
+++ b/admin/assets/vendor/css/core.css
@@ -0,0 +1,16643 @@
+@charset "UTF-8";
+:root {
+ --bs-blue: #007bff;
+ --bs-indigo: #6610f2;
+ --bs-purple: #696cff;
+ --bs-pink: #e83e8c;
+ --bs-red: #ff3e1d;
+ --bs-orange: #fd7e14;
+ --bs-yellow: #ffab00;
+ --bs-green: #71dd37;
+ --bs-teal: #20c997;
+ --bs-cyan: #03c3ec;
+ --bs-white: #fff;
+ --bs-gray: rgba(67, 89, 113, 0.6);
+ --bs-gray-dark: rgba(67, 89, 113, 0.8);
+ --bs-gray-25: rgba(67, 89, 113, 0.025);
+ --bs-gray-50: rgba(67, 89, 113, 0.05);
+ --bs-primary: #696cff;
+ --bs-secondary: #8592a3;
+ --bs-success: #71dd37;
+ --bs-info: #03c3ec;
+ --bs-warning: #ffab00;
+ --bs-danger: #ff3e1d;
+ --bs-light: #fcfdfd;
+ --bs-dark: #233446;
+ --bs-gray: rgba(67, 89, 113, 0.1);
+ --bs-primary-rgb: 105, 108, 255;
+ --bs-secondary-rgb: 133, 146, 163;
+ --bs-success-rgb: 113, 221, 55;
+ --bs-info-rgb: 3, 195, 236;
+ --bs-warning-rgb: 255, 171, 0;
+ --bs-danger-rgb: 255, 62, 29;
+ --bs-light-rgb: 252, 253, 253;
+ --bs-dark-rgb: 35, 52, 70;
+ --bs-gray-rgb: 67, 89, 113;
+ --bs-white-rgb: 255, 255, 255;
+ --bs-black-rgb: 67, 89, 113;
+ --bs-body-color-rgb: 105, 122, 141;
+ --bs-body-bg-rgb: 245, 245, 249;
+ --bs-font-sans-serif: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ --bs-font-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+ --bs-root-font-size: 16px;
+ --bs-body-font-family: var(--bs-font-sans-serif);
+ --bs-body-font-size: 0.9375rem;
+ --bs-body-font-weight: 400;
+ --bs-body-line-height: 1.53;
+ --bs-body-color: #697a8d;
+ --bs-body-bg: #f5f5f9;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+:root {
+ font-size: var(--bs-root-font-size);
+}
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
+body {
+ margin: 0;
+ font-family: var(--bs-body-font-family);
+ font-size: var(--bs-body-font-size);
+ font-weight: var(--bs-body-font-weight);
+ line-height: var(--bs-body-line-height);
+ color: var(--bs-body-color);
+ text-align: var(--bs-body-text-align);
+ background-color: var(--bs-body-bg);
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(67, 89, 113, 0);
+}
+
+hr {
+ margin: 1rem 0;
+ color: #d9dee3;
+ background-color: currentColor;
+ border: 0;
+ opacity: 1;
+}
+
+hr:not([size]) {
+ height: 1px;
+}
+
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
+ margin-top: 0;
+ margin-bottom: 1rem;
+ font-weight: 500;
+ line-height: 1.1;
+ color: #566a7f;
+}
+
+h1, .h1 {
+ font-size: calc(1.3625rem + 1.35vw);
+}
+@media (min-width: 1200px) {
+ h1, .h1 {
+ font-size: 2.375rem;
+ }
+}
+
+h2, .h2 {
+ font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 1200px) {
+ h2, .h2 {
+ font-size: 2rem;
+ }
+}
+
+h3, .h3 {
+ font-size: calc(1.2875rem + 0.45vw);
+}
+@media (min-width: 1200px) {
+ h3, .h3 {
+ font-size: 1.625rem;
+ }
+}
+
+h4, .h4 {
+ font-size: calc(1.2625rem + 0.15vw);
+}
+@media (min-width: 1200px) {
+ h4, .h4 {
+ font-size: 1.375rem;
+ }
+}
+
+h5, .h5 {
+ font-size: 1.125rem;
+}
+
+h6, .h6 {
+ font-size: 0.9375rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-bs-original-title] {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ cursor: help;
+ -webkit-text-decoration-skip-ink: none;
+ text-decoration-skip-ink: none;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul {
+ padding-left: 2rem;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: 700;
+}
+
+dd {
+ margin-bottom: 0.5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: 900;
+}
+
+small, .small {
+ font-size: 85%;
+}
+
+mark, .mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 0.75em;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+a {
+ color: #696cff;
+ text-decoration: none;
+}
+a:hover {
+ color: #5f61e6;
+}
+
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: var(--bs-font-monospace);
+ font-size: 1em;
+ direction: ltr /* rtl:ignore */;
+ unicode-bidi: bidi-override;
+}
+
+pre {
+ display: block;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto;
+ font-size: 85%;
+}
+pre code {
+ font-size: inherit;
+ color: inherit;
+ word-break: normal;
+}
+
+code {
+ font-size: 85%;
+ color: #e83e8c;
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 85%;
+ color: #fff;
+ background-color: rgba(67, 89, 113, 0.9);
+ border-radius: 0.25rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+ font-weight: 700;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.625rem;
+ padding-bottom: 0.625rem;
+ color: #a1acb8;
+ text-align: left;
+}
+
+th {
+ font-weight: 600;
+ text-align: inherit;
+ text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
+label {
+ display: inline-block;
+}
+
+button {
+ border-radius: 0;
+}
+
+button:focus:not(:focus-visible) {
+ outline: 0;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+[role=button] {
+ cursor: pointer;
+}
+
+select {
+ word-wrap: normal;
+}
+select:disabled {
+ opacity: 1;
+}
+
+[list]::-webkit-calendar-picker-indicator {
+ display: none;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+ cursor: pointer;
+}
+
+::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+textarea {
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 0.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+ line-height: inherit;
+}
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+legend + * {
+ clear: left;
+}
+
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
+}
+
+[type=search] {
+ outline-offset: -2px;
+ -webkit-appearance: textfield;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+}
+
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+iframe {
+ border: 0;
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.lead {
+ font-size: 1.0546875rem;
+ font-weight: 400;
+}
+
+.display-1 {
+ font-size: calc(1.525rem + 3.3vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 4rem;
+ }
+}
+
+.display-2 {
+ font-size: calc(1.475rem + 2.7vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 3.5rem;
+ }
+}
+
+.display-3 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 3rem;
+ }
+}
+
+.display-4 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 2.5rem;
+ }
+}
+
+.display-5 {
+ font-size: calc(1.325rem + 0.9vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 2rem;
+ }
+}
+
+.display-6 {
+ font-size: calc(1.275rem + 0.3vw);
+ font-weight: 500;
+ line-height: 1.1;
+}
+@media (min-width: 1200px) {
+ .display-6 {
+ font-size: 1.5rem;
+ }
+}
+
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline-item {
+ display: inline-block;
+}
+.list-inline-item:not(:last-child) {
+ margin-right: 0.5rem;
+}
+
+.initialism {
+ font-size: 85%;
+ text-transform: uppercase;
+}
+
+.blockquote {
+ margin-bottom: 1rem;
+ font-size: 1.0546875rem;
+}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+.blockquote-footer {
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 85%;
+ color: rgba(67, 89, 113, 0.6);
+}
+.blockquote-footer::before {
+ content: "— ";
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0;
+ background-color: transparent;
+ border: 0px solid rgba(67, 89, 113, 0.3);
+ border-radius: 0px;
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 85%;
+ color: #a1acb8;
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+ width: 100%;
+ padding-right: var(--bs-gutter-x, 1.625rem);
+ padding-left: var(--bs-gutter-x, 1.625rem);
+ margin-right: auto;
+ margin-left: auto;
+}
+
+@media (min-width: 576px) {
+ .container-sm, .container {
+ max-width: 540px;
+ }
+}
+@media (min-width: 768px) {
+ .container-md, .container-sm, .container {
+ max-width: 720px;
+ }
+}
+@media (min-width: 992px) {
+ .container-lg, .container-md, .container-sm, .container {
+ max-width: 960px;
+ }
+}
+@media (min-width: 1200px) {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1140px;
+ }
+}
+@media (min-width: 1400px) {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1440px;
+ }
+}
+.row {
+ --bs-gutter-x: 1.625rem;
+ --bs-gutter-y: 0;
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: calc(-1 * var(--bs-gutter-y));
+ margin-right: calc(-0.5 * var(--bs-gutter-x));
+ margin-left: calc(-0.5 * var(--bs-gutter-x));
+}
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-top: var(--bs-gutter-y);
+}
+
+.col {
+ flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.row-cols-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+}
+
+.col-auto {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+}
+
+.col-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+
+.col-3 {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.col-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+
+.col-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+}
+
+.col-6 {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.col-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+}
+
+.col-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+}
+
+.col-9 {
+ flex: 0 0 auto;
+ width: 75%;
+}
+
+.col-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+}
+
+.col-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+}
+
+.col-12 {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.offset-1 {
+ margin-left: 8.33333333%;
+}
+
+.offset-2 {
+ margin-left: 16.66666667%;
+}
+
+.offset-3 {
+ margin-left: 25%;
+}
+
+.offset-4 {
+ margin-left: 33.33333333%;
+}
+
+.offset-5 {
+ margin-left: 41.66666667%;
+}
+
+.offset-6 {
+ margin-left: 50%;
+}
+
+.offset-7 {
+ margin-left: 58.33333333%;
+}
+
+.offset-8 {
+ margin-left: 66.66666667%;
+}
+
+.offset-9 {
+ margin-left: 75%;
+}
+
+.offset-10 {
+ margin-left: 83.33333333%;
+}
+
+.offset-11 {
+ margin-left: 91.66666667%;
+}
+
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
+}
+
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
+}
+
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
+}
+
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
+}
+
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
+}
+
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
+}
+
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
+}
+
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
+}
+
+@media (min-width: 576px) {
+ .col-sm {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-sm-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-sm-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-sm-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-sm-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-sm-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-sm-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-sm-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-sm-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+
+ .col-sm-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+
+ .col-sm-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-sm-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+
+ .col-sm-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+
+ .col-sm-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-sm-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+
+ .col-sm-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+
+ .col-sm-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-sm-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+
+ .col-sm-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+
+ .col-sm-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-sm-0 {
+ margin-left: 0;
+ }
+
+ .offset-sm-1 {
+ margin-left: 8.33333333%;
+ }
+
+ .offset-sm-2 {
+ margin-left: 16.66666667%;
+ }
+
+ .offset-sm-3 {
+ margin-left: 25%;
+ }
+
+ .offset-sm-4 {
+ margin-left: 33.33333333%;
+ }
+
+ .offset-sm-5 {
+ margin-left: 41.66666667%;
+ }
+
+ .offset-sm-6 {
+ margin-left: 50%;
+ }
+
+ .offset-sm-7 {
+ margin-left: 58.33333333%;
+ }
+
+ .offset-sm-8 {
+ margin-left: 66.66666667%;
+ }
+
+ .offset-sm-9 {
+ margin-left: 75%;
+ }
+
+ .offset-sm-10 {
+ margin-left: 83.33333333%;
+ }
+
+ .offset-sm-11 {
+ margin-left: 91.66666667%;
+ }
+
+ .g-sm-0,
+.gx-sm-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-sm-0,
+.gy-sm-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-sm-1,
+.gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-sm-1,
+.gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-sm-2,
+.gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-sm-2,
+.gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-sm-3,
+.gx-sm-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-sm-3,
+.gy-sm-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-sm-4,
+.gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-sm-4,
+.gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-sm-5,
+.gx-sm-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-sm-5,
+.gy-sm-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-md-0 {
+ margin-left: 0;
+ }
+
+ .offset-md-1 {
+ margin-left: 8.33333333%;
+ }
+
+ .offset-md-2 {
+ margin-left: 16.66666667%;
+ }
+
+ .offset-md-3 {
+ margin-left: 25%;
+ }
+
+ .offset-md-4 {
+ margin-left: 33.33333333%;
+ }
+
+ .offset-md-5 {
+ margin-left: 41.66666667%;
+ }
+
+ .offset-md-6 {
+ margin-left: 50%;
+ }
+
+ .offset-md-7 {
+ margin-left: 58.33333333%;
+ }
+
+ .offset-md-8 {
+ margin-left: 66.66666667%;
+ }
+
+ .offset-md-9 {
+ margin-left: 75%;
+ }
+
+ .offset-md-10 {
+ margin-left: 83.33333333%;
+ }
+
+ .offset-md-11 {
+ margin-left: 91.66666667%;
+ }
+
+ .g-md-0,
+.gx-md-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-md-0,
+.gy-md-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-md-1,
+.gx-md-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-md-1,
+.gy-md-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-md-2,
+.gx-md-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-md-2,
+.gy-md-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-md-3,
+.gx-md-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-md-3,
+.gy-md-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-md-4,
+.gx-md-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-md-4,
+.gy-md-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-md-5,
+.gx-md-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-md-5,
+.gy-md-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-lg-0 {
+ margin-left: 0;
+ }
+
+ .offset-lg-1 {
+ margin-left: 8.33333333%;
+ }
+
+ .offset-lg-2 {
+ margin-left: 16.66666667%;
+ }
+
+ .offset-lg-3 {
+ margin-left: 25%;
+ }
+
+ .offset-lg-4 {
+ margin-left: 33.33333333%;
+ }
+
+ .offset-lg-5 {
+ margin-left: 41.66666667%;
+ }
+
+ .offset-lg-6 {
+ margin-left: 50%;
+ }
+
+ .offset-lg-7 {
+ margin-left: 58.33333333%;
+ }
+
+ .offset-lg-8 {
+ margin-left: 66.66666667%;
+ }
+
+ .offset-lg-9 {
+ margin-left: 75%;
+ }
+
+ .offset-lg-10 {
+ margin-left: 83.33333333%;
+ }
+
+ .offset-lg-11 {
+ margin-left: 91.66666667%;
+ }
+
+ .g-lg-0,
+.gx-lg-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-lg-0,
+.gy-lg-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-lg-1,
+.gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-lg-1,
+.gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-lg-2,
+.gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-lg-2,
+.gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-lg-3,
+.gx-lg-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-lg-3,
+.gy-lg-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-lg-4,
+.gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-lg-4,
+.gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-lg-5,
+.gx-lg-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-lg-5,
+.gy-lg-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-xl-0 {
+ margin-left: 0;
+ }
+
+ .offset-xl-1 {
+ margin-left: 8.33333333%;
+ }
+
+ .offset-xl-2 {
+ margin-left: 16.66666667%;
+ }
+
+ .offset-xl-3 {
+ margin-left: 25%;
+ }
+
+ .offset-xl-4 {
+ margin-left: 33.33333333%;
+ }
+
+ .offset-xl-5 {
+ margin-left: 41.66666667%;
+ }
+
+ .offset-xl-6 {
+ margin-left: 50%;
+ }
+
+ .offset-xl-7 {
+ margin-left: 58.33333333%;
+ }
+
+ .offset-xl-8 {
+ margin-left: 66.66666667%;
+ }
+
+ .offset-xl-9 {
+ margin-left: 75%;
+ }
+
+ .offset-xl-10 {
+ margin-left: 83.33333333%;
+ }
+
+ .offset-xl-11 {
+ margin-left: 91.66666667%;
+ }
+
+ .g-xl-0,
+.gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-xl-0,
+.gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-xl-1,
+.gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-xl-1,
+.gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-xl-2,
+.gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-xl-2,
+.gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-xl-3,
+.gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-xl-3,
+.gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-xl-4,
+.gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-xl-4,
+.gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-xl-5,
+.gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-xl-5,
+.gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1400px) {
+ .col-xxl {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-xxl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-xxl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-xxl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-xxl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-xxl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-xxl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-xxl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xxl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-xxl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+
+ .col-xxl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+
+ .col-xxl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-xxl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+
+ .col-xxl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+
+ .col-xxl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-xxl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+
+ .col-xxl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+
+ .col-xxl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-xxl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+
+ .col-xxl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+
+ .col-xxl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-xxl-0 {
+ margin-left: 0;
+ }
+
+ .offset-xxl-1 {
+ margin-left: 8.33333333%;
+ }
+
+ .offset-xxl-2 {
+ margin-left: 16.66666667%;
+ }
+
+ .offset-xxl-3 {
+ margin-left: 25%;
+ }
+
+ .offset-xxl-4 {
+ margin-left: 33.33333333%;
+ }
+
+ .offset-xxl-5 {
+ margin-left: 41.66666667%;
+ }
+
+ .offset-xxl-6 {
+ margin-left: 50%;
+ }
+
+ .offset-xxl-7 {
+ margin-left: 58.33333333%;
+ }
+
+ .offset-xxl-8 {
+ margin-left: 66.66666667%;
+ }
+
+ .offset-xxl-9 {
+ margin-left: 75%;
+ }
+
+ .offset-xxl-10 {
+ margin-left: 83.33333333%;
+ }
+
+ .offset-xxl-11 {
+ margin-left: 91.66666667%;
+ }
+
+ .g-xxl-0,
+.gx-xxl-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-xxl-0,
+.gy-xxl-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-xxl-1,
+.gx-xxl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-xxl-1,
+.gy-xxl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-xxl-2,
+.gx-xxl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-xxl-2,
+.gy-xxl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-xxl-3,
+.gx-xxl-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-xxl-3,
+.gy-xxl-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-xxl-4,
+.gx-xxl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-xxl-4,
+.gy-xxl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-xxl-5,
+.gx-xxl-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-xxl-5,
+.gy-xxl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+.table {
+ --bs-table-bg: transparent;
+ --bs-table-accent-bg: transparent;
+ --bs-table-striped-color: #697a8d;
+ --bs-table-striped-bg: #f9fafb;
+ --bs-table-active-color: #697a8d;
+ --bs-table-active-bg: rgba(67, 89, 113, 0.1);
+ --bs-table-hover-color: #697a8d;
+ --bs-table-hover-bg: rgba(67, 89, 113, 0.06);
+ width: 100%;
+ margin-bottom: 1rem;
+ color: #697a8d;
+ vertical-align: middle;
+ border-color: #d9dee3;
+}
+.table > :not(caption) > * > * {
+ padding: 0.625rem 1.25rem;
+ background-color: var(--bs-table-bg);
+ border-bottom-width: 1px;
+ box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+.table > :not(:first-child) {
+ border-top: 2px solid #d9dee3;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.3125rem 0.625rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: 1px 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 1px;
+}
+
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+ border-top-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
+}
+
+.table-active {
+ --bs-table-accent-bg: var(--bs-table-active-bg);
+ color: var(--bs-table-active-color);
+}
+
+.table-hover > tbody > tr:hover > * {
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
+ color: var(--bs-table-hover-color);
+}
+
+.table-primary {
+ --bs-table-bg: #e1e2ff;
+ --bs-table-striped-bg: #dcdefb;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d1d4f1;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #d8daf6;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d1d4f1;
+}
+
+.table-secondary {
+ --bs-table-bg: #e7e9ed;
+ --bs-table-striped-bg: #e2e5e9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d7dbe1;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #dde0e6;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d7dbe1;
+}
+
+.table-success {
+ --bs-table-bg: #e3f8d7;
+ --bs-table-striped-bg: #def3d4;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d3e8cd;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #d9eed1;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d3e8cd;
+}
+
+.table-info {
+ --bs-table-bg: #cdf3fb;
+ --bs-table-striped-bg: #c9eef7;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #bfe4ed;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #c5eaf3;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #bfe4ed;
+}
+
+.table-warning {
+ --bs-table-bg: #ffeecc;
+ --bs-table-striped-bg: #f9eac9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #ecdfc3;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f4e5c7;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #ecdfc3;
+}
+
+.table-danger {
+ --bs-table-bg: #ffd8d2;
+ --bs-table-striped-bg: #f9d4cf;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #eccbc8;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f4d0cc;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #eccbc8;
+}
+
+.table-light {
+ --bs-table-bg: #fcfdfd;
+ --bs-table-striped-bg: #f6f8f9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #eaedef;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f1f3f5;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #eaedef;
+}
+
+.table-dark {
+ --bs-table-bg: #233446;
+ --bs-table-striped-bg: #2a3a4c;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #394859;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #304051;
+ --bs-table-hover-color: #fff;
+ color: #fff;
+ border-color: #394859;
+}
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 575.98px) {
+ .table-responsive-sm {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 767.98px) {
+ .table-responsive-md {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 991.98px) {
+ .table-responsive-lg {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1199.98px) {
+ .table-responsive-xl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1399.98px) {
+ .table-responsive-xxl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+.form-label {
+ margin-bottom: 0.5rem;
+ font-size: 0.75rem;
+ font-weight: 500;
+ color: #566a7f;
+}
+
+.col-form-label {
+ padding-top: calc(0.4375rem + 1px);
+ padding-bottom: calc(0.4375rem + 1px);
+ margin-bottom: 0;
+ font-size: inherit;
+ font-weight: 500;
+ line-height: 1.53;
+ color: #566a7f;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.75rem + 1px);
+ padding-bottom: calc(0.75rem + 1px);
+ font-size: 1rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + 1px);
+ padding-bottom: calc(0.25rem + 1px);
+ font-size: 0.75rem;
+}
+
+.form-text {
+ margin-top: 0.3rem;
+ font-size: 85%;
+ color: #b4bdc6;
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.4375rem 0.875rem;
+ font-size: 0.9375rem;
+ font-weight: 400;
+ line-height: 1.53;
+ color: #697a8d;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #d9dee3;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0.375rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: #697a8d;
+ background-color: #fff;
+ border-color: rgba(249, 249, 255, 0.54);
+ outline: 0;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(105, 108, 255, 0.1);
+}
+.form-control::-webkit-date-and-time-value {
+ height: 1.53em;
+}
+.form-control::-moz-placeholder {
+ color: #b4bdc6;
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: #b4bdc6;
+ opacity: 1;
+}
+.form-control:disabled, .form-control[readonly] {
+ background-color: #eceef1;
+ opacity: 1;
+}
+.form-control::file-selector-button {
+ padding: 0.4375rem 0.875rem;
+ margin: -0.4375rem -0.875rem;
+ -webkit-margin-end: 0.875rem;
+ margin-inline-end: 0.875rem;
+ color: #697a8d;
+ background-color: #fff;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: all 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #f2f2f2;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.4375rem 0.875rem;
+ margin: -0.4375rem -0.875rem;
+ -webkit-margin-end: 0.875rem;
+ margin-inline-end: 0.875rem;
+ color: #697a8d;
+ background-color: #fff;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
+ background-color: #f2f2f2;
+}
+
+.form-control-plaintext {
+ display: block;
+ width: 100%;
+ padding: 0.4375rem 0;
+ margin-bottom: 0;
+ line-height: 1.53;
+ color: #697a8d;
+ background-color: transparent;
+ border: solid transparent;
+ border-width: 1px 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.53em + 0.5rem + 2px);
+ padding: 0.25rem 0.625rem;
+ font-size: 0.75rem;
+ border-radius: 0.25rem;
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.625rem;
+ margin: -0.25rem -0.625rem;
+ -webkit-margin-end: 0.625rem;
+ margin-inline-end: 0.625rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.625rem;
+ margin: -0.25rem -0.625rem;
+ -webkit-margin-end: 0.625rem;
+ margin-inline-end: 0.625rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.53em + 1.5rem + 2px);
+ padding: 0.75rem 1.25rem;
+ font-size: 1rem;
+ border-radius: 0.5rem;
+}
+.form-control-lg::file-selector-button {
+ padding: 0.75rem 1.25rem;
+ margin: -0.75rem -1.25rem;
+ -webkit-margin-end: 1.25rem;
+ margin-inline-end: 1.25rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.75rem 1.25rem;
+ margin: -0.75rem -1.25rem;
+ -webkit-margin-end: 1.25rem;
+ margin-inline-end: 1.25rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.53em + 0.875rem + 2px);
+}
+textarea.form-control-sm {
+ min-height: calc(1.53em + 0.5rem + 2px);
+}
+textarea.form-control-lg {
+ min-height: calc(1.53em + 1.5rem + 2px);
+}
+
+.form-control-color {
+ width: 3rem;
+ height: auto;
+ padding: 0.4375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ height: 1.53em;
+ border-radius: 0.375rem;
+}
+.form-control-color::-webkit-color-swatch {
+ height: 1.53em;
+ border-radius: 0.375rem;
+}
+
+.form-select {
+ display: block;
+ width: 100%;
+ padding: 0.4375rem 1.875rem 0.4375rem 0.875rem;
+ -moz-padding-start: calc(0.875rem - 3px);
+ font-size: 0.9375rem;
+ font-weight: 400;
+ line-height: 1.53;
+ color: #697a8d;
+ background-color: #fff;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2867, 89, 113, 0.6%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.875rem center;
+ background-size: 17px 12px;
+ border: 1px solid #d9dee3;
+ border-radius: 0.375rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: rgba(249, 249, 255, 0.54);
+ outline: 0;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(105, 108, 255, 0.1);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.875rem;
+ background-image: none;
+}
+.form-select:disabled {
+ color: #697a8d;
+ background-color: #eceef1;
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #697a8d;
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.625rem;
+ font-size: 0.75rem;
+ border-radius: 0.25rem;
+}
+
+.form-select-lg {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ padding-left: 1.25rem;
+ font-size: 1rem;
+ border-radius: 0.5rem;
+}
+
+.form-check {
+ display: block;
+ min-height: 1.434375rem;
+ padding-left: 1.7em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.7em;
+}
+
+.form-check-input {
+ width: 1.2em;
+ height: 1.2em;
+ margin-top: 0.165em;
+ vertical-align: top;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: 1px solid #d9dee3;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: rgba(249, 249, 255, 0.54);
+ outline: 0;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(105, 108, 255, 0.1);
+}
+.form-check-input:checked {
+ background-color: rgba(105, 108, 255, 0.08);
+ border-color: rgba(105, 108, 255, 0.08);
+}
+.form-check-input:checked[type=checkbox] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='1.5' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-check-input[type=checkbox]:indeterminate {
+ background-color: rgba(105, 108, 255, 0.08);
+ border-color: rgba(105, 108, 255, 0.08);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/%3e%3c/svg%3e");
+}
+.form-check-input:disabled {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ opacity: 0.5;
+}
+
+.form-switch {
+ padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%2867, 89, 113, 0.3%29'/%3e%3c/svg%3e");
+ background-position: left center;
+ border-radius: 2em;
+ transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-switch .form-check-input {
+ transition: none;
+ }
+}
+.form-switch .form-check-input:focus {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28249, 249, 255, 0.54%29'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+
+.form-check-inline {
+ display: inline-block;
+ margin-right: 1rem;
+}
+
+.btn-check {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
+}
+
+.form-range {
+ width: 100%;
+ height: 0.975rem;
+ padding: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.form-range:focus {
+ outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 8px 0px rgba(67, 89, 113, 0.4);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 8px 0px rgba(67, 89, 113, 0.4);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 0.875rem;
+ height: 0.875rem;
+ margin-top: -0.25rem;
+ background-color: #fff;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: #fff;
+}
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.375rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #eceef1;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 0.875rem;
+ height: 0.875rem;
+ background-color: #fff;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: #fff;
+}
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.375rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #eceef1;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #d9dee3;
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: #d9dee3;
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ line-height: 1.25;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ padding: 1rem 0.875rem;
+ pointer-events: none;
+ border: 1px solid transparent;
+ transform-origin: 0 0;
+ transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+.form-floating > .form-control {
+ padding: 1rem 0.875rem;
+}
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.75;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ opacity: 0.75;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.75;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+.input-group {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+ width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus {
+ z-index: 3;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 3;
+}
+
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.4375rem 0.875rem;
+ font-size: 0.9375rem;
+ font-weight: 400;
+ line-height: 1.53;
+ color: #697a8d;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #fff;
+ border: 1px solid #d9dee3;
+ border-radius: 0.375rem;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.75rem 1.25rem;
+ font-size: 1rem;
+ border-radius: 0.5rem;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.625rem;
+ font-size: 0.75rem;
+ border-radius: 0.25rem;
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 2.75rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+ margin-left: -1px;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn {
+ display: inline-block;
+ font-weight: 400;
+ line-height: 1.53;
+ color: #697a8d;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ background-color: transparent;
+ border: 1px solid transparent;
+ padding: 0.4375rem 1.25rem;
+ font-size: 0.9375rem;
+ border-radius: 0.375rem;
+ transition: all 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: #697a8d;
+}
+.btn-check:focus + .btn, .btn:focus {
+ outline: 0;
+ box-shadow: none;
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ pointer-events: none;
+ opacity: 0.65;
+}
+
+.btn-link {
+ font-weight: 400;
+ color: #696cff;
+ text-decoration: none;
+}
+.btn-link:hover {
+ color: #5f61e6;
+}
+.btn-link:disabled, .btn-link.disabled {
+ color: rgba(67, 89, 113, 0.6);
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ padding: 0.75rem 1.5rem;
+ font-size: 1rem;
+ border-radius: 0.5rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ padding: 0.25rem 0.6875rem;
+ font-size: 0.75rem;
+ border-radius: 0.25rem;
+}
+
+.fade {
+ transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+.collapsing.collapse-horizontal {
+ width: 0;
+ height: auto;
+ transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing.collapse-horizontal {
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+.dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.5em;
+ vertical-align: middle;
+ content: "";
+ margin-top: -0.28em;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-top: 0;
+ border-left: 0;
+ transform: rotate(45deg);
+}
+.dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropdown-menu {
+ position: absolute;
+ z-index: 1000;
+ display: none;
+ min-width: 12rem;
+ padding: 0.3125rem 0;
+ margin: 0;
+ font-size: 0.9375rem;
+ color: #697a8d;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid transparent;
+ border-radius: 0.375rem;
+}
+.dropdown-menu[data-bs-popper] {
+ top: 100%;
+ left: 0;
+ margin-top: 0.125rem;
+}
+
+.dropdown-menu-start {
+ --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+}
+
+.dropdown-menu-end {
+ --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+}
+
+@media (min-width: 576px) {
+ .dropdown-menu-sm-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-sm-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+
+ .dropdown-menu-sm-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-sm-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 768px) {
+ .dropdown-menu-md-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-md-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+
+ .dropdown-menu-md-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-md-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 992px) {
+ .dropdown-menu-lg-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-lg-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+
+ .dropdown-menu-lg-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-lg-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 1200px) {
+ .dropdown-menu-xl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+
+ .dropdown-menu-xl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 1400px) {
+ .dropdown-menu-xxl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xxl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+
+ .dropdown-menu-xxl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xxl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+.dropup .dropdown-menu[data-bs-popper] {
+ top: auto;
+ bottom: 100%;
+ margin-top: 0;
+ margin-bottom: 0.125rem;
+}
+.dropup .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.5em;
+ vertical-align: middle;
+ content: "";
+ margin-top: 0;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-bottom: 0;
+ border-left: 0;
+ transform: rotate(-45deg);
+}
+.dropup .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: 0.125rem;
+}
+.dropend .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.5em;
+ vertical-align: middle;
+ content: "";
+ border-top: 0.42em solid transparent;
+ border-right: 0;
+ border-bottom: 0.42em solid transparent;
+ border-left: 0.42em solid;
+}
+.dropend .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropend .dropdown-toggle::after {
+ vertical-align: 0;
+}
+
+.dropstart .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: 100%;
+ left: auto;
+ margin-top: 0;
+ margin-right: 0.125rem;
+}
+.dropstart .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.5em;
+ vertical-align: middle;
+ content: "";
+}
+.dropstart .dropdown-toggle::after {
+ display: none;
+}
+.dropstart .dropdown-toggle::before {
+ display: inline-block;
+ margin-right: 0.5em;
+ vertical-align: middle;
+ content: "";
+ border-top: 0.42em solid transparent;
+ border-right: 0.42em solid;
+ border-bottom: 0.42em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: 0.5rem 0;
+ overflow: hidden;
+ border-top: 1px solid #d9dee3;
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: 0.532rem 1.25rem;
+ clear: both;
+ font-weight: 400;
+ color: #697a8d;
+ text-align: inherit;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+}
+.dropdown-item:hover, .dropdown-item:focus {
+ color: #5f6e7f;
+ background-color: rgba(67, 89, 113, 0.04);
+}
+.dropdown-item.active, .dropdown-item:active {
+ color: #fff;
+ text-decoration: none;
+ background-color: rgba(105, 108, 255, 0.08);
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: #c7cdd4;
+ pointer-events: none;
+ background-color: transparent;
+}
+
+.dropdown-menu.show {
+ display: block;
+}
+
+.dropdown-header {
+ display: block;
+ padding: 0.532rem 1.25rem;
+ margin-bottom: 0;
+ font-size: 0.75rem;
+ color: #a1acb8;
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: 0.532rem 1.25rem;
+ color: #697a8d;
+}
+
+.dropdown-menu-dark {
+ color: rgba(67, 89, 113, 0.3);
+ background-color: rgba(67, 89, 113, 0.8);
+ border-color: transparent;
+}
+.dropdown-menu-dark .dropdown-item {
+ color: rgba(67, 89, 113, 0.3);
+}
+.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
+ color: #fff;
+ background-color: rgba(255, 255, 255, 0.15);
+}
+.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
+ color: #fff;
+ background-color: rgba(105, 108, 255, 0.08);
+}
+.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
+ color: rgba(67, 89, 113, 0.5);
+}
+.dropdown-menu-dark .dropdown-divider {
+ border-color: #d9dee3;
+}
+.dropdown-menu-dark .dropdown-item-text {
+ color: rgba(67, 89, 113, 0.3);
+}
+.dropdown-menu-dark .dropdown-header {
+ color: rgba(67, 89, 113, 0.5);
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ flex: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 1;
+}
+
+.btn-toolbar {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) {
+ margin-left: -1px;
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
+.btn-group > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+ padding-right: 0.9375rem;
+ padding-left: 0.9375rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.515625rem;
+ padding-left: 0.515625rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 1.125rem;
+ padding-left: 1.125rem;
+}
+
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: 0.5rem 1.25rem;
+ color: #8e9baa;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
+}
+.nav-link:hover, .nav-link:focus {
+ color: #5f61e6;
+}
+.nav-link.disabled {
+ color: #c7cdd4;
+ pointer-events: none;
+ cursor: default;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #fff;
+}
+.nav-tabs .nav-link {
+ margin-bottom: -1px;
+ background: none;
+ border: 1px solid transparent;
+ border-top-left-radius: 0.375rem;
+ border-top-right-radius: 0.375rem;
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ border-color: rgba(67, 89, 113, 0.1);
+ isolation: isolate;
+}
+.nav-tabs .nav-link.disabled {
+ color: #c7cdd4;
+ background-color: transparent;
+ border-color: transparent;
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: #697a8d;
+ background-color: #fff;
+ border-color: #fff;
+}
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+ background: none;
+ border: 0;
+ border-radius: 0.375rem;
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: #fff;
+ background-color: transparent;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.nav-fill .nav-item .nav-link,
+.nav-justified .nav-item .nav-link {
+ width: 100%;
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+
+.navbar {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+.navbar > .container,
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
+ display: flex;
+ flex-wrap: inherit;
+ align-items: center;
+ justify-content: space-between;
+}
+.navbar-brand {
+ padding-top: 0.4521875rem;
+ padding-bottom: 0.4521875rem;
+ margin-right: 1rem;
+ font-size: 1rem;
+ white-space: nowrap;
+}
+.navbar-nav {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+}
+.navbar-nav .dropdown-menu {
+ position: static;
+}
+
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ align-items: center;
+}
+
+.navbar-toggler {
+ padding: 0 0;
+ font-size: 0.75rem;
+ line-height: 1;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 0.375rem;
+ transition: box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ transition: none;
+ }
+}
+.navbar-toggler:hover {
+ text-decoration: none;
+}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 0.05rem;
+}
+
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+}
+
+.navbar-nav-scroll {
+ max-height: var(--bs-scroll-height, 75vh);
+ overflow-y: auto;
+}
+
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-sm .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-sm .offcanvas-top,
+.navbar-expand-sm .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-sm .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-expand-md {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-md .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-md .offcanvas-top,
+.navbar-expand-md .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-md .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 992px) {
+ .navbar-expand-lg {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-lg .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-lg .offcanvas-top,
+.navbar-expand-lg .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-lg .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1200px) {
+ .navbar-expand-xl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-xl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-xl .offcanvas-top,
+.navbar-expand-xl .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-xl .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1400px) {
+ .navbar-expand-xxl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xxl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xxl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xxl .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-xxl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xxl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xxl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-xxl .offcanvas-top,
+.navbar-expand-xxl .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-xxl .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+.navbar-expand {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+ flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+}
+.navbar-expand .navbar-nav-scroll {
+ overflow: visible;
+}
+.navbar-expand .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
+}
+.navbar-expand .offcanvas-header {
+ display: none;
+}
+.navbar-expand .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+}
+.navbar-expand .offcanvas-top,
+.navbar-expand .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+}
+.navbar-expand .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+}
+
+.navbar-light .navbar-brand {
+ color: #697a8d;
+}
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+ color: #697a8d;
+}
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(67, 89, 113, 0.5);
+}
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+ color: #697a8d;
+}
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(67, 89, 113, 0.3);
+}
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .nav-link.active {
+ color: #697a8d;
+}
+.navbar-light .navbar-toggler {
+ color: rgba(67, 89, 113, 0.5);
+ border-color: rgba(67, 89, 113, 0.06);
+}
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12%29-Navbar' transform='translate%28-1174.000000, -1290.000000%29'%3E%3Cg id='Group' transform='translate%281174.000000, 1288.000000%29'%3E%3Cg id='Icon-Color' transform='translate%280.000000, 2.000000%29'%3E%3Cuse fill='rgba%2867, 89, 113, 0.5%29' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba%2867, 89, 113, 0.5%29' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar-light .navbar-text {
+ color: rgba(67, 89, 113, 0.5);
+}
+.navbar-light .navbar-text a,
+.navbar-light .navbar-text a:hover,
+.navbar-light .navbar-text a:focus {
+ color: #697a8d;
+}
+
+.navbar-dark .navbar-brand {
+ color: #fff;
+}
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+ color: #fff;
+}
+.navbar-dark .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.8);
+}
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+ color: #fff;
+}
+.navbar-dark .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.4);
+}
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar-dark .navbar-toggler {
+ color: rgba(255, 255, 255, 0.8);
+ border-color: rgba(255, 255, 255, 0.1);
+}
+.navbar-dark .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12%29-Navbar' transform='translate%28-1174.000000, -1290.000000%29'%3E%3Cg id='Group' transform='translate%281174.000000, 1288.000000%29'%3E%3Cg id='Icon-Color' transform='translate%280.000000, 2.000000%29'%3E%3Cuse fill='rgba%28255, 255, 255, 0.8%29' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba%28255, 255, 255, 0.8%29' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar-dark .navbar-text {
+ color: rgba(255, 255, 255, 0.8);
+}
+.navbar-dark .navbar-text a,
+.navbar-dark .navbar-text a:hover,
+.navbar-dark .navbar-text a:focus {
+ color: #fff;
+}
+
+.card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: border-box;
+ border: 0 solid #d9dee3;
+ border-radius: 0.5rem;
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: 0.5rem;
+ border-top-right-radius: 0.5rem;
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+
+.card-body {
+ flex: 1 1 auto;
+ padding: 1.5rem 1.5rem;
+}
+
+.card-title {
+ margin-bottom: 0.875rem;
+}
+
+.card-subtitle {
+ margin-top: -0.4375rem;
+ margin-bottom: 0;
+}
+
+.card-text:last-child {
+ margin-bottom: 0;
+}
+
+.card-link + .card-link {
+ margin-left: 1.5rem;
+}
+
+.card-header {
+ padding: 1.5rem 1.5rem;
+ margin-bottom: 0;
+ background-color: transparent;
+ border-bottom: 0 solid #d9dee3;
+}
+.card-header:first-child {
+ border-radius: 0.5rem 0.5rem 0 0;
+}
+
+.card-footer {
+ padding: 1.5rem 1.5rem;
+ background-color: transparent;
+ border-top: 0 solid #d9dee3;
+}
+.card-footer:last-child {
+ border-radius: 0 0 0.5rem 0.5rem;
+}
+
+.card-header-tabs {
+ margin-right: -0.75rem;
+ margin-bottom: -1.5rem;
+ margin-left: -0.75rem;
+ border-bottom: 0;
+}
+
+.card-header-pills {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1.5rem;
+ border-radius: 0.5rem;
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: 0.5rem;
+ border-top-right-radius: 0.5rem;
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+}
+
+.card-group > .card {
+ margin-bottom: 0.8125rem;
+}
+@media (min-width: 576px) {
+ .card-group {
+ display: flex;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+.card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+.card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+.card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+.card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
+}
+
+.accordion-button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 0.79rem 1.125rem;
+ font-size: 0.9375rem;
+ color: #566a7f;
+ text-align: left;
+ background-color: #fff;
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: all 0.2s ease-in-out, border-radius 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
+}
+.accordion-button:not(.collapsed) {
+ color: #566a7f;
+ background-color: #fff;
+ box-shadow: inset 0 0 0 #d9dee3;
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='m1.532 12 6.182-6-6.182-6L0 1.487 4.65 6 0 10.513z'/%3E%3C/defs%3E%3Cg transform='translate%282.571%29' fill='none' fill-rule='evenodd'%3E%3Cuse fill='%23435971' xlink:href='%23a'/%3E%3Cuse fill-opacity='.1' fill='%23566a7f' xlink:href='%23a'/%3E%3C/g%3E%3C/svg%3E%0A");
+ transform: rotate(90deg);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: 0.75rem;
+ height: 0.75rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='m1.532 12 6.182-6-6.182-6L0 1.487 4.65 6 0 10.513z'/%3E%3C/defs%3E%3Cg transform='translate%282.571%29' fill='none' fill-rule='evenodd'%3E%3Cuse fill='%23435971' xlink:href='%23a'/%3E%3Cuse fill-opacity='.1' fill='%23566a7f' xlink:href='%23a'/%3E%3C/g%3E%3C/svg%3E%0A");
+ background-repeat: no-repeat;
+ background-size: 0.75rem;
+ transition: transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: rgba(249, 249, 255, 0.54);
+ outline: 0;
+ box-shadow: none;
+}
+
+.accordion-header {
+ margin-bottom: 0;
+}
+
+.accordion-item {
+ background-color: #fff;
+ border: 0 solid #d9dee3;
+}
+.accordion-item:first-of-type {
+ border-top-left-radius: 0.375rem;
+ border-top-right-radius: 0.375rem;
+}
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: 0.375rem;
+ border-top-right-radius: 0.375rem;
+}
+.accordion-item:not(:first-of-type) {
+ border-top: 0;
+}
+.accordion-item:last-of-type {
+ border-bottom-right-radius: 0.375rem;
+ border-bottom-left-radius: 0.375rem;
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-right-radius: 0.375rem;
+ border-bottom-left-radius: 0.375rem;
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-right-radius: 0.375rem;
+ border-bottom-left-radius: 0.375rem;
+}
+
+.accordion-body {
+ padding: 0.79rem 1.125rem;
+}
+
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
+}
+.accordion-flush .accordion-item:first-child {
+ border-top: 0;
+}
+.accordion-flush .accordion-item:last-child {
+ border-bottom: 0;
+}
+.accordion-flush .accordion-item .accordion-button {
+ border-radius: 0;
+}
+
+.breadcrumb {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0;
+ margin-bottom: 1rem;
+ list-style: none;
+ background-color: transparent;
+}
+
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: 0.5rem;
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: 0.5rem;
+ color: #a1acb8;
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "\\") */;
+}
+.breadcrumb-item.active {
+ color: #697a8d;
+}
+
+.pagination {
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ color: #697a8d;
+ background-color: #f0f2f4;
+ border: 0px solid #d9dee3;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: #697a8d;
+ background-color: #e1e4e8;
+ border-color: rgba(67, 89, 113, 0.3);
+}
+.page-link:focus {
+ z-index: 3;
+ color: #697a8d;
+ background-color: #e1e4e8;
+ outline: 0;
+ box-shadow: none;
+}
+
+.page-item:not(:first-child) .page-link {
+ margin-left: 0.1875rem;
+}
+.page-item.active .page-link {
+ z-index: 3;
+ color: #fff;
+ background-color: rgba(105, 108, 255, 0.08);
+ border-color: rgba(105, 108, 255, 0.08);
+}
+.page-item.disabled .page-link {
+ color: #a1acb8;
+ pointer-events: none;
+ background-color: #f7f8f9;
+ border-color: rgba(67, 89, 113, 0.3);
+}
+
+.page-link {
+ padding: 0.625rem 0.5125rem;
+}
+
+.page-item .page-link {
+ border-radius: 0.25rem;
+}
+
+.pagination-lg .page-link {
+ padding: 0.9375rem 0.5rem;
+ font-size: 1rem;
+}
+.pagination-lg .page-item .page-link {
+ border-radius: 0.5rem;
+}
+
+.pagination-sm .page-link {
+ padding: 0.375rem 0.25rem;
+ font-size: 0.75rem;
+}
+.pagination-sm .page-item .page-link {
+ border-radius: 0.25rem;
+}
+
+.badge {
+ display: inline-block;
+ padding: 0.52em 0.593em;
+ font-size: 0.8125em;
+ font-weight: 500;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25rem;
+}
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+.alert {
+ position: relative;
+ padding: 0.9375rem 0.9375rem;
+ margin-bottom: 1rem;
+ border: 0 solid transparent;
+ border-radius: 0.375rem;
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: 700;
+}
+
+.alert-dismissible {
+ padding-right: 2.8125rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.171875rem 0.9375rem;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 0.75rem;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 0.75rem;
+ }
+}
+.progress {
+ display: flex;
+ height: 0.75rem;
+ overflow: hidden;
+ font-size: 0.625rem;
+ background-color: rgba(67, 89, 113, 0.1);
+ border-radius: 10rem;
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #696cff;
+ transition: width 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 0.75rem 0.75rem;
+}
+
+.progress-bar-animated {
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ -webkit-animation: none;
+ animation: none;
+ }
+}
+
+.list-group {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: 0.5rem;
+}
+
+.list-group-numbered {
+ list-style-type: none;
+ counter-reset: section;
+}
+.list-group-numbered > li::before {
+ content: counters(section, ".") ". ";
+ counter-increment: section;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: #8e9baa;
+ text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: #697a8d;
+ text-decoration: none;
+ background-color: rgba(67, 89, 113, 0.06);
+}
+.list-group-item-action:active {
+ color: #697a8d;
+ background-color: rgba(67, 89, 113, 0.05);
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.58rem 0.9375rem;
+ color: #697a8d;
+ background-color: transparent;
+ border: 1px solid #d9dee3;
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+ color: #c7cdd4;
+ pointer-events: none;
+ background-color: transparent;
+}
+.list-group-item.active {
+ z-index: 2;
+ color: #fff;
+ background-color: rgba(105, 108, 255, 0.08);
+ border-color: rgba(105, 108, 255, 0.08);
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: -1px;
+ border-top-width: 1px;
+}
+
+.list-group-horizontal {
+ flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+}
+
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1400px) {
+ .list-group-horizontal-xxl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item:last-child {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 1px;
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+
+.btn-close {
+ box-sizing: content-box;
+ width: 0.8em;
+ height: 0.8em;
+ padding: 0.25em 0.25em;
+ color: #a1acb8;
+ background: transparent url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate%28-225.000000, -250.000000%29'%3E%3Cg id='Icon-Color' transform='translate%28225.000000, 250.500000%29'%3E%3Cuse fill='%23a1acb8' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%23a1acb8' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center/0.8em auto no-repeat;
+ border: 0;
+ border-radius: 0.375rem;
+ opacity: 0.95;
+}
+.btn-close:hover {
+ color: #a1acb8;
+ text-decoration: none;
+ opacity: 0.95;
+}
+.btn-close:focus {
+ outline: 0;
+ box-shadow: none;
+ opacity: 0.95;
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ opacity: 0.25;
+}
+
+.btn-close-white {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
+
+.toast {
+ width: 350px;
+ max-width: 100%;
+ font-size: 0.9375rem;
+ pointer-events: auto;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0 solid rgba(67, 89, 113, 0.1);
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+ border-radius: 0.5rem;
+}
+.toast.showing {
+ opacity: 0;
+}
+.toast:not(.show) {
+ display: none;
+}
+
+.toast-container {
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: 1.25rem;
+}
+
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: 1.25rem 1.25rem;
+ color: #697a8d;
+ background-color: transparent;
+ background-clip: padding-box;
+ border-bottom: 0 solid transparent;
+ border-top-left-radius: 0.5rem;
+ border-top-right-radius: 0.5rem;
+}
+.toast-header .btn-close {
+ margin-right: -0.625rem;
+ margin-left: 1.25rem;
+}
+
+.toast-body {
+ padding: 1.25rem;
+ word-wrap: break-word;
+}
+
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1090;
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline: 0;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 1.5rem;
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ transition: transform 0.15s ease-out;
+ transform: translateY(-100px) scale(0.8);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ transform: translateY(0) scale(1);
+}
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+ height: calc(100% - 3rem);
+}
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
+}
+
+.modal-dialog-centered {
+ display: flex;
+ align-items: center;
+ min-height: calc(100% - 3rem);
+}
+
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ pointer-events: auto;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0px solid rgba(67, 89, 113, 0.2);
+ border-radius: 0.5rem;
+ outline: 0;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1089;
+ width: 100vw;
+ height: 100vh;
+ background-color: #435971;
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: 0.5;
+}
+
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1.5rem 1.5rem 0.25rem;
+ border-bottom: 0px solid #d9dee3;
+ border-top-left-radius: calc(0.5rem - 0px);
+ border-top-right-radius: calc(0.5rem - 0px);
+}
+.modal-header .btn-close {
+ padding: 0.125rem 0.75rem;
+ margin: -0.125rem -0.75rem -0.125rem auto;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: 1.53;
+}
+
+.modal-body {
+ position: relative;
+ flex: 1 1 auto;
+ padding: 1.5rem;
+}
+
+.modal-footer {
+ display: flex;
+ flex-wrap: wrap;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 1.25rem;
+ border-top: 0px solid #d9dee3;
+ border-bottom-right-radius: calc(0.5rem - 0px);
+ border-bottom-left-radius: calc(0.5rem - 0px);
+}
+.modal-footer > * {
+ margin: 0.25rem;
+}
+
+@media (min-width: 576px) {
+ .modal-dialog {
+ max-width: 35rem;
+ margin: 1.75rem auto;
+ }
+
+ .modal-dialog-scrollable {
+ height: calc(100% - 3.5rem);
+ }
+
+ .modal-dialog-centered {
+ min-height: calc(100% - 3.5rem);
+ }
+
+ .modal-sm {
+ max-width: 22.5rem;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg,
+.modal-xl {
+ max-width: 50rem;
+ }
+}
+@media (min-width: 1200px) {
+ .modal-xl {
+ max-width: 1140px;
+ }
+}
+.modal-fullscreen {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+}
+.modal-fullscreen .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+}
+.modal-fullscreen .modal-header {
+ border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
+}
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
+}
+
+@media (max-width: 575.98px) {
+ .modal-fullscreen-sm-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-sm-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 767.98px) {
+ .modal-fullscreen-md-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-md-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 991.98px) {
+ .modal-fullscreen-lg-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-lg-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 1199.98px) {
+ .modal-fullscreen-xl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 1399.98px) {
+ .modal-fullscreen-xxl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xxl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+.tooltip {
+ position: absolute;
+ z-index: 1099;
+ display: block;
+ margin: 0;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.53;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.9375rem;
+ word-wrap: break-word;
+ opacity: 0;
+}
+.tooltip.show {
+ opacity: 1;
+}
+.tooltip .tooltip-arrow {
+ position: absolute;
+ display: block;
+ width: 0.8rem;
+ height: 0.4rem;
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: 0.4rem 0.4rem 0;
+ border-top-color: #233446;
+}
+
+.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: 0.4rem 0.4rem 0.4rem 0;
+ border-right-color: #233446;
+}
+
+.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 0.4rem 0.4rem;
+ border-bottom-color: #233446;
+}
+
+.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: 0.4rem 0 0.4rem 0.4rem;
+ border-left-color: #233446;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 0.25rem 0.7rem;
+ color: #fff;
+ text-align: center;
+ background-color: #233446;
+ border-radius: 0.25rem;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0 /* rtl:ignore */;
+ z-index: 1091;
+ display: block;
+ max-width: 276px;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.53;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.9375rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0px solid rgba(67, 89, 113, 0.2);
+ border-radius: 0.5rem;
+}
+.popover .popover-arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-0.5rem - 0px);
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: #fff;
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: 0px;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: #fff;
+}
+
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-0.5rem - 0px);
+ width: 0.5rem;
+ height: 1rem;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: #fff;
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: 0px;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: #fff;
+}
+
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-0.5rem - 0px);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: #fff;
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: 0px;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: #fff;
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 0px solid transparent;
+}
+
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-0.5rem - 0px);
+ width: 0.5rem;
+ height: 1rem;
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: #fff;
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: 0px;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: #fff;
+}
+
+.popover-header {
+ padding: 0 1.125rem;
+ margin-bottom: 0;
+ font-size: 0.9375rem;
+ color: #566a7f;
+ background-color: transparent;
+ border-bottom: 0px solid rgba(67, 89, 113, 0.2);
+ border-top-left-radius: calc(0.5rem - 0px);
+ border-top-right-radius: calc(0.5rem - 0px);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: 1.125rem 1.125rem;
+ color: #697a8d;
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+/* rtl:begin:ignore */
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ transform: translateX(-100%);
+}
+
+/* rtl:end:ignore */
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ transition: none;
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 14%;
+ padding: 0;
+ color: #fff;
+ text-align: center;
+ background: none;
+ border: 0;
+ opacity: 1;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+.carousel-control-next {
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 1;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2.55rem;
+ height: 2.55rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: %23fff;transform: ;msFilter:;'%3E%3Cpath d='M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z'%3E%3C/path%3E%3C/svg%3E");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: %23fff;transform: ;msFilter:;'%3E%3Cpath d='M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z'%3E%3C/path%3E%3C/svg%3E");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding: 0;
+ margin-right: 14%;
+ margin-bottom: 1rem;
+ margin-left: 14%;
+ list-style: none;
+}
+.carousel-indicators [data-bs-target] {
+ box-sizing: content-box;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ padding: 0;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators [data-bs-target] {
+ transition: none;
+ }
+}
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators [data-bs-target] {
+ background-color: #435971;
+}
+.carousel-dark .carousel-caption {
+ color: #435971;
+}
+
+@-webkit-keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: -0.125em;
+ border: 0.25em solid currentColor;
+ border-right-color: transparent;
+ border-radius: 50%;
+ -webkit-animation: 0.75s linear infinite spinner-border;
+ animation: 0.75s linear infinite spinner-border;
+}
+
+.spinner-border-sm {
+ width: 1rem;
+ height: 1rem;
+ border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+.spinner-grow {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: -0.125em;
+ background-color: currentColor;
+ border-radius: 50%;
+ opacity: 0;
+ -webkit-animation: 0.75s linear infinite spinner-grow;
+ animation: 0.75s linear infinite spinner-grow;
+}
+
+.spinner-grow-sm {
+ width: 1rem;
+ height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+.spinner-grow {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ }
+}
+.offcanvas {
+ position: fixed;
+ bottom: 0;
+ z-index: 1090;
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ visibility: hidden;
+ background-color: #fff;
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.25s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .offcanvas {
+ transition: none;
+ }
+}
+
+.offcanvas-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1089;
+ width: 100vw;
+ height: 100vh;
+ background-color: #435971;
+}
+.offcanvas-backdrop.fade {
+ opacity: 0;
+}
+.offcanvas-backdrop.show {
+ opacity: 0.5;
+}
+
+.offcanvas-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1.5rem 1.5rem;
+}
+.offcanvas-header .btn-close {
+ padding: 0.75rem 0.75rem;
+ margin-top: -0.75rem;
+ margin-right: -0.75rem;
+ margin-bottom: -0.75rem;
+}
+
+.offcanvas-title {
+ margin-bottom: 0;
+ line-height: 1.53;
+}
+
+.offcanvas-body {
+ flex-grow: 1;
+ padding: 1.5rem 1.5rem;
+ overflow-y: auto;
+}
+
+.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: 400px;
+ border-right: 0px solid rgba(67, 89, 113, 0.2);
+ transform: translateX(-100%);
+}
+
+.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: 400px;
+ border-left: 0px solid rgba(67, 89, 113, 0.2);
+ transform: translateX(100%);
+}
+
+.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: 30vh;
+ max-height: 100%;
+ border-bottom: 0px solid rgba(67, 89, 113, 0.2);
+ transform: translateY(-100%);
+}
+
+.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: 30vh;
+ max-height: 100%;
+ border-top: 0px solid rgba(67, 89, 113, 0.2);
+ transform: translateY(100%);
+}
+
+.offcanvas.show {
+ transform: none;
+}
+
+.placeholder {
+ display: inline-block;
+ min-height: 1em;
+ vertical-align: middle;
+ cursor: wait;
+ background-color: currentColor;
+ opacity: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+
+.placeholder-xs {
+ min-height: 0.6em;
+}
+
+.placeholder-sm {
+ min-height: 0.8em;
+}
+
+.placeholder-lg {
+ min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+ -webkit-animation: placeholder-glow 2s ease-in-out infinite;
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@-webkit-keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+.placeholder-wave {
+ -webkit-mask-image: linear-gradient(130deg, #435971 55%, rgba(0, 0, 0, 0.8) 75%, #435971 95%);
+ mask-image: linear-gradient(130deg, #435971 55%, rgba(0, 0, 0, 0.8) 75%, #435971 95%);
+ -webkit-mask-size: 200% 100%;
+ mask-size: 200% 100%;
+ -webkit-animation: placeholder-wave 2s linear infinite;
+ animation: placeholder-wave 2s linear infinite;
+}
+
+@-webkit-keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.link-primary {
+ color: #696cff;
+}
+.link-primary:hover, .link-primary:focus {
+ color: #5f61e6;
+}
+
+.link-secondary {
+ color: #8592a3;
+}
+.link-secondary:hover, .link-secondary:focus {
+ color: #788393;
+}
+
+.link-success {
+ color: #71dd37;
+}
+.link-success:hover, .link-success:focus {
+ color: #66c732;
+}
+
+.link-info {
+ color: #03c3ec;
+}
+.link-info:hover, .link-info:focus {
+ color: #03b0d4;
+}
+
+.link-warning {
+ color: #ffab00;
+}
+.link-warning:hover, .link-warning:focus {
+ color: #e69a00;
+}
+
+.link-danger {
+ color: #ff3e1d;
+}
+.link-danger:hover, .link-danger:focus {
+ color: #e6381a;
+}
+
+.link-light {
+ color: #fcfdfd;
+}
+.link-light:hover, .link-light:focus {
+ color: #fcfdfd;
+}
+
+.link-dark {
+ color: #233446;
+}
+.link-dark:hover, .link-dark:focus {
+ color: #202f3f;
+}
+
+.link-gray {
+ color: rgba(67, 89, 113, 0.1);
+}
+.link-gray:hover, .link-gray:focus {
+ color: rgba(22, 29, 36, 0.19);
+}
+
+.ratio {
+ position: relative;
+ width: 100%;
+}
+.ratio::before {
+ display: block;
+ padding-top: var(--bs-aspect-ratio);
+ content: "";
+}
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ratio-1x1 {
+ --bs-aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+ --bs-aspect-ratio: 75%;
+}
+
+.ratio-16x9 {
+ --bs-aspect-ratio: 56.25%;
+}
+
+.ratio-21x9 {
+ --bs-aspect-ratio: 42.8571428571%;
+}
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+.hstack {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ align-self: stretch;
+}
+
+.vstack {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ align-self: stretch;
+}
+
+.visually-hidden,
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.vr {
+ display: inline-block;
+ align-self: stretch;
+ width: 1px;
+ min-height: 1em;
+ background-color: currentColor;
+ opacity: 1;
+}
+
+:root {
+ color-scheme: light;
+}
+
+b,
+strong {
+ font-weight: 700;
+}
+
+a:not([href]) {
+ color: inherit;
+ text-decoration: none;
+}
+a:not([href]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+input:-webkit-autofill,
+input:-webkit-autofill:hover,
+input:-webkit-autofill:focus,
+textarea:-webkit-autofill,
+textarea:-webkit-autofill:hover,
+textarea:-webkit-autofill:focus,
+select:-webkit-autofill,
+select:-webkit-autofill:hover,
+select:-webkit-autofill:focus,
+input:-internal-autofill-selected {
+ background-clip: text !important;
+ -webkit-background-clip: text !important;
+}
+
+.row-bordered {
+ overflow: hidden;
+}
+.row-bordered > .col,
+.row-bordered > [class^=col-],
+.row-bordered > [class*=" col-"],
+.row-bordered > [class^="col "],
+.row-bordered > [class*=" col "],
+.row-bordered > [class$=" col"],
+.row-bordered > [class=col] {
+ position: relative;
+ padding-top: 1px;
+}
+.row-bordered > .col::before,
+.row-bordered > [class^=col-]::before,
+.row-bordered > [class*=" col-"]::before,
+.row-bordered > [class^="col "]::before,
+.row-bordered > [class*=" col "]::before,
+.row-bordered > [class$=" col"]::before,
+.row-bordered > [class=col]::before {
+ content: "";
+ position: absolute;
+ right: 0;
+ bottom: -1px;
+ left: 0;
+ display: block;
+ height: 0;
+ border-top: 1px solid #d9dee3;
+}
+.row-bordered > .col::after,
+.row-bordered > [class^=col-]::after,
+.row-bordered > [class*=" col-"]::after,
+.row-bordered > [class^="col "]::after,
+.row-bordered > [class*=" col "]::after,
+.row-bordered > [class$=" col"]::after,
+.row-bordered > [class=col]::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: -1px;
+ display: block;
+ width: 0;
+ border-left: 1px solid #d9dee3;
+}
+.row-bordered.row-border-light > .col::before, .row-bordered.row-border-light > .col::after,
+.row-bordered.row-border-light > [class^=col-]::before,
+.row-bordered.row-border-light > [class^=col-]::after,
+.row-bordered.row-border-light > [class*=" col-"]::before,
+.row-bordered.row-border-light > [class*=" col-"]::after,
+.row-bordered.row-border-light > [class^="col "]::before,
+.row-bordered.row-border-light > [class^="col "]::after,
+.row-bordered.row-border-light > [class*=" col "]::before,
+.row-bordered.row-border-light > [class*=" col "]::after,
+.row-bordered.row-border-light > [class$=" col"]::before,
+.row-bordered.row-border-light > [class$=" col"]::after,
+.row-bordered.row-border-light > [class=col]::before,
+.row-bordered.row-border-light > [class=col]::after {
+ border-color: rgba(67, 89, 113, 0.1);
+}
+
+.bg-label-secondary {
+ background-color: #ebeef0 !important;
+ color: #8592a3 !important;
+}
+
+.border-label-secondary {
+ border: 3px solid #ced3da !important;
+}
+
+.border-light-secondary {
+ border: 3px solid rgba(133, 146, 163, 0.08);
+}
+
+.bg-label-success {
+ background-color: #e8fadf !important;
+ color: #71dd37 !important;
+}
+
+.border-label-success {
+ border: 3px solid #c6f1af !important;
+}
+
+.border-light-success {
+ border: 3px solid rgba(113, 221, 55, 0.08);
+}
+
+.bg-label-info {
+ background-color: #d7f5fc !important;
+ color: #03c3ec !important;
+}
+
+.border-label-info {
+ border: 3px solid #9ae7f7 !important;
+}
+
+.border-light-info {
+ border: 3px solid rgba(3, 195, 236, 0.08);
+}
+
+.bg-label-warning {
+ background-color: #fff2d6 !important;
+ color: #ffab00 !important;
+}
+
+.border-label-warning {
+ border: 3px solid #ffdd99 !important;
+}
+
+.border-light-warning {
+ border: 3px solid rgba(255, 171, 0, 0.08);
+}
+
+.bg-label-danger {
+ background-color: #ffe0db !important;
+ color: #ff3e1d !important;
+}
+
+.border-label-danger {
+ border: 3px solid #ffb2a5 !important;
+}
+
+.border-light-danger {
+ border: 3px solid rgba(255, 62, 29, 0.08);
+}
+
+.bg-label-light {
+ background-color: white !important;
+ color: #fcfdfd !important;
+}
+
+.border-label-light {
+ border: 3px solid #fefefe !important;
+}
+
+.border-light-light {
+ border: 3px solid rgba(252, 253, 253, 0.08);
+}
+
+.bg-label-dark {
+ background-color: #dcdfe1 !important;
+ color: #233446 !important;
+}
+
+.border-label-dark {
+ border: 3px solid #a7aeb5 !important;
+}
+
+.border-light-dark {
+ border: 3px solid rgba(35, 52, 70, 0.08);
+}
+
+.bg-label-gray {
+ background-color: rgba(253, 253, 254, 0.856) !important;
+ color: rgba(67, 89, 113, 0.1) !important;
+}
+
+.border-label-gray {
+ border: 3px solid rgba(249, 249, 250, 0.64) !important;
+}
+
+.border-light-gray {
+ border: 3px solid rgba(67, 89, 113, 0.08);
+}
+
+a.bg-dark:hover, a.bg-dark:focus {
+ background-color: rgba(67, 89, 113, 0.9) !important;
+}
+
+a.bg-light:hover, a.bg-light:focus {
+ background-color: rgba(67, 89, 113, 0.2) !important;
+}
+
+a.bg-lighter:hover, a.bg-lighter:focus {
+ background-color: rgba(67, 89, 113, 0.1) !important;
+}
+
+a.bg-lightest:hover, a.bg-lightest:focus {
+ background-color: rgba(67, 89, 113, 0.05) !important;
+}
+
+.text-muted[href]:hover, .text-muted[href]:focus {
+ color: #8e9baa !important;
+}
+
+.text-light {
+ color: #b4bdc6 !important;
+}
+.text-light[href]:hover, .text-light[href]:focus {
+ color: #8e9baa !important;
+}
+
+.text-lighter {
+ color: #c7cdd4 !important;
+}
+.text-lighter[href]:hover, .text-lighter[href]:focus {
+ color: #8e9baa !important;
+}
+
+.text-lightest {
+ color: #d9dee3 !important;
+}
+.text-lightest[href]:hover, .text-lightest[href]:focus {
+ color: #8e9baa !important;
+}
+
+.invert-text-white {
+ color: #fff !important;
+}
+
+.invert-text-white[href]:hover:hover, .invert-text-white[href]:hover:focus {
+ color: #fff !important;
+}
+
+.invert-text-dark {
+ color: #435971 !important;
+}
+
+.invert-text-dark[href]:hover:hover, .invert-text-dark[href]:hover:focus {
+ color: #435971 !important;
+}
+
+.invert-bg-white {
+ background-color: #fff !important;
+}
+
+a.invert-bg-white:hover, a.invert-bg-white:focus {
+ background-color: #fff !important;
+}
+
+.invert-bg-dark {
+ background-color: rgba(67, 89, 113, 0.9) !important;
+}
+
+a.invert-bg-dark:hover, a.invert-bg-dark:focus {
+ background-color: rgba(67, 89, 113, 0.9) !important;
+}
+
+.invert-border-dark {
+ border-color: #233446 !important;
+}
+
+.invert-border-white {
+ border-color: #fff !important;
+}
+
+.container-p-x {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+@media (min-width: 992px) {
+ .container-p-x {
+ padding-right: 1.625rem !important;
+ padding-left: 1.625rem !important;
+ }
+}
+
+.container-m-nx {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+}
+@media (min-width: 992px) {
+ .container-m-nx {
+ margin-right: -1.625rem !important;
+ margin-left: -1.625rem !important;
+ }
+}
+
+.container-p-y:not([class^=pt-]):not([class*=" pt-"]) {
+ padding-top: 1.625rem !important;
+}
+.container-p-y:not([class^=pb-]):not([class*=" pb-"]) {
+ padding-bottom: 1.625rem !important;
+}
+
+.container-m-ny:not([class^=mt-]):not([class*=" mt-"]) {
+ margin-top: -1.625rem !important;
+}
+.container-m-ny:not([class^=mb-]):not([class*=" mb-"]) {
+ margin-bottom: -1.625rem !important;
+}
+
+.cell-fit {
+ width: 0.1%;
+ white-space: nowrap;
+}
+
+.table-secondary {
+ --bs-table-bg: #e7e9ed;
+ --bs-table-striped-bg: #e2e5e9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d7dbe1;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #dde0e6;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d7dbe1;
+}
+.table-secondary th {
+ border-bottom-color: inherit !important;
+}
+.table-secondary .btn-icon {
+ color: #435971;
+}
+
+.table-success {
+ --bs-table-bg: #e3f8d7;
+ --bs-table-striped-bg: #def3d4;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d3e8cd;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #d9eed1;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d3e8cd;
+}
+.table-success th {
+ border-bottom-color: inherit !important;
+}
+.table-success .btn-icon {
+ color: #435971;
+}
+
+.table-info {
+ --bs-table-bg: #cdf3fb;
+ --bs-table-striped-bg: #c9eef7;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #bfe4ed;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #c5eaf3;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #bfe4ed;
+}
+.table-info th {
+ border-bottom-color: inherit !important;
+}
+.table-info .btn-icon {
+ color: #435971;
+}
+
+.table-warning {
+ --bs-table-bg: #ffeecc;
+ --bs-table-striped-bg: #f9eac9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #ecdfc3;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f4e5c7;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #ecdfc3;
+}
+.table-warning th {
+ border-bottom-color: inherit !important;
+}
+.table-warning .btn-icon {
+ color: #435971;
+}
+
+.table-danger {
+ --bs-table-bg: #ffd8d2;
+ --bs-table-striped-bg: #f9d4cf;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #eccbc8;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f4d0cc;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #eccbc8;
+}
+.table-danger th {
+ border-bottom-color: inherit !important;
+}
+.table-danger .btn-icon {
+ color: #435971;
+}
+
+.table-light {
+ --bs-table-bg: #fcfdfd;
+ --bs-table-striped-bg: #f6f8f9;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #eaedef;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #f1f3f5;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #eaedef;
+}
+.table-light th {
+ border-bottom-color: inherit !important;
+}
+.table-light .btn-icon {
+ color: #435971;
+}
+
+.table-dark {
+ --bs-table-bg: #233446;
+ --bs-table-striped-bg: #2a3a4c;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #394859;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #304051;
+ --bs-table-hover-color: #fff;
+ color: #fff;
+ border-color: #394859;
+}
+.table-dark th {
+ border-bottom-color: #394859 !important;
+}
+.table-dark .btn-icon {
+ color: #fff;
+}
+
+.card .table {
+ margin-bottom: 0;
+}
+
+@supports (-moz-appearance: none) {
+ .table .dropdown-menu.show {
+ display: inline-table;
+ }
+}
+.table th {
+ text-transform: uppercase;
+ font-size: 0.75rem;
+ letter-spacing: 1px;
+}
+.table:not(.table-dark) th {
+ color: #566a7f;
+}
+
+.table-border-bottom-0 tr:last-child td,
+.table-border-bottom-0 tr:last-child th {
+ border-bottom-width: 0;
+}
+
+.table.table-dark .btn.btn-icon {
+ color: #d9dee3;
+}
+
+.table.table-flush-spacing thead tr > td:first-child,
+.table.table-flush-spacing tbody tr > td:first-child {
+ padding-left: 0;
+}
+.table.table-flush-spacing thead tr > td:last-child,
+.table.table-flush-spacing tbody tr > td:last-child {
+ padding-right: 0;
+}
+
+.nav-align-top .table:not(.table-dark),
+.nav-align-top .table:not(.table-dark) thead:not(.table-dark) th,
+.nav-align-top .table:not(.table-dark) tfoot:not(.table-dark) th,
+.nav-align-top .table:not(.table-dark) td,
+.nav-align-right .table:not(.table-dark),
+.nav-align-right .table:not(.table-dark) thead:not(.table-dark) th,
+.nav-align-right .table:not(.table-dark) tfoot:not(.table-dark) th,
+.nav-align-right .table:not(.table-dark) td,
+.nav-align-bottom .table:not(.table-dark),
+.nav-align-bottom .table:not(.table-dark) thead:not(.table-dark) th,
+.nav-align-bottom .table:not(.table-dark) tfoot:not(.table-dark) th,
+.nav-align-bottom .table:not(.table-dark) td,
+.nav-align-left .table:not(.table-dark),
+.nav-align-left .table:not(.table-dark) thead:not(.table-dark) th,
+.nav-align-left .table:not(.table-dark) tfoot:not(.table-dark) th,
+.nav-align-left .table:not(.table-dark) td {
+ border-color: #d9dee3;
+}
+
+.btn {
+ cursor: pointer;
+}
+.btn.disabled, .btn:disabled {
+ cursor: default;
+}
+
+.btn .badge {
+ transition: all 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn .badge {
+ transition: none;
+ }
+}
+
+label.btn {
+ margin-bottom: 0;
+}
+
+.btn-xl, .btn-group-xl > .btn {
+ padding: 0.875rem 2.125rem;
+ font-size: 1.25rem;
+ border-radius: 0.625rem;
+}
+
+.btn-xs, .btn-group-xs > .btn {
+ padding: 0 0.5rem;
+ font-size: 0.75rem;
+ border-radius: 0.125rem;
+}
+
+.btn-secondary {
+ color: #fff;
+ background-color: #8592a3;
+ border-color: #8592a3;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(133, 146, 163, 0.4);
+}
+.btn-secondary:hover {
+ color: #fff;
+ background-color: #788393;
+ border-color: #788393;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-secondary, .btn-secondary:focus, .btn-secondary.focus {
+ color: #fff;
+ background-color: #788393;
+ border-color: #788393;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
+ color: #fff;
+ background-color: #717c8b;
+ border-color: #717c8b;
+}
+.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-secondary.disabled, .btn-secondary:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-secondary {
+ color: #8592a3;
+ border-color: #8592a3;
+ background: transparent;
+}
+.btn-outline-secondary:hover {
+ color: #fff;
+ background-color: #788393;
+ border-color: #788393;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(133, 146, 163, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
+ color: #fff;
+ background-color: #788393;
+ border-color: #788393;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #717c8b;
+ border-color: #717c8b;
+}
+.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-secondary .badge {
+ background: #8592a3;
+ border-color: #8592a3;
+ color: #fff;
+}
+
+.btn-outline-secondary:hover .badge,
+.btn-outline-secondary:focus:hover .badge,
+.btn-outline-secondary:active .badge,
+.btn-outline-secondary.active .badge,
+.show > .btn-outline-secondary.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #8592a3;
+}
+
+.btn-success {
+ color: #fff;
+ background-color: #71dd37;
+ border-color: #71dd37;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(113, 221, 55, 0.4);
+}
+.btn-success:hover {
+ color: #fff;
+ background-color: #66c732;
+ border-color: #66c732;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-success, .btn-success:focus, .btn-success.focus {
+ color: #fff;
+ background-color: #66c732;
+ border-color: #66c732;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
+ color: #fff;
+ background-color: #60bc2f;
+ border-color: #60bc2f;
+}
+.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-success.disabled, .btn-success:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-success {
+ color: #71dd37;
+ border-color: #71dd37;
+ background: transparent;
+}
+.btn-outline-success:hover {
+ color: #fff;
+ background-color: #66c732;
+ border-color: #66c732;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(113, 221, 55, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
+ color: #fff;
+ background-color: #66c732;
+ border-color: #66c732;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
+ color: #fff;
+ background-color: #60bc2f;
+ border-color: #60bc2f;
+}
+.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-success.disabled, .btn-outline-success:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-success .badge {
+ background: #71dd37;
+ border-color: #71dd37;
+ color: #fff;
+}
+
+.btn-outline-success:hover .badge,
+.btn-outline-success:focus:hover .badge,
+.btn-outline-success:active .badge,
+.btn-outline-success.active .badge,
+.show > .btn-outline-success.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #71dd37;
+}
+
+.btn-info {
+ color: #fff;
+ background-color: #03c3ec;
+ border-color: #03c3ec;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(3, 195, 236, 0.4);
+}
+.btn-info:hover {
+ color: #fff;
+ background-color: #03b0d4;
+ border-color: #03b0d4;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-info, .btn-info:focus, .btn-info.focus {
+ color: #fff;
+ background-color: #03b0d4;
+ border-color: #03b0d4;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
+ color: #fff;
+ background-color: #03a6c9;
+ border-color: #03a6c9;
+}
+.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-info.disabled, .btn-info:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-info {
+ color: #03c3ec;
+ border-color: #03c3ec;
+ background: transparent;
+}
+.btn-outline-info:hover {
+ color: #fff;
+ background-color: #03b0d4;
+ border-color: #03b0d4;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(3, 195, 236, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
+ color: #fff;
+ background-color: #03b0d4;
+ border-color: #03b0d4;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
+ color: #fff;
+ background-color: #03a6c9;
+ border-color: #03a6c9;
+}
+.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-info.disabled, .btn-outline-info:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-info .badge {
+ background: #03c3ec;
+ border-color: #03c3ec;
+ color: #fff;
+}
+
+.btn-outline-info:hover .badge,
+.btn-outline-info:focus:hover .badge,
+.btn-outline-info:active .badge,
+.btn-outline-info.active .badge,
+.show > .btn-outline-info.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #03c3ec;
+}
+
+.btn-warning {
+ color: #fff;
+ background-color: #ffab00;
+ border-color: #ffab00;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 171, 0, 0.4);
+}
+.btn-warning:hover {
+ color: #fff;
+ background-color: #e69a00;
+ border-color: #e69a00;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-warning, .btn-warning:focus, .btn-warning.focus {
+ color: #fff;
+ background-color: #e69a00;
+ border-color: #e69a00;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #d99100;
+ border-color: #d99100;
+}
+.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-warning.disabled, .btn-warning:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-warning {
+ color: #ffab00;
+ border-color: #ffab00;
+ background: transparent;
+}
+.btn-outline-warning:hover {
+ color: #fff;
+ background-color: #e69a00;
+ border-color: #e69a00;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 171, 0, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
+ color: #fff;
+ background-color: #e69a00;
+ border-color: #e69a00;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
+ color: #fff;
+ background-color: #d99100;
+ border-color: #d99100;
+}
+.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-warning.disabled, .btn-outline-warning:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-warning .badge {
+ background: #ffab00;
+ border-color: #ffab00;
+ color: #fff;
+}
+
+.btn-outline-warning:hover .badge,
+.btn-outline-warning:focus:hover .badge,
+.btn-outline-warning:active .badge,
+.btn-outline-warning.active .badge,
+.show > .btn-outline-warning.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #ffab00;
+}
+
+.btn-danger {
+ color: #fff;
+ background-color: #ff3e1d;
+ border-color: #ff3e1d;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 62, 29, 0.4);
+}
+.btn-danger:hover {
+ color: #fff;
+ background-color: #e6381a;
+ border-color: #e6381a;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-danger, .btn-danger:focus, .btn-danger.focus {
+ color: #fff;
+ background-color: #e6381a;
+ border-color: #e6381a;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #d93519;
+ border-color: #d93519;
+}
+.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-danger.disabled, .btn-danger:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-danger {
+ color: #ff3e1d;
+ border-color: #ff3e1d;
+ background: transparent;
+}
+.btn-outline-danger:hover {
+ color: #fff;
+ background-color: #e6381a;
+ border-color: #e6381a;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 62, 29, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
+ color: #fff;
+ background-color: #e6381a;
+ border-color: #e6381a;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
+ color: #fff;
+ background-color: #d93519;
+ border-color: #d93519;
+}
+.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-danger.disabled, .btn-outline-danger:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-danger .badge {
+ background: #ff3e1d;
+ border-color: #ff3e1d;
+ color: #fff;
+}
+
+.btn-outline-danger:hover .badge,
+.btn-outline-danger:focus:hover .badge,
+.btn-outline-danger:active .badge,
+.btn-outline-danger.active .badge,
+.show > .btn-outline-danger.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #ff3e1d;
+}
+
+.btn-light {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(252, 253, 253, 0.4);
+}
+.btn-light:hover {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-light, .btn-light:focus, .btn-light.focus {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+}
+.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-light.disabled, .btn-light:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-light {
+ color: #fcfdfd;
+ border-color: #fcfdfd;
+ background: transparent;
+}
+.btn-outline-light:hover {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(252, 253, 253, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
+ color: #435971;
+ background-color: #fcfdfd;
+ border-color: #fcfdfd;
+}
+.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-light.disabled, .btn-outline-light:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-light .badge {
+ background: #fcfdfd;
+ border-color: #fcfdfd;
+ color: #435971;
+}
+
+.btn-outline-light:hover .badge,
+.btn-outline-light:focus:hover .badge,
+.btn-outline-light:active .badge,
+.btn-outline-light.active .badge,
+.show > .btn-outline-light.dropdown-toggle .badge {
+ background: #435971;
+ border-color: #435971;
+ color: #fcfdfd;
+}
+
+.btn-dark {
+ color: #fff;
+ background-color: #233446;
+ border-color: #233446;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(35, 52, 70, 0.4);
+}
+.btn-dark:hover {
+ color: #fff;
+ background-color: #202f3f;
+ border-color: #202f3f;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-dark, .btn-dark:focus, .btn-dark.focus {
+ color: #fff;
+ background-color: #202f3f;
+ border-color: #202f3f;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
+ color: #fff;
+ background-color: #1e2c3c;
+ border-color: #1e2c3c;
+}
+.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-dark.disabled, .btn-dark:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-dark {
+ color: #233446;
+ border-color: #233446;
+ background: transparent;
+}
+.btn-outline-dark:hover {
+ color: #fff;
+ background-color: #202f3f;
+ border-color: #202f3f;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(35, 52, 70, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
+ color: #fff;
+ background-color: #202f3f;
+ border-color: #202f3f;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
+ color: #fff;
+ background-color: #1e2c3c;
+ border-color: #1e2c3c;
+}
+.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-dark.disabled, .btn-outline-dark:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-dark .badge {
+ background: #233446;
+ border-color: #233446;
+ color: #fff;
+}
+
+.btn-outline-dark:hover .badge,
+.btn-outline-dark:focus:hover .badge,
+.btn-outline-dark:active .badge,
+.btn-outline-dark.active .badge,
+.show > .btn-outline-dark.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #233446;
+}
+
+.btn-gray {
+ color: #fff;
+ background-color: rgba(67, 89, 113, 0.1);
+ border-color: rgba(67, 89, 113, 0.1);
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(67, 89, 113, 0.4);
+}
+.btn-gray:hover {
+ color: #fff;
+ background-color: rgba(22, 29, 36, 0.19);
+ border-color: rgba(22, 29, 36, 0.19);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-gray, .btn-gray:focus, .btn-gray.focus {
+ color: #fff;
+ background-color: rgba(22, 29, 36, 0.19);
+ border-color: rgba(22, 29, 36, 0.19);
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-gray, .btn-check:active + .btn-gray, .btn-gray:active, .btn-gray.active, .show > .btn-gray.dropdown-toggle {
+ color: #fff;
+ background-color: rgba(15, 20, 26, 0.235);
+ border-color: rgba(15, 20, 26, 0.235);
+}
+.btn-check:checked + .btn-gray:focus, .btn-check:active + .btn-gray:focus, .btn-gray:active:focus, .btn-gray.active:focus, .show > .btn-gray.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-gray.disabled, .btn-gray:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-gray {
+ color: rgba(67, 89, 113, 0.1);
+ border-color: rgba(67, 89, 113, 0.1);
+ background: transparent;
+}
+.btn-outline-gray:hover {
+ color: #fff;
+ background-color: rgba(22, 29, 36, 0.19);
+ border-color: rgba(22, 29, 36, 0.19);
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(67, 89, 113, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-gray, .btn-outline-gray:focus {
+ color: #fff;
+ background-color: rgba(22, 29, 36, 0.19);
+ border-color: rgba(22, 29, 36, 0.19);
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-gray, .btn-check:active + .btn-outline-gray, .btn-outline-gray:active, .btn-outline-gray.active, .btn-outline-gray.dropdown-toggle.show {
+ color: #fff;
+ background-color: rgba(15, 20, 26, 0.235);
+ border-color: rgba(15, 20, 26, 0.235);
+}
+.btn-check:checked + .btn-outline-gray:focus, .btn-check:active + .btn-outline-gray:focus, .btn-outline-gray:active:focus, .btn-outline-gray.active:focus, .btn-outline-gray.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-gray.disabled, .btn-outline-gray:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-gray .badge {
+ background: rgba(67, 89, 113, 0.1);
+ border-color: rgba(67, 89, 113, 0.1);
+ color: #fff;
+}
+
+.btn-outline-gray:hover .badge,
+.btn-outline-gray:focus:hover .badge,
+.btn-outline-gray:active .badge,
+.btn-outline-gray.active .badge,
+.show > .btn-outline-gray.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #435971;
+}
+
+.btn-icon {
+ padding: 0;
+ width: calc(2.309375rem + 2px);
+ height: calc(2.309375rem + 2px);
+ display: inline-flex;
+ flex-shrink: 0;
+ justify-content: center;
+ align-items: center;
+}
+.btn-icon.btn-xl, .btn-group-xl > .btn-icon.btn {
+ width: calc(3.625rem + 2px);
+ height: calc(3.625rem + 2px);
+}
+.btn-icon.btn-xl > span, .btn-group-xl > .btn-icon.btn > span {
+ font-size: 1.25rem;
+}
+.btn-icon.btn-lg, .btn-group-lg > .btn-icon.btn {
+ width: calc(3rem + 2px);
+ height: calc(3rem + 2px);
+ font-size: 1rem;
+}
+.btn-icon.btn-sm, .btn-group-sm > .btn-icon.btn {
+ width: calc(1.625rem + 2px);
+ height: calc(1.625rem + 2px);
+ font-size: 0.75rem;
+}
+.btn-icon.btn-xs, .btn-group-xs > .btn-icon.btn {
+ width: calc(1.125rem + 2px);
+ height: calc(1.125rem + 2px);
+ font-size: 0.75rem;
+}
+
+.btn.borderless:not(.active):not(:active):not(:hover):not(:focus), :not(.show) > .btn.borderless.dropdown-toggle:not(:hover):not(:focus) {
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.btn.btn-link {
+ font-size: inherit;
+}
+
+.btn-pinned {
+ position: absolute;
+ top: 0.75rem;
+ right: 0.75rem;
+}
+
+button:focus {
+ outline: none;
+}
+
+.dropdown-toggle-split,
+.btn-lg + .dropdown-toggle-split,
+.btn-group-lg > .btn + .dropdown-toggle-split,
+.input-group-lg .btn + .dropdown-toggle-split,
+.btn-xl + .dropdown-toggle-split,
+.btn-group-xl > .btn + .dropdown-toggle-split {
+ padding-right: 0.7em;
+ padding-left: 0.7em;
+}
+
+.btn-sm + .dropdown-toggle-split,
+.btn-group-sm > .btn + .dropdown-toggle-split,
+.input-group-sm .btn + .dropdown-toggle-split {
+ padding-right: 0.6em;
+ padding-left: 0.6em;
+}
+
+.btn-xs + .dropdown-toggle-split,
+.btn-group-xs > .btn + .dropdown-toggle-split {
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+}
+
+.btn-group > .btn-group:first-child > .btn:not([class*=btn-outline-]):first-child,
+.input-group > .btn:not([class*=btn-outline-]):first-child,
+:not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*=btn-outline-]):first-child,
+.input-group > .btn-group:first-child > .btn:not([class*=btn-outline-]):first-child {
+ border-left-color: transparent;
+}
+
+.btn-group > .btn-group:last-child > .btn:not([class*=btn-outline-]):last-of-type,
+.input-group > .btn:not([class*=btn-outline-]):last-of-type,
+:not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*=btn-outline-]):last-of-type,
+.input-group > .btn-group:last-child > .btn:not([class*=btn-outline-]):last-of-type {
+ border-right-color: transparent;
+}
+
+.badge {
+ text-transform: uppercase;
+ line-height: 0.75;
+}
+
+.badge-center {
+ display: inline-flex;
+ justify-content: center;
+ align-items: center;
+ height: 1.5rem;
+ width: 1.5rem;
+ font-size: 0.8125em;
+}
+.badge-center i {
+ font-size: 0.8rem;
+}
+
+[data-trigger=hover] {
+ outline: 0;
+}
+
+.dropdown-menu {
+ margin: 0.125rem 0;
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+ -webkit-animation: dropdownAnimation 0.1s;
+ animation: dropdownAnimation 0.1s;
+}
+.mega-dropdown > .dropdown-menu {
+ left: 0 !important;
+ right: 0 !important;
+}
+.dropdown-menu .badge[class^=float-],
+.dropdown-menu .badge[class*=" float-"] {
+ position: relative;
+ top: 0.071em;
+}
+
+.dropdown-item {
+ line-height: 1.54;
+}
+
+.dropdown-toggle.hide-arrow::before, .dropdown-toggle.hide-arrow::after,
+.dropdown-toggle-hide-arrow > .dropdown-toggle::before,
+.dropdown-toggle-hide-arrow > .dropdown-toggle::after {
+ display: none;
+}
+
+.dropdown-toggle::after {
+ margin-top: -0.28em;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-top: 0;
+ border-left: 0;
+ transform: rotate(45deg);
+}
+
+.dropend .dropdown-toggle::after {
+ margin-top: -0.168em;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-top: 0;
+ border-left: 0;
+ transform: rotate(-45deg);
+}
+
+.dropstart .dropdown-toggle::before {
+ margin-top: -0.168em;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-top: 0;
+ border-right: 0;
+ transform: rotate(45deg);
+}
+
+.dropup .dropdown-toggle::after {
+ margin-top: 0;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-bottom: 0;
+ border-left: 0;
+ transform: rotate(-45deg);
+}
+
+.dropstart .dropdown-toggle::before,
+.dropend .dropdown-toggle::after {
+ vertical-align: middle;
+}
+
+.nav .nav-item,
+.nav .nav-link,
+.tab-pane,
+.tab-pane .card-body {
+ outline: none !important;
+}
+
+.nav-tabs .nav-item .nav-link {
+ color: #566a7f;
+ border: 0;
+ border-radius: 0;
+}
+.nav-tabs .nav-item .nav-link:hover, .nav-tabs .nav-item .nav-link:focus {
+ color: #566a7f;
+}
+.nav-tabs .nav-item .nav-link:not(.active) {
+ background-color: #eceef1;
+}
+.nav-tabs .nav-item .nav-link.disabled {
+ color: #c7cdd4;
+}
+
+.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-link,
+.nav-pills:not(.nav-fill):not(.nav-justified) .nav-link {
+ width: 100%;
+}
+
+.nav-pills .nav-link:not(.active, .disabled) {
+ color: #566a7f;
+}
+
+.tab-content {
+ padding: 1.5rem;
+ border-radius: 0.375rem;
+}
+
+.nav-scrollable {
+ display: -webkit-inline-box;
+ display: -moz-inline-box;
+ width: 100%;
+ overflow-y: auto;
+ flex-wrap: nowrap;
+}
+
+.nav-tabs .nav-link {
+ background-clip: padding-box;
+}
+.nav-tabs .nav-link.active {
+ border-bottom-color: #fff;
+}
+.nav-tabs .nav-link.active:hover, .nav-tabs .nav-link.active:focus {
+ border-bottom-color: #fff;
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ border-bottom-color: transparent;
+}
+
+.nav-sm > .nav .nav-link, .nav-sm.nav .nav-link {
+ padding: 0.3125rem 0.875rem;
+ font-size: 0.75rem;
+ line-height: 1.5;
+}
+
+.nav-lg > .nav .nav-link, .nav-lg.nav .nav-link {
+ padding: 0.875rem 1.3125rem;
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.nav-align-top,
+.nav-align-right,
+.nav-align-bottom,
+.nav-align-left {
+ display: flex;
+}
+.nav-align-top > .nav,
+.nav-align-top > div > .nav,
+.nav-align-right > .nav,
+.nav-align-right > div > .nav,
+.nav-align-bottom > .nav,
+.nav-align-bottom > div > .nav,
+.nav-align-left > .nav,
+.nav-align-left > div > .nav {
+ border: 0;
+ z-index: 1;
+ position: relative;
+}
+.nav-align-top > .nav .nav-link:hover, .nav-align-top > .nav .nav-link:focus,
+.nav-align-top > div > .nav .nav-link:hover,
+.nav-align-top > div > .nav .nav-link:focus,
+.nav-align-right > .nav .nav-link:hover,
+.nav-align-right > .nav .nav-link:focus,
+.nav-align-right > div > .nav .nav-link:hover,
+.nav-align-right > div > .nav .nav-link:focus,
+.nav-align-bottom > .nav .nav-link:hover,
+.nav-align-bottom > .nav .nav-link:focus,
+.nav-align-bottom > div > .nav .nav-link:hover,
+.nav-align-bottom > div > .nav .nav-link:focus,
+.nav-align-left > .nav .nav-link:hover,
+.nav-align-left > .nav .nav-link:focus,
+.nav-align-left > div > .nav .nav-link:hover,
+.nav-align-left > div > .nav .nav-link:focus {
+ isolation: auto;
+}
+.nav-align-top .row-bordered > [class^=col-]::before, .nav-align-top .row-bordered > [class^=col-]::after,
+.nav-align-top .row-bordered > [class*=" col-"]::before,
+.nav-align-top .row-bordered > [class*=" col-"]::after,
+.nav-align-top .row-bordered > [class^="col "]::before,
+.nav-align-top .row-bordered > [class^="col "]::after,
+.nav-align-top .row-bordered > [class*=" col "]::before,
+.nav-align-top .row-bordered > [class*=" col "]::after,
+.nav-align-top .row-bordered > [class$=" col"]::before,
+.nav-align-top .row-bordered > [class$=" col"]::after,
+.nav-align-top .row-bordered > [class=col]::before,
+.nav-align-top .row-bordered > [class=col]::after,
+.nav-align-right .row-bordered > [class^=col-]::before,
+.nav-align-right .row-bordered > [class^=col-]::after,
+.nav-align-right .row-bordered > [class*=" col-"]::before,
+.nav-align-right .row-bordered > [class*=" col-"]::after,
+.nav-align-right .row-bordered > [class^="col "]::before,
+.nav-align-right .row-bordered > [class^="col "]::after,
+.nav-align-right .row-bordered > [class*=" col "]::before,
+.nav-align-right .row-bordered > [class*=" col "]::after,
+.nav-align-right .row-bordered > [class$=" col"]::before,
+.nav-align-right .row-bordered > [class$=" col"]::after,
+.nav-align-right .row-bordered > [class=col]::before,
+.nav-align-right .row-bordered > [class=col]::after,
+.nav-align-bottom .row-bordered > [class^=col-]::before,
+.nav-align-bottom .row-bordered > [class^=col-]::after,
+.nav-align-bottom .row-bordered > [class*=" col-"]::before,
+.nav-align-bottom .row-bordered > [class*=" col-"]::after,
+.nav-align-bottom .row-bordered > [class^="col "]::before,
+.nav-align-bottom .row-bordered > [class^="col "]::after,
+.nav-align-bottom .row-bordered > [class*=" col "]::before,
+.nav-align-bottom .row-bordered > [class*=" col "]::after,
+.nav-align-bottom .row-bordered > [class$=" col"]::before,
+.nav-align-bottom .row-bordered > [class$=" col"]::after,
+.nav-align-bottom .row-bordered > [class=col]::before,
+.nav-align-bottom .row-bordered > [class=col]::after,
+.nav-align-left .row-bordered > [class^=col-]::before,
+.nav-align-left .row-bordered > [class^=col-]::after,
+.nav-align-left .row-bordered > [class*=" col-"]::before,
+.nav-align-left .row-bordered > [class*=" col-"]::after,
+.nav-align-left .row-bordered > [class^="col "]::before,
+.nav-align-left .row-bordered > [class^="col "]::after,
+.nav-align-left .row-bordered > [class*=" col "]::before,
+.nav-align-left .row-bordered > [class*=" col "]::after,
+.nav-align-left .row-bordered > [class$=" col"]::before,
+.nav-align-left .row-bordered > [class$=" col"]::after,
+.nav-align-left .row-bordered > [class=col]::before,
+.nav-align-left .row-bordered > [class=col]::after {
+ border-color: #d9dee3;
+}
+
+.nav-align-right,
+.nav-align-left {
+ align-items: stretch;
+}
+.nav-align-right > .nav,
+.nav-align-right > div > .nav,
+.nav-align-left > .nav,
+.nav-align-left > div > .nav {
+ flex-grow: 0;
+ flex-direction: column;
+}
+.nav-align-right > .tab-content,
+.nav-align-left > .tab-content {
+ flex-grow: 1;
+}
+
+.nav-align-top {
+ flex-direction: column;
+}
+.nav-align-top .nav-tabs ~ .tab-content {
+ z-index: 1;
+ box-shadow: 0px 6px 7px -1px rgba(67, 89, 113, 0.12);
+}
+.nav-align-top .nav-tabs .nav-item:first-child .nav-link {
+ border-top-left-radius: 0.375rem;
+}
+.nav-align-top .nav-tabs .nav-item:last-child .nav-link {
+ border-top-right-radius: 0.375rem;
+}
+.nav-align-top .nav-tabs .nav-item:not(:first-child) .nav-link {
+ border-left: 1px solid #fff;
+}
+.nav-align-top .nav-tabs .nav-link.active {
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+
+.nav-align-right {
+ flex-direction: row-reverse;
+}
+.nav-align-right > .nav .nav-item,
+.nav-align-right > div > .nav .nav-item {
+ margin-left: -1px;
+ margin-bottom: 0;
+}
+.nav-align-right .nav-link {
+ text-align: right;
+}
+.nav-align-right .nav-tabs ~ .tab-content {
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+.nav-align-right .nav-tabs .nav-item:not(:first-child) .nav-link {
+ border-top: 1px solid #fff;
+}
+.nav-align-right .nav-tabs .nav-item:first-child .nav-link {
+ border-top-right-radius: 0.375rem;
+}
+.nav-align-right .nav-tabs .nav-item:last-child .nav-link {
+ border-bottom-right-radius: 0.375rem;
+}
+.nav-align-right .nav-tabs .nav-link.active {
+ box-shadow: 5px 4px 6px 0 rgba(67, 89, 113, 0.12);
+}
+
+.nav-align-bottom {
+ flex-direction: column-reverse;
+}
+.nav-align-bottom > .nav .nav-item,
+.nav-align-bottom > div > .nav .nav-item {
+ margin-bottom: 0;
+ margin-top: -1px;
+}
+.nav-align-bottom .nav-tabs ~ .tab-content {
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+.nav-align-bottom .nav-tabs .nav-item:first-child .nav-link {
+ border-bottom-left-radius: 0.375rem;
+}
+.nav-align-bottom .nav-tabs .nav-item:last-child .nav-link {
+ border-bottom-right-radius: 0.375rem;
+}
+.nav-align-bottom .nav-tabs .nav-item:not(:first-child) .nav-link {
+ border-left: 1px solid #fff;
+}
+.nav-align-bottom .nav-tabs .nav-link.active {
+ box-shadow: 0 4px 6px 0 rgba(67, 89, 113, 0.12);
+}
+
+.nav-align-left > .nav .nav-item,
+.nav-align-left > div > .nav .nav-item {
+ margin-right: -1px;
+ margin-bottom: 0;
+}
+.nav-align-left .nav-link {
+ text-align: left;
+}
+.nav-align-left .nav-tabs ~ .tab-content {
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+.nav-align-left .nav-tabs .nav-item:not(:first-child) .nav-link {
+ border-top: 1px solid #fff;
+}
+.nav-align-left .nav-tabs .nav-item:first-child .nav-link {
+ border-top-left-radius: 0.375rem;
+}
+.nav-align-left .nav-tabs .nav-item:last-child .nav-link {
+ border-bottom-left-radius: 0.375rem;
+}
+.nav-align-left .nav-tabs .nav-link.active {
+ box-shadow: -5px 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+
+.nav-align-top > .tab-content,
+.nav-align-right > .tab-content,
+.nav-align-bottom > .tab-content,
+.nav-align-left > .tab-content {
+ flex-shrink: 1;
+ border: 0 solid #d9dee3;
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+ background-clip: padding-box;
+ background: #fff;
+}
+
+.nav-align-top :not(.nav-pills) ~ .tab-content {
+ border-radius: 0 0 0.375rem 0.375rem;
+}
+
+.nav-align-top .nav-tabs:not(.nav-fill) ~ .tab-content {
+ border-top-right-radius: 0.375rem;
+}
+
+.nav-align-right :not(.nav-pills) ~ .tab-content {
+ border-radius: 0.375rem 0 0 0.375rem;
+}
+
+.nav-align-bottom :not(.nav-pills) ~ .tab-content {
+ border-radius: 0.375rem 0.375rem 0 0;
+}
+
+.nav-align-left :not(.nav-pills) ~ .tab-content {
+ border-radius: 0 0.375rem 0.375rem 0;
+}
+
+.nav-align-left > .tab-content {
+ border-radius: 0 0.375rem 0.375rem 0.375rem;
+}
+
+.page-item.first .page-link, .page-item.last .page-link, .page-item.next .page-link, .page-item.prev .page-link, .page-item.previous .page-link {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+.page-item.disabled .page-link {
+ border-color: #d9dee3;
+}
+.page-item.active .page-link {
+ margin: 0 0.1rem 0 0.3rem;
+}
+
+.page-link,
+.page-link > a {
+ border-radius: 0.375rem;
+ line-height: 1;
+ text-align: center;
+ min-width: calc(
+ 2.1875rem + 0px
+ );
+}
+.page-link:focus,
+.page-link > a:focus {
+ color: #697a8d;
+}
+
+.page-link.btn-primary {
+ box-shadow: none !important;
+}
+
+.pagination-lg .page-link,
+.pagination-lg > li > a:not(.page-link) {
+ min-width: calc(
+ 2.875rem + 0px
+ );
+}
+
+.pagination-lg > .page-item.first .page-link, .pagination-lg > .page-item.last .page-link, .pagination-lg > .page-item.next .page-link, .pagination-lg > .page-item.prev .page-link, .pagination-lg > .page-item.previous .page-link {
+ padding-top: 0.853rem;
+ padding-bottom: 0.853rem;
+}
+
+.pagination-sm .page-link,
+.pagination-sm > li > a:not(.page-link) {
+ min-width: calc(
+ 1.5rem + 0px
+ );
+}
+.pagination-sm .page-link .tf-icon,
+.pagination-sm > li > a:not(.page-link) .tf-icon {
+ font-size: 0.9375rem;
+}
+
+.pagination-sm > .page-item.first .page-link, .pagination-sm > .page-item.last .page-link, .pagination-sm > .page-item.next .page-link, .pagination-sm > .page-item.prev .page-link, .pagination-sm > .page-item.previous .page-link {
+ padding-top: 0.3rem;
+ padding-bottom: 0.3rem;
+}
+
+.alert-secondary {
+ background-color: #ebeef0;
+ border-color: #dadee3;
+ color: #8592a3;
+}
+.alert-secondary .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%238592a3' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%238592a3' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-secondary .alert-link {
+ color: #8592a3;
+}
+
+.card .alert-secondary hr {
+ background-color: #8592a3 !important;
+}
+
+.alert-success {
+ background-color: #e8fadf;
+ border-color: #d4f5c3;
+ color: #71dd37;
+}
+.alert-success .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%2371dd37' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%2371dd37' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-success .alert-link {
+ color: #71dd37;
+}
+
+.card .alert-success hr {
+ background-color: #71dd37 !important;
+}
+
+.alert-info {
+ background-color: #d7f5fc;
+ border-color: #b3edf9;
+ color: #03c3ec;
+}
+.alert-info .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%2303c3ec' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%2303c3ec' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-info .alert-link {
+ color: #03c3ec;
+}
+
+.card .alert-info hr {
+ background-color: #03c3ec !important;
+}
+
+.alert-warning {
+ background-color: #fff2d6;
+ border-color: #ffe6b3;
+ color: #ffab00;
+}
+.alert-warning .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23ffab00' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%23ffab00' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-warning .alert-link {
+ color: #ffab00;
+}
+
+.card .alert-warning hr {
+ background-color: #ffab00 !important;
+}
+
+.alert-danger {
+ background-color: #ffe0db;
+ border-color: #ffc5bb;
+ color: #ff3e1d;
+}
+.alert-danger .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23ff3e1d' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%23ff3e1d' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-danger .alert-link {
+ color: #ff3e1d;
+}
+
+.card .alert-danger hr {
+ background-color: #ff3e1d !important;
+}
+
+.alert-dark {
+ background-color: #dcdfe1;
+ border-color: #bdc2c8;
+ color: #233446;
+}
+.alert-dark .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23233446' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%23233446' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-dark .alert-link {
+ color: #233446;
+}
+
+.card .alert-dark hr {
+ background-color: #233446 !important;
+}
+
+.alert-gray {
+ background-color: rgba(253, 253, 254, 0.856);
+ border-color: rgba(251, 251, 252, 0.73);
+ color: rgba(67, 89, 113, 0.1);
+}
+.alert-gray .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='rgba(67, 89, 113, 0.1)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='rgba(67, 89, 113, 0.1)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-gray .alert-link {
+ color: rgba(67, 89, 113, 0.1);
+}
+
+.card .alert-gray hr {
+ background-color: rgba(67, 89, 113, 0.1) !important;
+}
+
+.modal-open .tooltip {
+ z-index: 1092;
+}
+
+.tooltip-inner {
+ box-shadow: 0 0.125rem 0.25rem rgba(161, 172, 184, 0.4);
+}
+
+.modal-open .popover {
+ z-index: 1091;
+}
+
+.popover {
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+}
+.popover .popover-arrow {
+ z-index: 1;
+}
+.popover.bs-popover-bottom > .popover-arrow::after, .popover.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ border-bottom-color: white;
+ top: 2px;
+}
+.popover.bs-popover-bottom > .popover-arrow:before, .popover.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow:before {
+ top: 1px;
+}
+
+.popover-header {
+ padding: 1.125rem 1.125rem 0;
+ font-size: 1.125rem;
+}
+
+.form-label,
+.col-form-label {
+ font-size: 0.75rem;
+ text-transform: uppercase;
+ letter-spacing: inherit;
+}
+
+.form-label-lg {
+ font-size: 1rem;
+}
+
+.form-label-sm {
+ font-size: 0.75rem;
+}
+
+.form-control::-moz-placeholder {
+ -moz-transition: all 0.25s ease;
+ transition: all 0.25s ease;
+}
+
+.form-control::placeholder {
+ transition: all 0.25s ease;
+}
+.form-control:focus::-moz-placeholder {
+ transform: translate(5px);
+ -moz-transition: all 0.25s ease;
+ transition: all 0.25s ease;
+}
+.form-control:focus::placeholder {
+ transform: translate(5px);
+ transition: all 0.25s ease;
+}
+
+.form-select {
+ background-clip: padding-box;
+}
+
+.form-range::-webkit-slider-thumb {
+ box-shadow: 0 0 6px 0 rgba(67, 89, 113, 0.4);
+ -webkit-transition: transform 0.2s;
+ transition: transform 0.2s;
+ transform-origin: center;
+}
+.form-range::-webkit-slider-thumb:focus {
+ box-shadow: 0 0 8px 0px rgba(67, 89, 113, 0.4);
+}
+.form-range::-webkit-slider-thumb:active {
+ transform: scale(1.4, 1.4);
+}
+.form-range::-moz-range-thumb {
+ box-shadow: 0 0 6px 0 rgba(67, 89, 113, 0.4);
+ -moz-transition: transform 0.2s;
+ transition: transform 0.2s;
+ transform-origin: center;
+}
+.form-range::-moz-range-thumb:focus {
+ box-shadow: 0 0 8px 0px rgba(67, 89, 113, 0.4);
+}
+.form-range::-moz-range-thumb:active {
+ transform: scale(1.4, 1.4);
+}
+.form-range:disabled::-webkit-slider-runnable-track {
+ background-color: rgba(67, 89, 113, 0.05);
+}
+.form-range:disabled::-moz-range-track {
+ background-color: rgba(67, 89, 113, 0.05);
+ box-shadow: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ box-shadow: none;
+}
+.form-range:disabled::-moz-range-thumb {
+ box-shadow: none;
+}
+
+.input-group:focus-within {
+ box-shadow: 0 0 0.25rem 0.05rem rgba(105, 108, 255, 0.1);
+}
+.input-group:focus-within .form-control,
+.input-group:focus-within .input-group-text {
+ box-shadow: none;
+}
+.input-group.disabled .input-group-text {
+ background-color: #eceef1;
+}
+
+.input-group-text {
+ background-clip: padding-box;
+}
+.input-group-text i {
+ font-size: 0.9375rem;
+}
+
+.input-group-lg > .input-group-text i {
+ font-size: 1rem;
+}
+
+.input-group-sm > .input-group-text i {
+ font-size: 0.75rem;
+}
+
+.input-group-merge .input-group-text:first-child {
+ border-right: 0;
+}
+.input-group-merge .input-group-text:last-child {
+ border-left: 0;
+}
+.input-group-merge .form-control:not(:first-child) {
+ padding-left: 0;
+ border-left: 0;
+}
+.input-group-merge .form-control:not(:last-child) {
+ padding-right: 0;
+ border-right: 0;
+}
+
+.input-group-text {
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .input-group-text {
+ transition: none;
+ }
+}
+
+.form-floating > .form-control:focus::-moz-placeholder, .form-floating > .form-control:not(:placeholder-shown)::-moz-placeholder {
+ color: #b4bdc6;
+}
+
+.form-floating > .form-control:not(:-moz-placeholder-shown)::placeholder {
+ color: #b4bdc6;
+}
+
+.form-floating > .form-control:focus::placeholder,
+.form-floating > .form-control:not(:placeholder-shown)::placeholder {
+ color: #b4bdc6;
+}
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.3rem;
+ font-size: 85%;
+ color: #71dd37;
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.7rem;
+ margin-top: 0.1rem;
+ font-size: 0.9375rem;
+ color: #fff;
+ background-color: #71dd37;
+ border-radius: 0.25rem;
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: #71dd37;
+}
+.dark-style .was-validated .form-control:valid, .dark-style .form-control.is-valid {
+ border-color: #71dd37 !important;
+}
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+ border-color: #71dd37;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(113, 221, 55, 0.1);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: #71dd37;
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: #71dd37;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(113, 221, 55, 0.1);
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: #71dd37;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: #71dd37;
+ border-color: #71dd37;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ box-shadow: 0 0 0.25rem 0.05rem rgba(113, 221, 55, 0.1);
+ border-color: #71dd37;
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: #71dd37;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group .form-control:valid ~ .input-group-text, .input-group .form-control.is-valid ~ .input-group-text {
+ border-color: #71dd37;
+}
+.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus {
+ border-color: #71dd37;
+ box-shadow: none;
+}
+.was-validated .input-group .form-control:valid:focus ~ .input-group-text, .input-group .form-control.is-valid:focus ~ .input-group-text {
+ border-color: #71dd37;
+}
+
+.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
+.was-validated .input-group .form-select:valid,
+.input-group .form-select.is-valid {
+ z-index: 3;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.3rem;
+ font-size: 85%;
+ color: #ff3e1d;
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.7rem;
+ margin-top: 0.1rem;
+ font-size: 0.9375rem;
+ color: #fff;
+ background-color: #ff3e1d;
+ border-radius: 0.25rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+ border-color: #ff3e1d;
+}
+.dark-style .was-validated .form-control:invalid, .dark-style .form-control.is-invalid {
+ border-color: #ff3e1d !important;
+}
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+ border-color: #ff3e1d;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(255, 62, 29, 0.1);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+ border-color: #ff3e1d;
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: #ff3e1d;
+ box-shadow: 0 0 0.25rem 0.05rem rgba(255, 62, 29, 0.1);
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: #ff3e1d;
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: #ff3e1d;
+ border-color: #ff3e1d;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ box-shadow: 0 0 0.25rem 0.05rem rgba(255, 62, 29, 0.1);
+ border-color: #ff3e1d;
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: #ff3e1d;
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group .form-control:invalid ~ .input-group-text, .input-group .form-control.is-invalid ~ .input-group-text {
+ border-color: #ff3e1d;
+}
+.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus {
+ border-color: #ff3e1d;
+ box-shadow: none;
+}
+.was-validated .input-group .form-control:invalid:focus ~ .input-group-text, .input-group .form-control.is-invalid:focus ~ .input-group-text {
+ border-color: #ff3e1d;
+}
+
+.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
+.was-validated .input-group .form-select:invalid,
+.input-group .form-select.is-invalid {
+ z-index: 3;
+}
+
+form .error:not(li):not(input) {
+ color: #ff3e1d;
+ font-size: 85%;
+ margin-top: 0.25rem;
+}
+form .invalid,
+form .is-invalid .invalid:before,
+form .is-invalid::before {
+ border-color: #ff3e1d !important;
+}
+form .form-label.invalid, form .form-label.is-invalid {
+ border-color: #ff3e1d;
+ box-shadow: 0 0 0 2px rgba(255, 62, 29, 0.4) !important;
+}
+form select.invalid ~ .select2 .select2-selection {
+ border-color: #ff3e1d;
+}
+form select.is-invalid ~ .select2 .select2-selection {
+ border-color: #ff3e1d !important;
+}
+form select.selectpicker.is-invalid ~ .btn {
+ border-color: 1px solid #ff3e1d;
+ border-color: #ff3e1d;
+}
+
+.modal-content {
+ box-shadow: 0 2px 16px 0 rgba(67, 89, 113, 0.45);
+}
+
+.modal .btn-close {
+ background-color: #fff;
+ border-radius: 0.5rem;
+ opacity: 1;
+ padding: 0.635rem;
+ box-shadow: 0 0.125rem 0.25rem rgba(161, 172, 184, 0.4);
+ transition: all 0.23s ease 0.1s;
+ transform: translate(23px, -25px);
+}
+.modal .btn-close:hover, .modal .btn-close:focus, .modal .btn-close:active {
+ opacity: 1;
+ outline: none;
+ transform: translate(20px, -20px);
+}
+.modal .modal-header .btn-close {
+ margin-top: -1.25rem;
+}
+
+.modal-footer {
+ padding: 0.25rem 1.5rem 1.5rem;
+}
+
+.modal-dialog-scrollable .btn-close,
+.modal-fullscreen .btn-close,
+.modal-top .btn-close {
+ box-shadow: none;
+ transform: translate(0, 0) !important;
+}
+.modal-dialog-scrollable .btn-close:hover,
+.modal-fullscreen .btn-close:hover,
+.modal-top .btn-close:hover {
+ transform: translate(0, 0) !important;
+}
+
+.modal-top .modal-dialog {
+ margin-top: 0;
+}
+.modal-top .modal-content {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+@media (max-width: 991.98px) {
+ .modal-onboarding .onboarding-horizontal {
+ flex-direction: column;
+ }
+}
+@media (max-width: 767.98px) {
+ .modal .modal-dialog:not(.modal-fullscreen) {
+ padding: 0 0.75rem;
+ padding-left: 0.75rem !important;
+ }
+ .modal .carousel-control-prev,
+.modal .carousel-control-next {
+ display: none;
+ }
+}
+@media (min-width: 576px) {
+ .modal-content {
+ box-shadow: 0 2px 20px 0 rgba(67, 89, 113, 0.45);
+ }
+
+ .modal-sm .modal-dialog {
+ max-width: 22.5rem;
+ }
+}
+@media (min-width: 1200px) {
+ .modal-xl .modal-dialog {
+ max-width: 1140px;
+ }
+}
+.progress {
+ overflow: initial;
+}
+
+.progress-bar.bg-secondary {
+ box-shadow: 0 2px 4px 0 rgba(133, 146, 163, 0.4);
+}
+
+.progress-bar.bg-success {
+ box-shadow: 0 2px 4px 0 rgba(113, 221, 55, 0.4);
+}
+
+.progress-bar.bg-info {
+ box-shadow: 0 2px 4px 0 rgba(3, 195, 236, 0.4);
+}
+
+.progress-bar.bg-warning {
+ box-shadow: 0 2px 4px 0 rgba(255, 171, 0, 0.4);
+}
+
+.progress-bar.bg-danger {
+ box-shadow: 0 2px 4px 0 rgba(255, 62, 29, 0.4);
+}
+
+.progress-bar.bg-light {
+ box-shadow: 0 2px 4px 0 rgba(252, 253, 253, 0.4);
+}
+
+.progress-bar.bg-dark {
+ box-shadow: 0 2px 4px 0 rgba(35, 52, 70, 0.4);
+}
+
+.progress-bar.bg-gray {
+ box-shadow: 0 2px 4px 0 rgba(67, 89, 113, 0.4);
+}
+
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.07) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.07) 50%, rgba(255, 255, 255, 0.07) 75%, transparent 75%, transparent);
+}
+
+.progress .progress-bar:last-child {
+ border-top-right-radius: 10rem;
+ border-bottom-right-radius: 10rem;
+}
+.progress .progress-bar:first-child {
+ border-top-left-radius: 10rem;
+ border-bottom-left-radius: 10rem;
+}
+
+.breadcrumb-item,
+.breadcrumb-item a {
+ color: #697a8d;
+}
+.breadcrumb-item:hover, .breadcrumb-item:focus,
+.breadcrumb-item a:hover,
+.breadcrumb-item a:focus {
+ color: #697a8d;
+}
+.breadcrumb-item.active,
+.breadcrumb-item a.active {
+ font-weight: 600;
+}
+.breadcrumb-item.active::before,
+.breadcrumb-item a.active::before {
+ font-weight: 400;
+}
+
+.breadcrumb-item.active a, .breadcrumb-item.active a:hover, .breadcrumb-item.active a:focus, .breadcrumb-item.active a:active {
+ color: inherit;
+}
+
+.breadcrumb-style1 .breadcrumb-item + .breadcrumb-item::before,
+.breadcrumb-style2 .breadcrumb-item + .breadcrumb-item::before {
+ font-family: boxicons;
+ vertical-align: middle;
+}
+
+.breadcrumb-style1 .breadcrumb-item + .breadcrumb-item::before {
+ content: "\ecb3";
+ font-size: 1.125rem;
+ line-height: 1.4;
+}
+
+.breadcrumb-style2 .breadcrumb-item + .breadcrumb-item::before {
+ content: "\ee4a";
+ font-size: 1rem;
+ line-height: 1.35rem;
+}
+
+.list-group-item-secondary {
+ background-color: #e7e9ed;
+ color: #8592a3 !important;
+}
+
+a.list-group-item-secondary,
+button.list-group-item-secondary {
+ color: #8592a3;
+}
+a.list-group-item-secondary:hover, a.list-group-item-secondary:focus,
+button.list-group-item-secondary:hover,
+button.list-group-item-secondary:focus {
+ background-color: #dbdde1;
+ color: #8592a3;
+}
+a.list-group-item-secondary.active,
+button.list-group-item-secondary.active {
+ border-color: #8592a3;
+ background-color: #8592a3;
+ color: #8592a3;
+}
+
+.list-group-item-success {
+ background-color: #e3f8d7;
+ color: #71dd37 !important;
+}
+
+a.list-group-item-success,
+button.list-group-item-success {
+ color: #71dd37;
+}
+a.list-group-item-success:hover, a.list-group-item-success:focus,
+button.list-group-item-success:hover,
+button.list-group-item-success:focus {
+ background-color: #d8eccc;
+ color: #71dd37;
+}
+a.list-group-item-success.active,
+button.list-group-item-success.active {
+ border-color: #71dd37;
+ background-color: #71dd37;
+ color: #71dd37;
+}
+
+.list-group-item-info {
+ background-color: #cdf3fb;
+ color: #03c3ec !important;
+}
+
+a.list-group-item-info,
+button.list-group-item-info {
+ color: #03c3ec;
+}
+a.list-group-item-info:hover, a.list-group-item-info:focus,
+button.list-group-item-info:hover,
+button.list-group-item-info:focus {
+ background-color: #c3e7ee;
+ color: #03c3ec;
+}
+a.list-group-item-info.active,
+button.list-group-item-info.active {
+ border-color: #03c3ec;
+ background-color: #03c3ec;
+ color: #03c3ec;
+}
+
+.list-group-item-warning {
+ background-color: #ffeecc;
+ color: #ffab00 !important;
+}
+
+a.list-group-item-warning,
+button.list-group-item-warning {
+ color: #ffab00;
+}
+a.list-group-item-warning:hover, a.list-group-item-warning:focus,
+button.list-group-item-warning:hover,
+button.list-group-item-warning:focus {
+ background-color: #f2e2c2;
+ color: #ffab00;
+}
+a.list-group-item-warning.active,
+button.list-group-item-warning.active {
+ border-color: #ffab00;
+ background-color: #ffab00;
+ color: #ffab00;
+}
+
+.list-group-item-danger {
+ background-color: #ffd8d2;
+ color: #ff3e1d !important;
+}
+
+a.list-group-item-danger,
+button.list-group-item-danger {
+ color: #ff3e1d;
+}
+a.list-group-item-danger:hover, a.list-group-item-danger:focus,
+button.list-group-item-danger:hover,
+button.list-group-item-danger:focus {
+ background-color: #f2cdc8;
+ color: #ff3e1d;
+}
+a.list-group-item-danger.active,
+button.list-group-item-danger.active {
+ border-color: #ff3e1d;
+ background-color: #ff3e1d;
+ color: #ff3e1d;
+}
+
+.list-group-item-dark {
+ background-color: #d3d6da;
+ color: #233446 !important;
+}
+
+a.list-group-item-dark,
+button.list-group-item-dark {
+ color: #233446;
+}
+a.list-group-item-dark:hover, a.list-group-item-dark:focus,
+button.list-group-item-dark:hover,
+button.list-group-item-dark:focus {
+ background-color: #c8cbcf;
+ color: #233446;
+}
+a.list-group-item-dark.active,
+button.list-group-item-dark.active {
+ border-color: #233446;
+ background-color: #233446;
+ color: #233446;
+}
+
+.list-group-item-gray {
+ background-color: rgba(253, 253, 253, 0.82);
+ color: rgba(67, 89, 113, 0.1) !important;
+}
+
+a.list-group-item-gray,
+button.list-group-item-gray {
+ color: rgba(67, 89, 113, 0.1);
+}
+a.list-group-item-gray:hover, a.list-group-item-gray:focus,
+button.list-group-item-gray:hover,
+button.list-group-item-gray:focus {
+ background-color: rgba(235, 235, 235, 0.829);
+ color: rgba(67, 89, 113, 0.1);
+}
+a.list-group-item-gray.active,
+button.list-group-item-gray.active {
+ border-color: rgba(67, 89, 113, 0.1);
+ background-color: rgba(67, 89, 113, 0.1);
+ color: rgba(67, 89, 113, 0.1);
+}
+
+.list-group.list-group-timeline {
+ position: relative;
+}
+.list-group.list-group-timeline:before {
+ background-color: #d9dee3;
+ position: absolute;
+ content: "";
+ width: 1px;
+ height: 100%;
+ top: 0;
+ bottom: 0;
+ left: 0.2rem;
+}
+.list-group.list-group-timeline .list-group-item {
+ border: none;
+ padding-left: 1.25rem;
+}
+.list-group.list-group-timeline .list-group-item:before {
+ position: absolute;
+ display: block;
+ content: "";
+ width: 7px;
+ height: 7px;
+ left: 0;
+ top: 50%;
+ margin-top: -3.5px;
+ border-radius: 100%;
+}
+.list-group .list-group-item.active h1,
+.list-group .list-group-item.active .h1,
+.list-group .list-group-item.active h2,
+.list-group .list-group-item.active .h2,
+.list-group .list-group-item.active h3,
+.list-group .list-group-item.active .h3,
+.list-group .list-group-item.active h4,
+.list-group .list-group-item.active .h4,
+.list-group .list-group-item.active h5,
+.list-group .list-group-item.active .h5,
+.list-group .list-group-item.active h6,
+.list-group .list-group-item.active .h6 {
+ color: #fff;
+}
+
+.navbar {
+ z-index: 2;
+}
+.navbar .dropdown:focus,
+.navbar .dropdown-toggle:focus {
+ outline: 0;
+}
+.navbar .navbar-toggler {
+ border: none;
+}
+.navbar .navbar-toggler:focus {
+ box-shadow: none;
+}
+
+.fixed-top {
+ z-index: 1030;
+}
+
+.navbar.navbar-light {
+ color: rgba(67, 89, 113, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(67, 89, 113, 0.3) !important;
+}
+
+.navbar.navbar-dark {
+ color: rgba(255, 255, 255, 0.8);
+}
+
+.navbar-dark .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.4) !important;
+}
+
+.navbar-collapse,
+.navbar-brand,
+.navbar-text {
+ flex-shrink: 1;
+}
+
+.navbar-dark hr {
+ border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-light hr {
+ border-color: rgba(67, 89, 113, 0.1);
+}
+
+.card {
+ background-clip: padding-box;
+ box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.12);
+}
+.card .card-link {
+ display: inline-block;
+}
+.card .card-header + .card-body,
+.card .card-header + .card-content > .card-body:first-of-type {
+ padding-top: 0;
+}
+
+.card-action.card-fullscreen {
+ display: block;
+ z-index: 9999;
+ position: fixed;
+ width: 100% !important;
+ height: 100% !important;
+ top: 0;
+ right: 0;
+ left: 0;
+ bottom: 0;
+ overflow: auto;
+ border: none;
+ border-radius: 0;
+}
+.card-action .card-alert {
+ position: absolute;
+ width: 100%;
+ z-index: 999;
+}
+.card-action .card-alert .alert {
+ border-bottom-right-radius: 0px;
+ border-bottom-left-radius: 0px;
+}
+.card-action .card-header.collapsed {
+ border-bottom: 0;
+}
+.card-action .card-header {
+ display: flex;
+ line-height: 1.54;
+}
+.card-action .card-header .card-action-title {
+ flex-grow: 1;
+ margin-right: 0.5rem;
+}
+.card-action .card-header .card-action-element {
+ flex-shrink: 0;
+ background-color: inherit;
+ top: 1rem;
+ right: 1.5rem;
+ color: #697a8d;
+}
+.card-action .card-header .card-action-element a {
+ color: #697a8d;
+}
+.card-action .card-header .card-action-element a .collapse-icon::after {
+ margin-top: -0.15rem;
+}
+.card-action .blockUI .sk-fold {
+ margin: 0 auto;
+}
+.card-action .blockUI h5, .card-action .blockUI .h5 {
+ color: #697a8d;
+ margin: 1rem 0 0 0;
+}
+
+.card-header,
+.card-footer {
+ border-color: #d9dee3;
+}
+
+.card hr {
+ color: #d9dee3;
+}
+
+.card .row-bordered > [class*=" col "] .card .row-bordered > [class$=" col"], .card .row-bordered > [class*=" col "]::before, .card .row-bordered > [class*=" col "]::after,
+.card .row-bordered > [class^="col "] .card .row-bordered > [class$=" col"],
+.card .row-bordered > [class^="col "]::before,
+.card .row-bordered > [class^="col "]::after,
+.card .row-bordered > [class*=" col-"] .card .row-bordered > [class$=" col"],
+.card .row-bordered > [class*=" col-"]::before,
+.card .row-bordered > [class*=" col-"]::after,
+.card .row-bordered > [class^=col-] .card .row-bordered > [class$=" col"],
+.card .row-bordered > [class^=col-]::before,
+.card .row-bordered > [class^=col-]::after,
+.card .row-bordered > [class=col] .card .row-bordered > [class$=" col"],
+.card .row-bordered > [class=col]::before,
+.card .row-bordered > [class=col]::after {
+ border-color: #d9dee3;
+}
+
+.card-header.header-elements,
+.card-title.header-elements {
+ display: flex;
+ width: 100%;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.card-header.card-header-elements {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+}
+.card-header .card-header-elements {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.card-header-elements,
+.card-title-elements {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+}
+.card-header-elements + .card-header-elements,
+.card-header-elements > * + *,
+.card-header-elements + .card-title-elements,
+.card-title-elements > * + *,
+.card-title-elements + .card-header-elements,
+.card-title-elements + .card-title-elements {
+ margin-left: 0.25rem;
+}
+
+.card-img-left {
+ border-top-left-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+@media (max-width: 767.98px) {
+ .card-img-left {
+ border-top-left-radius: 0.5rem;
+ border-top-right-radius: 0.5rem;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+}
+
+.card-img-right {
+ border-top-right-radius: 0.5rem;
+ border-bottom-right-radius: 0.5rem;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+@media (max-width: 767.98px) {
+ .card-img-right {
+ border-bottom-right-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
+
+.card > .list-group .list-group-item {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+}
+
+.card .card-separator {
+ border-right: 1px solid #d9dee3;
+}
+
+@media (max-width: 767.98px) {
+ .card .card-separator {
+ border-bottom: 1px solid #d9dee3;
+ padding-bottom: 1.5rem;
+ border-right-width: 0 !important;
+ }
+}
+.accordion-header + .accordion-collapse .accordion-body {
+ padding-top: 0;
+}
+
+.accordion.accordion-without-arrow .accordion-button::after {
+ background-image: none !important;
+}
+.accordion .accordion-item.active {
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+}
+
+.card.accordion-item {
+ box-shadow: 0 0.125rem 0.25rem rgba(161, 172, 184, 0.4);
+}
+
+.accordion-button.collapsed:focus {
+ box-shadow: none;
+}
+
+.accordion-button {
+ box-shadow: none;
+}
+
+.accordion-header {
+ line-height: 1.54;
+}
+
+.accordion-item:not(:first-of-type) {
+ border-top: 0 solid #d9dee3;
+}
+
+.accordion-button {
+ font-weight: inherit;
+ border-top-left-radius: 0.375rem;
+ border-top-right-radius: 0.375rem;
+}
+.accordion-button.collapsed {
+ border-radius: 0.375rem;
+}
+
+.accordion > .card:not(:last-of-type) {
+ border-radius: 0.375rem !important;
+ margin-bottom: 0.6875rem;
+}
+
+.close:focus {
+ outline: 0;
+}
+
+.bg-secondary.toast, .bg-secondary.bs-toast {
+ color: #fff;
+ background-color: rgba(133, 146, 163, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(133, 146, 163, 0.4);
+}
+.bg-secondary.toast .toast-header, .bg-secondary.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-secondary.toast .toast-header .btn-close, .bg-secondary.bs-toast .toast-header .btn-close {
+ background-color: #8592a3 !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(133, 146, 163, 0.4) !important;
+}
+
+.bg-success.toast, .bg-success.bs-toast {
+ color: #fff;
+ background-color: rgba(113, 221, 55, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(113, 221, 55, 0.4);
+}
+.bg-success.toast .toast-header, .bg-success.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-success.toast .toast-header .btn-close, .bg-success.bs-toast .toast-header .btn-close {
+ background-color: #71dd37 !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(113, 221, 55, 0.4) !important;
+}
+
+.bg-info.toast, .bg-info.bs-toast {
+ color: #fff;
+ background-color: rgba(3, 195, 236, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(3, 195, 236, 0.4);
+}
+.bg-info.toast .toast-header, .bg-info.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-info.toast .toast-header .btn-close, .bg-info.bs-toast .toast-header .btn-close {
+ background-color: #03c3ec !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(3, 195, 236, 0.4) !important;
+}
+
+.bg-warning.toast, .bg-warning.bs-toast {
+ color: #fff;
+ background-color: rgba(255, 171, 0, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(255, 171, 0, 0.4);
+}
+.bg-warning.toast .toast-header, .bg-warning.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-warning.toast .toast-header .btn-close, .bg-warning.bs-toast .toast-header .btn-close {
+ background-color: #ffab00 !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(255, 171, 0, 0.4) !important;
+}
+
+.bg-danger.toast, .bg-danger.bs-toast {
+ color: #fff;
+ background-color: rgba(255, 62, 29, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(255, 62, 29, 0.4);
+}
+.bg-danger.toast .toast-header, .bg-danger.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-danger.toast .toast-header .btn-close, .bg-danger.bs-toast .toast-header .btn-close {
+ background-color: #ff3e1d !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(255, 62, 29, 0.4) !important;
+}
+
+.bg-light.toast, .bg-light.bs-toast {
+ color: #fff;
+ background-color: rgba(252, 253, 253, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(252, 253, 253, 0.4);
+}
+.bg-light.toast .toast-header, .bg-light.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-light.toast .toast-header .btn-close, .bg-light.bs-toast .toast-header .btn-close {
+ background-color: #fcfdfd !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(252, 253, 253, 0.4) !important;
+}
+
+.bg-dark.toast, .bg-dark.bs-toast {
+ color: #fff;
+ background-color: rgba(35, 52, 70, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(35, 52, 70, 0.4);
+}
+.bg-dark.toast .toast-header, .bg-dark.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-dark.toast .toast-header .btn-close, .bg-dark.bs-toast .toast-header .btn-close {
+ background-color: #233446 !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(35, 52, 70, 0.4) !important;
+}
+
+.bg-gray.toast, .bg-gray.bs-toast {
+ color: #fff;
+ background-color: rgba(67, 89, 113, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(67, 89, 113, 0.4);
+}
+.bg-gray.toast .toast-header, .bg-gray.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-gray.toast .toast-header .btn-close, .bg-gray.bs-toast .toast-header .btn-close {
+ background-color: rgba(67, 89, 113, 0.1) !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(67, 89, 113, 0.4) !important;
+}
+
+.bs-toast[class^=bg-],
+.bs-toast[class*=" bg-"] {
+ border: none;
+}
+
+.toast.bs-toast {
+ background-color: rgba(255, 255, 255, 0.85);
+ z-index: 1095;
+}
+.toast.bs-toast .toast-header {
+ padding-bottom: 0.5rem;
+ position: relative;
+}
+.toast.bs-toast .toast-header .btn-close {
+ position: absolute;
+ top: -8px;
+ border-radius: 0.375rem;
+ padding: 0.45rem;
+ background-size: 0.625em;
+ transition: all 0.23s ease 0.1s;
+ background-color: #fff;
+ box-shadow: 0 0.125rem 0.25rem rgba(161, 172, 184, 0.4);
+ right: 2px;
+}
+.toast.bs-toast .toast-header .btn-close:hover, .toast.bs-toast .toast-header .btn-close:focus, .toast.bs-toast .toast-header .btn-close:active {
+ opacity: 1;
+ outline: none;
+}
+.toast.bs-toast .toast-header ~ .toast-body {
+ padding-top: 0;
+}
+
+.toast-ex {
+ position: fixed;
+ top: 4.1rem;
+ right: 2.5rem;
+}
+
+.toast-placement-ex {
+ position: fixed;
+}
+
+.carousel .carousel-item.active h1,
+.carousel .carousel-item.active .h1,
+.carousel .carousel-item.active h2,
+.carousel .carousel-item.active .h2,
+.carousel .carousel-item.active h3,
+.carousel .carousel-item.active .h3,
+.carousel .carousel-item.active h4,
+.carousel .carousel-item.active .h4,
+.carousel .carousel-item.active h5,
+.carousel .carousel-item.active .h5,
+.carousel .carousel-item.active h6,
+.carousel .carousel-item.active .h6,
+.carousel .carousel-item.carousel-item-start h1,
+.carousel .carousel-item.carousel-item-start .h1,
+.carousel .carousel-item.carousel-item-start h2,
+.carousel .carousel-item.carousel-item-start .h2,
+.carousel .carousel-item.carousel-item-start h3,
+.carousel .carousel-item.carousel-item-start .h3,
+.carousel .carousel-item.carousel-item-start h4,
+.carousel .carousel-item.carousel-item-start .h4,
+.carousel .carousel-item.carousel-item-start h5,
+.carousel .carousel-item.carousel-item-start .h5,
+.carousel .carousel-item.carousel-item-start h6,
+.carousel .carousel-item.carousel-item-start .h6 {
+ color: #fff;
+}
+
+.carousel.carousel-dark .carousel-item.active h1,
+.carousel.carousel-dark .carousel-item.active .h1,
+.carousel.carousel-dark .carousel-item.active h2,
+.carousel.carousel-dark .carousel-item.active .h2,
+.carousel.carousel-dark .carousel-item.active h3,
+.carousel.carousel-dark .carousel-item.active .h3,
+.carousel.carousel-dark .carousel-item.active h4,
+.carousel.carousel-dark .carousel-item.active .h4,
+.carousel.carousel-dark .carousel-item.active h5,
+.carousel.carousel-dark .carousel-item.active .h5,
+.carousel.carousel-dark .carousel-item.active h6,
+.carousel.carousel-dark .carousel-item.active .h6,
+.carousel.carousel-dark .carousel-item.carousel-item-start h1,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h1,
+.carousel.carousel-dark .carousel-item.carousel-item-start h2,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h2,
+.carousel.carousel-dark .carousel-item.carousel-item-start h3,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h3,
+.carousel.carousel-dark .carousel-item.carousel-item-start h4,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h4,
+.carousel.carousel-dark .carousel-item.carousel-item-start h5,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h5,
+.carousel.carousel-dark .carousel-item.carousel-item-start h6,
+.carousel.carousel-dark .carousel-item.carousel-item-start .h6 {
+ color: #435971;
+}
+
+.spinner-border-lg {
+ width: 3rem;
+ height: 3rem;
+ border-width: 0.3em;
+}
+
+.spinner-grow-lg {
+ width: 3rem;
+ height: 3rem;
+ border-width: 0.3em;
+}
+
+@-webkit-keyframes spinner-border-rtl {
+ to {
+ transform: rotate(-360deg);
+ }
+}
+@keyframes spinner-border-rtl {
+ to {
+ transform: rotate(-360deg);
+ }
+}
+.offcanvas-header {
+ padding-bottom: 0.75rem;
+}
+
+.offcanvas-body {
+ padding-top: 0.75rem;
+}
+
+.align-baseline {
+ vertical-align: baseline !important;
+}
+
+.align-top {
+ vertical-align: top !important;
+}
+
+.align-middle {
+ vertical-align: middle !important;
+}
+
+.align-bottom {
+ vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+ vertical-align: text-top !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: grid !important;
+}
+
+.d-table {
+ display: table !important;
+}
+
+.d-table-row {
+ display: table-row !important;
+}
+
+.d-table-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: inline-flex !important;
+}
+
+.d-none {
+ display: none !important;
+}
+
+.shadow {
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45) !important;
+}
+
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(161, 172, 184, 0.4) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 0.625rem 1.25rem rgba(161, 172, 184, 0.5) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+
+.top-0 {
+ top: 0 !important;
+}
+
+.top-50 {
+ top: 50% !important;
+}
+
+.top-100 {
+ top: 100% !important;
+}
+
+.bottom-0 {
+ bottom: 0 !important;
+}
+
+.bottom-50 {
+ bottom: 50% !important;
+}
+
+.bottom-100 {
+ bottom: 100% !important;
+}
+
+.zindex-1 {
+ z-index: 1 !important;
+}
+
+.zindex-2 {
+ z-index: 2 !important;
+}
+
+.zindex-3 {
+ z-index: 3 !important;
+}
+
+.zindex-4 {
+ z-index: 4 !important;
+}
+
+.zindex-5 {
+ z-index: 5 !important;
+}
+
+.border {
+ border: 1px solid #d9dee3 !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: 1px solid #d9dee3 !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: 1px solid #d9dee3 !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-primary {
+ border-color: #696cff !important;
+}
+
+.border-secondary {
+ border-color: #8592a3 !important;
+}
+
+.border-success {
+ border-color: #71dd37 !important;
+}
+
+.border-info {
+ border-color: #03c3ec !important;
+}
+
+.border-warning {
+ border-color: #ffab00 !important;
+}
+
+.border-danger {
+ border-color: #ff3e1d !important;
+}
+
+.border-light {
+ border-color: rgba(67, 89, 113, 0.1) !important;
+}
+
+.border-dark {
+ border-color: #233446 !important;
+}
+
+.border-gray {
+ border-color: rgba(67, 89, 113, 0.1) !important;
+}
+
+.border-white {
+ border-color: #fff !important;
+}
+
+.border-transparent {
+ border-color: transparent !important;
+}
+
+.border-1 {
+ border-width: 1px !important;
+}
+
+.border-2 {
+ border-width: 2px !important;
+}
+
+.border-3 {
+ border-width: 3px !important;
+}
+
+.border-4 {
+ border-width: 4px !important;
+}
+
+.border-5 {
+ border-width: 5px !important;
+}
+
+.w-px-20 {
+ width: 20px !important;
+}
+
+.w-px-30 {
+ width: 30px !important;
+}
+
+.w-px-40 {
+ width: 40px !important;
+}
+
+.w-px-50 {
+ width: 50px !important;
+}
+
+.w-px-75 {
+ width: 75px !important;
+}
+
+.w-px-100 {
+ width: 100px !important;
+}
+
+.w-px-150 {
+ width: 150px !important;
+}
+
+.w-px-200 {
+ width: 200px !important;
+}
+
+.w-px-250 {
+ width: 250px !important;
+}
+
+.w-px-300 {
+ width: 300px !important;
+}
+
+.w-px-350 {
+ width: 350px !important;
+}
+
+.w-px-400 {
+ width: 400px !important;
+}
+
+.w-px-500 {
+ width: 500px !important;
+}
+
+.w-px-600 {
+ width: 600px !important;
+}
+
+.w-px-700 {
+ width: 700px !important;
+}
+
+.w-px-800 {
+ width: 800px !important;
+}
+
+.w-auto {
+ width: auto !important;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.vw-100 {
+ width: 100vw !important;
+}
+
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+
+.h-px-20 {
+ height: 20px !important;
+}
+
+.h-px-30 {
+ height: 30px !important;
+}
+
+.h-px-40 {
+ height: 40px !important;
+}
+
+.h-px-50 {
+ height: 50px !important;
+}
+
+.h-px-75 {
+ height: 75px !important;
+}
+
+.h-px-100 {
+ height: 100px !important;
+}
+
+.h-px-150 {
+ height: 150px !important;
+}
+
+.h-px-200 {
+ height: 200px !important;
+}
+
+.h-px-250 {
+ height: 250px !important;
+}
+
+.h-px-300 {
+ height: 300px !important;
+}
+
+.h-px-350 {
+ height: 350px !important;
+}
+
+.h-px-400 {
+ height: 400px !important;
+}
+
+.h-px-500 {
+ height: 500px !important;
+}
+
+.h-px-600 {
+ height: 600px !important;
+}
+
+.h-px-700 {
+ height: 700px !important;
+}
+
+.h-px-800 {
+ height: 800px !important;
+}
+
+.h-auto {
+ height: auto !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.vh-100 {
+ height: 100vh !important;
+}
+
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+
+.flex-fill {
+ flex: 1 1 auto !important;
+}
+
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-column {
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
+.justify-content-start {
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+ justify-content: space-evenly !important;
+}
+
+.align-items-start {
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ align-content: center !important;
+}
+
+.align-content-between {
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ align-self: auto !important;
+}
+
+.align-self-start {
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ align-self: stretch !important;
+}
+
+.order-first {
+ order: -1 !important;
+}
+
+.order-0 {
+ order: 0 !important;
+}
+
+.order-1 {
+ order: 1 !important;
+}
+
+.order-2 {
+ order: 2 !important;
+}
+
+.order-3 {
+ order: 3 !important;
+}
+
+.order-4 {
+ order: 4 !important;
+}
+
+.order-5 {
+ order: 5 !important;
+}
+
+.order-last {
+ order: 6 !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.m-n1 {
+ margin: -0.25rem !important;
+}
+
+.m-n2 {
+ margin: -0.5rem !important;
+}
+
+.m-n3 {
+ margin: -1rem !important;
+}
+
+.m-n4 {
+ margin: -1.5rem !important;
+}
+
+.m-n5 {
+ margin: -3rem !important;
+}
+
+.mx-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+}
+
+.mx-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+}
+
+.mx-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+}
+
+.mx-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+}
+
+.mx-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+}
+
+.my-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+}
+
+.my-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+}
+
+.my-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+}
+
+.my-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+}
+
+.my-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+}
+
+.mt-n1 {
+ margin-top: -0.25rem !important;
+}
+
+.mt-n2 {
+ margin-top: -0.5rem !important;
+}
+
+.mt-n3 {
+ margin-top: -1rem !important;
+}
+
+.mt-n4 {
+ margin-top: -1.5rem !important;
+}
+
+.mt-n5 {
+ margin-top: -3rem !important;
+}
+
+.mb-n1 {
+ margin-bottom: -0.25rem !important;
+}
+
+.mb-n2 {
+ margin-bottom: -0.5rem !important;
+}
+
+.mb-n3 {
+ margin-bottom: -1rem !important;
+}
+
+.mb-n4 {
+ margin-bottom: -1.5rem !important;
+}
+
+.mb-n5 {
+ margin-bottom: -3rem !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+
+.fs-1 {
+ font-size: calc(1.3625rem + 1.35vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.2875rem + 0.45vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.2625rem + 0.15vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.125rem !important;
+}
+
+.fs-6 {
+ font-size: 0.9375rem !important;
+}
+
+.fs-tiny {
+ font-size: 70% !important;
+}
+
+.fs-big {
+ font-size: 112% !important;
+}
+
+.fs-large {
+ font-size: 150% !important;
+}
+
+.fs-xlarge {
+ font-size: 170% !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
+.fw-light {
+ font-weight: 300 !important;
+}
+
+.fw-lighter {
+ font-weight: 100 !important;
+}
+
+.fw-normal {
+ font-weight: 400 !important;
+}
+
+.fw-bold {
+ font-weight: 700 !important;
+}
+
+.fw-semibold {
+ font-weight: 600 !important;
+}
+
+.fw-bolder {
+ font-weight: 900 !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-inherit {
+ line-height: inherit !important;
+}
+
+.lh-sm {
+ line-height: 1.5 !important;
+}
+
+.lh-base {
+ line-height: 1.53 !important;
+}
+
+.lh-lg {
+ line-height: 1.5 !important;
+}
+
+.text-decoration-none {
+ text-decoration: none !important;
+}
+
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
+.text-none {
+ text-transform: none !important;
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.text-wrap {
+ white-space: normal !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.text-primary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-secondary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-success {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-info {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-warning {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-danger {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-light {
+ --bs-text-opacity: 1;
+ color: #b4bdc6 !important;
+}
+
+.text-dark {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-gray {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-gray-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-black {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-white {
+ --bs-text-opacity: 1;
+ color: #fff !important;
+}
+
+.text-body {
+ --bs-text-opacity: 1;
+ color: #697a8d !important;
+}
+
+.text-muted {
+ --bs-text-opacity: 1;
+ color: #a1acb8 !important;
+}
+
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(67, 89, 113, 0.5) !important;
+}
+
+.text-white-50 {
+ --bs-text-opacity: 1;
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-reset {
+ --bs-text-opacity: 1;
+ color: inherit !important;
+}
+
+.bg-primary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-success {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-info {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-warning {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-danger {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-light {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-dark {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-gray {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-gray-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-black {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-white {
+ --bs-bg-opacity: 1;
+ background-color: #fff !important;
+}
+
+.bg-body {
+ --bs-bg-opacity: 1;
+ background-color: #f5f5f9 !important;
+}
+
+.bg-transparent {
+ --bs-bg-opacity: 1;
+ background-color: transparent !important;
+}
+
+.bg-lighter {
+ --bs-bg-opacity: 1;
+ background-color: rgba(67, 89, 113, 0.05) !important;
+}
+
+.bg-lightest {
+ --bs-bg-opacity: 1;
+ background-color: rgba(67, 89, 113, 0.025) !important;
+}
+
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
+.rounded {
+ border-radius: 0.375rem !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-2 {
+ border-radius: 0.375rem !important;
+}
+
+.rounded-3 {
+ border-radius: 0.5rem !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: 50rem !important;
+}
+
+.rounded-top {
+ border-top-left-radius: 0.375rem !important;
+ border-top-right-radius: 0.375rem !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.375rem !important;
+ border-bottom-left-radius: 0.375rem !important;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+
+.cursor-pointer {
+ cursor: pointer !important;
+}
+
+.cursor-move {
+ cursor: move !important;
+}
+
+.cursor-grab {
+ cursor: -webkit-grab !important;
+ cursor: grab !important;
+}
+
+@media (min-width: 576px) {
+ .d-sm-inline {
+ display: inline !important;
+ }
+
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-sm-block {
+ display: block !important;
+ }
+
+ .d-sm-grid {
+ display: grid !important;
+ }
+
+ .d-sm-table {
+ display: table !important;
+ }
+
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-sm-flex {
+ display: flex !important;
+ }
+
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-sm-none {
+ display: none !important;
+ }
+
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-sm-first {
+ order: -1 !important;
+ }
+
+ .order-sm-0 {
+ order: 0 !important;
+ }
+
+ .order-sm-1 {
+ order: 1 !important;
+ }
+
+ .order-sm-2 {
+ order: 2 !important;
+ }
+
+ .order-sm-3 {
+ order: 3 !important;
+ }
+
+ .order-sm-4 {
+ order: 4 !important;
+ }
+
+ .order-sm-5 {
+ order: 5 !important;
+ }
+
+ .order-sm-last {
+ order: 6 !important;
+ }
+
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+
+ .m-sm-auto {
+ margin: auto !important;
+ }
+
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+
+ .m-sm-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-sm-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-sm-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-sm-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-sm-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-sm-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-sm-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-sm-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-sm-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-sm-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-sm-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-sm-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-sm-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-sm-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-sm-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-sm-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-sm-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-sm-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-sm-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-sm-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .mb-sm-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-sm-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-sm-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-sm-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-sm-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+}
+@media (min-width: 768px) {
+ .d-md-inline {
+ display: inline !important;
+ }
+
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-md-block {
+ display: block !important;
+ }
+
+ .d-md-grid {
+ display: grid !important;
+ }
+
+ .d-md-table {
+ display: table !important;
+ }
+
+ .d-md-table-row {
+ display: table-row !important;
+ }
+
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-md-flex {
+ display: flex !important;
+ }
+
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-md-none {
+ display: none !important;
+ }
+
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-md-row {
+ flex-direction: row !important;
+ }
+
+ .flex-md-column {
+ flex-direction: column !important;
+ }
+
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-md-center {
+ align-items: center !important;
+ }
+
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-md-center {
+ align-content: center !important;
+ }
+
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-md-center {
+ align-self: center !important;
+ }
+
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-md-first {
+ order: -1 !important;
+ }
+
+ .order-md-0 {
+ order: 0 !important;
+ }
+
+ .order-md-1 {
+ order: 1 !important;
+ }
+
+ .order-md-2 {
+ order: 2 !important;
+ }
+
+ .order-md-3 {
+ order: 3 !important;
+ }
+
+ .order-md-4 {
+ order: 4 !important;
+ }
+
+ .order-md-5 {
+ order: 5 !important;
+ }
+
+ .order-md-last {
+ order: 6 !important;
+ }
+
+ .m-md-0 {
+ margin: 0 !important;
+ }
+
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+
+ .m-md-auto {
+ margin: auto !important;
+ }
+
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+
+ .m-md-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-md-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-md-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-md-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-md-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-md-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-md-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-md-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-md-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-md-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-md-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-md-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-md-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-md-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-md-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-md-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-md-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-md-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-md-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-md-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .mb-md-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-md-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-md-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-md-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-md-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .p-md-0 {
+ padding: 0 !important;
+ }
+
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+}
+@media (min-width: 992px) {
+ .d-lg-inline {
+ display: inline !important;
+ }
+
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-lg-block {
+ display: block !important;
+ }
+
+ .d-lg-grid {
+ display: grid !important;
+ }
+
+ .d-lg-table {
+ display: table !important;
+ }
+
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-lg-flex {
+ display: flex !important;
+ }
+
+ .d-lg-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-lg-none {
+ display: none !important;
+ }
+
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-lg-row {
+ flex-direction: row !important;
+ }
+
+ .flex-lg-column {
+ flex-direction: column !important;
+ }
+
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-lg-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-lg-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-lg-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-lg-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-lg-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-lg-center {
+ align-items: center !important;
+ }
+
+ .align-items-lg-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-lg-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-lg-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-lg-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-lg-center {
+ align-content: center !important;
+ }
+
+ .align-content-lg-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-lg-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-lg-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-lg-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-lg-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-lg-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-lg-center {
+ align-self: center !important;
+ }
+
+ .align-self-lg-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-lg-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-lg-first {
+ order: -1 !important;
+ }
+
+ .order-lg-0 {
+ order: 0 !important;
+ }
+
+ .order-lg-1 {
+ order: 1 !important;
+ }
+
+ .order-lg-2 {
+ order: 2 !important;
+ }
+
+ .order-lg-3 {
+ order: 3 !important;
+ }
+
+ .order-lg-4 {
+ order: 4 !important;
+ }
+
+ .order-lg-5 {
+ order: 5 !important;
+ }
+
+ .order-lg-last {
+ order: 6 !important;
+ }
+
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+
+ .m-lg-auto {
+ margin: auto !important;
+ }
+
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+
+ .m-lg-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-lg-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-lg-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-lg-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-lg-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-lg-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-lg-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-lg-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-lg-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-lg-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-lg-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-lg-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-lg-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-lg-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-lg-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-lg-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-lg-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-lg-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-lg-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-lg-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .mb-lg-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-lg-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-lg-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-lg-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-lg-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+}
+@media (min-width: 1200px) {
+ .d-xl-inline {
+ display: inline !important;
+ }
+
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-xl-block {
+ display: block !important;
+ }
+
+ .d-xl-grid {
+ display: grid !important;
+ }
+
+ .d-xl-table {
+ display: table !important;
+ }
+
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-xl-flex {
+ display: flex !important;
+ }
+
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-xl-none {
+ display: none !important;
+ }
+
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-xl-first {
+ order: -1 !important;
+ }
+
+ .order-xl-0 {
+ order: 0 !important;
+ }
+
+ .order-xl-1 {
+ order: 1 !important;
+ }
+
+ .order-xl-2 {
+ order: 2 !important;
+ }
+
+ .order-xl-3 {
+ order: 3 !important;
+ }
+
+ .order-xl-4 {
+ order: 4 !important;
+ }
+
+ .order-xl-5 {
+ order: 5 !important;
+ }
+
+ .order-xl-last {
+ order: 6 !important;
+ }
+
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+
+ .m-xl-auto {
+ margin: auto !important;
+ }
+
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+
+ .m-xl-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-xl-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-xl-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-xl-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-xl-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-xl-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-xl-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-xl-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-xl-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-xl-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-xl-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-xl-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-xl-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-xl-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-xl-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-xl-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-xl-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-xl-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-xl-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-xl-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .mb-xl-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-xl-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-xl-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-xl-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-xl-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+}
+@media (min-width: 1400px) {
+ .d-xxl-inline {
+ display: inline !important;
+ }
+
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-xxl-block {
+ display: block !important;
+ }
+
+ .d-xxl-grid {
+ display: grid !important;
+ }
+
+ .d-xxl-table {
+ display: table !important;
+ }
+
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-xxl-flex {
+ display: flex !important;
+ }
+
+ .d-xxl-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-xxl-none {
+ display: none !important;
+ }
+
+ .flex-xxl-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-xxl-row {
+ flex-direction: row !important;
+ }
+
+ .flex-xxl-column {
+ flex-direction: column !important;
+ }
+
+ .flex-xxl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-xxl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-xxl-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-xxl-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-xxl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-xxl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-xxl-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-xxl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-xxl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-xxl-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-xxl-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-xxl-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-xxl-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-xxl-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-xxl-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-xxl-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-xxl-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-xxl-center {
+ align-items: center !important;
+ }
+
+ .align-items-xxl-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-xxl-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-xxl-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-xxl-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-xxl-center {
+ align-content: center !important;
+ }
+
+ .align-content-xxl-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-xxl-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-xxl-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-xxl-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-xxl-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-xxl-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-xxl-center {
+ align-self: center !important;
+ }
+
+ .align-self-xxl-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-xxl-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-xxl-first {
+ order: -1 !important;
+ }
+
+ .order-xxl-0 {
+ order: 0 !important;
+ }
+
+ .order-xxl-1 {
+ order: 1 !important;
+ }
+
+ .order-xxl-2 {
+ order: 2 !important;
+ }
+
+ .order-xxl-3 {
+ order: 3 !important;
+ }
+
+ .order-xxl-4 {
+ order: 4 !important;
+ }
+
+ .order-xxl-5 {
+ order: 5 !important;
+ }
+
+ .order-xxl-last {
+ order: 6 !important;
+ }
+
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+
+ .m-xxl-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-xxl-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-xxl-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-xxl-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-xxl-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-xxl-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-xxl-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-xxl-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-xxl-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-xxl-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-xxl-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-xxl-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-xxl-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-xxl-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-xxl-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-xxl-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-xxl-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-xxl-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-xxl-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-xxl-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .mb-xxl-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-xxl-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-xxl-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-xxl-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-xxl-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.375rem !important;
+ }
+
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+
+ .fs-3 {
+ font-size: 1.625rem !important;
+ }
+
+ .fs-4 {
+ font-size: 1.375rem !important;
+ }
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-print-block {
+ display: block !important;
+ }
+
+ .d-print-grid {
+ display: grid !important;
+ }
+
+ .d-print-table {
+ display: table !important;
+ }
+
+ .d-print-table-row {
+ display: table-row !important;
+ }
+
+ .d-print-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-print-flex {
+ display: flex !important;
+ }
+
+ .d-print-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-print-none {
+ display: none !important;
+ }
+}
+.zindex-1 {
+ z-index: 1 !important;
+}
+
+.zindex-2 {
+ z-index: 2 !important;
+}
+
+.zindex-3 {
+ z-index: 3 !important;
+}
+
+.zindex-4 {
+ z-index: 4 !important;
+}
+
+.zindex-5 {
+ z-index: 5 !important;
+}
+
+.float-start {
+ float: left !important;
+}
+
+.float-end {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+.end-0 {
+ right: 0 !important;
+}
+
+.end-50 {
+ right: 50% !important;
+}
+
+.end-100 {
+ right: 100% !important;
+}
+
+.start-0 {
+ left: 0 !important;
+}
+
+.start-50 {
+ left: 50% !important;
+}
+
+.start-100 {
+ left: 100% !important;
+}
+
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+ transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+ transform: translateY(-50%) !important;
+}
+
+.border-end {
+ border-right: 1px solid #d9dee3 !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-start {
+ border-left: 1px solid #d9dee3 !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.text-start {
+ text-align: left !important;
+}
+
+.text-end {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.rounded-end {
+ border-top-right-radius: 0.375rem !important;
+ border-bottom-right-radius: 0.375rem !important;
+}
+
+.rounded-start {
+ border-bottom-left-radius: 0.375rem !important;
+ border-top-left-radius: 0.375rem !important;
+}
+
+.rounded-start-top {
+ border-top-left-radius: 0.375rem !important;
+}
+
+.rounded-start-bottom {
+ border-bottom-left-radius: 0.375rem !important;
+}
+
+.rounded-end-top {
+ border-top-right-radius: 0.375rem !important;
+}
+
+.rounded-end-bottom {
+ border-bottom-right-radius: 0.375rem !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+.me-n1 {
+ margin-right: -0.25rem !important;
+}
+
+.me-n2 {
+ margin-right: -0.5rem !important;
+}
+
+.me-n3 {
+ margin-right: -1rem !important;
+}
+
+.me-n4 {
+ margin-right: -1.5rem !important;
+}
+
+.me-n5 {
+ margin-right: -3rem !important;
+}
+
+.ms-n1 {
+ margin-left: -0.25rem !important;
+}
+
+.ms-n2 {
+ margin-left: -0.5rem !important;
+}
+
+.ms-n3 {
+ margin-left: -1rem !important;
+}
+
+.ms-n4 {
+ margin-left: -1.5rem !important;
+}
+
+.ms-n5 {
+ margin-left: -3rem !important;
+}
+
+.pe-0 {
+ padding-right: 0 !important;
+}
+
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+ padding-right: 1rem !important;
+}
+
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+ padding-right: 3rem !important;
+}
+
+.ps-0 {
+ padding-left: 0 !important;
+}
+
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 3rem !important;
+}
+
+.rotate-0 {
+ transform: rotate(0deg) !important;
+}
+
+.rotate-90 {
+ transform: rotate(90deg) !important;
+}
+
+.rotate-180 {
+ transform: rotate(180deg) !important;
+}
+
+.rotate-270 {
+ transform: rotate(270deg) !important;
+}
+
+.rotate-n90 {
+ transform: rotate(-90deg) !important;
+}
+
+.rotate-n180 {
+ transform: rotate(-180deg) !important;
+}
+
+.rotate-n270 {
+ transform: rotate(-270deg) !important;
+}
+
+.scaleX-n1 {
+ transform: scaleX(-1) !important;
+}
+
+.scaleY-n1 {
+ transform: scaleY(-1) !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+
+ .float-sm-end {
+ float: right !important;
+ }
+
+ .float-sm-none {
+ float: none !important;
+ }
+
+ .text-sm-start {
+ text-align: left !important;
+ }
+
+ .text-sm-end {
+ text-align: right !important;
+ }
+
+ .text-sm-center {
+ text-align: center !important;
+ }
+
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+
+ .me-sm-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-sm-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-sm-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-sm-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-sm-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .ms-sm-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-sm-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-sm-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-sm-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-sm-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+}
+@media (min-width: 768px) {
+ .float-md-start {
+ float: left !important;
+ }
+
+ .float-md-end {
+ float: right !important;
+ }
+
+ .float-md-none {
+ float: none !important;
+ }
+
+ .text-md-start {
+ text-align: left !important;
+ }
+
+ .text-md-end {
+ text-align: right !important;
+ }
+
+ .text-md-center {
+ text-align: center !important;
+ }
+
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+
+ .me-md-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-md-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-md-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-md-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-md-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .ms-md-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-md-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-md-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-md-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-md-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+}
+@media (min-width: 992px) {
+ .float-lg-start {
+ float: left !important;
+ }
+
+ .float-lg-end {
+ float: right !important;
+ }
+
+ .float-lg-none {
+ float: none !important;
+ }
+
+ .text-lg-start {
+ text-align: left !important;
+ }
+
+ .text-lg-end {
+ text-align: right !important;
+ }
+
+ .text-lg-center {
+ text-align: center !important;
+ }
+
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+
+ .me-lg-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-lg-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-lg-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-lg-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-lg-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .ms-lg-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-lg-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-lg-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-lg-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-lg-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+}
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
+ }
+
+ .float-xl-end {
+ float: right !important;
+ }
+
+ .float-xl-none {
+ float: none !important;
+ }
+
+ .text-xl-start {
+ text-align: left !important;
+ }
+
+ .text-xl-end {
+ text-align: right !important;
+ }
+
+ .text-xl-center {
+ text-align: center !important;
+ }
+
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+
+ .me-xl-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-xl-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-xl-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-xl-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-xl-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .ms-xl-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-xl-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-xl-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-xl-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-xl-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+}
+@media (min-width: 1400px) {
+ .float-xxl-start {
+ float: left !important;
+ }
+
+ .float-xxl-end {
+ float: right !important;
+ }
+
+ .float-xxl-none {
+ float: none !important;
+ }
+
+ .text-xxl-start {
+ text-align: left !important;
+ }
+
+ .text-xxl-end {
+ text-align: right !important;
+ }
+
+ .text-xxl-center {
+ text-align: center !important;
+ }
+
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+
+ .me-xxl-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-xxl-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-xxl-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-xxl-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-xxl-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .ms-xxl-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-xxl-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-xxl-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-xxl-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-xxl-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+}
+body {
+ text-rendering: optimizeLegibility;
+ font-smoothing: antialiased;
+ -moz-font-feature-settings: "liga" on;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+@media (min-width: 768px) {
+ button.list-group-item {
+ outline: none;
+ }
+}
+.app-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(67, 89, 113, 0.5);
+ visibility: hidden;
+ z-index: 3;
+ transition: all 0.25s ease;
+}
+.app-overlay.show {
+ visibility: visible;
+}
+
+.container,
+.container-fluid,
+.container-sm,
+.container-md,
+.container-lg,
+.container-xl,
+.container-xxl {
+ padding-right: 1rem;
+ padding-left: 1rem;
+}
+@media (min-width: 992px) {
+ .container,
+.container-fluid,
+.container-sm,
+.container-md,
+.container-lg,
+.container-xl,
+.container-xxl {
+ padding-right: 1.625rem;
+ padding-left: 1.625rem;
+ }
+}
+
+.img-thumbnail {
+ position: relative;
+ display: block;
+}
+.img-thumbnail img {
+ z-index: 1;
+}
+
+.img-thumbnail-content {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ z-index: 3;
+ display: block;
+ opacity: 0;
+ transition: all 0.2s ease-in-out;
+ transform: translate(-50%, -50%);
+}
+.img-thumbnail:hover .img-thumbnail-content, .img-thumbnail:focus .img-thumbnail-content {
+ opacity: 1;
+}
+
+.img-thumbnail-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: block;
+ transition: all 0.2s ease-in-out;
+}
+.img-thumbnail:not(:hover):not(:focus) .img-thumbnail-overlay {
+ opacity: 0 !important;
+}
+
+.img-thumbnail-shadow {
+ transition: box-shadow 0.2s;
+}
+.img-thumbnail-shadow:hover, .img-thumbnail-shadow:focus {
+ box-shadow: 0 5px 20px rgba(67, 89, 113, 0.4);
+}
+
+.img-thumbnail-zoom-in {
+ overflow: hidden;
+}
+.img-thumbnail-zoom-in img {
+ transition: all 0.3s ease-in-out;
+ transform: translate3d(0);
+}
+.img-thumbnail-zoom-in .img-thumbnail-content {
+ transform: translate(-50%, -50%) scale(0.6);
+}
+.img-thumbnail-zoom-in:hover img, .img-thumbnail-zoom-in:focus img {
+ transform: scale(1.1);
+}
+.img-thumbnail-zoom-in:hover .img-thumbnail-content, .img-thumbnail-zoom-in:focus .img-thumbnail-content {
+ transform: translate(-50%, -50%) scale(1);
+}
+
+@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
+ .card,
+.card-body,
+.media,
+.flex-column,
+.tab-content {
+ min-height: 1px;
+ }
+
+ img {
+ min-height: 1px;
+ height: auto;
+ }
+}
+.buy-now .btn-buy-now {
+ position: fixed;
+ bottom: 3rem;
+ right: 1.625rem;
+ z-index: 999999;
+ box-shadow: 0 1px 20px 1px #ff3e1d;
+}
+.buy-now .btn-buy-now:hover {
+ box-shadow: none;
+}
+
+.ui-square,
+.ui-rect,
+.ui-rect-30,
+.ui-rect-60,
+.ui-rect-67,
+.ui-rect-75 {
+ position: relative !important;
+ display: block !important;
+ padding-top: 100% !important;
+ width: 100% !important;
+}
+
+.ui-square {
+ padding-top: 100% !important;
+}
+
+.ui-rect {
+ padding-top: 50% !important;
+}
+
+.ui-rect-30 {
+ padding-top: 30% !important;
+}
+
+.ui-rect-60 {
+ padding-top: 60% !important;
+}
+
+.ui-rect-67 {
+ padding-top: 67% !important;
+}
+
+.ui-rect-75 {
+ padding-top: 75% !important;
+}
+
+.ui-square-content,
+.ui-rect-content {
+ position: absolute !important;
+ top: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ left: 0 !important;
+}
+
+.text-strike-through {
+ text-decoration: line-through;
+}
+
+.line-clamp-1 {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+}
+
+.line-clamp-2 {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.line-clamp-3 {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+}
+
+.ui-stars,
+.ui-star,
+.ui-star > * {
+ height: 1.1em;
+ -webkit-user-drag: none;
+ -khtml-user-drag: none;
+ -moz-user-drag: none;
+ -o-user-drag: none;
+ user-drag: none;
+}
+
+.ui-stars {
+ display: inline-block;
+ vertical-align: middle;
+ white-space: nowrap;
+}
+
+.ui-star {
+ position: relative;
+ display: block;
+ float: left;
+ width: 1.1em;
+ height: 1.1em;
+ text-decoration: none !important;
+ font-size: 1.1em;
+ line-height: 1;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+.ui-star + .ui-star {
+ margin-left: -0.1em;
+}
+.ui-star > *,
+.ui-star > *::before,
+.ui-star > *::after {
+ position: absolute;
+ left: 0.55em;
+ height: 100%;
+ font-size: 1em;
+ line-height: 1;
+ transform: translateX(-50%);
+}
+.ui-star > * {
+ top: 0;
+ width: 100%;
+ text-align: center;
+}
+.ui-star > *:first-child {
+ z-index: 10;
+ display: none;
+ overflow: hidden;
+ color: #ffab00;
+}
+.ui-star > *:last-child {
+ z-index: 5;
+ display: block;
+}
+.ui-star.half-filled > *:first-child {
+ width: 50%;
+ transform: translateX(-100%);
+}
+.ui-star.filled > *:first-child, .ui-star.half-filled > *:first-child {
+ display: block;
+}
+.ui-star.filled > *:last-child {
+ display: none;
+}
+
+.ui-stars.hoverable .ui-star > *:first-child {
+ display: block;
+}
+
+.ui-stars.hoverable .ui-star:first-child:not(.filled) > *:first-child,
+.ui-stars.hoverable .ui-star:first-child:not(.filled) ~ .ui-star > *:first-child,
+.ui-stars.hoverable .ui-star:first-child:not(.half-filled) > *:first-child,
+.ui-stars.hoverable .ui-star:first-child:not(.half-filled) ~ .ui-star > *:first-child {
+ display: none;
+}
+
+.ui-stars.hoverable .ui-star.filled > *:first-child,
+.ui-stars.hoverable .ui-star.half-filled > *:first-child {
+ display: block !important;
+}
+
+.ui-stars.hoverable:hover .ui-star > *:first-child {
+ display: block !important;
+ width: 100% !important;
+ transform: translateX(-50%) !important;
+}
+
+.ui-stars.hoverable .ui-star:hover ~ .ui-star > *:first-child {
+ display: none !important;
+}
+.ui-stars.hoverable .ui-star:hover ~ .ui-star > *:last-child {
+ display: block !important;
+}
+
+.ui-bg-cover {
+ background-color: rgba(0, 0, 0, 0);
+ background-position: center center;
+ background-size: cover;
+}
+
+.ui-bg-overlay-container,
+.ui-bg-video-container {
+ position: relative;
+}
+.ui-bg-overlay-container > *,
+.ui-bg-video-container > * {
+ position: relative;
+}
+
+.ui-bg-overlay-container .ui-bg-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: block;
+}
+
+.light-style .ui-bordered {
+ border: 1px solid #d9dee3;
+}
+.light-style .ui-star > *:last-child {
+ color: rgba(67, 89, 113, 0.2);
+}
+
+.menu {
+ display: flex;
+}
+.menu .app-brand {
+ width: 100%;
+}
+.menu .ps__thumb-y,
+.menu .ps__rail-y {
+ width: 0.125rem !important;
+}
+.menu .ps__rail-y {
+ right: 0.25rem !important;
+ left: auto !important;
+ background: none !important;
+}
+.menu .ps__rail-y:hover,
+.menu .ps__rail-y:focus,
+.menu .ps__rail-y.ps--clicking,
+.menu .ps__rail-y:hover > .ps__thumb-y,
+.menu .ps__rail-y:focus > .ps__thumb-y,
+.menu .ps__rail-y.ps--clicking > .ps__thumb-y {
+ width: 0.375rem !important;
+}
+
+.menu-inner {
+ display: flex;
+ align-items: flex-start;
+ justify-content: flex-start;
+ margin: 0;
+ padding: 0;
+ height: 100%;
+}
+
+.menu-inner-shadow {
+ display: none;
+ position: absolute;
+ top: 4.225rem;
+ height: 3rem;
+ width: 100%;
+ pointer-events: none;
+ z-index: 2;
+}
+html:not(.layout-menu-fixed) .menu-inner-shadow {
+ display: none !important;
+}
+
+.menu-item {
+ align-items: flex-start;
+ justify-content: flex-start;
+}
+.menu-item.menu-item-animating {
+ transition: height 0.3s ease-in-out;
+}
+
+.menu-item,
+.menu-header,
+.menu-divider,
+.menu-block {
+ flex: 0 0 auto;
+ flex-direction: column;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.menu-header {
+ opacity: 1;
+ transition: opacity 0.3s ease-in-out;
+}
+
+.menu-icon {
+ flex-grow: 0;
+ flex-shrink: 0;
+ margin-right: 0.5rem;
+ font-size: 1.25rem;
+}
+.menu:not(.menu-no-animation) .menu-icon {
+ transition: margin-right 0.3s ease;
+}
+
+.menu-link {
+ position: relative;
+ display: flex;
+ align-items: center;
+ flex: 0 1 auto;
+ margin: 0;
+}
+.menu-item.disabled .menu-link {
+ cursor: not-allowed !important;
+}
+.menu:not(.menu-no-animation) .menu-link {
+ transition-duration: 0.3s;
+ transition-property: color, background-color;
+}
+.menu-link > :not(.menu-icon) {
+ flex: 0 1 auto;
+ opacity: 1;
+}
+.menu:not(.menu-no-animation) .menu-link > :not(.menu-icon) {
+ transition: opacity 0.3s ease-in-out;
+}
+
+.menu-sub {
+ display: none;
+ flex-direction: column;
+ margin: 0;
+ padding: 0;
+}
+.menu:not(.menu-no-animation) .menu-sub {
+ transition: background-color 0.3s;
+}
+.menu-item.open > .menu-sub {
+ display: flex;
+}
+
+.menu-toggle::after {
+ content: "";
+ position: absolute;
+ top: 50%;
+ display: block;
+ width: 0.42em;
+ height: 0.42em;
+ border: 1px solid;
+ border-bottom: 0;
+ border-left: 0;
+ transform: translateY(-50%) rotate(45deg);
+}
+.menu-item.open:not(.menu-item-closing) > .menu-toggle::after {
+ transform: translateY(-50%) rotate(135deg);
+}
+.menu:not(.menu-no-animation) .menu-toggle::after {
+ transition-duration: 0.3s;
+ transition-property: transform;
+}
+
+.menu-divider {
+ width: 100%;
+ border: 0;
+ border-top: 1px solid;
+}
+
+.menu-vertical {
+ flex-direction: column;
+}
+.menu-vertical:not(.menu-no-animation) {
+ transition: width 0.3s;
+}
+.menu-vertical,
+.menu-vertical .menu-block,
+.menu-vertical .menu-inner > .menu-item,
+.menu-vertical .menu-inner > .menu-header {
+ width: 16.25rem;
+}
+.menu-vertical .menu-inner {
+ flex-direction: column;
+ flex: 1 1 auto;
+}
+.menu-vertical .menu-inner > .menu-item {
+ margin: 0.0625rem 0;
+}
+.menu-vertical .menu-inner > .menu-item .menu-link {
+ margin: 0rem 1rem;
+}
+.menu-vertical .menu-item .menu-link,
+.menu-vertical .menu-block {
+ padding: 0.625rem 1rem;
+}
+.menu-vertical .menu-header {
+ margin: 1rem 0 0.5rem 0;
+ padding: 0.625rem 2rem 0.625rem 2rem;
+}
+.menu-vertical .menu-item .menu-link {
+ font-size: 0.9375rem;
+}
+.menu-vertical .menu-item.active:not(.open) > .menu-link {
+ font-weight: 600;
+}
+.menu-vertical .menu-item .menu-toggle {
+ padding-right: calc(1rem + 1.26em);
+}
+.menu-vertical .menu-item .menu-toggle::after {
+ right: 1rem;
+}
+.menu-vertical .menu-divider {
+ margin-top: 0.625rem;
+ margin-bottom: 0.625rem;
+ padding: 0;
+}
+.menu-vertical .menu-sub {
+ padding-top: 0.3125rem;
+ padding-bottom: 0.3125rem;
+}
+.menu-vertical .menu-sub .menu-link {
+ padding-top: 0.625rem;
+ padding-bottom: 0.625rem;
+}
+.menu-vertical .menu-icon {
+ width: 1.5rem;
+}
+.menu-vertical .menu-sub .menu-icon {
+ margin-right: 0;
+}
+@media (max-width: 1199.98px) {
+ .menu-vertical .menu-sub .menu-icon {
+ display: none;
+ }
+}
+.menu-vertical .menu-horizontal-wrapper {
+ flex: none;
+}
+.menu-vertical .menu-sub .menu-link {
+ padding-left: 3rem;
+}
+.menu-vertical .menu-sub .menu-sub .menu-link {
+ padding-left: 3.65rem;
+}
+.menu-vertical .menu-sub .menu-sub .menu-sub .menu-link {
+ padding-left: 4.3rem;
+}
+.menu-vertical .menu-sub .menu-sub .menu-sub .menu-sub .menu-link {
+ padding-left: 4.95rem;
+}
+.menu-vertical .menu-sub .menu-sub .menu-sub .menu-sub .menu-sub .menu-link {
+ padding-left: 5.6rem;
+}
+
+.menu-collapsed:not(:hover) {
+ width: 5.25rem;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item {
+ width: 5.25rem;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-link {
+ padding-left: 1rem;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-header,
+.menu-collapsed:not(:hover) .menu-block {
+ position: relative;
+ margin-left: 1rem;
+ padding-right: 1.5rem;
+ padding-left: 0.5rem;
+ width: 16.25rem;
+ text-indent: -9999px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-header .menu-header-text,
+.menu-collapsed:not(:hover) .menu-block .menu-header-text {
+ overflow: hidden;
+ opacity: 0;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-header::before,
+.menu-collapsed:not(:hover) .menu-block::before {
+ content: "";
+ position: absolute;
+ left: 1.125rem;
+ display: block;
+ width: 1rem;
+ text-align: center;
+ top: 1.1875rem;
+}
+.menu-collapsed:not(:hover) .menu-block::before {
+ bottom: 0.75rem;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item div:not(.menu-block) {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ opacity: 0;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-sub,
+.menu-collapsed:not(:hover) .menu-inner > .menu-item.open > .menu-sub {
+ display: none;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-toggle::after {
+ display: none;
+}
+.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-link .menu-icon {
+ margin-left: -2rem;
+ width: 5.25rem;
+ text-align: center;
+ margin-right: 0;
+}
+
+.layout-container {
+ min-height: 100vh;
+}
+
+.layout-wrapper,
+.layout-container {
+ width: 100%;
+ display: flex;
+ flex: 1 1 auto;
+ align-items: stretch;
+}
+
+.layout-page,
+.content-wrapper,
+.content-wrapper > *,
+.layout-menu {
+ min-height: 1px;
+}
+
+.layout-navbar,
+.content-footer {
+ flex: 0 0 auto;
+}
+
+.layout-page {
+ display: flex;
+ flex: 1 1 auto;
+ align-items: stretch;
+ padding: 0;
+}
+.layout-without-menu .layout-page {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.content-wrapper {
+ display: flex;
+ align-items: stretch;
+ flex: 1 1 auto;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.content-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ width: 100vw;
+ height: 100vh;
+ background-color: #435971;
+}
+.content-backdrop.fade {
+ opacity: 0;
+}
+.content-backdrop.show {
+ opacity: 0.5;
+}
+.layout-menu-fixed .content-backdrop {
+ z-index: 10;
+}
+.content-backdrop.fade {
+ z-index: -1;
+}
+
+.layout-navbar {
+ position: relative;
+ padding-top: 0.25rem;
+ padding-bottom: 0.2rem;
+ height: 3.875rem;
+ flex-wrap: nowrap;
+ color: #697a8d;
+ z-index: 2;
+}
+.layout-navbar .navbar {
+ transform: translate3d(0, 0, 0);
+}
+.layout-navbar .navbar-nav-right {
+ flex-basis: 100%;
+}
+.layout-navbar .navbar-search-wrapper .search-input,
+.layout-navbar .navbar-search-wrapper .input-group-text {
+ background-color: transparent;
+}
+.layout-navbar.navbar-detached {
+ width: calc(100% - (1.625rem * 2));
+ margin: 0.75rem auto 0;
+ border-radius: 0.375rem;
+ padding: 0 1.5rem;
+}
+.layout-navbar.navbar-detached.container-xxl {
+ max-width: calc(1440px - calc(1.625rem * 2));
+}
+.layout-navbar-fixed .layout-navbar.navbar-detached {
+ width: calc(100% - calc(1.625rem * 2) - 16.25rem);
+}
+@media (max-width: 1199.98px) {
+ .layout-navbar-fixed .layout-navbar.navbar-detached {
+ width: calc(100% - (1.625rem * 2)) !important;
+ }
+}
+@media (max-width: 991.98px) {
+ .layout-navbar-fixed .layout-navbar.navbar-detached {
+ width: calc(100% - (1rem * 2)) !important;
+ }
+}
+.layout-navbar-fixed.layout-menu-collapsed .layout-navbar.navbar-detached {
+ width: calc(100% - calc(1.625rem * 2) - 5.25rem);
+}
+@media (max-width: 1199.98px) {
+ .layout-navbar.navbar-detached {
+ width: calc(100vw - (100vw - 100%) - (1.625rem * 2)) !important;
+ }
+}
+@media (max-width: 991.98px) {
+ .layout-navbar.navbar-detached {
+ width: calc(100vw - (100vw - 100%) - (1rem * 2)) !important;
+ }
+}
+.layout-menu-collapsed .layout-navbar.navbar-detached, .layout-without-menu .layout-navbar.navbar-detached {
+ width: calc(100% - (1.625rem * 2));
+}
+.layout-navbar .search-input-wrapper .search-toggler {
+ position: absolute;
+ top: 1.25rem;
+ right: 1rem;
+ z-index: 1;
+}
+.layout-navbar .search-input-wrapper .search-input {
+ height: 100%;
+ box-shadow: none;
+}
+.layout-navbar[class*=bg-]:not(.bg-navbar-theme) .nav-item .input-group-text,
+.layout-navbar[class*=bg-]:not(.bg-navbar-theme) .nav-item .dropdown-toggle {
+ color: #fff;
+}
+@media (max-width: 1199.98px) {
+ .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu {
+ position: absolute;
+ }
+ .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu .last-login {
+ white-space: nowrap;
+ }
+}
+@media (max-width: 767.98px) {
+ .layout-navbar .navbar-nav .nav-item.dropdown {
+ position: static;
+ float: left;
+ }
+ .layout-navbar .navbar-nav .nav-item.dropdown .badge-notifications {
+ top: auto;
+ }
+ .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu {
+ position: absolute;
+ left: 0.9rem;
+ min-width: auto;
+ width: 92%;
+ }
+}
+
+@media (max-width: 1199.98px) {
+ .layout-navbar {
+ z-index: 1080;
+ }
+}
+.layout-menu {
+ position: relative;
+ flex: 1 0 auto;
+}
+.layout-menu .menu {
+ transform: translate3d(0, 0, 0);
+}
+.layout-menu .menu-vertical {
+ height: 100%;
+}
+
+.layout-content-navbar .layout-page {
+ flex-basis: 100%;
+ flex-direction: column;
+ width: 0;
+ min-width: 0;
+ max-width: 100%;
+}
+.layout-content-navbar .content-wrapper {
+ width: 100%;
+}
+
+@media (min-width: 1200px) {
+ .layout-menu-fixed .layout-menu,
+.layout-menu-fixed-offcanvas .layout-menu {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .layout-menu-fixed:not(.layout-menu-collapsed) .layout-page,
+.layout-menu-fixed-offcanvas:not(.layout-menu-collapsed) .layout-page {
+ padding-left: 16.25rem;
+ }
+}
+html:not(.layout-navbar-fixed):not(.layout-menu-fixed):not(.layout-menu-fixed-offcanvas) .layout-page,
+html:not(.layout-navbar-fixed) .layout-content-navbar .layout-page {
+ padding-top: 0 !important;
+}
+
+html:not(.layout-footer-fixed) .content-wrapper {
+ padding-bottom: 0 !important;
+}
+
+@media (max-width: 1199.98px) {
+ .layout-menu-fixed .layout-wrapper.layout-navbar-full .layout-menu,
+.layout-menu-fixed-offcanvas .layout-wrapper.layout-navbar-full .layout-menu {
+ top: 0 !important;
+ }
+
+ html:not(.layout-navbar-fixed) .layout-navbar-full .layout-page {
+ padding-top: 0 !important;
+ }
+}
+.layout-navbar-fixed .layout-navbar {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+}
+
+@media (min-width: 1200px) {
+ .layout-menu-fixed .layout-navbar-full .layout-navbar,
+.layout-menu-fixed-offcanvas .layout-navbar-full .layout-navbar {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ }
+
+ .layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
+.layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
+.layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar {
+ left: 16.25rem;
+ }
+}
+.layout-footer-fixed .content-footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+
+@media (min-width: 1200px) {
+ .layout-footer-fixed:not(.layout-menu-collapsed) .layout-wrapper:not(.layout-without-menu) .content-footer {
+ left: 16.25rem;
+ }
+}
+@media (max-width: 1199.98px) {
+ .layout-menu {
+ position: fixed !important;
+ top: 0 !important;
+ height: 100% !important;
+ left: 0 !important;
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ transform: translate3d(-100%, 0, 0);
+ will-change: transform, -webkit-transform;
+ }
+ .layout-menu-expanded .layout-menu {
+ transform: translate3d(0, 0, 0) !important;
+ }
+
+ .layout-menu-expanded body {
+ overflow: hidden;
+ }
+
+ .layout-overlay {
+ position: fixed;
+ top: 0;
+ right: 0;
+ height: 100% !important;
+ left: 0;
+ display: none;
+ background: #435971;
+ opacity: 0.5;
+ cursor: pointer;
+ }
+ .layout-menu-expanded .layout-overlay {
+ display: block;
+ }
+
+ .layout-menu-100vh .layout-menu,
+.layout-menu-100vh .layout-overlay {
+ height: 100vh !important;
+ }
+}
+.layout-navbar-fixed body:not(.modal-open) .layout-navbar-full .layout-navbar,
+.layout-menu-fixed body:not(.modal-open) .layout-navbar-full .layout-navbar,
+.layout-menu-fixed-offcanvas body:not(.modal-open) .layout-navbar-full .layout-navbar {
+ z-index: 1080;
+}
+.layout-navbar-fixed body:not(.modal-open) .layout-content-navbar .layout-navbar,
+.layout-menu-fixed body:not(.modal-open) .layout-content-navbar .layout-navbar,
+.layout-menu-fixed-offcanvas body:not(.modal-open) .layout-content-navbar .layout-navbar {
+ z-index: 1075;
+}
+
+.layout-footer-fixed .content-footer {
+ z-index: 1030;
+}
+
+@media (max-width: 1199.98px) {
+ .layout-menu {
+ z-index: 1100;
+ }
+
+ .layout-overlay {
+ z-index: 1099;
+ }
+}
+@media (min-width: 1200px) {
+ .layout-navbar-full .layout-navbar {
+ z-index: 10;
+ }
+ .layout-navbar-full .layout-menu {
+ z-index: 9;
+ }
+
+ .layout-content-navbar .layout-navbar {
+ z-index: 9;
+ }
+ .layout-content-navbar .layout-menu {
+ z-index: 10;
+ }
+
+ .layout-menu-fixed body:not(.modal-open) .layout-navbar-full .layout-menu,
+.layout-menu-fixed-offcanvas body:not(.modal-open) .layout-navbar-full .layout-menu {
+ z-index: 1075;
+ }
+
+ .layout-navbar-fixed body:not(.modal-open) .layout-content-navbar .layout-menu,
+.layout-menu-fixed body:not(.modal-open) .layout-content-navbar .layout-menu,
+.layout-menu-fixed-offcanvas body:not(.modal-open) .layout-content-navbar .layout-menu {
+ z-index: 1080;
+ }
+}
+.layout-menu-link-no-transition .layout-menu .menu-link,
+.layout-menu-link-no-transition .layout-menu-horizontal .menu-link {
+ transition: none !important;
+ -webkit-animation: none !important;
+ animation: none !important;
+}
+
+.layout-no-transition .layout-menu, .layout-no-transition .layout-menu .menu, .layout-no-transition .layout-menu .menu-item,
+.layout-no-transition .layout-menu-horizontal,
+.layout-no-transition .layout-menu-horizontal .menu,
+.layout-no-transition .layout-menu-horizontal .menu-item {
+ transition: none !important;
+ -webkit-animation: none !important;
+ animation: none !important;
+}
+
+@media (max-width: 1199.98px) {
+ .layout-transitioning .layout-overlay {
+ -webkit-animation: menuAnimation 0.3s;
+ animation: menuAnimation 0.3s;
+ }
+ .layout-transitioning .layout-menu {
+ transition-duration: 0.3s;
+ transition-property: transform;
+ }
+}
+@media (min-width: 1200px) {
+ .layout-menu-collapsed:not(.layout-transitioning):not(.layout-menu-offcanvas):not(.layout-menu-fixed):not(.layout-menu-fixed-offcanvas) .layout-menu {
+ transition-duration: 0.3s;
+ transition-property: margin-left, margin-right, width;
+ }
+
+ .layout-transitioning.layout-menu-offcanvas .layout-menu {
+ transition-duration: 0.3s;
+ transition-property: margin-left, margin-right, transform;
+ }
+ .layout-transitioning.layout-menu-fixed .layout-page, .layout-transitioning.layout-menu-fixed-offcanvas .layout-page {
+ transition-duration: 0.3s;
+ transition-property: padding-left, padding-right;
+ }
+ .layout-transitioning.layout-menu-fixed .layout-menu {
+ transition: width 0.3s;
+ }
+ .layout-transitioning.layout-menu-fixed-offcanvas .layout-menu {
+ transition-duration: 0.3s;
+ transition-property: transform;
+ }
+ .layout-transitioning.layout-navbar-fixed .layout-content-navbar .layout-navbar, .layout-transitioning.layout-footer-fixed .content-footer {
+ transition-duration: 0.3s;
+ transition-property: left, right;
+ }
+ .layout-transitioning:not(.layout-menu-offcanvas):not(.layout-menu-fixed):not(.layout-menu-fixed-offcanvas) .layout-menu {
+ transition-duration: 0.3s;
+ transition-property: margin-left, margin-right, width;
+ }
+}
+@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
+ .menu,
+.layout-menu,
+.layout-page,
+.layout-navbar,
+.content-footer {
+ transition: none !important;
+ transition-duration: 0s !important;
+ }
+
+ .layout-overlay {
+ -webkit-animation: none !important;
+ animation: none !important;
+ }
+}
+@-webkit-keyframes menuAnimation {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 0.5;
+ }
+}
+@keyframes menuAnimation {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 0.5;
+ }
+}
+.app-brand {
+ display: flex;
+ flex-grow: 0;
+ flex-shrink: 0;
+ overflow: hidden;
+ line-height: 1;
+ min-height: 1px;
+ align-items: center;
+}
+
+.app-brand-link {
+ display: flex;
+ align-items: center;
+}
+
+.app-brand-logo {
+ display: block;
+ flex-grow: 0;
+ flex-shrink: 0;
+ overflow: hidden;
+ min-height: 1px;
+}
+.app-brand-logo img,
+.app-brand-logo svg {
+ display: block;
+}
+
+.app-brand-text {
+ flex-shrink: 0;
+ opacity: 1;
+ transition: opacity 0.15s ease-in-out;
+}
+
+.app-brand-img-collapsed {
+ display: none;
+}
+
+.menu-vertical .app-brand {
+ padding-right: 2rem;
+ padding-left: 2rem;
+}
+
+.menu-horizontal .app-brand,
+.menu-horizontal .app-brand + .menu-divider {
+ display: none !important;
+}
+
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand {
+ width: 5.25rem;
+}
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-logo,
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-link,
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-text {
+ margin-right: auto;
+ margin-left: auto;
+}
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-logo ~ .app-brand-text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ opacity: 0;
+}
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand .layout-menu-toggle {
+ display: none !important;
+}
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-img {
+ display: none;
+}
+:not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) .app-brand-img-collapsed {
+ display: block;
+}
+
+@media (min-width: 1200px) {
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand {
+ width: 5.25rem;
+ }
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-logo,
+.layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-link,
+.layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-text {
+ margin-right: auto;
+ margin-left: auto;
+ }
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-logo ~ .app-brand-text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ opacity: 0;
+ }
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand .layout-menu-toggle {
+ display: none !important;
+ }
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-img {
+ display: none;
+ }
+ .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-img-collapsed {
+ display: block;
+ }
+}
+.avatar {
+ position: relative;
+ width: 2.375rem;
+ height: 2.375rem;
+ cursor: pointer;
+}
+.avatar img {
+ width: 100%;
+ height: 100%;
+}
+.avatar .avatar-initial {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ text-transform: uppercase;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ background-color: #8592a3;
+ font-weight: 700;
+}
+.avatar.avatar-online:after, .avatar.avatar-offline:after, .avatar.avatar-away:after, .avatar.avatar-busy:after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ right: 3px;
+ width: 8px;
+ height: 8px;
+ border-radius: 100%;
+ box-shadow: 0 0 0 2px #fff;
+}
+.avatar.avatar-online:after {
+ background-color: #71dd37;
+}
+.avatar.avatar-offline:after {
+ background-color: #8592a3;
+}
+.avatar.avatar-away:after {
+ background-color: #ffab00;
+}
+.avatar.avatar-busy:after {
+ background-color: #ff3e1d;
+}
+
+.pull-up {
+ transition: all 0.25s ease;
+}
+.pull-up:hover {
+ transform: translateY(-4px) scale(1.02);
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+ z-index: 30;
+ border-radius: 50%;
+}
+
+.avatar-xs {
+ width: 1.625rem;
+ height: 1.625rem;
+}
+.avatar-xs .avatar-initial {
+ font-size: 0.625rem;
+}
+.avatar-xs.avatar-online:after, .avatar-xs.avatar-offline:after, .avatar-xs.avatar-away:after, .avatar-xs.avatar-busy:after {
+ width: 0.325rem;
+ height: 0.325rem;
+ right: 1px;
+}
+
+.avatar-sm {
+ width: 2rem;
+ height: 2rem;
+}
+.avatar-sm .avatar-initial {
+ font-size: 0.75rem;
+}
+.avatar-sm.avatar-online:after, .avatar-sm.avatar-offline:after, .avatar-sm.avatar-away:after, .avatar-sm.avatar-busy:after {
+ width: 0.4rem;
+ height: 0.4rem;
+ right: 2px;
+}
+
+.avatar-md {
+ width: 3rem;
+ height: 3rem;
+}
+.avatar-md .avatar-initial {
+ font-size: 1.125rem;
+}
+.avatar-md.avatar-online:after, .avatar-md.avatar-offline:after, .avatar-md.avatar-away:after, .avatar-md.avatar-busy:after {
+ width: 0.6rem;
+ height: 0.6rem;
+ right: 4px;
+}
+
+.avatar-lg {
+ width: 4rem;
+ height: 4rem;
+}
+.avatar-lg .avatar-initial {
+ font-size: 1.5rem;
+}
+.avatar-lg.avatar-online:after, .avatar-lg.avatar-offline:after, .avatar-lg.avatar-away:after, .avatar-lg.avatar-busy:after {
+ width: 0.8rem;
+ height: 0.8rem;
+ right: 5px;
+}
+
+.avatar-xl {
+ width: 4.5rem;
+ height: 4.5rem;
+}
+.avatar-xl .avatar-initial {
+ font-size: 1.875rem;
+}
+.avatar-xl.avatar-online:after, .avatar-xl.avatar-offline:after, .avatar-xl.avatar-away:after, .avatar-xl.avatar-busy:after {
+ width: 0.9rem;
+ height: 0.9rem;
+ right: 6px;
+}
+
+.avatar-group .avatar {
+ transition: all 0.25s ease;
+}
+.avatar-group .avatar img,
+.avatar-group .avatar .avatar-initial {
+ border: 2px solid #fff;
+}
+.avatar-group .avatar .avatar-initial {
+ background-color: #9da8b5;
+}
+.avatar-group .avatar:hover {
+ z-index: 30;
+ transition: all 0.25s ease;
+}
+.avatar-group .avatar {
+ margin-left: -0.8rem;
+}
+.avatar-group .avatar:first-child {
+ margin-left: 0;
+}
+.avatar-group .avatar-xs {
+ margin-left: -0.65rem;
+}
+.avatar-group .avatar-sm {
+ margin-left: -0.75rem;
+}
+.avatar-group .avatar-md {
+ margin-left: -0.9rem;
+}
+.avatar-group .avatar-lg {
+ margin-left: -1.5rem;
+}
+.avatar-group .avatar-xl {
+ margin-left: -1.75rem;
+}
+
+.divider {
+ display: block;
+ text-align: center;
+ margin: 1rem 0;
+ overflow: hidden;
+ white-space: nowrap;
+}
+.divider .divider-text {
+ position: relative;
+ display: inline-block;
+ font-size: 0.8rem;
+ padding: 0rem 1rem;
+}
+.divider .divider-text i {
+ font-size: 1rem;
+}
+.divider .divider-text:before, .divider .divider-text:after {
+ content: "";
+ position: absolute;
+ top: 50%;
+ width: 100vw;
+ border-top: 1px solid rgba(67, 89, 113, 0.2);
+}
+.divider .divider-text:before {
+ right: 100%;
+}
+.divider .divider-text:after {
+ left: 100%;
+}
+.divider.text-start .divider-text {
+ padding-left: 0;
+}
+.divider.text-end .divider-text {
+ padding-right: 0;
+}
+.divider.text-start-center .divider-text {
+ left: -25%;
+}
+.divider.text-end-center .divider-text {
+ right: -25%;
+}
+.divider.divider-dotted .divider-text:before, .divider.divider-dotted .divider-text:after {
+ border-style: dotted;
+ border-width: 0 1px 1px;
+ border-color: rgba(67, 89, 113, 0.2);
+}
+.divider.divider-dashed .divider-text:before, .divider.divider-dashed .divider-text:after {
+ border-style: dashed;
+ border-width: 0 1px 1px;
+ border-color: rgba(67, 89, 113, 0.2);
+}
+
+.divider.divider.divider-secondary .divider-text:before, .divider.divider.divider-secondary .divider-text:after {
+ border-color: #8592a3;
+}
+
+.divider.divider.divider-success .divider-text:before, .divider.divider.divider-success .divider-text:after {
+ border-color: #71dd37;
+}
+
+.divider.divider.divider-info .divider-text:before, .divider.divider.divider-info .divider-text:after {
+ border-color: #03c3ec;
+}
+
+.divider.divider.divider-warning .divider-text:before, .divider.divider.divider-warning .divider-text:after {
+ border-color: #ffab00;
+}
+
+.divider.divider.divider-danger .divider-text:before, .divider.divider.divider-danger .divider-text:after {
+ border-color: #ff3e1d;
+}
+
+.divider.divider.divider-dark .divider-text:before, .divider.divider.divider-dark .divider-text:after {
+ border-color: #233446;
+}
+
+.divider.divider.divider-gray .divider-text:before, .divider.divider.divider-gray .divider-text:after {
+ border-color: rgba(67, 89, 113, 0.1);
+}
+
+.footer-link {
+ display: inline-block;
+}
+
+.footer-light {
+ color: rgba(67, 89, 113, 0.5);
+}
+.footer-light .footer-text {
+ color: #697a8d;
+}
+.footer-light .footer-link {
+ color: rgba(67, 89, 113, 0.5);
+}
+.footer-light .footer-link:hover, .footer-light .footer-link:focus {
+ color: #697a8d;
+}
+.footer-light .footer-link.disabled {
+ color: rgba(67, 89, 113, 0.3) !important;
+}
+.footer-light .show > .footer-link,
+.footer-light .active > .footer-link,
+.footer-light .footer-link.show,
+.footer-light .footer-link.active {
+ color: #697a8d;
+}
+.footer-light hr {
+ border-color: rgba(0, 0, 0, 0.06);
+}
+
+.navbar.bg-secondary {
+ background-color: #8592a3 !important;
+ color: #eaecef;
+}
+.navbar.bg-secondary .navbar-brand,
+.navbar.bg-secondary .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-secondary .navbar-brand:hover, .navbar.bg-secondary .navbar-brand:focus,
+.navbar.bg-secondary .navbar-brand a:hover,
+.navbar.bg-secondary .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-secondary .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-secondary .navbar-search-wrapper .search-input {
+ color: #eaecef;
+}
+.navbar.bg-secondary .search-input-wrapper .search-input,
+.navbar.bg-secondary .search-input-wrapper .search-toggler {
+ background-color: #8592a3 !important;
+ color: #eaecef;
+}
+.navbar.bg-secondary .navbar-nav > .nav-link,
+.navbar.bg-secondary .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-secondary .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #eaecef;
+}
+.navbar.bg-secondary .navbar-nav > .nav-link:hover, .navbar.bg-secondary .navbar-nav > .nav-link:focus,
+.navbar.bg-secondary .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-secondary .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-secondary .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-secondary .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-secondary .navbar-nav > .nav-link.disabled,
+.navbar.bg-secondary .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-secondary .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #c2c8d1 !important;
+}
+.navbar.bg-secondary .navbar-nav .show > .nav-link,
+.navbar.bg-secondary .navbar-nav .active > .nav-link,
+.navbar.bg-secondary .navbar-nav .nav-link.show,
+.navbar.bg-secondary .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-secondary .navbar-toggler {
+ color: #eaecef;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-secondary .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-secondary .navbar-text {
+ color: #eaecef;
+}
+.navbar.bg-secondary .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-secondary .navbar-text a:hover, .navbar.bg-secondary .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-secondary hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.navbar.bg-success {
+ background-color: #71dd37 !important;
+ color: #ecfae4;
+}
+.navbar.bg-success .navbar-brand,
+.navbar.bg-success .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-success .navbar-brand:hover, .navbar.bg-success .navbar-brand:focus,
+.navbar.bg-success .navbar-brand a:hover,
+.navbar.bg-success .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-success .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-success .navbar-search-wrapper .search-input {
+ color: #ecfae4;
+}
+.navbar.bg-success .search-input-wrapper .search-input,
+.navbar.bg-success .search-input-wrapper .search-toggler {
+ background-color: #71dd37 !important;
+ color: #ecfae4;
+}
+.navbar.bg-success .navbar-nav > .nav-link,
+.navbar.bg-success .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-success .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #ecfae4;
+}
+.navbar.bg-success .navbar-nav > .nav-link:hover, .navbar.bg-success .navbar-nav > .nav-link:focus,
+.navbar.bg-success .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-success .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-success .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-success .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-success .navbar-nav > .nav-link.disabled,
+.navbar.bg-success .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-success .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #bbee9f !important;
+}
+.navbar.bg-success .navbar-nav .show > .nav-link,
+.navbar.bg-success .navbar-nav .active > .nav-link,
+.navbar.bg-success .navbar-nav .nav-link.show,
+.navbar.bg-success .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-success .navbar-toggler {
+ color: #ecfae4;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-success .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-success .navbar-text {
+ color: #ecfae4;
+}
+.navbar.bg-success .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-success .navbar-text a:hover, .navbar.bg-success .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-success hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.navbar.bg-info {
+ background-color: #03c3ec !important;
+ color: #d2f4fc;
+}
+.navbar.bg-info .navbar-brand,
+.navbar.bg-info .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-info .navbar-brand:hover, .navbar.bg-info .navbar-brand:focus,
+.navbar.bg-info .navbar-brand a:hover,
+.navbar.bg-info .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-info .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-info .navbar-search-wrapper .search-input {
+ color: #d2f4fc;
+}
+.navbar.bg-info .search-input-wrapper .search-input,
+.navbar.bg-info .search-input-wrapper .search-toggler {
+ background-color: #03c3ec !important;
+ color: #d2f4fc;
+}
+.navbar.bg-info .navbar-nav > .nav-link,
+.navbar.bg-info .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-info .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #d2f4fc;
+}
+.navbar.bg-info .navbar-nav > .nav-link:hover, .navbar.bg-info .navbar-nav > .nav-link:focus,
+.navbar.bg-info .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-info .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-info .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-info .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-info .navbar-nav > .nav-link.disabled,
+.navbar.bg-info .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-info .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #7fe0f6 !important;
+}
+.navbar.bg-info .navbar-nav .show > .nav-link,
+.navbar.bg-info .navbar-nav .active > .nav-link,
+.navbar.bg-info .navbar-nav .nav-link.show,
+.navbar.bg-info .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-info .navbar-toggler {
+ color: #d2f4fc;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-info .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-info .navbar-text {
+ color: #d2f4fc;
+}
+.navbar.bg-info .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-info .navbar-text a:hover, .navbar.bg-info .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-info hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.navbar.bg-warning {
+ background-color: #ffab00 !important;
+ color: #fff5e0;
+}
+.navbar.bg-warning .navbar-brand,
+.navbar.bg-warning .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-warning .navbar-brand:hover, .navbar.bg-warning .navbar-brand:focus,
+.navbar.bg-warning .navbar-brand a:hover,
+.navbar.bg-warning .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-warning .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-warning .navbar-search-wrapper .search-input {
+ color: #fff5e0;
+}
+.navbar.bg-warning .search-input-wrapper .search-input,
+.navbar.bg-warning .search-input-wrapper .search-toggler {
+ background-color: #ffab00 !important;
+ color: #fff5e0;
+}
+.navbar.bg-warning .navbar-nav > .nav-link,
+.navbar.bg-warning .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-warning .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #fff5e0;
+}
+.navbar.bg-warning .navbar-nav > .nav-link:hover, .navbar.bg-warning .navbar-nav > .nav-link:focus,
+.navbar.bg-warning .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-warning .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-warning .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-warning .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-warning .navbar-nav > .nav-link.disabled,
+.navbar.bg-warning .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-warning .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #ffd786 !important;
+}
+.navbar.bg-warning .navbar-nav .show > .nav-link,
+.navbar.bg-warning .navbar-nav .active > .nav-link,
+.navbar.bg-warning .navbar-nav .nav-link.show,
+.navbar.bg-warning .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-warning .navbar-toggler {
+ color: #fff5e0;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-warning .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-warning .navbar-text {
+ color: #fff5e0;
+}
+.navbar.bg-warning .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-warning .navbar-text a:hover, .navbar.bg-warning .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-warning hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.navbar.bg-danger {
+ background-color: #ff3e1d !important;
+ color: #ffd5ce;
+}
+.navbar.bg-danger .navbar-brand,
+.navbar.bg-danger .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-danger .navbar-brand:hover, .navbar.bg-danger .navbar-brand:focus,
+.navbar.bg-danger .navbar-brand a:hover,
+.navbar.bg-danger .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-danger .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-danger .navbar-search-wrapper .search-input {
+ color: #ffd5ce;
+}
+.navbar.bg-danger .search-input-wrapper .search-input,
+.navbar.bg-danger .search-input-wrapper .search-toggler {
+ background-color: #ff3e1d !important;
+ color: #ffd5ce;
+}
+.navbar.bg-danger .navbar-nav > .nav-link,
+.navbar.bg-danger .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-danger .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #ffd5ce;
+}
+.navbar.bg-danger .navbar-nav > .nav-link:hover, .navbar.bg-danger .navbar-nav > .nav-link:focus,
+.navbar.bg-danger .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-danger .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-danger .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-danger .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-danger .navbar-nav > .nav-link.disabled,
+.navbar.bg-danger .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-danger .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #ff9987 !important;
+}
+.navbar.bg-danger .navbar-nav .show > .nav-link,
+.navbar.bg-danger .navbar-nav .active > .nav-link,
+.navbar.bg-danger .navbar-nav .nav-link.show,
+.navbar.bg-danger .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-danger .navbar-toggler {
+ color: #ffd5ce;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-danger .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-danger .navbar-text {
+ color: #ffd5ce;
+}
+.navbar.bg-danger .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-danger .navbar-text a:hover, .navbar.bg-danger .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-danger hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.navbar.bg-dark {
+ background-color: #233446 !important;
+ color: #e4e6e8;
+}
+.navbar.bg-dark .navbar-brand,
+.navbar.bg-dark .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-dark .navbar-brand:hover, .navbar.bg-dark .navbar-brand:focus,
+.navbar.bg-dark .navbar-brand a:hover,
+.navbar.bg-dark .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-dark .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-dark .navbar-search-wrapper .search-input {
+ color: #e4e6e8;
+}
+.navbar.bg-dark .search-input-wrapper .search-input,
+.navbar.bg-dark .search-input-wrapper .search-toggler {
+ background-color: #233446 !important;
+ color: #e4e6e8;
+}
+.navbar.bg-dark .navbar-nav > .nav-link,
+.navbar.bg-dark .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-dark .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #e4e6e8;
+}
+.navbar.bg-dark .navbar-nav > .nav-link:hover, .navbar.bg-dark .navbar-nav > .nav-link:focus,
+.navbar.bg-dark .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-dark .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-dark .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-dark .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-dark .navbar-nav > .nav-link.disabled,
+.navbar.bg-dark .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-dark .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #979fa7 !important;
+}
+.navbar.bg-dark .navbar-nav .show > .nav-link,
+.navbar.bg-dark .navbar-nav .active > .nav-link,
+.navbar.bg-dark .navbar-nav .nav-link.show,
+.navbar.bg-dark .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-dark .navbar-toggler {
+ color: #e4e6e8;
+ border-color: rgba(255, 255, 255, 0.06);
+}
+.navbar.bg-dark .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-dark .navbar-text {
+ color: #e4e6e8;
+}
+.navbar.bg-dark .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-dark .navbar-text a:hover, .navbar.bg-dark .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-dark hr {
+ border-color: rgba(255, 255, 255, 0.06);
+}
+
+.navbar.bg-gray {
+ background-color: #eceef1 !important;
+ color: #8291a1;
+}
+.navbar.bg-gray .navbar-brand,
+.navbar.bg-gray .navbar-brand a {
+ color: #435971;
+}
+.navbar.bg-gray .navbar-brand:hover, .navbar.bg-gray .navbar-brand:focus,
+.navbar.bg-gray .navbar-brand a:hover,
+.navbar.bg-gray .navbar-brand a:focus {
+ color: #435971;
+}
+.navbar.bg-gray .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-gray .navbar-search-wrapper .search-input {
+ color: #8291a1;
+}
+.navbar.bg-gray .search-input-wrapper .search-input,
+.navbar.bg-gray .search-input-wrapper .search-toggler {
+ background-color: rgba(67, 89, 113, 0.1) !important;
+ color: #8291a1;
+}
+.navbar.bg-gray .navbar-nav > .nav-link,
+.navbar.bg-gray .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-gray .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #8291a1;
+}
+.navbar.bg-gray .navbar-nav > .nav-link:hover, .navbar.bg-gray .navbar-nav > .nav-link:focus,
+.navbar.bg-gray .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-gray .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-gray .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-gray .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #435971;
+}
+.navbar.bg-gray .navbar-nav > .nav-link.disabled,
+.navbar.bg-gray .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-gray .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #acb6c1 !important;
+}
+.navbar.bg-gray .navbar-nav .show > .nav-link,
+.navbar.bg-gray .navbar-nav .active > .nav-link,
+.navbar.bg-gray .navbar-nav .nav-link.show,
+.navbar.bg-gray .navbar-nav .nav-link.active {
+ color: #435971;
+}
+.navbar.bg-gray .navbar-toggler {
+ color: #8291a1;
+ border-color: rgba(67, 89, 113, 0.0783835294);
+}
+.navbar.bg-gray .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-gray .navbar-text {
+ color: #8291a1;
+}
+.navbar.bg-gray .navbar-text a {
+ color: #435971;
+}
+.navbar.bg-gray .navbar-text a:hover, .navbar.bg-gray .navbar-text a:focus {
+ color: #435971;
+}
+.navbar.bg-gray hr {
+ border-color: rgba(67, 89, 113, 0.0783835294);
+}
+
+.navbar.bg-white {
+ background-color: #fff !important;
+ color: #a1acb8;
+}
+.navbar.bg-white .navbar-brand,
+.navbar.bg-white .navbar-brand a {
+ color: #697a8d;
+}
+.navbar.bg-white .navbar-brand:hover, .navbar.bg-white .navbar-brand:focus,
+.navbar.bg-white .navbar-brand a:hover,
+.navbar.bg-white .navbar-brand a:focus {
+ color: #697a8d;
+}
+.navbar.bg-white .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-white .navbar-search-wrapper .search-input {
+ color: #a1acb8;
+}
+.navbar.bg-white .search-input-wrapper .search-input,
+.navbar.bg-white .search-input-wrapper .search-toggler {
+ background-color: #fff !important;
+ color: #a1acb8;
+}
+.navbar.bg-white .navbar-nav > .nav-link,
+.navbar.bg-white .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-white .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #a1acb8;
+}
+.navbar.bg-white .navbar-nav > .nav-link:hover, .navbar.bg-white .navbar-nav > .nav-link:focus,
+.navbar.bg-white .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-white .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-white .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-white .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #697a8d;
+}
+.navbar.bg-white .navbar-nav > .nav-link.disabled,
+.navbar.bg-white .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-white .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #c7cdd4 !important;
+}
+.navbar.bg-white .navbar-nav .show > .nav-link,
+.navbar.bg-white .navbar-nav .active > .nav-link,
+.navbar.bg-white .navbar-nav .nav-link.show,
+.navbar.bg-white .navbar-nav .nav-link.active {
+ color: #697a8d;
+}
+.navbar.bg-white .navbar-toggler {
+ color: #a1acb8;
+ border-color: rgba(105, 122, 141, 0.075);
+}
+.navbar.bg-white .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-white .navbar-text {
+ color: #a1acb8;
+}
+.navbar.bg-white .navbar-text a {
+ color: #697a8d;
+}
+.navbar.bg-white .navbar-text a:hover, .navbar.bg-white .navbar-text a:focus {
+ color: #697a8d;
+}
+.navbar.bg-white hr {
+ border-color: rgba(105, 122, 141, 0.075);
+}
+
+.navbar.bg-light {
+ background-color: #eceef1 !important;
+ color: #a1acb8;
+}
+.navbar.bg-light .navbar-brand,
+.navbar.bg-light .navbar-brand a {
+ color: #697a8d;
+}
+.navbar.bg-light .navbar-brand:hover, .navbar.bg-light .navbar-brand:focus,
+.navbar.bg-light .navbar-brand a:hover,
+.navbar.bg-light .navbar-brand a:focus {
+ color: #697a8d;
+}
+.navbar.bg-light .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-light .navbar-search-wrapper .search-input {
+ color: #a1acb8;
+}
+.navbar.bg-light .search-input-wrapper .search-input,
+.navbar.bg-light .search-input-wrapper .search-toggler {
+ background-color: rgba(67, 89, 113, 0.1) !important;
+ color: #a1acb8;
+}
+.navbar.bg-light .navbar-nav > .nav-link,
+.navbar.bg-light .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-light .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #a1acb8;
+}
+.navbar.bg-light .navbar-nav > .nav-link:hover, .navbar.bg-light .navbar-nav > .nav-link:focus,
+.navbar.bg-light .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-light .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-light .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-light .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #697a8d;
+}
+.navbar.bg-light .navbar-nav > .nav-link.disabled,
+.navbar.bg-light .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-light .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #bfc6cf !important;
+}
+.navbar.bg-light .navbar-nav .show > .nav-link,
+.navbar.bg-light .navbar-nav .active > .nav-link,
+.navbar.bg-light .navbar-nav .nav-link.show,
+.navbar.bg-light .navbar-nav .nav-link.active {
+ color: #697a8d;
+}
+.navbar.bg-light .navbar-toggler {
+ color: #a1acb8;
+ border-color: rgba(105, 122, 141, 0.0783835294);
+}
+.navbar.bg-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-light .navbar-text {
+ color: #a1acb8;
+}
+.navbar.bg-light .navbar-text a {
+ color: #697a8d;
+}
+.navbar.bg-light .navbar-text a:hover, .navbar.bg-light .navbar-text a:focus {
+ color: #697a8d;
+}
+.navbar.bg-light hr {
+ border-color: rgba(105, 122, 141, 0.0783835294);
+}
+
+.footer.bg-white {
+ background-color: #fff !important;
+ color: #a1acb8;
+}
+.footer.bg-white .footer-link {
+ color: #a1acb8;
+}
+.footer.bg-white .footer-link:hover, .footer.bg-white .footer-link:focus {
+ color: #697a8d;
+}
+.footer.bg-white .footer-link.disabled {
+ color: #c7cdd4 !important;
+}
+.footer.bg-white .footer-text {
+ color: #697a8d;
+}
+.footer.bg-white .show > .footer-link,
+.footer.bg-white .active > .footer-link,
+.footer.bg-white .footer-link.show,
+.footer.bg-white .footer-link.active {
+ color: #697a8d;
+}
+.footer.bg-white hr {
+ border-color: rgba(105, 122, 141, 0.075);
+}
+
+.footer.bg-light {
+ background-color: #eceef1 !important;
+ color: #a1acb8;
+}
+.footer.bg-light .footer-link {
+ color: #a1acb8;
+}
+.footer.bg-light .footer-link:hover, .footer.bg-light .footer-link:focus {
+ color: #697a8d;
+}
+.footer.bg-light .footer-link.disabled {
+ color: #bfc6cf !important;
+}
+.footer.bg-light .footer-text {
+ color: #697a8d;
+}
+.footer.bg-light .show > .footer-link,
+.footer.bg-light .active > .footer-link,
+.footer.bg-light .footer-link.show,
+.footer.bg-light .footer-link.active {
+ color: #697a8d;
+}
+.footer.bg-light hr {
+ border-color: rgba(105, 122, 141, 0.0783835294);
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,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Z0M7QUFDbEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSwrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSwrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxpQ0FBaUM7QUFDbkM7O0FBRUE7RUFDRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSx5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSx5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSx1Q0FBdUM7QUFDekM7O0FBRUE7RUFDRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSxpQ0FBaUM7QUFDbkM7O0FBRUE7RUFDRSwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxpQ0FBaUM7QUFDbkM7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FB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RUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwyQkFB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K0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwyQkFBMkI7RUFDN0I7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSwwQkFBMEI7SUFDMUIseUJBQXlCO0VBQzNCOztFQUVBO0lBQ0UsZ0NBQWdDO0lBQ2hDLCtCQUErQjtFQUNqQzs7RUFFQTtJQUNFLCtCQUErQjtJQUMvQiw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw2QkFBNkI7SUFDN0IsNEJBQTRCO0VBQzlCOztFQUVBO0lBQ0UsK0JBQStCO0lBQy9CLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLDZCQUE2QjtJQUM3Qiw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw2QkFBNkI7SUFDN0IsNEJBQTRCO0VBQzlCOztFQUVBO0lBQ0Usd0JBQXdCO0lBQ3hCLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLDhCQUE4QjtJQUM5QixpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSw2QkFBNkI7SUFDN0IsZ0NBQWdDO0VBQ2xDOztFQUVBO0lBQ0UsMkJBQTJCO0lBQzNCLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLDZCQUE2QjtJQUM3QixnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwyQkFBMkI7SUFDM0IsOEJBQThCO0VBQ2hDOztFQUVBO0lBQ0UsMkJBQTJCO0lBQzNCLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLDZCQUE2QjtFQUMvQjs7RUFFQTtJQUNFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLDZCQUE2QjtFQUMvQjs7RUFFQTtJQUNFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLGlDQUFpQztFQUNuQzs7RUFFQTtJQUNFLGdDQUFnQztFQUNsQzs7RUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLGdDQUFnQztFQUNsQzs7RUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLDJCQUEyQjtFQUM3Qjs7RUFFQTtJQUNFLDBCQUEwQjtFQUM1Qjs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLDBCQUEwQjtFQUM1Qjs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLGlDQUFpQztJQUNqQyxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSxnQ0FBZ0M7SUFDaEMsK0JBQStCO0VBQ2pDOztFQUVBO0lBQ0UsOEJBQThCO0lBQzlCLDZCQUE2QjtFQUMvQjs7RUFFQTtJQUNFLGdDQUFnQztJQUNoQywrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7SUFDOUIsNkJBQTZCO0VBQy9COztFQUVBO0lBQ0UsK0JBQStCO0lBQy9CLGtDQUFrQztFQUNwQzs7RUFFQTtJQUNFLDhCQUE4QjtJQUM5QixpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSw0QkFBNEI7SUFDNUIsK0JBQStCO0VBQ2pDOztFQUVBO0lBQ0UsOEJBQThCO0lBQzlCLGlDQUFpQztFQUNuQzs7RUFFQTtJQUNFLDRCQUE0QjtJQUM1QiwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxxQkFBcUI7RUFDdkI7O0VBRUE7SUFDRSwyQkFBMkI7RUFDN0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSwyQkFBMkI7SUFDM0IsMEJBQTBCO0VBQzVCOztFQUVBO0lBQ0UsaUNBQWlDO0lBQ2pDLGdDQUFnQztFQUNsQzs7RUFFQTtJQUNFLGdDQUFnQztJQUNoQywrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7SUFDOUIsNkJBQTZCO0VBQy9COztFQUVBO0lBQ0UsZ0NBQWdDO0lBQ2hDLCtCQUErQjtFQUNqQzs7RUFFQTtJQUNFLDhCQUE4QjtJQUM5Qiw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSx5QkFBeUI7SUFDekIsNEJBQTRCO0VBQzlCOztFQUVBO0lBQ0UsK0JBQStCO0lBQy9CLGtDQUFrQztFQUNwQzs7RUFFQTtJQUNFLDhCQUE4QjtJQUM5QixpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSw0QkFBNEI7SUFDNUIsK0JBQStCO0VBQ2pDOztFQUVBO0lBQ0UsOEJBQThCO0lBQzlCLGlDQUFpQztFQUNuQzs7RUFFQTtJQUNFLDRCQUE0QjtJQUM1QiwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFD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RSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwyQkFBMkI7RUFDN0I7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw2QkFBNkI7RUFDL0I7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7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d0I7RUFDMUI7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSx1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSx5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSx3Q0FBd0M7RUFDMUM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0VBRUE7SUFDRSxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSxnQ0FBZ0M7RUFDbEM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VB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Q0UsK0NBQStDO0FBQ2pEIiwiZmlsZSI6ImNvcmUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLWJzLWJsdWU6ICMwMDdiZmY7XG4gIC0tYnMtaW5kaWdvOiAjNjYxMGYyO1xuICAtLWJzLXB1cnBsZTogIzY5NmNmZjtcbiAgLS1icy1waW5rOiAjZTgzZThjO1xuICAtLWJzLXJlZDogI2ZmM2UxZDtcbiAgLS1icy1vcmFuZ2U6ICNmZDdlMTQ7XG4gIC0tYnMteWVsbG93OiAjZmZhYjAwO1xuICAtLWJzLWdyZWVuOiAjNzFkZDM3O1xuICAtLWJzLXRlYWw6ICMyMGM5OTc7XG4gIC0tYnMtY3lhbjogIzAzYzNlYztcbiAgLS1icy13aGl0ZTogI2ZmZjtcbiAgLS1icy1ncmF5OiByZ2JhKDY3LCA4OSwgMTEzLCAwLjYpO1xuICAtLWJzLWdyYXktZGFyazogcmdiYSg2NywgODksIDExMywgMC44KTtcbiAgLS1icy1ncmF5LTI1OiByZ2JhKDY3LCA4OSwgMTEzLCAwLjAyNSk7XG4gIC0tYnMtZ3JheS01MDogcmdiYSg2NywgODksIDExMywgMC4wNSk7XG4gIC0tYnMtcHJpbWFyeTogIzY5NmNmZjtcbiAgLS1icy1zZWNvbmRhcnk6ICM4NTkyYTM7XG4gIC0tYnMtc3VjY2VzczogIzcxZGQzNztcbiAgLS1icy1pbmZvOiAjMDNjM2VjO1xuICAtLWJzLXdhcm5pbmc6ICNmZmFiMDA7XG4gIC0tYnMtZGFuZ2VyOiAjZmYzZTFkO1xuICAtLWJzLWxpZ2h0OiAjZmNmZGZkO1xuICAtLWJzLWRhcms6ICMyMzM0NDY7XG4gIC0tYnMtZ3JheTogcmdiYSg2NywgODksIDExMywgMC4xKTtcbiAgLS1icy1wcmltYXJ5LXJnYjogMTA1LCAxMDgsIDI1NTtcbiAgLS1icy1zZWNvbmRhcnktcmdiOiAxMzMsIDE0NiwgMTYzO1xuICAtLWJzLXN1Y2Nlc3MtcmdiOiAxMTMsIDIyMSwgNTU7XG4gIC0tYnMtaW5mby1yZ2I6IDMsIDE5NSwgMjM2O1xuICAtLWJzLXdhcm5pbmctcmdiOiAyNTUsIDE3MSwgMDtcbiAgLS1icy1kYW5nZXItcmdiOiAyNTUsIDYyLCAyOTtcbiAgLS1icy1saWdodC1yZ2I6IDI1MiwgMjUzLCAyNTM7XG4gIC0tYnMtZGFyay1yZ2I6IDM1LCA1MiwgNzA7XG4gIC0tYnMtZ3JheS1yZ2I6IDY3LCA4OSwgMTEzO1xuICAtLWJzLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTtcbiAgLS1icy1ibGFjay1yZ2I6IDY3LCA4OSwgMTEzO1xuICAtLWJzLWJvZHktY29sb3ItcmdiOiAxMDUsIDEyMiwgMTQxO1xuICAtLWJzLWJvZHktYmctcmdiOiAyNDUsIDI0NSwgMjQ5O1xuICAtLWJzLWZvbnQtc2Fucy1zZXJpZjogXCJQdWJsaWMgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgLS1icy1mb250LW1vbm9zcGFjZTogXCJTRk1vbm8tUmVndWxhclwiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gIC0tYnMtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpO1xuICAtLWJzLXJvb3QtZm9udC1zaXplOiAxNnB4O1xuICAtLWJzLWJvZHktZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtc2Fucy1zZXJpZik7XG4gIC0tYnMtYm9keS1mb250LXNpemU6IDAuOTM3NXJlbTtcbiAgLS1icy1ib2R5LWZvbnQtd2VpZ2h0OiA0MDA7XG4gIC0tYnMtYm9keS1saW5lLWhlaWdodDogMS41MztcbiAgLS1icy1ib2R5LWNvbG9yOiAjNjk3YThkO1xuICAtLWJzLWJvZHktYmc6ICNmNWY1Zjk7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjpyb290IHtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1yb290LWZvbnQtc2l6ZSk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICB9XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1ib2R5LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1icy1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLWJzLWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSg2NywgODksIDExMywgMCk7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiAjZDlkZWUzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMTtcbn1cblxuaHI6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDFweDtcbn1cblxuaDYsIC5oNiwgaDUsIC5oNSwgaDQsIC5oNCwgaDMsIC5oMywgaDIsIC5oMiwgaDEsIC5oMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzYyNXJlbSArIDEuMzV2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gIH1cbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IGNhbGMoMS4yODc1cmVtICsgMC40NXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgfVxufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjYyNXJlbSArIDAuMTV2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIH1cbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLWJzLW9yaWdpbmFsLXRpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbnNtYWxsLCAuc21hbGwge1xuICBmb250LXNpemU6IDg1JTtcbn1cblxubWFyaywgLm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiAjNjk2Y2ZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICM1ZjYxZTY7XG59XG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLCBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGRpcmVjdGlvbjogbHRyIC8qIHJ0bDppZ25vcmUgKi87XG4gIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXNpemU6IDg1JTtcbn1cbnByZSBjb2RlIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xufVxuXG5jb2RlIHtcbiAgZm9udC1zaXplOiA4NSU7XG4gIGNvbG9yOiAjZTgzZThjO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5hID4gY29kZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBmb250LXNpemU6IDg1JTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuOSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRhYmxlIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgY29sb3I6ICNhMWFjYjg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7XG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuW3JvbGU9YnV0dG9uXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG5bbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5idXR0b246bm90KDpkaXNhYmxlZCksXG5bdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9c3VibWl0XTpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbmxlZ2VuZCArICoge1xuICBjbGVhcjogbGVmdDtcbn1cblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMDU0Njg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjUyNXJlbSArIDMuM3Z3KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRpc3BsYXktMSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6IGNhbGMoMS40NzVyZW0gKyAyLjd2dyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kaXNwbGF5LTIge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICB9XG59XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IGNhbGMoMS40MjVyZW0gKyAyLjF2dyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kaXNwbGF5LTMge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzcGxheS00IHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxufVxuXG4uZGlzcGxheS01IHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzcGxheS01IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLmRpc3BsYXktNiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRpc3BsYXktNiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjA1NDY4NzVyZW07XG59XG4uYmxvY2txdW90ZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogODUlO1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC42KTtcbn1cbi5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJTCoFwiO1xufVxuXG4uaW1nLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5maWd1cmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA4NSU7XG4gIGNvbG9yOiAjYTFhY2I4O1xufVxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCxcbi5jb250YWluZXIteHhsLFxuLmNvbnRhaW5lci14bCxcbi5jb250YWluZXItbGcsXG4uY29udGFpbmVyLW1kLFxuLmNvbnRhaW5lci1zbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1ndXR0ZXIteCwgMS42MjVyZW0pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLWd1dHRlci14LCAxLjYyNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXItbGcsIC5jb250YWluZXItbWQsIC5jb250YWluZXItc20sIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lci14bCwgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmNvbnRhaW5lci14eGwsIC5jb250YWluZXIteGwsIC5jb250YWluZXItbGcsIC5jb250YWluZXItbWQsIC5jb250YWluZXItc20sIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG4ucm93IHtcbiAgLS1icy1ndXR0ZXIteDogMS42MjVyZW07XG4gIC0tYnMtZ3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWJzLWd1dHRlci15KSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMC41ICogdmFyKC0tYnMtZ3V0dGVyLXgpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWd1dHRlci14KSk7XG59XG4ucm93ID4gKiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1icy1ndXR0ZXIteSk7XG59XG5cbi5jb2wge1xuICBmbGV4OiAxIDAgMCU7XG59XG5cbi5yb3ctY29scy1hdXRvID4gKiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnJvdy1jb2xzLTEgPiAqIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm93LWNvbHMtMiA+ICoge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnJvdy1jb2xzLTMgPiAqIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnJvdy1jb2xzLTQgPiAqIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5yb3ctY29scy01ID4gKiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMjAlO1xufVxuXG4ucm93LWNvbHMtNiA+ICoge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sLWF1dG8ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jb2wtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuXG4uY29sLTMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmNvbC00IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG5cbi5jb2wtNSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtOCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjY2NjclO1xufVxuXG4uY29sLTkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NjY2NyU7XG59XG5cbi5jb2wtMTIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLm9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLm9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLm9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xufVxuXG4uZy0wLFxuLmd4LTAge1xuICAtLWJzLWd1dHRlci14OiAwO1xufVxuXG4uZy0wLFxuLmd5LTAge1xuICAtLWJzLWd1dHRlci15OiAwO1xufVxuXG4uZy0xLFxuLmd4LTEge1xuICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xufVxuXG4uZy0xLFxuLmd5LTEge1xuICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xufVxuXG4uZy0yLFxuLmd4LTIge1xuICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG59XG5cbi5nLTIsXG4uZ3ktMiB7XG4gIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbn1cblxuLmctMyxcbi5neC0zIHtcbiAgLS1icy1ndXR0ZXIteDogMXJlbTtcbn1cblxuLmctMyxcbi5neS0zIHtcbiAgLS1icy1ndXR0ZXIteTogMXJlbTtcbn1cblxuLmctNCxcbi5neC00IHtcbiAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xufVxuXG4uZy00LFxuLmd5LTQge1xuICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG59XG5cbi5nLTUsXG4uZ3gtNSB7XG4gIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG59XG5cbi5nLTUsXG4uZ3ktNSB7XG4gIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29sLXNtIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gIH1cblxuICAucm93LWNvbHMtc20tYXV0byA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS0yID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS0zID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTUgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmNvbC1zbS0xIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXNtLTQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAuY29sLXNtLTcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtc20tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm9mZnNldC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG5cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG5cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1zbS04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG5cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cblxuICAuZy1zbS0wLFxuLmd4LXNtLTAge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDA7XG4gIH1cblxuICAuZy1zbS0wLFxuLmd5LXNtLTAge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDA7XG4gIH1cblxuICAuZy1zbS0xLFxuLmd4LXNtLTEge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDAuMjVyZW07XG4gIH1cblxuICAuZy1zbS0xLFxuLmd5LXNtLTEge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuMjVyZW07XG4gIH1cblxuICAuZy1zbS0yLFxuLmd4LXNtLTIge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDAuNXJlbTtcbiAgfVxuXG4gIC5nLXNtLTIsXG4uZ3ktc20tMiB7XG4gICAgLS1icy1ndXR0ZXIteTogMC41cmVtO1xuICB9XG5cbiAgLmctc20tMyxcbi5neC1zbS0zIHtcbiAgICAtLWJzLWd1dHRlci14OiAxcmVtO1xuICB9XG5cbiAgLmctc20tMyxcbi5neS1zbS0zIHtcbiAgICAtLWJzLWd1dHRlci15OiAxcmVtO1xuICB9XG5cbiAgLmctc20tNCxcbi5neC1zbS00IHtcbiAgICAtLWJzLWd1dHRlci14OiAxLjVyZW07XG4gIH1cblxuICAuZy1zbS00LFxuLmd5LXNtLTQge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDEuNXJlbTtcbiAgfVxuXG4gIC5nLXNtLTUsXG4uZ3gtc20tNSB7XG4gICAgLS1icy1ndXR0ZXIteDogM3JlbTtcbiAgfVxuXG4gIC5nLXNtLTUsXG4uZ3ktc20tNSB7XG4gICAgLS1icy1ndXR0ZXIteTogM3JlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtbWQge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1tZC1hdXRvID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAucm93LWNvbHMtbWQtMSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAucm93LWNvbHMtbWQtNCA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAucm93LWNvbHMtbWQtNSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cblxuICAucm93LWNvbHMtbWQtNiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wtbWQtNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtOSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5nLW1kLTAsXG4uZ3gtbWQtMCB7XG4gICAgLS1icy1ndXR0ZXIteDogMDtcbiAgfVxuXG4gIC5nLW1kLTAsXG4uZ3ktbWQtMCB7XG4gICAgLS1icy1ndXR0ZXIteTogMDtcbiAgfVxuXG4gIC5nLW1kLTEsXG4uZ3gtbWQtMSB7XG4gICAgLS1icy1ndXR0ZXIteDogMC4yNXJlbTtcbiAgfVxuXG4gIC5nLW1kLTEsXG4uZ3ktbWQtMSB7XG4gICAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTtcbiAgfVxuXG4gIC5nLW1kLTIsXG4uZ3gtbWQtMiB7XG4gICAgLS1icy1ndXR0ZXIteDogMC41cmVtO1xuICB9XG5cbiAgLmctbWQtMixcbi5neS1tZC0yIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjVyZW07XG4gIH1cblxuICAuZy1tZC0zLFxuLmd4LW1kLTMge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDFyZW07XG4gIH1cblxuICAuZy1tZC0zLFxuLmd5LW1kLTMge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDFyZW07XG4gIH1cblxuICAuZy1tZC00LFxuLmd4LW1kLTQge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDEuNXJlbTtcbiAgfVxuXG4gIC5nLW1kLTQsXG4uZ3ktbWQtNCB7XG4gICAgLS1icy1ndXR0ZXIteTogMS41cmVtO1xuICB9XG5cbiAgLmctbWQtNSxcbi5neC1tZC01IHtcbiAgICAtLWJzLWd1dHRlci14OiAzcmVtO1xuICB9XG5cbiAgLmctbWQtNSxcbi5neS1tZC01IHtcbiAgICAtLWJzLWd1dHRlci15OiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC1sZyB7XG4gICAgZmxleDogMSAwIDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLWxnLWF1dG8gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5yb3ctY29scy1sZy0xID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMtbGctMiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAucm93LWNvbHMtbGctMyA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy00ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy02ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAub2Zmc2V0LWxnLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmctbGctMCxcbi5neC1sZy0wIHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICB9XG5cbiAgLmctbGctMCxcbi5neS1sZy0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG5cbiAgLmctbGctMSxcbi5neC1sZy0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG5cbiAgLmctbGctMSxcbi5neS1sZy0xIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xuICB9XG5cbiAgLmctbGctMixcbi5neC1sZy0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cblxuICAuZy1sZy0yLFxuLmd5LWxnLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuXG4gIC5nLWxnLTMsXG4uZ3gtbGctMyB7XG4gICAgLS1icy1ndXR0ZXIteDogMXJlbTtcbiAgfVxuXG4gIC5nLWxnLTMsXG4uZ3ktbGctMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuXG4gIC5nLWxnLTQsXG4uZ3gtbGctNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG5cbiAgLmctbGctNCxcbi5neS1sZy00IHtcbiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG4gIH1cblxuICAuZy1sZy01LFxuLmd4LWxnLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cblxuICAuZy1sZy01LFxuLmd5LWxnLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC14bCB7XG4gICAgZmxleDogMSAwIDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXhsLWF1dG8gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5yb3ctY29scy14bC0xID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtMiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtMyA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC00ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC02ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5jb2wteGwtMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC14bC00IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC14bC03IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmcteGwtMCxcbi5neC14bC0wIHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICB9XG5cbiAgLmcteGwtMCxcbi5neS14bC0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG5cbiAgLmcteGwtMSxcbi5neC14bC0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG5cbiAgLmcteGwtMSxcbi5neS14bC0xIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xuICB9XG5cbiAgLmcteGwtMixcbi5neC14bC0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cblxuICAuZy14bC0yLFxuLmd5LXhsLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuXG4gIC5nLXhsLTMsXG4uZ3gteGwtMyB7XG4gICAgLS1icy1ndXR0ZXIteDogMXJlbTtcbiAgfVxuXG4gIC5nLXhsLTMsXG4uZ3kteGwtMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuXG4gIC5nLXhsLTQsXG4uZ3gteGwtNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG5cbiAgLmcteGwtNCxcbi5neS14bC00IHtcbiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG4gIH1cblxuICAuZy14bC01LFxuLmd4LXhsLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cblxuICAuZy14bC01LFxuLmd5LXhsLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmNvbC14eGwge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14eGwtYXV0byA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLnJvdy1jb2xzLXh4bC0xID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMteHhsLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXh4bC0zID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXh4bC00ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy14eGwtNSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cblxuICAucm93LWNvbHMteHhsLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5jb2wteHhsLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteHhsLTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC14eGwtNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteHhsLTUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC14eGwtNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteHhsLTgge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14eGwtMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXh4bC0xMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteHhsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9mZnNldC14eGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmcteHhsLTAsXG4uZ3gteHhsLTAge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDA7XG4gIH1cblxuICAuZy14eGwtMCxcbi5neS14eGwtMCB7XG4gICAgLS1icy1ndXR0ZXIteTogMDtcbiAgfVxuXG4gIC5nLXh4bC0xLFxuLmd4LXh4bC0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG5cbiAgLmcteHhsLTEsXG4uZ3kteHhsLTEge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuMjVyZW07XG4gIH1cblxuICAuZy14eGwtMixcbi5neC14eGwtMiB7XG4gICAgLS1icy1ndXR0ZXIteDogMC41cmVtO1xuICB9XG5cbiAgLmcteHhsLTIsXG4uZ3kteHhsLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuXG4gIC5nLXh4bC0zLFxuLmd4LXh4bC0zIHtcbiAgICAtLWJzLWd1dHRlci14OiAxcmVtO1xuICB9XG5cbiAgLmcteHhsLTMsXG4uZ3kteHhsLTMge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDFyZW07XG4gIH1cblxuICAuZy14eGwtNCxcbi5neC14eGwtNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG5cbiAgLmcteHhsLTQsXG4uZ3kteHhsLTQge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDEuNXJlbTtcbiAgfVxuXG4gIC5nLXh4bC01LFxuLmd4LXh4bC01IHtcbiAgICAtLWJzLWd1dHRlci14OiAzcmVtO1xuICB9XG5cbiAgLmcteHhsLTUsXG4uZ3kteHhsLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbi50YWJsZSB7XG4gIC0tYnMtdGFibGUtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLXRhYmxlLWFjY2VudC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzY5N2E4ZDtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZjlmYWZiO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzY5N2E4ZDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICM2OTdhOGQ7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMDYpO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1jb2xvcjogI2Q5ZGVlMztcbn1cbi50YWJsZSA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRhYmxlLWJnKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tYnMtdGFibGUtYWNjZW50LWJnKTtcbn1cbi50YWJsZSA+IHRib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG4udGFibGUgPiB0aGVhZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4udGFibGUgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2Q5ZGVlMztcbn1cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cbi50YWJsZS1zbSA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xufVxuLnRhYmxlLWJvcmRlcmVkID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbn1cblxuLnRhYmxlLWJvcmRlcmxlc3MgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLnRhYmxlLWJvcmRlcmxlc3MgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4udGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSA+ICoge1xuICAtLWJzLXRhYmxlLWFjY2VudC1iZzogdmFyKC0tYnMtdGFibGUtc3RyaXBlZC1iZyk7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbn1cblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tYnMtdGFibGUtYWNjZW50LWJnOiB2YXIoLS1icy10YWJsZS1hY3RpdmUtYmcpO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yKTtcbn1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAtLWJzLXRhYmxlLWFjY2VudC1iZzogdmFyKC0tYnMtdGFibGUtaG92ZXItYmcpO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtaG92ZXItY29sb3IpO1xufVxuXG4udGFibGUtcHJpbWFyeSB7XG4gIC0tYnMtdGFibGUtYmc6ICNlMWUyZmY7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2RjZGVmYjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2QxZDRmMTtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNkOGRhZjY7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICM0MzU5NzE7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBib3JkZXItY29sb3I6ICNkMWQ0ZjE7XG59XG5cbi50YWJsZS1zZWNvbmRhcnkge1xuICAtLWJzLXRhYmxlLWJnOiAjZTdlOWVkO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNlMmU1ZTk7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNkN2RiZTE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZGRlMGU2O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjNDM1OTcxO1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYm9yZGVyLWNvbG9yOiAjZDdkYmUxO1xufVxuXG4udGFibGUtc3VjY2VzcyB7XG4gIC0tYnMtdGFibGUtYmc6ICNlM2Y4ZDc7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2RlZjNkNDtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2QzZThjZDtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNkOWVlZDE7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICM0MzU5NzE7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBib3JkZXItY29sb3I6ICNkM2U4Y2Q7XG59XG5cbi50YWJsZS1pbmZvIHtcbiAgLS1icy10YWJsZS1iZzogI2NkZjNmYjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzllZWY3O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYmZlNGVkO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2M1ZWFmMztcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2JmZTRlZDtcbn1cblxuLnRhYmxlLXdhcm5pbmcge1xuICAtLWJzLXRhYmxlLWJnOiAjZmZlZWNjO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNmOWVhYzk7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNlY2RmYzM7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZjRlNWM3O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjNDM1OTcxO1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYm9yZGVyLWNvbG9yOiAjZWNkZmMzO1xufVxuXG4udGFibGUtZGFuZ2VyIHtcbiAgLS1icy10YWJsZS1iZzogI2ZmZDhkMjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZjlkNGNmO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjZWNjYmM4O1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2Y0ZDBjYztcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2VjY2JjODtcbn1cblxuLnRhYmxlLWxpZ2h0IHtcbiAgLS1icy10YWJsZS1iZzogI2ZjZmRmZDtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZjZmOGY5O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjZWFlZGVmO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2YxZjNmNTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2VhZWRlZjtcbn1cblxuLnRhYmxlLWRhcmsge1xuICAtLWJzLXRhYmxlLWJnOiAjMjMzNDQ2O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICMyYTNhNGM7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogI2ZmZjtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICMzOTQ4NTk7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjMzA0MDUxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMzk0ODU5O1xufVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLWxnIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14bCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUteHhsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM1NjZhN2Y7XG59XG5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNDM3NXJlbSArIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNDM3NXJlbSArIDFweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTM7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjc1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC43NXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNXJlbSArIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIGZvbnQtc2l6ZTogODUlO1xuICBjb2xvcjogI2I0YmRjNjtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDAuODc1cmVtO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTM7XG4gIGNvbG9yOiAjNjk3YThkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUzO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tY29udHJvbFt0eXBlPWZpbGVdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mb3JtLWNvbnRyb2xbdHlwZT1maWxlXTpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNDksIDI0OSwgMjU1LCAwLjU0KTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAuMjVyZW0gMC4wNXJlbSByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuMSk7XG59XG4uZm9ybS1jb250cm9sOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICBoZWlnaHQ6IDEuNTNlbTtcbn1cbi5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNiNGJkYzY7XG4gIG9wYWNpdHk6IDE7XG59XG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VlZjE7XG4gIG9wYWNpdHk6IDE7XG59XG4uZm9ybS1jb250cm9sOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjg3NXJlbTtcbiAgbWFyZ2luOiAtMC40Mzc1cmVtIC0wLjg3NXJlbTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDAuODc1cmVtO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLWNvbnRyb2w6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1jb250cm9sOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLmZvcm0tY29udHJvbDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMC44NzVyZW07XG4gIG1hcmdpbjogLTAuNDM3NXJlbSAtMC44NzVyZW07XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tY29udHJvbDpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41MztcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xufVxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNTNlbSArIDAuNXJlbSArIDJweCk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wtc206OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgbWFyZ2luOiAtMC4yNXJlbSAtMC42MjVyZW07XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjYyNXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wtc206Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgbWFyZ2luOiAtMC4yNXJlbSAtMC42MjVyZW07XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjYyNXJlbTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMS41M2VtICsgMS41cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wtbGc6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW46IC0wLjc1cmVtIC0xLjI1cmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMS4yNXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wtbGc6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW46IC0wLjc1cmVtIC0xLjI1cmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMS4yNXJlbTtcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjUzZW0gKyAwLjg3NXJlbSArIDJweCk7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNTNlbSArIDAuNXJlbSArIDJweCk7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wtbGcge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNTNlbSArIDEuNXJlbSArIDJweCk7XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwLjQzNzVyZW07XG59XG4uZm9ybS1jb250cm9sLWNvbG9yOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3I6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgaGVpZ2h0OiAxLjUzZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLmZvcm0tY29udHJvbC1jb2xvcjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICBoZWlnaHQ6IDEuNTNlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG59XG5cbi5mb3JtLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDEuODc1cmVtIDAuNDM3NXJlbSAwLjg3NXJlbTtcbiAgLW1vei1wYWRkaW5nLXN0YXJ0OiBjYWxjKDAuODc1cmVtIC0gM3B4KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiYSUyODY3LCA4OSwgMTEzLCAwLjYlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMiA1bDYgNiA2LTYnLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuODc1cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zZWxlY3Qge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNDksIDI0OSwgMjU1LCAwLjU0KTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAuMjVyZW0gMC4wNXJlbSByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuMSk7XG59XG4uZm9ybS1zZWxlY3RbbXVsdGlwbGVdLCAuZm9ybS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5mb3JtLXNlbGVjdDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNjk3YThkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlZWYxO1xufVxuLmZvcm0tc2VsZWN0Oi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgIzY5N2E4ZDtcbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMS40MzQzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS43ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmZvcm0tY2hlY2sgLmZvcm0tY2hlY2staW5wdXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC0xLjdlbTtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICB3aWR0aDogMS4yZW07XG4gIGhlaWdodDogMS4yZW07XG4gIG1hcmdpbi10b3A6IDAuMTY1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUzO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG4uZm9ybS1jaGVjay1pbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmFjdGl2ZSB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg5MCUpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjQ5LCAyNDksIDI1NSwgMC41NCk7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjI1cmVtIDAuMDVyZW0gcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjEpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4wOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWRbdHlwZT1jaGVja2JveF0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNiAxMGwzIDNsNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZFt0eXBlPXJhZGlvXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzEuNScgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4wOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTYgMTBoOCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogMi41ZW07XG59XG4uZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQge1xuICB3aWR0aDogMmVtO1xuICBtYXJnaW4tbGVmdDogLTIuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPSdyZ2JhJTI4NjcsIDg5LCAxMTMsIDAuMyUyOScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0ncmdiYSUyODI0OSwgMjQ5LCAyNTUsIDAuNTQlMjknLyUzZSUzYy9zdmclM2VcIik7XG59XG4uZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnRuLWNoZWNrW2Rpc2FibGVkXSArIC5idG4sIC5idG4tY2hlY2s6ZGlzYWJsZWQgKyAuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC42NTtcbn1cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjk3NXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uZm9ybS1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZm9ybS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgOHB4IDBweCByZ2JhKDY3LCA4OSwgMTEzLCAwLjQpO1xufVxuLmZvcm0tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgOHB4IDBweCByZ2JhKDY3LCA4OSwgMTEzLCAwLjQpO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICBib3JkZXI6IDA7XG59XG4uZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICB3aWR0aDogMC44NzVyZW07XG4gIGhlaWdodDogMC44NzVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VlZjE7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG59XG4uZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIHdpZHRoOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC4zNzVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlZWYxO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmZvcm0tcmFuZ2U6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTM7XG59XG4uZm9ybS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTM7XG59XG5cbi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMy41cmVtICsgMnB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG4uZm9ybS1mbG9hdGluZyA+IGxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMXJlbSAwLjg3NXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1mbG9hdGluZyA+IGxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wge1xuICBwYWRkaW5nOiAxcmVtIDAuODc1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpmb2N1cywgLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpmb2N1cyB+IGxhYmVsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gbGFiZWwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLXNlbGVjdCB+IGxhYmVsIHtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KSB0cmFuc2xhdGVZKC0wLjVyZW0pIHRyYW5zbGF0ZVgoMC4xNXJlbSk7XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB+IGxhYmVsIHtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KSB0cmFuc2xhdGVZKC0wLjVyZW0pIHRyYW5zbGF0ZVgoMC4xNXJlbSk7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgd2lkdGg6IDElO1xuICBtaW4td2lkdGg6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0OmZvY3VzIHtcbiAgei1pbmRleDogMztcbn1cbi5pbnB1dC1ncm91cCAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLmlucHV0LWdyb3VwIC5idG46Zm9jdXMge1xuICB6LWluZGV4OiAzO1xufVxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUzO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNzVyZW07XG59XG5cbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuKzMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gOm50aC1sYXN0LWNoaWxkKG4rMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4rNCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiA6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLnZhbGlkLXRvb2x0aXApOm5vdCgudmFsaWQtZmVlZGJhY2spOm5vdCguaW52YWxpZC10b29sdGlwKTpub3QoLmludmFsaWQtZmVlZGJhY2spIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJ0biB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJ0bi1jaGVjazpmb2N1cyArIC5idG4sIC5idG46Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bjpkaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZCwgZmllbGRzZXQ6ZGlzYWJsZWQgLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjY1O1xufVxuXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY5NmNmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bi1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM1ZjYxZTY7XG59XG4uYnRuLWxpbms6ZGlzYWJsZWQsIC5idG4tbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjYpO1xufVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNjg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uZmFkZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZhZGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mYWRlOm5vdCguc2hvdykge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY29sbGFwc2U6bm90KC5zaG93KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY29sbGFwc2luZy5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW4tdG9wOiAtMC4yOGVtO1xuICB3aWR0aDogMC40MmVtO1xuICBoZWlnaHQ6IDAuNDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxMnJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjNjk3YThkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG59XG4uZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xufVxuXG4uZHJvcGRvd24tbWVudS1zdGFydCB7XG4gIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xufVxuLmRyb3Bkb3duLW1lbnUtc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi5kcm9wZG93bi1tZW51LWVuZCB7XG4gIC0tYnMtcG9zaXRpb246IGVuZDtcbn1cbi5kcm9wZG93bi1tZW51LWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXNtLXN0YXJ0IHtcbiAgICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1zbS1zdGFydFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS1zbS1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1zbS1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtbWQtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZHJvcGRvd24tbWVudS1sZy1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbGctc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUtbGctZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbGctZW5kW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZHJvcGRvd24tbWVudS14bC1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUteGwtZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtZW5kW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuZHJvcGRvd24tbWVudS14eGwtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXh4bC1zdGFydFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS14eGwtZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogMC40MmVtO1xuICBoZWlnaHQ6IDAuNDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGVuZCAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMC4xMjVyZW07XG59XG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjQyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC40MmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC40MmVtIHNvbGlkO1xufVxuLmRyb3BlbmQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wZW5kIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuNDJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjQyZW0gc29saWQ7XG4gIGJvcmRlci1ib3R0b206IDAuNDJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZGVlMztcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNTMycmVtIDEuMjVyZW07XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24taXRlbTpmb2N1cyB7XG4gIGNvbG9yOiAjNWY2ZTdmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA0KTtcbn1cbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjYzdjZGQ0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjUzMnJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYTFhY2I4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNTMycmVtIDEuMjVyZW07XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuOCk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGRvd24tbWVudS1kYXJrIC5kcm9wZG93bi1pdGVtIHtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMyk7XG59XG4uZHJvcGRvd24tbWVudS1kYXJrIC5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24tbWVudS1kYXJrIC5kcm9wZG93bi1pdGVtOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4uZHJvcGRvd24tbWVudS1kYXJrIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLW1lbnUtZGFyayAuZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbn1cbi5kcm9wZG93bi1tZW51LWRhcmsgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1tZW51LWRhcmsgLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC41KTtcbn1cbi5kcm9wZG93bi1tZW51LWRhcmsgLmRyb3Bkb3duLWRpdmlkZXIge1xuICBib3JkZXItY29sb3I6ICNkOWRlZTM7XG59XG4uZHJvcGRvd24tbWVudS1kYXJrIC5kcm9wZG93bi1pdGVtLXRleHQge1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC4zKTtcbn1cbi5kcm9wZG93bi1tZW51LWRhcmsgLmRyb3Bkb3duLWhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjUpO1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46bnRoLWNoaWxkKG4rMyksXG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbn1cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjUxNTYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjUxNTYyNXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMTI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIGNvbG9yOiAjOGU5YmFhO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm5hdi1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNWY2MWU2O1xufVxuLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICNjN2NkZDQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciwgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYzdjZGQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjNjk3YThkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdi1waWxscyAubmF2LWxpbmsge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm5hdi1maWxsID4gLm5hdi1saW5rLFxuLm5hdi1maWxsIC5uYXYtaXRlbSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXYtanVzdGlmaWVkID4gLm5hdi1saW5rLFxuLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIHtcbiAgZmxleC1iYXNpczogMDtcbiAgZmxleC1ncm93OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXYtZmlsbCAubmF2LWl0ZW0gLm5hdi1saW5rLFxuLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cbi5uYXZiYXIgPiAuY29udGFpbmVyLFxuLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXIgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhciA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXIgPiAuY29udGFpbmVyLXh4bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiAwLjQ1MjE4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQ1MjE4NzVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IDAgMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLm5hdmJhci10b2dnbGVyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm5hdmJhci10b2dnbGVyOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjA1cmVtO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tYnMtc2Nyb2xsLWhlaWdodCwgNzV2aCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubmF2YmFyLWV4cGFuZC1zbSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcy10b3AsXG4ubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLW1kIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzLXRvcCxcbi5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMtYm90dG9tIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMtdG9wLFxuLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5hdmJhci1leHBhbmQteGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMtdG9wLFxuLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm5hdmJhci1leHBhbmQteHhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAub2ZmY2FudmFzLXRvcCxcbi5uYXZiYXItZXhwYW5kLXh4bCAub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbi5uYXZiYXItZXhwYW5kIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGluaGVyaXQ7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZmxleC1ncm93OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzLXRvcCxcbi5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMtYm90dG9tIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLm5hdmJhci1leHBhbmQgLm9mZmNhbnZhcy1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjUpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjMpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC41KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA2KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIlMjktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSUyOC0xMTc0LjAwMDAwMCwgLTEyOTAuMDAwMDAwJTI5JyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSUyODExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCUyOSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSUyODAuMDAwMDAwLCAyLjAwMDAwMCUyOSclM0UlM0N1c2UgZmlsbD0ncmdiYSUyODY3LCA4OSwgMTEzLCAwLjUlMjknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC4xJyBmaWxsPSdyZ2JhJTI4NjcsIDg5LCAxMTMsIDAuNSUyOScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjUpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYSxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTRweCcgaGVpZ2h0PScxMXB4JyB2aWV3Qm94PScwIDAgMTQgMTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcGF0aCBkPSdNMCwwIEwxNCwwIEwxNCwxLjc1IEwwLDEuNzUgTDAsMCBaIE0wLDQuMzc1IEwxNCw0LjM3NSBMMTQsNi4xMjUgTDAsNi4xMjUgTDAsNC4zNzUgWiBNMCw4Ljc1IEwxNCw4Ljc1IEwxNCwxMC41IEwwLDEwLjUgTDAsOC43NSBaJyBpZD0ncGF0aC0xJyUzRSUzQy9wYXRoJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn5KOLVVJLUVsZW1lbnRzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9JzEyJTI5LU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUlMjgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCUyOSclM0UlM0NnIGlkPSdHcm91cCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUlMjgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDAlMjknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUlMjgwLjAwMDAwMCwgMi4wMDAwMDAlMjknJTNFJTNDdXNlIGZpbGw9J3JnYmElMjgyNTUsIDI1NSwgMjU1LCAwLjglMjknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC4xJyBmaWxsPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC44JTI5JyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVyLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAgc29saWQgI2Q5ZGVlMztcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuLmNhcmQgPiBociB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uY2FyZCA+IC5saXN0LWdyb3VwIHtcbiAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07XG59XG4uY2FyZCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjVyZW07XG59XG4uY2FyZCA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuLmNhcmQgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogMS41cmVtIDEuNXJlbTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rICsgLmNhcmQtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwIHNvbGlkICNkOWRlZTM7XG59XG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW0gMC41cmVtIDAgMDtcbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMS41cmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDAgc29saWQgI2Q5ZGVlMztcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuNXJlbSAwLjVyZW07XG59XG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG59XG5cbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xufVxuXG4uY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gICAgZmxleDogMSAwIDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCArIC5jYXJkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4uY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjc5cmVtIDEuMTI1cmVtO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICM1NjZhN2Y7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjE1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4gIGNvbG9yOiAjNTY2YTdmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAjZDlkZWUzO1xufVxuLmFjY29yZGlvbi1idXR0b246bm90KC5jb2xsYXBzZWQpOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTIgMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggaWQ9J2EnIGQ9J20xLjUzMiAxMiA2LjE4Mi02LTYuMTgyLTZMMCAxLjQ4NyA0LjY1IDYgMCAxMC41MTN6Jy8lM0UlM0MvZGVmcyUzRSUzQ2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUlMjgyLjU3MSUyOScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ3VzZSBmaWxsPSclMjM0MzU5NzEnIHhsaW5rOmhyZWY9JyUyM2EnLyUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9Jy4xJyBmaWxsPSclMjM1NjZhN2YnIHhsaW5rOmhyZWY9JyUyM2EnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGlkPSdhJyBkPSdtMS41MzIgMTIgNi4xODItNi02LjE4Mi02TDAgMS40ODcgNC42NSA2IDAgMTAuNTEzeicvJTNFJTNDL2RlZnMlM0UlM0NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlJTI4Mi41NzElMjknIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0N1c2UgZmlsbD0nJTIzNDM1OTcxJyB4bGluazpocmVmPSclMjNhJy8lM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScuMScgZmlsbD0nJTIzNTY2YTdmJyB4bGluazpocmVmPSclMjNhJy8lM0UlM0MvZyUzRSUzQy9zdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5hY2NvcmRpb24tYnV0dG9uOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OSwgMjQ5LCAyNTUsIDAuNTQpO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMCBzb2xpZCAjZDlkZWUzO1xufVxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LW9mLXR5cGUgLmFjY29yZGlvbi1idXR0b24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLmFjY29yZGlvbi1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1vZi10eXBlIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1vZi10eXBlIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNzVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiAwLjc5cmVtIDEuMTI1cmVtO1xufVxuXG4uYWNjb3JkaW9uLWZsdXNoIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICBib3JkZXItd2lkdGg6IDA7XG59XG4uYWNjb3JkaW9uLWZsdXNoIC5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYWNjb3JkaW9uLWZsdXNoIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4uYWNjb3JkaW9uLWZsdXNoIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgY29sb3I6ICNhMWFjYjg7XG4gIGNvbnRlbnQ6IHZhcigtLWJzLWJyZWFkY3J1bWItZGl2aWRlciwgXCIvXCIpIC8qIHJ0bDogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLCBcIlxcXFxcIikgKi87XG59XG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNjk3YThkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMmY0O1xuICBib3JkZXI6IDBweCBzb2xpZCAjZDlkZWUzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLnBhZ2UtbGluazpob3ZlciB7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjNjk3YThkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU4O1xuICBib3JkZXItY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMyk7XG59XG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMWU0ZTg7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5wYWdlLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG59XG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4wOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbn1cbi5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gIGNvbG9yOiAjYTFhY2I4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjhmOTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjMpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC41MTI1cmVtO1xufVxuXG4ucGFnZS1pdGVtIC5wYWdlLWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbSAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbSAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjUyZW0gMC41OTNlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLmFsZXJ0LWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07XG59XG4uYWxlcnQtZGlzbWlzc2libGUgLmJ0bi1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMS4xNzE4NzVyZW0gMC45Mzc1cmVtO1xufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMC43NXJlbTtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAwLjc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVyZW0gMC43NXJlbTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIGluZmluaXRlIHByb2dyZXNzLWJhci1zdHJpcGVzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xufVxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjOGU5YmFhO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgei1pbmRleDogMTtcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4wNik7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUge1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4wNSk7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjU4cmVtIDAuOTM3NXJlbTtcbiAgY29sb3I6ICM2OTdhOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUzO1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLCAubGlzdC1ncm91cC1pdGVtOmRpc2FibGVkIHtcbiAgY29sb3I6ICNjN2NkZDQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4wOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4uYnRuLWNsb3NlIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgcGFkZGluZzogMC4yNWVtIDAuMjVlbTtcbiAgY29sb3I6ICNhMWFjYjg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSUyOC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCUyOSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSUyODIyNS4wMDAwMDAsIDI1MC41MDAwMDAlMjknJTNFJTNDdXNlIGZpbGw9JyUyM2ExYWNiOCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjUnIGZpbGw9JyUyM2ExYWNiOCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpIGNlbnRlci8wLjhlbSBhdXRvIG5vLXJlcGVhdDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgb3BhY2l0eTogMC45NTtcbn1cbi5idG4tY2xvc2U6aG92ZXIge1xuICBjb2xvcjogI2ExYWNiODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjk1O1xufVxuLmJ0bi1jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG9wYWNpdHk6IDAuOTU7XG59XG4uYnRuLWNsb3NlOmRpc2FibGVkLCAuYnRuLWNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiAwLjI1O1xufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgZmlsdGVyOiBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSk7XG59XG5cbi50b2FzdCB7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMCBzb2xpZCByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNDUpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG4udG9hc3Quc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7XG59XG4udG9hc3Q6bm90KC5zaG93KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udG9hc3QtY29udGFpbmVyID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtO1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbn1cbi50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDkwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEuNXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KSBzY2FsZSgwLjgpO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbn1cbi5tb2RhbC5tb2RhbC1zdGF0aWMgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDY3LCA4OSwgMTEzLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDg5O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzU5NzE7XG59XG4ubW9kYWwtYmFja2Ryb3AuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ubW9kYWwtYmFja2Ryb3Auc2hvdyB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNkOWRlZTM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC41cmVtIC0gMHB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC41cmVtIC0gMHB4KTtcbn1cbi5tb2RhbC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuNzVyZW07XG4gIG1hcmdpbjogLTAuMTI1cmVtIC0wLjc1cmVtIC0wLjEyNXJlbSBhdXRvO1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41Mztcbn1cblxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXItdG9wOiAwcHggc29saWQgI2Q5ZGVlMztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC41cmVtIC0gMHB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjVyZW0gLSAwcHgpO1xufVxuLm1vZGFsLWZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDM1cmVtO1xuICAgIG1hcmdpbjogMS43NXJlbSBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNXJlbSk7XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjVyZW0pO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICBtYXgtd2lkdGg6IDIyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcsXG4ubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogNTByZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgfVxufVxuLm1vZGFsLWZ1bGxzY3JlZW4ge1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLm1vZGFsLWZ1bGxzY3JlZW4gLm1vZGFsLWhlYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtYm9keSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtZm9vdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtaGVhZGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLW1kLWRvd24gLm1vZGFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1oZWFkZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24gLm1vZGFsLWhlYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24gLm1vZGFsLWZvb3RlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWhlYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWZvb3RlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24gLm1vZGFsLWhlYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtc2Fucy1zZXJpZik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcbn1cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiAxO1xufVxuLnRvb2x0aXAgLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC44cmVtO1xuICBoZWlnaHQ6IDAuNHJlbTtcbn1cbi50b29sdGlwIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy10b29sdGlwLXRvcCwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0ge1xuICBwYWRkaW5nOiAwLjRyZW0gMDtcbn1cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG59XG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSB7XG4gIHRvcDogLTFweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyMzM0NDY7XG59XG5cbi5icy10b29sdGlwLWVuZCwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSB7XG4gIHBhZGRpbmc6IDAgMC40cmVtO1xufVxuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93LCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG59XG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjMzNDQ2O1xufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20sIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIHtcbiAgcGFkZGluZzogMC40cmVtIDA7XG59XG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xufVxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBib3R0b206IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMCAwLjRyZW0gMC40cmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjMzNDQ2O1xufVxuXG4uYnMtdG9vbHRpcC1zdGFydCwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIHtcbiAgcGFkZGluZzogMCAwLjRyZW07XG59XG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAwLjRyZW07XG4gIGhlaWdodDogMC44cmVtO1xufVxuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAtMXB4O1xuICBib3JkZXItd2lkdGg6IDAuNHJlbSAwIDAuNHJlbSAwLjRyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjMzNDQ2O1xufVxuXG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwIC8qIHJ0bDppZ25vcmUgKi87XG4gIHotaW5kZXg6IDEwOTE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDI3NnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1zYW5zLXNlcmlmKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41MztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDY3LCA4OSwgMTEzLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG4ucG9wb3ZlciAucG9wb3Zlci1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDAuNXJlbTtcbn1cbi5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0wLjVyZW0gLSAwcHgpO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbn1cbi5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3R0b206IDBweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG5cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0wLjVyZW0gLSAwcHgpO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG4uYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xufVxuLmJzLXBvcG92ZXItZW5kID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgbGVmdDogMHB4O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3csIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3cge1xuICB0b3A6IGNhbGMoLTAuNXJlbSAtIDBweCk7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICB0b3A6IDBweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdywgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3cge1xuICByaWdodDogY2FsYygtMC41cmVtIC0gMHB4KTtcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xufVxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG4uYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgcmlnaHQ6IDBweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtO1xuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbn1cblxuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogMCAxLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjNTY2YTdmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC41cmVtIC0gMHB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC41cmVtIC0gMHB4KTtcbn1cbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjEyNXJlbTtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWlubmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMTtcbn1cbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB6LWluZGV4OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDAuNnM7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNCU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNTVyZW07XG4gIGhlaWdodDogMi41NXJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgc3R5bGU9J2ZpbGw6ICUyM2ZmZjt0cmFuc2Zvcm06IDttc0ZpbHRlcjo7JyUzRSUzQ3BhdGggZD0nTTEzLjI5MyA2LjI5MyA3LjU4NiAxMmw1LjcwNyA1LjcwNyAxLjQxNC0xLjQxNEwxMC40MTQgMTJsNC4yOTMtNC4yOTN6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBzdHlsZT0nZmlsbDogJTIzZmZmO3RyYW5zZm9ybTogO21zRmlsdGVyOjsnJTNFJTNDcGF0aCBkPSdNMTAuNzA3IDE3LjcwNyAxNi40MTQgMTJsLTUuNzA3LTUuNzA3LTEuNDE0IDEuNDE0TDEzLjU4NiAxMmwtNC4yOTMgNC4yOTN6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDE0JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDE0JTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDEuMjVyZW07XG4gIGxlZnQ6IDE1JTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwKTtcbn1cbi5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM1OTcxO1xufVxuLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWNhcHRpb24ge1xuICBjb2xvcjogIzQzNTk3MTtcbn1cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIC8qIHJ0bDppZ25vcmUgKi87XG4gIH1cbn1cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAwLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAwLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNwaW5uZXItYm9yZGVyLFxuLnNwaW5uZXItZ3JvdyB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICB9XG59XG4ub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwOTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5vZmZjYW52YXMtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA4OTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM1OTcxO1xufVxuLm9mZmNhbnZhcy1iYWNrZHJvcC5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5vZmZjYW52YXMtYmFja2Ryb3Auc2hvdyB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW07XG59XG4ub2ZmY2FudmFzLWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgcGFkZGluZzogMC43NXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XG59XG5cbi5vZmZjYW52YXMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41Mztcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ub2ZmY2FudmFzLXN0YXJ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNDAwcHg7XG4gIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5vZmZjYW52YXMtZW5kIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwMHB4O1xuICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLm9mZmNhbnZhcy10b3Age1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDMwdmg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCByZ2JhKDY3LCA4OSwgMTEzLCAwLjIpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4ub2ZmY2FudmFzLWJvdHRvbSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDMwdmg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IDBweCBzb2xpZCByZ2JhKDY3LCA4OSwgMTEzLCAwLjIpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi5vZmZjYW52YXMuc2hvdyB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjU7XG59XG4ucGxhY2Vob2xkZXIuYnRuOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IDAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAwLjhlbTtcbn1cblxuLnBsYWNlaG9sZGVyLWxnIHtcbiAgbWluLWhlaWdodDogMS4yZW07XG59XG5cbi5wbGFjZWhvbGRlci1nbG93IC5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgIzQzNTk3MSA1NSUsIHJnYmEoMCwgMCwgMCwgMC44KSA3NSUsICM0MzU5NzEgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubGluay1wcmltYXJ5IHtcbiAgY29sb3I6ICM2OTZjZmY7XG59XG4ubGluay1wcmltYXJ5OmhvdmVyLCAubGluay1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICM1ZjYxZTY7XG59XG5cbi5saW5rLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjODU5MmEzO1xufVxuLmxpbmstc2Vjb25kYXJ5OmhvdmVyLCAubGluay1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzc4ODM5Mztcbn1cblxuLmxpbmstc3VjY2VzcyB7XG4gIGNvbG9yOiAjNzFkZDM3O1xufVxuLmxpbmstc3VjY2Vzczpob3ZlciwgLmxpbmstc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjNjZjNzMyO1xufVxuXG4ubGluay1pbmZvIHtcbiAgY29sb3I6ICMwM2MzZWM7XG59XG4ubGluay1pbmZvOmhvdmVyLCAubGluay1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICMwM2IwZDQ7XG59XG5cbi5saW5rLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmYWIwMDtcbn1cbi5saW5rLXdhcm5pbmc6aG92ZXIsIC5saW5rLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2U2OWEwMDtcbn1cblxuLmxpbmstZGFuZ2VyIHtcbiAgY29sb3I6ICNmZjNlMWQ7XG59XG4ubGluay1kYW5nZXI6aG92ZXIsIC5saW5rLWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZTYzODFhO1xufVxuXG4ubGluay1saWdodCB7XG4gIGNvbG9yOiAjZmNmZGZkO1xufVxuLmxpbmstbGlnaHQ6aG92ZXIsIC5saW5rLWxpZ2h0OmZvY3VzIHtcbiAgY29sb3I6ICNmY2ZkZmQ7XG59XG5cbi5saW5rLWRhcmsge1xuICBjb2xvcjogIzIzMzQ0Njtcbn1cbi5saW5rLWRhcms6aG92ZXIsIC5saW5rLWRhcms6Zm9jdXMge1xuICBjb2xvcjogIzIwMmYzZjtcbn1cblxuLmxpbmstZ3JheSB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xufVxuLmxpbmstZ3JheTpob3ZlciwgLmxpbmstZ3JheTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDIyLCAyOSwgMzYsIDAuMTkpO1xufVxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJhdGlvOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IHZhcigtLWJzLWFzcGVjdC1yYXRpbyk7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ucmF0aW8gPiAqIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yYXRpby0xeDEge1xuICAtLWJzLWFzcGVjdC1yYXRpbzogMTAwJTtcbn1cblxuLnJhdGlvLTR4MyB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiA3NSU7XG59XG5cbi5yYXRpby0xNng5IHtcbiAgLS1icy1hc3BlY3QtcmF0aW86IDU2LjI1JTtcbn1cblxuLnJhdGlvLTIxeDkge1xuICAtLWJzLWFzcGVjdC1yYXRpbzogNDIuODU3MTQyODU3MSU7XG59XG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDIwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnN0aWNreS1zbS10b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RpY2t5LW1kLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdGlja3ktbGctdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdGlja3kteGwtdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zdGlja3kteHhsLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uc3RyZXRjaGVkLWxpbms6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjpyb290IHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmE6bm90KFtocmVmXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpub3QoW2hyZWZdKTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50O1xufVxuXG4ucm93LWJvcmRlcmVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yb3ctYm9yZGVyZWQgPiAuY29sLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV0sXG4ucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDFweDtcbn1cbi5yb3ctYm9yZGVyZWQgPiAuY29sOjpiZWZvcmUsXG4ucm93LWJvcmRlcmVkID4gW2NsYXNzXj1jb2wtXTo6YmVmb3JlLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YmVmb3JlLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjpiZWZvcmUsXG4ucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjpiZWZvcmUsXG4ucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl06OmJlZm9yZSxcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZGVlMztcbn1cbi5yb3ctYm9yZGVyZWQgPiAuY29sOjphZnRlcixcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePWNvbC1dOjphZnRlcixcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl06OmFmdGVyLFxuLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjphZnRlcixcbi5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5ZGVlMztcbn1cbi5yb3ctYm9yZGVyZWQucm93LWJvcmRlci1saWdodCA+IC5jb2w6OmJlZm9yZSwgLnJvdy1ib3JkZXJlZC5yb3ctYm9yZGVyLWxpZ2h0ID4gLmNvbDo6YWZ0ZXIsXG4ucm93LWJvcmRlcmVkLnJvdy1ib3JkZXItbGlnaHQgPiBbY2xhc3NePWNvbC1dOjpiZWZvcmUsXG4ucm93LWJvcmRlcmVkLnJvdy1ib3JkZXItbGlnaHQgPiBbY2xhc3NePWNvbC1dOjphZnRlcixcbi5yb3ctYm9yZGVyZWQucm93LWJvcmRlci1saWdodCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YmVmb3JlLFxuLnJvdy1ib3JkZXJlZC5yb3ctYm9yZGVyLWxpZ2h0ID4gW2NsYXNzKj1cIiBjb2wtXCJdOjphZnRlcixcbi5yb3ctYm9yZGVyZWQucm93LWJvcmRlci1saWdodCA+IFtjbGFzc149XCJjb2wgXCJdOjpiZWZvcmUsXG4ucm93LWJvcmRlcmVkLnJvdy1ib3JkZXItbGlnaHQgPiBbY2xhc3NePVwiY29sIFwiXTo6YWZ0ZXIsXG4ucm93LWJvcmRlcmVkLnJvdy1ib3JkZXItbGlnaHQgPiBbY2xhc3MqPVwiIGNvbCBcIl06OmJlZm9yZSxcbi5yb3ctYm9yZGVyZWQucm93LWJvcmRlci1saWdodCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YWZ0ZXIsXG4ucm93LWJvcmRlcmVkLnJvdy1ib3JkZXItbGlnaHQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YmVmb3JlLFxuLnJvdy1ib3JkZXJlZC5yb3ctYm9yZGVyLWxpZ2h0ID4gW2NsYXNzJD1cIiBjb2xcIl06OmFmdGVyLFxuLnJvdy1ib3JkZXJlZC5yb3ctYm9yZGVyLWxpZ2h0ID4gW2NsYXNzPWNvbF06OmJlZm9yZSxcbi5yb3ctYm9yZGVyZWQucm93LWJvcmRlci1saWdodCA+IFtjbGFzcz1jb2xdOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbn1cblxuLmJnLWxhYmVsLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVlZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4NTkyYTMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sYWJlbC1zZWNvbmRhcnkge1xuICBib3JkZXI6IDNweCBzb2xpZCAjY2VkM2RhICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQtc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgxMzMsIDE0NiwgMTYzLCAwLjA4KTtcbn1cblxuLmJnLWxhYmVsLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThmYWRmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNzFkZDM3ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGFiZWwtc3VjY2VzcyB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNjNmYxYWYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodC1zdWNjZXNzIHtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgxMTMsIDIyMSwgNTUsIDAuMDgpO1xufVxuXG4uYmctbGFiZWwtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkN2Y1ZmMgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwM2MzZWMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sYWJlbC1pbmZvIHtcbiAgYm9yZGVyOiAzcHggc29saWQgIzlhZTdmNyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0LWluZm8ge1xuICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDMsIDE5NSwgMjM2LCAwLjA4KTtcbn1cblxuLmJnLWxhYmVsLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMmQ2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZhYjAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGFiZWwtd2FybmluZyB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmRkOTkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodC13YXJuaW5nIHtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDE3MSwgMCwgMC4wOCk7XG59XG5cbi5iZy1sYWJlbC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMGRiICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmYzZTFkICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGFiZWwtZGFuZ2VyIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmYjJhNSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0LWRhbmdlciB7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCA2MiwgMjksIDAuMDgpO1xufVxuXG4uYmctbGFiZWwtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZjZmRmZCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxhYmVsLWxpZ2h0IHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0LWxpZ2h0IHtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTIsIDI1MywgMjUzLCAwLjA4KTtcbn1cblxuLmJnLWxhYmVsLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZmUxICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjMzNDQ2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGFiZWwtZGFyayB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNhN2FlYjUgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodC1kYXJrIHtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgzNSwgNTIsIDcwLCAwLjA4KTtcbn1cblxuLmJnLWxhYmVsLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MywgMjUzLCAyNTQsIDAuODU2KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxhYmVsLWdyYXkge1xuICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI0OSwgMjQ5LCAyNTAsIDAuNjQpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQtZ3JheSB7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMDgpO1xufVxuXG5hLmJnLWRhcms6aG92ZXIsIGEuYmctZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuOSkgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMikgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saWdodGVyOmhvdmVyLCBhLmJnLWxpZ2h0ZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctbGlnaHRlc3Q6aG92ZXIsIGEuYmctbGlnaHRlc3Q6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA1KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZFtocmVmXTpob3ZlciwgLnRleHQtbXV0ZWRbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogIzhlOWJhYSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiAjYjRiZGM2ICFpbXBvcnRhbnQ7XG59XG4udGV4dC1saWdodFtocmVmXTpob3ZlciwgLnRleHQtbGlnaHRbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogIzhlOWJhYSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodGVyIHtcbiAgY29sb3I6ICNjN2NkZDQgIWltcG9ydGFudDtcbn1cbi50ZXh0LWxpZ2h0ZXJbaHJlZl06aG92ZXIsIC50ZXh0LWxpZ2h0ZXJbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogIzhlOWJhYSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodGVzdCB7XG4gIGNvbG9yOiAjZDlkZWUzICFpbXBvcnRhbnQ7XG59XG4udGV4dC1saWdodGVzdFtocmVmXTpob3ZlciwgLnRleHQtbGlnaHRlc3RbaHJlZl06Zm9jdXMge1xuICBjb2xvcjogIzhlOWJhYSAhaW1wb3J0YW50O1xufVxuXG4uaW52ZXJ0LXRleHQtd2hpdGUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uaW52ZXJ0LXRleHQtd2hpdGVbaHJlZl06aG92ZXI6aG92ZXIsIC5pbnZlcnQtdGV4dC13aGl0ZVtocmVmXTpob3Zlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZlcnQtdGV4dC1kYXJrIHtcbiAgY29sb3I6ICM0MzU5NzEgIWltcG9ydGFudDtcbn1cblxuLmludmVydC10ZXh0LWRhcmtbaHJlZl06aG92ZXI6aG92ZXIsIC5pbnZlcnQtdGV4dC1kYXJrW2hyZWZdOmhvdmVyOmZvY3VzIHtcbiAgY29sb3I6ICM0MzU5NzEgIWltcG9ydGFudDtcbn1cblxuLmludmVydC1iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuYS5pbnZlcnQtYmctd2hpdGU6aG92ZXIsIGEuaW52ZXJ0LWJnLXdoaXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uaW52ZXJ0LWJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjkpICFpbXBvcnRhbnQ7XG59XG5cbmEuaW52ZXJ0LWJnLWRhcms6aG92ZXIsIGEuaW52ZXJ0LWJnLWRhcms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjkpICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZlcnQtYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6ICMyMzM0NDYgIWltcG9ydGFudDtcbn1cblxuLmludmVydC1ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmNvbnRhaW5lci1wLXgge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXItcC14IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29udGFpbmVyLW0tbngge1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXItbS1ueCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS42MjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTEuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wLXk6bm90KFtjbGFzc149cHQtXSk6bm90KFtjbGFzcyo9XCIgcHQtXCJdKSB7XG4gIHBhZGRpbmctdG9wOiAxLjYyNXJlbSAhaW1wb3J0YW50O1xufVxuLmNvbnRhaW5lci1wLXk6bm90KFtjbGFzc149cGItXSk6bm90KFtjbGFzcyo9XCIgcGItXCJdKSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjYyNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyLW0tbnk6bm90KFtjbGFzc149bXQtXSk6bm90KFtjbGFzcyo9XCIgbXQtXCJdKSB7XG4gIG1hcmdpbi10b3A6IC0xLjYyNXJlbSAhaW1wb3J0YW50O1xufVxuLmNvbnRhaW5lci1tLW55Om5vdChbY2xhc3NePW1iLV0pOm5vdChbY2xhc3MqPVwiIG1iLVwiXSkge1xuICBtYXJnaW4tYm90dG9tOiAtMS42MjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmNlbGwtZml0IHtcbiAgd2lkdGg6IDAuMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YWJsZS1zZWNvbmRhcnkge1xuICAtLWJzLXRhYmxlLWJnOiAjZTdlOWVkO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNlMmU1ZTk7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNkN2RiZTE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZGRlMGU2O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjNDM1OTcxO1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYm9yZGVyLWNvbG9yOiAjZDdkYmUxO1xufVxuLnRhYmxlLXNlY29uZGFyeSB0aCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbi50YWJsZS1zZWNvbmRhcnkgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS1zdWNjZXNzIHtcbiAgLS1icy10YWJsZS1iZzogI2UzZjhkNztcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZGVmM2Q0O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjZDNlOGNkO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2Q5ZWVkMTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2QzZThjZDtcbn1cbi50YWJsZS1zdWNjZXNzIHRoIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuLnRhYmxlLXN1Y2Nlc3MgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS1pbmZvIHtcbiAgLS1icy10YWJsZS1iZzogI2NkZjNmYjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzllZWY3O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYmZlNGVkO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2M1ZWFmMztcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2JmZTRlZDtcbn1cbi50YWJsZS1pbmZvIHRoIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuLnRhYmxlLWluZm8gLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS13YXJuaW5nIHtcbiAgLS1icy10YWJsZS1iZzogI2ZmZWVjYztcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZjllYWM5O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjZWNkZmMzO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2Y0ZTVjNztcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogI2VjZGZjMztcbn1cbi50YWJsZS13YXJuaW5nIHRoIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuLnRhYmxlLXdhcm5pbmcgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS1kYW5nZXIge1xuICAtLWJzLXRhYmxlLWJnOiAjZmZkOGQyO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNmOWQ0Y2Y7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNlY2NiYzg7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZjRkMGNjO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjNDM1OTcxO1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYm9yZGVyLWNvbG9yOiAjZWNjYmM4O1xufVxuLnRhYmxlLWRhbmdlciB0aCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbi50YWJsZS1kYW5nZXIgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS1saWdodCB7XG4gIC0tYnMtdGFibGUtYmc6ICNmY2ZkZmQ7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2Y2ZjhmOTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2VhZWRlZjtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICM0MzU5NzE7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNmMWYzZjU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICM0MzU5NzE7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBib3JkZXItY29sb3I6ICNlYWVkZWY7XG59XG4udGFibGUtbGlnaHQgdGgge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4udGFibGUtbGlnaHQgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgLS1icy10YWJsZS1iZzogIzIzMzQ0NjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjMmEzYTRjO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjMzk0ODU5O1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogIzMwNDA1MTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogIzM5NDg1OTtcbn1cbi50YWJsZS1kYXJrIHRoIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM5NDg1OSAhaW1wb3J0YW50O1xufVxuLnRhYmxlLWRhcmsgLmJ0bi1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJkIC50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIC50YWJsZSAuZHJvcGRvd24tbWVudS5zaG93IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIH1cbn1cbi50YWJsZSB0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi50YWJsZTpub3QoLnRhYmxlLWRhcmspIHRoIHtcbiAgY29sb3I6ICM1NjZhN2Y7XG59XG5cbi50YWJsZS1ib3JkZXItYm90dG9tLTAgdHI6bGFzdC1jaGlsZCB0ZCxcbi50YWJsZS1ib3JkZXItYm90dG9tLTAgdHI6bGFzdC1jaGlsZCB0aCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG5cbi50YWJsZS50YWJsZS1kYXJrIC5idG4uYnRuLWljb24ge1xuICBjb2xvcjogI2Q5ZGVlMztcbn1cblxuLnRhYmxlLnRhYmxlLWZsdXNoLXNwYWNpbmcgdGhlYWQgdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi50YWJsZS50YWJsZS1mbHVzaC1zcGFjaW5nIHRib2R5IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4udGFibGUudGFibGUtZmx1c2gtc3BhY2luZyB0aGVhZCB0ciA+IHRkOmxhc3QtY2hpbGQsXG4udGFibGUudGFibGUtZmx1c2gtc3BhY2luZyB0Ym9keSB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubmF2LWFsaWduLXRvcCAudGFibGU6bm90KC50YWJsZS1kYXJrKSxcbi5uYXYtYWxpZ24tdG9wIC50YWJsZTpub3QoLnRhYmxlLWRhcmspIHRoZWFkOm5vdCgudGFibGUtZGFyaykgdGgsXG4ubmF2LWFsaWduLXRvcCAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0Zm9vdDpub3QoLnRhYmxlLWRhcmspIHRoLFxuLm5hdi1hbGlnbi10b3AgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGQsXG4ubmF2LWFsaWduLXJpZ2h0IC50YWJsZTpub3QoLnRhYmxlLWRhcmspLFxuLm5hdi1hbGlnbi1yaWdodCAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0aGVhZDpub3QoLnRhYmxlLWRhcmspIHRoLFxuLm5hdi1hbGlnbi1yaWdodCAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0Zm9vdDpub3QoLnRhYmxlLWRhcmspIHRoLFxuLm5hdi1hbGlnbi1yaWdodCAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0ZCxcbi5uYXYtYWxpZ24tYm90dG9tIC50YWJsZTpub3QoLnRhYmxlLWRhcmspLFxuLm5hdi1hbGlnbi1ib3R0b20gLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGhlYWQ6bm90KC50YWJsZS1kYXJrKSB0aCxcbi5uYXYtYWxpZ24tYm90dG9tIC50YWJsZTpub3QoLnRhYmxlLWRhcmspIHRmb290Om5vdCgudGFibGUtZGFyaykgdGgsXG4ubmF2LWFsaWduLWJvdHRvbSAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0ZCxcbi5uYXYtYWxpZ24tbGVmdCAudGFibGU6bm90KC50YWJsZS1kYXJrKSxcbi5uYXYtYWxpZ24tbGVmdCAudGFibGU6bm90KC50YWJsZS1kYXJrKSB0aGVhZDpub3QoLnRhYmxlLWRhcmspIHRoLFxuLm5hdi1hbGlnbi1sZWZ0IC50YWJsZTpub3QoLnRhYmxlLWRhcmspIHRmb290Om5vdCgudGFibGUtZGFyaykgdGgsXG4ubmF2LWFsaWduLWxlZnQgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGQge1xuICBib3JkZXItY29sb3I6ICNkOWRlZTM7XG59XG5cbi5idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYnRuLmRpc2FibGVkLCAuYnRuOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYnRuIC5iYWRnZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJ0biAuYmFkZ2Uge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxubGFiZWwuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJ0bi14bCwgLmJ0bi1ncm91cC14bCA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjg3NXJlbSAyLjEyNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbn1cblxuLmJ0bi14cywgLmJ0bi1ncm91cC14cyA+IC5idG4ge1xuICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTJhMztcbiAgYm9yZGVyLWNvbG9yOiAjODU5MmEzO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDEzMywgMTQ2LCAxNjMsIDAuNCk7XG59XG4uYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg4MzkzO1xuICBib3JkZXItY29sb3I6ICM3ODgzOTM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLXNlY29uZGFyeSwgLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ODgzOTM7XG4gIGJvcmRlci1jb2xvcjogIzc4ODM5MztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1zZWNvbmRhcnksIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1zZWNvbmRhcnksIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzE3YzhiO1xuICBib3JkZXItY29sb3I6ICM3MTdjOGI7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnRuLXNlY29uZGFyeTpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICBjb2xvcjogIzg1OTJhMztcbiAgYm9yZGVyLWNvbG9yOiAjODU5MmEzO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4ODM5MztcbiAgYm9yZGVyLWNvbG9yOiAjNzg4MzkzO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDEzMywgMTQ2LCAxNjMsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ODgzOTM7XG4gIGJvcmRlci1jb2xvcjogIzc4ODM5MztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcxN2M4YjtcbiAgYm9yZGVyLWNvbG9yOiAjNzE3YzhiO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLnNob3c6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogIzg1OTJhMztcbiAgYm9yZGVyLWNvbG9yOiAjODU5MmEzO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzOmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlIC5iYWRnZSxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlIC5iYWRnZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzg1OTJhMztcbn1cblxuLmJ0bi1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MWRkMzc7XG4gIGJvcmRlci1jb2xvcjogIzcxZGQzNztcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIDAgcmdiYSgxMTMsIDIyMSwgNTUsIDAuNCk7XG59XG4uYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YzczMjtcbiAgYm9yZGVyLWNvbG9yOiAjNjZjNzMyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1zdWNjZXNzLCAuYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZjNzMyO1xuICBib3JkZXItY29sb3I6ICM2NmM3MzI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tc3VjY2VzcywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLXN1Y2Nlc3MsIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsIC5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjBiYzJmO1xuICBib3JkZXItY29sb3I6ICM2MGJjMmY7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNzFkZDM3O1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YzczMjtcbiAgYm9yZGVyLWNvbG9yOiAjNjZjNzMyO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDExMywgMjIxLCA1NSwgMC40KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmJ0bi1jaGVjazpmb2N1cyArIC5idG4tb3V0bGluZS1zdWNjZXNzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZjNzMyO1xuICBib3JkZXItY29sb3I6ICM2NmM3MzI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS1zdWNjZXNzLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tb3V0bGluZS1zdWNjZXNzLCAuYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYwYmMyZjtcbiAgYm9yZGVyLWNvbG9yOiAjNjBiYzJmO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuc2hvdzpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiAjNzFkZDM3O1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1czpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmUgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlIC5iYWRnZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM3MWRkMzc7XG59XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNjM2VjO1xuICBib3JkZXItY29sb3I6ICMwM2MzZWM7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMywgMTk1LCAyMzYsIDAuNCk7XG59XG4uYnRuLWluZm86aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYjBkNDtcbiAgYm9yZGVyLWNvbG9yOiAjMDNiMGQ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1pbmZvLCAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNiMGQ0O1xuICBib3JkZXItY29sb3I6ICMwM2IwZDQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4taW5mbywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLWluZm8sIC5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5hY3RpdmUsIC5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhNmM5O1xuICBib3JkZXItY29sb3I6ICMwM2E2Yzk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLWluZm86Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1pbmZvLmRpc2FibGVkLCAuYnRuLWluZm86ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIGNvbG9yOiAjMDNjM2VjO1xuICBib3JkZXItY29sb3I6ICMwM2MzZWM7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYjBkNDtcbiAgYm9yZGVyLWNvbG9yOiAjMDNiMGQ0O1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDMsIDE5NSwgMjM2LCAwLjQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tb3V0bGluZS1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2IwZDQ7XG4gIGJvcmRlci1jb2xvcjogIzAzYjBkNDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLCAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuc2hvdyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhNmM5O1xuICBib3JkZXItY29sb3I6ICMwM2E2Yzk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5zaG93OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1pbmZvIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICMwM2MzZWM7XG4gIGJvcmRlci1jb2xvcjogIzAzYzNlYztcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1pbmZvOmZvY3VzOmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZSAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUgLmJhZGdlLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAzYzNlYztcbn1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFiMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmYWIwMDtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIDAgcmdiYSgyNTUsIDE3MSwgMCwgMC40KTtcbn1cbi5idG4td2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY5YTAwO1xuICBib3JkZXItY29sb3I6ICNlNjlhMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLXdhcm5pbmcsIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjlhMDA7XG4gIGJvcmRlci1jb2xvcjogI2U2OWEwMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi13YXJuaW5nLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4td2FybmluZywgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTkxMDA7XG4gIGJvcmRlci1jb2xvcjogI2Q5OTEwMDtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLXdhcm5pbmc6Zm9jdXMsIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmFiMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmYWIwMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY5YTAwO1xuICBib3JkZXItY29sb3I6ICNlNjlhMDA7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMjU1LCAxNzEsIDAsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLW91dGxpbmUtd2FybmluZywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2OWEwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZTY5YTAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLW91dGxpbmUtd2FybmluZywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtd2FybmluZywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUsIC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTkxMDA7XG4gIGJvcmRlci1jb2xvcjogI2Q5OTEwMDtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLnNob3c6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogI2ZmYWIwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZhYjAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXM6aG92ZXIgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlIC5iYWRnZSxcbi5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZSAuYmFkZ2UsXG4uc2hvdyA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmZhYjAwO1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzZTFkO1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQ7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMjU1LCA2MiwgMjksIDAuNCk7XG59XG4uYnRuLWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzODFhO1xuICBib3JkZXItY29sb3I6ICNlNjM4MWE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLWRhbmdlciwgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjM4MWE7XG4gIGJvcmRlci1jb2xvcjogI2U2MzgxYTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1kYW5nZXIsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1kYW5nZXIsIC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzNTE5O1xuICBib3JkZXItY29sb3I6ICNkOTM1MTk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBjb2xvcjogI2ZmM2UxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzgxYTtcbiAgYm9yZGVyLWNvbG9yOiAjZTYzODFhO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDI1NSwgNjIsIDI5LCAwLjQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1vdXRsaW5lLWRhbmdlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzODFhO1xuICBib3JkZXItY29sb3I6ICNlNjM4MWE7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS1kYW5nZXIsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWRhbmdlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTM1MTk7XG4gIGJvcmRlci1jb2xvcjogI2Q5MzUxOTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5zaG93OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtZGFuZ2VyIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZjNlMWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1czpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZSAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZSAuYmFkZ2UsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNmZjNlMWQ7XG59XG5cbi5idG4tbGlnaHQge1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmRmZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmNmZGZkO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDI1MiwgMjUzLCAyNTMsIDAuNCk7XG59XG4uYnRuLWxpZ2h0OmhvdmVyIHtcbiAgY29sb3I6ICM0MzU5NzE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZkZmQ7XG4gIGJvcmRlci1jb2xvcjogI2ZjZmRmZDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmJ0bi1jaGVjazpmb2N1cyArIC5idG4tbGlnaHQsIC5idG4tbGlnaHQ6Zm9jdXMsIC5idG4tbGlnaHQuZm9jdXMge1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmRmZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmNmZGZkO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLWxpZ2h0LCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tbGlnaHQsIC5idG4tbGlnaHQ6YWN0aXZlLCAuYnRuLWxpZ2h0LmFjdGl2ZSwgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZkO1xuICBib3JkZXItY29sb3I6ICNmY2ZkZmQ7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLWxpZ2h0OmZvY3VzLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tbGlnaHQ6Zm9jdXMsIC5idG4tbGlnaHQ6YWN0aXZlOmZvY3VzLCAuYnRuLWxpZ2h0LmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgY29sb3I6ICNmY2ZkZmQ7XG4gIGJvcmRlci1jb2xvcjogI2ZjZmRmZDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIge1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmRmZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmNmZGZkO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDI1MiwgMjUzLCAyNTMsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLW91dGxpbmUtbGlnaHQsIC5idG4tb3V0bGluZS1saWdodDpmb2N1cyB7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZkO1xuICBib3JkZXItY29sb3I6ICNmY2ZkZmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS1saWdodCwgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtbGlnaHQsIC5idG4tb3V0bGluZS1saWdodDphY3RpdmUsIC5idG4tb3V0bGluZS1saWdodC5hY3RpdmUsIC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGUuc2hvdyB7XG4gIGNvbG9yOiAjNDM1OTcxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZkO1xuICBib3JkZXItY29sb3I6ICNmY2ZkZmQ7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWxpZ2h0OmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlLnNob3c6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1vdXRsaW5lLWxpZ2h0LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtbGlnaHQgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogI2ZjZmRmZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmNmZGZkO1xuICBjb2xvcjogIzQzNTk3MTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1saWdodDpmb2N1czpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtbGlnaHQ6YWN0aXZlIC5iYWRnZSxcbi5idG4tb3V0bGluZS1saWdodC5hY3RpdmUgLmJhZGdlLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICM0MzU5NzE7XG4gIGJvcmRlci1jb2xvcjogIzQzNTk3MTtcbiAgY29sb3I6ICNmY2ZkZmQ7XG59XG5cbi5idG4tZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2O1xuICBib3JkZXItY29sb3I6ICMyMzM0NDY7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMzUsIDUyLCA3MCwgMC40KTtcbn1cbi5idG4tZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyZjNmO1xuICBib3JkZXItY29sb3I6ICMyMDJmM2Y7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLWRhcmssIC5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDJmM2Y7XG4gIGJvcmRlci1jb2xvcjogIzIwMmYzZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1kYXJrLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tZGFyaywgLmJ0bi1kYXJrOmFjdGl2ZSwgLmJ0bi1kYXJrLmFjdGl2ZSwgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTJjM2M7XG4gIGJvcmRlci1jb2xvcjogIzFlMmMzYztcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tZGFyazpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLWRhcms6Zm9jdXMsIC5idG4tZGFyazphY3RpdmU6Zm9jdXMsIC5idG4tZGFyay5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1kYXJrIHtcbiAgY29sb3I6ICMyMzM0NDY7XG4gIGJvcmRlci1jb2xvcjogIzIzMzQ0NjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyZjNmO1xuICBib3JkZXItY29sb3I6ICMyMDJmM2Y7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMzUsIDUyLCA3MCwgMC40KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmJ0bi1jaGVjazpmb2N1cyArIC5idG4tb3V0bGluZS1kYXJrLCAuYnRuLW91dGxpbmUtZGFyazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyZjNmO1xuICBib3JkZXItY29sb3I6ICMyMDJmM2Y7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tb3V0bGluZS1kYXJrLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tb3V0bGluZS1kYXJrLCAuYnRuLW91dGxpbmUtZGFyazphY3RpdmUsIC5idG4tb3V0bGluZS1kYXJrLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMmMzYztcbiAgYm9yZGVyLWNvbG9yOiAjMWUyYzNjO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMsIC5idG4tb3V0bGluZS1kYXJrOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcmsuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGUuc2hvdzpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyayAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiAjMjMzNDQ2O1xuICBib3JkZXItY29sb3I6ICMyMzM0NDY7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZGFyazpmb2N1czpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZGFyazphY3RpdmUgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLWRhcmsuYWN0aXZlIC5iYWRnZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyMzM0NDY7XG59XG5cbi5idG4tZ3JheSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuNCk7XG59XG4uYnRuLWdyYXk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMjksIDM2LCAwLjE5KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyLCAyOSwgMzYsIDAuMTkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1ncmF5LCAuYnRuLWdyYXk6Zm9jdXMsIC5idG4tZ3JheS5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAyOSwgMzYsIDAuMTkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjIsIDI5LCAzNiwgMC4xOSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tZ3JheSwgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLWdyYXksIC5idG4tZ3JheTphY3RpdmUsIC5idG4tZ3JheS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1ncmF5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCAyMCwgMjYsIDAuMjM1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1LCAyMCwgMjYsIDAuMjM1KTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4tZ3JheTpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLWdyYXk6Zm9jdXMsIC5idG4tZ3JheTphY3RpdmU6Zm9jdXMsIC5idG4tZ3JheS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1ncmF5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWdyYXkuZGlzYWJsZWQsIC5idG4tZ3JheTpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1ncmF5IHtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtZ3JheTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAyOSwgMzYsIDAuMTkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjIsIDI5LCAzNiwgMC4xOSk7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLW91dGxpbmUtZ3JheSwgLmJ0bi1vdXRsaW5lLWdyYXk6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMjksIDM2LCAwLjE5KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyLCAyOSwgMzYsIDAuMTkpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLW91dGxpbmUtZ3JheSwgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtZ3JheSwgLmJ0bi1vdXRsaW5lLWdyYXk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZ3JheS5hY3RpdmUsIC5idG4tb3V0bGluZS1ncmF5LmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDIwLCAyNiwgMC4yMzUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTUsIDIwLCAyNiwgMC4yMzUpO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLWdyYXk6Zm9jdXMsIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLWdyYXk6Zm9jdXMsIC5idG4tb3V0bGluZS1ncmF5OmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWdyYXkuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZ3JheS5kcm9wZG93bi10b2dnbGUuc2hvdzpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLW91dGxpbmUtZ3JheS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWdyYXk6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtZ3JheSAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLW91dGxpbmUtZ3JheTpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZ3JheTpmb2N1czpob3ZlciAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtZ3JheTphY3RpdmUgLmJhZGdlLFxuLmJ0bi1vdXRsaW5lLWdyYXkuYWN0aXZlIC5iYWRnZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWdyYXkuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi5idG4taWNvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBjYWxjKDIuMzA5Mzc1cmVtICsgMnB4KTtcbiAgaGVpZ2h0OiBjYWxjKDIuMzA5Mzc1cmVtICsgMnB4KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5idG4taWNvbi5idG4teGwsIC5idG4tZ3JvdXAteGwgPiAuYnRuLWljb24uYnRuIHtcbiAgd2lkdGg6IGNhbGMoMy42MjVyZW0gKyAycHgpO1xuICBoZWlnaHQ6IGNhbGMoMy42MjVyZW0gKyAycHgpO1xufVxuLmJ0bi1pY29uLmJ0bi14bCA+IHNwYW4sIC5idG4tZ3JvdXAteGwgPiAuYnRuLWljb24uYnRuID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idG4taWNvbi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuLWljb24uYnRuIHtcbiAgd2lkdGg6IGNhbGMoM3JlbSArIDJweCk7XG4gIGhlaWdodDogY2FsYygzcmVtICsgMnB4KTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmJ0bi1pY29uLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4taWNvbi5idG4ge1xuICB3aWR0aDogY2FsYygxLjYyNXJlbSArIDJweCk7XG4gIGhlaWdodDogY2FsYygxLjYyNXJlbSArIDJweCk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idG4taWNvbi5idG4teHMsIC5idG4tZ3JvdXAteHMgPiAuYnRuLWljb24uYnRuIHtcbiAgd2lkdGg6IGNhbGMoMS4xMjVyZW0gKyAycHgpO1xuICBoZWlnaHQ6IGNhbGMoMS4xMjVyZW0gKyAycHgpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idG4uYm9yZGVybGVzczpub3QoLmFjdGl2ZSk6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpLCA6bm90KC5zaG93KSA+IC5idG4uYm9yZGVybGVzcy5kcm9wZG93bi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLmJ0bi1saW5rIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4uYnRuLXBpbm5lZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmlucHV0LWdyb3VwLWxnIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi14bCArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXhsID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjdlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjdlbTtcbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uaW5wdXQtZ3JvdXAtc20gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbn1cblxuLmJ0bi14cyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbn1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdChbY2xhc3MqPWJ0bi1vdXRsaW5lLV0pOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwID4gLmJ0bjpub3QoW2NsYXNzKj1idG4tb3V0bGluZS1dKTpmaXJzdC1jaGlsZCxcbjpub3QoLmJ0bi1ncm91cCk6bm90KC5pbnB1dC1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmJ0bjpub3QoW2NsYXNzKj1idG4tb3V0bGluZS1dKTpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdChbY2xhc3MqPWJ0bi1vdXRsaW5lLV0pOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoW2NsYXNzKj1idG4tb3V0bGluZS1dKTpsYXN0LW9mLXR5cGUsXG4uaW5wdXQtZ3JvdXAgPiAuYnRuOm5vdChbY2xhc3MqPWJ0bi1vdXRsaW5lLV0pOmxhc3Qtb2YtdHlwZSxcbjpub3QoLmJ0bi1ncm91cCk6bm90KC5pbnB1dC1ncm91cCkgPiAuYnRuLWdyb3VwID4gLmJ0bjpub3QoW2NsYXNzKj1idG4tb3V0bGluZS1dKTpsYXN0LW9mLXR5cGUsXG4uaW5wdXQtZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuYnRuOm5vdChbY2xhc3MqPWJ0bi1vdXRsaW5lLV0pOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5iYWRnZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAwLjc1O1xufVxuXG4uYmFkZ2UtY2VudGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbn1cbi5iYWRnZS1jZW50ZXIgaSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG5bZGF0YS10cmlnZ2VyPWhvdmVyXSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luOiAwLjEyNXJlbSAwO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNDUpO1xuICBhbmltYXRpb246IGRyb3Bkb3duQW5pbWF0aW9uIDAuMXM7XG59XG4ubWVnYS1kcm9wZG93biA+IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmRyb3Bkb3duLW1lbnUgLmJhZGdlW2NsYXNzXj1mbG9hdC1dLFxuLmRyb3Bkb3duLW1lbnUgLmJhZGdlW2NsYXNzKj1cIiBmbG9hdC1cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC4wNzFlbTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBsaW5lLWhlaWdodDogMS41NDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZS5oaWRlLWFycm93OjpiZWZvcmUsIC5kcm9wZG93bi10b2dnbGUuaGlkZS1hcnJvdzo6YWZ0ZXIsXG4uZHJvcGRvd24tdG9nZ2xlLWhpZGUtYXJyb3cgPiAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUsXG4uZHJvcGRvd24tdG9nZ2xlLWhpZGUtYXJyb3cgPiAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLTAuMjhlbTtcbiAgd2lkdGg6IDAuNDJlbTtcbiAgaGVpZ2h0OiAwLjQyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIG1hcmdpbi10b3A6IC0wLjE2OGVtO1xuICB3aWR0aDogMC40MmVtO1xuICBoZWlnaHQ6IDAuNDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uZHJvcHN0YXJ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IC0wLjE2OGVtO1xuICB3aWR0aDogMC40MmVtO1xuICBoZWlnaHQ6IDAuNDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgd2lkdGg6IDAuNDJlbTtcbiAgaGVpZ2h0OiAwLjQyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUsXG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5uYXYgLm5hdi1pdGVtLFxuLm5hdiAubmF2LWxpbmssXG4udGFiLXBhbmUsXG4udGFiLXBhbmUgLmNhcmQtYm9keSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5hdi10YWJzIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICBjb2xvcjogIzU2NmE3ZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLm5hdi10YWJzIC5uYXYtaXRlbSAubmF2LWxpbms6aG92ZXIsIC5uYXYtdGFicyAubmF2LWl0ZW0gLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM1NjZhN2Y7XG59XG4ubmF2LXRhYnMgLm5hdi1pdGVtIC5uYXYtbGluazpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlZWYxO1xufVxuLm5hdi10YWJzIC5uYXYtaXRlbSAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2M3Y2RkNDtcbn1cblxuLm5hdi10YWJzOm5vdCgubmF2LWZpbGwpOm5vdCgubmF2LWp1c3RpZmllZCkgLm5hdi1saW5rLFxuLm5hdi1waWxsczpub3QoLm5hdi1maWxsKTpub3QoLm5hdi1qdXN0aWZpZWQpIC5uYXYtbGluayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2LXBpbGxzIC5uYXYtbGluazpub3QoLmFjdGl2ZSwgLmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuXG4udGFiLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xufVxuXG4ubmF2LXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cyB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXYtc20gPiAubmF2IC5uYXYtbGluaywgLm5hdi1zbS5uYXYgLm5hdi1saW5rIHtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAuODc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5uYXYtbGcgPiAubmF2IC5uYXYtbGluaywgLm5hdi1sZy5uYXYgLm5hdi1saW5rIHtcbiAgcGFkZGluZzogMC44NzVyZW0gMS4zMTI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5uYXYtYWxpZ24tdG9wLFxuLm5hdi1hbGlnbi1yaWdodCxcbi5uYXYtYWxpZ24tYm90dG9tLFxuLm5hdi1hbGlnbi1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5uYXYtYWxpZ24tdG9wID4gLm5hdixcbi5uYXYtYWxpZ24tdG9wID4gZGl2ID4gLm5hdixcbi5uYXYtYWxpZ24tcmlnaHQgPiAubmF2LFxuLm5hdi1hbGlnbi1yaWdodCA+IGRpdiA+IC5uYXYsXG4ubmF2LWFsaWduLWJvdHRvbSA+IC5uYXYsXG4ubmF2LWFsaWduLWJvdHRvbSA+IGRpdiA+IC5uYXYsXG4ubmF2LWFsaWduLWxlZnQgPiAubmF2LFxuLm5hdi1hbGlnbi1sZWZ0ID4gZGl2ID4gLm5hdiB7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5hdi1hbGlnbi10b3AgPiAubmF2IC5uYXYtbGluazpob3ZlciwgLm5hdi1hbGlnbi10b3AgPiAubmF2IC5uYXYtbGluazpmb2N1cyxcbi5uYXYtYWxpZ24tdG9wID4gZGl2ID4gLm5hdiAubmF2LWxpbms6aG92ZXIsXG4ubmF2LWFsaWduLXRvcCA+IGRpdiA+IC5uYXYgLm5hdi1saW5rOmZvY3VzLFxuLm5hdi1hbGlnbi1yaWdodCA+IC5uYXYgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi1hbGlnbi1yaWdodCA+IC5uYXYgLm5hdi1saW5rOmZvY3VzLFxuLm5hdi1hbGlnbi1yaWdodCA+IGRpdiA+IC5uYXYgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi1hbGlnbi1yaWdodCA+IGRpdiA+IC5uYXYgLm5hdi1saW5rOmZvY3VzLFxuLm5hdi1hbGlnbi1ib3R0b20gPiAubmF2IC5uYXYtbGluazpob3Zlcixcbi5uYXYtYWxpZ24tYm90dG9tID4gLm5hdiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2LWFsaWduLWJvdHRvbSA+IGRpdiA+IC5uYXYgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi1hbGlnbi1ib3R0b20gPiBkaXYgPiAubmF2IC5uYXYtbGluazpmb2N1cyxcbi5uYXYtYWxpZ24tbGVmdCA+IC5uYXYgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi1hbGlnbi1sZWZ0ID4gLm5hdiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2LWFsaWduLWxlZnQgPiBkaXYgPiAubmF2IC5uYXYtbGluazpob3Zlcixcbi5uYXYtYWxpZ24tbGVmdCA+IGRpdiA+IC5uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgaXNvbGF0aW9uOiBhdXRvO1xufVxuLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmJlZm9yZSwgLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmFmdGVyLFxuLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLXRvcCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl06OmJlZm9yZSxcbi5uYXYtYWxpZ24tdG9wIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLXRvcCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjpiZWZvcmUsXG4ubmF2LWFsaWduLXRvcCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcbi5uYXYtYWxpZ24tdG9wIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjphZnRlcixcbi5uYXYtYWxpZ24tdG9wIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi10b3AgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1jb2xdOjphZnRlcixcbi5uYXYtYWxpZ24tcmlnaHQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmJlZm9yZSxcbi5uYXYtYWxpZ24tcmlnaHQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmFmdGVyLFxuLm5hdi1hbGlnbi1yaWdodCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wtXCJdOjpiZWZvcmUsXG4ubmF2LWFsaWduLXJpZ2h0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuLm5hdi1hbGlnbi1yaWdodCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl06OmJlZm9yZSxcbi5uYXYtYWxpZ24tcmlnaHQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcbi5uYXYtYWxpZ24tcmlnaHQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1yaWdodCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcbi5uYXYtYWxpZ24tcmlnaHQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjpiZWZvcmUsXG4ubmF2LWFsaWduLXJpZ2h0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLXJpZ2h0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1yaWdodCAucm93LWJvcmRlcmVkID4gW2NsYXNzPWNvbF06OmFmdGVyLFxuLm5hdi1hbGlnbi1ib3R0b20gLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmJlZm9yZSxcbi5uYXYtYWxpZ24tYm90dG9tIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePWNvbC1dOjphZnRlcixcbi5uYXYtYWxpZ24tYm90dG9tIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmJlZm9yZSxcbi5uYXYtYWxpZ24tYm90dG9tIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuLm5hdi1hbGlnbi1ib3R0b20gLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjpiZWZvcmUsXG4ubmF2LWFsaWduLWJvdHRvbSAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl06OmFmdGVyLFxuLm5hdi1hbGlnbi1ib3R0b20gLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1ib3R0b20gLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWJvdHRvbSAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl06OmJlZm9yZSxcbi5uYXYtYWxpZ24tYm90dG9tIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWJvdHRvbSAucm93LWJvcmRlcmVkID4gW2NsYXNzPWNvbF06OmJlZm9yZSxcbi5uYXYtYWxpZ24tYm90dG9tIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWxlZnQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmJlZm9yZSxcbi5uYXYtYWxpZ24tbGVmdCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1jb2wtXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWxlZnQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWxlZnQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl06OmFmdGVyLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YmVmb3JlLFxuLm5hdi1hbGlnbi1sZWZ0IC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YWZ0ZXIsXG4ubmF2LWFsaWduLWxlZnQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1jb2xdOjpiZWZvcmUsXG4ubmF2LWFsaWduLWxlZnQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1jb2xdOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2Q5ZGVlMztcbn1cblxuLm5hdi1hbGlnbi1yaWdodCxcbi5uYXYtYWxpZ24tbGVmdCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLm5hdi1hbGlnbi1yaWdodCA+IC5uYXYsXG4ubmF2LWFsaWduLXJpZ2h0ID4gZGl2ID4gLm5hdixcbi5uYXYtYWxpZ24tbGVmdCA+IC5uYXYsXG4ubmF2LWFsaWduLWxlZnQgPiBkaXYgPiAubmF2IHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm5hdi1hbGlnbi1yaWdodCA+IC50YWItY29udGVudCxcbi5uYXYtYWxpZ24tbGVmdCA+IC50YWItY29udGVudCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLm5hdi1hbGlnbi10b3Age1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm5hdi1hbGlnbi10b3AgLm5hdi10YWJzIH4gLnRhYi1jb250ZW50IHtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMHB4IDZweCA3cHggLTFweCByZ2JhKDY3LCA4OSwgMTEzLCAwLjEyKTtcbn1cbi5uYXYtYWxpZ24tdG9wIC5uYXYtdGFicyAubmF2LWl0ZW06Zmlyc3QtY2hpbGQgLm5hdi1saW5rIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG59XG4ubmF2LWFsaWduLXRvcCAubmF2LXRhYnMgLm5hdi1pdGVtOmxhc3QtY2hpbGQgLm5hdi1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLm5hdi1hbGlnbi10b3AgLm5hdi10YWJzIC5uYXYtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAubmF2LWxpbmsge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG59XG4ubmF2LWFsaWduLXRvcCAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuMTIpO1xufVxuXG4ubmF2LWFsaWduLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLm5hdi1hbGlnbi1yaWdodCA+IC5uYXYgLm5hdi1pdGVtLFxuLm5hdi1hbGlnbi1yaWdodCA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubmF2LWFsaWduLXJpZ2h0IC5uYXYtbGluayB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm5hdi1hbGlnbi1yaWdodCAubmF2LXRhYnMgfiAudGFiLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDY3LCA4OSwgMTEzLCAwLjEyKTtcbn1cbi5uYXYtYWxpZ24tcmlnaHQgLm5hdi10YWJzIC5uYXYtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAubmF2LWxpbmsge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5uYXYtYWxpZ24tcmlnaHQgLm5hdi10YWJzIC5uYXYtaXRlbTpmaXJzdC1jaGlsZCAubmF2LWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zNzVyZW07XG59XG4ubmF2LWFsaWduLXJpZ2h0IC5uYXYtdGFicyAubmF2LWl0ZW06bGFzdC1jaGlsZCAubmF2LWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNzVyZW07XG59XG4ubmF2LWFsaWduLXJpZ2h0IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogNXB4IDRweCA2cHggMCByZ2JhKDY3LCA4OSwgMTEzLCAwLjEyKTtcbn1cblxuLm5hdi1hbGlnbi1ib3R0b20ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG4ubmF2LWFsaWduLWJvdHRvbSA+IC5uYXYgLm5hdi1pdGVtLFxuLm5hdi1hbGlnbi1ib3R0b20gPiBkaXYgPiAubmF2IC5uYXYtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4ubmF2LWFsaWduLWJvdHRvbSAubmF2LXRhYnMgfiAudGFiLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDY3LCA4OSwgMTEzLCAwLjEyKTtcbn1cbi5uYXYtYWxpZ24tYm90dG9tIC5uYXYtdGFicyAubmF2LWl0ZW06Zmlyc3QtY2hpbGQgLm5hdi1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG59XG4ubmF2LWFsaWduLWJvdHRvbSAubmF2LXRhYnMgLm5hdi1pdGVtOmxhc3QtY2hpbGQgLm5hdi1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLm5hdi1hbGlnbi1ib3R0b20gLm5hdi10YWJzIC5uYXYtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAubmF2LWxpbmsge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG59XG4ubmF2LWFsaWduLWJvdHRvbSAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuMTIpO1xufVxuXG4ubmF2LWFsaWduLWxlZnQgPiAubmF2IC5uYXYtaXRlbSxcbi5uYXYtYWxpZ24tbGVmdCA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5hdi1hbGlnbi1sZWZ0IC5uYXYtbGluayB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubmF2LWFsaWduLWxlZnQgLm5hdi10YWJzIH4gLnRhYi1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2NywgODksIDExMywgMC4xMik7XG59XG4ubmF2LWFsaWduLWxlZnQgLm5hdi10YWJzIC5uYXYtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAubmF2LWxpbmsge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5uYXYtYWxpZ24tbGVmdCAubmF2LXRhYnMgLm5hdi1pdGVtOmZpcnN0LWNoaWxkIC5uYXYtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLm5hdi1hbGlnbi1sZWZ0IC5uYXYtdGFicyAubmF2LWl0ZW06bGFzdC1jaGlsZCAubmF2LWxpbmsge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbn1cbi5uYXYtYWxpZ24tbGVmdCAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IC01cHggMnB4IDZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuMTIpO1xufVxuXG4ubmF2LWFsaWduLXRvcCA+IC50YWItY29udGVudCxcbi5uYXYtYWxpZ24tcmlnaHQgPiAudGFiLWNvbnRlbnQsXG4ubmF2LWFsaWduLWJvdHRvbSA+IC50YWItY29udGVudCxcbi5uYXYtYWxpZ24tbGVmdCA+IC50YWItY29udGVudCB7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBib3JkZXI6IDAgc29saWQgI2Q5ZGVlMztcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2NywgODksIDExMywgMC4xMik7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5uYXYtYWxpZ24tdG9wIDpub3QoLm5hdi1waWxscykgfiAudGFiLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4zNzVyZW0gMC4zNzVyZW07XG59XG5cbi5uYXYtYWxpZ24tdG9wIC5uYXYtdGFiczpub3QoLm5hdi1maWxsKSB+IC50YWItY29udGVudCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLm5hdi1hbGlnbi1yaWdodCA6bm90KC5uYXYtcGlsbHMpIH4gLnRhYi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW0gMCAwIDAuMzc1cmVtO1xufVxuXG4ubmF2LWFsaWduLWJvdHRvbSA6bm90KC5uYXYtcGlsbHMpIH4gLnRhYi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW0gMC4zNzVyZW0gMCAwO1xufVxuXG4ubmF2LWFsaWduLWxlZnQgOm5vdCgubmF2LXBpbGxzKSB+IC50YWItY29udGVudCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4zNzVyZW0gMC4zNzVyZW0gMDtcbn1cblxuLm5hdi1hbGlnbi1sZWZ0ID4gLnRhYi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjM3NXJlbSAwLjM3NXJlbSAwLjM3NXJlbTtcbn1cblxuLnBhZ2UtaXRlbS5maXJzdCAucGFnZS1saW5rLCAucGFnZS1pdGVtLmxhc3QgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbS5uZXh0IC5wYWdlLWxpbmssIC5wYWdlLWl0ZW0ucHJldiAucGFnZS1saW5rLCAucGFnZS1pdGVtLnByZXZpb3VzIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDlkZWUzO1xufVxuLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIG1hcmdpbjogMCAwLjFyZW0gMCAwLjNyZW07XG59XG5cbi5wYWdlLWxpbmssXG4ucGFnZS1saW5rID4gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IGNhbGMoXG4gICAgMi4xODc1cmVtICsgMHB4XG4gICk7XG59XG4ucGFnZS1saW5rOmZvY3VzLFxuLnBhZ2UtbGluayA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cblxuLnBhZ2UtbGluay5idG4tcHJpbWFyeSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtbGluayxcbi5wYWdpbmF0aW9uLWxnID4gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XG4gIG1pbi13aWR0aDogY2FsYyhcbiAgICAyLjg3NXJlbSArIDBweFxuICApO1xufVxuXG4ucGFnaW5hdGlvbi1sZyA+IC5wYWdlLWl0ZW0uZmlyc3QgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24tbGcgPiAucGFnZS1pdGVtLmxhc3QgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24tbGcgPiAucGFnZS1pdGVtLm5leHQgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24tbGcgPiAucGFnZS1pdGVtLnByZXYgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24tbGcgPiAucGFnZS1pdGVtLnByZXZpb3VzIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nLXRvcDogMC44NTNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjg1M3JlbTtcbn1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtbGluayxcbi5wYWdpbmF0aW9uLXNtID4gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XG4gIG1pbi13aWR0aDogY2FsYyhcbiAgICAxLjVyZW0gKyAwcHhcbiAgKTtcbn1cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsgLnRmLWljb24sXG4ucGFnaW5hdGlvbi1zbSA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykgLnRmLWljb24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuLnBhZ2luYXRpb24tc20gPiAucGFnZS1pdGVtLmZpcnN0IC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uLXNtID4gLnBhZ2UtaXRlbS5sYXN0IC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uLXNtID4gLnBhZ2UtaXRlbS5uZXh0IC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uLXNtID4gLnBhZ2UtaXRlbS5wcmV2IC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uLXNtID4gLnBhZ2UtaXRlbS5wcmV2aW91cyAucGFnZS1saW5rIHtcbiAgcGFkZGluZy10b3A6IDAuM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuM3JlbTtcbn1cblxuLmFsZXJ0LXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVlZjA7XG4gIGJvcmRlci1jb2xvcjogI2RhZGVlMztcbiAgY29sb3I6ICM4NTkyYTM7XG59XG4uYWxlcnQtc2Vjb25kYXJ5IC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNTBweCcgaGVpZ2h0PScxNTFweCcgdmlld0JveD0nMCAwIDE1MCAxNTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcG9seWdvbiBpZD0ncGF0aC0xJyBwb2ludHM9JzEzMS4yNTE2NTcgMCA3NC45OTMzNzA1IDU2LjI1IDE4Ljc0ODM0MjYgMCAwIDE4Ljc1IDU2LjI0NTAyNzggNzUgMCAxMzEuMjUgMTguNzQ4MzQyNiAxNTAgNzQuOTkzMzcwNSA5My43NSAxMzEuMjUxNjU3IDE1MCAxNTAgMTMxLjI1IDkzLjc1NDk3MjIgNzUgMTUwIDE4Ljc1JyUzRSUzQy9wb2x5Z29uJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn46oLSU1QlNldHVwJTVEOi1Db2xvcnMtJmFtcDstU2hhZG93cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdBcnRib2FyZCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTIyNS4wMDAwMDAsIC0yNTAuMDAwMDAwKSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMjUuMDAwMDAwLCAyNTAuNTAwMDAwKSclM0UlM0N1c2UgZmlsbD0nJTIzODU5MmEzJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuNScgZmlsbD0nJTIzODU5MmEzJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM4NTkyYTM7XG59XG5cbi5jYXJkIC5hbGVydC1zZWNvbmRhcnkgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MmEzICFpbXBvcnRhbnQ7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZmFkZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDRmNWMzO1xuICBjb2xvcjogIzcxZGQzNztcbn1cbi5hbGVydC1zdWNjZXNzIC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNTBweCcgaGVpZ2h0PScxNTFweCcgdmlld0JveD0nMCAwIDE1MCAxNTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcG9seWdvbiBpZD0ncGF0aC0xJyBwb2ludHM9JzEzMS4yNTE2NTcgMCA3NC45OTMzNzA1IDU2LjI1IDE4Ljc0ODM0MjYgMCAwIDE4Ljc1IDU2LjI0NTAyNzggNzUgMCAxMzEuMjUgMTguNzQ4MzQyNiAxNTAgNzQuOTkzMzcwNSA5My43NSAxMzEuMjUxNjU3IDE1MCAxNTAgMTMxLjI1IDkzLjc1NDk3MjIgNzUgMTUwIDE4Ljc1JyUzRSUzQy9wb2x5Z29uJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn46oLSU1QlNldHVwJTVEOi1Db2xvcnMtJmFtcDstU2hhZG93cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdBcnRib2FyZCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTIyNS4wMDAwMDAsIC0yNTAuMDAwMDAwKSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMjUuMDAwMDAwLCAyNTAuNTAwMDAwKSclM0UlM0N1c2UgZmlsbD0nJTIzNzFkZDM3JyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuNScgZmlsbD0nJTIzNzFkZDM3JyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjNzFkZDM3O1xufVxuXG4uY2FyZCAuYWxlcnQtc3VjY2VzcyBociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MWRkMzcgIWltcG9ydGFudDtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdmNWZjO1xuICBib3JkZXItY29sb3I6ICNiM2VkZjk7XG4gIGNvbG9yOiAjMDNjM2VjO1xufVxuLmFsZXJ0LWluZm8gLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjI1LjAwMDAwMCwgLTI1MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIyNS4wMDAwMDAsIDI1MC41MDAwMDApJyUzRSUzQ3VzZSBmaWxsPSclMjMwM2MzZWMnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC41JyBmaWxsPSclMjMwM2MzZWMnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMwM2MzZWM7XG59XG5cbi5jYXJkIC5hbGVydC1pbmZvIGhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYzNlYyAhaW1wb3J0YW50O1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZDY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZTZiMztcbiAgY29sb3I6ICNmZmFiMDA7XG59XG4uYWxlcnQtd2FybmluZyAuYnRuLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmYWIwMCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjUnIGZpbGw9JyUyM2ZmYWIwMCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogI2ZmYWIwMDtcbn1cblxuLmNhcmQgLmFsZXJ0LXdhcm5pbmcgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhYjAwICFpbXBvcnRhbnQ7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMGRiO1xuICBib3JkZXItY29sb3I6ICNmZmM1YmI7XG4gIGNvbG9yOiAjZmYzZTFkO1xufVxuLmFsZXJ0LWRhbmdlciAuYnRuLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmM2UxZCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjUnIGZpbGw9JyUyM2ZmM2UxZCcgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjZmYzZTFkO1xufVxuXG4uY2FyZCAuYWxlcnQtZGFuZ2VyIGhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmM2UxZCAhaW1wb3J0YW50O1xufVxuXG4uYWxlcnQtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RmZTE7XG4gIGJvcmRlci1jb2xvcjogI2JkYzJjODtcbiAgY29sb3I6ICMyMzM0NDY7XG59XG4uYWxlcnQtZGFyayAuYnRuLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyMzIzMzQ0NicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjUnIGZpbGw9JyUyMzIzMzQ0NicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzIzMzQ0Njtcbn1cblxuLmNhcmQgLmFsZXJ0LWRhcmsgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGVydC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI1MywgMjU0LCAwLjg1Nik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTEsIDI1MSwgMjUyLCAwLjczKTtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG59XG4uYWxlcnQtZ3JheSAuYnRuLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoNjcsIDg5LCAxMTMsIDAuMSknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC41JyBmaWxsPSdyZ2JhKDY3LCA4OSwgMTEzLCAwLjEpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uYWxlcnQtZ3JheSAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xufVxuXG4uY2FyZCAuYWxlcnQtZ3JheSBociB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLW9wZW4gLnRvb2x0aXAge1xuICB6LWluZGV4OiAxMDkyO1xufVxuXG4udG9vbHRpcC1pbm5lciB7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNCk7XG59XG5cbi5tb2RhbC1vcGVuIC5wb3BvdmVyIHtcbiAgei1pbmRleDogMTA5MTtcbn1cblxuLnBvcG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNDUpO1xufVxuLnBvcG92ZXIgLnBvcG92ZXItYXJyb3cge1xuICB6LWluZGV4OiAxO1xufVxuLnBvcG92ZXIuYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5wb3BvdmVyLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB3aGl0ZTtcbiAgdG9wOiAycHg7XG59XG4ucG9wb3Zlci5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OmJlZm9yZSwgLnBvcG92ZXIuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OmJlZm9yZSB7XG4gIHRvcDogMXB4O1xufVxuXG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjEyNXJlbSAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuXG4uZm9ybS1sYWJlbCxcbi5jb2wtZm9ybS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG59XG5cbi5mb3JtLWxhYmVsLWxnIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uZm9ybS1sYWJlbC1zbSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG59XG5cbi5mb3JtLXNlbGVjdCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5cbi5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggMCByZ2JhKDY3LCA4OSwgMTEzLCAwLjQpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLmZvcm0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDhweCAwcHggcmdiYSg2NywgODksIDExMywgMC40KTtcbn1cbi5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCwgMS40KTtcbn1cbi5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuNCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG4uZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggMHB4IHJnYmEoNjcsIDg5LCAxMTMsIDAuNCk7XG59XG4uZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCwgMS40KTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMDUpO1xufVxuLmZvcm0tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uZm9ybS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5pbnB1dC1ncm91cDpmb2N1cy13aXRoaW4ge1xuICBib3gtc2hhZG93OiAwIDAgMC4yNXJlbSAwLjA1cmVtIHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4xKTtcbn1cbi5pbnB1dC1ncm91cDpmb2N1cy13aXRoaW4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cDpmb2N1cy13aXRoaW4gLmlucHV0LWdyb3VwLXRleHQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmlucHV0LWdyb3VwLmRpc2FibGVkIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVmMTtcbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuLmlucHV0LWdyb3VwLXRleHQgaSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCBpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCBpIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtbWVyZ2UgLmlucHV0LWdyb3VwLXRleHQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtbWVyZ2UgLmlucHV0LWdyb3VwLXRleHQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLmlucHV0LWdyb3VwLW1lcmdlIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLmlucHV0LWdyb3VwLW1lcmdlIC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6Zm9jdXM6OnBsYWNlaG9sZGVyLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYjRiZGM2O1xufVxuXG4udmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICBmb250LXNpemU6IDg1JTtcbiAgY29sb3I6ICM3MWRkMzc7XG59XG5cbi52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjdyZW07XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDM3O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCA6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCA6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCxcbi5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG59XG4uZGFyay1zdHlsZSAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZGFyay1zdHlsZSAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3ICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xuICBib3gtc2hhZG93OiAwIDAgMC4yNXJlbSAwLjA1cmVtIHJnYmEoMTEzLCAyMjEsIDU1LCAwLjEpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQsIC5mb3JtLXNlbGVjdC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogIzcxZGQzNztcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDp2YWxpZDpmb2N1cywgLmZvcm0tc2VsZWN0LmlzLXZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xuICBib3gtc2hhZG93OiAwIDAgMC4yNXJlbSAwLjA1cmVtIHJnYmEoMTEzLCAyMjEsIDU1LCAwLjEpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZDpjaGVja2VkLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcxZGQzNztcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQ6Zm9jdXMsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAuMjVyZW0gMC4wNXJlbSByZ2JhKDExMywgMjIxLCA1NSwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAjNzFkZDM3O1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQgfiAudmFsaWQtZmVlZGJhY2sge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOnZhbGlkIH4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLmlucHV0LWdyb3VwLXRleHQge1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG59XG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM3MWRkMzc7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cyB+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyB+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDp2YWxpZCwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQsXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgLmZvcm0tc2VsZWN0OnZhbGlkLFxuLmlucHV0LWdyb3VwIC5mb3JtLXNlbGVjdC5pcy12YWxpZCB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgZm9udC1zaXplOiA4NSU7XG4gIGNvbG9yOiAjZmYzZTFkO1xufVxuXG4uaW52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjdyZW07XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzZTFkO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCA6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLFxuLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbn1cbi5kYXJrLXN0eWxlIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmRhcmstc3R5bGUgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbiAgYm94LXNoYWRvdzogMCAwIDAuMjVyZW0gMC4wNXJlbSByZ2JhKDI1NSwgNjIsIDI5LCAwLjEpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZCwgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZDpmb2N1cywgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjI1cmVtIDAuMDVyZW0gcmdiYSgyNTUsIDYyLCAyOSwgMC4xKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQ6Y2hlY2tlZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmM2UxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZDpmb2N1cywgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjI1cmVtIDAuMDVyZW0gcmdiYSgyNTUsIDYyLCAyOSwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogI2ZmM2UxZDtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IH4gLmludmFsaWQtZmVlZGJhY2sge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xufVxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1cywgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMgfiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cyB+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwIC5mb3JtLXNlbGVjdDppbnZhbGlkLFxuLmlucHV0LWdyb3VwIC5mb3JtLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgei1pbmRleDogMztcbn1cblxuZm9ybSAuZXJyb3I6bm90KGxpKTpub3QoaW5wdXQpIHtcbiAgY29sb3I6ICNmZjNlMWQ7XG4gIGZvbnQtc2l6ZTogODUlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuZm9ybSAuaW52YWxpZCxcbmZvcm0gLmlzLWludmFsaWQgLmludmFsaWQ6YmVmb3JlLFxuZm9ybSAuaXMtaW52YWxpZDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkICFpbXBvcnRhbnQ7XG59XG5mb3JtIC5mb3JtLWxhYmVsLmludmFsaWQsIGZvcm0gLmZvcm0tbGFiZWwuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCA2MiwgMjksIDAuNCkgIWltcG9ydGFudDtcbn1cbmZvcm0gc2VsZWN0LmludmFsaWQgfiAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQ7XG59XG5mb3JtIHNlbGVjdC5pcy1pbnZhbGlkIH4gLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkICFpbXBvcnRhbnQ7XG59XG5mb3JtIHNlbGVjdC5zZWxlY3RwaWNrZXIuaXMtaW52YWxpZCB+IC5idG4ge1xuICBib3JkZXItY29sb3I6IDFweCBzb2xpZCAjZmYzZTFkO1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQ7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogMCAycHggMTZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuNDUpO1xufVxuXG4ubW9kYWwgLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZzogMC42MzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjIzcyBlYXNlIDAuMXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIzcHgsIC0yNXB4KTtcbn1cbi5tb2RhbCAuYnRuLWNsb3NlOmhvdmVyLCAubW9kYWwgLmJ0bi1jbG9zZTpmb2N1cywgLm1vZGFsIC5idG4tY2xvc2U6YWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjBweCwgLTIwcHgpO1xufVxuLm1vZGFsIC5tb2RhbC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0xLjI1cmVtO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW0gMS41cmVtO1xufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLmJ0bi1jbG9zZSxcbi5tb2RhbC1mdWxsc2NyZWVuIC5idG4tY2xvc2UsXG4ubW9kYWwtdG9wIC5idG4tY2xvc2Uge1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5idG4tY2xvc2U6aG92ZXIsXG4ubW9kYWwtZnVsbHNjcmVlbiAuYnRuLWNsb3NlOmhvdmVyLFxuLm1vZGFsLXRvcCAuYnRuLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLXRvcCAubW9kYWwtZGlhbG9nIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5tb2RhbC10b3AgLm1vZGFsLWNvbnRlbnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5tb2RhbC1vbmJvYXJkaW5nIC5vbmJvYXJkaW5nLWhvcml6b250YWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubW9kYWwgLm1vZGFsLWRpYWxvZzpub3QoLm1vZGFsLWZ1bGxzY3JlZW4pIHtcbiAgICBwYWRkaW5nOiAwIDAuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1vZGFsIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4ubW9kYWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSg2NywgODksIDExMywgMC40NSk7XG4gIH1cblxuICAubW9kYWwtc20gLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAyMi41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tb2RhbC14bCAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5wcm9ncmVzcy1iYXIuYmctc2Vjb25kYXJ5IHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgxMzMsIDE0NiwgMTYzLCAwLjQpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLmJnLXN1Y2Nlc3Mge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDExMywgMjIxLCA1NSwgMC40KTtcbn1cblxuLnByb2dyZXNzLWJhci5iZy1pbmZvIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzLCAxOTUsIDIzNiwgMC40KTtcbn1cblxuLnByb2dyZXNzLWJhci5iZy13YXJuaW5nIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyNTUsIDE3MSwgMCwgMC40KTtcbn1cblxuLnByb2dyZXNzLWJhci5iZy1kYW5nZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDI1NSwgNjIsIDI5LCAwLjQpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLmJnLWxpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyNTIsIDI1MywgMjUzLCAwLjQpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLmJnLWRhcmsge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDM1LCA1MiwgNzAsIDAuNCk7XG59XG5cbi5wcm9ncmVzcy1iYXIuYmctZ3JheSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuNCk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ucHJvZ3Jlc3MgLnByb2dyZXNzLWJhcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTByZW07XG59XG4ucHJvZ3Jlc3MgLnByb2dyZXNzLWJhcjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHJlbTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSxcbi5icmVhZGNydW1iLWl0ZW0gYSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJyZWFkY3J1bWItaXRlbTpob3ZlciwgLmJyZWFkY3J1bWItaXRlbTpmb2N1cyxcbi5icmVhZGNydW1iLWl0ZW0gYTpob3Zlcixcbi5icmVhZGNydW1iLWl0ZW0gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUsXG4uYnJlYWRjcnVtYi1pdGVtIGEuYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlOjpiZWZvcmUsXG4uYnJlYWRjcnVtYi1pdGVtIGEuYWN0aXZlOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSBhLCAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSBhOmhvdmVyLCAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSBhOmZvY3VzLCAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSBhOmFjdGl2ZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYnJlYWRjcnVtYi1zdHlsZTEgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSxcbi5icmVhZGNydW1iLXN0eWxlMiAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGJveGljb25zO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYnJlYWRjcnVtYi1zdHlsZTEgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2IzXCI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5icmVhZGNydW1iLXN0eWxlMiAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVlNGFcIjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zNXJlbTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlOWVkO1xuICBjb2xvcjogIzg1OTJhMyAhaW1wb3J0YW50O1xufVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnksXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjODU5MmEzO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5OmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnk6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeTpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGRlMTtcbiAgY29sb3I6ICM4NTkyYTM7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODU5MmEzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MmEzO1xuICBjb2xvcjogIzg1OTJhMztcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzZjhkNztcbiAgY29sb3I6ICM3MWRkMzcgIWltcG9ydGFudDtcbn1cblxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjNzFkZDM3O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGVjY2M7XG4gIGNvbG9yOiAjNzFkZDM3O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDM3O1xuICBjb2xvcjogIzcxZGQzNztcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkZjNmYjtcbiAgY29sb3I6ICMwM2MzZWMgIWltcG9ydGFudDtcbn1cblxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiAjMDNjM2VjO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U3ZWU7XG4gIGNvbG9yOiAjMDNjM2VjO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDNjM2VjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNjM2VjO1xuICBjb2xvcjogIzAzYzNlYztcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVjYztcbiAgY29sb3I6ICNmZmFiMDAgIWltcG9ydGFudDtcbn1cblxuYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZhYjAwO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmUyYzI7XG4gIGNvbG9yOiAjZmZhYjAwO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZhYjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhYjAwO1xuICBjb2xvcjogI2ZmYWIwMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkOGQyO1xuICBjb2xvcjogI2ZmM2UxZCAhaW1wb3J0YW50O1xufVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjZmYzZTFkO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyY2RjODtcbiAgY29sb3I6ICNmZjNlMWQ7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzZTFkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzZTFkO1xuICBjb2xvcjogI2ZmM2UxZDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDZkYTtcbiAgY29sb3I6ICMyMzM0NDYgIWltcG9ydGFudDtcbn1cblxuYS5saXN0LWdyb3VwLWl0ZW0tZGFyayxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7XG4gIGNvbG9yOiAjMjMzNDQ2O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZGFyazpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0tZGFyazpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFyazpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7XG4gIGNvbG9yOiAjMjMzNDQ2O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZGFyay5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhcmsuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjMzNDQ2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2O1xuICBjb2xvcjogIzIzMzQ0Njtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI1MywgMjUzLCAwLjgyKTtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuYS5saXN0LWdyb3VwLWl0ZW0tZ3JheSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZ3JheSB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZ3JheTpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0tZ3JheTpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZ3JheTpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZ3JheTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM1LCAyMzUsIDIzNSwgMC44MjkpO1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWdyYXkuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1ncmF5LmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKTtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMSk7XG59XG5cbi5saXN0LWdyb3VwLmxpc3QtZ3JvdXAtdGltZWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubGlzdC1ncm91cC5saXN0LWdyb3VwLXRpbWVsaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMC4ycmVtO1xufVxuLmxpc3QtZ3JvdXAubGlzdC1ncm91cC10aW1lbGluZSAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4ubGlzdC1ncm91cC5saXN0LWdyb3VwLXRpbWVsaW5lIC5saXN0LWdyb3VwLWl0ZW06YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMy41cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSBoMSxcbi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5oMSxcbi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIGgyLFxuLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmgyLFxuLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgaDMsXG4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAuaDMsXG4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSBoNCxcbi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5oNCxcbi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIGg1LFxuLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmg1LFxuLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgaDYsXG4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAuaDYge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm5hdmJhciB7XG4gIHotaW5kZXg6IDI7XG59XG4ubmF2YmFyIC5kcm9wZG93bjpmb2N1cyxcbi5uYXZiYXIgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4ubmF2YmFyIC5uYXZiYXItdG9nZ2xlciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5uYXZiYXIgLm5hdmJhci10b2dnbGVyOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IHtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuNSk7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMykgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci5uYXZiYXItZGFyayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXItY29sbGFwc2UsXG4ubmF2YmFyLWJyYW5kLFxuLm5hdmJhci10ZXh0IHtcbiAgZmxleC1zaHJpbms6IDE7XG59XG5cbi5uYXZiYXItZGFyayBociB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4ubmF2YmFyLWxpZ2h0IGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xufVxuXG4uY2FyZCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjcsIDg5LCAxMTMsIDAuMTIpO1xufVxuLmNhcmQgLmNhcmQtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jYXJkIC5jYXJkLWhlYWRlciArIC5jYXJkLWJvZHksXG4uY2FyZCAuY2FyZC1oZWFkZXIgKyAuY2FyZC1jb250ZW50ID4gLmNhcmQtYm9keTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5jYXJkLWFjdGlvbi5jYXJkLWZ1bGxzY3JlZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogOTk5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmNhcmQtYWN0aW9uIC5jYXJkLWFsZXJ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5O1xufVxuLmNhcmQtYWN0aW9uIC5jYXJkLWFsZXJ0IC5hbGVydCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cbi5jYXJkLWFjdGlvbiAuY2FyZC1oZWFkZXIuY29sbGFwc2VkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5jYXJkLWFjdGlvbiAuY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaW5lLWhlaWdodDogMS41NDtcbn1cbi5jYXJkLWFjdGlvbiAuY2FyZC1oZWFkZXIgLmNhcmQtYWN0aW9uLXRpdGxlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbi5jYXJkLWFjdGlvbiAuY2FyZC1oZWFkZXIgLmNhcmQtYWN0aW9uLWVsZW1lbnQge1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMS41cmVtO1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5jYXJkLWFjdGlvbiAuY2FyZC1oZWFkZXIgLmNhcmQtYWN0aW9uLWVsZW1lbnQgYSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmNhcmQtYWN0aW9uIC5jYXJkLWhlYWRlciAuY2FyZC1hY3Rpb24tZWxlbWVudCBhIC5jb2xsYXBzZS1pY29uOjphZnRlciB7XG4gIG1hcmdpbi10b3A6IC0wLjE1cmVtO1xufVxuLmNhcmQtYWN0aW9uIC5ibG9ja1VJIC5zay1mb2xkIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uY2FyZC1hY3Rpb24gLmJsb2NrVUkgaDUsIC5jYXJkLWFjdGlvbiAuYmxvY2tVSSAuaDUge1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgbWFyZ2luOiAxcmVtIDAgMCAwO1xufVxuXG4uY2FyZC1oZWFkZXIsXG4uY2FyZC1mb290ZXIge1xuICBib3JkZXItY29sb3I6ICNkOWRlZTM7XG59XG5cbi5jYXJkIGhyIHtcbiAgY29sb3I6ICNkOWRlZTM7XG59XG5cbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl0gLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdLCAuY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjpiZWZvcmUsIC5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl06OmFmdGVyLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdIC5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXTo6YmVmb3JlLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl0gLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YmVmb3JlLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sLVwiXTo6YWZ0ZXIsXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1jb2wtXSAuY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzJD1cIiBjb2xcIl0sXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1jb2wtXTo6YmVmb3JlLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149Y29sLV06OmFmdGVyLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1jb2xdIC5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9Y29sXTo6YmVmb3JlLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1jb2xdOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2Q5ZGVlMztcbn1cblxuLmNhcmQtaGVhZGVyLmhlYWRlci1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLmhlYWRlci1lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jYXJkLWhlYWRlci5jYXJkLWhlYWRlci1lbGVtZW50cyB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbn1cbi5jYXJkLWhlYWRlciAuY2FyZC1oZWFkZXItZWxlbWVudHMge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5cbi5jYXJkLWhlYWRlci1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLWVsZW1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNhcmQtaGVhZGVyLWVsZW1lbnRzICsgLmNhcmQtaGVhZGVyLWVsZW1lbnRzLFxuLmNhcmQtaGVhZGVyLWVsZW1lbnRzID4gKiArICosXG4uY2FyZC1oZWFkZXItZWxlbWVudHMgKyAuY2FyZC10aXRsZS1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLWVsZW1lbnRzID4gKiArICosXG4uY2FyZC10aXRsZS1lbGVtZW50cyArIC5jYXJkLWhlYWRlci1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLWVsZW1lbnRzICsgLmNhcmQtdGl0bGUtZWxlbWVudHMge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cblxuLmNhcmQtaW1nLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5jYXJkLWltZy1sZWZ0IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5jYXJkLWltZy1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLmNhcmQtaW1nLXJpZ2h0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5jYXJkID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5jYXJkIC5jYXJkLXNlcGFyYXRvciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkOWRlZTM7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAuY2FyZCAuY2FyZC1zZXBhcmF0b3Ige1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkZWUzO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5hY2NvcmRpb24taGVhZGVyICsgLmFjY29yZGlvbi1jb2xsYXBzZSAuYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmFjY29yZGlvbi5hY2NvcmRpb24td2l0aG91dC1hcnJvdyAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5hY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNDUpO1xufVxuXG4uY2FyZC5hY2NvcmRpb24taXRlbSB7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuNCk7XG59XG5cbi5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBsaW5lLWhlaWdodDogMS41NDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wOiAwIHNvbGlkICNkOWRlZTM7XG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zNzVyZW07XG59XG4uYWNjb3JkaW9uLWJ1dHRvbi5jb2xsYXBzZWQge1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNjg3NXJlbTtcbn1cblxuLmNsb3NlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmJnLXNlY29uZGFyeS50b2FzdCwgLmJnLXNlY29uZGFyeS5icy10b2FzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzMywgMTQ2LCAxNjMsIDAuODUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAxcmVtIHJnYmEoMTMzLCAxNDYsIDE2MywgMC40KTtcbn1cbi5iZy1zZWNvbmRhcnkudG9hc3QgLnRvYXN0LWhlYWRlciwgLmJnLXNlY29uZGFyeS5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmctc2Vjb25kYXJ5LnRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSwgLmJnLXNlY29uZGFyeS5icy10b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MmEzICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjI1LjAwMDAwMCwgLTI1MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIyNS4wMDAwMDAsIDI1MC41MDAwMDApJyUzRSUzQ3VzZSBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMScgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIDAgcmdiYSgxMzMsIDE0NiwgMTYzLCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zdWNjZXNzLnRvYXN0LCAuYmctc3VjY2Vzcy5icy10b2FzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExMywgMjIxLCA1NSwgMC44NSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgxMTMsIDIyMSwgNTUsIDAuNCk7XG59XG4uYmctc3VjY2Vzcy50b2FzdCAudG9hc3QtaGVhZGVyLCAuYmctc3VjY2Vzcy5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmctc3VjY2Vzcy50b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2UsIC5iZy1zdWNjZXNzLmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MWRkMzcgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScxJyBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gMCByZ2JhKDExMywgMjIxLCA1NSwgMC40KSAhaW1wb3J0YW50O1xufVxuXG4uYmctaW5mby50b2FzdCwgLmJnLWluZm8uYnMtdG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCAxOTUsIDIzNiwgMC44NSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgzLCAxOTUsIDIzNiwgMC40KTtcbn1cbi5iZy1pbmZvLnRvYXN0IC50b2FzdC1oZWFkZXIsIC5iZy1pbmZvLmJzLXRvYXN0IC50b2FzdC1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5iZy1pbmZvLnRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSwgLmJnLWluZm8uYnMtdG9hc3QgLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYzNlYyAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNTBweCcgaGVpZ2h0PScxNTFweCcgdmlld0JveD0nMCAwIDE1MCAxNTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcG9seWdvbiBpZD0ncGF0aC0xJyBwb2ludHM9JzEzMS4yNTE2NTcgMCA3NC45OTMzNzA1IDU2LjI1IDE4Ljc0ODM0MjYgMCAwIDE4Ljc1IDU2LjI0NTAyNzggNzUgMCAxMzEuMjUgMTguNzQ4MzQyNiAxNTAgNzQuOTkzMzcwNSA5My43NSAxMzEuMjUxNjU3IDE1MCAxNTAgMTMxLjI1IDkzLjc1NDk3MjIgNzUgMTUwIDE4Ljc1JyUzRSUzQy9wb2x5Z29uJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn46oLSU1QlNldHVwJTVEOi1Db2xvcnMtJmFtcDstU2hhZG93cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdBcnRib2FyZCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTIyNS4wMDAwMDAsIC0yNTAuMDAwMDAwKSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMjUuMDAwMDAwLCAyNTAuNTAwMDAwKSclM0UlM0N1c2UgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzEnIGZpbGw9JyUyM2ZmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3gtc2hhZG93OiAwIDAuMTg3NXJlbSAwLjM3NXJlbSAwIHJnYmEoMywgMTk1LCAyMzYsIDAuNCkgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcudG9hc3QsIC5iZy13YXJuaW5nLmJzLXRvYXN0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNzEsIDAsIDAuODUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAxcmVtIHJnYmEoMjU1LCAxNzEsIDAsIDAuNCk7XG59XG4uYmctd2FybmluZy50b2FzdCAudG9hc3QtaGVhZGVyLCAuYmctd2FybmluZy5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmctd2FybmluZy50b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2UsIC5iZy13YXJuaW5nLmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFiMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScxJyBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gMCByZ2JhKDI1NSwgMTcxLCAwLCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXIudG9hc3QsIC5iZy1kYW5nZXIuYnMtdG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDYyLCAyOSwgMC44NSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgyNTUsIDYyLCAyOSwgMC40KTtcbn1cbi5iZy1kYW5nZXIudG9hc3QgLnRvYXN0LWhlYWRlciwgLmJnLWRhbmdlci5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmctZGFuZ2VyLnRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSwgLmJnLWRhbmdlci5icy10b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzZTFkICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjI1LjAwMDAwMCwgLTI1MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIyNS4wMDAwMDAsIDI1MC41MDAwMDApJyUzRSUzQ3VzZSBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMScgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIDAgcmdiYSgyNTUsIDYyLCAyOSwgMC40KSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQudG9hc3QsIC5iZy1saWdodC5icy10b2FzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MiwgMjUzLCAyNTMsIDAuODUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAxcmVtIHJnYmEoMjUyLCAyNTMsIDI1MywgMC40KTtcbn1cbi5iZy1saWdodC50b2FzdCAudG9hc3QtaGVhZGVyLCAuYmctbGlnaHQuYnMtdG9hc3QgLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJnLWxpZ2h0LnRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSwgLmJnLWxpZ2h0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZkZmQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScxJyBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gMCByZ2JhKDI1MiwgMjUzLCAyNTMsIDAuNCkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsudG9hc3QsIC5iZy1kYXJrLmJzLXRvYXN0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsIDUyLCA3MCwgMC44NSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgzNSwgNTIsIDcwLCAwLjQpO1xufVxuLmJnLWRhcmsudG9hc3QgLnRvYXN0LWhlYWRlciwgLmJnLWRhcmsuYnMtdG9hc3QgLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJnLWRhcmsudG9hc3QgLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlLCAuYmctZGFyay5icy10b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjI1LjAwMDAwMCwgLTI1MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIyNS4wMDAwMDAsIDI1MC41MDAwMDApJyUzRSUzQ3VzZSBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMScgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIDAgcmdiYSgzNSwgNTIsIDcwLCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmF5LnRvYXN0LCAuYmctZ3JheS5icy10b2FzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjg1KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDY3LCA4OSwgMTEzLCAwLjQpO1xufVxuLmJnLWdyYXkudG9hc3QgLnRvYXN0LWhlYWRlciwgLmJnLWdyYXkuYnMtdG9hc3QgLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJnLWdyYXkudG9hc3QgLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlLCAuYmctZ3JheS5icy10b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE1MHB4JyBoZWlnaHQ9JzE1MXB4JyB2aWV3Qm94PScwIDAgMTUwIDE1MScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0Nwb2x5Z29uIGlkPSdwYXRoLTEnIHBvaW50cz0nMTMxLjI1MTY1NyAwIDc0Ljk5MzM3MDUgNTYuMjUgMTguNzQ4MzQyNiAwIDAgMTguNzUgNTYuMjQ1MDI3OCA3NSAwIDEzMS4yNSAxOC43NDgzNDI2IDE1MCA3NC45OTMzNzA1IDkzLjc1IDEzMS4yNTE2NTcgMTUwIDE1MCAxMzEuMjUgOTMuNzU0OTcyMiA3NSAxNTAgMTguNzUnJTNFJTNDL3BvbHlnb24lM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/CfjqgtJTVCU2V0dXAlNUQ6LUNvbG9ycy0mYW1wOy1TaGFkb3dzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9J0FydGJvYXJkJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjI1LjAwMDAwMCwgLTI1MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDIyNS4wMDAwMDAsIDI1MC41MDAwMDApJyUzRSUzQ3VzZSBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMScgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIDAgcmdiYSg2NywgODksIDExMywgMC40KSAhaW1wb3J0YW50O1xufVxuXG4uYnMtdG9hc3RbY2xhc3NePWJnLV0sXG4uYnMtdG9hc3RbY2xhc3MqPVwiIGJnLVwiXSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRvYXN0LmJzLXRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgei1pbmRleDogMTA5NTtcbn1cbi50b2FzdC5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRvYXN0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgcGFkZGluZzogMC40NXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjYyNWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yM3MgZWFzZSAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgxNjEsIDE3MiwgMTg0LCAwLjQpO1xuICByaWdodDogMnB4O1xufVxuLnRvYXN0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZTpob3ZlciwgLnRvYXN0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZTpmb2N1cywgLnRvYXN0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZTphY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRvYXN0LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgfiAudG9hc3QtYm9keSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4udG9hc3QtZXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNC4xcmVtO1xuICByaWdodDogMi41cmVtO1xufVxuXG4udG9hc3QtcGxhY2VtZW50LWV4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgxLFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDEsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgyLFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDIsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgzLFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDMsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGg0LFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDQsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGg1LFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDUsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGg2LFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDYsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoMSxcbi5jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbS5jYXJvdXNlbC1pdGVtLXN0YXJ0IC5oMSxcbi5jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGgyLFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmgyLFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgaDMsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCAuaDMsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoNCxcbi5jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbS5jYXJvdXNlbC1pdGVtLXN0YXJ0IC5oNCxcbi5jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGg1LFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmg1LFxuLmNhcm91c2VsIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgaDYsXG4uY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCAuaDYge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGgxLFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIC5oMSxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSBoMixcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDIsXG4uY2Fyb3VzZWwuY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUgaDMsXG4uY2Fyb3VzZWwuY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUgLmgzLFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIGg0LFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIC5oNCxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSBoNSxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSAuaDUsXG4uY2Fyb3VzZWwuY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUgaDYsXG4uY2Fyb3VzZWwuY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUgLmg2LFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoMSxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmgxLFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoMixcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmgyLFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoMyxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmgzLFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoNCxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmg0LFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoNSxcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmg1LFxuLmNhcm91c2VsLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCBoNixcbi5jYXJvdXNlbC5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQgLmg2IHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG5cbi5zcGlubmVyLWJvcmRlci1sZyB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlci13aWR0aDogMC4zZW07XG59XG5cbi5zcGlubmVyLWdyb3ctbGcge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBib3JkZXItd2lkdGg6IDAuM2VtO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXItcnRsIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXItcnRsIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyLXJ0bCB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgfVxufVxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XG59XG5cbi5hbGlnbi1iYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdGV4dC1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRleHQtdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZS1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbn1cblxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xufVxuXG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgxNjEsIDE3MiwgMTg0LCAwLjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LXNtIHtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMTYxLCAxNzIsIDE4NCwgMC40KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LWxnIHtcbiAgYm94LXNoYWRvdzogMCAwLjYyNXJlbSAxLjI1cmVtIHJnYmEoMTYxLCAxNzIsIDE4NCwgMC41KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LW5vbmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udG9wLTUwIHtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnRvcC0xMDAge1xuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0wIHtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNTAge1xuICBib3R0b206IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uYm90dG9tLTEwMCB7XG4gIGJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uemluZGV4LTEge1xuICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cbi56aW5kZXgtMiB7XG4gIHotaW5kZXg6IDIgIWltcG9ydGFudDtcbn1cblxuLnppbmRleC0zIHtcbiAgei1pbmRleDogMyAhaW1wb3J0YW50O1xufVxuXG4uemluZGV4LTQge1xuICB6LWluZGV4OiA0ICFpbXBvcnRhbnQ7XG59XG5cbi56aW5kZXgtNSB7XG4gIHotaW5kZXg6IDUgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWRlZTMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3AtMCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZGVlMyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zZWNvbmRhcnkge1xuICBib3JkZXItY29sb3I6ICM4NTkyYTMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzAzYzNlYyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNmZmFiMDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYW5nZXIge1xuICBib3JkZXItY29sb3I6ICNmZjNlMWQgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6ICMyMzM0NDYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ncmF5IHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10cmFuc3BhcmVudCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0xIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0yIHtcbiAgYm9yZGVyLXdpZHRoOiAycHggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0zIHtcbiAgYm9yZGVyLXdpZHRoOiAzcHggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci00IHtcbiAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci01IHtcbiAgYm9yZGVyLXdpZHRoOiA1cHggIWltcG9ydGFudDtcbn1cblxuLnctcHgtMjAge1xuICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC0zMCB7XG4gIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LXB4LTQwIHtcbiAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnctcHgtNTAge1xuICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC03NSB7XG4gIHdpZHRoOiA3NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LXB4LTEwMCB7XG4gIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC0xNTAge1xuICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcbn1cblxuLnctcHgtMjAwIHtcbiAgd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LXB4LTI1MCB7XG4gIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC0zMDAge1xuICB3aWR0aDogMzAwcHggIWltcG9ydGFudDtcbn1cblxuLnctcHgtMzUwIHtcbiAgd2lkdGg6IDM1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LXB4LTQwMCB7XG4gIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC01MDAge1xuICB3aWR0aDogNTAwcHggIWltcG9ydGFudDtcbn1cblxuLnctcHgtNjAwIHtcbiAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LXB4LTcwMCB7XG4gIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xufVxuXG4udy1weC04MDAge1xuICB3aWR0aDogODAwcHggIWltcG9ydGFudDtcbn1cblxuLnctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi53LTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnctNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tdy0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4ubWluLXZ3LTEwMCB7XG4gIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLmgtcHgtMjAge1xuICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtMzAge1xuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtNDAge1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtNTAge1xuICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtNzUge1xuICBoZWlnaHQ6IDc1cHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtMTAwIHtcbiAgaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xufVxuXG4uaC1weC0xNTAge1xuICBoZWlnaHQ6IDE1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oLXB4LTIwMCB7XG4gIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtMjUwIHtcbiAgaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xufVxuXG4uaC1weC0zMDAge1xuICBoZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oLXB4LTM1MCB7XG4gIGhlaWdodDogMzUwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtNDAwIHtcbiAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xufVxuXG4uaC1weC01MDAge1xuICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oLXB4LTYwMCB7XG4gIGhlaWdodDogNjAwcHggIWltcG9ydGFudDtcbn1cblxuLmgtcHgtNzAwIHtcbiAgaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xufVxuXG4uaC1weC04MDAge1xuICBoZWlnaHQ6IDgwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oLWF1dG8ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmgtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4uaC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDtcbn1cblxuLmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5taC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi52aC0xMDAge1xuICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG59XG5cbi5taW4tdmgtMTAwIHtcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ncm93LTAge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZ3Jvdy0xIHtcbiAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXNocmluay0wIHtcbiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtc2hyaW5rLTEge1xuICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtMCB7XG4gIGdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTEge1xuICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0yIHtcbiAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0zIHtcbiAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNCB7XG4gIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNSB7XG4gIGdhcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1zdGFydCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtZW5kIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWJldHdlZW4ge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWFyb3VuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1zdHJldGNoIHtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1hdXRvIHtcbiAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtZW5kIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtY2VudGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLWZpcnN0IHtcbiAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0wIHtcbiAgb3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTEge1xuICBvcmRlcjogMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMiB7XG4gIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0zIHtcbiAgb3JkZXI6IDMgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNSB7XG4gIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci1sYXN0IHtcbiAgb3JkZXI6IDYgIWltcG9ydGFudDtcbn1cblxuLm0tMCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubS0xIHtcbiAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTIge1xuICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0zIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTQge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS01IHtcbiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLWF1dG8ge1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm14LTAge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm14LTEge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LTIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC00IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubXktMSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktMiB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LTMge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LTQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS01IHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS1hdXRvIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubXQtMSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTMge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC00IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC01IHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtYXV0byB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1iLTAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1hdXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubS1uMSB7XG4gIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tbjIge1xuICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tbjMge1xuICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW40IHtcbiAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW41IHtcbiAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtbjEge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtbjIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LW4zIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LW40IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC1uNSB7XG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS1uMSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS1uMiB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktbjMge1xuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktbjQge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LW41IHtcbiAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LW4xIHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LW4yIHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjMge1xuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjQge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uNSB7XG4gIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uMSB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uMiB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLW4zIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLW40IHtcbiAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjUge1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucC0xIHtcbiAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0yIHtcbiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTMge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTQge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNSB7XG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weC0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5weS0xIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB5LTIge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB5LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnB0LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTUge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi01IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvbnQtbW9ub3NwYWNlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtbW9ub3NwYWNlKSAhaW1wb3J0YW50O1xufVxuXG4uZnMtMSB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjM2MjVyZW0gKyAxLjM1dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy0yIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy0zIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjg3NXJlbSArIDAuNDV2dykgIWltcG9ydGFudDtcbn1cblxuLmZzLTQge1xuICBmb250LXNpemU6IGNhbGMoMS4yNjI1cmVtICsgMC4xNXZ3KSAhaW1wb3J0YW50O1xufVxuXG4uZnMtNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmZzLTYge1xuICBmb250LXNpemU6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZnMtdGlueSB7XG4gIGZvbnQtc2l6ZTogNzAlICFpbXBvcnRhbnQ7XG59XG5cbi5mcy1iaWcge1xuICBmb250LXNpemU6IDExMiUgIWltcG9ydGFudDtcbn1cblxuLmZzLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5mcy14bGFyZ2Uge1xuICBmb250LXNpemU6IDE3MCUgIWltcG9ydGFudDtcbn1cblxuLmZzdC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuLmZzdC1ub3JtYWwge1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmZ3LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbGlnaHRlciB7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbn1cblxuLmxoLTEge1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xufVxuXG4ubGgtaW5oZXJpdCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5saC1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbn1cblxuLmxoLWJhc2Uge1xuICBsaW5lLWhlaWdodDogMS41MyAhaW1wb3J0YW50O1xufVxuXG4ubGgtbGcge1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLnRleHQtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vKiBydGw6YmVnaW46cmVtb3ZlICovXG4udGV4dC1icmVhayB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8qIHJ0bDplbmQ6cmVtb3ZlICovXG4udGV4dC1wcmltYXJ5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXNlY29uZGFyeS1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtd2FybmluZy1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjYjRiZGM2ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmsge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtZGFyay1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ncmF5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWdyYXktcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmxhY2sge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtYmxhY2stcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogIzY5N2E4ZCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogI2ExYWNiOCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjay01MCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC41KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13aGl0ZS01MCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJlc2V0IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zZWNvbmRhcnkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctaW5mbyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctd2FybmluZyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWxpZ2h0IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFyayB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JheSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1ncmF5LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYmxhY2sge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtYmxhY2stcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmctYm9keSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmOSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1saWdodGVyIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA1KSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHRlc3Qge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMDI1KSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1ncmFkaWVudCkgIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LWFsbCB7XG4gIHVzZXItc2VsZWN0OiBhbGwgIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LWF1dG8ge1xuICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udXNlci1zZWxlY3Qtbm9uZSB7XG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wZS1ub25lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBlLWF1dG8ge1xuICBwb2ludGVyLWV2ZW50czogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTEge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTIge1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0zIHtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNTByZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uY3Vyc29yLXBvaW50ZXIge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmN1cnNvci1tb3ZlIHtcbiAgY3Vyc29yOiBtb3ZlICFpbXBvcnRhbnQ7XG59XG5cbi5jdXJzb3ItZ3JhYiB7XG4gIGN1cnNvcjogZ3JhYiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmQtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtc20tMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXNtLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1zbS0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1zbS0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtc20tNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtc20tNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1zbS1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLXNtLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLXNtLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItc20tMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLXNtLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItc20tNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1zbS1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXNtLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc20tYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1zbS0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktc20tMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1zbS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc20tbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc20tbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1zbS1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1zbS1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktc20tbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktc20tbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1zbS1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1zbS1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtc20tNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1zbS0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHktc20tMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1zbS0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXNtLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtc20tMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmQtbWQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1tZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbWQtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLW1kLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1tZC0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1tZC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbWQtNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbWQtNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1tZC1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1tZC0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLW1kLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItbWQtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1tZC0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLW1kLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItbWQtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1tZC1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LW1kLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1tZC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbWQtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1tZC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LW1kLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LW1kLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbWQtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbWQtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1tZC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1tZC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LW1kLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbWQtbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbWQtbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1tZC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1tZC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLW1kLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLW1kLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbWQtNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LW1kLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtbWQtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1tZC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHktbWQtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1tZC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LW1kLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1tZC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LW1kLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbWQtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1sZy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbGctMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLWxnLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1sZy0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC1sZy0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbGctNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAtbGctNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbGctY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1sZy1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLWxnLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1sZy0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLWxnLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItbGctMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLWxnLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXItbGctNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci1sZy1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LWxnLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbGctMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1sZy0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbGctMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1sZy01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LWxnLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbGctbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtbGctbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC1sZy1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LWxnLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbGctbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktbGctbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1sZy1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS1sZy1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtbGctMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtbGctNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LWxnLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS1sZy00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbGctMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbGctNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbGctMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLWxnLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLWxnLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kLXhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteGwtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXhsLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC14bC0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAteGwtMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAteGwtMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXhsLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXhsLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14bC0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLXhsLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14bC00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm9yZGVyLXhsLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXIteGwtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteGwtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14bC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXhsLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteGwtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteGwtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteGwtbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteGwtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgteGwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHkteGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS14bC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuZC14eGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14eGwtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14eGwtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXh4bC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nYXAteHhsLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC14eGwtMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXh4bC0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC14eGwtMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2FwLXh4bC00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdhcC14eGwtNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXh4bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXh4bC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14eGwtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14eGwtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXh4bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14eGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteHhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14eGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteHhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteHhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteHhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXh4bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXh4bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXh4bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXh4bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub3JkZXIteHhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vcmRlci14eGwtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXh4bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXh4bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXh4bC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteHhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteHhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteHhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXh4bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14eGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14eGwtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14eGwtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14eGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteHhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteHhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXh4bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteHhsLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgteHhsLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXh4bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXh4bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC14eGwtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14eGwtbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS14eGwtbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteHhsLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXkteHhsLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LXh4bC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXh4bC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14eGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14eGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LXh4bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgteHhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC14eGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC14eGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXh4bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHkteHhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS14eGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weS14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXh4bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB5LXh4bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteHhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteHhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteHhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXh4bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteHhsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteHhsLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14eGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZnMtMSB7XG4gICAgZm9udC1zaXplOiAyLjM3NXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZzLTIge1xuICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZzLTMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mcy00IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5kLXByaW50LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnppbmRleC0xIHtcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xufVxuXG4uemluZGV4LTIge1xuICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG59XG5cbi56aW5kZXgtMyB7XG4gIHotaW5kZXg6IDMgIWltcG9ydGFudDtcbn1cblxuLnppbmRleC00IHtcbiAgei1pbmRleDogNCAhaW1wb3J0YW50O1xufVxuXG4uemluZGV4LTUge1xuICB6LWluZGV4OiA1ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1zdGFydCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1lbmQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTAge1xuICByaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTUwIHtcbiAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTEwMCB7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5zdGFydC0wIHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uc3RhcnQtNTAge1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnN0YXJ0LTEwMCB7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zbGF0ZS1taWRkbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNsYXRlLW1pZGRsZS14IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2xhdGUtbWlkZGxlLXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1lbmQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDlkZWUzICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZW5kLTAge1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdGFydCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5ZGVlMyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN0YXJ0LTAge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZW5kIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtdG9wIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTAge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1lLTEge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtMyB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtNCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS01IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tcy0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1zLTEge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTMge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tZS1uMSB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLW4yIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS1uMyB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLW40IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS1uNSB7XG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLW4xIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tcy1uMiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tcy1uMyB7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtbjQge1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtbjUge1xuICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wZS0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGUtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGUtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0xIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtNSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucm90YXRlLTAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50O1xufVxuXG4ucm90YXRlLTkwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3RhdGUtMTgwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSAhaW1wb3J0YW50O1xufVxuXG4ucm90YXRlLTI3MCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZykgIWltcG9ydGFudDtcbn1cblxuLnJvdGF0ZS1uOTAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3RhdGUtbjE4MCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3RhdGUtbjI3MCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5zY2FsZVgtbjEge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSkgIWltcG9ydGFudDtcbn1cblxuLnNjYWxlWS1uMSB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsb2F0LXNtLXN0YXJ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXNtLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtc20tbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LXNtLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1zbS1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1zbS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXNtLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtc20tMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtc20tNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtc20tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1zbS1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXNtLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1zbS1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXNtLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1zbS1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXNtLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1zbS1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1zbS1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtc20tbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtc20tbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXNtLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXNtLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1zbS0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1zbS0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1zbS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLXNtLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvYXQtbWQtc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtbWQtZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQtbWQtc3RhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LW1kLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbWQtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbWQtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLW1kLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbWQtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLW1kLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbWQtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLW1kLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbWQtbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLW1kLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLW1kLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1tZC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1tZC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtbWQtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLW1kLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLW1kLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLW1kLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtbWQtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1tZC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbG9hdC1sZy1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1sZy1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWxnLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1sZy1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQtbGctZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQtbGctY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLWxnLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbGctNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbGctbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1sZy1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbGctbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUtbGctbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy1sZy1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbGctbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMtbGctbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLWxnLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLWxnLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1sZy0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtbGctMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtbGctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMtbGctMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLWxnLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbG9hdC14bC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC14bC1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXhsLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14bC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQteGwtZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQteGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14bC1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteGwtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteGwtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14bC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteGwtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXhsLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXhsLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS14bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS14bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy14bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5mbG9hdC14eGwtc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQteHhsLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQteHhsLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14eGwtc3RhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LXh4bC1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14eGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14eGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteHhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXh4bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14eGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14eGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXh4bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXh4bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1zLXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteHhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteHhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14eGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14eGwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14eGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZS14eGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXh4bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1lLXh4bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWUteHhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteHhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14eGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteHhsLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tcy14eGwtbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXMteHhsLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wZS14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXh4bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUteHhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXh4bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGUteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBlLXh4bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteHhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzLXh4bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy14eGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcy14eGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteHhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMteHhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG59XG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCIgb247XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuLmFwcC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuNSk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG59XG4uYXBwLW92ZXJsYXkuc2hvdyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkLFxuLmNvbnRhaW5lci1zbSxcbi5jb250YWluZXItbWQsXG4uY29udGFpbmVyLWxnLFxuLmNvbnRhaW5lci14bCxcbi5jb250YWluZXIteHhsIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkLFxuLmNvbnRhaW5lci1zbSxcbi5jb250YWluZXItbWQsXG4uY29udGFpbmVyLWxnLFxuLmNvbnRhaW5lci14bCxcbi5jb250YWluZXIteHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNjI1cmVtO1xuICB9XG59XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5pbWctdGh1bWJuYWlsIGltZyB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uaW1nLXRodW1ibmFpbDpob3ZlciAuaW1nLXRodW1ibmFpbC1jb250ZW50LCAuaW1nLXRodW1ibmFpbDpmb2N1cyAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmltZy10aHVtYm5haWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uaW1nLXRodW1ibmFpbDpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAuaW1nLXRodW1ibmFpbC1vdmVybGF5IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4uaW1nLXRodW1ibmFpbC1zaGFkb3cge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnM7XG59XG4uaW1nLXRodW1ibmFpbC1zaGFkb3c6aG92ZXIsIC5pbWctdGh1bWJuYWlsLXNoYWRvdzpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSg2NywgODksIDExMywgMC40KTtcbn1cblxuLmltZy10aHVtYm5haWwtem9vbS1pbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaW1nLXRodW1ibmFpbC16b29tLWluIGltZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDApO1xufVxuLmltZy10aHVtYm5haWwtem9vbS1pbiAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC42KTtcbn1cbi5pbWctdGh1bWJuYWlsLXpvb20taW46aG92ZXIgaW1nLCAuaW1nLXRodW1ibmFpbC16b29tLWluOmZvY3VzIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cbi5pbWctdGh1bWJuYWlsLXpvb20taW46aG92ZXIgLmltZy10aHVtYm5haWwtY29udGVudCwgLmltZy10aHVtYm5haWwtem9vbS1pbjpmb2N1cyAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5jYXJkLFxuLmNhcmQtYm9keSxcbi5tZWRpYSxcbi5mbGV4LWNvbHVtbixcbi50YWItY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4uYnV5LW5vdyAuYnRuLWJ1eS1ub3cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogM3JlbTtcbiAgcmlnaHQ6IDEuNjI1cmVtO1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDIwcHggMXB4ICNmZjNlMWQ7XG59XG4uYnV5LW5vdyAuYnRuLWJ1eS1ub3c6aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udWktc3F1YXJlLFxuLnVpLXJlY3QsXG4udWktcmVjdC0zMCxcbi51aS1yZWN0LTYwLFxuLnVpLXJlY3QtNjcsXG4udWktcmVjdC03NSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udWktc3F1YXJlIHtcbiAgcGFkZGluZy10b3A6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnVpLXJlY3Qge1xuICBwYWRkaW5nLXRvcDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi51aS1yZWN0LTMwIHtcbiAgcGFkZGluZy10b3A6IDMwJSAhaW1wb3J0YW50O1xufVxuXG4udWktcmVjdC02MCB7XG4gIHBhZGRpbmctdG9wOiA2MCUgIWltcG9ydGFudDtcbn1cblxuLnVpLXJlY3QtNjcge1xuICBwYWRkaW5nLXRvcDogNjclICFpbXBvcnRhbnQ7XG59XG5cbi51aS1yZWN0LTc1IHtcbiAgcGFkZGluZy10b3A6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4udWktc3F1YXJlLWNvbnRlbnQsXG4udWktcmVjdC1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdHJpa2UtdGhyb3VnaCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4ubGluZS1jbGFtcC0xIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn1cblxuLmxpbmUtY2xhbXAtMiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG59XG5cbi5saW5lLWNsYW1wLTMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xufVxuXG4udWktc3RhcnMsXG4udWktc3Rhcixcbi51aS1zdGFyID4gKiB7XG4gIGhlaWdodDogMS4xZW07XG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAta2h0bWwtdXNlci1kcmFnOiBub25lO1xuICAtbW96LXVzZXItZHJhZzogbm9uZTtcbiAgLW8tdXNlci1kcmFnOiBub25lO1xuICB1c2VyLWRyYWc6IG5vbmU7XG59XG5cbi51aS1zdGFycyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVpLXN0YXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEuMWVtO1xuICBoZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnVpLXN0YXIgKyAudWktc3RhciB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4xZW07XG59XG4udWktc3RhciA+ICosXG4udWktc3RhciA+ICo6OmJlZm9yZSxcbi51aS1zdGFyID4gKjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDAuNTVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi51aS1zdGFyID4gKiB7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS1zdGFyID4gKjpmaXJzdC1jaGlsZCB7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2ZmYWIwMDtcbn1cbi51aS1zdGFyID4gKjpsYXN0LWNoaWxkIHtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWktc3Rhci5oYWxmLWZpbGxlZCA+ICo6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuLnVpLXN0YXIuZmlsbGVkID4gKjpmaXJzdC1jaGlsZCwgLnVpLXN0YXIuaGFsZi1maWxsZWQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWktc3Rhci5maWxsZWQgPiAqOmxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWktc3RhcnMuaG92ZXJhYmxlIC51aS1zdGFyID4gKjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWktc3RhcnMuaG92ZXJhYmxlIC51aS1zdGFyOmZpcnN0LWNoaWxkOm5vdCguZmlsbGVkKSA+ICo6Zmlyc3QtY2hpbGQsXG4udWktc3RhcnMuaG92ZXJhYmxlIC51aS1zdGFyOmZpcnN0LWNoaWxkOm5vdCguZmlsbGVkKSB+IC51aS1zdGFyID4gKjpmaXJzdC1jaGlsZCxcbi51aS1zdGFycy5ob3ZlcmFibGUgLnVpLXN0YXI6Zmlyc3QtY2hpbGQ6bm90KC5oYWxmLWZpbGxlZCkgPiAqOmZpcnN0LWNoaWxkLFxuLnVpLXN0YXJzLmhvdmVyYWJsZSAudWktc3RhcjpmaXJzdC1jaGlsZDpub3QoLmhhbGYtZmlsbGVkKSB+IC51aS1zdGFyID4gKjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS1zdGFycy5ob3ZlcmFibGUgLnVpLXN0YXIuZmlsbGVkID4gKjpmaXJzdC1jaGlsZCxcbi51aS1zdGFycy5ob3ZlcmFibGUgLnVpLXN0YXIuaGFsZi1maWxsZWQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLnVpLXN0YXJzLmhvdmVyYWJsZTpob3ZlciAudWktc3RhciA+ICo6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbn1cblxuLnVpLXN0YXJzLmhvdmVyYWJsZSAudWktc3Rhcjpob3ZlciB+IC51aS1zdGFyID4gKjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS1zdGFycy5ob3ZlcmFibGUgLnVpLXN0YXI6aG92ZXIgfiAudWktc3RhciA+ICo6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi51aS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi51aS1iZy1vdmVybGF5LWNvbnRhaW5lcixcbi51aS1iZy12aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktYmctb3ZlcmxheS1jb250YWluZXIgPiAqLFxuLnVpLWJnLXZpZGVvLWNvbnRhaW5lciA+ICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51aS1iZy1vdmVybGF5LWNvbnRhaW5lciAudWktYmctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxpZ2h0LXN0eWxlIC51aS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTM7XG59XG4ubGlnaHQtc3R5bGUgLnVpLXN0YXIgPiAqOmxhc3QtY2hpbGQge1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC4yKTtcbn1cblxuLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUgLmFwcC1icmFuZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1lbnUgLnBzX190aHVtYi15LFxuLm1lbnUgLnBzX19yYWlsLXkge1xuICB3aWR0aDogMC4xMjVyZW0gIWltcG9ydGFudDtcbn1cbi5tZW51IC5wc19fcmFpbC15IHtcbiAgcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG4ubWVudSAucHNfX3JhaWwteTpob3Zlcixcbi5tZW51IC5wc19fcmFpbC15OmZvY3VzLFxuLm1lbnUgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nLFxuLm1lbnUgLnBzX19yYWlsLXk6aG92ZXIgPiAucHNfX3RodW1iLXksXG4ubWVudSAucHNfX3JhaWwteTpmb2N1cyA+IC5wc19fdGh1bWIteSxcbi5tZW51IC5wc19fcmFpbC15LnBzLS1jbGlja2luZyA+IC5wc19fdGh1bWIteSB7XG4gIHdpZHRoOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVudS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWVudS1pbm5lci1zaGFkb3cge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNC4yMjVyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAyO1xufVxuaHRtbDpub3QoLmxheW91dC1tZW51LWZpeGVkKSAubWVudS1pbm5lci1zaGFkb3cge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZW51LWl0ZW0ge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm1lbnUtaXRlbS5tZW51LWl0ZW0tYW5pbWF0aW5nIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5tZW51LWl0ZW0sXG4ubWVudS1oZWFkZXIsXG4ubWVudS1kaXZpZGVyLFxuLm1lbnUtYmxvY2sge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubWVudS1oZWFkZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5tZW51LWljb24ge1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLm1lbnU6bm90KC5tZW51LW5vLWFuaW1hdGlvbikgLm1lbnUtaWNvbiB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAwLjNzIGVhc2U7XG59XG5cbi5tZW51LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBtYXJnaW46IDA7XG59XG4ubWVudS1pdGVtLmRpc2FibGVkIC5tZW51LWxpbmsge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG4ubWVudTpub3QoLm1lbnUtbm8tYW5pbWF0aW9uKSAubWVudS1saW5rIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG4ubWVudS1saW5rID4gOm5vdCgubWVudS1pY29uKSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBvcGFjaXR5OiAxO1xufVxuLm1lbnU6bm90KC5tZW51LW5vLWFuaW1hdGlvbikgLm1lbnUtbGluayA+IDpub3QoLm1lbnUtaWNvbikge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5tZW51LXN1YiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5tZW51Om5vdCgubWVudS1uby1hbmltYXRpb24pIC5tZW51LXN1YiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cbi5tZW51LWl0ZW0ub3BlbiA+IC5tZW51LXN1YiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAuNDJlbTtcbiAgaGVpZ2h0OiAwLjQyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG4ubWVudS1pdGVtLm9wZW46bm90KC5tZW51LWl0ZW0tY2xvc2luZykgPiAubWVudS10b2dnbGU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xufVxuLm1lbnU6bm90KC5tZW51LW5vLWFuaW1hdGlvbikgLm1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB0cmFuc2Zvcm07XG59XG5cbi5tZW51LWRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG59XG5cbi5tZW51LXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5tZW51LXZlcnRpY2FsOm5vdCgubWVudS1uby1hbmltYXRpb24pIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbn1cbi5tZW51LXZlcnRpY2FsLFxuLm1lbnUtdmVydGljYWwgLm1lbnUtYmxvY2ssXG4ubWVudS12ZXJ0aWNhbCAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0sXG4ubWVudS12ZXJ0aWNhbCAubWVudS1pbm5lciA+IC5tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxNi4yNXJlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWlubmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMSAxIGF1dG87XG59XG4ubWVudS12ZXJ0aWNhbCAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0ge1xuICBtYXJnaW46IDAuMDYyNXJlbSAwO1xufVxuLm1lbnUtdmVydGljYWwgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICBtYXJnaW46IDByZW0gMXJlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWl0ZW0gLm1lbnUtbGluayxcbi5tZW51LXZlcnRpY2FsIC5tZW51LWJsb2NrIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMXJlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWhlYWRlciB7XG4gIG1hcmdpbjogMXJlbSAwIDAuNXJlbSAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAycmVtIDAuNjI1cmVtIDJyZW07XG59XG4ubWVudS12ZXJ0aWNhbCAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWl0ZW0uYWN0aXZlOm5vdCgub3BlbikgPiAubWVudS1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxcmVtICsgMS4yNmVtKTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLm1lbnUtdmVydGljYWwgLm1lbnUtZGl2aWRlciB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgcGFkZGluZzogMDtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LXN1YiB7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG59XG4ubWVudS12ZXJ0aWNhbCAubWVudS1zdWIgLm1lbnUtbGluayB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLm1lbnUtdmVydGljYWwgLm1lbnUtaWNvbiB7XG4gIHdpZHRoOiAxLjVyZW07XG59XG4ubWVudS12ZXJ0aWNhbCAubWVudS1zdWIgLm1lbnUtaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm1lbnUtdmVydGljYWwgLm1lbnUtc3ViIC5tZW51LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LWhvcml6b250YWwtd3JhcHBlciB7XG4gIGZsZXg6IG5vbmU7XG59XG4ubWVudS12ZXJ0aWNhbCAubWVudS1zdWIgLm1lbnUtbGluayB7XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LXN1YiAubWVudS1zdWIgLm1lbnUtbGluayB7XG4gIHBhZGRpbmctbGVmdDogMy42NXJlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LXN1YiAubWVudS1zdWIgLm1lbnUtc3ViIC5tZW51LWxpbmsge1xuICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTtcbn1cbi5tZW51LXZlcnRpY2FsIC5tZW51LXN1YiAubWVudS1zdWIgLm1lbnUtc3ViIC5tZW51LXN1YiAubWVudS1saW5rIHtcbiAgcGFkZGluZy1sZWZ0OiA0Ljk1cmVtO1xufVxuLm1lbnUtdmVydGljYWwgLm1lbnUtc3ViIC5tZW51LXN1YiAubWVudS1zdWIgLm1lbnUtc3ViIC5tZW51LXN1YiAubWVudS1saW5rIHtcbiAgcGFkZGluZy1sZWZ0OiA1LjZyZW07XG59XG5cbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSB7XG4gIHdpZHRoOiA1LjI1cmVtO1xufVxuLm1lbnUtY29sbGFwc2VkOm5vdCg6aG92ZXIpIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSB7XG4gIHdpZHRoOiA1LjI1cmVtO1xufVxuLm1lbnUtY29sbGFwc2VkOm5vdCg6aG92ZXIpIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbmsge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4ubWVudS1jb2xsYXBzZWQ6bm90KDpob3ZlcikgLm1lbnUtaW5uZXIgPiAubWVudS1oZWFkZXIsXG4ubWVudS1jb2xsYXBzZWQ6bm90KDpob3ZlcikgLm1lbnUtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB3aWR0aDogMTYuMjVyZW07XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSAubWVudS1pbm5lciA+IC5tZW51LWhlYWRlciAubWVudS1oZWFkZXItdGV4dCxcbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSAubWVudS1ibG9jayAubWVudS1oZWFkZXItdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG4ubWVudS1jb2xsYXBzZWQ6bm90KDpob3ZlcikgLm1lbnUtaW5uZXIgPiAubWVudS1oZWFkZXI6OmJlZm9yZSxcbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSAubWVudS1ibG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxLjEyNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMS4xODc1cmVtO1xufVxuLm1lbnUtY29sbGFwc2VkOm5vdCg6aG92ZXIpIC5tZW51LWJsb2NrOjpiZWZvcmUge1xuICBib3R0b206IDAuNzVyZW07XG59XG4ubWVudS1jb2xsYXBzZWQ6bm90KDpob3ZlcikgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIGRpdjpub3QoLm1lbnUtYmxvY2spIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG59XG4ubWVudS1jb2xsYXBzZWQ6bm90KDpob3ZlcikgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtID4gLm1lbnUtc3ViLFxuLm1lbnUtY29sbGFwc2VkOm5vdCg6aG92ZXIpIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtc3ViIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS1saW5rIC5tZW51LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTJyZW07XG4gIHdpZHRoOiA1LjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmxheW91dC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLmxheW91dC13cmFwcGVyLFxuLmxheW91dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubGF5b3V0LXBhZ2UsXG4uY29udGVudC13cmFwcGVyLFxuLmNvbnRlbnQtd3JhcHBlciA+ICosXG4ubGF5b3V0LW1lbnUge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi5sYXlvdXQtbmF2YmFyLFxuLmNvbnRlbnQtZm9vdGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5sYXlvdXQtcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMDtcbn1cbi5sYXlvdXQtd2l0aG91dC1tZW51IC5sYXlvdXQtcGFnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmNvbnRlbnQtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM1OTcxO1xufVxuLmNvbnRlbnQtYmFja2Ryb3AuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uY29udGVudC1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmxheW91dC1tZW51LWZpeGVkIC5jb250ZW50LWJhY2tkcm9wIHtcbiAgei1pbmRleDogMTA7XG59XG4uY29udGVudC1iYWNrZHJvcC5mYWRlIHtcbiAgei1pbmRleDogLTE7XG59XG5cbi5sYXlvdXQtbmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcbiAgaGVpZ2h0OiAzLjg3NXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGNvbG9yOiAjNjk3YThkO1xuICB6LWluZGV4OiAyO1xufVxuLmxheW91dC1uYXZiYXIgLm5hdmJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4ubGF5b3V0LW5hdmJhciAubmF2YmFyLW5hdi1yaWdodCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG4ubGF5b3V0LW5hdmJhciAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQsXG4ubGF5b3V0LW5hdmJhciAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gKDEuNjI1cmVtICogMikpO1xuICBtYXJnaW46IDAuNzVyZW0gYXV0byAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgcGFkZGluZzogMCAxLjVyZW07XG59XG4ubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQuY29udGFpbmVyLXh4bCB7XG4gIG1heC13aWR0aDogY2FsYygxNDQwcHggLSBjYWxjKDEuNjI1cmVtICogMikpO1xufVxuLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1uYXZiYXIubmF2YmFyLWRldGFjaGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGMoMS42MjVyZW0gKiAyKSAtIDE2LjI1cmVtKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1uYXZiYXIubmF2YmFyLWRldGFjaGVkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEuNjI1cmVtICogMikpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAubGF5b3V0LW5hdmJhci1maXhlZCAubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMXJlbSAqIDIpKSAhaW1wb3J0YW50O1xuICB9XG59XG4ubGF5b3V0LW5hdmJhci1maXhlZC5sYXlvdXQtbWVudS1jb2xsYXBzZWQgLmxheW91dC1uYXZiYXIubmF2YmFyLWRldGFjaGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGMoMS42MjVyZW0gKiAyKSAtIDUuMjVyZW0pO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSAoMS42MjVyZW0gKiAyKSkgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5sYXlvdXQtbmF2YmFyLm5hdmJhci1kZXRhY2hlZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtICgxcmVtICogMikpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5sYXlvdXQtbWVudS1jb2xsYXBzZWQgLmxheW91dC1uYXZiYXIubmF2YmFyLWRldGFjaGVkLCAubGF5b3V0LXdpdGhvdXQtbWVudSAubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gKDEuNjI1cmVtICogMikpO1xufVxuLmxheW91dC1uYXZiYXIgLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtdG9nZ2xlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjI1cmVtO1xuICByaWdodDogMXJlbTtcbiAgei1pbmRleDogMTtcbn1cbi5sYXlvdXQtbmF2YmFyIC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmxheW91dC1uYXZiYXJbY2xhc3MqPWJnLV06bm90KC5iZy1uYXZiYXItdGhlbWUpIC5uYXYtaXRlbSAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5sYXlvdXQtbmF2YmFyW2NsYXNzKj1iZy1dOm5vdCguYmctbmF2YmFyLXRoZW1lKSAubmF2LWl0ZW0gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubGF5b3V0LW5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubGF5b3V0LW5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmxhc3QtbG9naW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubGF5b3V0LW5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxheW91dC1uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5iYWRnZS1ub3RpZmljYXRpb25zIHtcbiAgICB0b3A6IGF1dG87XG4gIH1cbiAgLmxheW91dC1uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC45cmVtO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB3aWR0aDogOTIlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLmxheW91dC1uYXZiYXIge1xuICAgIHotaW5kZXg6IDEwODA7XG4gIH1cbn1cbi5sYXlvdXQtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAwIGF1dG87XG59XG4ubGF5b3V0LW1lbnUgLm1lbnUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLmxheW91dC1tZW51IC5tZW51LXZlcnRpY2FsIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtcGFnZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5sYXlvdXQtY29udGVudC1uYXZiYXIgLmNvbnRlbnQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sYXlvdXQtbWVudS1maXhlZCAubGF5b3V0LW1lbnUsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIC5sYXlvdXQtbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxheW91dC1tZW51LWZpeGVkOm5vdCgubGF5b3V0LW1lbnUtY29sbGFwc2VkKSAubGF5b3V0LXBhZ2UsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzOm5vdCgubGF5b3V0LW1lbnUtY29sbGFwc2VkKSAubGF5b3V0LXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMTYuMjVyZW07XG4gIH1cbn1cbmh0bWw6bm90KC5sYXlvdXQtbmF2YmFyLWZpeGVkKTpub3QoLmxheW91dC1tZW51LWZpeGVkKTpub3QoLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1wYWdlLFxuaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQpIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoLmxheW91dC1mb290ZXItZml4ZWQpIC5jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5sYXlvdXQtbWVudS1maXhlZCAubGF5b3V0LXdyYXBwZXIubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbWVudSxcbi5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgLmxheW91dC13cmFwcGVyLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW1lbnUge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQpIC5sYXlvdXQtbmF2YmFyLWZ1bGwgLmxheW91dC1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4ubGF5b3V0LW5hdmJhci1maXhlZCAubGF5b3V0LW5hdmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubGF5b3V0LW1lbnUtZml4ZWQgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIC5sYXlvdXQtY29udGVudC1uYXZiYXI6bm90KC5sYXlvdXQtd2l0aG91dC1tZW51KSAubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtbWVudS1maXhlZC5sYXlvdXQtbmF2YmFyLWZpeGVkOm5vdCgubGF5b3V0LW1lbnUtY29sbGFwc2VkKSAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXIsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIC5sYXlvdXQtY29udGVudC1uYXZiYXI6bm90KC5sYXlvdXQtd2l0aG91dC1tZW51KSAubGF5b3V0LW5hdmJhciB7XG4gICAgbGVmdDogMTYuMjVyZW07XG4gIH1cbn1cbi5sYXlvdXQtZm9vdGVyLWZpeGVkIC5jb250ZW50LWZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubGF5b3V0LWZvb3Rlci1maXhlZDpub3QoLmxheW91dC1tZW51LWNvbGxhcHNlZCkgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyIHtcbiAgICBsZWZ0OiAxNi4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubGF5b3V0LW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICB9XG4gIC5sYXlvdXQtbWVudS1leHBhbmRlZCAubGF5b3V0LW1lbnUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5sYXlvdXQtbWVudS1leHBhbmRlZCBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmxheW91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjNDM1OTcxO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmxheW91dC1tZW51LWV4cGFuZGVkIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAubGF5b3V0LW1lbnUtMTAwdmggLmxheW91dC1tZW51LFxuLmxheW91dC1tZW51LTEwMHZoIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICB9XG59XG4ubGF5b3V0LW5hdmJhci1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtbWVudS1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtbmF2YmFyLWZ1bGwgLmxheW91dC1uYXZiYXIge1xuICB6LWluZGV4OiAxMDgwO1xufVxuLmxheW91dC1uYXZiYXItZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1uYXZiYXIsXG4ubGF5b3V0LW1lbnUtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1uYXZiYXIsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbmF2YmFyIHtcbiAgei1pbmRleDogMTA3NTtcbn1cblxuLmxheW91dC1mb290ZXItZml4ZWQgLmNvbnRlbnQtZm9vdGVyIHtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubGF5b3V0LW1lbnUge1xuICAgIHotaW5kZXg6IDExMDA7XG4gIH1cblxuICAubGF5b3V0LW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDEwOTk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhciB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW1lbnUge1xuICAgIHotaW5kZXg6IDk7XG4gIH1cblxuICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbmF2YmFyIHtcbiAgICB6LWluZGV4OiA5O1xuICB9XG4gIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1tZW51IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC5sYXlvdXQtbWVudS1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW1lbnUsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbWVudSB7XG4gICAgei1pbmRleDogMTA3NTtcbiAgfVxuXG4gIC5sYXlvdXQtbmF2YmFyLWZpeGVkIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbWVudSxcbi5sYXlvdXQtbWVudS1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC1jb250ZW50LW5hdmJhciAubGF5b3V0LW1lbnUsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbWVudSB7XG4gICAgei1pbmRleDogMTA4MDtcbiAgfVxufVxuLmxheW91dC1tZW51LWxpbmstbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUgLm1lbnUtbGluayxcbi5sYXlvdXQtbWVudS1saW5rLW5vLXRyYW5zaXRpb24gLmxheW91dC1tZW51LWhvcml6b250YWwgLm1lbnUtbGluayB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUsIC5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUgLm1lbnUsIC5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUgLm1lbnUtaXRlbSxcbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUtaG9yaXpvbnRhbCxcbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUtaG9yaXpvbnRhbCAubWVudSxcbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LW1lbnUtaG9yaXpvbnRhbCAubWVudS1pdGVtIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubGF5b3V0LXRyYW5zaXRpb25pbmcgLmxheW91dC1vdmVybGF5IHtcbiAgICBhbmltYXRpb246IG1lbnVBbmltYXRpb24gMC4zcztcbiAgfVxuICAubGF5b3V0LXRyYW5zaXRpb25pbmcgLmxheW91dC1tZW51IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxheW91dC1tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC10cmFuc2l0aW9uaW5nKTpub3QoLmxheW91dC1tZW51LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtbWVudS1maXhlZCk6bm90KC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtbWVudSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB3aWR0aDtcbiAgfVxuXG4gIC5sYXlvdXQtdHJhbnNpdGlvbmluZy5sYXlvdXQtbWVudS1vZmZjYW52YXMgLmxheW91dC1tZW51IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIH1cbiAgLmxheW91dC10cmFuc2l0aW9uaW5nLmxheW91dC1tZW51LWZpeGVkIC5sYXlvdXQtcGFnZSwgLmxheW91dC10cmFuc2l0aW9uaW5nLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyAubGF5b3V0LXBhZ2Uge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcGFkZGluZy1sZWZ0LCBwYWRkaW5nLXJpZ2h0O1xuICB9XG4gIC5sYXlvdXQtdHJhbnNpdGlvbmluZy5sYXlvdXQtbWVudS1maXhlZCAubGF5b3V0LW1lbnUge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gIH1cbiAgLmxheW91dC10cmFuc2l0aW9uaW5nLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyAubGF5b3V0LW1lbnUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgfVxuICAubGF5b3V0LXRyYW5zaXRpb25pbmcubGF5b3V0LW5hdmJhci1maXhlZCAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbmF2YmFyLCAubGF5b3V0LXRyYW5zaXRpb25pbmcubGF5b3V0LWZvb3Rlci1maXhlZCAuY29udGVudC1mb290ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7XG4gIH1cbiAgLmxheW91dC10cmFuc2l0aW9uaW5nOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzKTpub3QoLmxheW91dC1tZW51LWZpeGVkKTpub3QoLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1tZW51IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHdpZHRoO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubWVudSxcbi5sYXlvdXQtbWVudSxcbi5sYXlvdXQtcGFnZSxcbi5sYXlvdXQtbmF2YmFyLFxuLmNvbnRlbnQtZm9vdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBtZW51QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgbWVudUFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZW51QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG4uYXBwLWJyYW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFwcC1icmFuZC1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFwcC1icmFuZC1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cbi5hcHAtYnJhbmQtbG9nbyBpbWcsXG4uYXBwLWJyYW5kLWxvZ28gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hcHAtYnJhbmQtdGV4dCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uYXBwLWJyYW5kLWltZy1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS12ZXJ0aWNhbCAuYXBwLWJyYW5kIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4ubWVudS1ob3Jpem9udGFsIC5hcHAtYnJhbmQsXG4ubWVudS1ob3Jpem9udGFsIC5hcHAtYnJhbmQgKyAubWVudS1kaXZpZGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kIHtcbiAgd2lkdGg6IDUuMjVyZW07XG59XG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kLWxvZ28sXG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kLWxpbmssXG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kLXRleHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuOm5vdCgubGF5b3V0LW1lbnUpID4gLm1lbnUtdmVydGljYWwubWVudS1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtbWVudSk6bm90KDpob3ZlcikgLmFwcC1icmFuZC1sb2dvIH4gLmFwcC1icmFuZC10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG59XG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kIC5sYXlvdXQtbWVudS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kLWltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG46bm90KC5sYXlvdXQtbWVudSkgPiAubWVudS12ZXJ0aWNhbC5tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51KTpub3QoOmhvdmVyKSAuYXBwLWJyYW5kLWltZy1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIpOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzKTpub3QoLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1tZW51IC5hcHAtYnJhbmQge1xuICAgIHdpZHRoOiA1LjI1cmVtO1xuICB9XG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtbWVudS1ob3Zlcik6bm90KC5sYXlvdXQtbWVudS1vZmZjYW52YXMpOm5vdCgubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LW1lbnUgLmFwcC1icmFuZC1sb2dvLFxuLmxheW91dC1tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51LWhvdmVyKTpub3QoLmxheW91dC1tZW51LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtbWVudSAuYXBwLWJyYW5kLWxpbmssXG4ubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIpOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzKTpub3QoLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1tZW51IC5hcHAtYnJhbmQtdGV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtbWVudS1ob3Zlcik6bm90KC5sYXlvdXQtbWVudS1vZmZjYW52YXMpOm5vdCgubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LW1lbnUgLmFwcC1icmFuZC1sb2dvIH4gLmFwcC1icmFuZC10ZXh0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIpOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzKTpub3QoLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1tZW51IC5hcHAtYnJhbmQgLmxheW91dC1tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtbWVudS1ob3Zlcik6bm90KC5sYXlvdXQtbWVudS1vZmZjYW52YXMpOm5vdCgubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LW1lbnUgLmFwcC1icmFuZC1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxheW91dC1tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51LWhvdmVyKTpub3QoLmxheW91dC1tZW51LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtbWVudSAuYXBwLWJyYW5kLWltZy1jb2xsYXBzZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uYXZhdGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMi4zNzVyZW07XG4gIGhlaWdodDogMi4zNzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5hdmF0YXIgLmF2YXRhci1pbml0aWFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTJhMztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5hdmF0YXIuYXZhdGFyLW9ubGluZTphZnRlciwgLmF2YXRhci5hdmF0YXItb2ZmbGluZTphZnRlciwgLmF2YXRhci5hdmF0YXItYXdheTphZnRlciwgLmF2YXRhci5hdmF0YXItYnVzeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogM3B4O1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmY7XG59XG4uYXZhdGFyLmF2YXRhci1vbmxpbmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDM3O1xufVxuLmF2YXRhci5hdmF0YXItb2ZmbGluZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTkyYTM7XG59XG4uYXZhdGFyLmF2YXRhci1hd2F5OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWIwMDtcbn1cbi5hdmF0YXIuYXZhdGFyLWJ1c3k6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzZTFkO1xufVxuXG4ucHVsbC11cCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xufVxuLnB1bGwtdXA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoMS4wMik7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAxcmVtIHJnYmEoMTYxLCAxNzIsIDE4NCwgMC40NSk7XG4gIHotaW5kZXg6IDMwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5hdmF0YXIteHMge1xuICB3aWR0aDogMS42MjVyZW07XG4gIGhlaWdodDogMS42MjVyZW07XG59XG4uYXZhdGFyLXhzIC5hdmF0YXItaW5pdGlhbCB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG4uYXZhdGFyLXhzLmF2YXRhci1vbmxpbmU6YWZ0ZXIsIC5hdmF0YXIteHMuYXZhdGFyLW9mZmxpbmU6YWZ0ZXIsIC5hdmF0YXIteHMuYXZhdGFyLWF3YXk6YWZ0ZXIsIC5hdmF0YXIteHMuYXZhdGFyLWJ1c3k6YWZ0ZXIge1xuICB3aWR0aDogMC4zMjVyZW07XG4gIGhlaWdodDogMC4zMjVyZW07XG4gIHJpZ2h0OiAxcHg7XG59XG5cbi5hdmF0YXItc20ge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuLmF2YXRhci1zbSAuYXZhdGFyLWluaXRpYWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYXZhdGFyLXNtLmF2YXRhci1vbmxpbmU6YWZ0ZXIsIC5hdmF0YXItc20uYXZhdGFyLW9mZmxpbmU6YWZ0ZXIsIC5hdmF0YXItc20uYXZhdGFyLWF3YXk6YWZ0ZXIsIC5hdmF0YXItc20uYXZhdGFyLWJ1c3k6YWZ0ZXIge1xuICB3aWR0aDogMC40cmVtO1xuICBoZWlnaHQ6IDAuNHJlbTtcbiAgcmlnaHQ6IDJweDtcbn1cblxuLmF2YXRhci1tZCB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG59XG4uYXZhdGFyLW1kIC5hdmF0YXItaW5pdGlhbCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG4uYXZhdGFyLW1kLmF2YXRhci1vbmxpbmU6YWZ0ZXIsIC5hdmF0YXItbWQuYXZhdGFyLW9mZmxpbmU6YWZ0ZXIsIC5hdmF0YXItbWQuYXZhdGFyLWF3YXk6YWZ0ZXIsIC5hdmF0YXItbWQuYXZhdGFyLWJ1c3k6YWZ0ZXIge1xuICB3aWR0aDogMC42cmVtO1xuICBoZWlnaHQ6IDAuNnJlbTtcbiAgcmlnaHQ6IDRweDtcbn1cblxuLmF2YXRhci1sZyB7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG59XG4uYXZhdGFyLWxnIC5hdmF0YXItaW5pdGlhbCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLmF2YXRhci1sZy5hdmF0YXItb25saW5lOmFmdGVyLCAuYXZhdGFyLWxnLmF2YXRhci1vZmZsaW5lOmFmdGVyLCAuYXZhdGFyLWxnLmF2YXRhci1hd2F5OmFmdGVyLCAuYXZhdGFyLWxnLmF2YXRhci1idXN5OmFmdGVyIHtcbiAgd2lkdGg6IDAuOHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG4gIHJpZ2h0OiA1cHg7XG59XG5cbi5hdmF0YXIteGwge1xuICB3aWR0aDogNC41cmVtO1xuICBoZWlnaHQ6IDQuNXJlbTtcbn1cbi5hdmF0YXIteGwgLmF2YXRhci1pbml0aWFsIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbn1cbi5hdmF0YXIteGwuYXZhdGFyLW9ubGluZTphZnRlciwgLmF2YXRhci14bC5hdmF0YXItb2ZmbGluZTphZnRlciwgLmF2YXRhci14bC5hdmF0YXItYXdheTphZnRlciwgLmF2YXRhci14bC5hdmF0YXItYnVzeTphZnRlciB7XG4gIHdpZHRoOiAwLjlyZW07XG4gIGhlaWdodDogMC45cmVtO1xuICByaWdodDogNnB4O1xufVxuXG4uYXZhdGFyLWdyb3VwIC5hdmF0YXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbn1cbi5hdmF0YXItZ3JvdXAgLmF2YXRhciBpbWcsXG4uYXZhdGFyLWdyb3VwIC5hdmF0YXIgLmF2YXRhci1pbml0aWFsIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbn1cbi5hdmF0YXItZ3JvdXAgLmF2YXRhciAuYXZhdGFyLWluaXRpYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRhOGI1O1xufVxuLmF2YXRhci1ncm91cCAuYXZhdGFyOmhvdmVyIHtcbiAgei1pbmRleDogMzA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xufVxuLmF2YXRhci1ncm91cCAuYXZhdGFyIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjhyZW07XG59XG4uYXZhdGFyLWdyb3VwIC5hdmF0YXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5hdmF0YXItZ3JvdXAgLmF2YXRhci14cyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42NXJlbTtcbn1cbi5hdmF0YXItZ3JvdXAgLmF2YXRhci1zbSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbn1cbi5hdmF0YXItZ3JvdXAgLmF2YXRhci1tZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC45cmVtO1xufVxuLmF2YXRhci1ncm91cCAuYXZhdGFyLWxnIHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG59XG4uYXZhdGFyLWdyb3VwIC5hdmF0YXIteGwge1xuICBtYXJnaW4tbGVmdDogLTEuNzVyZW07XG59XG5cbi5kaXZpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZGl2aWRlciAuZGl2aWRlci10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBwYWRkaW5nOiAwcmVtIDFyZW07XG59XG4uZGl2aWRlciAuZGl2aWRlci10ZXh0IGkge1xuICBmb250LXNpemU6IDFyZW07XG59XG4uZGl2aWRlciAuZGl2aWRlci10ZXh0OmJlZm9yZSwgLmRpdmlkZXIgLmRpdmlkZXItdGV4dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDB2dztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNjcsIDg5LCAxMTMsIDAuMik7XG59XG4uZGl2aWRlciAuZGl2aWRlci10ZXh0OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xufVxuLmRpdmlkZXIgLmRpdmlkZXItdGV4dDphZnRlciB7XG4gIGxlZnQ6IDEwMCU7XG59XG4uZGl2aWRlci50ZXh0LXN0YXJ0IC5kaXZpZGVyLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZGl2aWRlci50ZXh0LWVuZCAuZGl2aWRlci10ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5kaXZpZGVyLnRleHQtc3RhcnQtY2VudGVyIC5kaXZpZGVyLXRleHQge1xuICBsZWZ0OiAtMjUlO1xufVxuLmRpdmlkZXIudGV4dC1lbmQtY2VudGVyIC5kaXZpZGVyLXRleHQge1xuICByaWdodDogLTI1JTtcbn1cbi5kaXZpZGVyLmRpdmlkZXItZG90dGVkIC5kaXZpZGVyLXRleHQ6YmVmb3JlLCAuZGl2aWRlci5kaXZpZGVyLWRvdHRlZCAuZGl2aWRlci10ZXh0OmFmdGVyIHtcbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICBib3JkZXItY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMik7XG59XG4uZGl2aWRlci5kaXZpZGVyLWRhc2hlZCAuZGl2aWRlci10ZXh0OmJlZm9yZSwgLmRpdmlkZXIuZGl2aWRlci1kYXNoZWQgLmRpdmlkZXItdGV4dDphZnRlciB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjIpO1xufVxuXG4uZGl2aWRlci5kaXZpZGVyLmRpdmlkZXItc2Vjb25kYXJ5IC5kaXZpZGVyLXRleHQ6YmVmb3JlLCAuZGl2aWRlci5kaXZpZGVyLmRpdmlkZXItc2Vjb25kYXJ5IC5kaXZpZGVyLXRleHQ6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICM4NTkyYTM7XG59XG5cbi5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci1zdWNjZXNzIC5kaXZpZGVyLXRleHQ6YmVmb3JlLCAuZGl2aWRlci5kaXZpZGVyLmRpdmlkZXItc3VjY2VzcyAuZGl2aWRlci10ZXh0OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzFkZDM3O1xufVxuXG4uZGl2aWRlci5kaXZpZGVyLmRpdmlkZXItaW5mbyAuZGl2aWRlci10ZXh0OmJlZm9yZSwgLmRpdmlkZXIuZGl2aWRlci5kaXZpZGVyLWluZm8gLmRpdmlkZXItdGV4dDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzAzYzNlYztcbn1cblxuLmRpdmlkZXIuZGl2aWRlci5kaXZpZGVyLXdhcm5pbmcgLmRpdmlkZXItdGV4dDpiZWZvcmUsIC5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci13YXJuaW5nIC5kaXZpZGVyLXRleHQ6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICNmZmFiMDA7XG59XG5cbi5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci1kYW5nZXIgLmRpdmlkZXItdGV4dDpiZWZvcmUsIC5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci1kYW5nZXIgLmRpdmlkZXItdGV4dDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmM2UxZDtcbn1cblxuLmRpdmlkZXIuZGl2aWRlci5kaXZpZGVyLWRhcmsgLmRpdmlkZXItdGV4dDpiZWZvcmUsIC5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci1kYXJrIC5kaXZpZGVyLXRleHQ6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICMyMzM0NDY7XG59XG5cbi5kaXZpZGVyLmRpdmlkZXIuZGl2aWRlci1ncmF5IC5kaXZpZGVyLXRleHQ6YmVmb3JlLCAuZGl2aWRlci5kaXZpZGVyLmRpdmlkZXItZ3JheSAuZGl2aWRlci10ZXh0OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpO1xufVxuXG4uZm9vdGVyLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5mb290ZXItbGlnaHQge1xuICBjb2xvcjogcmdiYSg2NywgODksIDExMywgMC41KTtcbn1cbi5mb290ZXItbGlnaHQgLmZvb3Rlci10ZXh0IHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uZm9vdGVyLWxpZ2h0IC5mb290ZXItbGluayB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjUpO1xufVxuLmZvb3Rlci1saWdodCAuZm9vdGVyLWxpbms6aG92ZXIsIC5mb290ZXItbGlnaHQgLmZvb3Rlci1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uZm9vdGVyLWxpZ2h0IC5mb290ZXItbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjMpICFpbXBvcnRhbnQ7XG59XG4uZm9vdGVyLWxpZ2h0IC5zaG93ID4gLmZvb3Rlci1saW5rLFxuLmZvb3Rlci1saWdodCAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxuLmZvb3Rlci1saWdodCAuZm9vdGVyLWxpbmsuc2hvdyxcbi5mb290ZXItbGlnaHQgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmZvb3Rlci1saWdodCBociB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLm5hdmJhci5iZy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MmEzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZWFlY2VmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1icmFuZCxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItYnJhbmQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1icmFuZDpmb2N1cyxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItYnJhbmQgYTpob3Zlcixcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItYnJhbmQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAubmF2YmFyLXNlYXJjaC1pY29uLFxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAuc2VhcmNoLWlucHV0IHtcbiAgY29sb3I6ICNlYWVjZWY7XG59XG4ubmF2YmFyLmJnLXNlY29uZGFyeSAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC1pbnB1dCxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MmEzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZWFlY2VmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1uYXYgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZWFlY2VmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1uYXYgPiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci1uYXYgPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYzJjOGQxICFpbXBvcnRhbnQ7XG59XG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiAjZWFlY2VmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4ubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE0cHgnIGhlaWdodD0nMTFweCcgdmlld0JveD0nMCAwIDE0IDExJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTAsMCBMMTQsMCBMMTQsMS43NSBMMCwxLjc1IEwwLDAgWiBNMCw0LjM3NSBMMTQsNC4zNzUgTDE0LDYuMTI1IEwwLDYuMTI1IEwwLDQuMzc1IFogTTAsOC43NSBMMTQsOC43NSBMMTQsMTAuNSBMMCwxMC41IEwwLDguNzUgWicgaWQ9J3BhdGgtMSclM0UlM0MvcGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+Sji1VSS1FbGVtZW50cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPScxMiktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCknJTNFJTNDZyBpZD0nR3JvdXAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuMScgZmlsbD0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjZWFlY2VmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctc2Vjb25kYXJ5IC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLmJnLXNlY29uZGFyeSAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zZWNvbmRhcnkgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5uYXZiYXIuYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MWRkMzcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlY2ZhZTQ7XG59XG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1icmFuZCxcbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLWJyYW5kIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1icmFuZDpmb2N1cyxcbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLWJyYW5kIGE6aG92ZXIsXG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1icmFuZCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAubmF2YmFyLXNlYXJjaC1pY29uLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLnNlYXJjaC1pbnB1dCB7XG4gIGNvbG9yOiAjZWNmYWU0O1xufVxuLm5hdmJhci5iZy1zdWNjZXNzIC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLWlucHV0LFxuLm5hdmJhci5iZy1zdWNjZXNzIC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDM3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZWNmYWU0O1xufVxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZWNmYWU0O1xufVxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYmJlZTlmICFpbXBvcnRhbnQ7XG59XG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6ICNlY2ZhZTQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE0cHgnIGhlaWdodD0nMTFweCcgdmlld0JveD0nMCAwIDE0IDExJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTAsMCBMMTQsMCBMMTQsMS43NSBMMCwxLjc1IEwwLDAgWiBNMCw0LjM3NSBMMTQsNC4zNzUgTDE0LDYuMTI1IEwwLDYuMTI1IEwwLDQuMzc1IFogTTAsOC43NSBMMTQsOC43NSBMMTQsMTAuNSBMMCwxMC41IEwwLDguNzUgWicgaWQ9J3BhdGgtMSclM0UlM0MvcGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+Sji1VSS1FbGVtZW50cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPScxMiktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCknJTNFJTNDZyBpZD0nR3JvdXAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuMScgZmlsbD0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2VjZmFlNDtcbn1cbi5uYXZiYXIuYmctc3VjY2VzcyAubmF2YmFyLXRleHQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1zdWNjZXNzIC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLmJnLXN1Y2Nlc3MgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctc3VjY2VzcyBociB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLm5hdmJhci5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYzNlYyAhaW1wb3J0YW50O1xuICBjb2xvcjogI2QyZjRmYztcbn1cbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLWJyYW5kLFxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItYnJhbmQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXIuYmctaW5mbyAubmF2YmFyLWJyYW5kOmZvY3VzLFxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItYnJhbmQgYTpob3Zlcixcbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLWJyYW5kIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5uYXZiYXItc2VhcmNoLWljb24sXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1zZWFyY2gtd3JhcHBlciAuc2VhcmNoLWlucHV0IHtcbiAgY29sb3I6ICNkMmY0ZmM7XG59XG4ubmF2YmFyLmJnLWluZm8gLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtaW5wdXQsXG4ubmF2YmFyLmJnLWluZm8gLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtdG9nZ2xlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2MzZWMgIWltcG9ydGFudDtcbiAgY29sb3I6ICNkMmY0ZmM7XG59XG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNkMmY0ZmM7XG59XG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICM3ZmUwZjYgIWltcG9ydGFudDtcbn1cbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctaW5mbyAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogI2QyZjRmYztcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTRweCcgaGVpZ2h0PScxMXB4JyB2aWV3Qm94PScwIDAgMTQgMTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcGF0aCBkPSdNMCwwIEwxNCwwIEwxNCwxLjc1IEwwLDEuNzUgTDAsMCBaIE0wLDQuMzc1IEwxNCw0LjM3NSBMMTQsNi4xMjUgTDAsNi4xMjUgTDAsNC4zNzUgWiBNMCw4Ljc1IEwxNCw4Ljc1IEwxNCwxMC41IEwwLDEwLjUgTDAsOC43NSBaJyBpZD0ncGF0aC0xJyUzRSUzQy9wYXRoJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn5KOLVVJLUVsZW1lbnRzJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSUzQ2cgaWQ9JzEyKS1OYXZiYXInIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xMTc0LjAwMDAwMCwgLTEyOTAuMDAwMDAwKSclM0UlM0NnIGlkPSdHcm91cCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTE3NC4wMDAwMDAsIDEyODguMDAwMDAwKSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLjAwMDAwMCwgMi4wMDAwMDApJyUzRSUzQ3VzZSBmaWxsPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC4xJyBmaWxsPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjZDJmNGZjO1xufVxuLm5hdmJhci5iZy1pbmZvIC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWluZm8gLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXIuYmctaW5mbyAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1pbmZvIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4ubmF2YmFyLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhYjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmNWUwO1xufVxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci1icmFuZCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci1icmFuZCBhOmhvdmVyLFxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItYnJhbmQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLm5hdmJhci1zZWFyY2gtaWNvbixcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQge1xuICBjb2xvcjogI2ZmZjVlMDtcbn1cbi5uYXZiYXIuYmctd2FybmluZyAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC1pbnB1dCxcbi5uYXZiYXIuYmctd2FybmluZyAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC10b2dnbGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWIwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjVlMDtcbn1cbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjVlMDtcbn1cbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZDc4NiAhaW1wb3J0YW50O1xufVxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiAjZmZmNWUwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIpLU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTExNzQuMDAwMDAwLCAtMTI5MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNmZmY1ZTA7XG59XG4ubmF2YmFyLmJnLXdhcm5pbmcgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctd2FybmluZyAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5iZy13YXJuaW5nIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXdhcm5pbmcgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5uYXZiYXIuYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmM2UxZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZDVjZTtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLWJyYW5kIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLWJyYW5kIGE6aG92ZXIsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLWJyYW5kIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLm5hdmJhci1zZWFyY2gtaWNvbixcbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLnNlYXJjaC1pbnB1dCB7XG4gIGNvbG9yOiAjZmZkNWNlO1xufVxuLm5hdmJhci5iZy1kYW5nZXIgLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtaW5wdXQsXG4ubmF2YmFyLmJnLWRhbmdlciAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC10b2dnbGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmM2UxZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZDVjZTtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZDVjZTtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmOTk4NyAhaW1wb3J0YW50O1xufVxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogI2ZmZDVjZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIpLU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTExNzQuMDAwMDAwLCAtMTI5MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ZmZDVjZTtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWRhbmdlciAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5iZy1kYW5nZXIgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFuZ2VyIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4ubmF2YmFyLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzNDQ2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTRlNmU4O1xufVxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci1icmFuZCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci1icmFuZCBhOmhvdmVyLFxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItYnJhbmQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLm5hdmJhci1zZWFyY2gtaWNvbixcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQge1xuICBjb2xvcjogI2U0ZTZlODtcbn1cbi5uYXZiYXIuYmctZGFyayAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC1pbnB1dCxcbi5uYXZiYXIuYmctZGFyayAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC10b2dnbGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMzQ0NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2U0ZTZlODtcbn1cbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2U0ZTZlODtcbn1cbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzk3OWZhNyAhaW1wb3J0YW50O1xufVxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiAjZTRlNmU4O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIpLU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTExNzQuMDAwMDAwLCAtMTI5MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNlNGU2ZTg7XG59XG4ubmF2YmFyLmJnLWRhcmsgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5iZy1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLWRhcmsgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi5uYXZiYXIuYmctZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VlZjEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4MjkxYTE7XG59XG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1icmFuZCxcbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLWJyYW5kIGEge1xuICBjb2xvcjogIzQzNTk3MTtcbn1cbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1icmFuZDpmb2N1cyxcbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLWJyYW5kIGE6aG92ZXIsXG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1icmFuZCBhOmZvY3VzIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAubmF2YmFyLXNlYXJjaC1pY29uLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLnNlYXJjaC1pbnB1dCB7XG4gIGNvbG9yOiAjODI5MWExO1xufVxuLm5hdmJhci5iZy1ncmF5IC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLWlucHV0LFxuLm5hdmJhci5iZy1ncmF5IC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjODI5MWExO1xufVxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjODI5MWExO1xufVxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNDM1OTcxO1xufVxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYWNiNmMxICFpbXBvcnRhbnQ7XG59XG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6ICM4MjkxYTE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4wNzgzODM1Mjk0KTtcbn1cbi5uYXZiYXIuYmctZ3JheSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE0cHgnIGhlaWdodD0nMTFweCcgdmlld0JveD0nMCAwIDE0IDExJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTAsMCBMMTQsMCBMMTQsMS43NSBMMCwxLjc1IEwwLDAgWiBNMCw0LjM3NSBMMTQsNC4zNzUgTDE0LDYuMTI1IEwwLDYuMTI1IEwwLDQuMzc1IFogTTAsOC43NSBMMTQsOC43NSBMMTQsMTAuNSBMMCwxMC41IEwwLDguNzUgWicgaWQ9J3BhdGgtMSclM0UlM0MvcGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+Sji1VSS1FbGVtZW50cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPScxMiktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCknJTNFJTNDZyBpZD0nR3JvdXAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0ncmdiYSg2NywgODksIDExMywgMC41KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoNjcsIDg5LCAxMTMsIDAuNSknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjODI5MWExO1xufVxuLm5hdmJhci5iZy1ncmF5IC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICM0MzU5NzE7XG59XG4ubmF2YmFyLmJnLWdyYXkgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXIuYmctZ3JheSAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjNDM1OTcxO1xufVxuLm5hdmJhci5iZy1ncmF5IGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA3ODM4MzUyOTQpO1xufVxuXG4ubmF2YmFyLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1icmFuZCxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1icmFuZCBhIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1icmFuZDpmb2N1cyxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1icmFuZCBhOmhvdmVyLFxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLWJyYW5kIGE6Zm9jdXMge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAubmF2YmFyLXNlYXJjaC1pY29uLFxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQge1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5uYXZiYXIuYmctd2hpdGUgLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtaW5wdXQsXG4ubmF2YmFyLmJnLXdoaXRlIC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYTFhY2I4O1xufVxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjYTFhY2I4O1xufVxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYzdjZGQ0ICFpbXBvcnRhbnQ7XG59XG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLm5hdmJhci5iZy13aGl0ZSAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogI2ExYWNiODtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEwNSwgMTIyLCAxNDEsIDAuMDc1KTtcbn1cbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIpLU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTExNzQuMDAwMDAwLCAtMTI5MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoNjcsIDg5LCAxMTMsIDAuNSknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDdXNlIGZpbGwtb3BhY2l0eT0nMC4xJyBmaWxsPSdyZ2JhKDY3LCA4OSwgMTEzLCAwLjUpJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uYXZiYXIuYmctd2hpdGUgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNhMWFjYjg7XG59XG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLmJnLXdoaXRlIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLmJnLXdoaXRlIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEwNSwgMTIyLCAxNDEsIDAuMDc1KTtcbn1cblxuLm5hdmJhci5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VlZjEgIWltcG9ydGFudDtcbiAgY29sb3I6ICNhMWFjYjg7XG59XG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItYnJhbmQgYSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItYnJhbmQgYTpob3Zlcixcbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1icmFuZCBhOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLm5hdmJhci1zZWFyY2gtaWNvbixcbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAuc2VhcmNoLWlucHV0IHtcbiAgY29sb3I6ICNhMWFjYjg7XG59XG4ubmF2YmFyLmJnLWxpZ2h0IC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLWlucHV0LFxuLm5hdmJhci5iZy1saWdodCAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC10b2dnbGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NywgODksIDExMywgMC4xKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgPiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgPiAubmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLmRpc2FibGVkLFxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2JmYzZjZiAhaW1wb3J0YW50O1xufVxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLmJnLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6ICNhMWFjYjg7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEyMiwgMTQxLCAwLjA3ODM4MzUyOTQpO1xufVxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE0cHgnIGhlaWdodD0nMTFweCcgdmlld0JveD0nMCAwIDE0IDExJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTAsMCBMMTQsMCBMMTQsMS43NSBMMCwxLjc1IEwwLDAgWiBNMCw0LjM3NSBMMTQsNC4zNzUgTDE0LDYuMTI1IEwwLDYuMTI1IEwwLDQuMzc1IFogTTAsOC43NSBMMTQsOC43NSBMMTQsMTAuNSBMMCwxMC41IEwwLDguNzUgWicgaWQ9J3BhdGgtMSclM0UlM0MvcGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+Sji1VSS1FbGVtZW50cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPScxMiktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCknJTNFJTNDZyBpZD0nR3JvdXAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0ncmdiYSg2NywgODksIDExMywgMC41KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoNjcsIDg5LCAxMTMsIDAuNSknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLm5hdmJhci5iZy1saWdodCAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXIuYmctbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5uYXZiYXIuYmctbGlnaHQgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMTA1LCAxMjIsIDE0MSwgMC4wNzgzODM1Mjk0KTtcbn1cblxuLmZvb3Rlci5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNhMWFjYjg7XG59XG4uZm9vdGVyLmJnLXdoaXRlIC5mb290ZXItbGluayB7XG4gIGNvbG9yOiAjYTFhY2I4O1xufVxuLmZvb3Rlci5iZy13aGl0ZSAuZm9vdGVyLWxpbms6aG92ZXIsIC5mb290ZXIuYmctd2hpdGUgLmZvb3Rlci1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uZm9vdGVyLmJnLXdoaXRlIC5mb290ZXItbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYzdjZGQ0ICFpbXBvcnRhbnQ7XG59XG4uZm9vdGVyLmJnLXdoaXRlIC5mb290ZXItdGV4dCB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmZvb3Rlci5iZy13aGl0ZSAuc2hvdyA+IC5mb290ZXItbGluayxcbi5mb290ZXIuYmctd2hpdGUgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbi5mb290ZXIuYmctd2hpdGUgLmZvb3Rlci1saW5rLnNob3csXG4uZm9vdGVyLmJnLXdoaXRlIC5mb290ZXItbGluay5hY3RpdmUge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5mb290ZXIuYmctd2hpdGUgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMTA1LCAxMjIsIDE0MSwgMC4wNzUpO1xufVxuXG4uZm9vdGVyLmJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVmMSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ExYWNiODtcbn1cbi5mb290ZXIuYmctbGlnaHQgLmZvb3Rlci1saW5rIHtcbiAgY29sb3I6ICNhMWFjYjg7XG59XG4uZm9vdGVyLmJnLWxpZ2h0IC5mb290ZXItbGluazpob3ZlciwgLmZvb3Rlci5iZy1saWdodCAuZm9vdGVyLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5mb290ZXIuYmctbGlnaHQgLmZvb3Rlci1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICNiZmM2Y2YgIWltcG9ydGFudDtcbn1cbi5mb290ZXIuYmctbGlnaHQgLmZvb3Rlci10ZXh0IHtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uZm9vdGVyLmJnLWxpZ2h0IC5zaG93ID4gLmZvb3Rlci1saW5rLFxuLmZvb3Rlci5iZy1saWdodCAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxuLmZvb3Rlci5iZy1saWdodCAuZm9vdGVyLWxpbmsuc2hvdyxcbi5mb290ZXIuYmctbGlnaHQgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmZvb3Rlci5iZy1saWdodCBociB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDUsIDEyMiwgMTQxLCAwLjA3ODM4MzUyOTQpO1xufVxuIl19 */
diff --git a/admin/assets/vendor/css/pages/page-account-settings.css b/admin/assets/vendor/css/pages/page-account-settings.css
new file mode 100644
index 0000000..26cbcb8
--- /dev/null
+++ b/admin/assets/vendor/css/pages/page-account-settings.css
@@ -0,0 +1,7 @@
+.api-key-actions {
+ position: absolute !important;
+ top: 0.75rem;
+ right: 0.5rem;
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL3BhZ2UtYWNjb3VudC1zZXR0aW5ncy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw2QkFBNkI7RUFDN0IsWUFBWTtFQUNaLGFBQWE7QUFDZiIsImZpbGUiOiJwYWdlcy9wYWdlLWFjY291bnQtc2V0dGluZ3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwaS1rZXktYWN0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjVyZW07XG59XG4iXX0= */
diff --git a/admin/assets/vendor/css/pages/page-auth.css b/admin/assets/vendor/css/pages/page-auth.css
new file mode 100644
index 0000000..0b202f5
--- /dev/null
+++ b/admin/assets/vendor/css/pages/page-auth.css
@@ -0,0 +1,68 @@
+@charset "UTF-8";
+.authentication-wrapper {
+ display: flex;
+ flex-basis: 100%;
+ min-height: 100vh;
+ width: 100%;
+}
+.authentication-wrapper .authentication-inner {
+ width: 100%;
+}
+.authentication-wrapper.authentication-basic {
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+}
+.authentication-wrapper.authentication-cover {
+ align-items: flex-start;
+}
+.authentication-wrapper.authentication-cover .authentication-inner {
+ height: 100vh;
+}
+.authentication-wrapper.authentication-basic .authentication-inner {
+ max-width: 400px;
+ position: relative;
+}
+.authentication-wrapper.authentication-basic .authentication-inner:before {
+ width: 148px;
+ height: 148px;
+ content: " ";
+ position: absolute;
+ top: -40px;
+ right: -40px;
+ background-image: url("data:image/svg+xml,%3Csvg width='148px' height='148px' viewBox='0 0 148 148' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M355,144 C356.104569,144 357,144.895431 357,146 C357,147.104569 356.104569,148 355,148 C353.895431,148 353,147.104569 353,146 C353,144.895431 353.895431,144 355,144 Z M382,144 C383.104569,144 384,144.895431 384,146 C384,147.104569 383.104569,148 382,148 C380.895431,148 380,147.104569 380,146 C380,144.895431 380.895431,144 382,144 Z M412,144 C413.104569,144 414,144.895431 414,146 C414,147.104569 413.104569,148 412,148 C410.895431,148 410,147.104569 410,146 C410,144.895431 410.895431,144 412,144 Z M442,144 C443.104569,144 444,144.895431 444,146 C444,147.104569 443.104569,148 442,148 C440.895431,148 440,147.104569 440,146 C440,144.895431 440.895431,144 442,144 Z M472,144 C473.104569,144 474,144.895431 474,146 C474,147.104569 473.104569,148 472,148 C470.895431,148 470,147.104569 470,146 C470,144.895431 470.895431,144 472,144 Z M499,144 C500.104569,144 501,144.895431 501,146 C501,147.104569 500.104569,148 499,148 C497.895431,148 497,147.104569 497,146 C497,144.895431 497.895431,144 499,144 Z M355,117 C356.104569,117 357,117.895431 357,119 C357,120.104569 356.104569,121 355,121 C353.895431,121 353,120.104569 353,119 C353,117.895431 353.895431,117 355,117 Z M382,117 C383.104569,117 384,117.895431 384,119 C384,120.104569 383.104569,121 382,121 C380.895431,121 380,120.104569 380,119 C380,117.895431 380.895431,117 382,117 Z M412,117 C413.104569,117 414,117.895431 414,119 C414,120.104569 413.104569,121 412,121 C410.895431,121 410,120.104569 410,119 C410,117.895431 410.895431,117 412,117 Z M442,117 C443.104569,117 444,117.895431 444,119 C444,120.104569 443.104569,121 442,121 C440.895431,121 440,120.104569 440,119 C440,117.895431 440.895431,117 442,117 Z M472,117 C473.104569,117 474,117.895431 474,119 C474,120.104569 473.104569,121 472,121 C470.895431,121 470,120.104569 470,119 C470,117.895431 470.895431,117 472,117 Z M499,117 C500.104569,117 501,117.895431 501,119 C501,120.104569 500.104569,121 499,121 C497.895431,121 497,120.104569 497,119 C497,117.895431 497.895431,117 499,117 Z M355,87 C356.104569,87 357,87.8954305 357,89 C357,90.1045695 356.104569,91 355,91 C353.895431,91 353,90.1045695 353,89 C353,87.8954305 353.895431,87 355,87 Z M382,87 C383.104569,87 384,87.8954305 384,89 C384,90.1045695 383.104569,91 382,91 C380.895431,91 380,90.1045695 380,89 C380,87.8954305 380.895431,87 382,87 Z M412,87 C413.104569,87 414,87.8954305 414,89 C414,90.1045695 413.104569,91 412,91 C410.895431,91 410,90.1045695 410,89 C410,87.8954305 410.895431,87 412,87 Z M442,87 C443.104569,87 444,87.8954305 444,89 C444,90.1045695 443.104569,91 442,91 C440.895431,91 440,90.1045695 440,89 C440,87.8954305 440.895431,87 442,87 Z M472,87 C473.104569,87 474,87.8954305 474,89 C474,90.1045695 473.104569,91 472,91 C470.895431,91 470,90.1045695 470,89 C470,87.8954305 470.895431,87 472,87 Z M499,87 C500.104569,87 501,87.8954305 501,89 C501,90.1045695 500.104569,91 499,91 C497.895431,91 497,90.1045695 497,89 C497,87.8954305 497.895431,87 499,87 Z M355,57 C356.104569,57 357,57.8954305 357,59 C357,60.1045695 356.104569,61 355,61 C353.895431,61 353,60.1045695 353,59 C353,57.8954305 353.895431,57 355,57 Z M472,57 C473.104569,57 474,57.8954305 474,59 C474,60.1045695 473.104569,61 472,61 C470.895431,61 470,60.1045695 470,59 C470,57.8954305 470.895431,57 472,57 Z M412,57 C413.104569,57 414,57.8954305 414,59 C414,60.1045695 413.104569,61 412,61 C410.895431,61 410,60.1045695 410,59 C410,57.8954305 410.895431,57 412,57 Z M499,57 C500.104569,57 501,57.8954305 501,59 C501,60.1045695 500.104569,61 499,61 C497.895431,61 497,60.1045695 497,59 C497,57.8954305 497.895431,57 499,57 Z M382,57 C383.104569,57 384,57.8954305 384,59 C384,60.1045695 383.104569,61 382,61 C380.895431,61 380,60.1045695 380,59 C380,57.8954305 380.895431,57 382,57 Z M442,57 C443.104569,57 444,57.8954305 444,59 C444,60.1045695 443.104569,61 442,61 C440.895431,61 440,60.1045695 440,59 C440,57.8954305 440.895431,57 442,57 Z M355,27 C356.104569,27 357,27.8954305 357,29 C357,30.1045695 356.104569,31 355,31 C353.895431,31 353,30.1045695 353,29 C353,27.8954305 353.895431,27 355,27 Z M382,27 C383.104569,27 384,27.8954305 384,29 C384,30.1045695 383.104569,31 382,31 C380.895431,31 380,30.1045695 380,29 C380,27.8954305 380.895431,27 382,27 Z M412,27 C413.104569,27 414,27.8954305 414,29 C414,30.1045695 413.104569,31 412,31 C410.895431,31 410,30.1045695 410,29 C410,27.8954305 410.895431,27 412,27 Z M442,27 C443.104569,27 444,27.8954305 444,29 C444,30.1045695 443.104569,31 442,31 C440.895431,31 440,30.1045695 440,29 C440,27.8954305 440.895431,27 442,27 Z M472,27 C473.104569,27 474,27.8954305 474,29 C474,30.1045695 473.104569,31 472,31 C470.895431,31 470,30.1045695 470,29 C470,27.8954305 470.895431,27 472,27 Z M499,27 C500.104569,27 501,27.8954305 501,29 C501,30.1045695 500.104569,31 499,31 C497.895431,31 497,30.1045695 497,29 C497,27.8954305 497.895431,27 499,27 Z M355,0 C356.104569,0 357,0.8954305 357,2 C357,3.1045695 356.104569,4 355,4 C353.895431,4 353,3.1045695 353,2 C353,0.8954305 353.895431,0 355,0 Z M382,0 C383.104569,0 384,0.8954305 384,2 C384,3.1045695 383.104569,4 382,4 C380.895431,4 380,3.1045695 380,2 C380,0.8954305 380.895431,0 382,0 Z M412,0 C413.104569,0 414,0.8954305 414,2 C414,3.1045695 413.104569,4 412,4 C410.895431,4 410,3.1045695 410,2 C410,0.8954305 410.895431,0 412,0 Z M442,0 C443.104569,0 444,0.8954305 444,2 C444,3.1045695 443.104569,4 442,4 C440.895431,4 440,3.1045695 440,2 C440,0.8954305 440.895431,0 442,0 Z M472,0 C473.104569,0 474,0.8954305 474,2 C474,3.1045695 473.104569,4 472,4 C470.895431,4 470,3.1045695 470,2 C470,0.8954305 470.895431,0 472,0 Z M499,0 C500.104569,0 501,0.8954305 501,2 C501,3.1045695 500.104569,4 499,4 C497.895431,4 497,3.1045695 497,2 C497,0.8954305 497.895431,0 499,0 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='📝-Pages' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Login---V2' transform='translate(-822.000000, -197.000000)'%3E%3Cg id='top-illustration' transform='translate(469.000000, 197.000000)'%3E%3Cuse fill='%23696cff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.6' fill='%23FFFFFF' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.authentication-wrapper.authentication-basic .authentication-inner:after {
+ width: 243px;
+ height: 240px;
+ content: " ";
+ position: absolute;
+ bottom: -68px;
+ left: -46px;
+}
+.authentication-wrapper.authentication-basic .authentication-inner .card {
+ z-index: 1;
+}
+.authentication-wrapper.authentication-basic .authentication-inner .card .app-brand {
+ margin-bottom: 2.5rem;
+}
+.authentication-wrapper .auth-input-wrapper .auth-input {
+ max-width: 50px;
+ padding-left: 0.4rem;
+ padding-right: 0.4rem;
+ font-size: 150%;
+}
+
+@media (max-width: 575.98px) {
+ .authentication-wrapper .auth-input-wrapper .auth-input {
+ font-size: 1.125rem;
+ }
+}
+.light-style .authentication-wrapper .authentication-bg {
+ background-color: #fff;
+}
+.light-style .authentication-wrapper.authentication-basic .authentication-inner:after {
+ background-image: url("data:image/svg+xml,%3Csvg width='243px' height='240px' viewBox='0 0 243 240' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M34.5,182 C35.8807119,182 37,183.119288 37,184.5 C37,185.880712 35.8807119,187 34.5,187 C33.1192881,187 32,185.880712 32,184.5 C32,183.119288 33.1192881,182 34.5,182 Z M61.5,182 C62.8807119,182 64,183.119288 64,184.5 C64,185.880712 62.8807119,187 61.5,187 C60.1192881,187 59,185.880712 59,184.5 C59,183.119288 60.1192881,182 61.5,182 Z M91.5,182 C92.8807119,182 94,183.119288 94,184.5 C94,185.880712 92.8807119,187 91.5,187 C90.1192881,187 89,185.880712 89,184.5 C89,183.119288 90.1192881,182 91.5,182 Z M123.5,182 C124.880712,182 126,183.119288 126,184.5 C126,185.880712 124.880712,187 123.5,187 C122.119288,187 121,185.880712 121,184.5 C121,183.119288 122.119288,182 123.5,182 Z M153.5,182 C154.880712,182 156,183.119288 156,184.5 C156,185.880712 154.880712,187 153.5,187 C152.119288,187 151,185.880712 151,184.5 C151,183.119288 152.119288,182 153.5,182 Z M180.5,182 C181.880712,182 183,183.119288 183,184.5 C183,185.880712 181.880712,187 180.5,187 C179.119288,187 178,185.880712 178,184.5 C178,183.119288 179.119288,182 180.5,182 Z M34.5,154 C35.8807119,154 37,155.119288 37,156.5 C37,157.880712 35.8807119,159 34.5,159 C33.1192881,159 32,157.880712 32,156.5 C32,155.119288 33.1192881,154 34.5,154 Z M61.5,154 C62.8807119,154 64,155.119288 64,156.5 C64,157.880712 62.8807119,159 61.5,159 C60.1192881,159 59,157.880712 59,156.5 C59,155.119288 60.1192881,154 61.5,154 Z M91.5,154 C92.8807119,154 94,155.119288 94,156.5 C94,157.880712 92.8807119,159 91.5,159 C90.1192881,159 89,157.880712 89,156.5 C89,155.119288 90.1192881,154 91.5,154 Z M123.5,154 C124.880712,154 126,155.119288 126,156.5 C126,157.880712 124.880712,159 123.5,159 C122.119288,159 121,157.880712 121,156.5 C121,155.119288 122.119288,154 123.5,154 Z M153.5,154 C154.880712,154 156,155.119288 156,156.5 C156,157.880712 154.880712,159 153.5,159 C152.119288,159 151,157.880712 151,156.5 C151,155.119288 152.119288,154 153.5,154 Z M180.5,154 C181.880712,154 183,155.119288 183,156.5 C183,157.880712 181.880712,159 180.5,159 C179.119288,159 178,157.880712 178,156.5 C178,155.119288 179.119288,154 180.5,154 Z M34.5,124 C35.8807119,124 37,125.119288 37,126.5 C37,127.880712 35.8807119,129 34.5,129 C33.1192881,129 32,127.880712 32,126.5 C32,125.119288 33.1192881,124 34.5,124 Z M61.5,124 C62.8807119,124 64,125.119288 64,126.5 C64,127.880712 62.8807119,129 61.5,129 C60.1192881,129 59,127.880712 59,126.5 C59,125.119288 60.1192881,124 61.5,124 Z M91.5,124 C92.8807119,124 94,125.119288 94,126.5 C94,127.880712 92.8807119,129 91.5,129 C90.1192881,129 89,127.880712 89,126.5 C89,125.119288 90.1192881,124 91.5,124 Z M123.5,124 C124.880712,124 126,125.119288 126,126.5 C126,127.880712 124.880712,129 123.5,129 C122.119288,129 121,127.880712 121,126.5 C121,125.119288 122.119288,124 123.5,124 Z M153.5,124 C154.880712,124 156,125.119288 156,126.5 C156,127.880712 154.880712,129 153.5,129 C152.119288,129 151,127.880712 151,126.5 C151,125.119288 152.119288,124 153.5,124 Z M180.5,124 C181.880712,124 183,125.119288 183,126.5 C183,127.880712 181.880712,129 180.5,129 C179.119288,129 178,127.880712 178,126.5 C178,125.119288 179.119288,124 180.5,124 Z M34.5,94 C35.8807119,94 37,95.1192881 37,96.5 C37,97.8807119 35.8807119,99 34.5,99 C33.1192881,99 32,97.8807119 32,96.5 C32,95.1192881 33.1192881,94 34.5,94 Z M153.5,94 C154.880712,94 156,95.1192881 156,96.5 C156,97.8807119 154.880712,99 153.5,99 C152.119288,99 151,97.8807119 151,96.5 C151,95.1192881 152.119288,94 153.5,94 Z M91.5,94 C92.8807119,94 94,95.1192881 94,96.5 C94,97.8807119 92.8807119,99 91.5,99 C90.1192881,99 89,97.8807119 89,96.5 C89,95.1192881 90.1192881,94 91.5,94 Z M180.5,94 C181.880712,94 183,95.1192881 183,96.5 C183,97.8807119 181.880712,99 180.5,99 C179.119288,99 178,97.8807119 178,96.5 C178,95.1192881 179.119288,94 180.5,94 Z M61.5,94 C62.8807119,94 64,95.1192881 64,96.5 C64,97.8807119 62.8807119,99 61.5,99 C60.1192881,99 59,97.8807119 59,96.5 C59,95.1192881 60.1192881,94 61.5,94 Z M123.5,94 C124.880712,94 126,95.1192881 126,96.5 C126,97.8807119 124.880712,99 123.5,99 C122.119288,99 121,97.8807119 121,96.5 C121,95.1192881 122.119288,94 123.5,94 Z M34.5,64 C35.8807119,64 37,65.1192881 37,66.5 C37,67.8807119 35.8807119,69 34.5,69 C33.1192881,69 32,67.8807119 32,66.5 C32,65.1192881 33.1192881,64 34.5,64 Z M61.5,64 C62.8807119,64 64,65.1192881 64,66.5 C64,67.8807119 62.8807119,69 61.5,69 C60.1192881,69 59,67.8807119 59,66.5 C59,65.1192881 60.1192881,64 61.5,64 Z M91.5,64 C92.8807119,64 94,65.1192881 94,66.5 C94,67.8807119 92.8807119,69 91.5,69 C90.1192881,69 89,67.8807119 89,66.5 C89,65.1192881 90.1192881,64 91.5,64 Z M123.5,64 C124.880712,64 126,65.1192881 126,66.5 C126,67.8807119 124.880712,69 123.5,69 C122.119288,69 121,67.8807119 121,66.5 C121,65.1192881 122.119288,64 123.5,64 Z M153.5,64 C154.880712,64 156,65.1192881 156,66.5 C156,67.8807119 154.880712,69 153.5,69 C152.119288,69 151,67.8807119 151,66.5 C151,65.1192881 152.119288,64 153.5,64 Z M180.5,64 C181.880712,64 183,65.1192881 183,66.5 C183,67.8807119 181.880712,69 180.5,69 C179.119288,69 178,67.8807119 178,66.5 C178,65.1192881 179.119288,64 180.5,64 Z M34.5,37 C35.8807119,37 37,38.1192881 37,39.5 C37,40.8807119 35.8807119,42 34.5,42 C33.1192881,42 32,40.8807119 32,39.5 C32,38.1192881 33.1192881,37 34.5,37 Z M61.5,37 C62.8807119,37 64,38.1192881 64,39.5 C64,40.8807119 62.8807119,42 61.5,42 C60.1192881,42 59,40.8807119 59,39.5 C59,38.1192881 60.1192881,37 61.5,37 Z M91.5,37 C92.8807119,37 94,38.1192881 94,39.5 C94,40.8807119 92.8807119,42 91.5,42 C90.1192881,42 89,40.8807119 89,39.5 C89,38.1192881 90.1192881,37 91.5,37 Z M123.5,37 C124.880712,37 126,38.1192881 126,39.5 C126,40.8807119 124.880712,42 123.5,42 C122.119288,42 121,40.8807119 121,39.5 C121,38.1192881 122.119288,37 123.5,37 Z M153.5,37 C154.880712,37 156,38.1192881 156,39.5 C156,40.8807119 154.880712,42 153.5,42 C152.119288,42 151,40.8807119 151,39.5 C151,38.1192881 152.119288,37 153.5,37 Z M180.5,37 C181.880712,37 183,38.1192881 183,39.5 C183,40.8807119 181.880712,42 180.5,42 C179.119288,42 178,40.8807119 178,39.5 C178,38.1192881 179.119288,37 180.5,37 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='📝-Pages' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Login---V2' transform='translate(-469.000000, -670.000000)'%3E%3Cg id='Shapes' transform='translate(469.000000, 197.000000)'%3E%3Cg id='bottom-illustration' transform='translate(0.000000, 473.000000)'%3E%3Crect id='Rectangle' fill='%23696cff' opacity='0.04' x='0' y='0' width='215' height='216' rx='10'%3E%3C/rect%3E%3Crect id='Rectangle' stroke='rgba(67, 89, 113, 0.5)' opacity='0.48' x='104.5' y='100.5' width='138' height='139' rx='10'%3E%3C/rect%3E%3Cg id='Dot'%3E%3Cuse fill='%23696cff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.6' fill='%23FFFFFF' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL3BhZ2UtYXV0aC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBQ2hCO0VBQ0UsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsV0FBVztBQUNiO0FBQ0E7RUFDRSxXQUFXO0FBQ2I7QUFDQTtFQUNFLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSx1QkFBdUI7QUFDekI7QUFDQTtFQUNFLGFBQWE7QUFDZjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixZQUFZO0VBQ1oscXVNQUFxdU07QUFDdnVNO0FBQ0E7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLFdBQVc7QUFDYjtBQUNBO0VBQ0UsVUFBVTtBQUNaO0FBQ0E7RUFDRSxxQkFBcUI7QUFDdkI7QUFDQTtFQUNFLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLGVBQWU7QUFDakI7O0FBRUE7RUFDRTtJQUNFLG1CQUFtQjtFQUNyQjtBQUNGO0FBQ0E7RUFDRSxzQkFBc0I7QUFDeEI7QUFDQTtFQUNFLDA0TkFBMDROO0FBQzU0TiIsImZpbGUiOiJwYWdlcy9wYWdlLWF1dGguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYXV0aGVudGljYXRpb24td3JhcHBlciAuYXV0aGVudGljYXRpb24taW5uZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWJhc2ljIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYXV0aGVudGljYXRpb24td3JhcHBlci5hdXRoZW50aWNhdGlvbi1jb3ZlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIuYXV0aGVudGljYXRpb24tY292ZXIgLmF1dGhlbnRpY2F0aW9uLWlubmVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWJhc2ljIC5hdXRoZW50aWNhdGlvbi1pbm5lciB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWJhc2ljIC5hdXRoZW50aWNhdGlvbi1pbm5lcjpiZWZvcmUge1xuICB3aWR0aDogMTQ4cHg7XG4gIGhlaWdodDogMTQ4cHg7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAtNDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTQ4cHgnIGhlaWdodD0nMTQ4cHgnIHZpZXdCb3g9JzAgMCAxNDggMTQ4JyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTM1NSwxNDQgQzM1Ni4xMDQ1NjksMTQ0IDM1NywxNDQuODk1NDMxIDM1NywxNDYgQzM1NywxNDcuMTA0NTY5IDM1Ni4xMDQ1NjksMTQ4IDM1NSwxNDggQzM1My44OTU0MzEsMTQ4IDM1MywxNDcuMTA0NTY5IDM1MywxNDYgQzM1MywxNDQuODk1NDMxIDM1My44OTU0MzEsMTQ0IDM1NSwxNDQgWiBNMzgyLDE0NCBDMzgzLjEwNDU2OSwxNDQgMzg0LDE0NC44OTU0MzEgMzg0LDE0NiBDMzg0LDE0Ny4xMDQ1NjkgMzgzLjEwNDU2OSwxNDggMzgyLDE0OCBDMzgwLjg5NTQzMSwxNDggMzgwLDE0Ny4xMDQ1NjkgMzgwLDE0NiBDMzgwLDE0NC44OTU0MzEgMzgwLjg5NTQzMSwxNDQgMzgyLDE0NCBaIE00MTIsMTQ0IEM0MTMuMTA0NTY5LDE0NCA0MTQsMTQ0Ljg5NTQzMSA0MTQsMTQ2IEM0MTQsMTQ3LjEwNDU2OSA0MTMuMTA0NTY5LDE0OCA0MTIsMTQ4IEM0MTAuODk1NDMxLDE0OCA0MTAsMTQ3LjEwNDU2OSA0MTAsMTQ2IEM0MTAsMTQ0Ljg5NTQzMSA0MTAuODk1NDMxLDE0NCA0MTIsMTQ0IFogTTQ0MiwxNDQgQzQ0My4xMDQ1NjksMTQ0IDQ0NCwxNDQuODk1NDMxIDQ0NCwxNDYgQzQ0NCwxNDcuMTA0NTY5IDQ0My4xMDQ1NjksMTQ4IDQ0MiwxNDggQzQ0MC44OTU0MzEsMTQ4IDQ0MCwxNDcuMTA0NTY5IDQ0MCwxNDYgQzQ0MCwxNDQuODk1NDMxIDQ0MC44OTU0MzEsMTQ0IDQ0MiwxNDQgWiBNNDcyLDE0NCBDNDczLjEwNDU2OSwxNDQgNDc0LDE0NC44OTU0MzEgNDc0LDE0NiBDNDc0LDE0Ny4xMDQ1NjkgNDczLjEwNDU2OSwxNDggNDcyLDE0OCBDNDcwLjg5NTQzMSwxNDggNDcwLDE0Ny4xMDQ1NjkgNDcwLDE0NiBDNDcwLDE0NC44OTU0MzEgNDcwLjg5NTQzMSwxNDQgNDcyLDE0NCBaIE00OTksMTQ0IEM1MDAuMTA0NTY5LDE0NCA1MDEsMTQ0Ljg5NTQzMSA1MDEsMTQ2IEM1MDEsMTQ3LjEwNDU2OSA1MDAuMTA0NTY5LDE0OCA0OTksMTQ4IEM0OTcuODk1NDMxLDE0OCA0OTcsMTQ3LjEwNDU2OSA0OTcsMTQ2IEM0OTcsMTQ0Ljg5NTQzMSA0OTcuODk1NDMxLDE0NCA0OTksMTQ0IFogTTM1NSwxMTcgQzM1Ni4xMDQ1NjksMTE3IDM1NywxMTcuODk1NDMxIDM1NywxMTkgQzM1NywxMjAuMTA0NTY5IDM1Ni4xMDQ1NjksMTIxIDM1NSwxMjEgQzM1My44OTU0MzEsMTIxIDM1MywxMjAuMTA0NTY5IDM1MywxMTkgQzM1MywxMTcuODk1NDMxIDM1My44OTU0MzEsMTE3IDM1NSwxMTcgWiBNMzgyLDExNyBDMzgzLjEwNDU2OSwxMTcgMzg0LDExNy44OTU0MzEgMzg0LDExOSBDMzg0LDEyMC4xMDQ1NjkgMzgzLjEwNDU2OSwxMjEgMzgyLDEyMSBDMzgwLjg5NTQzMSwxMjEgMzgwLDEyMC4xMDQ1NjkgMzgwLDExOSBDMzgwLDExNy44OTU0MzEgMzgwLjg5NTQzMSwxMTcgMzgyLDExNyBaIE00MTIsMTE3IEM0MTMuMTA0NTY5LDExNyA0MTQsMTE3Ljg5NTQzMSA0MTQsMTE5IEM0MTQsMTIwLjEwNDU2OSA0MTMuMTA0NTY5LDEyMSA0MTIsMTIxIEM0MTAuODk1NDMxLDEyMSA0MTAsMTIwLjEwNDU2OSA0MTAsMTE5IEM0MTAsMTE3Ljg5NTQzMSA0MTAuODk1NDMxLDExNyA0MTIsMTE3IFogTTQ0MiwxMTcgQzQ0My4xMDQ1NjksMTE3IDQ0NCwxMTcuODk1NDMxIDQ0NCwxMTkgQzQ0NCwxMjAuMTA0NTY5IDQ0My4xMDQ1NjksMTIxIDQ0MiwxMjEgQzQ0MC44OTU0MzEsMTIxIDQ0MCwxMjAuMTA0NTY5IDQ0MCwxMTkgQzQ0MCwxMTcuODk1NDMxIDQ0MC44OTU0MzEsMTE3IDQ0MiwxMTcgWiBNNDcyLDExNyBDNDczLjEwNDU2OSwxMTcgNDc0LDExNy44OTU0MzEgNDc0LDExOSBDNDc0LDEyMC4xMDQ1NjkgNDczLjEwNDU2OSwxMjEgNDcyLDEyMSBDNDcwLjg5NTQzMSwxMjEgNDcwLDEyMC4xMDQ1NjkgNDcwLDExOSBDNDcwLDExNy44OTU0MzEgNDcwLjg5NTQzMSwxMTcgNDcyLDExNyBaIE00OTksMTE3IEM1MDAuMTA0NTY5LDExNyA1MDEsMTE3Ljg5NTQzMSA1MDEsMTE5IEM1MDEsMTIwLjEwNDU2OSA1MDAuMTA0NTY5LDEyMSA0OTksMTIxIEM0OTcuODk1NDMxLDEyMSA0OTcsMTIwLjEwNDU2OSA0OTcsMTE5IEM0OTcsMTE3Ljg5NTQzMSA0OTcuODk1NDMxLDExNyA0OTksMTE3IFogTTM1NSw4NyBDMzU2LjEwNDU2OSw4NyAzNTcsODcuODk1NDMwNSAzNTcsODkgQzM1Nyw5MC4xMDQ1Njk1IDM1Ni4xMDQ1NjksOTEgMzU1LDkxIEMzNTMuODk1NDMxLDkxIDM1Myw5MC4xMDQ1Njk1IDM1Myw4OSBDMzUzLDg3Ljg5NTQzMDUgMzUzLjg5NTQzMSw4NyAzNTUsODcgWiBNMzgyLDg3IEMzODMuMTA0NTY5LDg3IDM4NCw4Ny44OTU0MzA1IDM4NCw4OSBDMzg0LDkwLjEwNDU2OTUgMzgzLjEwNDU2OSw5MSAzODIsOTEgQzM4MC44OTU0MzEsOTEgMzgwLDkwLjEwNDU2OTUgMzgwLDg5IEMzODAsODcuODk1NDMwNSAzODAuODk1NDMxLDg3IDM4Miw4NyBaIE00MTIsODcgQzQxMy4xMDQ1NjksODcgNDE0LDg3Ljg5NTQzMDUgNDE0LDg5IEM0MTQsOTAuMTA0NTY5NSA0MTMuMTA0NTY5LDkxIDQxMiw5MSBDNDEwLjg5NTQzMSw5MSA0MTAsOTAuMTA0NTY5NSA0MTAsODkgQzQxMCw4Ny44OTU0MzA1IDQxMC44OTU0MzEsODcgNDEyLDg3IFogTTQ0Miw4NyBDNDQzLjEwNDU2OSw4NyA0NDQsODcuODk1NDMwNSA0NDQsODkgQzQ0NCw5MC4xMDQ1Njk1IDQ0My4xMDQ1NjksOTEgNDQyLDkxIEM0NDAuODk1NDMxLDkxIDQ0MCw5MC4xMDQ1Njk1IDQ0MCw4OSBDNDQwLDg3Ljg5NTQzMDUgNDQwLjg5NTQzMSw4NyA0NDIsODcgWiBNNDcyLDg3IEM0NzMuMTA0NTY5LDg3IDQ3NCw4Ny44OTU0MzA1IDQ3NCw4OSBDNDc0LDkwLjEwNDU2OTUgNDczLjEwNDU2OSw5MSA0NzIsOTEgQzQ3MC44OTU0MzEsOTEgNDcwLDkwLjEwNDU2OTUgNDcwLDg5IEM0NzAsODcuODk1NDMwNSA0NzAuODk1NDMxLDg3IDQ3Miw4NyBaIE00OTksODcgQzUwMC4xMDQ1NjksODcgNTAxLDg3Ljg5NTQzMDUgNTAxLDg5IEM1MDEsOTAuMTA0NTY5NSA1MDAuMTA0NTY5LDkxIDQ5OSw5MSBDNDk3Ljg5NTQzMSw5MSA0OTcsOTAuMTA0NTY5NSA0OTcsODkgQzQ5Nyw4Ny44OTU0MzA1IDQ5Ny44OTU0MzEsODcgNDk5LDg3IFogTTM1NSw1NyBDMzU2LjEwNDU2OSw1NyAzNTcsNTcuODk1NDMwNSAzNTcsNTkgQzM1Nyw2MC4xMDQ1Njk1IDM1Ni4xMDQ1NjksNjEgMzU1LDYxIEMzNTMuODk1NDMxLDYxIDM1Myw2MC4xMDQ1Njk1IDM1Myw1OSBDMzUzLDU3Ljg5NTQzMDUgMzUzLjg5NTQzMSw1NyAzNTUsNTcgWiBNNDcyLDU3IEM0NzMuMTA0NTY5LDU3IDQ3NCw1Ny44OTU0MzA1IDQ3NCw1OSBDNDc0LDYwLjEwNDU2OTUgNDczLjEwNDU2OSw2MSA0NzIsNjEgQzQ3MC44OTU0MzEsNjEgNDcwLDYwLjEwNDU2OTUgNDcwLDU5IEM0NzAsNTcuODk1NDMwNSA0NzAuODk1NDMxLDU3IDQ3Miw1NyBaIE00MTIsNTcgQzQxMy4xMDQ1NjksNTcgNDE0LDU3Ljg5NTQzMDUgNDE0LDU5IEM0MTQsNjAuMTA0NTY5NSA0MTMuMTA0NTY5LDYxIDQxMiw2MSBDNDEwLjg5NTQzMSw2MSA0MTAsNjAuMTA0NTY5NSA0MTAsNTkgQzQxMCw1Ny44OTU0MzA1IDQxMC44OTU0MzEsNTcgNDEyLDU3IFogTTQ5OSw1NyBDNTAwLjEwNDU2OSw1NyA1MDEsNTcuODk1NDMwNSA1MDEsNTkgQzUwMSw2MC4xMDQ1Njk1IDUwMC4xMDQ1NjksNjEgNDk5LDYxIEM0OTcuODk1NDMxLDYxIDQ5Nyw2MC4xMDQ1Njk1IDQ5Nyw1OSBDNDk3LDU3Ljg5NTQzMDUgNDk3Ljg5NTQzMSw1NyA0OTksNTcgWiBNMzgyLDU3IEMzODMuMTA0NTY5LDU3IDM4NCw1Ny44OTU0MzA1IDM4NCw1OSBDMzg0LDYwLjEwNDU2OTUgMzgzLjEwNDU2OSw2MSAzODIsNjEgQzM4MC44OTU0MzEsNjEgMzgwLDYwLjEwNDU2OTUgMzgwLDU5IEMzODAsNTcuODk1NDMwNSAzODAuODk1NDMxLDU3IDM4Miw1NyBaIE00NDIsNTcgQzQ0My4xMDQ1NjksNTcgNDQ0LDU3Ljg5NTQzMDUgNDQ0LDU5IEM0NDQsNjAuMTA0NTY5NSA0NDMuMTA0NTY5LDYxIDQ0Miw2MSBDNDQwLjg5NTQzMSw2MSA0NDAsNjAuMTA0NTY5NSA0NDAsNTkgQzQ0MCw1Ny44OTU0MzA1IDQ0MC44OTU0MzEsNTcgNDQyLDU3IFogTTM1NSwyNyBDMzU2LjEwNDU2OSwyNyAzNTcsMjcuODk1NDMwNSAzNTcsMjkgQzM1NywzMC4xMDQ1Njk1IDM1Ni4xMDQ1NjksMzEgMzU1LDMxIEMzNTMuODk1NDMxLDMxIDM1MywzMC4xMDQ1Njk1IDM1MywyOSBDMzUzLDI3Ljg5NTQzMDUgMzUzLjg5NTQzMSwyNyAzNTUsMjcgWiBNMzgyLDI3IEMzODMuMTA0NTY5LDI3IDM4NCwyNy44OTU0MzA1IDM4NCwyOSBDMzg0LDMwLjEwNDU2OTUgMzgzLjEwNDU2OSwzMSAzODIsMzEgQzM4MC44OTU0MzEsMzEgMzgwLDMwLjEwNDU2OTUgMzgwLDI5IEMzODAsMjcuODk1NDMwNSAzODAuODk1NDMxLDI3IDM4MiwyNyBaIE00MTIsMjcgQzQxMy4xMDQ1NjksMjcgNDE0LDI3Ljg5NTQzMDUgNDE0LDI5IEM0MTQsMzAuMTA0NTY5NSA0MTMuMTA0NTY5LDMxIDQxMiwzMSBDNDEwLjg5NTQzMSwzMSA0MTAsMzAuMTA0NTY5NSA0MTAsMjkgQzQxMCwyNy44OTU0MzA1IDQxMC44OTU0MzEsMjcgNDEyLDI3IFogTTQ0MiwyNyBDNDQzLjEwNDU2OSwyNyA0NDQsMjcuODk1NDMwNSA0NDQsMjkgQzQ0NCwzMC4xMDQ1Njk1IDQ0My4xMDQ1NjksMzEgNDQyLDMxIEM0NDAuODk1NDMxLDMxIDQ0MCwzMC4xMDQ1Njk1IDQ0MCwyOSBDNDQwLDI3Ljg5NTQzMDUgNDQwLjg5NTQzMSwyNyA0NDIsMjcgWiBNNDcyLDI3IEM0NzMuMTA0NTY5LDI3IDQ3NCwyNy44OTU0MzA1IDQ3NCwyOSBDNDc0LDMwLjEwNDU2OTUgNDczLjEwNDU2OSwzMSA0NzIsMzEgQzQ3MC44OTU0MzEsMzEgNDcwLDMwLjEwNDU2OTUgNDcwLDI5IEM0NzAsMjcuODk1NDMwNSA0NzAuODk1NDMxLDI3IDQ3MiwyNyBaIE00OTksMjcgQzUwMC4xMDQ1NjksMjcgNTAxLDI3Ljg5NTQzMDUgNTAxLDI5IEM1MDEsMzAuMTA0NTY5NSA1MDAuMTA0NTY5LDMxIDQ5OSwzMSBDNDk3Ljg5NTQzMSwzMSA0OTcsMzAuMTA0NTY5NSA0OTcsMjkgQzQ5NywyNy44OTU0MzA1IDQ5Ny44OTU0MzEsMjcgNDk5LDI3IFogTTM1NSwwIEMzNTYuMTA0NTY5LDAgMzU3LDAuODk1NDMwNSAzNTcsMiBDMzU3LDMuMTA0NTY5NSAzNTYuMTA0NTY5LDQgMzU1LDQgQzM1My44OTU0MzEsNCAzNTMsMy4xMDQ1Njk1IDM1MywyIEMzNTMsMC44OTU0MzA1IDM1My44OTU0MzEsMCAzNTUsMCBaIE0zODIsMCBDMzgzLjEwNDU2OSwwIDM4NCwwLjg5NTQzMDUgMzg0LDIgQzM4NCwzLjEwNDU2OTUgMzgzLjEwNDU2OSw0IDM4Miw0IEMzODAuODk1NDMxLDQgMzgwLDMuMTA0NTY5NSAzODAsMiBDMzgwLDAuODk1NDMwNSAzODAuODk1NDMxLDAgMzgyLDAgWiBNNDEyLDAgQzQxMy4xMDQ1NjksMCA0MTQsMC44OTU0MzA1IDQxNCwyIEM0MTQsMy4xMDQ1Njk1IDQxMy4xMDQ1NjksNCA0MTIsNCBDNDEwLjg5NTQzMSw0IDQxMCwzLjEwNDU2OTUgNDEwLDIgQzQxMCwwLjg5NTQzMDUgNDEwLjg5NTQzMSwwIDQxMiwwIFogTTQ0MiwwIEM0NDMuMTA0NTY5LDAgNDQ0LDAuODk1NDMwNSA0NDQsMiBDNDQ0LDMuMTA0NTY5NSA0NDMuMTA0NTY5LDQgNDQyLDQgQzQ0MC44OTU0MzEsNCA0NDAsMy4xMDQ1Njk1IDQ0MCwyIEM0NDAsMC44OTU0MzA1IDQ0MC44OTU0MzEsMCA0NDIsMCBaIE00NzIsMCBDNDczLjEwNDU2OSwwIDQ3NCwwLjg5NTQzMDUgNDc0LDIgQzQ3NCwzLjEwNDU2OTUgNDczLjEwNDU2OSw0IDQ3Miw0IEM0NzAuODk1NDMxLDQgNDcwLDMuMTA0NTY5NSA0NzAsMiBDNDcwLDAuODk1NDMwNSA0NzAuODk1NDMxLDAgNDcyLDAgWiBNNDk5LDAgQzUwMC4xMDQ1NjksMCA1MDEsMC44OTU0MzA1IDUwMSwyIEM1MDEsMy4xMDQ1Njk1IDUwMC4xMDQ1NjksNCA0OTksNCBDNDk3Ljg5NTQzMSw0IDQ5NywzLjEwNDU2OTUgNDk3LDIgQzQ5NywwLjg5NTQzMDUgNDk3Ljg5NTQzMSwwIDQ5OSwwIFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfk50tUGFnZXMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nTG9naW4tLS1WMicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTgyMi4wMDAwMDAsIC0xOTcuMDAwMDAwKSclM0UlM0NnIGlkPSd0b3AtaWxsdXN0cmF0aW9uJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSg0NjkuMDAwMDAwLCAxOTcuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0nJTIzNjk2Y2ZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuNicgZmlsbD0nJTIzRkZGRkZGJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uYXV0aGVudGljYXRpb24td3JhcHBlci5hdXRoZW50aWNhdGlvbi1iYXNpYyAuYXV0aGVudGljYXRpb24taW5uZXI6YWZ0ZXIge1xuICB3aWR0aDogMjQzcHg7XG4gIGhlaWdodDogMjQwcHg7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTY4cHg7XG4gIGxlZnQ6IC00NnB4O1xufVxuLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIuYXV0aGVudGljYXRpb24tYmFzaWMgLmF1dGhlbnRpY2F0aW9uLWlubmVyIC5jYXJkIHtcbiAgei1pbmRleDogMTtcbn1cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWJhc2ljIC5hdXRoZW50aWNhdGlvbi1pbm5lciAuY2FyZCAuYXBwLWJyYW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmF1dGgtaW5wdXQtd3JhcHBlciAuYXV0aC1pbnB1dCB7XG4gIG1heC13aWR0aDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjRyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNHJlbTtcbiAgZm9udC1zaXplOiAxNTAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmF1dGgtaW5wdXQtd3JhcHBlciAuYXV0aC1pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxufVxuLmxpZ2h0LXN0eWxlIC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hdXRoZW50aWNhdGlvbi1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubGlnaHQtc3R5bGUgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIuYXV0aGVudGljYXRpb24tYmFzaWMgLmF1dGhlbnRpY2F0aW9uLWlubmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQzcHgnIGhlaWdodD0nMjQwcHgnIHZpZXdCb3g9JzAgMCAyNDMgMjQwJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTM0LjUsMTgyIEMzNS44ODA3MTE5LDE4MiAzNywxODMuMTE5Mjg4IDM3LDE4NC41IEMzNywxODUuODgwNzEyIDM1Ljg4MDcxMTksMTg3IDM0LjUsMTg3IEMzMy4xMTkyODgxLDE4NyAzMiwxODUuODgwNzEyIDMyLDE4NC41IEMzMiwxODMuMTE5Mjg4IDMzLjExOTI4ODEsMTgyIDM0LjUsMTgyIFogTTYxLjUsMTgyIEM2Mi44ODA3MTE5LDE4MiA2NCwxODMuMTE5Mjg4IDY0LDE4NC41IEM2NCwxODUuODgwNzEyIDYyLjg4MDcxMTksMTg3IDYxLjUsMTg3IEM2MC4xMTkyODgxLDE4NyA1OSwxODUuODgwNzEyIDU5LDE4NC41IEM1OSwxODMuMTE5Mjg4IDYwLjExOTI4ODEsMTgyIDYxLjUsMTgyIFogTTkxLjUsMTgyIEM5Mi44ODA3MTE5LDE4MiA5NCwxODMuMTE5Mjg4IDk0LDE4NC41IEM5NCwxODUuODgwNzEyIDkyLjg4MDcxMTksMTg3IDkxLjUsMTg3IEM5MC4xMTkyODgxLDE4NyA4OSwxODUuODgwNzEyIDg5LDE4NC41IEM4OSwxODMuMTE5Mjg4IDkwLjExOTI4ODEsMTgyIDkxLjUsMTgyIFogTTEyMy41LDE4MiBDMTI0Ljg4MDcxMiwxODIgMTI2LDE4My4xMTkyODggMTI2LDE4NC41IEMxMjYsMTg1Ljg4MDcxMiAxMjQuODgwNzEyLDE4NyAxMjMuNSwxODcgQzEyMi4xMTkyODgsMTg3IDEyMSwxODUuODgwNzEyIDEyMSwxODQuNSBDMTIxLDE4My4xMTkyODggMTIyLjExOTI4OCwxODIgMTIzLjUsMTgyIFogTTE1My41LDE4MiBDMTU0Ljg4MDcxMiwxODIgMTU2LDE4My4xMTkyODggMTU2LDE4NC41IEMxNTYsMTg1Ljg4MDcxMiAxNTQuODgwNzEyLDE4NyAxNTMuNSwxODcgQzE1Mi4xMTkyODgsMTg3IDE1MSwxODUuODgwNzEyIDE1MSwxODQuNSBDMTUxLDE4My4xMTkyODggMTUyLjExOTI4OCwxODIgMTUzLjUsMTgyIFogTTE4MC41LDE4MiBDMTgxLjg4MDcxMiwxODIgMTgzLDE4My4xMTkyODggMTgzLDE4NC41IEMxODMsMTg1Ljg4MDcxMiAxODEuODgwNzEyLDE4NyAxODAuNSwxODcgQzE3OS4xMTkyODgsMTg3IDE3OCwxODUuODgwNzEyIDE3OCwxODQuNSBDMTc4LDE4My4xMTkyODggMTc5LjExOTI4OCwxODIgMTgwLjUsMTgyIFogTTM0LjUsMTU0IEMzNS44ODA3MTE5LDE1NCAzNywxNTUuMTE5Mjg4IDM3LDE1Ni41IEMzNywxNTcuODgwNzEyIDM1Ljg4MDcxMTksMTU5IDM0LjUsMTU5IEMzMy4xMTkyODgxLDE1OSAzMiwxNTcuODgwNzEyIDMyLDE1Ni41IEMzMiwxNTUuMTE5Mjg4IDMzLjExOTI4ODEsMTU0IDM0LjUsMTU0IFogTTYxLjUsMTU0IEM2Mi44ODA3MTE5LDE1NCA2NCwxNTUuMTE5Mjg4IDY0LDE1Ni41IEM2NCwxNTcuODgwNzEyIDYyLjg4MDcxMTksMTU5IDYxLjUsMTU5IEM2MC4xMTkyODgxLDE1OSA1OSwxNTcuODgwNzEyIDU5LDE1Ni41IEM1OSwxNTUuMTE5Mjg4IDYwLjExOTI4ODEsMTU0IDYxLjUsMTU0IFogTTkxLjUsMTU0IEM5Mi44ODA3MTE5LDE1NCA5NCwxNTUuMTE5Mjg4IDk0LDE1Ni41IEM5NCwxNTcuODgwNzEyIDkyLjg4MDcxMTksMTU5IDkxLjUsMTU5IEM5MC4xMTkyODgxLDE1OSA4OSwxNTcuODgwNzEyIDg5LDE1Ni41IEM4OSwxNTUuMTE5Mjg4IDkwLjExOTI4ODEsMTU0IDkxLjUsMTU0IFogTTEyMy41LDE1NCBDMTI0Ljg4MDcxMiwxNTQgMTI2LDE1NS4xMTkyODggMTI2LDE1Ni41IEMxMjYsMTU3Ljg4MDcxMiAxMjQuODgwNzEyLDE1OSAxMjMuNSwxNTkgQzEyMi4xMTkyODgsMTU5IDEyMSwxNTcuODgwNzEyIDEyMSwxNTYuNSBDMTIxLDE1NS4xMTkyODggMTIyLjExOTI4OCwxNTQgMTIzLjUsMTU0IFogTTE1My41LDE1NCBDMTU0Ljg4MDcxMiwxNTQgMTU2LDE1NS4xMTkyODggMTU2LDE1Ni41IEMxNTYsMTU3Ljg4MDcxMiAxNTQuODgwNzEyLDE1OSAxNTMuNSwxNTkgQzE1Mi4xMTkyODgsMTU5IDE1MSwxNTcuODgwNzEyIDE1MSwxNTYuNSBDMTUxLDE1NS4xMTkyODggMTUyLjExOTI4OCwxNTQgMTUzLjUsMTU0IFogTTE4MC41LDE1NCBDMTgxLjg4MDcxMiwxNTQgMTgzLDE1NS4xMTkyODggMTgzLDE1Ni41IEMxODMsMTU3Ljg4MDcxMiAxODEuODgwNzEyLDE1OSAxODAuNSwxNTkgQzE3OS4xMTkyODgsMTU5IDE3OCwxNTcuODgwNzEyIDE3OCwxNTYuNSBDMTc4LDE1NS4xMTkyODggMTc5LjExOTI4OCwxNTQgMTgwLjUsMTU0IFogTTM0LjUsMTI0IEMzNS44ODA3MTE5LDEyNCAzNywxMjUuMTE5Mjg4IDM3LDEyNi41IEMzNywxMjcuODgwNzEyIDM1Ljg4MDcxMTksMTI5IDM0LjUsMTI5IEMzMy4xMTkyODgxLDEyOSAzMiwxMjcuODgwNzEyIDMyLDEyNi41IEMzMiwxMjUuMTE5Mjg4IDMzLjExOTI4ODEsMTI0IDM0LjUsMTI0IFogTTYxLjUsMTI0IEM2Mi44ODA3MTE5LDEyNCA2NCwxMjUuMTE5Mjg4IDY0LDEyNi41IEM2NCwxMjcuODgwNzEyIDYyLjg4MDcxMTksMTI5IDYxLjUsMTI5IEM2MC4xMTkyODgxLDEyOSA1OSwxMjcuODgwNzEyIDU5LDEyNi41IEM1OSwxMjUuMTE5Mjg4IDYwLjExOTI4ODEsMTI0IDYxLjUsMTI0IFogTTkxLjUsMTI0IEM5Mi44ODA3MTE5LDEyNCA5NCwxMjUuMTE5Mjg4IDk0LDEyNi41IEM5NCwxMjcuODgwNzEyIDkyLjg4MDcxMTksMTI5IDkxLjUsMTI5IEM5MC4xMTkyODgxLDEyOSA4OSwxMjcuODgwNzEyIDg5LDEyNi41IEM4OSwxMjUuMTE5Mjg4IDkwLjExOTI4ODEsMTI0IDkxLjUsMTI0IFogTTEyMy41LDEyNCBDMTI0Ljg4MDcxMiwxMjQgMTI2LDEyNS4xMTkyODggMTI2LDEyNi41IEMxMjYsMTI3Ljg4MDcxMiAxMjQuODgwNzEyLDEyOSAxMjMuNSwxMjkgQzEyMi4xMTkyODgsMTI5IDEyMSwxMjcuODgwNzEyIDEyMSwxMjYuNSBDMTIxLDEyNS4xMTkyODggMTIyLjExOTI4OCwxMjQgMTIzLjUsMTI0IFogTTE1My41LDEyNCBDMTU0Ljg4MDcxMiwxMjQgMTU2LDEyNS4xMTkyODggMTU2LDEyNi41IEMxNTYsMTI3Ljg4MDcxMiAxNTQuODgwNzEyLDEyOSAxNTMuNSwxMjkgQzE1Mi4xMTkyODgsMTI5IDE1MSwxMjcuODgwNzEyIDE1MSwxMjYuNSBDMTUxLDEyNS4xMTkyODggMTUyLjExOTI4OCwxMjQgMTUzLjUsMTI0IFogTTE4MC41LDEyNCBDMTgxLjg4MDcxMiwxMjQgMTgzLDEyNS4xMTkyODggMTgzLDEyNi41IEMxODMsMTI3Ljg4MDcxMiAxODEuODgwNzEyLDEyOSAxODAuNSwxMjkgQzE3OS4xMTkyODgsMTI5IDE3OCwxMjcuODgwNzEyIDE3OCwxMjYuNSBDMTc4LDEyNS4xMTkyODggMTc5LjExOTI4OCwxMjQgMTgwLjUsMTI0IFogTTM0LjUsOTQgQzM1Ljg4MDcxMTksOTQgMzcsOTUuMTE5Mjg4MSAzNyw5Ni41IEMzNyw5Ny44ODA3MTE5IDM1Ljg4MDcxMTksOTkgMzQuNSw5OSBDMzMuMTE5Mjg4MSw5OSAzMiw5Ny44ODA3MTE5IDMyLDk2LjUgQzMyLDk1LjExOTI4ODEgMzMuMTE5Mjg4MSw5NCAzNC41LDk0IFogTTE1My41LDk0IEMxNTQuODgwNzEyLDk0IDE1Niw5NS4xMTkyODgxIDE1Niw5Ni41IEMxNTYsOTcuODgwNzExOSAxNTQuODgwNzEyLDk5IDE1My41LDk5IEMxNTIuMTE5Mjg4LDk5IDE1MSw5Ny44ODA3MTE5IDE1MSw5Ni41IEMxNTEsOTUuMTE5Mjg4MSAxNTIuMTE5Mjg4LDk0IDE1My41LDk0IFogTTkxLjUsOTQgQzkyLjg4MDcxMTksOTQgOTQsOTUuMTE5Mjg4MSA5NCw5Ni41IEM5NCw5Ny44ODA3MTE5IDkyLjg4MDcxMTksOTkgOTEuNSw5OSBDOTAuMTE5Mjg4MSw5OSA4OSw5Ny44ODA3MTE5IDg5LDk2LjUgQzg5LDk1LjExOTI4ODEgOTAuMTE5Mjg4MSw5NCA5MS41LDk0IFogTTE4MC41LDk0IEMxODEuODgwNzEyLDk0IDE4Myw5NS4xMTkyODgxIDE4Myw5Ni41IEMxODMsOTcuODgwNzExOSAxODEuODgwNzEyLDk5IDE4MC41LDk5IEMxNzkuMTE5Mjg4LDk5IDE3OCw5Ny44ODA3MTE5IDE3OCw5Ni41IEMxNzgsOTUuMTE5Mjg4MSAxNzkuMTE5Mjg4LDk0IDE4MC41LDk0IFogTTYxLjUsOTQgQzYyLjg4MDcxMTksOTQgNjQsOTUuMTE5Mjg4MSA2NCw5Ni41IEM2NCw5Ny44ODA3MTE5IDYyLjg4MDcxMTksOTkgNjEuNSw5OSBDNjAuMTE5Mjg4MSw5OSA1OSw5Ny44ODA3MTE5IDU5LDk2LjUgQzU5LDk1LjExOTI4ODEgNjAuMTE5Mjg4MSw5NCA2MS41LDk0IFogTTEyMy41LDk0IEMxMjQuODgwNzEyLDk0IDEyNiw5NS4xMTkyODgxIDEyNiw5Ni41IEMxMjYsOTcuODgwNzExOSAxMjQuODgwNzEyLDk5IDEyMy41LDk5IEMxMjIuMTE5Mjg4LDk5IDEyMSw5Ny44ODA3MTE5IDEyMSw5Ni41IEMxMjEsOTUuMTE5Mjg4MSAxMjIuMTE5Mjg4LDk0IDEyMy41LDk0IFogTTM0LjUsNjQgQzM1Ljg4MDcxMTksNjQgMzcsNjUuMTE5Mjg4MSAzNyw2Ni41IEMzNyw2Ny44ODA3MTE5IDM1Ljg4MDcxMTksNjkgMzQuNSw2OSBDMzMuMTE5Mjg4MSw2OSAzMiw2Ny44ODA3MTE5IDMyLDY2LjUgQzMyLDY1LjExOTI4ODEgMzMuMTE5Mjg4MSw2NCAzNC41LDY0IFogTTYxLjUsNjQgQzYyLjg4MDcxMTksNjQgNjQsNjUuMTE5Mjg4MSA2NCw2Ni41IEM2NCw2Ny44ODA3MTE5IDYyLjg4MDcxMTksNjkgNjEuNSw2OSBDNjAuMTE5Mjg4MSw2OSA1OSw2Ny44ODA3MTE5IDU5LDY2LjUgQzU5LDY1LjExOTI4ODEgNjAuMTE5Mjg4MSw2NCA2MS41LDY0IFogTTkxLjUsNjQgQzkyLjg4MDcxMTksNjQgOTQsNjUuMTE5Mjg4MSA5NCw2Ni41IEM5NCw2Ny44ODA3MTE5IDkyLjg4MDcxMTksNjkgOTEuNSw2OSBDOTAuMTE5Mjg4MSw2OSA4OSw2Ny44ODA3MTE5IDg5LDY2LjUgQzg5LDY1LjExOTI4ODEgOTAuMTE5Mjg4MSw2NCA5MS41LDY0IFogTTEyMy41LDY0IEMxMjQuODgwNzEyLDY0IDEyNiw2NS4xMTkyODgxIDEyNiw2Ni41IEMxMjYsNjcuODgwNzExOSAxMjQuODgwNzEyLDY5IDEyMy41LDY5IEMxMjIuMTE5Mjg4LDY5IDEyMSw2Ny44ODA3MTE5IDEyMSw2Ni41IEMxMjEsNjUuMTE5Mjg4MSAxMjIuMTE5Mjg4LDY0IDEyMy41LDY0IFogTTE1My41LDY0IEMxNTQuODgwNzEyLDY0IDE1Niw2NS4xMTkyODgxIDE1Niw2Ni41IEMxNTYsNjcuODgwNzExOSAxNTQuODgwNzEyLDY5IDE1My41LDY5IEMxNTIuMTE5Mjg4LDY5IDE1MSw2Ny44ODA3MTE5IDE1MSw2Ni41IEMxNTEsNjUuMTE5Mjg4MSAxNTIuMTE5Mjg4LDY0IDE1My41LDY0IFogTTE4MC41LDY0IEMxODEuODgwNzEyLDY0IDE4Myw2NS4xMTkyODgxIDE4Myw2Ni41IEMxODMsNjcuODgwNzExOSAxODEuODgwNzEyLDY5IDE4MC41LDY5IEMxNzkuMTE5Mjg4LDY5IDE3OCw2Ny44ODA3MTE5IDE3OCw2Ni41IEMxNzgsNjUuMTE5Mjg4MSAxNzkuMTE5Mjg4LDY0IDE4MC41LDY0IFogTTM0LjUsMzcgQzM1Ljg4MDcxMTksMzcgMzcsMzguMTE5Mjg4MSAzNywzOS41IEMzNyw0MC44ODA3MTE5IDM1Ljg4MDcxMTksNDIgMzQuNSw0MiBDMzMuMTE5Mjg4MSw0MiAzMiw0MC44ODA3MTE5IDMyLDM5LjUgQzMyLDM4LjExOTI4ODEgMzMuMTE5Mjg4MSwzNyAzNC41LDM3IFogTTYxLjUsMzcgQzYyLjg4MDcxMTksMzcgNjQsMzguMTE5Mjg4MSA2NCwzOS41IEM2NCw0MC44ODA3MTE5IDYyLjg4MDcxMTksNDIgNjEuNSw0MiBDNjAuMTE5Mjg4MSw0MiA1OSw0MC44ODA3MTE5IDU5LDM5LjUgQzU5LDM4LjExOTI4ODEgNjAuMTE5Mjg4MSwzNyA2MS41LDM3IFogTTkxLjUsMzcgQzkyLjg4MDcxMTksMzcgOTQsMzguMTE5Mjg4MSA5NCwzOS41IEM5NCw0MC44ODA3MTE5IDkyLjg4MDcxMTksNDIgOTEuNSw0MiBDOTAuMTE5Mjg4MSw0MiA4OSw0MC44ODA3MTE5IDg5LDM5LjUgQzg5LDM4LjExOTI4ODEgOTAuMTE5Mjg4MSwzNyA5MS41LDM3IFogTTEyMy41LDM3IEMxMjQuODgwNzEyLDM3IDEyNiwzOC4xMTkyODgxIDEyNiwzOS41IEMxMjYsNDAuODgwNzExOSAxMjQuODgwNzEyLDQyIDEyMy41LDQyIEMxMjIuMTE5Mjg4LDQyIDEyMSw0MC44ODA3MTE5IDEyMSwzOS41IEMxMjEsMzguMTE5Mjg4MSAxMjIuMTE5Mjg4LDM3IDEyMy41LDM3IFogTTE1My41LDM3IEMxNTQuODgwNzEyLDM3IDE1NiwzOC4xMTkyODgxIDE1NiwzOS41IEMxNTYsNDAuODgwNzExOSAxNTQuODgwNzEyLDQyIDE1My41LDQyIEMxNTIuMTE5Mjg4LDQyIDE1MSw0MC44ODA3MTE5IDE1MSwzOS41IEMxNTEsMzguMTE5Mjg4MSAxNTIuMTE5Mjg4LDM3IDE1My41LDM3IFogTTE4MC41LDM3IEMxODEuODgwNzEyLDM3IDE4MywzOC4xMTkyODgxIDE4MywzOS41IEMxODMsNDAuODgwNzExOSAxODEuODgwNzEyLDQyIDE4MC41LDQyIEMxNzkuMTE5Mjg4LDQyIDE3OCw0MC44ODA3MTE5IDE3OCwzOS41IEMxNzgsMzguMTE5Mjg4MSAxNzkuMTE5Mjg4LDM3IDE4MC41LDM3IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfk50tUGFnZXMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nTG9naW4tLS1WMicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTQ2OS4wMDAwMDAsIC02NzAuMDAwMDAwKSclM0UlM0NnIGlkPSdTaGFwZXMnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDQ2OS4wMDAwMDAsIDE5Ny4wMDAwMDApJyUzRSUzQ2cgaWQ9J2JvdHRvbS1pbGx1c3RyYXRpb24nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCA0NzMuMDAwMDAwKSclM0UlM0NyZWN0IGlkPSdSZWN0YW5nbGUnIGZpbGw9JyUyMzY5NmNmZicgb3BhY2l0eT0nMC4wNCcgeD0nMCcgeT0nMCcgd2lkdGg9JzIxNScgaGVpZ2h0PScyMTYnIHJ4PScxMCclM0UlM0MvcmVjdCUzRSUzQ3JlY3QgaWQ9J1JlY3RhbmdsZScgc3Ryb2tlPSdyZ2JhKDY3LCA4OSwgMTEzLCAwLjUpJyBvcGFjaXR5PScwLjQ4JyB4PScxMDQuNScgeT0nMTAwLjUnIHdpZHRoPScxMzgnIGhlaWdodD0nMTM5JyByeD0nMTAnJTNFJTNDL3JlY3QlM0UlM0NnIGlkPSdEb3QnJTNFJTNDdXNlIGZpbGw9JyUyMzY5NmNmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjYnIGZpbGw9JyUyM0ZGRkZGRicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbiJdfQ== */
diff --git a/admin/assets/vendor/css/pages/page-icons.css b/admin/assets/vendor/css/pages/page-icons.css
new file mode 100644
index 0000000..1f343a8
--- /dev/null
+++ b/admin/assets/vendor/css/pages/page-icons.css
@@ -0,0 +1,29 @@
+#icons-container .icon-card {
+ width: 128px;
+}
+#icons-container .icon-card i {
+ font-size: 2rem;
+}
+
+@media (max-width: 1024px) {
+ #icons-container .icon-card {
+ width: 126px;
+ }
+}
+@media (max-width: 767.98px) {
+ #icons-container .icon-card {
+ width: 131px;
+ }
+}
+@media (max-width: 414px) {
+ #icons-container .icon-card {
+ width: 110px;
+ }
+}
+@media (max-width: 375px) {
+ #icons-container .icon-card {
+ width: 150px;
+ }
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL3BhZ2UtaWNvbnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkO0FBQ0E7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRiIsImZpbGUiOiJwYWdlcy9wYWdlLWljb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNpY29ucy1jb250YWluZXIgLmljb24tY2FyZCB7XG4gIHdpZHRoOiAxMjhweDtcbn1cbiNpY29ucy1jb250YWluZXIgLmljb24tY2FyZCBpIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNpY29ucy1jb250YWluZXIgLmljb24tY2FyZCB7XG4gICAgd2lkdGg6IDEyNnB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgI2ljb25zLWNvbnRhaW5lciAuaWNvbi1jYXJkIHtcbiAgICB3aWR0aDogMTMxcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAjaWNvbnMtY29udGFpbmVyIC5pY29uLWNhcmQge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gICNpY29ucy1jb250YWluZXIgLmljb24tY2FyZCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG59XG4iXX0= */
diff --git a/admin/assets/vendor/css/pages/page-misc.css b/admin/assets/vendor/css/pages/page-misc.css
new file mode 100644
index 0000000..0ab9af3
--- /dev/null
+++ b/admin/assets/vendor/css/pages/page-misc.css
@@ -0,0 +1,10 @@
+.misc-wrapper {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ min-height: calc(100vh - (1.625rem * 2));
+ text-align: center;
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL3BhZ2UtbWlzYy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsd0NBQXdDO0VBQ3hDLGtCQUFrQjtBQUNwQiIsImZpbGUiOiJwYWdlcy9wYWdlLW1pc2MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1pc2Mtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gKDEuNjI1cmVtICogMikpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iXX0= */
diff --git a/admin/assets/vendor/css/theme-default.css b/admin/assets/vendor/css/theme-default.css
new file mode 100644
index 0000000..04505af
--- /dev/null
+++ b/admin/assets/vendor/css/theme-default.css
@@ -0,0 +1,806 @@
+@charset "UTF-8";
+.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal) .layout-page:before {
+ content: "";
+ width: 100%;
+ height: 0.75rem;
+ position: fixed;
+ top: 0px;
+ z-index: 10;
+}
+
+.bg-menu-theme .menu-header {
+ position: relative;
+}
+.bg-menu-theme .menu-header:before {
+ content: "";
+ position: absolute;
+ left: 0;
+ top: 1.1875rem;
+ width: 1rem;
+ height: 1px;
+ transition: all 0.3s ease-in-out;
+}
+.layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner .menu-item .menu-link {
+ border-radius: 0.375rem;
+}
+.layout-horizontal .bg-menu-theme .menu-inner > .menu-item > .menu-link {
+ border-radius: 0.375rem;
+}
+@media (min-width: 1200px) {
+ .layout-horizontal .bg-menu-theme .menu-inner > .menu-item {
+ margin: 0.565rem 0;
+ }
+ .layout-horizontal .bg-menu-theme .menu-inner > .menu-item:not(:first-child) {
+ margin-left: 0.0625rem;
+ }
+ .layout-horizontal .bg-menu-theme .menu-inner > .menu-item:not(:last-child) {
+ margin-right: 0.0625rem;
+ }
+ .layout-horizontal .bg-menu-theme .menu-inner > .menu-item .menu-sub {
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+ }
+}
+.layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner > .menu-item.active:before {
+ content: "";
+ position: absolute;
+ right: 0;
+ width: 0.25rem;
+ height: 2.5rem;
+ border-radius: 0.375rem 0 0 0.375rem;
+}
+.bg-menu-theme .menu-sub > .menu-item > .menu-link:before {
+ content: "";
+ position: absolute;
+ left: 1.4375rem;
+ width: 0.375rem;
+ height: 0.375rem;
+ border-radius: 50%;
+}
+.layout-horizontal .bg-menu-theme .menu-sub > .menu-item > .menu-link:before {
+ left: 1.3rem;
+}
+.bg-menu-theme .menu-horizontal-wrapper > .menu-inner > .menu-item > .menu-sub > .menu-item > .menu-link:before {
+ display: none;
+}
+.bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
+ left: 1.1875rem;
+ width: 0.875rem;
+ height: 0.875rem;
+}
+.layout-horizontal .bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
+ left: 1.1rem;
+}
+
+.layout-menu-hover .layout-menu {
+ box-shadow: 0 0.625rem 1.25rem rgba(161, 172, 184, 0.5);
+ transition: all 0.3s ease-in-out;
+}
+
+.app-brand .layout-menu-toggle {
+ position: absolute;
+ left: 15rem;
+ border-radius: 50%;
+}
+.app-brand .layout-menu-toggle i {
+ width: 1.5rem;
+ height: 1.5rem;
+ transition: all 0.3s ease-in-out;
+}
+@media (max-width: 1199.98px) {
+ .app-brand .layout-menu-toggle {
+ display: none !important;
+ }
+ .layout-menu-expanded .app-brand .layout-menu-toggle {
+ display: block !important;
+ }
+}
+
+.text-primary {
+ color: #696cff !important;
+}
+
+.text-body[href]:hover {
+ color: #5f61e6 !important;
+}
+
+.bg-primary {
+ background-color: #696cff !important;
+}
+
+a.bg-primary:hover, a.bg-primary:focus {
+ background-color: #6467f2 !important;
+}
+
+.dropdown-notifications-item:not(.mark-as-read) .dropdown-notifications-read span {
+ background-color: #696cff;
+}
+
+.bg-label-primary {
+ background-color: #e7e7ff !important;
+ color: #696cff !important;
+}
+
+.border-label-primary {
+ border: 3px solid #c3c4ff !important;
+}
+
+.border-light-primary {
+ border: 3px solid rgba(105, 108, 255, 0.08);
+}
+
+.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus,
+.pagination li.active > a:not(.page-link),
+.pagination li.active > a:not(.page-link):hover,
+.pagination li.active > a:not(.page-link):focus {
+ border-color: #696cff;
+ background-color: #696cff;
+ color: #fff;
+ box-shadow: 0 0.125rem 0.25rem rgba(105, 108, 255, 0.4);
+}
+
+.progress-bar {
+ background-color: #696cff;
+ color: #fff;
+ box-shadow: 0 2px 4px 0 rgba(105, 108, 255, 0.4);
+}
+
+.list-group-item-primary {
+ background-color: #e1e2ff;
+ color: #696cff !important;
+}
+
+a.list-group-item-primary,
+button.list-group-item-primary {
+ color: #696cff;
+}
+a.list-group-item-primary:hover, a.list-group-item-primary:focus,
+button.list-group-item-primary:hover,
+button.list-group-item-primary:focus {
+ background-color: #d6d7f2;
+ color: #696cff;
+}
+a.list-group-item-primary.active,
+button.list-group-item-primary.active {
+ border-color: #696cff;
+ background-color: #696cff;
+ color: #696cff;
+}
+
+.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
+ border-color: #696cff;
+ background-color: #696cff;
+}
+
+.alert-primary {
+ background-color: #e7e7ff;
+ border-color: #d2d3ff;
+ color: #696cff;
+}
+.alert-primary .btn-close {
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23696cff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='%23696cff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.alert-primary .alert-link {
+ color: #696cff;
+}
+
+.card .alert-primary hr {
+ background-color: #696cff !important;
+}
+
+.table-primary {
+ --bs-table-bg: #e1e2ff;
+ --bs-table-striped-bg: #dcdefb;
+ --bs-table-striped-color: #435971;
+ --bs-table-active-bg: #d1d4f1;
+ --bs-table-active-color: #435971;
+ --bs-table-hover-bg: #d8daf6;
+ --bs-table-hover-color: #435971;
+ color: #435971;
+ border-color: #d1d4f1;
+}
+.table-primary th {
+ border-bottom-color: inherit !important;
+}
+.table-primary .btn-icon {
+ color: #435971;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #696cff;
+ border-color: #696cff;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(105, 108, 255, 0.4);
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: #5f61e6;
+ border-color: #5f61e6;
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-primary, .btn-primary:focus, .btn-primary.focus {
+ color: #fff;
+ background-color: #5f61e6;
+ border-color: #5f61e6;
+ transform: translateY(0);
+ box-shadow: none;
+}
+.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #595cd9;
+ border-color: #595cd9;
+}
+.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
+ box-shadow: none;
+}
+.btn-primary.disabled, .btn-primary:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-primary {
+ color: #696cff;
+ border-color: #696cff;
+ background: transparent;
+}
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: #5f61e6;
+ border-color: #5f61e6;
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(105, 108, 255, 0.4);
+ transform: translateY(-1px);
+}
+.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
+ color: #fff;
+ background-color: #5f61e6;
+ border-color: #5f61e6;
+ box-shadow: none;
+ transform: translateY(0);
+}
+.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #595cd9;
+ border-color: #595cd9;
+}
+.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
+ box-shadow: none;
+}
+.btn-outline-primary.disabled, .btn-outline-primary:disabled {
+ box-shadow: none;
+}
+
+.btn-outline-primary .badge {
+ background: #696cff;
+ border-color: #696cff;
+ color: #fff;
+}
+
+.btn-outline-primary:hover .badge,
+.btn-outline-primary:focus:hover .badge,
+.btn-outline-primary:active .badge,
+.btn-outline-primary.active .badge,
+.show > .btn-outline-primary.dropdown-toggle .badge {
+ background: #fff;
+ border-color: #fff;
+ color: #696cff;
+}
+
+.dropdown-item:not(.disabled).active,
+.dropdown-item:not(.disabled):active {
+ background-color: rgba(105, 108, 255, 0.08);
+ color: #696cff !important;
+}
+
+.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
+.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
+ background-color: rgba(105, 108, 255, 0.08);
+ color: #696cff !important;
+}
+
+.nav .nav-link:hover, .nav .nav-link:focus {
+ color: #5f61e6;
+}
+
+.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
+ background-color: #696cff;
+ color: #fff;
+ box-shadow: 0 2px 4px 0 rgba(105, 108, 255, 0.4);
+}
+
+.form-control:focus,
+.form-select:focus {
+ border-color: #696cff;
+}
+
+.input-group:focus-within .form-control,
+.input-group:focus-within .input-group-text {
+ border-color: #696cff;
+}
+
+.form-check-input:focus {
+ border-color: #696cff;
+ box-shadow: 0 2px 4px 0 rgba(105, 108, 255, 0.4);
+}
+.form-check-input:disabled {
+ background-color: #eceef1;
+}
+.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate {
+ background-color: #696cff;
+ border-color: #696cff;
+ box-shadow: 0 2px 4px 0 rgba(105, 108, 255, 0.4);
+}
+
+.custom-option.checked {
+ border: 1px solid #696cff;
+}
+
+.form-switch .form-check-input:focus {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23696cff'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+
+.form-control:focus ~ .form-label {
+ border-color: #696cff;
+}
+.form-control:focus ~ .form-label::after {
+ border-color: inherit;
+}
+
+.divider.divider-primary .divider-text:before, .divider.divider-primary .divider-text:after {
+ border-color: #696cff;
+}
+
+.navbar.bg-primary {
+ background-color: #696cff !important;
+ color: #e0e1ff;
+}
+.navbar.bg-primary .navbar-brand,
+.navbar.bg-primary .navbar-brand a {
+ color: #fff;
+}
+.navbar.bg-primary .navbar-brand:hover, .navbar.bg-primary .navbar-brand:focus,
+.navbar.bg-primary .navbar-brand a:hover,
+.navbar.bg-primary .navbar-brand a:focus {
+ color: #fff;
+}
+.navbar.bg-primary .navbar-search-wrapper .navbar-search-icon,
+.navbar.bg-primary .navbar-search-wrapper .search-input {
+ color: #e0e1ff;
+}
+.navbar.bg-primary .search-input-wrapper .search-input,
+.navbar.bg-primary .search-input-wrapper .search-toggler {
+ background-color: #696cff !important;
+ color: #e0e1ff;
+}
+.navbar.bg-primary .navbar-nav > .nav-link,
+.navbar.bg-primary .navbar-nav > .nav-item > .nav-link,
+.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #e0e1ff;
+}
+.navbar.bg-primary .navbar-nav > .nav-link:hover, .navbar.bg-primary .navbar-nav > .nav-link:focus,
+.navbar.bg-primary .navbar-nav > .nav-item > .nav-link:hover,
+.navbar.bg-primary .navbar-nav > .nav-item > .nav-link:focus,
+.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #fff;
+}
+.navbar.bg-primary .navbar-nav > .nav-link.disabled,
+.navbar.bg-primary .navbar-nav > .nav-item > .nav-link.disabled,
+.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #b0b2ff !important;
+}
+.navbar.bg-primary .navbar-nav .show > .nav-link,
+.navbar.bg-primary .navbar-nav .active > .nav-link,
+.navbar.bg-primary .navbar-nav .nav-link.show,
+.navbar.bg-primary .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar.bg-primary .navbar-toggler {
+ color: #e0e1ff;
+ border-color: rgba(255, 255, 255, 0.15);
+}
+.navbar.bg-primary .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(255, 255, 255, 0.8)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.navbar.bg-primary .navbar-text {
+ color: #e0e1ff;
+}
+.navbar.bg-primary .navbar-text a {
+ color: #fff;
+}
+.navbar.bg-primary .navbar-text a:hover, .navbar.bg-primary .navbar-text a:focus {
+ color: #fff;
+}
+.navbar.bg-primary hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.menu.bg-primary {
+ background-color: #696cff !important;
+ color: #e0e1ff;
+}
+.menu.bg-primary .menu-link,
+.menu.bg-primary .menu-horizontal-prev,
+.menu.bg-primary .menu-horizontal-next {
+ color: #e0e1ff;
+}
+.menu.bg-primary .menu-link:hover, .menu.bg-primary .menu-link:focus,
+.menu.bg-primary .menu-horizontal-prev:hover,
+.menu.bg-primary .menu-horizontal-prev:focus,
+.menu.bg-primary .menu-horizontal-next:hover,
+.menu.bg-primary .menu-horizontal-next:focus {
+ color: #fff;
+}
+.menu.bg-primary .menu-link.active,
+.menu.bg-primary .menu-horizontal-prev.active,
+.menu.bg-primary .menu-horizontal-next.active {
+ color: #fff;
+}
+.menu.bg-primary .menu-item.disabled .menu-link,
+.menu.bg-primary .menu-horizontal-prev.disabled,
+.menu.bg-primary .menu-horizontal-next.disabled {
+ color: #b0b2ff !important;
+}
+.menu.bg-primary .menu-item.open:not(.menu-item-closing) > .menu-toggle,
+.menu.bg-primary .menu-item.active > .menu-link {
+ color: #fff;
+}
+.menu.bg-primary .menu-item.active > .menu-link:not(.menu-toggle) {
+ background-color: #6d70ff;
+}
+.menu.bg-primary.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) {
+ background-color: #7174ff;
+}
+.menu.bg-primary.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub, .menu.bg-primary.menu-horizontal .menu-inner .menu-item.open > .menu-toggle {
+ background: #6d70ff;
+}
+.menu.bg-primary .menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-sub,
+.menu.bg-primary .menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-toggle {
+ background: transparent;
+ color: #e0e1ff;
+}
+.menu.bg-primary .menu-inner-shadow {
+ background: linear-gradient(#696cff 41%, rgba(105, 108, 255, 0.11) 95%, rgba(105, 108, 255, 0));
+}
+.menu.bg-primary .menu-text {
+ color: #fff;
+}
+.menu.bg-primary .menu-header {
+ color: #c2c4ff;
+}
+.menu.bg-primary hr,
+.menu.bg-primary .menu-divider,
+.menu.bg-primary .menu-inner > .menu-item.open > .menu-sub::before {
+ border-color: rgba(255, 255, 255, 0.15) !important;
+}
+.menu.bg-primary .menu-inner > .menu-header::before {
+ background-color: rgba(255, 255, 255, 0.15);
+}
+.menu.bg-primary .menu-block::before {
+ background-color: #c2c4ff;
+}
+.menu.bg-primary .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before {
+ background-color: #8385ff;
+}
+.menu.bg-primary .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
+ background-color: #fff;
+}
+.menu.bg-primary .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before,
+.menu.bg-primary .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
+ box-shadow: 0 0 0 2px #6d70ff;
+}
+.menu.bg-primary .ps__thumb-y,
+.menu.bg-primary .ps__rail-y.ps--clicking > .ps__thumb-y {
+ background: rgba(255, 255, 255, 0.5942917647) !important;
+}
+
+.footer.bg-primary {
+ background-color: #696cff !important;
+ color: #e0e1ff;
+}
+.footer.bg-primary .footer-link {
+ color: #e0e1ff;
+}
+.footer.bg-primary .footer-link:hover, .footer.bg-primary .footer-link:focus {
+ color: #fff;
+}
+.footer.bg-primary .footer-link.disabled {
+ color: #b0b2ff !important;
+}
+.footer.bg-primary .footer-text {
+ color: #fff;
+}
+.footer.bg-primary .show > .footer-link,
+.footer.bg-primary .active > .footer-link,
+.footer.bg-primary .footer-link.show,
+.footer.bg-primary .footer-link.active {
+ color: #fff;
+}
+.footer.bg-primary hr {
+ border-color: rgba(255, 255, 255, 0.15);
+}
+
+.bg-primary.toast, .bg-primary.bs-toast {
+ color: #fff;
+ background-color: rgba(105, 108, 255, 0.85) !important;
+ box-shadow: 0 0.25rem 1rem rgba(105, 108, 255, 0.4);
+}
+.bg-primary.toast .toast-header, .bg-primary.bs-toast .toast-header {
+ color: #fff;
+}
+.bg-primary.toast .toast-header .btn-close, .bg-primary.bs-toast .toast-header .btn-close {
+ background-color: #696cff !important;
+ background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(105, 108, 255, 0.4) !important;
+}
+
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ color: #696cff;
+}
+
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ color: #696cff;
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ color: #696cff;
+}
+
+.svg-illustration svg {
+ fill: #696cff;
+}
+
+html:not([dir=rtl]) .border-primary,
+html[dir=rtl] .border-primary {
+ border-color: #696cff !important;
+}
+
+a {
+ color: #696cff;
+}
+a:hover {
+ color: #787bff;
+}
+
+.fill-primary {
+ fill: #696cff;
+}
+
+.bg-navbar-theme {
+ background-color: #fff !important;
+ color: #697a8d;
+}
+.bg-navbar-theme .navbar-brand,
+.bg-navbar-theme .navbar-brand a {
+ color: #566a7f;
+}
+.bg-navbar-theme .navbar-brand:hover, .bg-navbar-theme .navbar-brand:focus,
+.bg-navbar-theme .navbar-brand a:hover,
+.bg-navbar-theme .navbar-brand a:focus {
+ color: #566a7f;
+}
+.bg-navbar-theme .navbar-search-wrapper .navbar-search-icon,
+.bg-navbar-theme .navbar-search-wrapper .search-input {
+ color: #697a8d;
+}
+.bg-navbar-theme .search-input-wrapper .search-input,
+.bg-navbar-theme .search-input-wrapper .search-toggler {
+ background-color: #fff !important;
+ color: #697a8d;
+}
+.bg-navbar-theme .navbar-nav > .nav-link,
+.bg-navbar-theme .navbar-nav > .nav-item > .nav-link,
+.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link {
+ color: #697a8d;
+}
+.bg-navbar-theme .navbar-nav > .nav-link:hover, .bg-navbar-theme .navbar-nav > .nav-link:focus,
+.bg-navbar-theme .navbar-nav > .nav-item > .nav-link:hover,
+.bg-navbar-theme .navbar-nav > .nav-item > .nav-link:focus,
+.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link:hover,
+.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link:focus {
+ color: #566a7f;
+}
+.bg-navbar-theme .navbar-nav > .nav-link.disabled,
+.bg-navbar-theme .navbar-nav > .nav-item > .nav-link.disabled,
+.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link.disabled {
+ color: #a5afbb !important;
+}
+.bg-navbar-theme .navbar-nav .show > .nav-link,
+.bg-navbar-theme .navbar-nav .active > .nav-link,
+.bg-navbar-theme .navbar-nav .nav-link.show,
+.bg-navbar-theme .navbar-nav .nav-link.active {
+ color: #566a7f;
+}
+.bg-navbar-theme .navbar-toggler {
+ color: #697a8d;
+ border-color: rgba(86, 106, 127, 0.075);
+}
+.bg-navbar-theme .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='rgba(67, 89, 113, 0.5)' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+.bg-navbar-theme .navbar-text {
+ color: #697a8d;
+}
+.bg-navbar-theme .navbar-text a {
+ color: #566a7f;
+}
+.bg-navbar-theme .navbar-text a:hover, .bg-navbar-theme .navbar-text a:focus {
+ color: #566a7f;
+}
+.bg-navbar-theme hr {
+ border-color: rgba(86, 106, 127, 0.075);
+}
+
+.layout-navbar {
+ background-color: rgba(255, 255, 255, 0.95) !important;
+ -webkit-backdrop-filter: saturate(200%) blur(6px);
+ backdrop-filter: saturate(200%) blur(6px);
+}
+
+.navbar-detached {
+ box-shadow: 0 0 0.375rem 0.25rem rgba(161, 172, 184, 0.15);
+}
+
+.layout-navbar-fixed .layout-page:before {
+ -webkit-backdrop-filter: saturate(200%) blur(10px);
+ backdrop-filter: saturate(200%) blur(10px);
+ background: rgba(245, 245, 249, 0.6);
+}
+
+.bg-menu-theme {
+ background-color: #fff !important;
+ color: #697a8d;
+}
+.bg-menu-theme .menu-link,
+.bg-menu-theme .menu-horizontal-prev,
+.bg-menu-theme .menu-horizontal-next {
+ color: #697a8d;
+}
+.bg-menu-theme .menu-link:hover, .bg-menu-theme .menu-link:focus,
+.bg-menu-theme .menu-horizontal-prev:hover,
+.bg-menu-theme .menu-horizontal-prev:focus,
+.bg-menu-theme .menu-horizontal-next:hover,
+.bg-menu-theme .menu-horizontal-next:focus {
+ color: #566a7f;
+}
+.bg-menu-theme .menu-link.active,
+.bg-menu-theme .menu-horizontal-prev.active,
+.bg-menu-theme .menu-horizontal-next.active {
+ color: #566a7f;
+}
+.bg-menu-theme .menu-item.disabled .menu-link,
+.bg-menu-theme .menu-horizontal-prev.disabled,
+.bg-menu-theme .menu-horizontal-next.disabled {
+ color: #a5afbb !important;
+}
+.bg-menu-theme .menu-item.open:not(.menu-item-closing) > .menu-toggle,
+.bg-menu-theme .menu-item.active > .menu-link {
+ color: #566a7f;
+}
+.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) {
+ background-color: #fff;
+}
+.bg-menu-theme.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) {
+ background-color: white;
+}
+.bg-menu-theme.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub, .bg-menu-theme.menu-horizontal .menu-inner .menu-item.open > .menu-toggle {
+ background: #fff;
+}
+.bg-menu-theme .menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-sub,
+.bg-menu-theme .menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-toggle {
+ background: transparent;
+ color: #697a8d;
+}
+.bg-menu-theme .menu-inner-shadow {
+ background: linear-gradient(#fff 41%, rgba(255, 255, 255, 0.11) 95%, rgba(255, 255, 255, 0));
+}
+.bg-menu-theme .menu-text {
+ color: #566a7f;
+}
+.bg-menu-theme .menu-header {
+ color: #8f9baa;
+}
+.bg-menu-theme hr,
+.bg-menu-theme .menu-divider,
+.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub::before {
+ border-color: transparent !important;
+}
+.bg-menu-theme .menu-inner > .menu-header::before {
+ background-color: transparent;
+}
+.bg-menu-theme .menu-block::before {
+ background-color: #8f9baa;
+}
+.bg-menu-theme .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before {
+ background-color: white;
+}
+.bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
+ background-color: #566a7f;
+}
+.bg-menu-theme .menu-inner > .menu-item.open .menu-item.open > .menu-toggle::before,
+.bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
+ box-shadow: 0 0 0 2px #fff;
+}
+.bg-menu-theme .ps__thumb-y,
+.bg-menu-theme .ps__rail-y.ps--clicking > .ps__thumb-y {
+ background: rgba(86, 106, 127, 0.2) !important;
+}
+
+.bg-menu-theme .menu-header {
+ color: #a1acb8;
+}
+.bg-menu-theme .menu-header:before {
+ background-color: #a1acb8 !important;
+}
+.bg-menu-theme.menu-vertical {
+ box-shadow: 0 0.125rem 0.375rem 0 rgba(161, 172, 184, 0.12);
+}
+html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item.open > .menu-link, .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item.open > .menu-link,
+html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover,
+.layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover {
+ background-color: rgba(67, 89, 113, 0.04);
+}
+.bg-menu-theme .menu-inner .menu-sub > .menu-item.active > .menu-link.menu-toggle {
+ background-color: rgba(67, 89, 113, 0.04);
+}
+.bg-menu-theme .menu-inner .menu-sub > .menu-item.active .menu-icon {
+ color: #696cff;
+}
+.bg-menu-theme .menu-inner > .menu-item.active > .menu-link {
+ color: #696cff;
+ background-color: rgba(105, 108, 255, 0.16) !important;
+}
+.bg-menu-theme .menu-inner > .menu-item.active:before {
+ background: #696cff;
+}
+.bg-menu-theme .menu-sub > .menu-item > .menu-link:before {
+ background-color: #b4bdc6 !important;
+}
+.bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
+ background-color: #696cff !important;
+ border: 3px solid #e7e7ff !important;
+}
+
+.app-brand .layout-menu-toggle {
+ background-color: #696cff;
+ border: 7px solid #f5f5f9;
+}
+.app-brand .layout-menu-toggle i {
+ color: #fff;
+}
+.app-brand .layout-menu-toggle .menu-inner > .menu-header::before {
+ background-color: #b4bdc6;
+}
+
+.bg-footer-theme {
+ background-color: #f5f5f9 !important;
+ color: #697a8d;
+}
+.bg-footer-theme .footer-link {
+ color: #697a8d;
+}
+.bg-footer-theme .footer-link:hover, .bg-footer-theme .footer-link:focus {
+ color: #566a7f;
+}
+.bg-footer-theme .footer-link.disabled {
+ color: #a1abb8 !important;
+}
+.bg-footer-theme .footer-text {
+ color: #566a7f;
+}
+.bg-footer-theme .show > .footer-link,
+.bg-footer-theme .active > .footer-link,
+.bg-footer-theme .footer-link.show,
+.bg-footer-theme .footer-link.active {
+ color: #566a7f;
+}
+.bg-footer-theme hr {
+ border-color: rgba(86, 106, 127, 0.0768713725);
+}
+
+.layout-footer-fixed .content-footer {
+ box-shadow: 0 0 0.375rem 0.25rem rgba(161, 172, 184, 0.15);
+}
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,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QztFQUNwQyxjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxjQUFjO0FBQ2hCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLGNBQWM7QUFDaEI7QUFDQTs7OztFQUlFLGNBQWM7QUFDaEI7QUFDQTtFQUNFLDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFLDBEQUEwRDtBQUM1RCIsImZpbGUiOiJ0aGVtZS1kZWZhdWx0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5sYXlvdXQtbmF2YmFyLWZpeGVkIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC1ob3Jpem9udGFsKSAubGF5b3V0LXBhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC43NXJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDBweDtcbiAgei1pbmRleDogMTA7XG59XG5cbi5iZy1tZW51LXRoZW1lIC5tZW51LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWhlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMS4xODc1cmVtO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LWhvcml6b250YWwpIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyIC5tZW51LWl0ZW0gLm1lbnUtbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xufVxuLmxheW91dC1ob3Jpem9udGFsIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxheW91dC1ob3Jpem9udGFsIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luOiAwLjU2NXJlbSAwO1xuICB9XG4gIC5sYXlvdXQtaG9yaXpvbnRhbCAuYmctbWVudS10aGVtZSAubWVudS1pbm5lciA+IC5tZW51LWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjA2MjVyZW07XG4gIH1cbiAgLmxheW91dC1ob3Jpem9udGFsIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgfVxuICAubGF5b3V0LWhvcml6b250YWwgLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIC5tZW51LXN1YiB7XG4gICAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDFyZW0gcmdiYSgxNjEsIDE3MiwgMTg0LCAwLjQ1KTtcbiAgfVxufVxuLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LWhvcml6b250YWwpIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5hY3RpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDAuMjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbSAwIDAgMC4zNzVyZW07XG59XG4uYmctbWVudS10aGVtZSAubWVudS1zdWIgPiAubWVudS1pdGVtID4gLm1lbnUtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEuNDM3NXJlbTtcbiAgd2lkdGg6IDAuMzc1cmVtO1xuICBoZWlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4ubGF5b3V0LWhvcml6b250YWwgLmJnLW1lbnUtdGhlbWUgLm1lbnUtc3ViID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbms6YmVmb3JlIHtcbiAgbGVmdDogMS4zcmVtO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaG9yaXpvbnRhbC13cmFwcGVyID4gLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtID4gLm1lbnUtc3ViID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbms6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LXN1YiA+IC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluazpub3QoLm1lbnUtdG9nZ2xlKTpiZWZvcmUge1xuICBsZWZ0OiAxLjE4NzVyZW07XG4gIHdpZHRoOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbn1cbi5sYXlvdXQtaG9yaXpvbnRhbCAuYmctbWVudS10aGVtZSAubWVudS1zdWIgPiAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSk6YmVmb3JlIHtcbiAgbGVmdDogMS4xcmVtO1xufVxuXG4ubGF5b3V0LW1lbnUtaG92ZXIgLmxheW91dC1tZW51IHtcbiAgYm94LXNoYWRvdzogMCAwLjYyNXJlbSAxLjI1cmVtIHJnYmEoMTYxLCAxNzIsIDE4NCwgMC41KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5hcHAtYnJhbmQgLmxheW91dC1tZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5hcHAtYnJhbmQgLmxheW91dC1tZW51LXRvZ2dsZSBpIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuYXBwLWJyYW5kIC5sYXlvdXQtbWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubGF5b3V0LW1lbnUtZXhwYW5kZWQgLmFwcC1icmFuZCAubGF5b3V0LW1lbnUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzY5NmNmZiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ib2R5W2hyZWZdOmhvdmVyIHtcbiAgY29sb3I6ICM1ZjYxZTYgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctcHJpbWFyeTpob3ZlciwgYS5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0NjdmMiAhaW1wb3J0YW50O1xufVxuXG4uZHJvcGRvd24tbm90aWZpY2F0aW9ucy1pdGVtOm5vdCgubWFyay1hcy1yZWFkKSAuZHJvcGRvd24tbm90aWZpY2F0aW9ucy1yZWFkIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmO1xufVxuXG4uYmctbGFiZWwtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sYWJlbC1wcmltYXJ5IHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2MzYzRmZiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0LXByaW1hcnkge1xuICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuMDgpO1xufVxuXG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLCAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rOmhvdmVyLCAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rOmZvY3VzLFxuLnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluayksXG4ucGFnaW5hdGlvbiBsaS5hY3RpdmUgPiBhOm5vdCgucGFnZS1saW5rKTpob3Zlcixcbi5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjk2Y2ZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMTA1LCAxMDgsIDI1NSwgMC40KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmY7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuNCk7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMWUyZmY7XG4gIGNvbG9yOiAjNjk2Y2ZmICFpbXBvcnRhbnQ7XG59XG5cbmEubGlzdC1ncm91cC1pdGVtLXByaW1hcnksXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICBjb2xvcjogIzY5NmNmZjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXByaW1hcnk6aG92ZXIsIGEubGlzdC1ncm91cC1pdGVtLXByaW1hcnk6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXByaW1hcnk6aG92ZXIsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkN2YyO1xuICBjb2xvcjogIzY5NmNmZjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXByaW1hcnkuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5LmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5NmNmZjtcbiAgY29sb3I6ICM2OTZjZmY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2OTZjZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmY7XG59XG5cbi5hbGVydC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDJkM2ZmO1xuICBjb2xvcjogIzY5NmNmZjtcbn1cbi5hbGVydC1wcmltYXJ5IC5idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNTBweCcgaGVpZ2h0PScxNTFweCcgdmlld0JveD0nMCAwIDE1MCAxNTEnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NkZWZzJTNFJTNDcG9seWdvbiBpZD0ncGF0aC0xJyBwb2ludHM9JzEzMS4yNTE2NTcgMCA3NC45OTMzNzA1IDU2LjI1IDE4Ljc0ODM0MjYgMCAwIDE4Ljc1IDU2LjI0NTAyNzggNzUgMCAxMzEuMjUgMTguNzQ4MzQyNiAxNTAgNzQuOTkzMzcwNSA5My43NSAxMzEuMjUxNjU3IDE1MCAxNTAgMTMxLjI1IDkzLjc1NDk3MjIgNzUgMTUwIDE4Ljc1JyUzRSUzQy9wb2x5Z29uJTNFJTNDL2RlZnMlM0UlM0NnIGlkPSfwn46oLSU1QlNldHVwJTVEOi1Db2xvcnMtJmFtcDstU2hhZG93cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPSdBcnRib2FyZCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTIyNS4wMDAwMDAsIC0yNTAuMDAwMDAwKSclM0UlM0NnIGlkPSdJY29uLUNvbG9yJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMjUuMDAwMDAwLCAyNTAuNTAwMDAwKSclM0UlM0N1c2UgZmlsbD0nJTIzNjk2Y2ZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQ3VzZSBmaWxsLW9wYWNpdHk9JzAuNScgZmlsbD0nJTIzNjk2Y2ZmJyB4bGluazpocmVmPSclMjNwYXRoLTEnJTNFJTNDL3VzZSUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uYWxlcnQtcHJpbWFyeSAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjNjk2Y2ZmO1xufVxuXG4uY2FyZCAuYWxlcnQtcHJpbWFyeSBociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLXByaW1hcnkge1xuICAtLWJzLXRhYmxlLWJnOiAjZTFlMmZmO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNkY2RlZmI7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzQzNTk3MTtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNkMWQ0ZjE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjNDM1OTcxO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZDhkYWY2O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjNDM1OTcxO1xuICBjb2xvcjogIzQzNTk3MTtcbiAgYm9yZGVyLWNvbG9yOiAjZDFkNGYxO1xufVxuLnRhYmxlLXByaW1hcnkgdGgge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4udGFibGUtcHJpbWFyeSAuYnRuLWljb24ge1xuICBjb2xvcjogIzQzNTk3MTtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmY7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZjtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIDAgcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjQpO1xufVxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjYxZTY7XG4gIGJvcmRlci1jb2xvcjogIzVmNjFlNjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmJ0bi1jaGVjazpmb2N1cyArIC5idG4tcHJpbWFyeSwgLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVmNjFlNjtcbiAgYm9yZGVyLWNvbG9yOiAjNWY2MWU2O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLXByaW1hcnksIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLCAuc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU5NWNkOTtcbiAgYm9yZGVyLWNvbG9yOiAjNTk1Y2Q5O1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLWNoZWNrOmFjdGl2ZSArIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICBjb2xvcjogIzY5NmNmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNjk2Y2ZmO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjYxZTY7XG4gIGJvcmRlci1jb2xvcjogIzVmNjFlNjtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIDAgcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYnRuLWNoZWNrOmZvY3VzICsgLmJ0bi1vdXRsaW5lLXByaW1hcnksIC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjYxZTY7XG4gIGJvcmRlci1jb2xvcjogIzVmNjFlNjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bi1vdXRsaW5lLXByaW1hcnksIC5idG4tY2hlY2s6YWN0aXZlICsgLmJ0bi1vdXRsaW5lLXByaW1hcnksIC5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuc2hvdyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1Y2Q5O1xuICBib3JkZXItY29sb3I6ICM1OTVjZDk7XG59XG4uYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1jaGVjazphY3RpdmUgKyAuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5zaG93OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IC5iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICM2OTZjZmY7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzOmhvdmVyIC5iYWRnZSxcbi5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZSAuYmFkZ2UsXG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUgLmJhZGdlLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY5NmNmZjtcbn1cblxuLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbn1cblxuLmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXG4uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA1LCAxMDgsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjNjk2Y2ZmICFpbXBvcnRhbnQ7XG59XG5cbi5uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNWY2MWU2O1xufVxuXG4ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciwgLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5NmNmZjtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMTA1LCAxMDgsIDI1NSwgMC40KTtcbn1cblxuLmZvcm0tY29udHJvbDpmb2N1cyxcbi5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZjtcbn1cblxuLmlucHV0LWdyb3VwOmZvY3VzLXdpdGhpbiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwOmZvY3VzLXdpdGhpbiAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2OTZjZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMTA1LCAxMDgsIDI1NSwgMC40KTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVmMTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQsIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmO1xuICBib3JkZXItY29sb3I6ICM2OTZjZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMTA1LCAxMDgsIDI1NSwgMC40KTtcbn1cblxuLmN1c3RvbS1vcHRpb24uY2hlY2tlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2OTZjZmY7XG59XG5cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyMzY5NmNmZicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzIH4gLmZvcm0tbGFiZWwge1xuICBib3JkZXItY29sb3I6ICM2OTZjZmY7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIH4gLmZvcm0tbGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uZGl2aWRlci5kaXZpZGVyLXByaW1hcnkgLmRpdmlkZXItdGV4dDpiZWZvcmUsIC5kaXZpZGVyLmRpdmlkZXItcHJpbWFyeSAuZGl2aWRlci10ZXh0OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjk2Y2ZmO1xufVxuXG4ubmF2YmFyLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTBlMWZmO1xufVxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci1icmFuZCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci1icmFuZCBhOmhvdmVyLFxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItYnJhbmQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItc2VhcmNoLXdyYXBwZXIgLm5hdmJhci1zZWFyY2gtaWNvbixcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQge1xuICBjb2xvcjogI2UwZTFmZjtcbn1cbi5uYXZiYXIuYmctcHJpbWFyeSAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC1pbnB1dCxcbi5uYXZiYXIuYmctcHJpbWFyeSAuc2VhcmNoLWlucHV0LXdyYXBwZXIgLnNlYXJjaC10b2dnbGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5NmNmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2UwZTFmZjtcbn1cbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2UwZTFmZjtcbn1cbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2ID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLFxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2IwYjJmZiAhaW1wb3J0YW50O1xufVxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiAjZTBlMWZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNHB4JyBoZWlnaHQ9JzExcHgnIHZpZXdCb3g9JzAgMCAxNCAxMScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSUzQ2RlZnMlM0UlM0NwYXRoIGQ9J00wLDAgTDE0LDAgTDE0LDEuNzUgTDAsMS43NSBMMCwwIFogTTAsNC4zNzUgTDE0LDQuMzc1IEwxNCw2LjEyNSBMMCw2LjEyNSBMMCw0LjM3NSBaIE0wLDguNzUgTDE0LDguNzUgTDE0LDEwLjUgTDAsMTAuNSBMMCw4Ljc1IFonIGlkPSdwYXRoLTEnJTNFJTNDL3BhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J/Cfko4tVUktRWxlbWVudHMnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nMTIpLU5hdmJhcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTExNzQuMDAwMDAwLCAtMTI5MC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0dyb3VwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxMTc0LjAwMDAwMCwgMTI4OC4wMDAwMDApJyUzRSUzQ2cgaWQ9J0ljb24tQ29sb3InIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuMDAwMDAwLCAyLjAwMDAwMCknJTNFJTNDdXNlIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNlMGUxZmY7XG59XG4ubmF2YmFyLmJnLXByaW1hcnkgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIuYmctcHJpbWFyeSAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5iZy1wcmltYXJ5IC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLmJnLXByaW1hcnkgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5tZW51LmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTBlMWZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1saW5rLFxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1ob3Jpem9udGFsLXByZXYsXG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWhvcml6b250YWwtbmV4dCB7XG4gIGNvbG9yOiAjZTBlMWZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1saW5rOmhvdmVyLCAubWVudS5iZy1wcmltYXJ5IC5tZW51LWxpbms6Zm9jdXMsXG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWhvcml6b250YWwtcHJldjpob3Zlcixcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaG9yaXpvbnRhbC1wcmV2OmZvY3VzLFxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1ob3Jpem9udGFsLW5leHQ6aG92ZXIsXG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWhvcml6b250YWwtbmV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1saW5rLmFjdGl2ZSxcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaG9yaXpvbnRhbC1wcmV2LmFjdGl2ZSxcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1pdGVtLmRpc2FibGVkIC5tZW51LWxpbmssXG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWhvcml6b250YWwtcHJldi5kaXNhYmxlZCxcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgY29sb3I6ICNiMGIyZmYgIWltcG9ydGFudDtcbn1cbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaXRlbS5vcGVuOm5vdCgubWVudS1pdGVtLWNsb3NpbmcpID4gLm1lbnUtdG9nZ2xlLFxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOm5vdCgubWVudS10b2dnbGUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkNzBmZjtcbn1cbi5tZW51LmJnLXByaW1hcnkubWVudS1ob3Jpem9udGFsIC5tZW51LXN1YiA+IC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluazpub3QoLm1lbnUtdG9nZ2xlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MTc0ZmY7XG59XG4ubWVudS5iZy1wcmltYXJ5Lm1lbnUtaG9yaXpvbnRhbCAubWVudS1pbm5lciAubWVudS1pdGVtOm5vdCgubWVudS1pdGVtLWNsb3NpbmcpID4gLm1lbnUtc3ViLCAubWVudS5iZy1wcmltYXJ5Lm1lbnUtaG9yaXpvbnRhbCAubWVudS1pbm5lciAubWVudS1pdGVtLm9wZW4gPiAubWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjNmQ3MGZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWNsb3NpbmcgLm1lbnUtaXRlbS5vcGVuIC5tZW51LXN1Yixcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1jbG9zaW5nIC5tZW51LWl0ZW0ub3BlbiAubWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlMGUxZmY7XG59XG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWlubmVyLXNoYWRvdyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNjk2Y2ZmIDQxJSwgcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjExKSA5NSUsIHJnYmEoMTA1LCAxMDgsIDI1NSwgMCkpO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS10ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWhlYWRlciB7XG4gIGNvbG9yOiAjYzJjNGZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSBocixcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtZGl2aWRlcixcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gPiAubWVudS1zdWI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAhaW1wb3J0YW50O1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1pbm5lciA+IC5tZW51LWhlYWRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtYmxvY2s6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmM0ZmY7XG59XG4ubWVudS5iZy1wcmltYXJ5IC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuIC5tZW51LWl0ZW0ub3BlbiA+IC5tZW51LXRvZ2dsZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODVmZjtcbn1cbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm1lbnUuYmctcHJpbWFyeSAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0ub3BlbiAubWVudS1pdGVtLm9wZW4gPiAubWVudS10b2dnbGU6OmJlZm9yZSxcbi5tZW51LmJnLXByaW1hcnkgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzZkNzBmZjtcbn1cbi5tZW51LmJnLXByaW1hcnkgLnBzX190aHVtYi15LFxuLm1lbnUuYmctcHJpbWFyeSAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTk0MjkxNzY0NykgIWltcG9ydGFudDtcbn1cblxuLmZvb3Rlci5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5NmNmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2UwZTFmZjtcbn1cbi5mb290ZXIuYmctcHJpbWFyeSAuZm9vdGVyLWxpbmsge1xuICBjb2xvcjogI2UwZTFmZjtcbn1cbi5mb290ZXIuYmctcHJpbWFyeSAuZm9vdGVyLWxpbms6aG92ZXIsIC5mb290ZXIuYmctcHJpbWFyeSAuZm9vdGVyLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mb290ZXIuYmctcHJpbWFyeSAuZm9vdGVyLWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogI2IwYjJmZiAhaW1wb3J0YW50O1xufVxuLmZvb3Rlci5iZy1wcmltYXJ5IC5mb290ZXItdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZvb3Rlci5iZy1wcmltYXJ5IC5zaG93ID4gLmZvb3Rlci1saW5rLFxuLmZvb3Rlci5iZy1wcmltYXJ5IC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXG4uZm9vdGVyLmJnLXByaW1hcnkgLmZvb3Rlci1saW5rLnNob3csXG4uZm9vdGVyLmJnLXByaW1hcnkgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZvb3Rlci5iZy1wcmltYXJ5IGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uYmctcHJpbWFyeS50b2FzdCwgLmJnLXByaW1hcnkuYnMtdG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjg1KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMXJlbSByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuNCk7XG59XG4uYmctcHJpbWFyeS50b2FzdCAudG9hc3QtaGVhZGVyLCAuYmctcHJpbWFyeS5icy10b2FzdCAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYmctcHJpbWFyeS50b2FzdCAudG9hc3QtaGVhZGVyIC5idG4tY2xvc2UsIC5iZy1wcmltYXJ5LmJzLXRvYXN0IC50b2FzdC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTUwcHgnIGhlaWdodD0nMTUxcHgnIHZpZXdCb3g9JzAgMCAxNTAgMTUxJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BvbHlnb24gaWQ9J3BhdGgtMScgcG9pbnRzPScxMzEuMjUxNjU3IDAgNzQuOTkzMzcwNSA1Ni4yNSAxOC43NDgzNDI2IDAgMCAxOC43NSA1Ni4yNDUwMjc4IDc1IDAgMTMxLjI1IDE4Ljc0ODM0MjYgMTUwIDc0Ljk5MzM3MDUgOTMuNzUgMTMxLjI1MTY1NyAxNTAgMTUwIDEzMS4yNSA5My43NTQ5NzIyIDc1IDE1MCAxOC43NSclM0UlM0MvcG9seWdvbiUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+OqC0lNUJTZXR1cCU1RDotQ29sb3JzLSZhbXA7LVNoYWRvd3MnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDZyBpZD0nQXJ0Ym9hcmQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yMjUuMDAwMDAwLCAtMjUwLjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMjI1LjAwMDAwMCwgMjUwLjUwMDAwMCknJTNFJTNDdXNlIGZpbGw9JyUyM2ZmZicgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScxJyBmaWxsPSclMjNmZmYnIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gMCByZ2JhKDEwNSwgMTA4LCAyNTUsIDAuNCkgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93bikgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IH4gbGFiZWwge1xuICBjb2xvcjogIzY5NmNmZjtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIH4gbGFiZWwge1xuICBjb2xvcjogIzY5NmNmZjtcbn1cblxuLnN2Zy1pbGx1c3RyYXRpb24gc3ZnIHtcbiAgZmlsbDogIzY5NmNmZjtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYm9yZGVyLXByaW1hcnksXG5odG1sW2Rpcj1ydGxdIC5ib3JkZXItcHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogIzY5NmNmZiAhaW1wb3J0YW50O1xufVxuXG5hIHtcbiAgY29sb3I6ICM2OTZjZmY7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICM3ODdiZmY7XG59XG5cbi5maWxsLXByaW1hcnkge1xuICBmaWxsOiAjNjk2Y2ZmO1xufVxuXG4uYmctbmF2YmFyLXRoZW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1icmFuZCxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1icmFuZCBhIHtcbiAgY29sb3I6ICM1NjZhN2Y7XG59XG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1icmFuZDpmb2N1cyxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1icmFuZCBhOmhvdmVyLFxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLWJyYW5kIGE6Zm9jdXMge1xuICBjb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1zZWFyY2gtd3JhcHBlciAubmF2YmFyLXNlYXJjaC1pY29uLFxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaW5wdXQge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5iZy1uYXZiYXItdGhlbWUgLnNlYXJjaC1pbnB1dC13cmFwcGVyIC5zZWFyY2gtaW5wdXQsXG4uYmctbmF2YmFyLXRoZW1lIC5zZWFyY2gtaW5wdXQtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluayxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpob3ZlciwgLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluazpmb2N1cyxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiA+IC5uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsXG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiA+IC5uYXYtbGluay5kaXNhYmxlZCxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuZGlzYWJsZWQsXG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItbmF2ID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYTVhZmJiICFpbXBvcnRhbnQ7XG59XG4uYmctbmF2YmFyLXRoZW1lIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogIzY5N2E4ZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDg2LCAxMDYsIDEyNywgMC4wNzUpO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE0cHgnIGhlaWdodD0nMTFweCcgdmlld0JveD0nMCAwIDE0IDExJyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnJTNFJTNDZGVmcyUzRSUzQ3BhdGggZD0nTTAsMCBMMTQsMCBMMTQsMS43NSBMMCwxLjc1IEwwLDAgWiBNMCw0LjM3NSBMMTQsNC4zNzUgTDE0LDYuMTI1IEwwLDYuMTI1IEwwLDQuMzc1IFogTTAsOC43NSBMMTQsOC43NSBMMTQsMTAuNSBMMCwxMC41IEwwLDguNzUgWicgaWQ9J3BhdGgtMSclM0UlM0MvcGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0n8J+Sji1VSS1FbGVtZW50cycgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGlkPScxMiktTmF2YmFyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTE3NC4wMDAwMDAsIC0xMjkwLjAwMDAwMCknJTNFJTNDZyBpZD0nR3JvdXAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDExNzQuMDAwMDAwLCAxMjg4LjAwMDAwMCknJTNFJTNDZyBpZD0nSWNvbi1Db2xvcicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSclM0UlM0N1c2UgZmlsbD0ncmdiYSg2NywgODksIDExMywgMC41KScgeGxpbms6aHJlZj0nJTIzcGF0aC0xJyUzRSUzQy91c2UlM0UlM0N1c2UgZmlsbC1vcGFjaXR5PScwLjEnIGZpbGw9J3JnYmEoNjcsIDg5LCAxMTMsIDAuNSknIHhsaW5rOmhyZWY9JyUyM3BhdGgtMSclM0UlM0MvdXNlJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmJnLW5hdmJhci10aGVtZSAubmF2YmFyLXRleHQge1xuICBjb2xvcjogIzY5N2E4ZDtcbn1cbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5iZy1uYXZiYXItdGhlbWUgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1uYXZiYXItdGhlbWUgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoODYsIDEwNiwgMTI3LCAwLjA3NSk7XG59XG5cbi5sYXlvdXQtbmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAhaW1wb3J0YW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDIwMCUpIGJsdXIoNnB4KTtcbn1cblxuLm5hdmJhci1kZXRhY2hlZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjM3NXJlbSAwLjI1cmVtIHJnYmEoMTYxLCAxNzIsIDE4NCwgMC4xNSk7XG59XG5cbi5sYXlvdXQtbmF2YmFyLWZpeGVkIC5sYXlvdXQtcGFnZTpiZWZvcmUge1xuICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDIwMCUpIGJsdXIoMTBweCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAyNDUsIDI0OSwgMC42KTtcbn1cblxuLmJnLW1lbnUtdGhlbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtbGluayxcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtcHJldixcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtbmV4dCB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtbGluazpob3ZlciwgLmJnLW1lbnUtdGhlbWUgLm1lbnUtbGluazpmb2N1cyxcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtcHJldjpob3Zlcixcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtcHJldjpmb2N1cyxcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtbmV4dDpob3Zlcixcbi5iZy1tZW51LXRoZW1lIC5tZW51LWhvcml6b250YWwtbmV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtbGluay5hY3RpdmUsXG4uYmctbWVudS10aGVtZSAubWVudS1ob3Jpem9udGFsLXByZXYuYWN0aXZlLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmFjdGl2ZSB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaXRlbS5kaXNhYmxlZCAubWVudS1saW5rLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgY29sb3I6ICNhNWFmYmIgIWltcG9ydGFudDtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWl0ZW0ub3Blbjpub3QoLm1lbnUtaXRlbS1jbG9zaW5nKSA+IC5tZW51LXRvZ2dsZSxcbi5iZy1tZW51LXRoZW1lIC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluayB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOm5vdCgubWVudS10b2dnbGUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5iZy1tZW51LXRoZW1lLm1lbnUtaG9yaXpvbnRhbCAubWVudS1zdWIgPiAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5iZy1tZW51LXRoZW1lLm1lbnUtaG9yaXpvbnRhbCAubWVudS1pbm5lciAubWVudS1pdGVtOm5vdCgubWVudS1pdGVtLWNsb3NpbmcpID4gLm1lbnUtc3ViLCAuYmctbWVudS10aGVtZS5tZW51LWhvcml6b250YWwgLm1lbnUtaW5uZXIgLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0tY2xvc2luZyAubWVudS1pdGVtLm9wZW4gLm1lbnUtc3ViLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1jbG9zaW5nIC5tZW51LWl0ZW0ub3BlbiAubWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uYmctbWVudS10aGVtZSAubWVudS1pbm5lci1zaGFkb3cge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiA0MSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMSkgOTUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LXRleHQge1xuICBjb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWhlYWRlciB7XG4gIGNvbG9yOiAjOGY5YmFhO1xufVxuLmJnLW1lbnUtdGhlbWUgaHIsXG4uYmctbWVudS10aGVtZSAubWVudS1kaXZpZGVyLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gPiAubWVudS1zdWI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaGVhZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWJsb2NrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY5YmFhO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtdG9nZ2xlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuIC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuIC5tZW51LWl0ZW0ub3BlbiA+IC5tZW51LXRvZ2dsZTo6YmVmb3JlLFxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4gLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZjtcbn1cbi5iZy1tZW51LXRoZW1lIC5wc19fdGh1bWIteSxcbi5iZy1tZW51LXRoZW1lIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyA+IC5wc19fdGh1bWIteSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoODYsIDEwNiwgMTI3LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1tZW51LXRoZW1lIC5tZW51LWhlYWRlciB7XG4gIGNvbG9yOiAjYTFhY2I4O1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMWFjYjggIWltcG9ydGFudDtcbn1cbi5iZy1tZW51LXRoZW1lLm1lbnUtdmVydGljYWwge1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMzc1cmVtIDAgcmdiYSgxNjEsIDE3MiwgMTg0LCAwLjEyKTtcbn1cbmh0bWw6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyIC5tZW51LWl0ZW0ub3BlbiA+IC5tZW51LWxpbmssIC5sYXlvdXQtbWVudS1ob3Zlci5sYXlvdXQtbWVudS1jb2xsYXBzZWQgLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtbGluayxcbmh0bWw6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyIC5tZW51LWl0ZW0gLm1lbnUtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIsXG4ubGF5b3V0LW1lbnUtaG92ZXIubGF5b3V0LW1lbnUtY29sbGFwc2VkIC5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyIC5tZW51LWl0ZW0gLm1lbnUtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjA0KTtcbn1cbi5iZy1tZW51LXRoZW1lIC5tZW51LWlubmVyIC5tZW51LXN1YiA+IC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluay5tZW51LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjcsIDg5LCAxMTMsIDAuMDQpO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgLm1lbnUtc3ViID4gLm1lbnUtaXRlbS5hY3RpdmUgLm1lbnUtaWNvbiB7XG4gIGNvbG9yOiAjNjk2Y2ZmO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbmsge1xuICBjb2xvcjogIzY5NmNmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDEwOCwgMjU1LCAwLjE2KSAhaW1wb3J0YW50O1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLmFjdGl2ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjk2Y2ZmO1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtc3ViID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbms6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0YmRjNiAhaW1wb3J0YW50O1xufVxuLmJnLW1lbnUtdGhlbWUgLm1lbnUtc3ViID4gLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rOm5vdCgubWVudS10b2dnbGUpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTZjZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2U3ZTdmZiAhaW1wb3J0YW50O1xufVxuXG4uYXBwLWJyYW5kIC5sYXlvdXQtbWVudS10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2Y2ZmO1xuICBib3JkZXI6IDdweCBzb2xpZCAjZjVmNWY5O1xufVxuLmFwcC1icmFuZCAubGF5b3V0LW1lbnUtdG9nZ2xlIGkge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5hcHAtYnJhbmQgLmxheW91dC1tZW51LXRvZ2dsZSAubWVudS1pbm5lciA+IC5tZW51LWhlYWRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0YmRjNjtcbn1cblxuLmJnLWZvb3Rlci10aGVtZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjkgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2OTdhOGQ7XG59XG4uYmctZm9vdGVyLXRoZW1lIC5mb290ZXItbGluayB7XG4gIGNvbG9yOiAjNjk3YThkO1xufVxuLmJnLWZvb3Rlci10aGVtZSAuZm9vdGVyLWxpbms6aG92ZXIsIC5iZy1mb290ZXItdGhlbWUgLmZvb3Rlci1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM1NjZhN2Y7XG59XG4uYmctZm9vdGVyLXRoZW1lIC5mb290ZXItbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYTFhYmI4ICFpbXBvcnRhbnQ7XG59XG4uYmctZm9vdGVyLXRoZW1lIC5mb290ZXItdGV4dCB7XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuLmJnLWZvb3Rlci10aGVtZSAuc2hvdyA+IC5mb290ZXItbGluayxcbi5iZy1mb290ZXItdGhlbWUgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbi5iZy1mb290ZXItdGhlbWUgLmZvb3Rlci1saW5rLnNob3csXG4uYmctZm9vdGVyLXRoZW1lIC5mb290ZXItbGluay5hY3RpdmUge1xuICBjb2xvcjogIzU2NmE3Zjtcbn1cbi5iZy1mb290ZXItdGhlbWUgaHIge1xuICBib3JkZXItY29sb3I6IHJnYmEoODYsIDEwNiwgMTI3LCAwLjA3Njg3MTM3MjUpO1xufVxuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAuY29udGVudC1mb290ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMC4zNzVyZW0gMC4yNXJlbSByZ2JhKDE2MSwgMTcyLCAxODQsIDAuMTUpO1xufVxuIl19 */
diff --git a/admin/assets/vendor/fonts/boxicons.css b/admin/assets/vendor/fonts/boxicons.css
new file mode 100644
index 0000000..158ce93
--- /dev/null
+++ b/admin/assets/vendor/fonts/boxicons.css
@@ -0,0 +1,6511 @@
+@font-face {
+ font-family: "boxicons";
+ font-weight: normal;
+ font-style: normal;
+ src: url("../fonts/boxicons.eot");
+ src: url("../fonts/boxicons.eot") format("embedded-opentype"), url("../fonts/boxicons.woff2") format("woff2"), url("../fonts/boxicons.woff") format("woff"), url("../fonts/boxicons.ttf") format("truetype"), url("../fonts/boxicons.svg?#boxicons") format("svg");
+}
+.bx {
+ font-family: "boxicons" !important;
+ font-weight: normal;
+ font-style: normal;
+ font-variant: normal;
+ line-height: 1;
+ text-rendering: auto;
+ display: inline-block;
+ text-transform: none;
+ speak: none;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.bx-ul {
+ margin-left: 2em;
+ padding-left: 0;
+ list-style: none;
+}
+
+.bx-ul > li {
+ position: relative;
+}
+
+.bx-ul .bx {
+ font-size: inherit;
+ line-height: inherit;
+ position: absolute;
+ left: -2em;
+ width: 2em;
+ text-align: center;
+}
+
+@-webkit-keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ transform: rotate(359deg);
+ }
+}
+@keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ transform: rotate(359deg);
+ }
+}
+@-webkit-keyframes burst {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+ 90% {
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ opacity: 0;
+ }
+}
+@keyframes burst {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+ }
+ 90% {
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ opacity: 0;
+ }
+}
+@-webkit-keyframes flashing {
+ 0% {
+ opacity: 1;
+ }
+ 45% {
+ opacity: 0;
+ }
+ 90% {
+ opacity: 1;
+ }
+}
+@keyframes flashing {
+ 0% {
+ opacity: 1;
+ }
+ 45% {
+ opacity: 0;
+ }
+ 90% {
+ opacity: 1;
+ }
+}
+@-webkit-keyframes fade-left {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateX(-20px);
+ transform: translateX(-20px);
+ opacity: 0;
+ }
+}
+@keyframes fade-left {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateX(-20px);
+ transform: translateX(-20px);
+ opacity: 0;
+ }
+}
+@-webkit-keyframes fade-right {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateX(20px);
+ transform: translateX(20px);
+ opacity: 0;
+ }
+}
+@keyframes fade-right {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateX(20px);
+ transform: translateX(20px);
+ opacity: 0;
+ }
+}
+@-webkit-keyframes fade-up {
+ 0% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateY(-20px);
+ transform: translateY(-20px);
+ opacity: 0;
+ }
+}
+@keyframes fade-up {
+ 0% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateY(-20px);
+ transform: translateY(-20px);
+ opacity: 0;
+ }
+}
+@-webkit-keyframes fade-down {
+ 0% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateY(20px);
+ transform: translateY(20px);
+ opacity: 0;
+ }
+}
+@keyframes fade-down {
+ 0% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ opacity: 1;
+ }
+ 75% {
+ -webkit-transform: translateY(20px);
+ transform: translateY(20px);
+ opacity: 0;
+ }
+}
+@-webkit-keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 10%, 20% {
+ -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
+ transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
+ }
+ 30%, 50%, 70%, 90% {
+ -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
+ transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
+ }
+ 40%, 60%, 80% {
+ -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
+ transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
+ }
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+@keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 10%, 20% {
+ -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
+ transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
+ }
+ 30%, 50%, 70%, 90% {
+ -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
+ transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
+ }
+ 40%, 60%, 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+.bx-spin {
+ -webkit-animation: spin 2s linear infinite;
+ animation: spin 2s linear infinite;
+}
+
+.bx-spin-hover:hover {
+ -webkit-animation: spin 2s linear infinite;
+ animation: spin 2s linear infinite;
+}
+
+.bx-tada {
+ -webkit-animation: tada 1.5s ease infinite;
+ animation: tada 1.5s ease infinite;
+}
+
+.bx-tada-hover:hover {
+ -webkit-animation: tada 1.5s ease infinite;
+ animation: tada 1.5s ease infinite;
+}
+
+.bx-flashing {
+ -webkit-animation: flashing 1.5s infinite linear;
+ animation: flashing 1.5s infinite linear;
+}
+
+.bx-flashing-hover:hover {
+ -webkit-animation: flashing 1.5s infinite linear;
+ animation: flashing 1.5s infinite linear;
+}
+
+.bx-burst {
+ -webkit-animation: burst 1.5s infinite linear;
+ animation: burst 1.5s infinite linear;
+}
+
+.bx-burst-hover:hover {
+ -webkit-animation: burst 1.5s infinite linear;
+ animation: burst 1.5s infinite linear;
+}
+
+.bx-fade-up {
+ -webkit-animation: fade-up 1.5s infinite linear;
+ animation: fade-up 1.5s infinite linear;
+}
+
+.bx-fade-up-hover:hover {
+ -webkit-animation: fade-up 1.5s infinite linear;
+ animation: fade-up 1.5s infinite linear;
+}
+
+.bx-fade-down {
+ -webkit-animation: fade-down 1.5s infinite linear;
+ animation: fade-down 1.5s infinite linear;
+}
+
+.bx-fade-down-hover:hover {
+ -webkit-animation: fade-down 1.5s infinite linear;
+ animation: fade-down 1.5s infinite linear;
+}
+
+.bx-fade-left {
+ -webkit-animation: fade-left 1.5s infinite linear;
+ animation: fade-left 1.5s infinite linear;
+}
+
+.bx-fade-left-hover:hover {
+ -webkit-animation: fade-left 1.5s infinite linear;
+ animation: fade-left 1.5s infinite linear;
+}
+
+.bx-fade-right {
+ -webkit-animation: fade-right 1.5s infinite linear;
+ animation: fade-right 1.5s infinite linear;
+}
+
+.bx-fade-right-hover:hover {
+ -webkit-animation: fade-right 1.5s infinite linear;
+ animation: fade-right 1.5s infinite linear;
+}
+
+.bx-xs {
+ font-size: 1rem !important;
+}
+
+.bx-sm {
+ font-size: 1.55rem !important;
+}
+
+.bx-md {
+ font-size: 2.25rem !important;
+}
+
+.bx-lg {
+ font-size: 3rem !important;
+}
+
+.bx-fw {
+ font-size: 1.2857142857em;
+ line-height: 0.8em;
+ width: 1.2857142857em;
+ height: 0.8em;
+ margin-top: -0.2em !important;
+ vertical-align: middle;
+}
+
+.bx-pull-left {
+ float: left;
+ margin-right: 0.3em !important;
+}
+
+.bx-pull-right {
+ float: right;
+ margin-left: 0.3em !important;
+}
+
+.bx-rotate-90 {
+ transform: rotate(90deg);
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+}
+
+.bx-rotate-180 {
+ transform: rotate(180deg);
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+}
+
+.bx-rotate-270 {
+ transform: rotate(270deg);
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+}
+
+.bx-flip-horizontal {
+ transform: scaleX(-1);
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+}
+
+.bx-flip-vertical {
+ transform: scaleY(-1);
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+}
+
+.bx-border {
+ padding: 0.25em;
+ border: 0.07em solid rgba(0, 0, 0, 0.1);
+ border-radius: 0.25em;
+}
+
+.bx-border-circle {
+ padding: 0.25em;
+ border: 0.07em solid rgba(0, 0, 0, 0.1);
+ border-radius: 50%;
+}
+
+.bxl-500px:before {
+ content: "\e900";
+}
+
+.bxl-adobe:before {
+ content: "\e901";
+}
+
+.bxl-airbnb:before {
+ content: "\e902";
+}
+
+.bxl-algolia:before {
+ content: "\e903";
+}
+
+.bxl-amazon:before {
+ content: "\e904";
+}
+
+.bxl-android:before {
+ content: "\e905";
+}
+
+.bxl-angular:before {
+ content: "\e906";
+}
+
+.bxl-apple:before {
+ content: "\e907";
+}
+
+.bxl-audible:before {
+ content: "\e908";
+}
+
+.bxl-aws:before {
+ content: "\e909";
+}
+
+.bxl-baidu:before {
+ content: "\e90a";
+}
+
+.bxl-behance:before {
+ content: "\e90b";
+}
+
+.bxl-bing:before {
+ content: "\e90c";
+}
+
+.bxl-bitcoin:before {
+ content: "\e90d";
+}
+
+.bxl-blender:before {
+ content: "\e90e";
+}
+
+.bxl-blogger:before {
+ content: "\e90f";
+}
+
+.bxl-bootstrap:before {
+ content: "\e910";
+}
+
+.bxl-chrome:before {
+ content: "\e911";
+}
+
+.bxl-codepen:before {
+ content: "\e912";
+}
+
+.bxl-c-plus-plus:before {
+ content: "\e913";
+}
+
+.bxl-creative-commons:before {
+ content: "\e914";
+}
+
+.bxl-css3:before {
+ content: "\e915";
+}
+
+.bxl-dailymotion:before {
+ content: "\e916";
+}
+
+.bxl-deviantart:before {
+ content: "\e917";
+}
+
+.bxl-dev-to:before {
+ content: "\e918";
+}
+
+.bxl-digg:before {
+ content: "\e919";
+}
+
+.bxl-digitalocean:before {
+ content: "\e91a";
+}
+
+.bxl-discord:before {
+ content: "\e91b";
+}
+
+.bxl-discord-alt:before {
+ content: "\e91c";
+}
+
+.bxl-discourse:before {
+ content: "\e91d";
+}
+
+.bxl-django:before {
+ content: "\e91e";
+}
+
+.bxl-docker:before {
+ content: "\e91f";
+}
+
+.bxl-dribbble:before {
+ content: "\e920";
+}
+
+.bxl-dropbox:before {
+ content: "\e921";
+}
+
+.bxl-drupal:before {
+ content: "\e922";
+}
+
+.bxl-ebay:before {
+ content: "\e923";
+}
+
+.bxl-edge:before {
+ content: "\e924";
+}
+
+.bxl-etsy:before {
+ content: "\e925";
+}
+
+.bxl-facebook:before {
+ content: "\e926";
+}
+
+.bxl-facebook-circle:before {
+ content: "\e927";
+}
+
+.bxl-facebook-square:before {
+ content: "\e928";
+}
+
+.bxl-figma:before {
+ content: "\e929";
+}
+
+.bxl-firebase:before {
+ content: "\e92a";
+}
+
+.bxl-firefox:before {
+ content: "\e92b";
+}
+
+.bxl-flickr:before {
+ content: "\e92c";
+}
+
+.bxl-flickr-square:before {
+ content: "\e92d";
+}
+
+.bxl-flutter:before {
+ content: "\e92e";
+}
+
+.bxl-foursquare:before {
+ content: "\e92f";
+}
+
+.bxl-git:before {
+ content: "\e930";
+}
+
+.bxl-github:before {
+ content: "\e931";
+}
+
+.bxl-gitlab:before {
+ content: "\e932";
+}
+
+.bxl-google:before {
+ content: "\e933";
+}
+
+.bxl-google-cloud:before {
+ content: "\e934";
+}
+
+.bxl-google-plus:before {
+ content: "\e935";
+}
+
+.bxl-google-plus-circle:before {
+ content: "\e936";
+}
+
+.bxl-html5:before {
+ content: "\e937";
+}
+
+.bxl-imdb:before {
+ content: "\e938";
+}
+
+.bxl-instagram:before {
+ content: "\e939";
+}
+
+.bxl-instagram-alt:before {
+ content: "\e93a";
+}
+
+.bxl-internet-explorer:before {
+ content: "\e93b";
+}
+
+.bxl-invision:before {
+ content: "\e93c";
+}
+
+.bxl-javascript:before {
+ content: "\e93d";
+}
+
+.bxl-joomla:before {
+ content: "\e93e";
+}
+
+.bxl-jquery:before {
+ content: "\e93f";
+}
+
+.bxl-jsfiddle:before {
+ content: "\e940";
+}
+
+.bxl-kickstarter:before {
+ content: "\e941";
+}
+
+.bxl-kubernetes:before {
+ content: "\e942";
+}
+
+.bxl-less:before {
+ content: "\e943";
+}
+
+.bxl-linkedin:before {
+ content: "\e944";
+}
+
+.bxl-linkedin-square:before {
+ content: "\e945";
+}
+
+.bxl-magento:before {
+ content: "\e946";
+}
+
+.bxl-mailchimp:before {
+ content: "\e947";
+}
+
+.bxl-markdown:before {
+ content: "\e948";
+}
+
+.bxl-mastercard:before {
+ content: "\e949";
+}
+
+.bxl-mastodon:before {
+ content: "\e94a";
+}
+
+.bxl-medium:before {
+ content: "\e94b";
+}
+
+.bxl-medium-old:before {
+ content: "\e94c";
+}
+
+.bxl-medium-square:before {
+ content: "\e94d";
+}
+
+.bxl-messenger:before {
+ content: "\e94e";
+}
+
+.bxl-microsoft:before {
+ content: "\e94f";
+}
+
+.bxl-microsoft-teams:before {
+ content: "\e950";
+}
+
+.bxl-nodejs:before {
+ content: "\e951";
+}
+
+.bxl-ok-ru:before {
+ content: "\e952";
+}
+
+.bxl-opera:before {
+ content: "\e953";
+}
+
+.bxl-patreon:before {
+ content: "\e954";
+}
+
+.bxl-paypal:before {
+ content: "\e955";
+}
+
+.bxl-periscope:before {
+ content: "\e956";
+}
+
+.bxl-php:before {
+ content: "\e957";
+}
+
+.bxl-pinterest:before {
+ content: "\e958";
+}
+
+.bxl-pinterest-alt:before {
+ content: "\e959";
+}
+
+.bxl-play-store:before {
+ content: "\e95a";
+}
+
+.bxl-pocket:before {
+ content: "\e95b";
+}
+
+.bxl-product-hunt:before {
+ content: "\e95c";
+}
+
+.bxl-python:before {
+ content: "\e95d";
+}
+
+.bxl-quora:before {
+ content: "\e95e";
+}
+
+.bxl-react:before {
+ content: "\e95f";
+}
+
+.bxl-redbubble:before {
+ content: "\e960";
+}
+
+.bxl-reddit:before {
+ content: "\e961";
+}
+
+.bxl-redux:before {
+ content: "\e962";
+}
+
+.bxl-sass:before {
+ content: "\e963";
+}
+
+.bxl-shopify:before {
+ content: "\e964";
+}
+
+.bxl-sketch:before {
+ content: "\e965";
+}
+
+.bxl-skype:before {
+ content: "\e966";
+}
+
+.bxl-slack:before {
+ content: "\e967";
+}
+
+.bxl-slack-old:before {
+ content: "\e968";
+}
+
+.bxl-snapchat:before {
+ content: "\e969";
+}
+
+.bxl-soundcloud:before {
+ content: "\e96a";
+}
+
+.bxl-spotify:before {
+ content: "\e96b";
+}
+
+.bxl-spring-boot:before {
+ content: "\e96c";
+}
+
+.bxl-squarespace:before {
+ content: "\e96d";
+}
+
+.bxl-stack-overflow:before {
+ content: "\e96e";
+}
+
+.bxl-steam:before {
+ content: "\e96f";
+}
+
+.bxl-stripe:before {
+ content: "\e970";
+}
+
+.bxl-tailwind-css:before {
+ content: "\e971";
+}
+
+.bxl-telegram:before {
+ content: "\e972";
+}
+
+.bxl-tiktok:before {
+ content: "\e973";
+}
+
+.bxl-trello:before {
+ content: "\e974";
+}
+
+.bxl-trip-advisor:before {
+ content: "\e975";
+}
+
+.bxl-tumblr:before {
+ content: "\e976";
+}
+
+.bxl-tux:before {
+ content: "\e977";
+}
+
+.bxl-twitch:before {
+ content: "\e978";
+}
+
+.bxl-twitter:before {
+ content: "\e979";
+}
+
+.bxl-unity:before {
+ content: "\e97a";
+}
+
+.bxl-unsplash:before {
+ content: "\e97b";
+}
+
+.bxl-vimeo:before {
+ content: "\e97c";
+}
+
+.bxl-visa:before {
+ content: "\e97d";
+}
+
+.bxl-visual-studio:before {
+ content: "\e97e";
+}
+
+.bxl-vk:before {
+ content: "\e97f";
+}
+
+.bxl-vuejs:before {
+ content: "\e980";
+}
+
+.bxl-whatsapp:before {
+ content: "\e981";
+}
+
+.bxl-whatsapp-square:before {
+ content: "\e982";
+}
+
+.bxl-wikipedia:before {
+ content: "\e983";
+}
+
+.bxl-windows:before {
+ content: "\e984";
+}
+
+.bxl-wix:before {
+ content: "\e985";
+}
+
+.bxl-wordpress:before {
+ content: "\e986";
+}
+
+.bxl-yahoo:before {
+ content: "\e987";
+}
+
+.bxl-yelp:before {
+ content: "\e988";
+}
+
+.bxl-youtube:before {
+ content: "\e989";
+}
+
+.bxl-zoom:before {
+ content: "\e98a";
+}
+
+.bxs-add-to-queue:before {
+ content: "\e98b";
+}
+
+.bxs-adjust:before {
+ content: "\e98c";
+}
+
+.bxs-adjust-alt:before {
+ content: "\e98d";
+}
+
+.bxs-alarm:before {
+ content: "\e98e";
+}
+
+.bxs-alarm-add:before {
+ content: "\e98f";
+}
+
+.bxs-alarm-exclamation:before {
+ content: "\e990";
+}
+
+.bxs-alarm-off:before {
+ content: "\e991";
+}
+
+.bxs-alarm-snooze:before {
+ content: "\e992";
+}
+
+.bxs-album:before {
+ content: "\e993";
+}
+
+.bxs-ambulance:before {
+ content: "\e994";
+}
+
+.bxs-analyse:before {
+ content: "\e995";
+}
+
+.bxs-angry:before {
+ content: "\e996";
+}
+
+.bxs-arch:before {
+ content: "\e997";
+}
+
+.bxs-archive:before {
+ content: "\e998";
+}
+
+.bxs-archive-in:before {
+ content: "\e999";
+}
+
+.bxs-archive-out:before {
+ content: "\e99a";
+}
+
+.bxs-area:before {
+ content: "\e99b";
+}
+
+.bxs-arrow-from-bottom:before {
+ content: "\e99c";
+}
+
+.bxs-arrow-from-left:before {
+ content: "\e99d";
+}
+
+.bxs-arrow-from-right:before {
+ content: "\e99e";
+}
+
+.bxs-arrow-from-top:before {
+ content: "\e99f";
+}
+
+.bxs-arrow-to-bottom:before {
+ content: "\e9a0";
+}
+
+.bxs-arrow-to-left:before {
+ content: "\e9a1";
+}
+
+.bxs-arrow-to-right:before {
+ content: "\e9a2";
+}
+
+.bxs-arrow-to-top:before {
+ content: "\e9a3";
+}
+
+.bxs-award:before {
+ content: "\e9a4";
+}
+
+.bxs-baby-carriage:before {
+ content: "\e9a5";
+}
+
+.bxs-backpack:before {
+ content: "\e9a6";
+}
+
+.bxs-badge:before {
+ content: "\e9a7";
+}
+
+.bxs-badge-check:before {
+ content: "\e9a8";
+}
+
+.bxs-badge-dollar:before {
+ content: "\e9a9";
+}
+
+.bxs-ball:before {
+ content: "\e9aa";
+}
+
+.bxs-band-aid:before {
+ content: "\e9ab";
+}
+
+.bxs-bank:before {
+ content: "\e9ac";
+}
+
+.bxs-bar-chart-alt-2:before {
+ content: "\e9ad";
+}
+
+.bxs-bar-chart-square:before {
+ content: "\e9ae";
+}
+
+.bxs-barcode:before {
+ content: "\e9af";
+}
+
+.bxs-baseball:before {
+ content: "\e9b0";
+}
+
+.bxs-basket:before {
+ content: "\e9b1";
+}
+
+.bxs-basketball:before {
+ content: "\e9b2";
+}
+
+.bxs-bath:before {
+ content: "\e9b3";
+}
+
+.bxs-battery:before {
+ content: "\e9b4";
+}
+
+.bxs-battery-charging:before {
+ content: "\e9b5";
+}
+
+.bxs-battery-full:before {
+ content: "\e9b6";
+}
+
+.bxs-battery-low:before {
+ content: "\e9b7";
+}
+
+.bxs-bed:before {
+ content: "\e9b8";
+}
+
+.bxs-been-here:before {
+ content: "\e9b9";
+}
+
+.bxs-beer:before {
+ content: "\e9ba";
+}
+
+.bxs-bell:before {
+ content: "\e9bb";
+}
+
+.bxs-bell-minus:before {
+ content: "\e9bc";
+}
+
+.bxs-bell-off:before {
+ content: "\e9bd";
+}
+
+.bxs-bell-plus:before {
+ content: "\e9be";
+}
+
+.bxs-bell-ring:before {
+ content: "\e9bf";
+}
+
+.bxs-bible:before {
+ content: "\e9c0";
+}
+
+.bxs-binoculars:before {
+ content: "\e9c1";
+}
+
+.bxs-blanket:before {
+ content: "\e9c2";
+}
+
+.bxs-bolt:before {
+ content: "\e9c3";
+}
+
+.bxs-bolt-circle:before {
+ content: "\e9c4";
+}
+
+.bxs-bomb:before {
+ content: "\e9c5";
+}
+
+.bxs-bone:before {
+ content: "\e9c6";
+}
+
+.bxs-bong:before {
+ content: "\e9c7";
+}
+
+.bxs-book:before {
+ content: "\e9c8";
+}
+
+.bxs-book-add:before {
+ content: "\e9c9";
+}
+
+.bxs-book-alt:before {
+ content: "\e9ca";
+}
+
+.bxs-book-bookmark:before {
+ content: "\e9cb";
+}
+
+.bxs-book-content:before {
+ content: "\e9cc";
+}
+
+.bxs-book-heart:before {
+ content: "\e9cd";
+}
+
+.bxs-bookmark:before {
+ content: "\e9ce";
+}
+
+.bxs-bookmark-alt:before {
+ content: "\e9cf";
+}
+
+.bxs-bookmark-alt-minus:before {
+ content: "\e9d0";
+}
+
+.bxs-bookmark-alt-plus:before {
+ content: "\e9d1";
+}
+
+.bxs-bookmark-heart:before {
+ content: "\e9d2";
+}
+
+.bxs-bookmark-minus:before {
+ content: "\e9d3";
+}
+
+.bxs-bookmark-plus:before {
+ content: "\e9d4";
+}
+
+.bxs-bookmarks:before {
+ content: "\e9d5";
+}
+
+.bxs-bookmark-star:before {
+ content: "\e9d6";
+}
+
+.bxs-book-open:before {
+ content: "\e9d7";
+}
+
+.bxs-book-reader:before {
+ content: "\e9d8";
+}
+
+.bxs-bot:before {
+ content: "\e9d9";
+}
+
+.bxs-bowling-ball:before {
+ content: "\e9da";
+}
+
+.bxs-box:before {
+ content: "\e9db";
+}
+
+.bxs-brain:before {
+ content: "\e9dc";
+}
+
+.bxs-briefcase:before {
+ content: "\e9dd";
+}
+
+.bxs-briefcase-alt:before {
+ content: "\e9de";
+}
+
+.bxs-briefcase-alt-2:before {
+ content: "\e9df";
+}
+
+.bxs-brightness:before {
+ content: "\e9e0";
+}
+
+.bxs-brightness-half:before {
+ content: "\e9e1";
+}
+
+.bxs-brush:before {
+ content: "\e9e2";
+}
+
+.bxs-brush-alt:before {
+ content: "\e9e3";
+}
+
+.bxs-bug:before {
+ content: "\e9e4";
+}
+
+.bxs-bug-alt:before {
+ content: "\e9e5";
+}
+
+.bxs-building:before {
+ content: "\e9e6";
+}
+
+.bxs-building-house:before {
+ content: "\e9e7";
+}
+
+.bxs-buildings:before {
+ content: "\e9e8";
+}
+
+.bxs-bulb:before {
+ content: "\e9e9";
+}
+
+.bxs-bullseye:before {
+ content: "\e9ea";
+}
+
+.bxs-buoy:before {
+ content: "\e9eb";
+}
+
+.bxs-bus:before {
+ content: "\e9ec";
+}
+
+.bxs-business:before {
+ content: "\e9ed";
+}
+
+.bxs-bus-school:before {
+ content: "\e9ee";
+}
+
+.bxs-cabinet:before {
+ content: "\e9ef";
+}
+
+.bxs-cake:before {
+ content: "\e9f0";
+}
+
+.bxs-calculator:before {
+ content: "\e9f1";
+}
+
+.bxs-calendar:before {
+ content: "\e9f2";
+}
+
+.bxs-calendar-alt:before {
+ content: "\e9f3";
+}
+
+.bxs-calendar-check:before {
+ content: "\e9f4";
+}
+
+.bxs-calendar-edit:before {
+ content: "\e9f5";
+}
+
+.bxs-calendar-event:before {
+ content: "\e9f6";
+}
+
+.bxs-calendar-exclamation:before {
+ content: "\e9f7";
+}
+
+.bxs-calendar-heart:before {
+ content: "\e9f8";
+}
+
+.bxs-calendar-minus:before {
+ content: "\e9f9";
+}
+
+.bxs-calendar-plus:before {
+ content: "\e9fa";
+}
+
+.bxs-calendar-star:before {
+ content: "\e9fb";
+}
+
+.bxs-calendar-week:before {
+ content: "\e9fc";
+}
+
+.bxs-calendar-x:before {
+ content: "\e9fd";
+}
+
+.bxs-camera:before {
+ content: "\e9fe";
+}
+
+.bxs-camera-home:before {
+ content: "\e9ff";
+}
+
+.bxs-camera-movie:before {
+ content: "\ea00";
+}
+
+.bxs-camera-off:before {
+ content: "\ea01";
+}
+
+.bxs-camera-plus:before {
+ content: "\ea02";
+}
+
+.bxs-capsule:before {
+ content: "\ea03";
+}
+
+.bxs-captions:before {
+ content: "\ea04";
+}
+
+.bxs-car:before {
+ content: "\ea05";
+}
+
+.bxs-car-battery:before {
+ content: "\ea06";
+}
+
+.bxs-car-crash:before {
+ content: "\ea07";
+}
+
+.bxs-card:before {
+ content: "\ea08";
+}
+
+.bxs-caret-down-circle:before {
+ content: "\ea09";
+}
+
+.bxs-caret-down-square:before {
+ content: "\ea0a";
+}
+
+.bxs-caret-left-circle:before {
+ content: "\ea0b";
+}
+
+.bxs-caret-left-square:before {
+ content: "\ea0c";
+}
+
+.bxs-caret-right-circle:before {
+ content: "\ea0d";
+}
+
+.bxs-caret-right-square:before {
+ content: "\ea0e";
+}
+
+.bxs-caret-up-circle:before {
+ content: "\ea0f";
+}
+
+.bxs-caret-up-square:before {
+ content: "\ea10";
+}
+
+.bxs-car-garage:before {
+ content: "\ea11";
+}
+
+.bxs-car-mechanic:before {
+ content: "\ea12";
+}
+
+.bxs-carousel:before {
+ content: "\ea13";
+}
+
+.bxs-cart:before {
+ content: "\ea14";
+}
+
+.bxs-cart-add:before {
+ content: "\ea15";
+}
+
+.bxs-cart-alt:before {
+ content: "\ea16";
+}
+
+.bxs-cart-download:before {
+ content: "\ea17";
+}
+
+.bxs-car-wash:before {
+ content: "\ea18";
+}
+
+.bxs-category:before {
+ content: "\ea19";
+}
+
+.bxs-category-alt:before {
+ content: "\ea1a";
+}
+
+.bxs-cctv:before {
+ content: "\ea1b";
+}
+
+.bxs-certification:before {
+ content: "\ea1c";
+}
+
+.bxs-chalkboard:before {
+ content: "\ea1d";
+}
+
+.bxs-chart:before {
+ content: "\ea1e";
+}
+
+.bxs-chat:before {
+ content: "\ea1f";
+}
+
+.bxs-checkbox:before {
+ content: "\ea20";
+}
+
+.bxs-checkbox-checked:before {
+ content: "\ea21";
+}
+
+.bxs-checkbox-minus:before {
+ content: "\ea22";
+}
+
+.bxs-check-circle:before {
+ content: "\ea23";
+}
+
+.bxs-check-shield:before {
+ content: "\ea24";
+}
+
+.bxs-check-square:before {
+ content: "\ea25";
+}
+
+.bxs-chess:before {
+ content: "\ea26";
+}
+
+.bxs-chevron-down:before {
+ content: "\ea27";
+}
+
+.bxs-chevron-down-circle:before {
+ content: "\ea28";
+}
+
+.bxs-chevron-down-square:before {
+ content: "\ea29";
+}
+
+.bxs-chevron-left:before {
+ content: "\ea2a";
+}
+
+.bxs-chevron-left-circle:before {
+ content: "\ea2b";
+}
+
+.bxs-chevron-left-square:before {
+ content: "\ea2c";
+}
+
+.bxs-chevron-right:before {
+ content: "\ea2d";
+}
+
+.bxs-chevron-right-circle:before {
+ content: "\ea2e";
+}
+
+.bxs-chevron-right-square:before {
+ content: "\ea2f";
+}
+
+.bxs-chevrons-down:before {
+ content: "\ea30";
+}
+
+.bxs-chevrons-left:before {
+ content: "\ea31";
+}
+
+.bxs-chevrons-right:before {
+ content: "\ea32";
+}
+
+.bxs-chevrons-up:before {
+ content: "\ea33";
+}
+
+.bxs-chevron-up:before {
+ content: "\ea34";
+}
+
+.bxs-chevron-up-circle:before {
+ content: "\ea35";
+}
+
+.bxs-chevron-up-square:before {
+ content: "\ea36";
+}
+
+.bxs-chip:before {
+ content: "\ea37";
+}
+
+.bxs-church:before {
+ content: "\ea38";
+}
+
+.bxs-circle:before {
+ content: "\ea39";
+}
+
+.bxs-city:before {
+ content: "\ea3a";
+}
+
+.bxs-clinic:before {
+ content: "\ea3b";
+}
+
+.bxs-cloud:before {
+ content: "\ea3c";
+}
+
+.bxs-cloud-download:before {
+ content: "\ea3d";
+}
+
+.bxs-cloud-lightning:before {
+ content: "\ea3e";
+}
+
+.bxs-cloud-rain:before {
+ content: "\ea3f";
+}
+
+.bxs-cloud-upload:before {
+ content: "\ea40";
+}
+
+.bxs-coffee:before {
+ content: "\ea41";
+}
+
+.bxs-coffee-alt:before {
+ content: "\ea42";
+}
+
+.bxs-coffee-togo:before {
+ content: "\ea43";
+}
+
+.bxs-cog:before {
+ content: "\ea44";
+}
+
+.bxs-coin:before {
+ content: "\ea45";
+}
+
+.bxs-coin-stack:before {
+ content: "\ea46";
+}
+
+.bxs-collection:before {
+ content: "\ea47";
+}
+
+.bxs-color-fill:before {
+ content: "\ea48";
+}
+
+.bxs-comment:before {
+ content: "\ea49";
+}
+
+.bxs-comment-add:before {
+ content: "\ea4a";
+}
+
+.bxs-comment-check:before {
+ content: "\ea4b";
+}
+
+.bxs-comment-detail:before {
+ content: "\ea4c";
+}
+
+.bxs-comment-dots:before {
+ content: "\ea4d";
+}
+
+.bxs-comment-edit:before {
+ content: "\ea4e";
+}
+
+.bxs-comment-error:before {
+ content: "\ea4f";
+}
+
+.bxs-comment-minus:before {
+ content: "\ea50";
+}
+
+.bxs-comment-x:before {
+ content: "\ea51";
+}
+
+.bxs-compass:before {
+ content: "\ea52";
+}
+
+.bxs-component:before {
+ content: "\ea53";
+}
+
+.bxs-confused:before {
+ content: "\ea54";
+}
+
+.bxs-contact:before {
+ content: "\ea55";
+}
+
+.bxs-conversation:before {
+ content: "\ea56";
+}
+
+.bxs-cookie:before {
+ content: "\ea57";
+}
+
+.bxs-cool:before {
+ content: "\ea58";
+}
+
+.bxs-copy:before {
+ content: "\ea59";
+}
+
+.bxs-copy-alt:before {
+ content: "\ea5a";
+}
+
+.bxs-copyright:before {
+ content: "\ea5b";
+}
+
+.bxs-coupon:before {
+ content: "\ea5c";
+}
+
+.bxs-credit-card:before {
+ content: "\ea5d";
+}
+
+.bxs-credit-card-alt:before {
+ content: "\ea5e";
+}
+
+.bxs-credit-card-front:before {
+ content: "\ea5f";
+}
+
+.bxs-crop:before {
+ content: "\ea60";
+}
+
+.bxs-crown:before {
+ content: "\ea61";
+}
+
+.bxs-cube:before {
+ content: "\ea62";
+}
+
+.bxs-cube-alt:before {
+ content: "\ea63";
+}
+
+.bxs-cuboid:before {
+ content: "\ea64";
+}
+
+.bxs-customize:before {
+ content: "\ea65";
+}
+
+.bxs-cylinder:before {
+ content: "\ea66";
+}
+
+.bxs-dashboard:before {
+ content: "\ea67";
+}
+
+.bxs-data:before {
+ content: "\ea68";
+}
+
+.bxs-detail:before {
+ content: "\ea69";
+}
+
+.bxs-devices:before {
+ content: "\ea6a";
+}
+
+.bxs-diamond:before {
+ content: "\ea6b";
+}
+
+.bxs-dice-1:before {
+ content: "\ea6c";
+}
+
+.bxs-dice-2:before {
+ content: "\ea6d";
+}
+
+.bxs-dice-3:before {
+ content: "\ea6e";
+}
+
+.bxs-dice-4:before {
+ content: "\ea6f";
+}
+
+.bxs-dice-5:before {
+ content: "\ea70";
+}
+
+.bxs-dice-6:before {
+ content: "\ea71";
+}
+
+.bxs-direction-left:before {
+ content: "\ea72";
+}
+
+.bxs-direction-right:before {
+ content: "\ea73";
+}
+
+.bxs-directions:before {
+ content: "\ea74";
+}
+
+.bxs-disc:before {
+ content: "\ea75";
+}
+
+.bxs-discount:before {
+ content: "\ea76";
+}
+
+.bxs-dish:before {
+ content: "\ea77";
+}
+
+.bxs-dislike:before {
+ content: "\ea78";
+}
+
+.bxs-dizzy:before {
+ content: "\ea79";
+}
+
+.bxs-dock-bottom:before {
+ content: "\ea7a";
+}
+
+.bxs-dock-left:before {
+ content: "\ea7b";
+}
+
+.bxs-dock-right:before {
+ content: "\ea7c";
+}
+
+.bxs-dock-top:before {
+ content: "\ea7d";
+}
+
+.bxs-dollar-circle:before {
+ content: "\ea7e";
+}
+
+.bxs-donate-blood:before {
+ content: "\ea7f";
+}
+
+.bxs-donate-heart:before {
+ content: "\ea80";
+}
+
+.bxs-door-open:before {
+ content: "\ea81";
+}
+
+.bxs-doughnut-chart:before {
+ content: "\ea82";
+}
+
+.bxs-down-arrow:before {
+ content: "\ea83";
+}
+
+.bxs-down-arrow-alt:before {
+ content: "\ea84";
+}
+
+.bxs-down-arrow-circle:before {
+ content: "\ea85";
+}
+
+.bxs-down-arrow-square:before {
+ content: "\ea86";
+}
+
+.bxs-download:before {
+ content: "\ea87";
+}
+
+.bxs-downvote:before {
+ content: "\ea88";
+}
+
+.bxs-drink:before {
+ content: "\ea89";
+}
+
+.bxs-droplet:before {
+ content: "\ea8a";
+}
+
+.bxs-droplet-half:before {
+ content: "\ea8b";
+}
+
+.bxs-dryer:before {
+ content: "\ea8c";
+}
+
+.bxs-duplicate:before {
+ content: "\ea8d";
+}
+
+.bxs-edit:before {
+ content: "\ea8e";
+}
+
+.bxs-edit-alt:before {
+ content: "\ea8f";
+}
+
+.bxs-edit-location:before {
+ content: "\ea90";
+}
+
+.bxs-eject:before {
+ content: "\ea91";
+}
+
+.bxs-envelope:before {
+ content: "\ea92";
+}
+
+.bxs-envelope-open:before {
+ content: "\ea93";
+}
+
+.bxs-eraser:before {
+ content: "\ea94";
+}
+
+.bxs-error:before {
+ content: "\ea95";
+}
+
+.bxs-error-alt:before {
+ content: "\ea96";
+}
+
+.bxs-error-circle:before {
+ content: "\ea97";
+}
+
+.bxs-ev-station:before {
+ content: "\ea98";
+}
+
+.bxs-exit:before {
+ content: "\ea99";
+}
+
+.bxs-extension:before {
+ content: "\ea9a";
+}
+
+.bxs-eyedropper:before {
+ content: "\ea9b";
+}
+
+.bxs-face:before {
+ content: "\ea9c";
+}
+
+.bxs-face-mask:before {
+ content: "\ea9d";
+}
+
+.bxs-factory:before {
+ content: "\ea9e";
+}
+
+.bxs-fast-forward-circle:before {
+ content: "\ea9f";
+}
+
+.bxs-file:before {
+ content: "\eaa0";
+}
+
+.bxs-file-archive:before {
+ content: "\eaa1";
+}
+
+.bxs-file-blank:before {
+ content: "\eaa2";
+}
+
+.bxs-file-css:before {
+ content: "\eaa3";
+}
+
+.bxs-file-doc:before {
+ content: "\eaa4";
+}
+
+.bxs-file-export:before {
+ content: "\eaa5";
+}
+
+.bxs-file-find:before {
+ content: "\eaa6";
+}
+
+.bxs-file-gif:before {
+ content: "\eaa7";
+}
+
+.bxs-file-html:before {
+ content: "\eaa8";
+}
+
+.bxs-file-image:before {
+ content: "\eaa9";
+}
+
+.bxs-file-import:before {
+ content: "\eaaa";
+}
+
+.bxs-file-jpg:before {
+ content: "\eaab";
+}
+
+.bxs-file-js:before {
+ content: "\eaac";
+}
+
+.bxs-file-json:before {
+ content: "\eaad";
+}
+
+.bxs-file-md:before {
+ content: "\eaae";
+}
+
+.bxs-file-pdf:before {
+ content: "\eaaf";
+}
+
+.bxs-file-plus:before {
+ content: "\eab0";
+}
+
+.bxs-file-png:before {
+ content: "\eab1";
+}
+
+.bxs-file-txt:before {
+ content: "\eab2";
+}
+
+.bxs-film:before {
+ content: "\eab3";
+}
+
+.bxs-filter-alt:before {
+ content: "\eab4";
+}
+
+.bxs-first-aid:before {
+ content: "\eab5";
+}
+
+.bxs-flag:before {
+ content: "\eab6";
+}
+
+.bxs-flag-alt:before {
+ content: "\eab7";
+}
+
+.bxs-flag-checkered:before {
+ content: "\eab8";
+}
+
+.bxs-flame:before {
+ content: "\eab9";
+}
+
+.bxs-flask:before {
+ content: "\eaba";
+}
+
+.bxs-florist:before {
+ content: "\eabb";
+}
+
+.bxs-folder:before {
+ content: "\eabc";
+}
+
+.bxs-folder-minus:before {
+ content: "\eabd";
+}
+
+.bxs-folder-open:before {
+ content: "\eabe";
+}
+
+.bxs-folder-plus:before {
+ content: "\eabf";
+}
+
+.bxs-food-menu:before {
+ content: "\eac0";
+}
+
+.bxs-fridge:before {
+ content: "\eac1";
+}
+
+.bxs-game:before {
+ content: "\eac2";
+}
+
+.bxs-gas-pump:before {
+ content: "\eac3";
+}
+
+.bxs-ghost:before {
+ content: "\eac4";
+}
+
+.bxs-gift:before {
+ content: "\eac5";
+}
+
+.bxs-graduation:before {
+ content: "\eac6";
+}
+
+.bxs-grid:before {
+ content: "\eac7";
+}
+
+.bxs-grid-alt:before {
+ content: "\eac8";
+}
+
+.bxs-group:before {
+ content: "\eac9";
+}
+
+.bxs-guitar-amp:before {
+ content: "\eaca";
+}
+
+.bxs-hand:before {
+ content: "\eacb";
+}
+
+.bxs-hand-down:before {
+ content: "\eacc";
+}
+
+.bxs-hand-left:before {
+ content: "\eacd";
+}
+
+.bxs-hand-right:before {
+ content: "\eace";
+}
+
+.bxs-hand-up:before {
+ content: "\eacf";
+}
+
+.bxs-happy:before {
+ content: "\ead0";
+}
+
+.bxs-happy-alt:before {
+ content: "\ead1";
+}
+
+.bxs-happy-beaming:before {
+ content: "\ead2";
+}
+
+.bxs-happy-heart-eyes:before {
+ content: "\ead3";
+}
+
+.bxs-hdd:before {
+ content: "\ead4";
+}
+
+.bxs-heart:before {
+ content: "\ead5";
+}
+
+.bxs-heart-circle:before {
+ content: "\ead6";
+}
+
+.bxs-heart-square:before {
+ content: "\ead7";
+}
+
+.bxs-help-circle:before {
+ content: "\ead8";
+}
+
+.bxs-hide:before {
+ content: "\ead9";
+}
+
+.bxs-home:before {
+ content: "\eada";
+}
+
+.bxs-home-circle:before {
+ content: "\eadb";
+}
+
+.bxs-home-heart:before {
+ content: "\eadc";
+}
+
+.bxs-home-smile:before {
+ content: "\eadd";
+}
+
+.bxs-hot:before {
+ content: "\eade";
+}
+
+.bxs-hotel:before {
+ content: "\eadf";
+}
+
+.bxs-hourglass:before {
+ content: "\eae0";
+}
+
+.bxs-hourglass-bottom:before {
+ content: "\eae1";
+}
+
+.bxs-hourglass-top:before {
+ content: "\eae2";
+}
+
+.bxs-id-card:before {
+ content: "\eae3";
+}
+
+.bxs-image:before {
+ content: "\eae4";
+}
+
+.bxs-image-add:before {
+ content: "\eae5";
+}
+
+.bxs-image-alt:before {
+ content: "\eae6";
+}
+
+.bxs-inbox:before {
+ content: "\eae7";
+}
+
+.bxs-info-circle:before {
+ content: "\eae8";
+}
+
+.bxs-info-square:before {
+ content: "\eae9";
+}
+
+.bxs-institution:before {
+ content: "\eaea";
+}
+
+.bxs-joystick:before {
+ content: "\eaeb";
+}
+
+.bxs-joystick-alt:before {
+ content: "\eaec";
+}
+
+.bxs-joystick-button:before {
+ content: "\eaed";
+}
+
+.bxs-key:before {
+ content: "\eaee";
+}
+
+.bxs-keyboard:before {
+ content: "\eaef";
+}
+
+.bxs-label:before {
+ content: "\eaf0";
+}
+
+.bxs-landmark:before {
+ content: "\eaf1";
+}
+
+.bxs-landscape:before {
+ content: "\eaf2";
+}
+
+.bxs-laugh:before {
+ content: "\eaf3";
+}
+
+.bxs-layer:before {
+ content: "\eaf4";
+}
+
+.bxs-layer-minus:before {
+ content: "\eaf5";
+}
+
+.bxs-layer-plus:before {
+ content: "\eaf6";
+}
+
+.bxs-layout:before {
+ content: "\eaf7";
+}
+
+.bxs-left-arrow:before {
+ content: "\eaf8";
+}
+
+.bxs-left-arrow-alt:before {
+ content: "\eaf9";
+}
+
+.bxs-left-arrow-circle:before {
+ content: "\eafa";
+}
+
+.bxs-left-arrow-square:before {
+ content: "\eafb";
+}
+
+.bxs-left-down-arrow-circle:before {
+ content: "\eafc";
+}
+
+.bxs-left-top-arrow-circle:before {
+ content: "\eafd";
+}
+
+.bxs-like:before {
+ content: "\eafe";
+}
+
+.bxs-location-plus:before {
+ content: "\eaff";
+}
+
+.bxs-lock:before {
+ content: "\eb00";
+}
+
+.bxs-lock-alt:before {
+ content: "\eb01";
+}
+
+.bxs-lock-open:before {
+ content: "\eb02";
+}
+
+.bxs-lock-open-alt:before {
+ content: "\eb03";
+}
+
+.bxs-log-in:before {
+ content: "\eb04";
+}
+
+.bxs-log-in-circle:before {
+ content: "\eb05";
+}
+
+.bxs-log-out:before {
+ content: "\eb06";
+}
+
+.bxs-log-out-circle:before {
+ content: "\eb07";
+}
+
+.bxs-low-vision:before {
+ content: "\eb08";
+}
+
+.bxs-magic-wand:before {
+ content: "\eb09";
+}
+
+.bxs-magnet:before {
+ content: "\eb0a";
+}
+
+.bxs-map:before {
+ content: "\eb0b";
+}
+
+.bxs-map-alt:before {
+ content: "\eb0c";
+}
+
+.bxs-map-pin:before {
+ content: "\eb0d";
+}
+
+.bxs-mask:before {
+ content: "\eb0e";
+}
+
+.bxs-medal:before {
+ content: "\eb0f";
+}
+
+.bxs-megaphone:before {
+ content: "\eb10";
+}
+
+.bxs-meh:before {
+ content: "\eb11";
+}
+
+.bxs-meh-alt:before {
+ content: "\eb12";
+}
+
+.bxs-meh-blank:before {
+ content: "\eb13";
+}
+
+.bxs-memory-card:before {
+ content: "\eb14";
+}
+
+.bxs-message:before {
+ content: "\eb15";
+}
+
+.bxs-message-add:before {
+ content: "\eb16";
+}
+
+.bxs-message-alt:before {
+ content: "\eb17";
+}
+
+.bxs-message-alt-add:before {
+ content: "\eb18";
+}
+
+.bxs-message-alt-check:before {
+ content: "\eb19";
+}
+
+.bxs-message-alt-detail:before {
+ content: "\eb1a";
+}
+
+.bxs-message-alt-dots:before {
+ content: "\eb1b";
+}
+
+.bxs-message-alt-edit:before {
+ content: "\eb1c";
+}
+
+.bxs-message-alt-error:before {
+ content: "\eb1d";
+}
+
+.bxs-message-alt-minus:before {
+ content: "\eb1e";
+}
+
+.bxs-message-alt-x:before {
+ content: "\eb1f";
+}
+
+.bxs-message-check:before {
+ content: "\eb20";
+}
+
+.bxs-message-detail:before {
+ content: "\eb21";
+}
+
+.bxs-message-dots:before {
+ content: "\eb22";
+}
+
+.bxs-message-edit:before {
+ content: "\eb23";
+}
+
+.bxs-message-error:before {
+ content: "\eb24";
+}
+
+.bxs-message-minus:before {
+ content: "\eb25";
+}
+
+.bxs-message-rounded:before {
+ content: "\eb26";
+}
+
+.bxs-message-rounded-add:before {
+ content: "\eb27";
+}
+
+.bxs-message-rounded-check:before {
+ content: "\eb28";
+}
+
+.bxs-message-rounded-detail:before {
+ content: "\eb29";
+}
+
+.bxs-message-rounded-dots:before {
+ content: "\eb2a";
+}
+
+.bxs-message-rounded-edit:before {
+ content: "\eb2b";
+}
+
+.bxs-message-rounded-error:before {
+ content: "\eb2c";
+}
+
+.bxs-message-rounded-minus:before {
+ content: "\eb2d";
+}
+
+.bxs-message-rounded-x:before {
+ content: "\eb2e";
+}
+
+.bxs-message-square:before {
+ content: "\eb2f";
+}
+
+.bxs-message-square-add:before {
+ content: "\eb30";
+}
+
+.bxs-message-square-check:before {
+ content: "\eb31";
+}
+
+.bxs-message-square-detail:before {
+ content: "\eb32";
+}
+
+.bxs-message-square-dots:before {
+ content: "\eb33";
+}
+
+.bxs-message-square-edit:before {
+ content: "\eb34";
+}
+
+.bxs-message-square-error:before {
+ content: "\eb35";
+}
+
+.bxs-message-square-minus:before {
+ content: "\eb36";
+}
+
+.bxs-message-square-x:before {
+ content: "\eb37";
+}
+
+.bxs-message-x:before {
+ content: "\eb38";
+}
+
+.bxs-meteor:before {
+ content: "\eb39";
+}
+
+.bxs-microchip:before {
+ content: "\eb3a";
+}
+
+.bxs-microphone:before {
+ content: "\eb3b";
+}
+
+.bxs-microphone-alt:before {
+ content: "\eb3c";
+}
+
+.bxs-microphone-off:before {
+ content: "\eb3d";
+}
+
+.bxs-minus-circle:before {
+ content: "\eb3e";
+}
+
+.bxs-minus-square:before {
+ content: "\eb3f";
+}
+
+.bxs-mobile:before {
+ content: "\eb40";
+}
+
+.bxs-mobile-vibration:before {
+ content: "\eb41";
+}
+
+.bxs-moon:before {
+ content: "\eb42";
+}
+
+.bxs-mouse:before {
+ content: "\eb43";
+}
+
+.bxs-mouse-alt:before {
+ content: "\eb44";
+}
+
+.bxs-movie:before {
+ content: "\eb45";
+}
+
+.bxs-movie-play:before {
+ content: "\eb46";
+}
+
+.bxs-music:before {
+ content: "\eb47";
+}
+
+.bxs-navigation:before {
+ content: "\eb48";
+}
+
+.bxs-network-chart:before {
+ content: "\eb49";
+}
+
+.bxs-news:before {
+ content: "\eb4a";
+}
+
+.bxs-no-entry:before {
+ content: "\eb4b";
+}
+
+.bxs-note:before {
+ content: "\eb4c";
+}
+
+.bxs-notepad:before {
+ content: "\eb4d";
+}
+
+.bxs-notification:before {
+ content: "\eb4e";
+}
+
+.bxs-notification-off:before {
+ content: "\eb4f";
+}
+
+.bxs-offer:before {
+ content: "\eb50";
+}
+
+.bxs-package:before {
+ content: "\eb51";
+}
+
+.bxs-paint:before {
+ content: "\eb52";
+}
+
+.bxs-paint-roll:before {
+ content: "\eb53";
+}
+
+.bxs-palette:before {
+ content: "\eb54";
+}
+
+.bxs-paper-plane:before {
+ content: "\eb55";
+}
+
+.bxs-parking:before {
+ content: "\eb56";
+}
+
+.bxs-paste:before {
+ content: "\eb57";
+}
+
+.bxs-pen:before {
+ content: "\eb58";
+}
+
+.bxs-pencil:before {
+ content: "\eb59";
+}
+
+.bxs-phone:before {
+ content: "\eb5a";
+}
+
+.bxs-phone-call:before {
+ content: "\eb5b";
+}
+
+.bxs-phone-incoming:before {
+ content: "\eb5c";
+}
+
+.bxs-phone-off:before {
+ content: "\eb5d";
+}
+
+.bxs-phone-outgoing:before {
+ content: "\eb5e";
+}
+
+.bxs-photo-album:before {
+ content: "\eb5f";
+}
+
+.bxs-piano:before {
+ content: "\eb60";
+}
+
+.bxs-pie-chart:before {
+ content: "\eb61";
+}
+
+.bxs-pie-chart-alt:before {
+ content: "\eb62";
+}
+
+.bxs-pie-chart-alt-2:before {
+ content: "\eb63";
+}
+
+.bxs-pin:before {
+ content: "\eb64";
+}
+
+.bxs-pizza:before {
+ content: "\eb65";
+}
+
+.bxs-plane:before {
+ content: "\eb66";
+}
+
+.bxs-plane-alt:before {
+ content: "\eb67";
+}
+
+.bxs-plane-land:before {
+ content: "\eb68";
+}
+
+.bxs-planet:before {
+ content: "\eb69";
+}
+
+.bxs-plane-take-off:before {
+ content: "\eb6a";
+}
+
+.bxs-playlist:before {
+ content: "\eb6b";
+}
+
+.bxs-plug:before {
+ content: "\eb6c";
+}
+
+.bxs-plus-circle:before {
+ content: "\eb6d";
+}
+
+.bxs-plus-square:before {
+ content: "\eb6e";
+}
+
+.bxs-pointer:before {
+ content: "\eb6f";
+}
+
+.bxs-polygon:before {
+ content: "\eb70";
+}
+
+.bxs-printer:before {
+ content: "\eb71";
+}
+
+.bxs-purchase-tag:before {
+ content: "\eb72";
+}
+
+.bxs-purchase-tag-alt:before {
+ content: "\eb73";
+}
+
+.bxs-pyramid:before {
+ content: "\eb74";
+}
+
+.bxs-quote-alt-left:before {
+ content: "\eb75";
+}
+
+.bxs-quote-alt-right:before {
+ content: "\eb76";
+}
+
+.bxs-quote-left:before {
+ content: "\eb77";
+}
+
+.bxs-quote-right:before {
+ content: "\eb78";
+}
+
+.bxs-quote-single-left:before {
+ content: "\eb79";
+}
+
+.bxs-quote-single-right:before {
+ content: "\eb7a";
+}
+
+.bxs-radiation:before {
+ content: "\eb7b";
+}
+
+.bxs-radio:before {
+ content: "\eb7c";
+}
+
+.bxs-receipt:before {
+ content: "\eb7d";
+}
+
+.bxs-rectangle:before {
+ content: "\eb7e";
+}
+
+.bxs-registered:before {
+ content: "\eb7f";
+}
+
+.bxs-rename:before {
+ content: "\eb80";
+}
+
+.bxs-report:before {
+ content: "\eb81";
+}
+
+.bxs-rewind-circle:before {
+ content: "\eb82";
+}
+
+.bxs-right-arrow:before {
+ content: "\eb83";
+}
+
+.bxs-right-arrow-alt:before {
+ content: "\eb84";
+}
+
+.bxs-right-arrow-circle:before {
+ content: "\eb85";
+}
+
+.bxs-right-arrow-square:before {
+ content: "\eb86";
+}
+
+.bxs-right-down-arrow-circle:before {
+ content: "\eb87";
+}
+
+.bxs-right-top-arrow-circle:before {
+ content: "\eb88";
+}
+
+.bxs-rocket:before {
+ content: "\eb89";
+}
+
+.bxs-ruler:before {
+ content: "\eb8a";
+}
+
+.bxs-sad:before {
+ content: "\eb8b";
+}
+
+.bxs-save:before {
+ content: "\eb8c";
+}
+
+.bxs-school:before {
+ content: "\eb8d";
+}
+
+.bxs-search:before {
+ content: "\eb8e";
+}
+
+.bxs-search-alt-2:before {
+ content: "\eb8f";
+}
+
+.bxs-select-multiple:before {
+ content: "\eb90";
+}
+
+.bxs-send:before {
+ content: "\eb91";
+}
+
+.bxs-server:before {
+ content: "\eb92";
+}
+
+.bxs-shapes:before {
+ content: "\eb93";
+}
+
+.bxs-share:before {
+ content: "\eb94";
+}
+
+.bxs-share-alt:before {
+ content: "\eb95";
+}
+
+.bxs-shield:before {
+ content: "\eb96";
+}
+
+.bxs-shield-alt-2:before {
+ content: "\eb97";
+}
+
+.bxs-shield-x:before {
+ content: "\eb98";
+}
+
+.bxs-ship:before {
+ content: "\eb99";
+}
+
+.bxs-shocked:before {
+ content: "\eb9a";
+}
+
+.bxs-shopping-bag:before {
+ content: "\eb9b";
+}
+
+.bxs-shopping-bag-alt:before {
+ content: "\eb9c";
+}
+
+.bxs-shopping-bags:before {
+ content: "\eb9d";
+}
+
+.bxs-show:before {
+ content: "\eb9e";
+}
+
+.bxs-skip-next-circle:before {
+ content: "\eb9f";
+}
+
+.bxs-skip-previous-circle:before {
+ content: "\eba0";
+}
+
+.bxs-skull:before {
+ content: "\eba1";
+}
+
+.bxs-sleepy:before {
+ content: "\eba2";
+}
+
+.bxs-slideshow:before {
+ content: "\eba3";
+}
+
+.bxs-smile:before {
+ content: "\eba4";
+}
+
+.bxs-sort-alt:before {
+ content: "\eba5";
+}
+
+.bxs-spa:before {
+ content: "\eba6";
+}
+
+.bxs-speaker:before {
+ content: "\eba7";
+}
+
+.bxs-spray-can:before {
+ content: "\eba8";
+}
+
+.bxs-spreadsheet:before {
+ content: "\eba9";
+}
+
+.bxs-square:before {
+ content: "\ebaa";
+}
+
+.bxs-square-rounded:before {
+ content: "\ebab";
+}
+
+.bxs-star:before {
+ content: "\ebac";
+}
+
+.bxs-star-half:before {
+ content: "\ebad";
+}
+
+.bxs-sticker:before {
+ content: "\ebae";
+}
+
+.bxs-stopwatch:before {
+ content: "\ebaf";
+}
+
+.bxs-store:before {
+ content: "\ebb0";
+}
+
+.bxs-store-alt:before {
+ content: "\ebb1";
+}
+
+.bxs-sun:before {
+ content: "\ebb2";
+}
+
+.bxs-tachometer:before {
+ content: "\ebb3";
+}
+
+.bxs-tag:before {
+ content: "\ebb4";
+}
+
+.bxs-tag-alt:before {
+ content: "\ebb5";
+}
+
+.bxs-tag-x:before {
+ content: "\ebb6";
+}
+
+.bxs-taxi:before {
+ content: "\ebb7";
+}
+
+.bxs-tennis-ball:before {
+ content: "\ebb8";
+}
+
+.bxs-terminal:before {
+ content: "\ebb9";
+}
+
+.bxs-thermometer:before {
+ content: "\ebba";
+}
+
+.bxs-time:before {
+ content: "\ebbb";
+}
+
+.bxs-time-five:before {
+ content: "\ebbc";
+}
+
+.bxs-timer:before {
+ content: "\ebbd";
+}
+
+.bxs-tired:before {
+ content: "\ebbe";
+}
+
+.bxs-toggle-left:before {
+ content: "\ebbf";
+}
+
+.bxs-toggle-right:before {
+ content: "\ebc0";
+}
+
+.bxs-tone:before {
+ content: "\ebc1";
+}
+
+.bxs-torch:before {
+ content: "\ebc2";
+}
+
+.bxs-to-top:before {
+ content: "\ebc3";
+}
+
+.bxs-traffic:before {
+ content: "\ebc4";
+}
+
+.bxs-traffic-barrier:before {
+ content: "\ebc5";
+}
+
+.bxs-traffic-cone:before {
+ content: "\ebc6";
+}
+
+.bxs-train:before {
+ content: "\ebc7";
+}
+
+.bxs-trash:before {
+ content: "\ebc8";
+}
+
+.bxs-trash-alt:before {
+ content: "\ebc9";
+}
+
+.bxs-tree:before {
+ content: "\ebca";
+}
+
+.bxs-trophy:before {
+ content: "\ebcb";
+}
+
+.bxs-truck:before {
+ content: "\ebcc";
+}
+
+.bxs-t-shirt:before {
+ content: "\ebcd";
+}
+
+.bxs-tv:before {
+ content: "\ebce";
+}
+
+.bxs-up-arrow:before {
+ content: "\ebcf";
+}
+
+.bxs-up-arrow-alt:before {
+ content: "\ebd0";
+}
+
+.bxs-up-arrow-circle:before {
+ content: "\ebd1";
+}
+
+.bxs-up-arrow-square:before {
+ content: "\ebd2";
+}
+
+.bxs-upside-down:before {
+ content: "\ebd3";
+}
+
+.bxs-upvote:before {
+ content: "\ebd4";
+}
+
+.bxs-user:before {
+ content: "\ebd5";
+}
+
+.bxs-user-account:before {
+ content: "\ebd6";
+}
+
+.bxs-user-badge:before {
+ content: "\ebd7";
+}
+
+.bxs-user-check:before {
+ content: "\ebd8";
+}
+
+.bxs-user-circle:before {
+ content: "\ebd9";
+}
+
+.bxs-user-detail:before {
+ content: "\ebda";
+}
+
+.bxs-user-minus:before {
+ content: "\ebdb";
+}
+
+.bxs-user-pin:before {
+ content: "\ebdc";
+}
+
+.bxs-user-plus:before {
+ content: "\ebdd";
+}
+
+.bxs-user-rectangle:before {
+ content: "\ebde";
+}
+
+.bxs-user-voice:before {
+ content: "\ebdf";
+}
+
+.bxs-user-x:before {
+ content: "\ebe0";
+}
+
+.bxs-vector:before {
+ content: "\ebe1";
+}
+
+.bxs-vial:before {
+ content: "\ebe2";
+}
+
+.bxs-video:before {
+ content: "\ebe3";
+}
+
+.bxs-video-off:before {
+ content: "\ebe4";
+}
+
+.bxs-video-plus:before {
+ content: "\ebe5";
+}
+
+.bxs-video-recording:before {
+ content: "\ebe6";
+}
+
+.bxs-videos:before {
+ content: "\ebe7";
+}
+
+.bxs-virus:before {
+ content: "\ebe8";
+}
+
+.bxs-virus-block:before {
+ content: "\ebe9";
+}
+
+.bxs-volume:before {
+ content: "\ebea";
+}
+
+.bxs-volume-full:before {
+ content: "\ebeb";
+}
+
+.bxs-volume-low:before {
+ content: "\ebec";
+}
+
+.bxs-volume-mute:before {
+ content: "\ebed";
+}
+
+.bxs-wallet:before {
+ content: "\ebee";
+}
+
+.bxs-wallet-alt:before {
+ content: "\ebef";
+}
+
+.bxs-washer:before {
+ content: "\ebf0";
+}
+
+.bxs-watch:before {
+ content: "\ebf1";
+}
+
+.bxs-watch-alt:before {
+ content: "\ebf2";
+}
+
+.bxs-webcam:before {
+ content: "\ebf3";
+}
+
+.bxs-widget:before {
+ content: "\ebf4";
+}
+
+.bxs-window-alt:before {
+ content: "\ebf5";
+}
+
+.bxs-wine:before {
+ content: "\ebf6";
+}
+
+.bxs-wink-smile:before {
+ content: "\ebf7";
+}
+
+.bxs-wink-tongue:before {
+ content: "\ebf8";
+}
+
+.bxs-wrench:before {
+ content: "\ebf9";
+}
+
+.bxs-x-circle:before {
+ content: "\ebfa";
+}
+
+.bxs-x-square:before {
+ content: "\ebfb";
+}
+
+.bxs-yin-yang:before {
+ content: "\ebfc";
+}
+
+.bxs-zap:before {
+ content: "\ebfd";
+}
+
+.bxs-zoom-in:before {
+ content: "\ebfe";
+}
+
+.bxs-zoom-out:before {
+ content: "\ebff";
+}
+
+.bx-abacus:before {
+ content: "\ec00";
+}
+
+.bx-accessibility:before {
+ content: "\ec01";
+}
+
+.bx-add-to-queue:before {
+ content: "\ec02";
+}
+
+.bx-adjust:before {
+ content: "\ec03";
+}
+
+.bx-alarm:before {
+ content: "\ec04";
+}
+
+.bx-alarm-add:before {
+ content: "\ec05";
+}
+
+.bx-alarm-exclamation:before {
+ content: "\ec06";
+}
+
+.bx-alarm-off:before {
+ content: "\ec07";
+}
+
+.bx-alarm-snooze:before {
+ content: "\ec08";
+}
+
+.bx-album:before {
+ content: "\ec09";
+}
+
+.bx-align-justify:before {
+ content: "\ec0a";
+}
+
+.bx-align-left:before {
+ content: "\ec0b";
+}
+
+.bx-align-middle:before {
+ content: "\ec0c";
+}
+
+.bx-align-right:before {
+ content: "\ec0d";
+}
+
+.bx-analyse:before {
+ content: "\ec0e";
+}
+
+.bx-anchor:before {
+ content: "\ec0f";
+}
+
+.bx-angry:before {
+ content: "\ec10";
+}
+
+.bx-aperture:before {
+ content: "\ec11";
+}
+
+.bx-arch:before {
+ content: "\ec12";
+}
+
+.bx-archive:before {
+ content: "\ec13";
+}
+
+.bx-archive-in:before {
+ content: "\ec14";
+}
+
+.bx-archive-out:before {
+ content: "\ec15";
+}
+
+.bx-area:before {
+ content: "\ec16";
+}
+
+.bx-arrow-back:before {
+ content: "\ec17";
+}
+
+.bx-arrow-from-bottom:before {
+ content: "\ec18";
+}
+
+.bx-arrow-from-left:before {
+ content: "\ec19";
+}
+
+.bx-arrow-from-right:before {
+ content: "\ec1a";
+}
+
+.bx-arrow-from-top:before {
+ content: "\ec1b";
+}
+
+.bx-arrow-to-bottom:before {
+ content: "\ec1c";
+}
+
+.bx-arrow-to-left:before {
+ content: "\ec1d";
+}
+
+.bx-arrow-to-right:before {
+ content: "\ec1e";
+}
+
+.bx-arrow-to-top:before {
+ content: "\ec1f";
+}
+
+.bx-at:before {
+ content: "\ec20";
+}
+
+.bx-atom:before {
+ content: "\ec21";
+}
+
+.bx-award:before {
+ content: "\ec22";
+}
+
+.bx-badge:before {
+ content: "\ec23";
+}
+
+.bx-badge-check:before {
+ content: "\ec24";
+}
+
+.bx-ball:before {
+ content: "\ec25";
+}
+
+.bx-band-aid:before {
+ content: "\ec26";
+}
+
+.bx-bar-chart:before {
+ content: "\ec27";
+}
+
+.bx-bar-chart-alt:before {
+ content: "\ec28";
+}
+
+.bx-bar-chart-alt-2:before {
+ content: "\ec29";
+}
+
+.bx-bar-chart-square:before {
+ content: "\ec2a";
+}
+
+.bx-barcode:before {
+ content: "\ec2b";
+}
+
+.bx-barcode-reader:before {
+ content: "\ec2c";
+}
+
+.bx-baseball:before {
+ content: "\ec2d";
+}
+
+.bx-basket:before {
+ content: "\ec2e";
+}
+
+.bx-basketball:before {
+ content: "\ec2f";
+}
+
+.bx-bath:before {
+ content: "\ec30";
+}
+
+.bx-battery:before {
+ content: "\ec31";
+}
+
+.bx-bed:before {
+ content: "\ec32";
+}
+
+.bx-been-here:before {
+ content: "\ec33";
+}
+
+.bx-beer:before {
+ content: "\ec34";
+}
+
+.bx-bell:before {
+ content: "\ec35";
+}
+
+.bx-bell-minus:before {
+ content: "\ec36";
+}
+
+.bx-bell-off:before {
+ content: "\ec37";
+}
+
+.bx-bell-plus:before {
+ content: "\ec38";
+}
+
+.bx-bible:before {
+ content: "\ec39";
+}
+
+.bx-bitcoin:before {
+ content: "\ec3a";
+}
+
+.bx-blanket:before {
+ content: "\ec3b";
+}
+
+.bx-block:before {
+ content: "\ec3c";
+}
+
+.bx-bluetooth:before {
+ content: "\ec3d";
+}
+
+.bx-body:before {
+ content: "\ec3e";
+}
+
+.bx-bold:before {
+ content: "\ec3f";
+}
+
+.bx-bolt-circle:before {
+ content: "\ec40";
+}
+
+.bx-bomb:before {
+ content: "\ec41";
+}
+
+.bx-bone:before {
+ content: "\ec42";
+}
+
+.bx-bong:before {
+ content: "\ec43";
+}
+
+.bx-book:before {
+ content: "\ec44";
+}
+
+.bx-book-add:before {
+ content: "\ec45";
+}
+
+.bx-book-alt:before {
+ content: "\ec46";
+}
+
+.bx-book-bookmark:before {
+ content: "\ec47";
+}
+
+.bx-book-content:before {
+ content: "\ec48";
+}
+
+.bx-book-heart:before {
+ content: "\ec49";
+}
+
+.bx-bookmark:before {
+ content: "\ec4a";
+}
+
+.bx-bookmark-alt:before {
+ content: "\ec4b";
+}
+
+.bx-bookmark-alt-minus:before {
+ content: "\ec4c";
+}
+
+.bx-bookmark-alt-plus:before {
+ content: "\ec4d";
+}
+
+.bx-bookmark-heart:before {
+ content: "\ec4e";
+}
+
+.bx-bookmark-minus:before {
+ content: "\ec4f";
+}
+
+.bx-bookmark-plus:before {
+ content: "\ec50";
+}
+
+.bx-bookmarks:before {
+ content: "\ec51";
+}
+
+.bx-book-open:before {
+ content: "\ec52";
+}
+
+.bx-book-reader:before {
+ content: "\ec53";
+}
+
+.bx-border-all:before {
+ content: "\ec54";
+}
+
+.bx-border-bottom:before {
+ content: "\ec55";
+}
+
+.bx-border-inner:before {
+ content: "\ec56";
+}
+
+.bx-border-left:before {
+ content: "\ec57";
+}
+
+.bx-border-none:before {
+ content: "\ec58";
+}
+
+.bx-border-outer:before {
+ content: "\ec59";
+}
+
+.bx-border-radius:before {
+ content: "\ec5a";
+}
+
+.bx-border-right:before {
+ content: "\ec5b";
+}
+
+.bx-border-top:before {
+ content: "\ec5c";
+}
+
+.bx-bot:before {
+ content: "\ec5d";
+}
+
+.bx-bowling-ball:before {
+ content: "\ec5e";
+}
+
+.bx-box:before {
+ content: "\ec5f";
+}
+
+.bx-bracket:before {
+ content: "\ec60";
+}
+
+.bx-braille:before {
+ content: "\ec61";
+}
+
+.bx-brain:before {
+ content: "\ec62";
+}
+
+.bx-briefcase:before {
+ content: "\ec63";
+}
+
+.bx-briefcase-alt:before {
+ content: "\ec64";
+}
+
+.bx-briefcase-alt-2:before {
+ content: "\ec65";
+}
+
+.bx-brightness:before {
+ content: "\ec66";
+}
+
+.bx-brightness-half:before {
+ content: "\ec67";
+}
+
+.bx-broadcast:before {
+ content: "\ec68";
+}
+
+.bx-brush:before {
+ content: "\ec69";
+}
+
+.bx-brush-alt:before {
+ content: "\ec6a";
+}
+
+.bx-bug:before {
+ content: "\ec6b";
+}
+
+.bx-bug-alt:before {
+ content: "\ec6c";
+}
+
+.bx-building:before {
+ content: "\ec6d";
+}
+
+.bx-building-house:before {
+ content: "\ec6e";
+}
+
+.bx-buildings:before {
+ content: "\ec6f";
+}
+
+.bx-bulb:before {
+ content: "\ec70";
+}
+
+.bx-bullseye:before {
+ content: "\ec71";
+}
+
+.bx-buoy:before {
+ content: "\ec72";
+}
+
+.bx-bus:before {
+ content: "\ec73";
+}
+
+.bx-bus-school:before {
+ content: "\ec74";
+}
+
+.bx-cabinet:before {
+ content: "\ec75";
+}
+
+.bx-cake:before {
+ content: "\ec76";
+}
+
+.bx-calculator:before {
+ content: "\ec77";
+}
+
+.bx-calendar:before {
+ content: "\ec78";
+}
+
+.bx-calendar-alt:before {
+ content: "\ec79";
+}
+
+.bx-calendar-check:before {
+ content: "\ec7a";
+}
+
+.bx-calendar-edit:before {
+ content: "\ec7b";
+}
+
+.bx-calendar-event:before {
+ content: "\ec7c";
+}
+
+.bx-calendar-exclamation:before {
+ content: "\ec7d";
+}
+
+.bx-calendar-heart:before {
+ content: "\ec7e";
+}
+
+.bx-calendar-minus:before {
+ content: "\ec7f";
+}
+
+.bx-calendar-plus:before {
+ content: "\ec80";
+}
+
+.bx-calendar-star:before {
+ content: "\ec81";
+}
+
+.bx-calendar-week:before {
+ content: "\ec82";
+}
+
+.bx-calendar-x:before {
+ content: "\ec83";
+}
+
+.bx-camera:before {
+ content: "\ec84";
+}
+
+.bx-camera-home:before {
+ content: "\ec85";
+}
+
+.bx-camera-movie:before {
+ content: "\ec86";
+}
+
+.bx-camera-off:before {
+ content: "\ec87";
+}
+
+.bx-capsule:before {
+ content: "\ec88";
+}
+
+.bx-captions:before {
+ content: "\ec89";
+}
+
+.bx-car:before {
+ content: "\ec8a";
+}
+
+.bx-card:before {
+ content: "\ec8b";
+}
+
+.bx-caret-down:before {
+ content: "\ec8c";
+}
+
+.bx-caret-down-circle:before {
+ content: "\ec8d";
+}
+
+.bx-caret-down-square:before {
+ content: "\ec8e";
+}
+
+.bx-caret-left:before {
+ content: "\ec8f";
+}
+
+.bx-caret-left-circle:before {
+ content: "\ec90";
+}
+
+.bx-caret-left-square:before {
+ content: "\ec91";
+}
+
+.bx-caret-right:before {
+ content: "\ec92";
+}
+
+.bx-caret-right-circle:before {
+ content: "\ec93";
+}
+
+.bx-caret-right-square:before {
+ content: "\ec94";
+}
+
+.bx-caret-up:before {
+ content: "\ec95";
+}
+
+.bx-caret-up-circle:before {
+ content: "\ec96";
+}
+
+.bx-caret-up-square:before {
+ content: "\ec97";
+}
+
+.bx-carousel:before {
+ content: "\ec98";
+}
+
+.bx-cart:before {
+ content: "\ec99";
+}
+
+.bx-cart-alt:before {
+ content: "\ec9a";
+}
+
+.bx-cast:before {
+ content: "\ec9b";
+}
+
+.bx-category:before {
+ content: "\ec9c";
+}
+
+.bx-category-alt:before {
+ content: "\ec9d";
+}
+
+.bx-cctv:before {
+ content: "\ec9e";
+}
+
+.bx-certification:before {
+ content: "\ec9f";
+}
+
+.bx-chair:before {
+ content: "\eca0";
+}
+
+.bx-chalkboard:before {
+ content: "\eca1";
+}
+
+.bx-chart:before {
+ content: "\eca2";
+}
+
+.bx-chat:before {
+ content: "\eca3";
+}
+
+.bx-check:before {
+ content: "\eca4";
+}
+
+.bx-checkbox:before {
+ content: "\eca5";
+}
+
+.bx-checkbox-checked:before {
+ content: "\eca6";
+}
+
+.bx-checkbox-minus:before {
+ content: "\eca7";
+}
+
+.bx-checkbox-square:before {
+ content: "\eca8";
+}
+
+.bx-check-circle:before {
+ content: "\eca9";
+}
+
+.bx-check-double:before {
+ content: "\ecaa";
+}
+
+.bx-check-shield:before {
+ content: "\ecab";
+}
+
+.bx-check-square:before {
+ content: "\ecac";
+}
+
+.bx-chevron-down:before {
+ content: "\ecad";
+}
+
+.bx-chevron-down-circle:before {
+ content: "\ecae";
+}
+
+.bx-chevron-down-square:before {
+ content: "\ecaf";
+}
+
+.bx-chevron-left:before {
+ content: "\ecb0";
+}
+
+.bx-chevron-left-circle:before {
+ content: "\ecb1";
+}
+
+.bx-chevron-left-square:before {
+ content: "\ecb2";
+}
+
+.bx-chevron-right:before {
+ content: "\ecb3";
+}
+
+.bx-chevron-right-circle:before {
+ content: "\ecb4";
+}
+
+.bx-chevron-right-square:before {
+ content: "\ecb5";
+}
+
+.bx-chevrons-down:before {
+ content: "\ecb6";
+}
+
+.bx-chevrons-left:before {
+ content: "\ecb7";
+}
+
+.bx-chevrons-right:before {
+ content: "\ecb8";
+}
+
+.bx-chevrons-up:before {
+ content: "\ecb9";
+}
+
+.bx-chevron-up:before {
+ content: "\ecba";
+}
+
+.bx-chevron-up-circle:before {
+ content: "\ecbb";
+}
+
+.bx-chevron-up-square:before {
+ content: "\ecbc";
+}
+
+.bx-chip:before {
+ content: "\ecbd";
+}
+
+.bx-church:before {
+ content: "\ecbe";
+}
+
+.bx-circle:before {
+ content: "\ecbf";
+}
+
+.bx-clinic:before {
+ content: "\ecc0";
+}
+
+.bx-clipboard:before {
+ content: "\ecc1";
+}
+
+.bx-closet:before {
+ content: "\ecc2";
+}
+
+.bx-cloud:before {
+ content: "\ecc3";
+}
+
+.bx-cloud-download:before {
+ content: "\ecc4";
+}
+
+.bx-cloud-drizzle:before {
+ content: "\ecc5";
+}
+
+.bx-cloud-lightning:before {
+ content: "\ecc6";
+}
+
+.bx-cloud-light-rain:before {
+ content: "\ecc7";
+}
+
+.bx-cloud-rain:before {
+ content: "\ecc8";
+}
+
+.bx-cloud-snow:before {
+ content: "\ecc9";
+}
+
+.bx-cloud-upload:before {
+ content: "\ecca";
+}
+
+.bx-code:before {
+ content: "\eccb";
+}
+
+.bx-code-alt:before {
+ content: "\eccc";
+}
+
+.bx-code-block:before {
+ content: "\eccd";
+}
+
+.bx-code-curly:before {
+ content: "\ecce";
+}
+
+.bx-coffee:before {
+ content: "\eccf";
+}
+
+.bx-coffee-togo:before {
+ content: "\ecd0";
+}
+
+.bx-cog:before {
+ content: "\ecd1";
+}
+
+.bx-coin:before {
+ content: "\ecd2";
+}
+
+.bx-coin-stack:before {
+ content: "\ecd3";
+}
+
+.bx-collapse:before {
+ content: "\ecd4";
+}
+
+.bx-collection:before {
+ content: "\ecd5";
+}
+
+.bx-color-fill:before {
+ content: "\ecd6";
+}
+
+.bx-columns:before {
+ content: "\ecd7";
+}
+
+.bx-command:before {
+ content: "\ecd8";
+}
+
+.bx-comment:before {
+ content: "\ecd9";
+}
+
+.bx-comment-add:before {
+ content: "\ecda";
+}
+
+.bx-comment-check:before {
+ content: "\ecdb";
+}
+
+.bx-comment-detail:before {
+ content: "\ecdc";
+}
+
+.bx-comment-dots:before {
+ content: "\ecdd";
+}
+
+.bx-comment-edit:before {
+ content: "\ecde";
+}
+
+.bx-comment-error:before {
+ content: "\ecdf";
+}
+
+.bx-comment-minus:before {
+ content: "\ece0";
+}
+
+.bx-comment-x:before {
+ content: "\ece1";
+}
+
+.bx-compass:before {
+ content: "\ece2";
+}
+
+.bx-confused:before {
+ content: "\ece3";
+}
+
+.bx-conversation:before {
+ content: "\ece4";
+}
+
+.bx-cookie:before {
+ content: "\ece5";
+}
+
+.bx-cool:before {
+ content: "\ece6";
+}
+
+.bx-copy:before {
+ content: "\ece7";
+}
+
+.bx-copy-alt:before {
+ content: "\ece8";
+}
+
+.bx-copyright:before {
+ content: "\ece9";
+}
+
+.bx-credit-card:before {
+ content: "\ecea";
+}
+
+.bx-credit-card-alt:before {
+ content: "\eceb";
+}
+
+.bx-credit-card-front:before {
+ content: "\ecec";
+}
+
+.bx-crop:before {
+ content: "\eced";
+}
+
+.bx-crosshair:before {
+ content: "\ecee";
+}
+
+.bx-crown:before {
+ content: "\ecef";
+}
+
+.bx-cube:before {
+ content: "\ecf0";
+}
+
+.bx-cube-alt:before {
+ content: "\ecf1";
+}
+
+.bx-cuboid:before {
+ content: "\ecf2";
+}
+
+.bx-current-location:before {
+ content: "\ecf3";
+}
+
+.bx-customize:before {
+ content: "\ecf4";
+}
+
+.bx-cut:before {
+ content: "\ecf5";
+}
+
+.bx-cycling:before {
+ content: "\ecf6";
+}
+
+.bx-cylinder:before {
+ content: "\ecf7";
+}
+
+.bx-data:before {
+ content: "\ecf8";
+}
+
+.bx-desktop:before {
+ content: "\ecf9";
+}
+
+.bx-detail:before {
+ content: "\ecfa";
+}
+
+.bx-devices:before {
+ content: "\ecfb";
+}
+
+.bx-dialpad:before {
+ content: "\ecfc";
+}
+
+.bx-dialpad-alt:before {
+ content: "\ecfd";
+}
+
+.bx-diamond:before {
+ content: "\ecfe";
+}
+
+.bx-dice-1:before {
+ content: "\ecff";
+}
+
+.bx-dice-2:before {
+ content: "\ed00";
+}
+
+.bx-dice-3:before {
+ content: "\ed01";
+}
+
+.bx-dice-4:before {
+ content: "\ed02";
+}
+
+.bx-dice-5:before {
+ content: "\ed03";
+}
+
+.bx-dice-6:before {
+ content: "\ed04";
+}
+
+.bx-directions:before {
+ content: "\ed05";
+}
+
+.bx-disc:before {
+ content: "\ed06";
+}
+
+.bx-dish:before {
+ content: "\ed07";
+}
+
+.bx-dislike:before {
+ content: "\ed08";
+}
+
+.bx-dizzy:before {
+ content: "\ed09";
+}
+
+.bx-dna:before {
+ content: "\ed0a";
+}
+
+.bx-dock-bottom:before {
+ content: "\ed0b";
+}
+
+.bx-dock-left:before {
+ content: "\ed0c";
+}
+
+.bx-dock-right:before {
+ content: "\ed0d";
+}
+
+.bx-dock-top:before {
+ content: "\ed0e";
+}
+
+.bx-dollar:before {
+ content: "\ed0f";
+}
+
+.bx-dollar-circle:before {
+ content: "\ed10";
+}
+
+.bx-donate-blood:before {
+ content: "\ed11";
+}
+
+.bx-donate-heart:before {
+ content: "\ed12";
+}
+
+.bx-door-open:before {
+ content: "\ed13";
+}
+
+.bx-dots-horizontal:before {
+ content: "\ed14";
+}
+
+.bx-dots-horizontal-rounded:before {
+ content: "\ed15";
+}
+
+.bx-dots-vertical:before {
+ content: "\ed16";
+}
+
+.bx-dots-vertical-rounded:before {
+ content: "\ed17";
+}
+
+.bx-doughnut-chart:before {
+ content: "\ed18";
+}
+
+.bx-down-arrow:before {
+ content: "\ed19";
+}
+
+.bx-down-arrow-alt:before {
+ content: "\ed1a";
+}
+
+.bx-down-arrow-circle:before {
+ content: "\ed1b";
+}
+
+.bx-download:before {
+ content: "\ed1c";
+}
+
+.bx-downvote:before {
+ content: "\ed1d";
+}
+
+.bx-drink:before {
+ content: "\ed1e";
+}
+
+.bx-droplet:before {
+ content: "\ed1f";
+}
+
+.bx-dumbbell:before {
+ content: "\ed20";
+}
+
+.bx-duplicate:before {
+ content: "\ed21";
+}
+
+.bx-edit:before {
+ content: "\ed22";
+}
+
+.bx-edit-alt:before {
+ content: "\ed23";
+}
+
+.bx-envelope:before {
+ content: "\ed24";
+}
+
+.bx-envelope-open:before {
+ content: "\ed25";
+}
+
+.bx-equalizer:before {
+ content: "\ed26";
+}
+
+.bx-eraser:before {
+ content: "\ed27";
+}
+
+.bx-error:before {
+ content: "\ed28";
+}
+
+.bx-error-alt:before {
+ content: "\ed29";
+}
+
+.bx-error-circle:before {
+ content: "\ed2a";
+}
+
+.bx-euro:before {
+ content: "\ed2b";
+}
+
+.bx-exclude:before {
+ content: "\ed2c";
+}
+
+.bx-exit:before {
+ content: "\ed2d";
+}
+
+.bx-exit-fullscreen:before {
+ content: "\ed2e";
+}
+
+.bx-expand:before {
+ content: "\ed2f";
+}
+
+.bx-expand-alt:before {
+ content: "\ed30";
+}
+
+.bx-export:before {
+ content: "\ed31";
+}
+
+.bx-extension:before {
+ content: "\ed32";
+}
+
+.bx-face:before {
+ content: "\ed33";
+}
+
+.bx-fast-forward:before {
+ content: "\ed34";
+}
+
+.bx-fast-forward-circle:before {
+ content: "\ed35";
+}
+
+.bx-female:before {
+ content: "\ed36";
+}
+
+.bx-female-sign:before {
+ content: "\ed37";
+}
+
+.bx-file:before {
+ content: "\ed38";
+}
+
+.bx-file-blank:before {
+ content: "\ed39";
+}
+
+.bx-file-find:before {
+ content: "\ed3a";
+}
+
+.bx-film:before {
+ content: "\ed3b";
+}
+
+.bx-filter:before {
+ content: "\ed3c";
+}
+
+.bx-filter-alt:before {
+ content: "\ed3d";
+}
+
+.bx-fingerprint:before {
+ content: "\ed3e";
+}
+
+.bx-first-aid:before {
+ content: "\ed3f";
+}
+
+.bx-first-page:before {
+ content: "\ed40";
+}
+
+.bx-flag:before {
+ content: "\ed41";
+}
+
+.bx-folder:before {
+ content: "\ed42";
+}
+
+.bx-folder-minus:before {
+ content: "\ed43";
+}
+
+.bx-folder-open:before {
+ content: "\ed44";
+}
+
+.bx-folder-plus:before {
+ content: "\ed45";
+}
+
+.bx-font:before {
+ content: "\ed46";
+}
+
+.bx-font-color:before {
+ content: "\ed47";
+}
+
+.bx-font-family:before {
+ content: "\ed48";
+}
+
+.bx-font-size:before {
+ content: "\ed49";
+}
+
+.bx-food-menu:before {
+ content: "\ed4a";
+}
+
+.bx-food-tag:before {
+ content: "\ed4b";
+}
+
+.bx-football:before {
+ content: "\ed4c";
+}
+
+.bx-fridge:before {
+ content: "\ed4d";
+}
+
+.bx-fullscreen:before {
+ content: "\ed4e";
+}
+
+.bx-game:before {
+ content: "\ed4f";
+}
+
+.bx-gas-pump:before {
+ content: "\ed50";
+}
+
+.bx-ghost:before {
+ content: "\ed51";
+}
+
+.bx-gift:before {
+ content: "\ed52";
+}
+
+.bx-git-branch:before {
+ content: "\ed53";
+}
+
+.bx-git-commit:before {
+ content: "\ed54";
+}
+
+.bx-git-compare:before {
+ content: "\ed55";
+}
+
+.bx-git-merge:before {
+ content: "\ed56";
+}
+
+.bx-git-pull-request:before {
+ content: "\ed57";
+}
+
+.bx-git-repo-forked:before {
+ content: "\ed58";
+}
+
+.bx-glasses:before {
+ content: "\ed59";
+}
+
+.bx-glasses-alt:before {
+ content: "\ed5a";
+}
+
+.bx-globe:before {
+ content: "\ed5b";
+}
+
+.bx-globe-alt:before {
+ content: "\ed5c";
+}
+
+.bx-grid:before {
+ content: "\ed5d";
+}
+
+.bx-grid-alt:before {
+ content: "\ed5e";
+}
+
+.bx-grid-horizontal:before {
+ content: "\ed5f";
+}
+
+.bx-grid-small:before {
+ content: "\ed60";
+}
+
+.bx-grid-vertical:before {
+ content: "\ed61";
+}
+
+.bx-group:before {
+ content: "\ed62";
+}
+
+.bx-handicap:before {
+ content: "\ed63";
+}
+
+.bx-happy:before {
+ content: "\ed64";
+}
+
+.bx-happy-alt:before {
+ content: "\ed65";
+}
+
+.bx-happy-beaming:before {
+ content: "\ed66";
+}
+
+.bx-happy-heart-eyes:before {
+ content: "\ed67";
+}
+
+.bx-hash:before {
+ content: "\ed68";
+}
+
+.bx-hdd:before {
+ content: "\ed69";
+}
+
+.bx-heading:before {
+ content: "\ed6a";
+}
+
+.bx-headphone:before {
+ content: "\ed6b";
+}
+
+.bx-health:before {
+ content: "\ed6c";
+}
+
+.bx-heart:before {
+ content: "\ed6d";
+}
+
+.bx-heart-circle:before {
+ content: "\ed6e";
+}
+
+.bx-heart-square:before {
+ content: "\ed6f";
+}
+
+.bx-help-circle:before {
+ content: "\ed70";
+}
+
+.bx-hide:before {
+ content: "\ed71";
+}
+
+.bx-highlight:before {
+ content: "\ed72";
+}
+
+.bx-history:before {
+ content: "\ed73";
+}
+
+.bx-hive:before {
+ content: "\ed74";
+}
+
+.bx-home:before {
+ content: "\ed75";
+}
+
+.bx-home-alt:before {
+ content: "\ed76";
+}
+
+.bx-home-circle:before {
+ content: "\ed77";
+}
+
+.bx-home-heart:before {
+ content: "\ed78";
+}
+
+.bx-home-smile:before {
+ content: "\ed79";
+}
+
+.bx-horizontal-center:before {
+ content: "\ed7a";
+}
+
+.bx-hotel:before {
+ content: "\ed7b";
+}
+
+.bx-hourglass:before {
+ content: "\ed7c";
+}
+
+.bx-id-card:before {
+ content: "\ed7d";
+}
+
+.bx-image:before {
+ content: "\ed7e";
+}
+
+.bx-image-add:before {
+ content: "\ed7f";
+}
+
+.bx-image-alt:before {
+ content: "\ed80";
+}
+
+.bx-images:before {
+ content: "\ed81";
+}
+
+.bx-import:before {
+ content: "\ed82";
+}
+
+.bx-infinite:before {
+ content: "\ed83";
+}
+
+.bx-info-circle:before {
+ content: "\ed84";
+}
+
+.bx-info-square:before {
+ content: "\ed85";
+}
+
+.bx-intersect:before {
+ content: "\ed86";
+}
+
+.bx-italic:before {
+ content: "\ed87";
+}
+
+.bx-joystick:before {
+ content: "\ed88";
+}
+
+.bx-joystick-alt:before {
+ content: "\ed89";
+}
+
+.bx-joystick-button:before {
+ content: "\ed8a";
+}
+
+.bx-key:before {
+ content: "\ed8b";
+}
+
+.bx-label:before {
+ content: "\ed8c";
+}
+
+.bx-landscape:before {
+ content: "\ed8d";
+}
+
+.bx-laptop:before {
+ content: "\ed8e";
+}
+
+.bx-last-page:before {
+ content: "\ed8f";
+}
+
+.bx-laugh:before {
+ content: "\ed90";
+}
+
+.bx-layer:before {
+ content: "\ed91";
+}
+
+.bx-layer-minus:before {
+ content: "\ed92";
+}
+
+.bx-layer-plus:before {
+ content: "\ed93";
+}
+
+.bx-layout:before {
+ content: "\ed94";
+}
+
+.bx-left-arrow:before {
+ content: "\ed95";
+}
+
+.bx-left-arrow-alt:before {
+ content: "\ed96";
+}
+
+.bx-left-arrow-circle:before {
+ content: "\ed97";
+}
+
+.bx-left-down-arrow-circle:before {
+ content: "\ed98";
+}
+
+.bx-left-indent:before {
+ content: "\ed99";
+}
+
+.bx-left-top-arrow-circle:before {
+ content: "\ed9a";
+}
+
+.bx-library:before {
+ content: "\ed9b";
+}
+
+.bx-like:before {
+ content: "\ed9c";
+}
+
+.bx-line-chart:before {
+ content: "\ed9d";
+}
+
+.bx-line-chart-down:before {
+ content: "\ed9e";
+}
+
+.bx-link:before {
+ content: "\ed9f";
+}
+
+.bx-link-alt:before {
+ content: "\eda0";
+}
+
+.bx-link-external:before {
+ content: "\eda1";
+}
+
+.bx-lira:before {
+ content: "\eda2";
+}
+
+.bx-list-check:before {
+ content: "\eda3";
+}
+
+.bx-list-minus:before {
+ content: "\eda4";
+}
+
+.bx-list-ol:before {
+ content: "\eda5";
+}
+
+.bx-list-plus:before {
+ content: "\eda6";
+}
+
+.bx-list-ul:before {
+ content: "\eda7";
+}
+
+.bx-loader:before {
+ content: "\eda8";
+}
+
+.bx-loader-alt:before {
+ content: "\eda9";
+}
+
+.bx-loader-circle:before {
+ content: "\edaa";
+}
+
+.bx-location-plus:before {
+ content: "\edab";
+}
+
+.bx-lock:before {
+ content: "\edac";
+}
+
+.bx-lock-alt:before {
+ content: "\edad";
+}
+
+.bx-lock-open:before {
+ content: "\edae";
+}
+
+.bx-lock-open-alt:before {
+ content: "\edaf";
+}
+
+.bx-log-in:before {
+ content: "\edb0";
+}
+
+.bx-log-in-circle:before {
+ content: "\edb1";
+}
+
+.bx-log-out:before {
+ content: "\edb2";
+}
+
+.bx-log-out-circle:before {
+ content: "\edb3";
+}
+
+.bx-low-vision:before {
+ content: "\edb4";
+}
+
+.bx-magnet:before {
+ content: "\edb5";
+}
+
+.bx-mail-send:before {
+ content: "\edb6";
+}
+
+.bx-male:before {
+ content: "\edb7";
+}
+
+.bx-male-sign:before {
+ content: "\edb8";
+}
+
+.bx-map:before {
+ content: "\edb9";
+}
+
+.bx-map-alt:before {
+ content: "\edba";
+}
+
+.bx-map-pin:before {
+ content: "\edbb";
+}
+
+.bx-mask:before {
+ content: "\edbc";
+}
+
+.bx-medal:before {
+ content: "\edbd";
+}
+
+.bx-meh:before {
+ content: "\edbe";
+}
+
+.bx-meh-alt:before {
+ content: "\edbf";
+}
+
+.bx-meh-blank:before {
+ content: "\edc0";
+}
+
+.bx-memory-card:before {
+ content: "\edc1";
+}
+
+.bx-menu:before {
+ content: "\edc2";
+}
+
+.bx-menu-alt-left:before {
+ content: "\edc3";
+}
+
+.bx-menu-alt-right:before {
+ content: "\edc4";
+}
+
+.bx-merge:before {
+ content: "\edc5";
+}
+
+.bx-message:before {
+ content: "\edc6";
+}
+
+.bx-message-add:before {
+ content: "\edc7";
+}
+
+.bx-message-alt:before {
+ content: "\edc8";
+}
+
+.bx-message-alt-add:before {
+ content: "\edc9";
+}
+
+.bx-message-alt-check:before {
+ content: "\edca";
+}
+
+.bx-message-alt-detail:before {
+ content: "\edcb";
+}
+
+.bx-message-alt-dots:before {
+ content: "\edcc";
+}
+
+.bx-message-alt-edit:before {
+ content: "\edcd";
+}
+
+.bx-message-alt-error:before {
+ content: "\edce";
+}
+
+.bx-message-alt-minus:before {
+ content: "\edcf";
+}
+
+.bx-message-alt-x:before {
+ content: "\edd0";
+}
+
+.bx-message-check:before {
+ content: "\edd1";
+}
+
+.bx-message-detail:before {
+ content: "\edd2";
+}
+
+.bx-message-dots:before {
+ content: "\edd3";
+}
+
+.bx-message-edit:before {
+ content: "\edd4";
+}
+
+.bx-message-error:before {
+ content: "\edd5";
+}
+
+.bx-message-minus:before {
+ content: "\edd6";
+}
+
+.bx-message-rounded:before {
+ content: "\edd7";
+}
+
+.bx-message-rounded-add:before {
+ content: "\edd8";
+}
+
+.bx-message-rounded-check:before {
+ content: "\edd9";
+}
+
+.bx-message-rounded-detail:before {
+ content: "\edda";
+}
+
+.bx-message-rounded-dots:before {
+ content: "\eddb";
+}
+
+.bx-message-rounded-edit:before {
+ content: "\eddc";
+}
+
+.bx-message-rounded-error:before {
+ content: "\eddd";
+}
+
+.bx-message-rounded-minus:before {
+ content: "\edde";
+}
+
+.bx-message-rounded-x:before {
+ content: "\eddf";
+}
+
+.bx-message-square:before {
+ content: "\ede0";
+}
+
+.bx-message-square-add:before {
+ content: "\ede1";
+}
+
+.bx-message-square-check:before {
+ content: "\ede2";
+}
+
+.bx-message-square-detail:before {
+ content: "\ede3";
+}
+
+.bx-message-square-dots:before {
+ content: "\ede4";
+}
+
+.bx-message-square-edit:before {
+ content: "\ede5";
+}
+
+.bx-message-square-error:before {
+ content: "\ede6";
+}
+
+.bx-message-square-minus:before {
+ content: "\ede7";
+}
+
+.bx-message-square-x:before {
+ content: "\ede8";
+}
+
+.bx-message-x:before {
+ content: "\ede9";
+}
+
+.bx-meteor:before {
+ content: "\edea";
+}
+
+.bx-microchip:before {
+ content: "\edeb";
+}
+
+.bx-microphone:before {
+ content: "\edec";
+}
+
+.bx-microphone-off:before {
+ content: "\eded";
+}
+
+.bx-minus:before {
+ content: "\edee";
+}
+
+.bx-minus-back:before {
+ content: "\edef";
+}
+
+.bx-minus-circle:before {
+ content: "\edf0";
+}
+
+.bx-minus-front:before {
+ content: "\edf1";
+}
+
+.bx-mobile:before {
+ content: "\edf2";
+}
+
+.bx-mobile-alt:before {
+ content: "\edf3";
+}
+
+.bx-mobile-landscape:before {
+ content: "\edf4";
+}
+
+.bx-mobile-vibration:before {
+ content: "\edf5";
+}
+
+.bx-money:before {
+ content: "\edf6";
+}
+
+.bx-moon:before {
+ content: "\edf7";
+}
+
+.bx-mouse:before {
+ content: "\edf8";
+}
+
+.bx-mouse-alt:before {
+ content: "\edf9";
+}
+
+.bx-move:before {
+ content: "\edfa";
+}
+
+.bx-move-horizontal:before {
+ content: "\edfb";
+}
+
+.bx-move-vertical:before {
+ content: "\edfc";
+}
+
+.bx-movie:before {
+ content: "\edfd";
+}
+
+.bx-movie-play:before {
+ content: "\edfe";
+}
+
+.bx-music:before {
+ content: "\edff";
+}
+
+.bx-navigation:before {
+ content: "\ee00";
+}
+
+.bx-network-chart:before {
+ content: "\ee01";
+}
+
+.bx-news:before {
+ content: "\ee02";
+}
+
+.bx-no-entry:before {
+ content: "\ee03";
+}
+
+.bx-note:before {
+ content: "\ee04";
+}
+
+.bx-notepad:before {
+ content: "\ee05";
+}
+
+.bx-notification:before {
+ content: "\ee06";
+}
+
+.bx-notification-off:before {
+ content: "\ee07";
+}
+
+.bx-outline:before {
+ content: "\ee08";
+}
+
+.bx-package:before {
+ content: "\ee09";
+}
+
+.bx-paint:before {
+ content: "\ee0a";
+}
+
+.bx-paint-roll:before {
+ content: "\ee0b";
+}
+
+.bx-palette:before {
+ content: "\ee0c";
+}
+
+.bx-paperclip:before {
+ content: "\ee0d";
+}
+
+.bx-paper-plane:before {
+ content: "\ee0e";
+}
+
+.bx-paragraph:before {
+ content: "\ee0f";
+}
+
+.bx-paste:before {
+ content: "\ee10";
+}
+
+.bx-pause:before {
+ content: "\ee11";
+}
+
+.bx-pause-circle:before {
+ content: "\ee12";
+}
+
+.bx-pen:before {
+ content: "\ee13";
+}
+
+.bx-pencil:before {
+ content: "\ee14";
+}
+
+.bx-phone:before {
+ content: "\ee15";
+}
+
+.bx-phone-call:before {
+ content: "\ee16";
+}
+
+.bx-phone-incoming:before {
+ content: "\ee17";
+}
+
+.bx-phone-off:before {
+ content: "\ee18";
+}
+
+.bx-phone-outgoing:before {
+ content: "\ee19";
+}
+
+.bx-photo-album:before {
+ content: "\ee1a";
+}
+
+.bx-pie-chart:before {
+ content: "\ee1b";
+}
+
+.bx-pie-chart-alt:before {
+ content: "\ee1c";
+}
+
+.bx-pie-chart-alt-2:before {
+ content: "\ee1d";
+}
+
+.bx-pin:before {
+ content: "\ee1e";
+}
+
+.bx-planet:before {
+ content: "\ee1f";
+}
+
+.bx-play:before {
+ content: "\ee20";
+}
+
+.bx-play-circle:before {
+ content: "\ee21";
+}
+
+.bx-plug:before {
+ content: "\ee22";
+}
+
+.bx-plus:before {
+ content: "\ee23";
+}
+
+.bx-plus-circle:before {
+ content: "\ee24";
+}
+
+.bx-plus-medical:before {
+ content: "\ee25";
+}
+
+.bx-podcast:before {
+ content: "\ee26";
+}
+
+.bx-pointer:before {
+ content: "\ee27";
+}
+
+.bx-poll:before {
+ content: "\ee28";
+}
+
+.bx-polygon:before {
+ content: "\ee29";
+}
+
+.bx-pound:before {
+ content: "\ee2a";
+}
+
+.bx-power-off:before {
+ content: "\ee2b";
+}
+
+.bx-printer:before {
+ content: "\ee2c";
+}
+
+.bx-pulse:before {
+ content: "\ee2d";
+}
+
+.bx-purchase-tag:before {
+ content: "\ee2e";
+}
+
+.bx-purchase-tag-alt:before {
+ content: "\ee2f";
+}
+
+.bx-pyramid:before {
+ content: "\ee30";
+}
+
+.bx-qr:before {
+ content: "\ee31";
+}
+
+.bx-qr-scan:before {
+ content: "\ee32";
+}
+
+.bx-question-mark:before {
+ content: "\ee33";
+}
+
+.bx-radar:before {
+ content: "\ee34";
+}
+
+.bx-radio:before {
+ content: "\ee35";
+}
+
+.bx-radio-circle:before {
+ content: "\ee36";
+}
+
+.bx-radio-circle-marked:before {
+ content: "\ee37";
+}
+
+.bx-receipt:before {
+ content: "\ee38";
+}
+
+.bx-rectangle:before {
+ content: "\ee39";
+}
+
+.bx-recycle:before {
+ content: "\ee3a";
+}
+
+.bx-redo:before {
+ content: "\ee3b";
+}
+
+.bx-refresh:before {
+ content: "\ee3c";
+}
+
+.bx-registered:before {
+ content: "\ee3d";
+}
+
+.bx-rename:before {
+ content: "\ee3e";
+}
+
+.bx-repeat:before {
+ content: "\ee3f";
+}
+
+.bx-reply:before {
+ content: "\ee40";
+}
+
+.bx-reply-all:before {
+ content: "\ee41";
+}
+
+.bx-repost:before {
+ content: "\ee42";
+}
+
+.bx-reset:before {
+ content: "\ee43";
+}
+
+.bx-restaurant:before {
+ content: "\ee44";
+}
+
+.bx-revision:before {
+ content: "\ee45";
+}
+
+.bx-rewind:before {
+ content: "\ee46";
+}
+
+.bx-rewind-circle:before {
+ content: "\ee47";
+}
+
+.bx-right-arrow:before {
+ content: "\ee48";
+}
+
+.bx-right-arrow-alt:before {
+ content: "\ee49";
+}
+
+.bx-right-arrow-circle:before {
+ content: "\ee4a";
+}
+
+.bx-right-down-arrow-circle:before {
+ content: "\ee4b";
+}
+
+.bx-right-indent:before {
+ content: "\ee4c";
+}
+
+.bx-right-top-arrow-circle:before {
+ content: "\ee4d";
+}
+
+.bx-rocket:before {
+ content: "\ee4e";
+}
+
+.bx-rotate-left:before {
+ content: "\ee4f";
+}
+
+.bx-rotate-right:before {
+ content: "\ee50";
+}
+
+.bx-rss:before {
+ content: "\ee51";
+}
+
+.bx-ruble:before {
+ content: "\ee52";
+}
+
+.bx-ruler:before {
+ content: "\ee53";
+}
+
+.bx-run:before {
+ content: "\ee54";
+}
+
+.bx-rupee:before {
+ content: "\ee55";
+}
+
+.bx-sad:before {
+ content: "\ee56";
+}
+
+.bx-save:before {
+ content: "\ee57";
+}
+
+.bx-scan:before {
+ content: "\ee58";
+}
+
+.bx-screenshot:before {
+ content: "\ee59";
+}
+
+.bx-search:before {
+ content: "\ee5a";
+}
+
+.bx-search-alt:before {
+ content: "\ee5b";
+}
+
+.bx-search-alt-2:before {
+ content: "\ee5c";
+}
+
+.bx-selection:before {
+ content: "\ee5d";
+}
+
+.bx-select-multiple:before {
+ content: "\ee5e";
+}
+
+.bx-send:before {
+ content: "\ee5f";
+}
+
+.bx-server:before {
+ content: "\ee60";
+}
+
+.bx-shape-circle:before {
+ content: "\ee61";
+}
+
+.bx-shape-polygon:before {
+ content: "\ee62";
+}
+
+.bx-shape-square:before {
+ content: "\ee63";
+}
+
+.bx-shape-triangle:before {
+ content: "\ee64";
+}
+
+.bx-share:before {
+ content: "\ee65";
+}
+
+.bx-share-alt:before {
+ content: "\ee66";
+}
+
+.bx-shekel:before {
+ content: "\ee67";
+}
+
+.bx-shield:before {
+ content: "\ee68";
+}
+
+.bx-shield-alt:before {
+ content: "\ee69";
+}
+
+.bx-shield-alt-2:before {
+ content: "\ee6a";
+}
+
+.bx-shield-quarter:before {
+ content: "\ee6b";
+}
+
+.bx-shield-x:before {
+ content: "\ee6c";
+}
+
+.bx-shocked:before {
+ content: "\ee6d";
+}
+
+.bx-shopping-bag:before {
+ content: "\ee6e";
+}
+
+.bx-show:before {
+ content: "\ee6f";
+}
+
+.bx-show-alt:before {
+ content: "\ee70";
+}
+
+.bx-shuffle:before {
+ content: "\ee71";
+}
+
+.bx-sidebar:before {
+ content: "\ee72";
+}
+
+.bx-sitemap:before {
+ content: "\ee73";
+}
+
+.bx-skip-next:before {
+ content: "\ee74";
+}
+
+.bx-skip-next-circle:before {
+ content: "\ee75";
+}
+
+.bx-skip-previous:before {
+ content: "\ee76";
+}
+
+.bx-skip-previous-circle:before {
+ content: "\ee77";
+}
+
+.bx-sleepy:before {
+ content: "\ee78";
+}
+
+.bx-slider:before {
+ content: "\ee79";
+}
+
+.bx-slider-alt:before {
+ content: "\ee7a";
+}
+
+.bx-slideshow:before {
+ content: "\ee7b";
+}
+
+.bx-smile:before {
+ content: "\ee7c";
+}
+
+.bx-sort:before {
+ content: "\ee7d";
+}
+
+.bx-sort-alt-2:before {
+ content: "\ee7e";
+}
+
+.bx-sort-a-z:before {
+ content: "\ee7f";
+}
+
+.bx-sort-down:before {
+ content: "\ee80";
+}
+
+.bx-sort-up:before {
+ content: "\ee81";
+}
+
+.bx-sort-z-a:before {
+ content: "\ee82";
+}
+
+.bx-spa:before {
+ content: "\ee83";
+}
+
+.bx-space-bar:before {
+ content: "\ee84";
+}
+
+.bx-speaker:before {
+ content: "\ee85";
+}
+
+.bx-spray-can:before {
+ content: "\ee86";
+}
+
+.bx-spreadsheet:before {
+ content: "\ee87";
+}
+
+.bx-square:before {
+ content: "\ee88";
+}
+
+.bx-square-rounded:before {
+ content: "\ee89";
+}
+
+.bx-star:before {
+ content: "\ee8a";
+}
+
+.bx-station:before {
+ content: "\ee8b";
+}
+
+.bx-stats:before {
+ content: "\ee8c";
+}
+
+.bx-sticker:before {
+ content: "\ee8d";
+}
+
+.bx-stop:before {
+ content: "\ee8e";
+}
+
+.bx-stop-circle:before {
+ content: "\ee8f";
+}
+
+.bx-stopwatch:before {
+ content: "\ee90";
+}
+
+.bx-store:before {
+ content: "\ee91";
+}
+
+.bx-store-alt:before {
+ content: "\ee92";
+}
+
+.bx-street-view:before {
+ content: "\ee93";
+}
+
+.bx-strikethrough:before {
+ content: "\ee94";
+}
+
+.bx-subdirectory-left:before {
+ content: "\ee95";
+}
+
+.bx-subdirectory-right:before {
+ content: "\ee96";
+}
+
+.bx-sun:before {
+ content: "\ee97";
+}
+
+.bx-support:before {
+ content: "\ee98";
+}
+
+.bx-swim:before {
+ content: "\ee99";
+}
+
+.bx-sync:before {
+ content: "\ee9a";
+}
+
+.bx-tab:before {
+ content: "\ee9b";
+}
+
+.bx-table:before {
+ content: "\ee9c";
+}
+
+.bx-tachometer:before {
+ content: "\ee9d";
+}
+
+.bx-tag:before {
+ content: "\ee9e";
+}
+
+.bx-tag-alt:before {
+ content: "\ee9f";
+}
+
+.bx-target-lock:before {
+ content: "\eea0";
+}
+
+.bx-task:before {
+ content: "\eea1";
+}
+
+.bx-task-x:before {
+ content: "\eea2";
+}
+
+.bx-taxi:before {
+ content: "\eea3";
+}
+
+.bx-tennis-ball:before {
+ content: "\eea4";
+}
+
+.bx-terminal:before {
+ content: "\eea5";
+}
+
+.bx-test-tube:before {
+ content: "\eea6";
+}
+
+.bx-text:before {
+ content: "\eea7";
+}
+
+.bx-time:before {
+ content: "\eea8";
+}
+
+.bx-time-five:before {
+ content: "\eea9";
+}
+
+.bx-timer:before {
+ content: "\eeaa";
+}
+
+.bx-tired:before {
+ content: "\eeab";
+}
+
+.bx-toggle-left:before {
+ content: "\eeac";
+}
+
+.bx-toggle-right:before {
+ content: "\eead";
+}
+
+.bx-tone:before {
+ content: "\eeae";
+}
+
+.bx-traffic-cone:before {
+ content: "\eeaf";
+}
+
+.bx-train:before {
+ content: "\eeb0";
+}
+
+.bx-transfer:before {
+ content: "\eeb1";
+}
+
+.bx-transfer-alt:before {
+ content: "\eeb2";
+}
+
+.bx-trash:before {
+ content: "\eeb3";
+}
+
+.bx-trash-alt:before {
+ content: "\eeb4";
+}
+
+.bx-trending-down:before {
+ content: "\eeb5";
+}
+
+.bx-trending-up:before {
+ content: "\eeb6";
+}
+
+.bx-trim:before {
+ content: "\eeb7";
+}
+
+.bx-trip:before {
+ content: "\eeb8";
+}
+
+.bx-trophy:before {
+ content: "\eeb9";
+}
+
+.bx-tv:before {
+ content: "\eeba";
+}
+
+.bx-underline:before {
+ content: "\eebb";
+}
+
+.bx-undo:before {
+ content: "\eebc";
+}
+
+.bx-unite:before {
+ content: "\eebd";
+}
+
+.bx-unlink:before {
+ content: "\eebe";
+}
+
+.bx-up-arrow:before {
+ content: "\eebf";
+}
+
+.bx-up-arrow-alt:before {
+ content: "\eec0";
+}
+
+.bx-up-arrow-circle:before {
+ content: "\eec1";
+}
+
+.bx-upload:before {
+ content: "\eec2";
+}
+
+.bx-upside-down:before {
+ content: "\eec3";
+}
+
+.bx-upvote:before {
+ content: "\eec4";
+}
+
+.bx-usb:before {
+ content: "\eec5";
+}
+
+.bx-user:before {
+ content: "\eec6";
+}
+
+.bx-user-check:before {
+ content: "\eec7";
+}
+
+.bx-user-circle:before {
+ content: "\eec8";
+}
+
+.bx-user-minus:before {
+ content: "\eec9";
+}
+
+.bx-user-pin:before {
+ content: "\eeca";
+}
+
+.bx-user-plus:before {
+ content: "\eecb";
+}
+
+.bx-user-voice:before {
+ content: "\eecc";
+}
+
+.bx-user-x:before {
+ content: "\eecd";
+}
+
+.bx-vector:before {
+ content: "\eece";
+}
+
+.bx-vertical-center:before {
+ content: "\eecf";
+}
+
+.bx-vial:before {
+ content: "\eed0";
+}
+
+.bx-video:before {
+ content: "\eed1";
+}
+
+.bx-video-off:before {
+ content: "\eed2";
+}
+
+.bx-video-plus:before {
+ content: "\eed3";
+}
+
+.bx-video-recording:before {
+ content: "\eed4";
+}
+
+.bx-voicemail:before {
+ content: "\eed5";
+}
+
+.bx-volume:before {
+ content: "\eed6";
+}
+
+.bx-volume-full:before {
+ content: "\eed7";
+}
+
+.bx-volume-low:before {
+ content: "\eed8";
+}
+
+.bx-volume-mute:before {
+ content: "\eed9";
+}
+
+.bx-walk:before {
+ content: "\eeda";
+}
+
+.bx-wallet:before {
+ content: "\eedb";
+}
+
+.bx-wallet-alt:before {
+ content: "\eedc";
+}
+
+.bx-water:before {
+ content: "\eedd";
+}
+
+.bx-webcam:before {
+ content: "\eede";
+}
+
+.bx-wifi:before {
+ content: "\eedf";
+}
+
+.bx-wifi-0:before {
+ content: "\eee0";
+}
+
+.bx-wifi-1:before {
+ content: "\eee1";
+}
+
+.bx-wifi-2:before {
+ content: "\eee2";
+}
+
+.bx-wifi-off:before {
+ content: "\eee3";
+}
+
+.bx-wind:before {
+ content: "\eee4";
+}
+
+.bx-window:before {
+ content: "\eee5";
+}
+
+.bx-window-alt:before {
+ content: "\eee6";
+}
+
+.bx-window-close:before {
+ content: "\eee7";
+}
+
+.bx-window-open:before {
+ content: "\eee8";
+}
+
+.bx-windows:before {
+ content: "\eee9";
+}
+
+.bx-wine:before {
+ content: "\eeea";
+}
+
+.bx-wink-smile:before {
+ content: "\eeeb";
+}
+
+.bx-wink-tongue:before {
+ content: "\eeec";
+}
+
+.bx-won:before {
+ content: "\eeed";
+}
+
+.bx-world:before {
+ content: "\eeee";
+}
+
+.bx-wrench:before {
+ content: "\eeef";
+}
+
+.bx-x:before {
+ content: "\eef0";
+}
+
+.bx-x-circle:before {
+ content: "\eef1";
+}
+
+.bx-yen:before {
+ content: "\eef2";
+}
+
+.bx-zoom-in:before {
+ content: "\eef3";
+}
+
+.bx-zoom-out:before {
+ content: "\eef4";
+}
+
+.bx {
+ vertical-align: middle;
+ font-size: 1.15rem;
+ line-height: 1;
+}
+
+@font-face {
+ font-family: "boxicons";
+ font-weight: normal;
+ font-style: normal;
+ src: url("../fonts/boxicons/boxicons.eot");
+ src: url("../fonts/boxicons/boxicons.eot") format("embedded-opentype"), url("../fonts/boxicons/boxicons.woff2") format("woff2"), url("../fonts/boxicons/boxicons.woff") format("woff"), url("../fonts/boxicons/boxicons.ttf") format("truetype"), url("../fonts/boxicons/boxicons.svg?#boxicons") format("svg");
+}
diff --git a/admin/assets/vendor/fonts/boxicons/boxicons.eot b/admin/assets/vendor/fonts/boxicons/boxicons.eot
new file mode 100644
index 0000000..383f3d5
Binary files /dev/null and b/admin/assets/vendor/fonts/boxicons/boxicons.eot differ
diff --git a/admin/assets/vendor/fonts/boxicons/boxicons.svg b/admin/assets/vendor/fonts/boxicons/boxicons.svg
new file mode 100644
index 0000000..1ca67db
--- /dev/null
+++ b/admin/assets/vendor/fonts/boxicons/boxicons.svg
@@ -0,0 +1,1551 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/assets/vendor/fonts/boxicons/boxicons.ttf b/admin/assets/vendor/fonts/boxicons/boxicons.ttf
new file mode 100644
index 0000000..297e6ea
Binary files /dev/null and b/admin/assets/vendor/fonts/boxicons/boxicons.ttf differ
diff --git a/admin/assets/vendor/fonts/boxicons/boxicons.woff b/admin/assets/vendor/fonts/boxicons/boxicons.woff
new file mode 100644
index 0000000..efed2d3
Binary files /dev/null and b/admin/assets/vendor/fonts/boxicons/boxicons.woff differ
diff --git a/admin/assets/vendor/fonts/boxicons/boxicons.woff2 b/admin/assets/vendor/fonts/boxicons/boxicons.woff2
new file mode 100644
index 0000000..7f2e70a
Binary files /dev/null and b/admin/assets/vendor/fonts/boxicons/boxicons.woff2 differ
diff --git a/admin/assets/vendor/js/bootstrap.js b/admin/assets/vendor/js/bootstrap.js
new file mode 100644
index 0000000..6b15b13
--- /dev/null
+++ b/admin/assets/vendor/js/bootstrap.js
@@ -0,0 +1,809 @@
+(function(e, a) { for(var i in a) e[i] = a[i]; }(window, /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = "./js/bootstrap.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./js/bootstrap.js":
+/*!*************************!*\
+ !*** ./js/bootstrap.js ***!
+ \*************************/
+/*! exports provided: bootstrap */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ \"./node_modules/bootstrap/dist/js/bootstrap.esm.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"bootstrap\", function() { return bootstrap__WEBPACK_IMPORTED_MODULE_0__; });\n // Extend Tooltip to add color options\n\nbootstrap__WEBPACK_IMPORTED_MODULE_0__[\"Tooltip\"].prototype.show = function (original) {\n return function addTooltipColor() {\n if (this._config.toggle === 'tooltip') {\n if (this._element.getAttribute('data-color')) {\n var str = \"tooltip-\".concat(this._element.getAttribute('data-color'));\n this.getTipElement().classList.add(str);\n }\n }\n\n original.apply(this);\n };\n}(bootstrap__WEBPACK_IMPORTED_MODULE_0__[\"Tooltip\"].prototype.show); // Extend Popover to add color options\n\n\nbootstrap__WEBPACK_IMPORTED_MODULE_0__[\"Popover\"].prototype.show = function (original) {\n return function addPopoverColor() {\n if (this._config.toggle === 'popover') {\n if (this._element.getAttribute('data-color')) {\n var str = \"popover-\".concat(this._element.getAttribute('data-color'));\n this.getTipElement().classList.add(str);\n }\n }\n\n original.apply(this);\n };\n}(bootstrap__WEBPACK_IMPORTED_MODULE_0__[\"Popover\"].prototype.show);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9ib290c3RyYXAuanM/OTQ1ZiJdLCJuYW1lcyI6WyJib290c3RyYXAiLCJwcm90b3R5cGUiLCJzaG93Iiwib3JpZ2luYWwiLCJhZGRUb29sdGlwQ29sb3IiLCJfY29uZmlnIiwidG9nZ2xlIiwiX2VsZW1lbnQiLCJnZXRBdHRyaWJ1dGUiLCJzdHIiLCJnZXRUaXBFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwiYXBwbHkiLCJhZGRQb3BvdmVyQ29sb3IiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtDQUVBOztBQUNBQSxpREFBQSxDQUFrQkMsU0FBbEIsQ0FBNEJDLElBQTVCLEdBQW9DLFVBQUFDLFFBQVEsRUFBSTtBQUM5QyxTQUFPLFNBQVNDLGVBQVQsR0FBMkI7QUFDaEMsUUFBSSxLQUFLQyxPQUFMLENBQWFDLE1BQWIsS0FBd0IsU0FBNUIsRUFBdUM7QUFDckMsVUFBSSxLQUFLQyxRQUFMLENBQWNDLFlBQWQsQ0FBMkIsWUFBM0IsQ0FBSixFQUE4QztBQUM1QyxZQUFNQyxHQUFHLHFCQUFjLEtBQUtGLFFBQUwsQ0FBY0MsWUFBZCxDQUEyQixZQUEzQixDQUFkLENBQVQ7QUFDQSxhQUFLRSxhQUFMLEdBQXFCQyxTQUFyQixDQUErQkMsR0FBL0IsQ0FBbUNILEdBQW5DO0FBQ0Q7QUFDRjs7QUFDRE4sWUFBUSxDQUFDVSxLQUFULENBQWUsSUFBZjtBQUNELEdBUkQ7QUFTRCxDQVZrQyxDQVVoQ2IsaURBQUEsQ0FBa0JDLFNBQWxCLENBQTRCQyxJQVZJLENBQW5DLEMsQ0FZQTs7O0FBQ0FGLGlEQUFBLENBQWtCQyxTQUFsQixDQUE0QkMsSUFBNUIsR0FBb0MsVUFBQUMsUUFBUSxFQUFJO0FBQzlDLFNBQU8sU0FBU1csZUFBVCxHQUEyQjtBQUNoQyxRQUFJLEtBQUtULE9BQUwsQ0FBYUMsTUFBYixLQUF3QixTQUE1QixFQUF1QztBQUNyQyxVQUFJLEtBQUtDLFFBQUwsQ0FBY0MsWUFBZCxDQUEyQixZQUEzQixDQUFKLEVBQThDO0FBQzVDLFlBQU1DLEdBQUcscUJBQWMsS0FBS0YsUUFBTCxDQUFjQyxZQUFkLENBQTJCLFlBQTNCLENBQWQsQ0FBVDtBQUNBLGFBQUtFLGFBQUwsR0FBcUJDLFNBQXJCLENBQStCQyxHQUEvQixDQUFtQ0gsR0FBbkM7QUFDRDtBQUNGOztBQUNETixZQUFRLENBQUNVLEtBQVQsQ0FBZSxJQUFmO0FBQ0QsR0FSRDtBQVNELENBVmtDLENBVWhDYixpREFBQSxDQUFrQkMsU0FBbEIsQ0FBNEJDLElBVkksQ0FBbkMiLCJmaWxlIjoiLi9qcy9ib290c3RyYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBib290c3RyYXAgZnJvbSAnYm9vdHN0cmFwJ1xuXG4vLyBFeHRlbmQgVG9vbHRpcCB0byBhZGQgY29sb3Igb3B0aW9uc1xuYm9vdHN0cmFwLlRvb2x0aXAucHJvdG90eXBlLnNob3cgPSAob3JpZ2luYWwgPT4ge1xuICByZXR1cm4gZnVuY3Rpb24gYWRkVG9vbHRpcENvbG9yKCkge1xuICAgIGlmICh0aGlzLl9jb25maWcudG9nZ2xlID09PSAndG9vbHRpcCcpIHtcbiAgICAgIGlmICh0aGlzLl9lbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1jb2xvcicpKSB7XG4gICAgICAgIGNvbnN0IHN0ciA9IGB0b29sdGlwLSR7dGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29sb3InKX1gXG4gICAgICAgIHRoaXMuZ2V0VGlwRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoc3RyKVxuICAgICAgfVxuICAgIH1cbiAgICBvcmlnaW5hbC5hcHBseSh0aGlzKVxuICB9XG59KShib290c3RyYXAuVG9vbHRpcC5wcm90b3R5cGUuc2hvdylcblxuLy8gRXh0ZW5kIFBvcG92ZXIgdG8gYWRkIGNvbG9yIG9wdGlvbnNcbmJvb3RzdHJhcC5Qb3BvdmVyLnByb3RvdHlwZS5zaG93ID0gKG9yaWdpbmFsID0+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGFkZFBvcG92ZXJDb2xvcigpIHtcbiAgICBpZiAodGhpcy5fY29uZmlnLnRvZ2dsZSA9PT0gJ3BvcG92ZXInKSB7XG4gICAgICBpZiAodGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29sb3InKSkge1xuICAgICAgICBjb25zdCBzdHIgPSBgcG9wb3Zlci0ke3RoaXMuX2VsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvbG9yJyl9YFxuICAgICAgICB0aGlzLmdldFRpcEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKHN0cilcbiAgICAgIH1cbiAgICB9XG4gICAgb3JpZ2luYWwuYXBwbHkodGhpcylcbiAgfVxufSkoYm9vdHN0cmFwLlBvcG92ZXIucHJvdG90eXBlLnNob3cpXG5cbmV4cG9ydCB7IGJvb3RzdHJhcCB9XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./js/bootstrap.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/createPopper.js":
+/*!*********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/createPopper.js ***!
+ \*********************************************************/
+/*! exports provided: popperGenerator, createPopper, detectOverflow */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"popperGenerator\", function() { return popperGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopper\", function() { return createPopper; });\n/* harmony import */ var _dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-utils/getCompositeRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom-utils/listScrollParents.js */ \"./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dom-utils/getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/orderModifiers.js */ \"./node_modules/@popperjs/core/lib/utils/orderModifiers.js\");\n/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/debounce.js */ \"./node_modules/@popperjs/core/lib/utils/debounce.js\");\n/* harmony import */ var _utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/validateModifiers.js */ \"./node_modules/@popperjs/core/lib/utils/validateModifiers.js\");\n/* harmony import */ var _utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/uniqueBy.js */ \"./node_modules/@popperjs/core/lib/utils/uniqueBy.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/mergeByName.js */ \"./node_modules/@popperjs/core/lib/utils/mergeByName.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectOverflow\", function() { return _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: Object(_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_12__[\"isElement\"])(reference) ? Object(_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(reference) : reference.contextElement ? Object(_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(reference.contextElement) : [],\n popper: Object(_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = Object(_utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Object(_utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (true) {\n var modifiers = Object(_utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n Object(_utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(modifiers);\n\n if (Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(state.options.placement) === _enums_js__WEBPACK_IMPORTED_MODULE_13__[\"auto\"]) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = Object(_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: Object(_dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(reference, Object(_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(popper), state.options.strategy === 'fixed'),\n popper: Object(_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (true) {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: Object(_utils_debounce_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nvar createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2NyZWF0ZVBvcHBlci5qcz82Y2VlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStEO0FBQ047QUFDUTtBQUNKO0FBQ0U7QUFDUjtBQUNaO0FBQ2tCO0FBQ2xCO0FBQ2dCO0FBQ1Y7QUFDTTtBQUNEO0FBQ3BCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUVBQXFFLGFBQWE7QUFDbEY7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0EscUJBQXFCLDJFQUFTLGNBQWMsK0VBQWlCLHlDQUF5QywrRUFBaUI7QUFDdkgsa0JBQWtCLCtFQUFpQjtBQUNuQyxVQUFVO0FBQ1Y7O0FBRUEsK0JBQStCLHdFQUFjLENBQUMsc0VBQVcsd0RBQXdEOztBQUVqSDtBQUNBO0FBQ0EsU0FBUyxFQUFFO0FBQ1g7O0FBRUEsWUFBWSxJQUFxQztBQUNqRCwwQkFBMEIsa0VBQVE7QUFDbEM7QUFDQTtBQUNBLFdBQVc7QUFDWCxVQUFVLDJFQUFpQjs7QUFFM0IsY0FBYywwRUFBZ0IsOEJBQThCLCtDQUFJO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDLDhFQUFnQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7OztBQUdBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQSxjQUFjLElBQXFDO0FBQ25EO0FBQ0E7O0FBRUE7QUFDQSxTQUFTOzs7QUFHVDtBQUNBLHFCQUFxQiw4RUFBZ0IsWUFBWSw2RUFBZTtBQUNoRSxrQkFBa0IsMkVBQWE7QUFDL0IsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSzs7QUFFbEQ7QUFDQSxzRUFBc0U7QUFDdEUsU0FBUztBQUNUOztBQUVBLDJCQUEyQix1Q0FBdUM7QUFDbEUsY0FBYyxJQUFxQztBQUNuRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0RBQStEO0FBQy9EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxjQUFjLGtFQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVUsSUFBcUM7QUFDL0M7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNPLGtEQUFrRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvY3JlYXRlUG9wcGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldENvbXBvc2l0ZVJlY3QgZnJvbSBcIi4vZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgb3JkZXJNb2RpZmllcnMgZnJvbSBcIi4vdXRpbHMvb3JkZXJNb2RpZmllcnMuanNcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwiLi91dGlscy9kZWJvdW5jZS5qc1wiO1xuaW1wb3J0IHZhbGlkYXRlTW9kaWZpZXJzIGZyb20gXCIuL3V0aWxzL3ZhbGlkYXRlTW9kaWZpZXJzLmpzXCI7XG5pbXBvcnQgdW5pcXVlQnkgZnJvbSBcIi4vdXRpbHMvdW5pcXVlQnkuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBtZXJnZUJ5TmFtZSBmcm9tIFwiLi91dGlscy9tZXJnZUJ5TmFtZS5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgeyBpc0VsZW1lbnQgfSBmcm9tIFwiLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IHsgYXV0byB9IGZyb20gXCIuL2VudW1zLmpzXCI7XG52YXIgSU5WQUxJRF9FTEVNRU5UX0VSUk9SID0gJ1BvcHBlcjogSW52YWxpZCByZWZlcmVuY2Ugb3IgcG9wcGVyIGFyZ3VtZW50IHByb3ZpZGVkLiBUaGV5IG11c3QgYmUgZWl0aGVyIGEgRE9NIGVsZW1lbnQgb3IgdmlydHVhbCBlbGVtZW50Lic7XG52YXIgSU5GSU5JVEVfTE9PUF9FUlJPUiA9ICdQb3BwZXI6IEFuIGluZmluaXRlIGxvb3AgaW4gdGhlIG1vZGlmaWVycyBjeWNsZSBoYXMgYmVlbiBkZXRlY3RlZCEgVGhlIGN5Y2xlIGhhcyBiZWVuIGludGVycnVwdGVkIHRvIHByZXZlbnQgYSBicm93c2VyIGNyYXNoLic7XG52YXIgREVGQVVMVF9PUFRJT05TID0ge1xuICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICBtb2RpZmllcnM6IFtdLFxuICBzdHJhdGVneTogJ2Fic29sdXRlJ1xufTtcblxuZnVuY3Rpb24gYXJlVmFsaWRFbGVtZW50cygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiAhYXJncy5zb21lKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgcmV0dXJuICEoZWxlbWVudCAmJiB0eXBlb2YgZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPT09ICdmdW5jdGlvbicpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHBlckdlbmVyYXRvcihnZW5lcmF0b3JPcHRpb25zKSB7XG4gIGlmIChnZW5lcmF0b3JPcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBnZW5lcmF0b3JPcHRpb25zID0ge307XG4gIH1cblxuICB2YXIgX2dlbmVyYXRvck9wdGlvbnMgPSBnZW5lcmF0b3JPcHRpb25zLFxuICAgICAgX2dlbmVyYXRvck9wdGlvbnMkZGVmID0gX2dlbmVyYXRvck9wdGlvbnMuZGVmYXVsdE1vZGlmaWVycyxcbiAgICAgIGRlZmF1bHRNb2RpZmllcnMgPSBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYgPT09IHZvaWQgMCA/IFtdIDogX2dlbmVyYXRvck9wdGlvbnMkZGVmLFxuICAgICAgX2dlbmVyYXRvck9wdGlvbnMkZGVmMiA9IF9nZW5lcmF0b3JPcHRpb25zLmRlZmF1bHRPcHRpb25zLFxuICAgICAgZGVmYXVsdE9wdGlvbnMgPSBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyID09PSB2b2lkIDAgPyBERUZBVUxUX09QVElPTlMgOiBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyO1xuICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlUG9wcGVyKHJlZmVyZW5jZSwgcG9wcGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgICAgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zO1xuICAgIH1cblxuICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICBvcmRlcmVkTW9kaWZpZXJzOiBbXSxcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfT1BUSU9OUywgZGVmYXVsdE9wdGlvbnMpLFxuICAgICAgbW9kaWZpZXJzRGF0YToge30sXG4gICAgICBlbGVtZW50czoge1xuICAgICAgICByZWZlcmVuY2U6IHJlZmVyZW5jZSxcbiAgICAgICAgcG9wcGVyOiBwb3BwZXJcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgIHN0eWxlczoge31cbiAgICB9O1xuICAgIHZhciBlZmZlY3RDbGVhbnVwRm5zID0gW107XG4gICAgdmFyIGlzRGVzdHJveWVkID0gZmFsc2U7XG4gICAgdmFyIGluc3RhbmNlID0ge1xuICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgc2V0T3B0aW9uczogZnVuY3Rpb24gc2V0T3B0aW9ucyhzZXRPcHRpb25zQWN0aW9uKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIHNldE9wdGlvbnNBY3Rpb24gPT09ICdmdW5jdGlvbicgPyBzZXRPcHRpb25zQWN0aW9uKHN0YXRlLm9wdGlvbnMpIDogc2V0T3B0aW9uc0FjdGlvbjtcbiAgICAgICAgY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpO1xuICAgICAgICBzdGF0ZS5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIHN0YXRlLm9wdGlvbnMsIG9wdGlvbnMpO1xuICAgICAgICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0ge1xuICAgICAgICAgIHJlZmVyZW5jZTogaXNFbGVtZW50KHJlZmVyZW5jZSkgPyBsaXN0U2Nyb2xsUGFyZW50cyhyZWZlcmVuY2UpIDogcmVmZXJlbmNlLmNvbnRleHRFbGVtZW50ID8gbGlzdFNjcm9sbFBhcmVudHMocmVmZXJlbmNlLmNvbnRleHRFbGVtZW50KSA6IFtdLFxuICAgICAgICAgIHBvcHBlcjogbGlzdFNjcm9sbFBhcmVudHMocG9wcGVyKVxuICAgICAgICB9OyAvLyBPcmRlcnMgdGhlIG1vZGlmaWVycyBiYXNlZCBvbiB0aGVpciBkZXBlbmRlbmNpZXMgYW5kIGBwaGFzZWBcbiAgICAgICAgLy8gcHJvcGVydGllc1xuXG4gICAgICAgIHZhciBvcmRlcmVkTW9kaWZpZXJzID0gb3JkZXJNb2RpZmllcnMobWVyZ2VCeU5hbWUoW10uY29uY2F0KGRlZmF1bHRNb2RpZmllcnMsIHN0YXRlLm9wdGlvbnMubW9kaWZpZXJzKSkpOyAvLyBTdHJpcCBvdXQgZGlzYWJsZWQgbW9kaWZpZXJzXG5cbiAgICAgICAgc3RhdGUub3JkZXJlZE1vZGlmaWVycyA9IG9yZGVyZWRNb2RpZmllcnMuZmlsdGVyKGZ1bmN0aW9uIChtKSB7XG4gICAgICAgICAgcmV0dXJuIG0uZW5hYmxlZDtcbiAgICAgICAgfSk7IC8vIFZhbGlkYXRlIHRoZSBwcm92aWRlZCBtb2RpZmllcnMgc28gdGhhdCB0aGUgY29uc3VtZXIgd2lsbCBnZXQgd2FybmVkXG4gICAgICAgIC8vIGlmIG9uZSBvZiB0aGUgbW9kaWZpZXJzIGlzIGludmFsaWQgZm9yIGFueSByZWFzb25cblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgdmFyIG1vZGlmaWVycyA9IHVuaXF1ZUJ5KFtdLmNvbmNhdChvcmRlcmVkTW9kaWZpZXJzLCBzdGF0ZS5vcHRpb25zLm1vZGlmaWVycyksIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICAgICAgICB2YXIgbmFtZSA9IF9yZWYubmFtZTtcbiAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHZhbGlkYXRlTW9kaWZpZXJzKG1vZGlmaWVycyk7XG5cbiAgICAgICAgICBpZiAoZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5vcHRpb25zLnBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICAgICAgICAgIHZhciBmbGlwTW9kaWZpZXIgPSBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZpbmQoZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgICAgICAgICAgIHZhciBuYW1lID0gX3JlZjIubmFtZTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgPT09ICdmbGlwJztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoIWZsaXBNb2RpZmllcikge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImF1dG9cIiBwbGFjZW1lbnRzIHJlcXVpcmUgdGhlIFwiZmxpcFwiIG1vZGlmaWVyIGJlJywgJ3ByZXNlbnQgYW5kIGVuYWJsZWQgdG8gd29yay4nXS5qb2luKCcgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfZ2V0Q29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUocG9wcGVyKSxcbiAgICAgICAgICAgICAgbWFyZ2luVG9wID0gX2dldENvbXB1dGVkU3R5bGUubWFyZ2luVG9wLFxuICAgICAgICAgICAgICBtYXJnaW5SaWdodCA9IF9nZXRDb21wdXRlZFN0eWxlLm1hcmdpblJpZ2h0LFxuICAgICAgICAgICAgICBtYXJnaW5Cb3R0b20gPSBfZ2V0Q29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20sXG4gICAgICAgICAgICAgIG1hcmdpbkxlZnQgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5tYXJnaW5MZWZ0OyAvLyBXZSBubyBsb25nZXIgdGFrZSBpbnRvIGFjY291bnQgYG1hcmdpbnNgIG9uIHRoZSBwb3BwZXIsIGFuZCBpdCBjYW5cbiAgICAgICAgICAvLyBjYXVzZSBidWdzIHdpdGggcG9zaXRpb25pbmcsIHNvIHdlJ2xsIHdhcm4gdGhlIGNvbnN1bWVyXG5cblxuICAgICAgICAgIGlmIChbbWFyZ2luVG9wLCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0XS5zb21lKGZ1bmN0aW9uIChtYXJnaW4pIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KG1hcmdpbik7XG4gICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihbJ1BvcHBlcjogQ1NTIFwibWFyZ2luXCIgc3R5bGVzIGNhbm5vdCBiZSB1c2VkIHRvIGFwcGx5IHBhZGRpbmcnLCAnYmV0d2VlbiB0aGUgcG9wcGVyIGFuZCBpdHMgcmVmZXJlbmNlIGVsZW1lbnQgb3IgYm91bmRhcnkuJywgJ1RvIHJlcGxpY2F0ZSBtYXJnaW4sIHVzZSB0aGUgYG9mZnNldGAgbW9kaWZpZXIsIGFzIHdlbGwgYXMnLCAndGhlIGBwYWRkaW5nYCBvcHRpb24gaW4gdGhlIGBwcmV2ZW50T3ZlcmZsb3dgIGFuZCBgZmxpcGAnLCAnbW9kaWZpZXJzLiddLmpvaW4oJyAnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcnVuTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgIH0sXG4gICAgICAvLyBTeW5jIHVwZGF0ZSDigJMgaXQgd2lsbCBhbHdheXMgYmUgZXhlY3V0ZWQsIGV2ZW4gaWYgbm90IG5lY2Vzc2FyeS4gVGhpc1xuICAgICAgLy8gaXMgdXNlZnVsIGZvciBsb3cgZnJlcXVlbmN5IHVwZGF0ZXMgd2hlcmUgc3luYyBiZWhhdmlvciBzaW1wbGlmaWVzIHRoZVxuICAgICAgLy8gbG9naWMuXG4gICAgICAvLyBGb3IgaGlnaCBmcmVxdWVuY3kgdXBkYXRlcyAoZS5nLiBgcmVzaXplYCBhbmQgYHNjcm9sbGAgZXZlbnRzKSwgYWx3YXlzXG4gICAgICAvLyBwcmVmZXIgdGhlIGFzeW5jIFBvcHBlciN1cGRhdGUgbWV0aG9kXG4gICAgICBmb3JjZVVwZGF0ZTogZnVuY3Rpb24gZm9yY2VVcGRhdGUoKSB7XG4gICAgICAgIGlmIChpc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfc3RhdGUkZWxlbWVudHMgPSBzdGF0ZS5lbGVtZW50cyxcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IF9zdGF0ZSRlbGVtZW50cy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfc3RhdGUkZWxlbWVudHMucG9wcGVyOyAvLyBEb24ndCBwcm9jZWVkIGlmIGByZWZlcmVuY2VgIG9yIGBwb3BwZXJgIGFyZSBub3QgdmFsaWQgZWxlbWVudHNcbiAgICAgICAgLy8gYW55bW9yZVxuXG4gICAgICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKElOVkFMSURfRUxFTUVOVF9FUlJPUik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFN0b3JlIHRoZSByZWZlcmVuY2UgYW5kIHBvcHBlciByZWN0cyB0byBiZSByZWFkIGJ5IG1vZGlmaWVyc1xuXG5cbiAgICAgICAgc3RhdGUucmVjdHMgPSB7XG4gICAgICAgICAgcmVmZXJlbmNlOiBnZXRDb21wb3NpdGVSZWN0KHJlZmVyZW5jZSwgZ2V0T2Zmc2V0UGFyZW50KHBvcHBlciksIHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3kgPT09ICdmaXhlZCcpLFxuICAgICAgICAgIHBvcHBlcjogZ2V0TGF5b3V0UmVjdChwb3BwZXIpXG4gICAgICAgIH07IC8vIE1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIHJlc2V0IHRoZSBjdXJyZW50IHVwZGF0ZSBjeWNsZS4gVGhlXG4gICAgICAgIC8vIG1vc3QgY29tbW9uIHVzZSBjYXNlIGZvciB0aGlzIGlzIHRoZSBgZmxpcGAgbW9kaWZpZXIgY2hhbmdpbmcgdGhlXG4gICAgICAgIC8vIHBsYWNlbWVudCwgd2hpY2ggdGhlbiBuZWVkcyB0byByZS1ydW4gYWxsIHRoZSBtb2RpZmllcnMsIGJlY2F1c2UgdGhlXG4gICAgICAgIC8vIGxvZ2ljIHdhcyBwcmV2aW91c2x5IHJhbiBmb3IgdGhlIHByZXZpb3VzIHBsYWNlbWVudCBhbmQgaXMgdGhlcmVmb3JlXG4gICAgICAgIC8vIHN0YWxlL2luY29ycmVjdFxuXG4gICAgICAgIHN0YXRlLnJlc2V0ID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50OyAvLyBPbiBlYWNoIHVwZGF0ZSBjeWNsZSwgdGhlIGBtb2RpZmllcnNEYXRhYCBwcm9wZXJ0eSBmb3IgZWFjaCBtb2RpZmllclxuICAgICAgICAvLyBpcyBmaWxsZWQgd2l0aCB0aGUgaW5pdGlhbCBkYXRhIHNwZWNpZmllZCBieSB0aGUgbW9kaWZpZXIuIFRoaXMgbWVhbnNcbiAgICAgICAgLy8gaXQgZG9lc24ndCBwZXJzaXN0IGFuZCBpcyBmcmVzaCBvbiBlYWNoIHVwZGF0ZS5cbiAgICAgICAgLy8gVG8gZW5zdXJlIHBlcnNpc3RlbnQgZGF0YSwgdXNlIGAke25hbWV9I3BlcnNpc3RlbnRgXG5cbiAgICAgICAgc3RhdGUub3JkZXJlZE1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgICAgICAgIHJldHVybiBzdGF0ZS5tb2RpZmllcnNEYXRhW21vZGlmaWVyLm5hbWVdID0gT2JqZWN0LmFzc2lnbih7fSwgbW9kaWZpZXIuZGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgX19kZWJ1Z19sb29wc19fID0gMDtcblxuICAgICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgc3RhdGUub3JkZXJlZE1vZGlmaWVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBfX2RlYnVnX2xvb3BzX18gKz0gMTtcblxuICAgICAgICAgICAgaWYgKF9fZGVidWdfbG9vcHNfXyA+IDEwMCkge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKElORklOSVRFX0xPT1BfRVJST1IpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3RhdGUucmVzZXQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHN0YXRlLnJlc2V0ID0gZmFsc2U7XG4gICAgICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9zdGF0ZSRvcmRlcmVkTW9kaWZpZSA9IHN0YXRlLm9yZGVyZWRNb2RpZmllcnNbaW5kZXhdLFxuICAgICAgICAgICAgICBmbiA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5mbixcbiAgICAgICAgICAgICAgX3N0YXRlJG9yZGVyZWRNb2RpZmllMiA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5vcHRpb25zLFxuICAgICAgICAgICAgICBfb3B0aW9ucyA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIgPT09IHZvaWQgMCA/IHt9IDogX3N0YXRlJG9yZGVyZWRNb2RpZmllMixcbiAgICAgICAgICAgICAgbmFtZSA9IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZS5uYW1lO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc3RhdGUgPSBmbih7XG4gICAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgICAgb3B0aW9uczogX29wdGlvbnMsXG4gICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZVxuICAgICAgICAgICAgfSkgfHwgc3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gQXN5bmMgYW5kIG9wdGltaXN0aWNhbGx5IG9wdGltaXplZCB1cGRhdGUg4oCTIGl0IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGlmXG4gICAgICAvLyBub3QgbmVjZXNzYXJ5IChkZWJvdW5jZWQgdG8gcnVuIGF0IG1vc3Qgb25jZS1wZXItdGljaylcbiAgICAgIHVwZGF0ZTogZGVib3VuY2UoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICBpbnN0YW5jZS5mb3JjZVVwZGF0ZSgpO1xuICAgICAgICAgIHJlc29sdmUoc3RhdGUpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpO1xuICAgICAgICBpc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihJTlZBTElEX0VMRU1FTlRfRVJST1IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgaW5zdGFuY2Uuc2V0T3B0aW9ucyhvcHRpb25zKS50aGVuKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgaWYgKCFpc0Rlc3Ryb3llZCAmJiBvcHRpb25zLm9uRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgb3B0aW9ucy5vbkZpcnN0VXBkYXRlKHN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gdXBkYXRlIGN5Y2xlIHJ1bnMuIFRoZXkgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgdXBkYXRlXG4gICAgLy8gY3ljbGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSBtb2RpZmllciBhZGRzIHNvbWUgcGVyc2lzdGVudCBkYXRhIHRoYXRcbiAgICAvLyBvdGhlciBtb2RpZmllcnMgbmVlZCB0byB1c2UsIGJ1dCB0aGUgbW9kaWZpZXIgaXMgcnVuIGFmdGVyIHRoZSBkZXBlbmRlbnRcbiAgICAvLyBvbmUuXG5cbiAgICBmdW5jdGlvbiBydW5Nb2RpZmllckVmZmVjdHMoKSB7XG4gICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICAgIHZhciBuYW1lID0gX3JlZjMubmFtZSxcbiAgICAgICAgICAgIF9yZWYzJG9wdGlvbnMgPSBfcmVmMy5vcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9ucyA9IF9yZWYzJG9wdGlvbnMgPT09IHZvaWQgMCA/IHt9IDogX3JlZjMkb3B0aW9ucyxcbiAgICAgICAgICAgIGVmZmVjdCA9IF9yZWYzLmVmZmVjdDtcblxuICAgICAgICBpZiAodHlwZW9mIGVmZmVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHZhciBjbGVhbnVwRm4gPSBlZmZlY3Qoe1xuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHZhciBub29wRm4gPSBmdW5jdGlvbiBub29wRm4oKSB7fTtcblxuICAgICAgICAgIGVmZmVjdENsZWFudXBGbnMucHVzaChjbGVhbnVwRm4gfHwgbm9vcEZuKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYW51cE1vZGlmaWVyRWZmZWN0cygpIHtcbiAgICAgIGVmZmVjdENsZWFudXBGbnMuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgICB9KTtcbiAgICAgIGVmZmVjdENsZWFudXBGbnMgPSBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH07XG59XG5leHBvcnQgdmFyIGNyZWF0ZVBvcHBlciA9IC8qI19fUFVSRV9fKi9wb3BwZXJHZW5lcmF0b3IoKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBkZXRlY3RPdmVyZmxvdyB9OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/createPopper.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***!
+ \***************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return contains; });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\nfunction contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__[\"isShadowRoot\"])(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9jb250YWlucy5qcz83ZjM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUErQztBQUNoQztBQUNmLDBEQUEwRDs7QUFFMUQ7QUFDQTtBQUNBLEdBQUc7QUFDSCx1QkFBdUIsbUVBQVk7QUFDbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7O0FBR1Q7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7O0FBR0w7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2NvbnRhaW5zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICB2YXIgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSAmJiBjaGlsZC5nZXRSb290Tm9kZSgpOyAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG5cbiAgaWYgKHBhcmVudC5jb250YWlucyhjaGlsZCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBlbHNlIGlmIChyb290Tm9kZSAmJiBpc1NoYWRvd1Jvb3Qocm9vdE5vZGUpKSB7XG4gICAgICB2YXIgbmV4dCA9IGNoaWxkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuZXh0ICYmIHBhcmVudC5pc1NhbWVOb2RlKG5leHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddOiBuZWVkIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhpcy4uLlxuXG5cbiAgICAgICAgbmV4dCA9IG5leHQucGFyZW50Tm9kZSB8fCBuZXh0Lmhvc3Q7XG4gICAgICB9IHdoaWxlIChuZXh0KTtcbiAgICB9IC8vIEdpdmUgdXAsIHRoZSByZXN1bHQgaXMgZmFsc2VcblxuXG4gIHJldHVybiBmYWxzZTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/contains.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***!
+ \****************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getBoundingClientRect; });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__[\"isHTMLElement\"])(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_1__[\"round\"])(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanM/MGY4OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFnRDtBQUNQO0FBQzFCO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLG9FQUFhO0FBQ25CO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0EsZUFBZSw0REFBSztBQUNwQjs7QUFFQTtBQUNBLGVBQWUsNERBQUs7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBpbmNsdWRlU2NhbGUpIHtcbiAgaWYgKGluY2x1ZGVTY2FsZSA9PT0gdm9pZCAwKSB7XG4gICAgaW5jbHVkZVNjYWxlID0gZmFsc2U7XG4gIH1cblxuICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzY2FsZVggPSAxO1xuICB2YXIgc2NhbGVZID0gMTtcblxuICBpZiAoaXNIVE1MRWxlbWVudChlbGVtZW50KSAmJiBpbmNsdWRlU2NhbGUpIHtcbiAgICB2YXIgb2Zmc2V0SGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgdmFyIG9mZnNldFdpZHRoID0gZWxlbWVudC5vZmZzZXRXaWR0aDsgLy8gRG8gbm90IGF0dGVtcHQgdG8gZGl2aWRlIGJ5IDAsIG90aGVyd2lzZSB3ZSBnZXQgYEluZmluaXR5YCBhcyBzY2FsZVxuICAgIC8vIEZhbGxiYWNrIHRvIDEgaW4gY2FzZSBib3RoIHZhbHVlcyBhcmUgYDBgXG5cbiAgICBpZiAob2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICBzY2FsZVggPSByb3VuZChyZWN0LndpZHRoKSAvIG9mZnNldFdpZHRoIHx8IDE7XG4gICAgfVxuXG4gICAgaWYgKG9mZnNldEhlaWdodCA+IDApIHtcbiAgICAgIHNjYWxlWSA9IHJvdW5kKHJlY3QuaGVpZ2h0KSAvIG9mZnNldEhlaWdodCB8fCAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHJlY3Qud2lkdGggLyBzY2FsZVgsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCAvIHNjYWxlWSxcbiAgICB0b3A6IHJlY3QudG9wIC8gc2NhbGVZLFxuICAgIHJpZ2h0OiByZWN0LnJpZ2h0IC8gc2NhbGVYLFxuICAgIGJvdHRvbTogcmVjdC5ib3R0b20gLyBzY2FsZVksXG4gICAgbGVmdDogcmVjdC5sZWZ0IC8gc2NhbGVYLFxuICAgIHg6IHJlY3QubGVmdCAvIHNjYWxlWCxcbiAgICB5OiByZWN0LnRvcCAvIHNjYWxlWVxuICB9O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getClippingRect; });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getViewportRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js\");\n/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js\");\n/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listScrollParents.js */ \"./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\");\n/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./contains.js */ \"./node_modules/@popperjs/core/lib/dom-utils/contains.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ \"./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getInnerBoundingClientRect(element) {\n var rect = Object(_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"viewport\"] ? Object(_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(Object(_getViewportRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element)) : Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__[\"isElement\"])(clippingParent) ? getInnerBoundingClientRect(clippingParent) : Object(_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(Object(_getDocumentRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = Object(_listScrollParents_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_getParentNode_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(element).position) >= 0;\n var clipperElement = canEscapeClipping && Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__[\"isHTMLElement\"])(element) ? Object(_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(element) : element;\n\n if (!Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__[\"isElement\"])(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__[\"isElement\"])(clippingParent) && Object(_contains_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(clippingParent, clipperElement) && Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_13__[\"max\"])(rect.top, accRect.top);\n accRect.right = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_13__[\"min\"])(rect.right, accRect.right);\n accRect.bottom = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_13__[\"min\"])(rect.bottom, accRect.bottom);\n accRect.left = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_13__[\"max\"])(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanM/OWRlMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1QztBQUNZO0FBQ0E7QUFDSTtBQUNKO0FBQ007QUFDSjtBQUNNO0FBQ0k7QUFDaEI7QUFDVjtBQUNNO0FBQ2lCO0FBQ2hCOztBQUU1QztBQUNBLGFBQWEseUVBQXFCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCLGtEQUFRLEdBQUcsMkVBQWdCLENBQUMsbUVBQWUsYUFBYSxnRUFBUyxnRUFBZ0UsMkVBQWdCLENBQUMsbUVBQWUsQ0FBQyxzRUFBa0I7QUFDaE4sQ0FBQztBQUNEO0FBQ0E7OztBQUdBO0FBQ0Esd0JBQXdCLHFFQUFpQixDQUFDLGlFQUFhO0FBQ3ZELHdEQUF3RCxvRUFBZ0I7QUFDeEUsNENBQTRDLG9FQUFhLFlBQVksbUVBQWU7O0FBRXBGLE9BQU8sZ0VBQVM7QUFDaEI7QUFDQSxHQUFHOzs7QUFHSDtBQUNBLFdBQVcsZ0VBQVMsb0JBQW9CLDZEQUFRLG9DQUFvQyxnRUFBVztBQUMvRixHQUFHO0FBQ0gsQ0FBQztBQUNEOzs7QUFHZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsMkRBQUc7QUFDckIsb0JBQW9CLDJEQUFHO0FBQ3ZCLHFCQUFxQiwyREFBRztBQUN4QixtQkFBbUIsMkRBQUc7QUFDdEI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q2xpcHBpbmdSZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmlld3BvcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRWaWV3cG9ydFJlY3QgZnJvbSBcIi4vZ2V0Vmlld3BvcnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRSZWN0IGZyb20gXCIuL2dldERvY3VtZW50UmVjdC5qc1wiO1xuaW1wb3J0IGxpc3RTY3JvbGxQYXJlbnRzIGZyb20gXCIuL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCB7IGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4vY29udGFpbnMuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHJlY3RUb0NsaWVudFJlY3QgZnJvbSBcIi4uL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCB7IG1heCwgbWluIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50KTtcbiAgcmVjdC50b3AgPSByZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICByZWN0LmxlZnQgPSByZWN0LmxlZnQgKyBlbGVtZW50LmNsaWVudExlZnQ7XG4gIHJlY3QuYm90dG9tID0gcmVjdC50b3AgKyBlbGVtZW50LmNsaWVudEhlaWdodDtcbiAgcmVjdC5yaWdodCA9IHJlY3QubGVmdCArIGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIHJlY3Qud2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoO1xuICByZWN0LmhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICByZWN0LnggPSByZWN0LmxlZnQ7XG4gIHJlY3QueSA9IHJlY3QudG9wO1xuICByZXR1cm4gcmVjdDtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQpIHtcbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50ID09PSB2aWV3cG9ydCA/IHJlY3RUb0NsaWVudFJlY3QoZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQpKSA6IGlzRWxlbWVudChjbGlwcGluZ1BhcmVudCkgPyBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ1BhcmVudCkgOiByZWN0VG9DbGllbnRSZWN0KGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpKTtcbn0gLy8gQSBcImNsaXBwaW5nIHBhcmVudFwiIGlzIGFuIG92ZXJmbG93YWJsZSBjb250YWluZXIgd2l0aCB0aGUgY2hhcmFjdGVyaXN0aWMgb2Zcbi8vIGNsaXBwaW5nIChvciBoaWRpbmcpIG92ZXJmbG93aW5nIGVsZW1lbnRzIHdpdGggYSBwb3NpdGlvbiBkaWZmZXJlbnQgZnJvbVxuLy8gYGluaXRpYWxgXG5cblxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdQYXJlbnRzKGVsZW1lbnQpIHtcbiAgdmFyIGNsaXBwaW5nUGFyZW50cyA9IGxpc3RTY3JvbGxQYXJlbnRzKGdldFBhcmVudE5vZGUoZWxlbWVudCkpO1xuICB2YXIgY2FuRXNjYXBlQ2xpcHBpbmcgPSBbJ2Fic29sdXRlJywgJ2ZpeGVkJ10uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uKSA+PSAwO1xuICB2YXIgY2xpcHBlckVsZW1lbnQgPSBjYW5Fc2NhcGVDbGlwcGluZyAmJiBpc0hUTUxFbGVtZW50KGVsZW1lbnQpID8gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpIDogZWxlbWVudDtcblxuICBpZiAoIWlzRWxlbWVudChjbGlwcGVyRWxlbWVudCkpIHtcbiAgICByZXR1cm4gW107XG4gIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvaXNzdWVzLzE0MTRcblxuXG4gIHJldHVybiBjbGlwcGluZ1BhcmVudHMuZmlsdGVyKGZ1bmN0aW9uIChjbGlwcGluZ1BhcmVudCkge1xuICAgIHJldHVybiBpc0VsZW1lbnQoY2xpcHBpbmdQYXJlbnQpICYmIGNvbnRhaW5zKGNsaXBwaW5nUGFyZW50LCBjbGlwcGVyRWxlbWVudCkgJiYgZ2V0Tm9kZU5hbWUoY2xpcHBpbmdQYXJlbnQpICE9PSAnYm9keSc7XG4gIH0pO1xufSAvLyBHZXRzIHRoZSBtYXhpbXVtIGFyZWEgdGhhdCB0aGUgZWxlbWVudCBpcyB2aXNpYmxlIGluIGR1ZSB0byBhbnkgbnVtYmVyIG9mXG4vLyBjbGlwcGluZyBwYXJlbnRzXG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KGVsZW1lbnQsIGJvdW5kYXJ5LCByb290Qm91bmRhcnkpIHtcbiAgdmFyIG1haW5DbGlwcGluZ1BhcmVudHMgPSBib3VuZGFyeSA9PT0gJ2NsaXBwaW5nUGFyZW50cycgPyBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gW10uY29uY2F0KG1haW5DbGlwcGluZ1BhcmVudHMsIFtyb290Qm91bmRhcnldKTtcbiAgdmFyIGZpcnN0Q2xpcHBpbmdQYXJlbnQgPSBjbGlwcGluZ1BhcmVudHNbMF07XG4gIHZhciBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ1BhcmVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2NSZWN0LCBjbGlwcGluZ1BhcmVudCkge1xuICAgIHZhciByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQpO1xuICAgIGFjY1JlY3QudG9wID0gbWF4KHJlY3QudG9wLCBhY2NSZWN0LnRvcCk7XG4gICAgYWNjUmVjdC5yaWdodCA9IG1pbihyZWN0LnJpZ2h0LCBhY2NSZWN0LnJpZ2h0KTtcbiAgICBhY2NSZWN0LmJvdHRvbSA9IG1pbihyZWN0LmJvdHRvbSwgYWNjUmVjdC5ib3R0b20pO1xuICAgIGFjY1JlY3QubGVmdCA9IG1heChyZWN0LmxlZnQsIGFjY1JlY3QubGVmdCk7XG4gICAgcmV0dXJuIGFjY1JlY3Q7XG4gIH0sIGdldENsaWVudFJlY3RGcm9tTWl4ZWRUeXBlKGVsZW1lbnQsIGZpcnN0Q2xpcHBpbmdQYXJlbnQpKTtcbiAgY2xpcHBpbmdSZWN0LndpZHRoID0gY2xpcHBpbmdSZWN0LnJpZ2h0IC0gY2xpcHBpbmdSZWN0LmxlZnQ7XG4gIGNsaXBwaW5nUmVjdC5oZWlnaHQgPSBjbGlwcGluZ1JlY3QuYm90dG9tIC0gY2xpcHBpbmdSZWN0LnRvcDtcbiAgY2xpcHBpbmdSZWN0LnggPSBjbGlwcGluZ1JlY3QubGVmdDtcbiAgY2xpcHBpbmdSZWN0LnkgPSBjbGlwcGluZ1JlY3QudG9wO1xuICByZXR1cm4gY2xpcHBpbmdSZWN0O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***!
+ \***********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getCompositeRect; });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNodeScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(rect.width) / element.offsetWidth || 1;\n var scaleY = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(offsetParent);\n var offsetParentIsScaled = Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(offsetParent) && isElementScaled(offsetParent);\n var documentElement = Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(offsetParent);\n var rect = Object(_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n Object(_isScrollParent_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(documentElement)) {\n scroll = Object(_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(offsetParent);\n }\n\n if (Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(offsetParent)) {\n offsets = Object(_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = Object(_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDb21wb3NpdGVSZWN0LmpzP2QxMTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0Q7QUFDaEI7QUFDSjtBQUNLO0FBQ1c7QUFDRjtBQUNSO0FBQ1I7O0FBRXpDO0FBQ0E7QUFDQSxlQUFlLDREQUFLO0FBQ3BCLGVBQWUsNERBQUs7QUFDcEI7QUFDQSxDQUFDO0FBQ0Q7OztBQUdlO0FBQ2Y7QUFDQTtBQUNBOztBQUVBLGdDQUFnQyxvRUFBYTtBQUM3Qyw2QkFBNkIsb0VBQWE7QUFDMUMsd0JBQXdCLHNFQUFrQjtBQUMxQyxhQUFhLHlFQUFxQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUSwrREFBVztBQUNuQixJQUFJLGtFQUFjO0FBQ2xCLGVBQWUsaUVBQWE7QUFDNUI7O0FBRUEsUUFBUSxvRUFBYTtBQUNyQixnQkFBZ0IseUVBQXFCO0FBQ3JDO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsa0JBQWtCLHVFQUFtQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q29tcG9zaXRlUmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZVNjcm9sbCBmcm9tIFwiLi9nZXROb2RlU2Nyb2xsLmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93U2Nyb2xsQmFyWCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5cbmZ1bmN0aW9uIGlzRWxlbWVudFNjYWxlZChlbGVtZW50KSB7XG4gIHZhciByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgdmFyIHNjYWxlWCA9IHJvdW5kKHJlY3Qud2lkdGgpIC8gZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAxO1xuICB2YXIgc2NhbGVZID0gcm91bmQocmVjdC5oZWlnaHQpIC8gZWxlbWVudC5vZmZzZXRIZWlnaHQgfHwgMTtcbiAgcmV0dXJuIHNjYWxlWCAhPT0gMSB8fCBzY2FsZVkgIT09IDE7XG59IC8vIFJldHVybnMgdGhlIGNvbXBvc2l0ZSByZWN0IG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gaXRzIG9mZnNldFBhcmVudC5cbi8vIENvbXBvc2l0ZSBtZWFucyBpdCB0YWtlcyBpbnRvIGFjY291bnQgdHJhbnNmb3JtcyBhcyB3ZWxsIGFzIGxheW91dC5cblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDb21wb3NpdGVSZWN0KGVsZW1lbnRPclZpcnR1YWxFbGVtZW50LCBvZmZzZXRQYXJlbnQsIGlzRml4ZWQpIHtcbiAgaWYgKGlzRml4ZWQgPT09IHZvaWQgMCkge1xuICAgIGlzRml4ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHZhciBpc09mZnNldFBhcmVudEFuRWxlbWVudCA9IGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgdmFyIG9mZnNldFBhcmVudElzU2NhbGVkID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGlzRWxlbWVudFNjYWxlZChvZmZzZXRQYXJlbnQpO1xuICB2YXIgZG9jdW1lbnRFbGVtZW50ID0gZ2V0RG9jdW1lbnRFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIHZhciByZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnRPclZpcnR1YWxFbGVtZW50LCBvZmZzZXRQYXJlbnRJc1NjYWxlZCk7XG4gIHZhciBzY3JvbGwgPSB7XG4gICAgc2Nyb2xsTGVmdDogMCxcbiAgICBzY3JvbGxUb3A6IDBcbiAgfTtcbiAgdmFyIG9mZnNldHMgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG5cbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BvcHBlcmpzL3BvcHBlci1jb3JlL2lzc3Vlcy8xMDc4XG4gICAgaXNTY3JvbGxQYXJlbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cblxuICAgIGlmIChpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgIG9mZnNldHMgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50LCB0cnVlKTtcbiAgICAgIG9mZnNldHMueCArPSBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSArPSBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiByZWN0LmxlZnQgKyBzY3JvbGwuc2Nyb2xsTGVmdCAtIG9mZnNldHMueCxcbiAgICB5OiByZWN0LnRvcCArIHNjcm9sbC5zY3JvbGxUb3AgLSBvZmZzZXRzLnksXG4gICAgd2lkdGg6IHJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodFxuICB9O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***!
+ \***********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getComputedStyle; });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\nfunction getComputedStyle(element) {\n return Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element).getComputedStyle(element);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzP2I1MTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQXVDO0FBQ3hCO0FBQ2YsU0FBUyw2REFBUztBQUNsQiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldENvbXB1dGVkU3R5bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSB7XG4gIHJldHVybiBnZXRXaW5kb3coZWxlbWVudCkuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js":
+/*!*************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***!
+ \*************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDocumentElement; });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__[\"isElement\"])(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanM/ZWY1MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBNEM7QUFDN0I7QUFDZjtBQUNBLFdBQVcsZ0VBQVM7QUFDcEI7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSB7XG4gIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl06IGFzc3VtZSBib2R5IGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgcmV0dXJuICgoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudC5vd25lckRvY3VtZW50IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gIGVsZW1lbnQuZG9jdW1lbnQpIHx8IHdpbmRvdy5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDocumentRect; });\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var winScroll = Object(_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_4__[\"max\"])(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_4__[\"max\"])(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + Object(_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element);\n var y = -winScroll.scrollTop;\n\n if (Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(body || html).direction === 'rtl') {\n x += Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_4__[\"max\"])(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudFJlY3QuanM/M2U3OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF5RDtBQUNKO0FBQ007QUFDUjtBQUNaO0FBQ3ZDOztBQUVlO0FBQ2Y7O0FBRUEsYUFBYSxzRUFBa0I7QUFDL0Isa0JBQWtCLG1FQUFlO0FBQ2pDO0FBQ0EsY0FBYywwREFBRztBQUNqQixlQUFlLDBEQUFHO0FBQ2xCLGtDQUFrQyx1RUFBbUI7QUFDckQ7O0FBRUEsTUFBTSxvRUFBZ0I7QUFDdEIsU0FBUywwREFBRztBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0RG9jdW1lbnRSZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5pbXBvcnQgeyBtYXggfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBHZXRzIHRoZSBlbnRpcmUgc2l6ZSBvZiB0aGUgc2Nyb2xsYWJsZSBkb2N1bWVudCBhcmVhLCBldmVuIGV4dGVuZGluZyBvdXRzaWRlXG4vLyBvZiB0aGUgYDxodG1sPmAgYW5kIGA8Ym9keT5gIHJlY3QgYm91bmRzIGlmIGhvcml6b250YWxseSBzY3JvbGxhYmxlXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIHZhciBfZWxlbWVudCRvd25lckRvY3VtZW47XG5cbiAgdmFyIGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIHZhciB3aW5TY3JvbGwgPSBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCk7XG4gIHZhciBib2R5ID0gKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5O1xuICB2YXIgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keSA/IGJvZHkuc2Nyb2xsV2lkdGggOiAwLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApO1xuICB2YXIgaGVpZ2h0ID0gbWF4KGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLmNsaWVudEhlaWdodCwgYm9keSA/IGJvZHkuc2Nyb2xsSGVpZ2h0IDogMCwgYm9keSA/IGJvZHkuY2xpZW50SGVpZ2h0IDogMCk7XG4gIHZhciB4ID0gLXdpblNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgdmFyIHkgPSAtd2luU2Nyb2xsLnNjcm9sbFRvcDtcblxuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5IHx8IGh0bWwpLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICB4ICs9IG1heChodG1sLmNsaWVudFdpZHRoLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApIC0gd2lkdGg7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js":
+/*!***************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***!
+ \***************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getHTMLElementScroll; });\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRIVE1MRWxlbWVudFNjcm9sbC5qcz81ZmU2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRIVE1MRWxlbWVudFNjcm9sbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEhUTUxFbGVtZW50U2Nyb2xsKGVsZW1lbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBzY3JvbGxMZWZ0OiBlbGVtZW50LnNjcm9sbExlZnQsXG4gICAgc2Nyb2xsVG9wOiBlbGVtZW50LnNjcm9sbFRvcFxuICB9O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***!
+ \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getLayoutRect; });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nfunction getLayoutRect(element) {\n var clientRect = Object(_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzP2UyZTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQStEO0FBQy9EOztBQUVlO0FBQ2YsbUJBQW1CLHlFQUFxQixVQUFVO0FBQ2xEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldExheW91dFJlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiOyAvLyBSZXR1cm5zIHRoZSBsYXlvdXQgcmVjdCBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGl0cyBvZmZzZXRQYXJlbnQuIExheW91dFxuLy8gbWVhbnMgaXQgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYXlvdXRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCk7IC8vIFVzZSB0aGUgY2xpZW50UmVjdCBzaXplcyBpZiBpdCdzIG5vdCBiZWVuIHRyYW5zZm9ybWVkLlxuICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEyMjNcblxuICB2YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgaWYgKE1hdGguYWJzKGNsaWVudFJlY3Qud2lkdGggLSB3aWR0aCkgPD0gMSkge1xuICAgIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aDtcbiAgfVxuXG4gIGlmIChNYXRoLmFicyhjbGllbnRSZWN0LmhlaWdodCAtIGhlaWdodCkgPD0gMSkge1xuICAgIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBlbGVtZW50Lm9mZnNldExlZnQsXG4gICAgeTogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0XG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***!
+ \******************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getNodeName; });\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlTmFtZS5qcz81Nzg4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlTmFtZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE5vZGVOYW1lKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQgPyAoZWxlbWVudC5ub2RlTmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKSA6IG51bGw7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***!
+ \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getNodeScroll; });\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\");\n\n\n\n\nfunction getNodeScroll(node) {\n if (node === Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(node) || !Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_2__[\"isHTMLElement\"])(node)) {\n return Object(_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node);\n } else {\n return Object(_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(node);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlU2Nyb2xsLmpzPzE5OWEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQ1o7QUFDUztBQUNhO0FBQzlDO0FBQ2YsZUFBZSw2REFBUyxXQUFXLG9FQUFhO0FBQ2hELFdBQVcsbUVBQWU7QUFDMUIsR0FBRztBQUNILFdBQVcsd0VBQW9CO0FBQy9CO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlU2Nyb2xsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFdpbmRvd1Njcm9sbCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGwuanNcIjtcbmltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGdldEhUTUxFbGVtZW50U2Nyb2xsIGZyb20gXCIuL2dldEhUTUxFbGVtZW50U2Nyb2xsLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXROb2RlU2Nyb2xsKG5vZGUpIHtcbiAgaWYgKG5vZGUgPT09IGdldFdpbmRvdyhub2RlKSB8fCAhaXNIVE1MRWxlbWVudChub2RlKSkge1xuICAgIHJldHVybiBnZXRXaW5kb3dTY3JvbGwobm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGdldEhUTUxFbGVtZW50U2Nyb2xsKG5vZGUpO1xuICB9XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getOffsetParent; });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isTableElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n\n\n\n\n\n\n\nfunction getTrueOffsetParent(element) {\n if (!Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(element) || // https://github.com/popperjs/popper-core/issues/837\n Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = Object(_getParentNode_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(element);\n\n while (Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(currentNode) && ['html', 'body'].indexOf(Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(currentNode)) < 0) {\n var css = Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && Object(_isTableElement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(offsetParent) && Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(offsetParent) === 'html' || Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(offsetParent) === 'body' && Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanM/YjYyYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVDO0FBQ0k7QUFDVTtBQUNMO0FBQ0M7QUFDRjs7QUFFL0M7QUFDQSxPQUFPLG9FQUFhO0FBQ3BCLEVBQUUsb0VBQWdCO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjLG9FQUFhO0FBQzNCO0FBQ0EscUJBQXFCLG9FQUFnQjs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLGlFQUFhOztBQUVqQyxTQUFTLG9FQUFhLDBDQUEwQywrREFBVztBQUMzRSxjQUFjLG9FQUFnQixjQUFjO0FBQzVDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7OztBQUdlO0FBQ2YsZUFBZSw2REFBUztBQUN4Qjs7QUFFQSx5QkFBeUIsa0VBQWMsa0JBQWtCLG9FQUFnQjtBQUN6RTtBQUNBOztBQUVBLHVCQUF1QiwrREFBVyw2QkFBNkIsK0RBQVcsNkJBQTZCLG9FQUFnQjtBQUN2SDtBQUNBOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGlzVGFibGVFbGVtZW50IGZyb20gXCIuL2lzVGFibGVFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5cbmZ1bmN0aW9uIGdldFRydWVPZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BvcHBlcmpzL3BvcHBlci1jb3JlL2lzc3Vlcy84MzdcbiAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50O1xufSAvLyBgLm9mZnNldFBhcmVudGAgcmVwb3J0cyBgbnVsbGAgZm9yIGZpeGVkIGVsZW1lbnRzLCB3aGlsZSBhYnNvbHV0ZSBlbGVtZW50c1xuLy8gcmV0dXJuIHRoZSBjb250YWluaW5nIGJsb2NrXG5cblxuZnVuY3Rpb24gZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHtcbiAgdmFyIGlzRmlyZWZveCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmaXJlZm94JykgIT09IC0xO1xuICB2YXIgaXNJRSA9IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudCcpICE9PSAtMTtcblxuICBpZiAoaXNJRSAmJiBpc0hUTUxFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgLy8gSW4gSUUgOSwgMTAgYW5kIDExIGZpeGVkIGVsZW1lbnRzIGNvbnRhaW5pbmcgYmxvY2sgaXMgYWx3YXlzIGVzdGFibGlzaGVkIGJ5IHRoZSB2aWV3cG9ydFxuICAgIHZhciBlbGVtZW50Q3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgIGlmIChlbGVtZW50Q3NzLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICB2YXIgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuXG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiBbJ2h0bWwnLCAnYm9keSddLmluZGV4T2YoZ2V0Tm9kZU5hbWUoY3VycmVudE5vZGUpKSA8IDApIHtcbiAgICB2YXIgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7IC8vIFRoaXMgaXMgbm9uLWV4aGF1c3RpdmUgYnV0IGNvdmVycyB0aGUgbW9zdCBjb21tb24gQ1NTIHByb3BlcnRpZXMgdGhhdFxuICAgIC8vIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2suXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcblxuICAgIGlmIChjc3MudHJhbnNmb3JtICE9PSAnbm9uZScgfHwgY3NzLnBlcnNwZWN0aXZlICE9PSAnbm9uZScgfHwgY3NzLmNvbnRhaW4gPT09ICdwYWludCcgfHwgWyd0cmFuc2Zvcm0nLCAncGVyc3BlY3RpdmUnXS5pbmRleE9mKGNzcy53aWxsQ2hhbmdlKSAhPT0gLTEgfHwgaXNGaXJlZm94ICYmIGNzcy53aWxsQ2hhbmdlID09PSAnZmlsdGVyJyB8fCBpc0ZpcmVmb3ggJiYgY3NzLmZpbHRlciAmJiBjc3MuZmlsdGVyICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufSAvLyBHZXRzIHRoZSBjbG9zZXN0IGFuY2VzdG9yIHBvc2l0aW9uZWQgZWxlbWVudC4gSGFuZGxlcyBzb21lIGVkZ2UgY2FzZXMsXG4vLyBzdWNoIGFzIHRhYmxlIGFuY2VzdG9ycyBhbmQgY3Jvc3MgYnJvd3NlciBidWdzLlxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIHZhciB3aW5kb3cgPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIHZhciBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gIHdoaWxlIChvZmZzZXRQYXJlbnQgJiYgaXNUYWJsZUVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQpO1xuICB9XG5cbiAgaWYgKG9mZnNldFBhcmVudCAmJiAoZ2V0Tm9kZU5hbWUob2Zmc2V0UGFyZW50KSA9PT0gJ2h0bWwnIHx8IGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgPT09ICdib2R5JyAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW5kb3c7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***!
+ \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getParentNode; });\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\nfunction getParentNode(element) {\n if (Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_2__[\"isShadowRoot\"])(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element) // fallback\n\n );\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRQYXJlbnROb2RlLmpzPzI4YmYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUEyQztBQUNjO0FBQ1Y7QUFDaEM7QUFDZixNQUFNLCtEQUFXO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksbUVBQVk7QUFDaEI7QUFDQSxJQUFJLHNFQUFrQjs7QUFFdEI7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFBhcmVudE5vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4vZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgeyBpc1NoYWRvd1Jvb3QgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQYXJlbnROb2RlKGVsZW1lbnQpIHtcbiAgaWYgKGdldE5vZGVOYW1lKGVsZW1lbnQpID09PSAnaHRtbCcpIHtcbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiAoLy8gdGhpcyBpcyBhIHF1aWNrZXIgKGJ1dCBsZXNzIHR5cGUgc2FmZSkgd2F5IHRvIHNhdmUgcXVpdGUgc29tZSBieXRlcyBmcm9tIHRoZSBidW5kbGVcbiAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG4gICAgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgZWxlbWVudC5hc3NpZ25lZFNsb3QgfHwgLy8gc3RlcCBpbnRvIHRoZSBzaGFkb3cgRE9NIG9mIHRoZSBwYXJlbnQgb2YgYSBzbG90dGVkIG5vZGVcbiAgICBlbGVtZW50LnBhcmVudE5vZGUgfHwgKCAvLyBET00gRWxlbWVudCBkZXRlY3RlZFxuICAgIGlzU2hhZG93Um9vdChlbGVtZW50KSA/IGVsZW1lbnQuaG9zdCA6IG51bGwpIHx8IC8vIFNoYWRvd1Jvb3QgZGV0ZWN0ZWRcbiAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXTogSFRNTEVsZW1lbnQgaXMgYSBOb2RlXG4gICAgZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpIC8vIGZhbGxiYWNrXG5cbiAgKTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getScrollParent; });\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (Object(_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__[\"isHTMLElement\"])(node) && Object(_isScrollParent_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(node)) {\n return node;\n }\n\n return getScrollParent(Object(_getParentNode_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRTY3JvbGxQYXJlbnQuanM/OWQwZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0M7QUFDRTtBQUNOO0FBQ0s7QUFDakM7QUFDZiw0Q0FBNEMsK0RBQVc7QUFDdkQ7QUFDQTtBQUNBOztBQUVBLE1BQU0sb0VBQWEsVUFBVSxrRUFBYztBQUMzQztBQUNBOztBQUVBLHlCQUF5QixpRUFBYTtBQUN0QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFNjcm9sbFBhcmVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBpc1Njcm9sbFBhcmVudCBmcm9tIFwiLi9pc1Njcm9sbFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0U2Nyb2xsUGFyZW50KG5vZGUpIHtcbiAgaWYgKFsnaHRtbCcsICdib2R5JywgJyNkb2N1bWVudCddLmluZGV4T2YoZ2V0Tm9kZU5hbWUobm9kZSkpID49IDApIHtcbiAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dOiBhc3N1bWUgYm9keSBpcyBhbHdheXMgYXZhaWxhYmxlXG4gICAgcmV0dXJuIG5vZGUub3duZXJEb2N1bWVudC5ib2R5O1xuICB9XG5cbiAgaWYgKGlzSFRNTEVsZW1lbnQobm9kZSkgJiYgaXNTY3JvbGxQYXJlbnQobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHJldHVybiBnZXRTY3JvbGxQYXJlbnQoZ2V0UGFyZW50Tm9kZShub2RlKSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getViewportRect; });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n\n\n\nfunction getViewportRect(element) {\n var win = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var html = Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + Object(_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element),\n y: y\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRWaWV3cG9ydFJlY3QuanM/N2M3MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVDO0FBQ2tCO0FBQ0U7QUFDNUM7QUFDZixZQUFZLDZEQUFTO0FBQ3JCLGFBQWEsc0VBQWtCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsc0NBQXNDO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyx1RUFBbUI7QUFDOUI7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Vmlld3BvcnRSZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4vZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93U2Nyb2xsQmFyWCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRWaWV3cG9ydFJlY3QoZWxlbWVudCkge1xuICB2YXIgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICB2YXIgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgdmFyIHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICB2YXIgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIHZhciB4ID0gMDtcbiAgdmFyIHkgPSAwOyAvLyBOQjogVGhpcyBpc24ndCBzdXBwb3J0ZWQgb24gaU9TIDw9IDEyLiBJZiB0aGUga2V5Ym9hcmQgaXMgb3BlbiwgdGhlIHBvcHBlclxuICAvLyBjYW4gYmUgb2JzY3VyZWQgdW5kZXJuZWF0aCBpdC5cbiAgLy8gQWxzbywgYGh0bWwuY2xpZW50SGVpZ2h0YCBhZGRzIHRoZSBib3R0b20gYmFyIGhlaWdodCBpbiBTYWZhcmkgaU9TLCBldmVuXG4gIC8vIGlmIGl0IGlzbid0IG9wZW4sIHNvIGlmIHRoaXMgaXNuJ3QgYXZhaWxhYmxlLCB0aGUgcG9wcGVyIHdpbGwgYmUgZGV0ZWN0ZWRcbiAgLy8gdG8gb3ZlcmZsb3cgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIHRvbyBlYXJseS5cblxuICBpZiAodmlzdWFsVmlld3BvcnQpIHtcbiAgICB3aWR0aCA9IHZpc3VhbFZpZXdwb3J0LndpZHRoO1xuICAgIGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0LmhlaWdodDsgLy8gVXNlcyBMYXlvdXQgVmlld3BvcnQgKGxpa2UgQ2hyb21lOyBTYWZhcmkgZG9lcyBub3QgY3VycmVudGx5KVxuICAgIC8vIEluIENocm9tZSwgaXQgcmV0dXJucyBhIHZhbHVlIHZlcnkgY2xvc2UgdG8gMCAoKy8tKSBidXQgY29udGFpbnMgcm91bmRpbmdcbiAgICAvLyBlcnJvcnMgZHVlIHRvIGZsb2F0aW5nIHBvaW50IG51bWJlcnMsIHNvIHdlIG5lZWQgdG8gY2hlY2sgcHJlY2lzaW9uLlxuICAgIC8vIFNhZmFyaSByZXR1cm5zIGEgbnVtYmVyIDw9IDAsIHVzdWFsbHkgPCAtMSB3aGVuIHBpbmNoLXpvb21lZFxuICAgIC8vIEZlYXR1cmUgZGV0ZWN0aW9uIGZhaWxzIGluIG1vYmlsZSBlbXVsYXRpb24gbW9kZSBpbiBDaHJvbWUuXG4gICAgLy8gTWF0aC5hYnMod2luLmlubmVyV2lkdGggLyB2aXN1YWxWaWV3cG9ydC5zY2FsZSAtIHZpc3VhbFZpZXdwb3J0LndpZHRoKSA8XG4gICAgLy8gMC4wMDFcbiAgICAvLyBGYWxsYmFjayBoZXJlOiBcIk5vdCBTYWZhcmlcIiB1c2VyQWdlbnRcblxuICAgIGlmICghL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHg6IHggKyBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQpLFxuICAgIHk6IHlcbiAgfTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***!
+ \****************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWindow; });\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRXaW5kb3cuanM/MWZjMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvdy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvdyhub2RlKSB7XG4gIGlmIChub2RlID09IG51bGwpIHtcbiAgICByZXR1cm4gd2luZG93O1xuICB9XG5cbiAgaWYgKG5vZGUudG9TdHJpbmcoKSAhPT0gJ1tvYmplY3QgV2luZG93XScpIHtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudDtcbiAgICByZXR1cm4gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93IDogd2luZG93O1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWindowScroll; });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\nfunction getWindowScroll(node) {\n var win = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRXaW5kb3dTY3JvbGwuanM/YTMyMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBdUM7QUFDeEI7QUFDZixZQUFZLDZEQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0V2luZG93U2Nyb2xsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbChub2RlKSB7XG4gIHZhciB3aW4gPSBnZXRXaW5kb3cobm9kZSk7XG4gIHZhciBzY3JvbGxMZWZ0ID0gd2luLnBhZ2VYT2Zmc2V0O1xuICB2YXIgc2Nyb2xsVG9wID0gd2luLnBhZ2VZT2Zmc2V0O1xuICByZXR1cm4ge1xuICAgIHNjcm9sbExlZnQ6IHNjcm9sbExlZnQsXG4gICAgc2Nyb2xsVG9wOiBzY3JvbGxUb3BcbiAgfTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js":
+/*!**************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***!
+ \**************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWindowScrollBarX; });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n\n\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return Object(_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element)).left + Object(_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element).scrollLeft;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzPzYxMjUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUErRDtBQUNOO0FBQ047QUFDcEM7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMseUVBQXFCLENBQUMsc0VBQWtCLGtCQUFrQixtRUFBZTtBQUNsRiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvd1Njcm9sbEJhclguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQpIHtcbiAgLy8gSWYgPGh0bWw+IGhhcyBhIENTUyB3aWR0aCBncmVhdGVyIHRoYW4gdGhlIHZpZXdwb3J0LCB0aGVuIHRoaXMgd2lsbCBiZVxuICAvLyBpbmNvcnJlY3QgZm9yIFJUTC5cbiAgLy8gUG9wcGVyIDEgaXMgYnJva2VuIGluIHRoaXMgY2FzZSBhbmQgbmV2ZXIgaGFkIGEgYnVnIHJlcG9ydCBzbyBsZXQncyBhc3N1bWVcbiAgLy8gaXQncyBub3QgYW4gaXNzdWUuIEkgZG9uJ3QgdGhpbmsgYW55b25lIGV2ZXIgc3BlY2lmaWVzIHdpZHRoIG9uIDxodG1sPlxuICAvLyBhbnl3YXkuXG4gIC8vIEJyb3dzZXJzIHdoZXJlIHRoZSBsZWZ0IHNjcm9sbGJhciBkb2Vzbid0IGNhdXNlIGFuIGlzc3VlIHJlcG9ydCBgMGAgZm9yXG4gIC8vIHRoaXMgKGUuZy4gRWRnZSAyMDE5LCBJRTExLCBTYWZhcmkpXG4gIHJldHVybiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpKS5sZWZ0ICsgZ2V0V2luZG93U2Nyb2xsKGVsZW1lbnQpLnNjcm9sbExlZnQ7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***!
+ \*****************************************************************/
+/*! exports provided: isElement, isHTMLElement, isShadowRoot */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isElement\", function() { return isElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isHTMLElement\", function() { return isHTMLElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isShadowRoot\", function() { return isShadowRoot; });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\n\nfunction isElement(node) {\n var OwnElement = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzPzI3NjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1Qzs7QUFFdkM7QUFDQSxtQkFBbUIsNkRBQVM7QUFDNUI7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQiw2REFBUztBQUM1QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLDZEQUFTO0FBQzVCO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcblxuZnVuY3Rpb24gaXNFbGVtZW50KG5vZGUpIHtcbiAgdmFyIE93bkVsZW1lbnQgPSBnZXRXaW5kb3cobm9kZSkuRWxlbWVudDtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBPd25FbGVtZW50IHx8IG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50O1xufVxuXG5mdW5jdGlvbiBpc0hUTUxFbGVtZW50KG5vZGUpIHtcbiAgdmFyIE93bkVsZW1lbnQgPSBnZXRXaW5kb3cobm9kZSkuSFRNTEVsZW1lbnQ7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgT3duRWxlbWVudCB8fCBub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzU2hhZG93Um9vdChub2RlKSB7XG4gIC8vIElFIDExIGhhcyBubyBTaGFkb3dSb290XG4gIGlmICh0eXBlb2YgU2hhZG93Um9vdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5TaGFkb3dSb290O1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE93bkVsZW1lbnQgfHwgbm9kZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q7XG59XG5cbmV4cG9ydCB7IGlzRWxlbWVudCwgaXNIVE1MRWxlbWVudCwgaXNTaGFkb3dSb290IH07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***!
+ \*********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isScrollParent; });\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = Object(_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1Njcm9sbFBhcmVudC5qcz9hZTZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFxRDtBQUN0QztBQUNmO0FBQ0EsMEJBQTBCLG9FQUFnQjtBQUMxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2lzU2Nyb2xsUGFyZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNTY3JvbGxQYXJlbnQoZWxlbWVudCkge1xuICAvLyBGaXJlZm94IHdhbnRzIHVzIHRvIGNoZWNrIGAteGAgYW5kIGAteWAgdmFyaWF0aW9ucyBhcyB3ZWxsXG4gIHZhciBfZ2V0Q29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCksXG4gICAgICBvdmVyZmxvdyA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93LFxuICAgICAgb3ZlcmZsb3dYID0gX2dldENvbXB1dGVkU3R5bGUub3ZlcmZsb3dYLFxuICAgICAgb3ZlcmZsb3dZID0gX2dldENvbXB1dGVkU3R5bGUub3ZlcmZsb3dZO1xuXG4gIHJldHVybiAvYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW4vLnRlc3Qob3ZlcmZsb3cgKyBvdmVyZmxvd1kgKyBvdmVyZmxvd1gpO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***!
+ \*********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isTableElement; });\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(Object(_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element)) >= 0;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1RhYmxlRWxlbWVudC5qcz9iNDUxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUEyQztBQUM1QjtBQUNmLHVDQUF1QywrREFBVztBQUNsRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2lzVGFibGVFbGVtZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RhYmxlRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiBbJ3RhYmxlJywgJ3RkJywgJ3RoJ10uaW5kZXhPZihnZXROb2RlTmFtZShlbGVtZW50KSkgPj0gMDtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***!
+ \************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return listScrollParents; });\n/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n\n\n\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = Object(_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = Object(_getWindow_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], Object(_isScrollParent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(Object(_getParentNode_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target)));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9saXN0U2Nyb2xsUGFyZW50cy5qcz9lYTFhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFtRDtBQUNKO0FBQ1I7QUFDVTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLG1FQUFlO0FBQ3BDO0FBQ0EsWUFBWSw2REFBUztBQUNyQiwrREFBK0Qsa0VBQWM7QUFDN0U7QUFDQTtBQUNBLHVDQUF1QyxpRUFBYTtBQUNwRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFNjcm9sbFBhcmVudCBmcm9tIFwiLi9nZXRTY3JvbGxQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4vZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgaXNTY3JvbGxQYXJlbnQgZnJvbSBcIi4vaXNTY3JvbGxQYXJlbnQuanNcIjtcbi8qXG5naXZlbiBhIERPTSBlbGVtZW50LCByZXR1cm4gdGhlIGxpc3Qgb2YgYWxsIHNjcm9sbCBwYXJlbnRzLCB1cCB0aGUgbGlzdCBvZiBhbmNlc29yc1xudW50aWwgd2UgZ2V0IHRvIHRoZSB0b3Agd2luZG93IG9iamVjdC4gVGhpcyBsaXN0IGlzIHdoYXQgd2UgYXR0YWNoIHNjcm9sbCBsaXN0ZW5lcnNcbnRvLCBiZWNhdXNlIGlmIGFueSBvZiB0aGVzZSBwYXJlbnQgZWxlbWVudHMgc2Nyb2xsLCB3ZSdsbCBuZWVkIHRvIHJlLWNhbGN1bGF0ZSB0aGVcbnJlZmVyZW5jZSBlbGVtZW50J3MgcG9zaXRpb24uXG4qL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaXN0U2Nyb2xsUGFyZW50cyhlbGVtZW50LCBsaXN0KSB7XG4gIHZhciBfZWxlbWVudCRvd25lckRvY3VtZW47XG5cbiAgaWYgKGxpc3QgPT09IHZvaWQgMCkge1xuICAgIGxpc3QgPSBbXTtcbiAgfVxuXG4gIHZhciBzY3JvbGxQYXJlbnQgPSBnZXRTY3JvbGxQYXJlbnQoZWxlbWVudCk7XG4gIHZhciBpc0JvZHkgPSBzY3JvbGxQYXJlbnQgPT09ICgoX2VsZW1lbnQkb3duZXJEb2N1bWVuID0gZWxlbWVudC5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2VsZW1lbnQkb3duZXJEb2N1bWVuLmJvZHkpO1xuICB2YXIgd2luID0gZ2V0V2luZG93KHNjcm9sbFBhcmVudCk7XG4gIHZhciB0YXJnZXQgPSBpc0JvZHkgPyBbd2luXS5jb25jYXQod2luLnZpc3VhbFZpZXdwb3J0IHx8IFtdLCBpc1Njcm9sbFBhcmVudChzY3JvbGxQYXJlbnQpID8gc2Nyb2xsUGFyZW50IDogW10pIDogc2Nyb2xsUGFyZW50O1xuICB2YXIgdXBkYXRlZExpc3QgPSBsaXN0LmNvbmNhdCh0YXJnZXQpO1xuICByZXR1cm4gaXNCb2R5ID8gdXBkYXRlZExpc3QgOiAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1jYWxsXTogaXNCb2R5IHRlbGxzIHVzIHRhcmdldCB3aWxsIGJlIGFuIEhUTUxFbGVtZW50IGhlcmVcbiAgdXBkYXRlZExpc3QuY29uY2F0KGxpc3RTY3JvbGxQYXJlbnRzKGdldFBhcmVudE5vZGUodGFyZ2V0KSkpO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/enums.js":
+/*!**************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/enums.js ***!
+ \**************************************************/
+/*! exports provided: top, bottom, right, left, auto, basePlacements, start, end, clippingParents, viewport, popper, reference, variationPlacements, placements, beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite, modifierPhases */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"top\", function() { return top; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bottom\", function() { return bottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"right\", function() { return right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"left\", function() { return left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"auto\", function() { return auto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"basePlacements\", function() { return basePlacements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"start\", function() { return start; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"end\", function() { return end; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clippingParents\", function() { return clippingParents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"viewport\", function() { return viewport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"popper\", function() { return popper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reference\", function() { return reference; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"variationPlacements\", function() { return variationPlacements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return placements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beforeRead\", function() { return beforeRead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"read\", function() { return read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"afterRead\", function() { return afterRead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beforeMain\", function() { return beforeMain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"main\", function() { return main; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"afterMain\", function() { return afterMain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beforeWrite\", function() { return beforeWrite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"write\", function() { return write; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"afterWrite\", function() { return afterWrite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifierPhases\", function() { return modifierPhases; });\nvar top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar popper = 'popper';\nvar reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2VudW1zLmpzPzc3ZjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNQO0FBQ0EsQ0FBQztBQUNNO0FBQ1A7QUFDQSxDQUFDLE1BQU07O0FBRUE7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2VudW1zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciB0b3AgPSAndG9wJztcbmV4cG9ydCB2YXIgYm90dG9tID0gJ2JvdHRvbSc7XG5leHBvcnQgdmFyIHJpZ2h0ID0gJ3JpZ2h0JztcbmV4cG9ydCB2YXIgbGVmdCA9ICdsZWZ0JztcbmV4cG9ydCB2YXIgYXV0byA9ICdhdXRvJztcbmV4cG9ydCB2YXIgYmFzZVBsYWNlbWVudHMgPSBbdG9wLCBib3R0b20sIHJpZ2h0LCBsZWZ0XTtcbmV4cG9ydCB2YXIgc3RhcnQgPSAnc3RhcnQnO1xuZXhwb3J0IHZhciBlbmQgPSAnZW5kJztcbmV4cG9ydCB2YXIgY2xpcHBpbmdQYXJlbnRzID0gJ2NsaXBwaW5nUGFyZW50cyc7XG5leHBvcnQgdmFyIHZpZXdwb3J0ID0gJ3ZpZXdwb3J0JztcbmV4cG9ydCB2YXIgcG9wcGVyID0gJ3BvcHBlcic7XG5leHBvcnQgdmFyIHJlZmVyZW5jZSA9ICdyZWZlcmVuY2UnO1xuZXhwb3J0IHZhciB2YXJpYXRpb25QbGFjZW1lbnRzID0gLyojX19QVVJFX18qL2Jhc2VQbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIGFjYy5jb25jYXQoW3BsYWNlbWVudCArIFwiLVwiICsgc3RhcnQsIHBsYWNlbWVudCArIFwiLVwiICsgZW5kXSk7XG59LCBbXSk7XG5leHBvcnQgdmFyIHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovW10uY29uY2F0KGJhc2VQbGFjZW1lbnRzLCBbYXV0b10pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIGFjYy5jb25jYXQoW3BsYWNlbWVudCwgcGxhY2VtZW50ICsgXCItXCIgKyBzdGFydCwgcGxhY2VtZW50ICsgXCItXCIgKyBlbmRdKTtcbn0sIFtdKTsgLy8gbW9kaWZpZXJzIHRoYXQgbmVlZCB0byByZWFkIHRoZSBET01cblxuZXhwb3J0IHZhciBiZWZvcmVSZWFkID0gJ2JlZm9yZVJlYWQnO1xuZXhwb3J0IHZhciByZWFkID0gJ3JlYWQnO1xuZXhwb3J0IHZhciBhZnRlclJlYWQgPSAnYWZ0ZXJSZWFkJzsgLy8gcHVyZS1sb2dpYyBtb2RpZmllcnNcblxuZXhwb3J0IHZhciBiZWZvcmVNYWluID0gJ2JlZm9yZU1haW4nO1xuZXhwb3J0IHZhciBtYWluID0gJ21haW4nO1xuZXhwb3J0IHZhciBhZnRlck1haW4gPSAnYWZ0ZXJNYWluJzsgLy8gbW9kaWZpZXIgd2l0aCB0aGUgcHVycG9zZSB0byB3cml0ZSB0byB0aGUgRE9NIChvciB3cml0ZSBpbnRvIGEgZnJhbWV3b3JrIHN0YXRlKVxuXG5leHBvcnQgdmFyIGJlZm9yZVdyaXRlID0gJ2JlZm9yZVdyaXRlJztcbmV4cG9ydCB2YXIgd3JpdGUgPSAnd3JpdGUnO1xuZXhwb3J0IHZhciBhZnRlcldyaXRlID0gJ2FmdGVyV3JpdGUnO1xuZXhwb3J0IHZhciBtb2RpZmllclBoYXNlcyA9IFtiZWZvcmVSZWFkLCByZWFkLCBhZnRlclJlYWQsIGJlZm9yZU1haW4sIG1haW4sIGFmdGVyTWFpbiwgYmVmb3JlV3JpdGUsIHdyaXRlLCBhZnRlcldyaXRlXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/enums.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/index.js":
+/*!**************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/index.js ***!
+ \**************************************************/
+/*! exports provided: top, bottom, right, left, auto, basePlacements, start, end, clippingParents, viewport, popper, reference, variationPlacements, placements, beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite, modifierPhases, applyStyles, arrow, computeStyles, eventListeners, flip, hide, offset, popperOffsets, preventOverflow, popperGenerator, detectOverflow, createPopperBase, createPopper, createPopperLite */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"top\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bottom\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"right\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"left\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"auto\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"auto\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"basePlacements\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"basePlacements\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"start\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"start\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"end\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"end\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clippingParents\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"clippingParents\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"viewport\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"viewport\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popper\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"popper\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reference\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"reference\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"variationPlacements\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"variationPlacements\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"placements\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beforeRead\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"beforeRead\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"read\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"read\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"afterRead\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"afterRead\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beforeMain\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"beforeMain\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"main\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"main\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"afterMain\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"afterMain\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beforeWrite\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"beforeWrite\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"write\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"write\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"afterWrite\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"afterWrite\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modifierPhases\", function() { return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"modifierPhases\"]; });\n\n/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ \"./node_modules/@popperjs/core/lib/modifiers/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applyStyles\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"applyStyles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrow\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"arrow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"computeStyles\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"computeStyles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventListeners\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"eventListeners\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"flip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hide\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"hide\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"offset\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"offset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperOffsets\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"popperOffsets\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"preventOverflow\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__[\"preventOverflow\"]; });\n\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/createPopper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperGenerator\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_2__[\"popperGenerator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectOverflow\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_2__[\"detectOverflow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopperBase\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_2__[\"createPopper\"]; });\n\n/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./popper.js */ \"./node_modules/@popperjs/core/lib/popper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopper\", function() { return _popper_js__WEBPACK_IMPORTED_MODULE_3__[\"createPopper\"]; });\n\n/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper-lite.js */ \"./node_modules/@popperjs/core/lib/popper-lite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopperLite\", function() { return _popper_lite_js__WEBPACK_IMPORTED_MODULE_4__[\"createPopper\"]; });\n\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2luZGV4LmpzPzEyMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkI7QUFDVTs7QUFFaUU7O0FBRTNEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VudW1zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RpZmllcnMvaW5kZXguanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBwb3BwZXJHZW5lcmF0b3IsIGRldGVjdE92ZXJmbG93LCBjcmVhdGVQb3BwZXIgYXMgY3JlYXRlUG9wcGVyQmFzZSB9IGZyb20gXCIuL2NyZWF0ZVBvcHBlci5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciB9IGZyb20gXCIuL3BvcHBlci5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciBhcyBjcmVhdGVQb3BwZXJMaXRlIH0gZnJvbSBcIi4vcG9wcGVyLWxpdGUuanNcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/index.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***!
+ \******************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!Object(_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__[\"isHTMLElement\"])(element) || !Object(_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!Object(_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__[\"isHTMLElement\"])(element) || !Object(_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9hcHBseVN0eWxlcy5qcz8wYWI0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFzRDtBQUNLO0FBQzNEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDLFNBQVMsOEVBQWEsY0FBYyx5RUFBVztBQUMvQztBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0hBQXNIOztBQUV0SDtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQUksRUFBRTs7QUFFYixXQUFXLDhFQUFhLGNBQWMseUVBQVc7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsQ0FBQzs7O0FBR2M7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4uL2RvbS11dGlscy9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiOyAvLyBUaGlzIG1vZGlmaWVyIHRha2VzIHRoZSBzdHlsZXMgcHJlcGFyZWQgYnkgdGhlIGBjb21wdXRlU3R5bGVzYCBtb2RpZmllclxuLy8gYW5kIGFwcGxpZXMgdGhlbSB0byB0aGUgSFRNTEVsZW1lbnRzIHN1Y2ggYXMgcG9wcGVyIGFuZCBhcnJvd1xuXG5mdW5jdGlvbiBhcHBseVN0eWxlcyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGU7XG4gIE9iamVjdC5rZXlzKHN0YXRlLmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdmFyIHN0eWxlID0gc3RhdGUuc3R5bGVzW25hbWVdIHx8IHt9O1xuICAgIHZhciBhdHRyaWJ1dGVzID0gc3RhdGUuYXR0cmlidXRlc1tuYW1lXSB8fCB7fTtcbiAgICB2YXIgZWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzW25hbWVdOyAvLyBhcnJvdyBpcyBvcHRpb25hbCArIHZpcnR1YWwgZWxlbWVudHNcblxuICAgIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCAhZ2V0Tm9kZU5hbWUoZWxlbWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIEZsb3cgZG9lc24ndCBzdXBwb3J0IHRvIGV4dGVuZCB0aGlzIHByb3BlcnR5LCBidXQgaXQncyB0aGUgbW9zdFxuICAgIC8vIGVmZmVjdGl2ZSB3YXkgdG8gYXBwbHkgc3R5bGVzIHRvIGFuIEhUTUxFbGVtZW50XG4gICAgLy8gJEZsb3dGaXhNZVtjYW5ub3Qtd3JpdGVdXG5cblxuICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGUpO1xuICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGF0dHJpYnV0ZXNbbmFtZV07XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSA9PT0gdHJ1ZSA/ICcnIDogdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZWZmZWN0KF9yZWYyKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYyLnN0YXRlO1xuICB2YXIgaW5pdGlhbFN0eWxlcyA9IHtcbiAgICBwb3BwZXI6IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5LFxuICAgICAgbGVmdDogJzAnLFxuICAgICAgdG9wOiAnMCcsXG4gICAgICBtYXJnaW46ICcwJ1xuICAgIH0sXG4gICAgYXJyb3c6IHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgfSxcbiAgICByZWZlcmVuY2U6IHt9XG4gIH07XG4gIE9iamVjdC5hc3NpZ24oc3RhdGUuZWxlbWVudHMucG9wcGVyLnN0eWxlLCBpbml0aWFsU3R5bGVzLnBvcHBlcik7XG4gIHN0YXRlLnN0eWxlcyA9IGluaXRpYWxTdHlsZXM7XG5cbiAgaWYgKHN0YXRlLmVsZW1lbnRzLmFycm93KSB7XG4gICAgT2JqZWN0LmFzc2lnbihzdGF0ZS5lbGVtZW50cy5hcnJvdy5zdHlsZSwgaW5pdGlhbFN0eWxlcy5hcnJvdyk7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIE9iamVjdC5rZXlzKHN0YXRlLmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzW25hbWVdO1xuICAgICAgdmFyIGF0dHJpYnV0ZXMgPSBzdGF0ZS5hdHRyaWJ1dGVzW25hbWVdIHx8IHt9O1xuICAgICAgdmFyIHN0eWxlUHJvcGVydGllcyA9IE9iamVjdC5rZXlzKHN0YXRlLnN0eWxlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSA/IHN0YXRlLnN0eWxlc1tuYW1lXSA6IGluaXRpYWxTdHlsZXNbbmFtZV0pOyAvLyBTZXQgYWxsIHZhbHVlcyB0byBhbiBlbXB0eSBzdHJpbmcgdG8gdW5zZXQgdGhlbVxuXG4gICAgICB2YXIgc3R5bGUgPSBzdHlsZVByb3BlcnRpZXMucmVkdWNlKGZ1bmN0aW9uIChzdHlsZSwgcHJvcGVydHkpIHtcbiAgICAgICAgc3R5bGVbcHJvcGVydHldID0gJyc7XG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgIH0sIHt9KTsgLy8gYXJyb3cgaXMgb3B0aW9uYWwgKyB2aXJ0dWFsIGVsZW1lbnRzXG5cbiAgICAgIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCAhZ2V0Tm9kZU5hbWUoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnQuc3R5bGUsIHN0eWxlKTtcbiAgICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdhcHBseVN0eWxlcycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnd3JpdGUnLFxuICBmbjogYXBwbHlTdHlsZXMsXG4gIGVmZmVjdDogZWZmZWN0LFxuICByZXF1aXJlczogWydjb21wdXRlU3R5bGVzJ11cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js":
+/*!************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***!
+ \************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/contains.js */ \"./node_modules/@popperjs/core/lib/dom-utils/contains.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\");\n/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/within.js */ \"./node_modules/@popperjs/core/lib/utils/within.js\");\n/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ \"./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\");\n/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ \"./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return Object(_utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(typeof padding !== 'number' ? padding : Object(_utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"basePlacements\"]));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(state.placement);\n var axis = Object(_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(basePlacement);\n var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_8__[\"left\"], _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"right\"]].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = Object(_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arrowElement);\n var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"top\"] : _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"left\"];\n var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"bottom\"] : _enums_js__WEBPACK_IMPORTED_MODULE_8__[\"right\"];\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = Object(_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = Object(_utils_within_js__WEBPACK_IMPORTED_MODULE_5__[\"within\"])(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (true) {\n if (!Object(_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_9__[\"isHTMLElement\"])(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!Object(_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state.elements.popper, arrowElement)) {\n if (true) {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9hcnJvdy5qcz8wOTI5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEQ7QUFDRjtBQUNWO0FBQ2M7QUFDYztBQUNoQztBQUNvQjtBQUNOO0FBQ2E7QUFDWjs7QUFFM0Q7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQSxHQUFHO0FBQ0gsU0FBUyw0RUFBa0IseUNBQXlDLHlFQUFlLFVBQVUsd0RBQWM7QUFDM0c7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDBFQUFnQjtBQUN0QyxhQUFhLGtGQUF3QjtBQUNyQyxvQkFBb0IsOENBQUksRUFBRSwrQ0FBSztBQUMvQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMkVBQWE7QUFDL0IsK0JBQStCLDZDQUFHLEdBQUcsOENBQUk7QUFDekMsK0JBQStCLGdEQUFNLEdBQUcsK0NBQUs7QUFDN0M7QUFDQTtBQUNBLDBCQUEwQiw2RUFBZTtBQUN6QztBQUNBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLCtEQUFNLG1CQUFtQjs7QUFFeEM7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLElBQXFDO0FBQzNDLFNBQVMsOEVBQWE7QUFDdEI7QUFDQTtBQUNBOztBQUVBLE9BQU8sc0VBQVE7QUFDZixRQUFRLElBQXFDO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLENBQUM7OztBQUdjO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvYXJyb3cuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4uL2RvbS11dGlscy9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4gfSBmcm9tIFwiLi4vdXRpbHMvd2l0aGluLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuLi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4uL3V0aWxzL2V4cGFuZFRvSGFzaE1hcC5qc1wiO1xuaW1wb3J0IHsgbGVmdCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB0b3AsIGJvdHRvbSB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB0b1BhZGRpbmdPYmplY3QgPSBmdW5jdGlvbiB0b1BhZGRpbmdPYmplY3QocGFkZGluZywgc3RhdGUpIHtcbiAgcGFkZGluZyA9IHR5cGVvZiBwYWRkaW5nID09PSAnZnVuY3Rpb24nID8gcGFkZGluZyhPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5yZWN0cywge1xuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pKSA6IHBhZGRpbmc7XG4gIHJldHVybiBtZXJnZVBhZGRpbmdPYmplY3QodHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gcGFkZGluZyA6IGV4cGFuZFRvSGFzaE1hcChwYWRkaW5nLCBiYXNlUGxhY2VtZW50cykpO1xufTtcblxuZnVuY3Rpb24gYXJyb3coX3JlZikge1xuICB2YXIgX3N0YXRlJG1vZGlmaWVyc0RhdGEkO1xuXG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucztcbiAgdmFyIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93O1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cztcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBheGlzID0gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpO1xuICB2YXIgaXNWZXJ0aWNhbCA9IFtsZWZ0LCByaWdodF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwO1xuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBpZiAoIWFycm93RWxlbWVudCB8fCAhcG9wcGVyT2Zmc2V0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gdG9QYWRkaW5nT2JqZWN0KG9wdGlvbnMucGFkZGluZywgc3RhdGUpO1xuICB2YXIgYXJyb3dSZWN0ID0gZ2V0TGF5b3V0UmVjdChhcnJvd0VsZW1lbnQpO1xuICB2YXIgbWluUHJvcCA9IGF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gIHZhciBtYXhQcm9wID0gYXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gIHZhciBlbmREaWZmID0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2xlbl0gKyBzdGF0ZS5yZWN0cy5yZWZlcmVuY2VbYXhpc10gLSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucG9wcGVyW2xlbl07XG4gIHZhciBzdGFydERpZmYgPSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2F4aXNdO1xuICB2YXIgYXJyb3dPZmZzZXRQYXJlbnQgPSBnZXRPZmZzZXRQYXJlbnQoYXJyb3dFbGVtZW50KTtcbiAgdmFyIGNsaWVudFNpemUgPSBhcnJvd09mZnNldFBhcmVudCA/IGF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudEhlaWdodCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggfHwgMCA6IDA7XG4gIHZhciBjZW50ZXJUb1JlZmVyZW5jZSA9IGVuZERpZmYgLyAyIC0gc3RhcnREaWZmIC8gMjsgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBwb3BwZXIgaWYgdGhlIGNlbnRlciBwb2ludCBpc1xuICAvLyBvdXRzaWRlIG9mIHRoZSBwb3BwZXIgYm91bmRzXG5cbiAgdmFyIG1pbiA9IHBhZGRpbmdPYmplY3RbbWluUHJvcF07XG4gIHZhciBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dSZWN0W2xlbl0gLSBwYWRkaW5nT2JqZWN0W21heFByb3BdO1xuICB2YXIgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd1JlY3RbbGVuXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcbiAgdmFyIG9mZnNldCA9IHdpdGhpbihtaW4sIGNlbnRlciwgbWF4KTsgLy8gUHJldmVudHMgYnJlYWtpbmcgc3ludGF4IGhpZ2hsaWdodGluZy4uLlxuXG4gIHZhciBheGlzUHJvcCA9IGF4aXM7XG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSAoX3N0YXRlJG1vZGlmaWVyc0RhdGEkID0ge30sIF9zdGF0ZSRtb2RpZmllcnNEYXRhJFtheGlzUHJvcF0gPSBvZmZzZXQsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJC5jZW50ZXJPZmZzZXQgPSBvZmZzZXQgLSBjZW50ZXIsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJCk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmMi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkZWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudCxcbiAgICAgIGFycm93RWxlbWVudCA9IF9vcHRpb25zJGVsZW1lbnQgPT09IHZvaWQgMCA/ICdbZGF0YS1wb3BwZXItYXJyb3ddJyA6IF9vcHRpb25zJGVsZW1lbnQ7XG5cbiAgaWYgKGFycm93RWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIENTUyBzZWxlY3RvclxuXG5cbiAgaWYgKHR5cGVvZiBhcnJvd0VsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgYXJyb3dFbGVtZW50ID0gc3RhdGUuZWxlbWVudHMucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoYXJyb3dFbGVtZW50KTtcblxuICAgIGlmICghYXJyb3dFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmICghaXNIVE1MRWxlbWVudChhcnJvd0VsZW1lbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImFycm93XCIgZWxlbWVudCBtdXN0IGJlIGFuIEhUTUxFbGVtZW50IChub3QgYW4gU1ZHRWxlbWVudCkuJywgJ1RvIHVzZSBhbiBTVkcgYXJyb3csIHdyYXAgaXQgaW4gYW4gSFRNTEVsZW1lbnQgdGhhdCB3aWxsIGJlIHVzZWQgYXMnLCAndGhlIGFycm93LiddLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFjb250YWlucyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIsIGFycm93RWxlbWVudCkpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBcImFycm93XCIgbW9kaWZpZXJcXCdzIGBlbGVtZW50YCBtdXN0IGJlIGEgY2hpbGQgb2YgdGhlIHBvcHBlcicsICdlbGVtZW50LiddLmpvaW4oJyAnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdGUuZWxlbWVudHMuYXJyb3cgPSBhcnJvd0VsZW1lbnQ7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdhcnJvdycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBhcnJvdyxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIHJlcXVpcmVzOiBbJ3BvcHBlck9mZnNldHMnXSxcbiAgcmVxdWlyZXNJZkV4aXN0czogWydwcmV2ZW50T3ZlcmZsb3cnXVxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/arrow.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***!
+ \********************************************************************/
+/*! exports provided: mapToStyles, default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapToStyles\", function() { return mapToStyles; });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(x * dpr) / dpr || 0,\n y: Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_7__[\"round\"])(y * dpr) / dpr || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"];\n var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"];\n var win = window;\n\n if (adaptive) {\n var offsetParent = Object(_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === Object(_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(popper)) {\n offsetParent = Object(_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(popper);\n\n if (Object(_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"] || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"] || placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"]) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"end\"]) {\n sideY = _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"];\n var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"] || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"] || placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"]) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"end\"]) {\n sideX = _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"];\n var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (true) {\n var transitionProperty = Object(_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(state.placement),\n variation: Object(_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9jb21wdXRlU3R5bGVzLmpzPzdjZGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEQ7QUFDRTtBQUNaO0FBQ2tCO0FBQ0o7QUFDSjtBQUNSO0FBQ1g7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLDREQUFLO0FBQ1osT0FBTyw0REFBSztBQUNaO0FBQ0E7O0FBRU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDhDQUFJO0FBQ2xCLGNBQWMsNkNBQUc7QUFDakI7O0FBRUE7QUFDQSx1QkFBdUIsNkVBQWU7QUFDdEM7QUFDQTs7QUFFQSx5QkFBeUIsdUVBQVM7QUFDbEMscUJBQXFCLGdGQUFrQjs7QUFFdkMsVUFBVSw4RUFBZ0I7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUEsc0JBQXNCLDZDQUFHLG1CQUFtQiw4Q0FBSSxrQkFBa0IsK0NBQUssbUJBQW1CLDZDQUFHO0FBQzdGLGNBQWMsZ0RBQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsOENBQUksbUJBQW1CLDZDQUFHLGtCQUFrQixnREFBTSxtQkFBbUIsNkNBQUc7QUFDOUYsY0FBYywrQ0FBSztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkJBQTJCLG9DQUFvQztBQUMvRDs7QUFFQSx5QkFBeUIscUNBQXFDO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLElBQXFDO0FBQzNDLDZCQUE2Qiw4RUFBZ0I7O0FBRTdDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZUFBZSwwRUFBZ0I7QUFDL0IsZUFBZSxzRUFBWTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMENBQTBDLG1EQUFtRDtBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLHlDQUF5QyxrREFBa0Q7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUEsNENBQTRDO0FBQzVDO0FBQ0EsR0FBRztBQUNILENBQUM7OztBQUdjO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9jb21wdXRlU3R5bGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgYm90dG9tLCBlbmQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4uL3V0aWxzL2dldFZhcmlhdGlvbi5qc1wiO1xuaW1wb3J0IHsgcm91bmQgfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB1bnNldFNpZGVzID0ge1xuICB0b3A6ICdhdXRvJyxcbiAgcmlnaHQ6ICdhdXRvJyxcbiAgYm90dG9tOiAnYXV0bycsXG4gIGxlZnQ6ICdhdXRvJ1xufTsgLy8gUm91bmQgdGhlIG9mZnNldHMgdG8gdGhlIG5lYXJlc3Qgc3VpdGFibGUgc3VicGl4ZWwgYmFzZWQgb24gdGhlIERQUi5cbi8vIFpvb21pbmcgY2FuIGNoYW5nZSB0aGUgRFBSLCBidXQgaXQgc2VlbXMgdG8gcmVwb3J0IGEgdmFsdWUgdGhhdCB3aWxsXG4vLyBjbGVhbmx5IGRpdmlkZSB0aGUgdmFsdWVzIGludG8gdGhlIGFwcHJvcHJpYXRlIHN1YnBpeGVscy5cblxuZnVuY3Rpb24gcm91bmRPZmZzZXRzQnlEUFIoX3JlZikge1xuICB2YXIgeCA9IF9yZWYueCxcbiAgICAgIHkgPSBfcmVmLnk7XG4gIHZhciB3aW4gPSB3aW5kb3c7XG4gIHZhciBkcHIgPSB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuICByZXR1cm4ge1xuICAgIHg6IHJvdW5kKHggKiBkcHIpIC8gZHByIHx8IDAsXG4gICAgeTogcm91bmQoeSAqIGRwcikgLyBkcHIgfHwgMFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9TdHlsZXMoX3JlZjIpIHtcbiAgdmFyIF9PYmplY3QkYXNzaWduMjtcblxuICB2YXIgcG9wcGVyID0gX3JlZjIucG9wcGVyLFxuICAgICAgcG9wcGVyUmVjdCA9IF9yZWYyLnBvcHBlclJlY3QsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmMi5wbGFjZW1lbnQsXG4gICAgICB2YXJpYXRpb24gPSBfcmVmMi52YXJpYXRpb24sXG4gICAgICBvZmZzZXRzID0gX3JlZjIub2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uID0gX3JlZjIucG9zaXRpb24sXG4gICAgICBncHVBY2NlbGVyYXRpb24gPSBfcmVmMi5ncHVBY2NlbGVyYXRpb24sXG4gICAgICBhZGFwdGl2ZSA9IF9yZWYyLmFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzID0gX3JlZjIucm91bmRPZmZzZXRzLFxuICAgICAgaXNGaXhlZCA9IF9yZWYyLmlzRml4ZWQ7XG4gIHZhciBfb2Zmc2V0cyR4ID0gb2Zmc2V0cy54LFxuICAgICAgeCA9IF9vZmZzZXRzJHggPT09IHZvaWQgMCA/IDAgOiBfb2Zmc2V0cyR4LFxuICAgICAgX29mZnNldHMkeSA9IG9mZnNldHMueSxcbiAgICAgIHkgPSBfb2Zmc2V0cyR5ID09PSB2b2lkIDAgPyAwIDogX29mZnNldHMkeTtcblxuICB2YXIgX3JlZjMgPSB0eXBlb2Ygcm91bmRPZmZzZXRzID09PSAnZnVuY3Rpb24nID8gcm91bmRPZmZzZXRzKHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWYzLng7XG4gIHkgPSBfcmVmMy55O1xuICB2YXIgaGFzWCA9IG9mZnNldHMuaGFzT3duUHJvcGVydHkoJ3gnKTtcbiAgdmFyIGhhc1kgPSBvZmZzZXRzLmhhc093blByb3BlcnR5KCd5Jyk7XG4gIHZhciBzaWRlWCA9IGxlZnQ7XG4gIHZhciBzaWRlWSA9IHRvcDtcbiAgdmFyIHdpbiA9IHdpbmRvdztcblxuICBpZiAoYWRhcHRpdmUpIHtcbiAgICB2YXIgb2Zmc2V0UGFyZW50ID0gZ2V0T2Zmc2V0UGFyZW50KHBvcHBlcik7XG4gICAgdmFyIGhlaWdodFByb3AgPSAnY2xpZW50SGVpZ2h0JztcbiAgICB2YXIgd2lkdGhQcm9wID0gJ2NsaWVudFdpZHRoJztcblxuICAgIGlmIChvZmZzZXRQYXJlbnQgPT09IGdldFdpbmRvdyhwb3BwZXIpKSB7XG4gICAgICBvZmZzZXRQYXJlbnQgPSBnZXREb2N1bWVudEVsZW1lbnQocG9wcGVyKTtcblxuICAgICAgaWYgKGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiAhPT0gJ3N0YXRpYycgJiYgcG9zaXRpb24gPT09ICdhYnNvbHV0ZScpIHtcbiAgICAgICAgaGVpZ2h0UHJvcCA9ICdzY3JvbGxIZWlnaHQnO1xuICAgICAgICB3aWR0aFByb3AgPSAnc2Nyb2xsV2lkdGgnO1xuICAgICAgfVxuICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FzdF06IGZvcmNlIHR5cGUgcmVmaW5lbWVudCwgd2UgY29tcGFyZSBvZmZzZXRQYXJlbnQgd2l0aCB3aW5kb3cgYWJvdmUsIGJ1dCBGbG93IGRvZXNuJ3QgZGV0ZWN0IGl0XG5cblxuICAgIG9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudDtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09IHRvcCB8fCAocGxhY2VtZW50ID09PSBsZWZ0IHx8IHBsYWNlbWVudCA9PT0gcmlnaHQpICYmIHZhcmlhdGlvbiA9PT0gZW5kKSB7XG4gICAgICBzaWRlWSA9IGJvdHRvbTtcbiAgICAgIHZhciBvZmZzZXRZID0gaXNGaXhlZCAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQuaGVpZ2h0IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgICBvZmZzZXRQYXJlbnRbaGVpZ2h0UHJvcF07XG4gICAgICB5IC09IG9mZnNldFkgLSBwb3BwZXJSZWN0LmhlaWdodDtcbiAgICAgIHkgKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cblxuICAgIGlmIChwbGFjZW1lbnQgPT09IGxlZnQgfHwgKHBsYWNlbWVudCA9PT0gdG9wIHx8IHBsYWNlbWVudCA9PT0gYm90dG9tKSAmJiB2YXJpYXRpb24gPT09IGVuZCkge1xuICAgICAgc2lkZVggPSByaWdodDtcbiAgICAgIHZhciBvZmZzZXRYID0gaXNGaXhlZCAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQud2lkdGggOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgIG9mZnNldFBhcmVudFt3aWR0aFByb3BdO1xuICAgICAgeCAtPSBvZmZzZXRYIC0gcG9wcGVyUmVjdC53aWR0aDtcbiAgICAgIHggKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICBwb3NpdGlvbjogcG9zaXRpb25cbiAgfSwgYWRhcHRpdmUgJiYgdW5zZXRTaWRlcyk7XG5cbiAgdmFyIF9yZWY0ID0gcm91bmRPZmZzZXRzID09PSB0cnVlID8gcm91bmRPZmZzZXRzQnlEUFIoe1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9KSA6IHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcblxuICB4ID0gX3JlZjQueDtcbiAgeSA9IF9yZWY0Lnk7XG5cbiAgaWYgKGdwdUFjY2VsZXJhdGlvbikge1xuICAgIHZhciBfT2JqZWN0JGFzc2lnbjtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIChfT2JqZWN0JGFzc2lnbiA9IHt9LCBfT2JqZWN0JGFzc2lnbltzaWRlWV0gPSBoYXNZID8gJzAnIDogJycsIF9PYmplY3QkYXNzaWduW3NpZGVYXSA9IGhhc1ggPyAnMCcgOiAnJywgX09iamVjdCRhc3NpZ24udHJhbnNmb3JtID0gKHdpbi5kZXZpY2VQaXhlbFJhdGlvIHx8IDEpIDw9IDEgPyBcInRyYW5zbGF0ZShcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4KVwiIDogXCJ0cmFuc2xhdGUzZChcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4LCAwKVwiLCBfT2JqZWN0JGFzc2lnbikpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywgKF9PYmplY3QkYXNzaWduMiA9IHt9LCBfT2JqZWN0JGFzc2lnbjJbc2lkZVldID0gaGFzWSA/IHkgKyBcInB4XCIgOiAnJywgX09iamVjdCRhc3NpZ24yW3NpZGVYXSA9IGhhc1ggPyB4ICsgXCJweFwiIDogJycsIF9PYmplY3QkYXNzaWduMi50cmFuc2Zvcm0gPSAnJywgX09iamVjdCRhc3NpZ24yKSk7XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVTdHlsZXMoX3JlZjUpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjUuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjUub3B0aW9ucztcbiAgdmFyIF9vcHRpb25zJGdwdUFjY2VsZXJhdCA9IG9wdGlvbnMuZ3B1QWNjZWxlcmF0aW9uLFxuICAgICAgZ3B1QWNjZWxlcmF0aW9uID0gX29wdGlvbnMkZ3B1QWNjZWxlcmF0ID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkZ3B1QWNjZWxlcmF0LFxuICAgICAgX29wdGlvbnMkYWRhcHRpdmUgPSBvcHRpb25zLmFkYXB0aXZlLFxuICAgICAgYWRhcHRpdmUgPSBfb3B0aW9ucyRhZGFwdGl2ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGFkYXB0aXZlLFxuICAgICAgX29wdGlvbnMkcm91bmRPZmZzZXRzID0gb3B0aW9ucy5yb3VuZE9mZnNldHMsXG4gICAgICByb3VuZE9mZnNldHMgPSBfb3B0aW9ucyRyb3VuZE9mZnNldHMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRyb3VuZE9mZnNldHM7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIHZhciB0cmFuc2l0aW9uUHJvcGVydHkgPSBnZXRDb21wdXRlZFN0eWxlKHN0YXRlLmVsZW1lbnRzLnBvcHBlcikudHJhbnNpdGlvblByb3BlcnR5IHx8ICcnO1xuXG4gICAgaWYgKGFkYXB0aXZlICYmIFsndHJhbnNmb3JtJywgJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddLnNvbWUoZnVuY3Rpb24gKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gdHJhbnNpdGlvblByb3BlcnR5LmluZGV4T2YocHJvcGVydHkpID49IDA7XG4gICAgfSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihbJ1BvcHBlcjogRGV0ZWN0ZWQgQ1NTIHRyYW5zaXRpb25zIG9uIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nJywgJ0NTUyBwcm9wZXJ0aWVzOiBcInRyYW5zZm9ybVwiLCBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIsIFwibGVmdFwiLicsICdcXG5cXG4nLCAnRGlzYWJsZSB0aGUgXCJjb21wdXRlU3R5bGVzXCIgbW9kaWZpZXJcXCdzIGBhZGFwdGl2ZWAgb3B0aW9uIHRvIGFsbG93JywgJ2ZvciBzbW9vdGggdHJhbnNpdGlvbnMsIG9yIHJlbW92ZSB0aGVzZSBwcm9wZXJ0aWVzIGZyb20gdGhlIENTUycsICd0cmFuc2l0aW9uIGRlY2xhcmF0aW9uIG9uIHRoZSBwb3BwZXIgZWxlbWVudCBpZiBvbmx5IHRyYW5zaXRpb25pbmcnLCAnb3BhY2l0eSBvciBiYWNrZ3JvdW5kLWNvbG9yIGZvciBleGFtcGxlLicsICdcXG5cXG4nLCAnV2UgcmVjb21tZW5kIHVzaW5nIHRoZSBwb3BwZXIgZWxlbWVudCBhcyBhIHdyYXBwZXIgYXJvdW5kIGFuIGlubmVyJywgJ2VsZW1lbnQgdGhhdCBjYW4gaGF2ZSBhbnkgQ1NTIHByb3BlcnR5IHRyYW5zaXRpb25lZCBmb3IgYW5pbWF0aW9ucy4nXS5qb2luKCcgJykpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSB7XG4gICAgcGxhY2VtZW50OiBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCksXG4gICAgdmFyaWF0aW9uOiBnZXRWYXJpYXRpb24oc3RhdGUucGxhY2VtZW50KSxcbiAgICBwb3BwZXI6IHN0YXRlLmVsZW1lbnRzLnBvcHBlcixcbiAgICBwb3BwZXJSZWN0OiBzdGF0ZS5yZWN0cy5wb3BwZXIsXG4gICAgZ3B1QWNjZWxlcmF0aW9uOiBncHVBY2NlbGVyYXRpb24sXG4gICAgaXNGaXhlZDogc3RhdGUub3B0aW9ucy5zdHJhdGVneSA9PT0gJ2ZpeGVkJ1xuICB9O1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMgIT0gbnVsbCkge1xuICAgIHN0YXRlLnN0eWxlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5zdHlsZXMucG9wcGVyLCBtYXBUb1N0eWxlcyhPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIHtcbiAgICAgIG9mZnNldHM6IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uOiBzdGF0ZS5vcHRpb25zLnN0cmF0ZWd5LFxuICAgICAgYWRhcHRpdmU6IGFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzOiByb3VuZE9mZnNldHNcbiAgICB9KSkpO1xuICB9XG5cbiAgaWYgKHN0YXRlLm1vZGlmaWVyc0RhdGEuYXJyb3cgIT0gbnVsbCkge1xuICAgIHN0YXRlLnN0eWxlcy5hcnJvdyA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnN0eWxlcy5hcnJvdywgbWFwVG9TdHlsZXMoT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCB7XG4gICAgICBvZmZzZXRzOiBzdGF0ZS5tb2RpZmllcnNEYXRhLmFycm93LFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBhZGFwdGl2ZTogZmFsc2UsXG4gICAgICByb3VuZE9mZnNldHM6IHJvdW5kT2Zmc2V0c1xuICAgIH0pKSk7XG4gIH1cblxuICBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyLCB7XG4gICAgJ2RhdGEtcG9wcGVyLXBsYWNlbWVudCc6IHN0YXRlLnBsYWNlbWVudFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2NvbXB1dGVTdHlsZXMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ2JlZm9yZVdyaXRlJyxcbiAgZm46IGNvbXB1dGVTdHlsZXMsXG4gIGRhdGE6IHt9XG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***!
+ \*********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = Object(_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9ldmVudExpc3RlbmVycy5qcz9hZDZlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx1RUFBUztBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR2M7QUFDZjtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9ldmVudExpc3RlbmVycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRXaW5kb3cgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRXaW5kb3cuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG52YXIgcGFzc2l2ZSA9IHtcbiAgcGFzc2l2ZTogdHJ1ZVxufTtcblxuZnVuY3Rpb24gZWZmZWN0KF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIGluc3RhbmNlID0gX3JlZi5pbnN0YW5jZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnM7XG4gIHZhciBfb3B0aW9ucyRzY3JvbGwgPSBvcHRpb25zLnNjcm9sbCxcbiAgICAgIHNjcm9sbCA9IF9vcHRpb25zJHNjcm9sbCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHNjcm9sbCxcbiAgICAgIF9vcHRpb25zJHJlc2l6ZSA9IG9wdGlvbnMucmVzaXplLFxuICAgICAgcmVzaXplID0gX29wdGlvbnMkcmVzaXplID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkcmVzaXplO1xuICB2YXIgd2luZG93ID0gZ2V0V2luZG93KHN0YXRlLmVsZW1lbnRzLnBvcHBlcik7XG4gIHZhciBzY3JvbGxQYXJlbnRzID0gW10uY29uY2F0KHN0YXRlLnNjcm9sbFBhcmVudHMucmVmZXJlbmNlLCBzdGF0ZS5zY3JvbGxQYXJlbnRzLnBvcHBlcik7XG5cbiAgaWYgKHNjcm9sbCkge1xuICAgIHNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAoc2Nyb2xsUGFyZW50KSB7XG4gICAgICBzY3JvbGxQYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChyZXNpemUpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNjcm9sbCkge1xuICAgICAgc2Nyb2xsUGFyZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChzY3JvbGxQYXJlbnQpIHtcbiAgICAgICAgc2Nyb2xsUGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocmVzaXplKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaW5zdGFuY2UudXBkYXRlLCBwYXNzaXZlKTtcbiAgICB9XG4gIH07XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdldmVudExpc3RlbmVycycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnd3JpdGUnLFxuICBmbjogZnVuY3Rpb24gZm4oKSB7fSxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIGRhdGE6IHt9XG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***!
+ \***********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"auto\"]) {\n return [];\n }\n\n var oppositePlacement = Object(_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement);\n return [Object(_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(placement), oppositePlacement, Object(_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [Object(_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"auto\"] ? Object(_utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement);\n\n var isStartVariation = Object(_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"start\"];\n var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_5__[\"top\"], _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"bottom\"]].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = Object(_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"right\"] : _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"left\"] : isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"bottom\"] : _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"top\"];\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = Object(_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(mainVariationSide);\n }\n\n var altVariationSide = Object(_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9mbGlwLmpzP2VjYjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFvRTtBQUNSO0FBQzBCO0FBQzlCO0FBQ1k7QUFDQTtBQUNoQjs7QUFFcEQ7QUFDQSxNQUFNLDBFQUFnQixnQkFBZ0IsOENBQUk7QUFDMUM7QUFDQTs7QUFFQSwwQkFBMEIsOEVBQW9CO0FBQzlDLFVBQVUsdUZBQTZCLGdDQUFnQyx1RkFBNkI7QUFDcEc7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDBFQUFnQjtBQUN0QztBQUNBLGlHQUFpRyw4RUFBb0I7QUFDckg7QUFDQSxzQkFBc0IsMEVBQWdCLGdCQUFnQiw4Q0FBSSxHQUFHLDhFQUFvQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHVCQUF1QjtBQUN4Qzs7QUFFQSx5QkFBeUIsMEVBQWdCOztBQUV6QywyQkFBMkIsc0VBQVksZ0JBQWdCLCtDQUFLO0FBQzVELHNCQUFzQiw2Q0FBRyxFQUFFLGdEQUFNO0FBQ2pDO0FBQ0EsbUJBQW1CLHdFQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNERBQTRELCtDQUFLLEdBQUcsOENBQUksc0JBQXNCLGdEQUFNLEdBQUcsNkNBQUc7O0FBRTFHO0FBQ0EsMEJBQTBCLDhFQUFvQjtBQUM5Qzs7QUFFQSwyQkFBMkIsOEVBQW9CO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlDQUFpQyxRQUFRO0FBQ3pDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR2M7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2ZsaXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVBdXRvUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgYm90dG9tLCB0b3AsIHN0YXJ0LCByaWdodCwgbGVmdCwgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRGYWxsYmFja1BsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGlmIChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICB2YXIgb3Bwb3NpdGVQbGFjZW1lbnQgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICByZXR1cm4gW2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCksIG9wcG9zaXRlUGxhY2VtZW50LCBnZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudChvcHBvc2l0ZVBsYWNlbWVudCldO1xufVxuXG5mdW5jdGlvbiBmbGlwKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdLl9za2lwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIF9vcHRpb25zJG1haW5BeGlzID0gb3B0aW9ucy5tYWluQXhpcyxcbiAgICAgIGNoZWNrTWFpbkF4aXMgPSBfb3B0aW9ucyRtYWluQXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJG1haW5BeGlzLFxuICAgICAgX29wdGlvbnMkYWx0QXhpcyA9IG9wdGlvbnMuYWx0QXhpcyxcbiAgICAgIGNoZWNrQWx0QXhpcyA9IF9vcHRpb25zJGFsdEF4aXMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzID0gb3B0aW9ucy5mYWxsYmFja1BsYWNlbWVudHMsXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPSBvcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRmbGlwVmFyaWF0aW8sXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHMgPSBvcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cztcbiAgdmFyIHByZWZlcnJlZFBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocHJlZmVycmVkUGxhY2VtZW50KTtcbiAgdmFyIGlzQmFzZVBsYWNlbWVudCA9IGJhc2VQbGFjZW1lbnQgPT09IHByZWZlcnJlZFBsYWNlbWVudDtcbiAgdmFyIGZhbGxiYWNrUGxhY2VtZW50cyA9IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyB8fCAoaXNCYXNlUGxhY2VtZW50IHx8ICFmbGlwVmFyaWF0aW9ucyA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChwcmVmZXJyZWRQbGFjZW1lbnQpXSA6IGdldEV4cGFuZGVkRmFsbGJhY2tQbGFjZW1lbnRzKHByZWZlcnJlZFBsYWNlbWVudCkpO1xuICB2YXIgcGxhY2VtZW50cyA9IFtwcmVmZXJyZWRQbGFjZW1lbnRdLmNvbmNhdChmYWxsYmFja1BsYWNlbWVudHMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gYWNjLmNvbmNhdChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8gPyBjb21wdXRlQXV0b1BsYWNlbWVudChzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9uczogZmxpcFZhcmlhdGlvbnMsXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHM6IGFsbG93ZWRBdXRvUGxhY2VtZW50c1xuICAgIH0pIDogcGxhY2VtZW50KTtcbiAgfSwgW10pO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBjaGVja3NNYXAgPSBuZXcgTWFwKCk7XG4gIHZhciBtYWtlRmFsbGJhY2tDaGVja3MgPSB0cnVlO1xuICB2YXIgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50c1swXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsYWNlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcGxhY2VtZW50ID0gcGxhY2VtZW50c1tpXTtcblxuICAgIHZhciBfYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KTtcblxuICAgIHZhciBpc1N0YXJ0VmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHN0YXJ0O1xuICAgIHZhciBpc1ZlcnRpY2FsID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKF9iYXNlUGxhY2VtZW50KSA+PSAwO1xuICAgIHZhciBsZW4gPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuICAgIHZhciBvdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgYWx0Qm91bmRhcnk6IGFsdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pO1xuICAgIHZhciBtYWluVmFyaWF0aW9uU2lkZSA9IGlzVmVydGljYWwgPyBpc1N0YXJ0VmFyaWF0aW9uID8gcmlnaHQgOiBsZWZ0IDogaXNTdGFydFZhcmlhdGlvbiA/IGJvdHRvbSA6IHRvcDtcblxuICAgIGlmIChyZWZlcmVuY2VSZWN0W2xlbl0gPiBwb3BwZXJSZWN0W2xlbl0pIHtcbiAgICAgIG1haW5WYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIH1cblxuICAgIHZhciBhbHRWYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIHZhciBjaGVja3MgPSBbXTtcblxuICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICBjaGVja3MucHVzaChvdmVyZmxvd1tfYmFzZVBsYWNlbWVudF0gPD0gMCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrQWx0QXhpcykge1xuICAgICAgY2hlY2tzLnB1c2gob3ZlcmZsb3dbbWFpblZhcmlhdGlvblNpZGVdIDw9IDAsIG92ZXJmbG93W2FsdFZhcmlhdGlvblNpZGVdIDw9IDApO1xuICAgIH1cblxuICAgIGlmIChjaGVja3MuZXZlcnkoZnVuY3Rpb24gKGNoZWNrKSB7XG4gICAgICByZXR1cm4gY2hlY2s7XG4gICAgfSkpIHtcbiAgICAgIGZpcnN0Rml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgICAgIG1ha2VGYWxsYmFja0NoZWNrcyA9IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2hlY2tzTWFwLnNldChwbGFjZW1lbnQsIGNoZWNrcyk7XG4gIH1cblxuICBpZiAobWFrZUZhbGxiYWNrQ2hlY2tzKSB7XG4gICAgLy8gYDJgIG1heSBiZSBkZXNpcmVkIGluIHNvbWUgY2FzZXMg4oCTIHJlc2VhcmNoIGxhdGVyXG4gICAgdmFyIG51bWJlck9mQ2hlY2tzID0gZmxpcFZhcmlhdGlvbnMgPyAzIDogMTtcblxuICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKF9pKSB7XG4gICAgICB2YXIgZml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudHMuZmluZChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgICAgIHZhciBjaGVja3MgPSBjaGVja3NNYXAuZ2V0KHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGNoZWNrcykge1xuICAgICAgICAgIHJldHVybiBjaGVja3Muc2xpY2UoMCwgX2kpLmV2ZXJ5KGZ1bmN0aW9uIChjaGVjaykge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZpdHRpbmdQbGFjZW1lbnQpIHtcbiAgICAgICAgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gZml0dGluZ1BsYWNlbWVudDtcbiAgICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgX2kgPSBudW1iZXJPZkNoZWNrczsgX2kgPiAwOyBfaS0tKSB7XG4gICAgICB2YXIgX3JldCA9IF9sb29wKF9pKTtcblxuICAgICAgaWYgKF9yZXQgPT09IFwiYnJlYWtcIikgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLnBsYWNlbWVudCAhPT0gZmlyc3RGaXR0aW5nUGxhY2VtZW50KSB7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXS5fc2tpcCA9IHRydWU7XG4gICAgc3RhdGUucGxhY2VtZW50ID0gZmlyc3RGaXR0aW5nUGxhY2VtZW50O1xuICAgIHN0YXRlLnJlc2V0ID0gdHJ1ZTtcbiAgfVxufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZmxpcCcsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBmbGlwLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ29mZnNldCddLFxuICBkYXRhOiB7XG4gICAgX3NraXA6IGZhbHNlXG4gIH1cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/flip.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***!
+ \***********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n\n\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [_enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"], _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"], _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"], _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"]].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = Object(_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = Object(_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9oaWRlLmpzPzFkNmMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQXVEO0FBQ0M7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSw2Q0FBRyxFQUFFLCtDQUFLLEVBQUUsZ0RBQU0sRUFBRSw4Q0FBSTtBQUNsQztBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsd0VBQWM7QUFDeEM7QUFDQSxHQUFHO0FBQ0gsMEJBQTBCLHdFQUFjO0FBQ3hDO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7O0FBR2M7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2hpZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi4vdXRpbHMvZGV0ZWN0T3ZlcmZsb3cuanNcIjtcblxuZnVuY3Rpb24gZ2V0U2lkZU9mZnNldHMob3ZlcmZsb3csIHJlY3QsIHByZXZlbnRlZE9mZnNldHMpIHtcbiAgaWYgKHByZXZlbnRlZE9mZnNldHMgPT09IHZvaWQgMCkge1xuICAgIHByZXZlbnRlZE9mZnNldHMgPSB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogb3ZlcmZsb3cudG9wIC0gcmVjdC5oZWlnaHQgLSBwcmV2ZW50ZWRPZmZzZXRzLnksXG4gICAgcmlnaHQ6IG92ZXJmbG93LnJpZ2h0IC0gcmVjdC53aWR0aCArIHByZXZlbnRlZE9mZnNldHMueCxcbiAgICBib3R0b206IG92ZXJmbG93LmJvdHRvbSAtIHJlY3QuaGVpZ2h0ICsgcHJldmVudGVkT2Zmc2V0cy55LFxuICAgIGxlZnQ6IG92ZXJmbG93LmxlZnQgLSByZWN0LndpZHRoIC0gcHJldmVudGVkT2Zmc2V0cy54XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChvdmVyZmxvdykge1xuICByZXR1cm4gW3RvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdF0uc29tZShmdW5jdGlvbiAoc2lkZSkge1xuICAgIHJldHVybiBvdmVyZmxvd1tzaWRlXSA+PSAwO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaGlkZShfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBwcmV2ZW50ZWRPZmZzZXRzID0gc3RhdGUubW9kaWZpZXJzRGF0YS5wcmV2ZW50T3ZlcmZsb3c7XG4gIHZhciByZWZlcmVuY2VPdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgZWxlbWVudENvbnRleHQ6ICdyZWZlcmVuY2UnXG4gIH0pO1xuICB2YXIgcG9wcGVyQWx0T3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGFsdEJvdW5kYXJ5OiB0cnVlXG4gIH0pO1xuICB2YXIgcmVmZXJlbmNlQ2xpcHBpbmdPZmZzZXRzID0gZ2V0U2lkZU9mZnNldHMocmVmZXJlbmNlT3ZlcmZsb3csIHJlZmVyZW5jZVJlY3QpO1xuICB2YXIgcG9wcGVyRXNjYXBlT2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKHBvcHBlckFsdE92ZXJmbG93LCBwb3BwZXJSZWN0LCBwcmV2ZW50ZWRPZmZzZXRzKTtcbiAgdmFyIGlzUmVmZXJlbmNlSGlkZGVuID0gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyk7XG4gIHZhciBoYXNQb3BwZXJFc2NhcGVkID0gaXNBbnlTaWRlRnVsbHlDbGlwcGVkKHBvcHBlckVzY2FwZU9mZnNldHMpO1xuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0ge1xuICAgIHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0czogcmVmZXJlbmNlQ2xpcHBpbmdPZmZzZXRzLFxuICAgIHBvcHBlckVzY2FwZU9mZnNldHM6IHBvcHBlckVzY2FwZU9mZnNldHMsXG4gICAgaXNSZWZlcmVuY2VIaWRkZW46IGlzUmVmZXJlbmNlSGlkZGVuLFxuICAgIGhhc1BvcHBlckVzY2FwZWQ6IGhhc1BvcHBlckVzY2FwZWRcbiAgfTtcbiAgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciwge1xuICAgICdkYXRhLXBvcHBlci1yZWZlcmVuY2UtaGlkZGVuJzogaXNSZWZlcmVuY2VIaWRkZW4sXG4gICAgJ2RhdGEtcG9wcGVyLWVzY2FwZWQnOiBoYXNQb3BwZXJFc2NhcGVkXG4gIH0pO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnaGlkZScsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIHJlcXVpcmVzSWZFeGlzdHM6IFsncHJldmVudE92ZXJmbG93J10sXG4gIGZuOiBoaWRlXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/hide.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js":
+/*!************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***!
+ \************************************************************/
+/*! exports provided: applyStyles, arrow, computeStyles, eventListeners, flip, hide, offset, popperOffsets, preventOverflow */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applyStyles\", function() { return _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ \"./node_modules/@popperjs/core/lib/modifiers/arrow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrow\", function() { return _arrow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"computeStyles\", function() { return _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventListeners\", function() { return _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ \"./node_modules/@popperjs/core/lib/modifiers/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ \"./node_modules/@popperjs/core/lib/modifiers/hide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hide\", function() { return _hide_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ \"./node_modules/@popperjs/core/lib/modifiers/offset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"offset\", function() { return _offset_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperOffsets\", function() { return _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ \"./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"preventOverflow\", function() { return _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9pbmRleC5qcz8xZTc2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBEO0FBQ1o7QUFDZ0I7QUFDRTtBQUNwQjtBQUNBO0FBQ0k7QUFDYyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBhcHBseVN0eWxlcyB9IGZyb20gXCIuL2FwcGx5U3R5bGVzLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFycm93IH0gZnJvbSBcIi4vYXJyb3cuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29tcHV0ZVN0eWxlcyB9IGZyb20gXCIuL2NvbXB1dGVTdHlsZXMuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRMaXN0ZW5lcnMgfSBmcm9tIFwiLi9ldmVudExpc3RlbmVycy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmbGlwIH0gZnJvbSBcIi4vZmxpcC5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBoaWRlIH0gZnJvbSBcIi4vaGlkZS5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBvZmZzZXQgfSBmcm9tIFwiLi9vZmZzZXQuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcG9wcGVyT2Zmc2V0cyB9IGZyb20gXCIuL3BvcHBlck9mZnNldHMuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcHJldmVudE92ZXJmbG93IH0gZnJvbSBcIi4vcHJldmVudE92ZXJmbG93LmpzXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/index.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js":
+/*!*************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***!
+ \*************************************************************/
+/*! exports provided: distanceAndSkiddingToXY, default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distanceAndSkiddingToXY\", function() { return distanceAndSkiddingToXY; });\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement);\n var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__[\"left\"], _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"top\"]].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [_enums_js__WEBPACK_IMPORTED_MODULE_1__[\"left\"], _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"right\"]].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"placements\"].reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9vZmZzZXQuanM/OTgzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE0RDtBQUNEOztBQUVwRDtBQUNQLHNCQUFzQiwwRUFBZ0I7QUFDdEMsd0JBQXdCLDhDQUFJLEVBQUUsNkNBQUc7O0FBRWpDLG1FQUFtRTtBQUNuRTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVLDhDQUFJLEVBQUUsK0NBQUs7QUFDckI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG9EQUFVO0FBQ3ZCO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOzs7QUFHYztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvb2Zmc2V0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIHBsYWNlbWVudHMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VBbmRTa2lkZGluZ1RvWFkocGxhY2VtZW50LCByZWN0cywgb2Zmc2V0KSB7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICB2YXIgaW52ZXJ0RGlzdGFuY2UgPSBbbGVmdCwgdG9wXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID49IDAgPyAtMSA6IDE7XG5cbiAgdmFyIF9yZWYgPSB0eXBlb2Ygb2Zmc2V0ID09PSAnZnVuY3Rpb24nID8gb2Zmc2V0KE9iamVjdC5hc3NpZ24oe30sIHJlY3RzLCB7XG4gICAgcGxhY2VtZW50OiBwbGFjZW1lbnRcbiAgfSkpIDogb2Zmc2V0LFxuICAgICAgc2tpZGRpbmcgPSBfcmVmWzBdLFxuICAgICAgZGlzdGFuY2UgPSBfcmVmWzFdO1xuXG4gIHNraWRkaW5nID0gc2tpZGRpbmcgfHwgMDtcbiAgZGlzdGFuY2UgPSAoZGlzdGFuY2UgfHwgMCkgKiBpbnZlcnREaXN0YW5jZTtcbiAgcmV0dXJuIFtsZWZ0LCByaWdodF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwID8ge1xuICAgIHg6IGRpc3RhbmNlLFxuICAgIHk6IHNraWRkaW5nXG4gIH0gOiB7XG4gICAgeDogc2tpZGRpbmcsXG4gICAgeTogZGlzdGFuY2VcbiAgfTtcbn1cblxuZnVuY3Rpb24gb2Zmc2V0KF9yZWYyKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYyLnN0YXRlLFxuICAgICAgb3B0aW9ucyA9IF9yZWYyLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZjIubmFtZTtcbiAgdmFyIF9vcHRpb25zJG9mZnNldCA9IG9wdGlvbnMub2Zmc2V0LFxuICAgICAgb2Zmc2V0ID0gX29wdGlvbnMkb2Zmc2V0ID09PSB2b2lkIDAgPyBbMCwgMF0gOiBfb3B0aW9ucyRvZmZzZXQ7XG4gIHZhciBkYXRhID0gcGxhY2VtZW50cy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgcGxhY2VtZW50KSB7XG4gICAgYWNjW3BsYWNlbWVudF0gPSBkaXN0YW5jZUFuZFNraWRkaW5nVG9YWShwbGFjZW1lbnQsIHN0YXRlLnJlY3RzLCBvZmZzZXQpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbiAgdmFyIF9kYXRhJHN0YXRlJHBsYWNlbWVudCA9IGRhdGFbc3RhdGUucGxhY2VtZW50XSxcbiAgICAgIHggPSBfZGF0YSRzdGF0ZSRwbGFjZW1lbnQueCxcbiAgICAgIHkgPSBfZGF0YSRzdGF0ZSRwbGFjZW1lbnQueTtcblxuICBpZiAoc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzICE9IG51bGwpIHtcbiAgICBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMueCArPSB4O1xuICAgIHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy55ICs9IHk7XG4gIH1cblxuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0gZGF0YTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ29mZnNldCcsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIHJlcXVpcmVzOiBbJ3BvcHBlck9mZnNldHMnXSxcbiAgZm46IG9mZnNldFxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/offset.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***!
+ \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ \"./node_modules/@popperjs/core/lib/utils/computeOffsets.js\");\n\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = Object(_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzPzEzNGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsd0VBQWM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7O0FBR2M7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL3BvcHBlck9mZnNldHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcHV0ZU9mZnNldHMgZnJvbSBcIi4uL3V0aWxzL2NvbXB1dGVPZmZzZXRzLmpzXCI7XG5cbmZ1bmN0aW9uIHBvcHBlck9mZnNldHMoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZTtcbiAgLy8gT2Zmc2V0cyBhcmUgdGhlIGFjdHVhbCBwb3NpdGlvbiB0aGUgcG9wcGVyIG5lZWRzIHRvIGhhdmUgdG8gYmVcbiAgLy8gcHJvcGVybHkgcG9zaXRpb25lZCBuZWFyIGl0cyByZWZlcmVuY2UgZWxlbWVudFxuICAvLyBUaGlzIGlzIHRoZSBtb3N0IGJhc2ljIHBsYWNlbWVudCwgYW5kIHdpbGwgYmUgYWRqdXN0ZWQgYnlcbiAgLy8gdGhlIG1vZGlmaWVycyBpbiB0aGUgbmV4dCBzdGVwXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBjb21wdXRlT2Zmc2V0cyh7XG4gICAgcmVmZXJlbmNlOiBzdGF0ZS5yZWN0cy5yZWZlcmVuY2UsXG4gICAgZWxlbWVudDogc3RhdGUucmVjdHMucG9wcGVyLFxuICAgIHN0cmF0ZWd5OiAnYWJzb2x1dGUnLFxuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAncG9wcGVyT2Zmc2V0cycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAncmVhZCcsXG4gIGZuOiBwb3BwZXJPZmZzZXRzLFxuICBkYXRhOiB7fVxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***!
+ \**********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\");\n/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getAltAxis.js */ \"./node_modules/@popperjs/core/lib/utils/getAltAxis.js\");\n/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/within.js */ \"./node_modules/@popperjs/core/lib/utils/within.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ \"./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = Object(_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = Object(_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state.placement);\n var variation = Object(_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = Object(_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(basePlacement);\n var altAxis = Object(_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"] : _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"];\n var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"] : _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"];\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"start\"] ? referenceRect[len] : popperRect[len];\n var maxLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"start\"] ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? Object(_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : Object(_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = Object(_utils_within_js__WEBPACK_IMPORTED_MODULE_4__[\"within\"])(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && Object(_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = Object(_utils_within_js__WEBPACK_IMPORTED_MODULE_4__[\"within\"])(tether ? Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_10__[\"min\"])(min, tetherMin) : min, offset, tether ? Object(_utils_math_js__WEBPACK_IMPORTED_MODULE_10__[\"max\"])(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"] : _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"];\n\n var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"bottom\"] : _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"right\"];\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_0__[\"top\"], _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"left\"]].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? Object(_utils_within_js__WEBPACK_IMPORTED_MODULE_4__[\"withinMaxClamp\"])(_tetherMin, _offset, _tetherMax) : Object(_utils_within_js__WEBPACK_IMPORTED_MODULE_4__[\"within\"])(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wcmV2ZW50T3ZlcmZsb3cuanM/OTQzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEQ7QUFDRjtBQUNnQjtBQUM1QjtBQUNZO0FBQ0Y7QUFDSTtBQUNOO0FBQ0o7QUFDWTtBQUNFOztBQUVsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix3RUFBYztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxzQkFBc0IsMEVBQWdCO0FBQ3RDLGtCQUFrQixzRUFBWTtBQUM5QjtBQUNBLGlCQUFpQixrRkFBd0I7QUFDekMsZ0JBQWdCLG9FQUFVO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLDRGQUE0RjtBQUM1RjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHNDQUFzQyw2Q0FBRyxHQUFHLDhDQUFJO0FBQ2hELHFDQUFxQyxnREFBTSxHQUFHLCtDQUFLO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsK0NBQUs7QUFDcEMsK0JBQStCLCtDQUFLLDBDQUEwQztBQUM5RTs7QUFFQTtBQUNBLDZDQUE2QywyRUFBYTtBQUMxRDtBQUNBO0FBQ0E7QUFDQSx5SEFBeUgsNEVBQWtCO0FBQzNJO0FBQ0Esc0RBQXNEO0FBQ3REO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQiwrREFBTTtBQUN6QjtBQUNBO0FBQ0Esb0RBQW9ELDZFQUFlO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLCtEQUFNLFVBQVUsMkRBQU8seUNBQXlDLDJEQUFPO0FBQ2pHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVDQUF1Qyw2Q0FBRyxHQUFHLDhDQUFJOztBQUVqRCxzQ0FBc0MsZ0RBQU0sR0FBRywrQ0FBSzs7QUFFcEQ7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUEsd0JBQXdCLDZDQUFHLEVBQUUsOENBQUk7O0FBRWpDOztBQUVBOztBQUVBOztBQUVBLG9EQUFvRCx1RUFBYyxvQ0FBb0MsK0RBQU07O0FBRTVHO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7OztBQUdjO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wcmV2ZW50T3ZlcmZsb3cuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b3AsIGxlZnQsIHJpZ2h0LCBib3R0b20sIHN0YXJ0IH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0QWx0QXhpcyBmcm9tIFwiLi4vdXRpbHMvZ2V0QWx0QXhpcy5qc1wiO1xuaW1wb3J0IHsgd2l0aGluLCB3aXRoaW5NYXhDbGFtcCB9IGZyb20gXCIuLi91dGlscy93aXRoaW4uanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0TGF5b3V0UmVjdC5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgZ2V0RnJlc2hTaWRlT2JqZWN0IGZyb20gXCIuLi91dGlscy9nZXRGcmVzaFNpZGVPYmplY3QuanNcIjtcbmltcG9ydCB7IG1pbiBhcyBtYXRoTWluLCBtYXggYXMgbWF0aE1heCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5cbmZ1bmN0aW9uIHByZXZlbnRPdmVyZmxvdyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZi5vcHRpb25zLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZTtcbiAgdmFyIF9vcHRpb25zJG1haW5BeGlzID0gb3B0aW9ucy5tYWluQXhpcyxcbiAgICAgIGNoZWNrTWFpbkF4aXMgPSBfb3B0aW9ucyRtYWluQXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJG1haW5BeGlzLFxuICAgICAgX29wdGlvbnMkYWx0QXhpcyA9IG9wdGlvbnMuYWx0QXhpcyxcbiAgICAgIGNoZWNrQWx0QXhpcyA9IF9vcHRpb25zJGFsdEF4aXMgPT09IHZvaWQgMCA/IGZhbHNlIDogX29wdGlvbnMkYWx0QXhpcyxcbiAgICAgIGJvdW5kYXJ5ID0gb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeSA9IG9wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgYWx0Qm91bmRhcnkgPSBvcHRpb25zLmFsdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZyA9IG9wdGlvbnMucGFkZGluZyxcbiAgICAgIF9vcHRpb25zJHRldGhlciA9IG9wdGlvbnMudGV0aGVyLFxuICAgICAgdGV0aGVyID0gX29wdGlvbnMkdGV0aGVyID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkdGV0aGVyLFxuICAgICAgX29wdGlvbnMkdGV0aGVyT2Zmc2V0ID0gb3B0aW9ucy50ZXRoZXJPZmZzZXQsXG4gICAgICB0ZXRoZXJPZmZzZXQgPSBfb3B0aW9ucyR0ZXRoZXJPZmZzZXQgPT09IHZvaWQgMCA/IDAgOiBfb3B0aW9ucyR0ZXRoZXJPZmZzZXQ7XG4gIHZhciBvdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgYm91bmRhcnk6IGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgYWx0Qm91bmRhcnk6IGFsdEJvdW5kYXJ5XG4gIH0pO1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KTtcbiAgdmFyIHZhcmlhdGlvbiA9IGdldFZhcmlhdGlvbihzdGF0ZS5wbGFjZW1lbnQpO1xuICB2YXIgaXNCYXNlUGxhY2VtZW50ID0gIXZhcmlhdGlvbjtcbiAgdmFyIG1haW5BeGlzID0gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpO1xuICB2YXIgYWx0QXhpcyA9IGdldEFsdEF4aXMobWFpbkF4aXMpO1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cztcbiAgdmFyIHJlZmVyZW5jZVJlY3QgPSBzdGF0ZS5yZWN0cy5yZWZlcmVuY2U7XG4gIHZhciBwb3BwZXJSZWN0ID0gc3RhdGUucmVjdHMucG9wcGVyO1xuICB2YXIgdGV0aGVyT2Zmc2V0VmFsdWUgPSB0eXBlb2YgdGV0aGVyT2Zmc2V0ID09PSAnZnVuY3Rpb24nID8gdGV0aGVyT2Zmc2V0KE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnJlY3RzLCB7XG4gICAgcGxhY2VtZW50OiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSkpIDogdGV0aGVyT2Zmc2V0O1xuICB2YXIgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlID0gdHlwZW9mIHRldGhlck9mZnNldFZhbHVlID09PSAnbnVtYmVyJyA/IHtcbiAgICBtYWluQXhpczogdGV0aGVyT2Zmc2V0VmFsdWUsXG4gICAgYWx0QXhpczogdGV0aGVyT2Zmc2V0VmFsdWVcbiAgfSA6IE9iamVjdC5hc3NpZ24oe1xuICAgIG1haW5BeGlzOiAwLFxuICAgIGFsdEF4aXM6IDBcbiAgfSwgdGV0aGVyT2Zmc2V0VmFsdWUpO1xuICB2YXIgb2Zmc2V0TW9kaWZpZXJTdGF0ZSA9IHN0YXRlLm1vZGlmaWVyc0RhdGEub2Zmc2V0ID8gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXRbc3RhdGUucGxhY2VtZW50XSA6IG51bGw7XG4gIHZhciBkYXRhID0ge1xuICAgIHg6IDAsXG4gICAgeTogMFxuICB9O1xuXG4gIGlmICghcG9wcGVyT2Zmc2V0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgdmFyIF9vZmZzZXRNb2RpZmllclN0YXRlJDtcblxuICAgIHZhciBtYWluU2lkZSA9IG1haW5BeGlzID09PSAneScgPyB0b3AgOiBsZWZ0O1xuICAgIHZhciBhbHRTaWRlID0gbWFpbkF4aXMgPT09ICd5JyA/IGJvdHRvbSA6IHJpZ2h0O1xuICAgIHZhciBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgIHZhciBvZmZzZXQgPSBwb3BwZXJPZmZzZXRzW21haW5BeGlzXTtcbiAgICB2YXIgbWluID0gb2Zmc2V0ICsgb3ZlcmZsb3dbbWFpblNpZGVdO1xuICAgIHZhciBtYXggPSBvZmZzZXQgLSBvdmVyZmxvd1thbHRTaWRlXTtcbiAgICB2YXIgYWRkaXRpdmUgPSB0ZXRoZXIgPyAtcG9wcGVyUmVjdFtsZW5dIC8gMiA6IDA7XG4gICAgdmFyIG1pbkxlbiA9IHZhcmlhdGlvbiA9PT0gc3RhcnQgPyByZWZlcmVuY2VSZWN0W2xlbl0gOiBwb3BwZXJSZWN0W2xlbl07XG4gICAgdmFyIG1heExlbiA9IHZhcmlhdGlvbiA9PT0gc3RhcnQgPyAtcG9wcGVyUmVjdFtsZW5dIDogLXJlZmVyZW5jZVJlY3RbbGVuXTsgLy8gV2UgbmVlZCB0byBpbmNsdWRlIHRoZSBhcnJvdyBpbiB0aGUgY2FsY3VsYXRpb24gc28gdGhlIGFycm93IGRvZXNuJ3QgZ29cbiAgICAvLyBvdXRzaWRlIHRoZSByZWZlcmVuY2UgYm91bmRzXG5cbiAgICB2YXIgYXJyb3dFbGVtZW50ID0gc3RhdGUuZWxlbWVudHMuYXJyb3c7XG4gICAgdmFyIGFycm93UmVjdCA9IHRldGhlciAmJiBhcnJvd0VsZW1lbnQgPyBnZXRMYXlvdXRSZWN0KGFycm93RWxlbWVudCkgOiB7XG4gICAgICB3aWR0aDogMCxcbiAgICAgIGhlaWdodDogMFxuICAgIH07XG4gICAgdmFyIGFycm93UGFkZGluZ09iamVjdCA9IHN0YXRlLm1vZGlmaWVyc0RhdGFbJ2Fycm93I3BlcnNpc3RlbnQnXSA/IHN0YXRlLm1vZGlmaWVyc0RhdGFbJ2Fycm93I3BlcnNpc3RlbnQnXS5wYWRkaW5nIDogZ2V0RnJlc2hTaWRlT2JqZWN0KCk7XG4gICAgdmFyIGFycm93UGFkZGluZ01pbiA9IGFycm93UGFkZGluZ09iamVjdFttYWluU2lkZV07XG4gICAgdmFyIGFycm93UGFkZGluZ01heCA9IGFycm93UGFkZGluZ09iamVjdFthbHRTaWRlXTsgLy8gSWYgdGhlIHJlZmVyZW5jZSBsZW5ndGggaXMgc21hbGxlciB0aGFuIHRoZSBhcnJvdyBsZW5ndGgsIHdlIGRvbid0IHdhbnRcbiAgICAvLyB0byBpbmNsdWRlIGl0cyBmdWxsIHNpemUgaW4gdGhlIGNhbGN1bGF0aW9uLiBJZiB0aGUgcmVmZXJlbmNlIGlzIHNtYWxsXG4gICAgLy8gYW5kIG5lYXIgdGhlIGVkZ2Ugb2YgYSBib3VuZGFyeSwgdGhlIHBvcHBlciBjYW4gb3ZlcmZsb3cgZXZlbiBpZiB0aGVcbiAgICAvLyByZWZlcmVuY2UgaXMgbm90IG92ZXJmbG93aW5nIGFzIHdlbGwgKGUuZy4gdmlydHVhbCBlbGVtZW50cyB3aXRoIG5vXG4gICAgLy8gd2lkdGggb3IgaGVpZ2h0KVxuXG4gICAgdmFyIGFycm93TGVuID0gd2l0aGluKDAsIHJlZmVyZW5jZVJlY3RbbGVuXSwgYXJyb3dSZWN0W2xlbl0pO1xuICAgIHZhciBtaW5PZmZzZXQgPSBpc0Jhc2VQbGFjZW1lbnQgPyByZWZlcmVuY2VSZWN0W2xlbl0gLyAyIC0gYWRkaXRpdmUgLSBhcnJvd0xlbiAtIGFycm93UGFkZGluZ01pbiAtIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcyA6IG1pbkxlbiAtIGFycm93TGVuIC0gYXJyb3dQYWRkaW5nTWluIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzO1xuICAgIHZhciBtYXhPZmZzZXQgPSBpc0Jhc2VQbGFjZW1lbnQgPyAtcmVmZXJlbmNlUmVjdFtsZW5dIC8gMiArIGFkZGl0aXZlICsgYXJyb3dMZW4gKyBhcnJvd1BhZGRpbmdNYXggKyBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXMgOiBtYXhMZW4gKyBhcnJvd0xlbiArIGFycm93UGFkZGluZ01heCArIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcztcbiAgICB2YXIgYXJyb3dPZmZzZXRQYXJlbnQgPSBzdGF0ZS5lbGVtZW50cy5hcnJvdyAmJiBnZXRPZmZzZXRQYXJlbnQoc3RhdGUuZWxlbWVudHMuYXJyb3cpO1xuICAgIHZhciBjbGllbnRPZmZzZXQgPSBhcnJvd09mZnNldFBhcmVudCA/IG1haW5BeGlzID09PSAneScgPyBhcnJvd09mZnNldFBhcmVudC5jbGllbnRUb3AgfHwgMCA6IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudExlZnQgfHwgMCA6IDA7XG4gICAgdmFyIG9mZnNldE1vZGlmaWVyVmFsdWUgPSAoX29mZnNldE1vZGlmaWVyU3RhdGUkID0gb2Zmc2V0TW9kaWZpZXJTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogb2Zmc2V0TW9kaWZpZXJTdGF0ZVttYWluQXhpc10pICE9IG51bGwgPyBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQgOiAwO1xuICAgIHZhciB0ZXRoZXJNaW4gPSBvZmZzZXQgKyBtaW5PZmZzZXQgLSBvZmZzZXRNb2RpZmllclZhbHVlIC0gY2xpZW50T2Zmc2V0O1xuICAgIHZhciB0ZXRoZXJNYXggPSBvZmZzZXQgKyBtYXhPZmZzZXQgLSBvZmZzZXRNb2RpZmllclZhbHVlO1xuICAgIHZhciBwcmV2ZW50ZWRPZmZzZXQgPSB3aXRoaW4odGV0aGVyID8gbWF0aE1pbihtaW4sIHRldGhlck1pbikgOiBtaW4sIG9mZnNldCwgdGV0aGVyID8gbWF0aE1heChtYXgsIHRldGhlck1heCkgOiBtYXgpO1xuICAgIHBvcHBlck9mZnNldHNbbWFpbkF4aXNdID0gcHJldmVudGVkT2Zmc2V0O1xuICAgIGRhdGFbbWFpbkF4aXNdID0gcHJldmVudGVkT2Zmc2V0IC0gb2Zmc2V0O1xuICB9XG5cbiAgaWYgKGNoZWNrQWx0QXhpcykge1xuICAgIHZhciBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQyO1xuXG4gICAgdmFyIF9tYWluU2lkZSA9IG1haW5BeGlzID09PSAneCcgPyB0b3AgOiBsZWZ0O1xuXG4gICAgdmFyIF9hbHRTaWRlID0gbWFpbkF4aXMgPT09ICd4JyA/IGJvdHRvbSA6IHJpZ2h0O1xuXG4gICAgdmFyIF9vZmZzZXQgPSBwb3BwZXJPZmZzZXRzW2FsdEF4aXNdO1xuXG4gICAgdmFyIF9sZW4gPSBhbHRBeGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG5cbiAgICB2YXIgX21pbiA9IF9vZmZzZXQgKyBvdmVyZmxvd1tfbWFpblNpZGVdO1xuXG4gICAgdmFyIF9tYXggPSBfb2Zmc2V0IC0gb3ZlcmZsb3dbX2FsdFNpZGVdO1xuXG4gICAgdmFyIGlzT3JpZ2luU2lkZSA9IFt0b3AsIGxlZnRdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuXG4gICAgdmFyIF9vZmZzZXRNb2RpZmllclZhbHVlID0gKF9vZmZzZXRNb2RpZmllclN0YXRlJDIgPSBvZmZzZXRNb2RpZmllclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBvZmZzZXRNb2RpZmllclN0YXRlW2FsdEF4aXNdKSAhPSBudWxsID8gX29mZnNldE1vZGlmaWVyU3RhdGUkMiA6IDA7XG5cbiAgICB2YXIgX3RldGhlck1pbiA9IGlzT3JpZ2luU2lkZSA/IF9taW4gOiBfb2Zmc2V0IC0gcmVmZXJlbmNlUmVjdFtfbGVuXSAtIHBvcHBlclJlY3RbX2xlbl0gLSBfb2Zmc2V0TW9kaWZpZXJWYWx1ZSArIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5hbHRBeGlzO1xuXG4gICAgdmFyIF90ZXRoZXJNYXggPSBpc09yaWdpblNpZGUgPyBfb2Zmc2V0ICsgcmVmZXJlbmNlUmVjdFtfbGVuXSArIHBvcHBlclJlY3RbX2xlbl0gLSBfb2Zmc2V0TW9kaWZpZXJWYWx1ZSAtIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5hbHRBeGlzIDogX21heDtcblxuICAgIHZhciBfcHJldmVudGVkT2Zmc2V0ID0gdGV0aGVyICYmIGlzT3JpZ2luU2lkZSA/IHdpdGhpbk1heENsYW1wKF90ZXRoZXJNaW4sIF9vZmZzZXQsIF90ZXRoZXJNYXgpIDogd2l0aGluKHRldGhlciA/IF90ZXRoZXJNaW4gOiBfbWluLCBfb2Zmc2V0LCB0ZXRoZXIgPyBfdGV0aGVyTWF4IDogX21heCk7XG5cbiAgICBwb3BwZXJPZmZzZXRzW2FsdEF4aXNdID0gX3ByZXZlbnRlZE9mZnNldDtcbiAgICBkYXRhW2FsdEF4aXNdID0gX3ByZXZlbnRlZE9mZnNldCAtIF9vZmZzZXQ7XG4gIH1cblxuICBzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdID0gZGF0YTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ3ByZXZlbnRPdmVyZmxvdycsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBwcmV2ZW50T3ZlcmZsb3csXG4gIHJlcXVpcmVzSWZFeGlzdHM6IFsnb2Zmc2V0J11cbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/popper-lite.js":
+/*!********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***!
+ \********************************************************/
+/*! exports provided: createPopper, popperGenerator, defaultModifiers, detectOverflow */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopper\", function() { return createPopper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultModifiers\", function() { return defaultModifiers; });\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/createPopper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperGenerator\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"popperGenerator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectOverflow\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"detectOverflow\"]; });\n\n/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n\n\n\n\n\nvar defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]];\nvar createPopper = /*#__PURE__*/Object(_createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"popperGenerator\"])({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3BvcHBlci1saXRlLmpzPzQ1ZDEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9FO0FBQ1Q7QUFDRjtBQUNBO0FBQ0o7QUFDckQsd0JBQXdCLG9FQUFjLEVBQUUsbUVBQWEsRUFBRSxtRUFBYSxFQUFFLGlFQUFXO0FBQ2pGLGdDQUFnQyx3RUFBZTtBQUMvQztBQUNBLENBQUMsRUFBRSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvcG9wcGVyLWxpdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb3BwZXJHZW5lcmF0b3IsIGRldGVjdE92ZXJmbG93IH0gZnJvbSBcIi4vY3JlYXRlUG9wcGVyLmpzXCI7XG5pbXBvcnQgZXZlbnRMaXN0ZW5lcnMgZnJvbSBcIi4vbW9kaWZpZXJzL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5pbXBvcnQgcG9wcGVyT2Zmc2V0cyBmcm9tIFwiLi9tb2RpZmllcnMvcG9wcGVyT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVTdHlsZXMgZnJvbSBcIi4vbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanNcIjtcbmltcG9ydCBhcHBseVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanNcIjtcbnZhciBkZWZhdWx0TW9kaWZpZXJzID0gW2V2ZW50TGlzdGVuZXJzLCBwb3BwZXJPZmZzZXRzLCBjb21wdXRlU3R5bGVzLCBhcHBseVN0eWxlc107XG52YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcih7XG4gIGRlZmF1bHRNb2RpZmllcnM6IGRlZmF1bHRNb2RpZmllcnNcbn0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciwgcG9wcGVyR2VuZXJhdG9yLCBkZWZhdWx0TW9kaWZpZXJzLCBkZXRlY3RPdmVyZmxvdyB9OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/popper-lite.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/popper.js":
+/*!***************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/popper.js ***!
+ \***************************************************/
+/*! exports provided: createPopper, popperGenerator, defaultModifiers, detectOverflow, createPopperLite, applyStyles, arrow, computeStyles, eventListeners, flip, hide, offset, popperOffsets, preventOverflow */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopper\", function() { return createPopper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultModifiers\", function() { return defaultModifiers; });\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/createPopper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperGenerator\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"popperGenerator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectOverflow\", function() { return _createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"detectOverflow\"]; });\n\n/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/offset.js */ \"./node_modules/@popperjs/core/lib/modifiers/offset.js\");\n/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/flip.js */ \"./node_modules/@popperjs/core/lib/modifiers/flip.js\");\n/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ \"./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\");\n/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/arrow.js */ \"./node_modules/@popperjs/core/lib/modifiers/arrow.js\");\n/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modifiers/hide.js */ \"./node_modules/@popperjs/core/lib/modifiers/hide.js\");\n/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./popper-lite.js */ \"./node_modules/@popperjs/core/lib/popper-lite.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopperLite\", function() { return _popper_lite_js__WEBPACK_IMPORTED_MODULE_10__[\"createPopper\"]; });\n\n/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modifiers/index.js */ \"./node_modules/@popperjs/core/lib/modifiers/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applyStyles\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"applyStyles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrow\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"arrow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"computeStyles\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"computeStyles\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventListeners\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"eventListeners\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"flip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hide\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"hide\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"offset\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"offset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popperOffsets\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"popperOffsets\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"preventOverflow\", function() { return _modifiers_index_js__WEBPACK_IMPORTED_MODULE_11__[\"preventOverflow\"]; });\n\n\n\n\n\n\n\n\n\n\n\nvar defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]];\nvar createPopper = /*#__PURE__*/Object(_createPopper_js__WEBPACK_IMPORTED_MODULE_0__[\"popperGenerator\"])({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3BvcHBlci5qcz8zOWMzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFvRTtBQUNUO0FBQ0Y7QUFDQTtBQUNKO0FBQ1Y7QUFDSjtBQUNzQjtBQUNwQjtBQUNGO0FBQ3ZDLHdCQUF3QixvRUFBYyxFQUFFLG1FQUFhLEVBQUUsbUVBQWEsRUFBRSxpRUFBVyxFQUFFLDREQUFNLEVBQUUsMERBQUksRUFBRSxxRUFBZSxFQUFFLDJEQUFLLEVBQUUsMERBQUk7QUFDN0gsZ0NBQWdDLHdFQUFlO0FBQy9DO0FBQ0EsQ0FBQyxFQUFFOztBQUV3RTs7QUFFUCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvcG9wcGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9wcGVyR2VuZXJhdG9yLCBkZXRlY3RPdmVyZmxvdyB9IGZyb20gXCIuL2NyZWF0ZVBvcHBlci5qc1wiO1xuaW1wb3J0IGV2ZW50TGlzdGVuZXJzIGZyb20gXCIuL21vZGlmaWVycy9ldmVudExpc3RlbmVycy5qc1wiO1xuaW1wb3J0IHBvcHBlck9mZnNldHMgZnJvbSBcIi4vbW9kaWZpZXJzL3BvcHBlck9mZnNldHMuanNcIjtcbmltcG9ydCBjb21wdXRlU3R5bGVzIGZyb20gXCIuL21vZGlmaWVycy9jb21wdXRlU3R5bGVzLmpzXCI7XG5pbXBvcnQgYXBwbHlTdHlsZXMgZnJvbSBcIi4vbW9kaWZpZXJzL2FwcGx5U3R5bGVzLmpzXCI7XG5pbXBvcnQgb2Zmc2V0IGZyb20gXCIuL21vZGlmaWVycy9vZmZzZXQuanNcIjtcbmltcG9ydCBmbGlwIGZyb20gXCIuL21vZGlmaWVycy9mbGlwLmpzXCI7XG5pbXBvcnQgcHJldmVudE92ZXJmbG93IGZyb20gXCIuL21vZGlmaWVycy9wcmV2ZW50T3ZlcmZsb3cuanNcIjtcbmltcG9ydCBhcnJvdyBmcm9tIFwiLi9tb2RpZmllcnMvYXJyb3cuanNcIjtcbmltcG9ydCBoaWRlIGZyb20gXCIuL21vZGlmaWVycy9oaWRlLmpzXCI7XG52YXIgZGVmYXVsdE1vZGlmaWVycyA9IFtldmVudExpc3RlbmVycywgcG9wcGVyT2Zmc2V0cywgY29tcHV0ZVN0eWxlcywgYXBwbHlTdHlsZXMsIG9mZnNldCwgZmxpcCwgcHJldmVudE92ZXJmbG93LCBhcnJvdywgaGlkZV07XG52YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcih7XG4gIGRlZmF1bHRNb2RpZmllcnM6IGRlZmF1bHRNb2RpZmllcnNcbn0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciwgcG9wcGVyR2VuZXJhdG9yLCBkZWZhdWx0TW9kaWZpZXJzLCBkZXRlY3RPdmVyZmxvdyB9OyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciBhcyBjcmVhdGVQb3BwZXJMaXRlIH0gZnJvbSBcIi4vcG9wcGVyLWxpdGUuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RpZmllcnMvaW5kZXguanNcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/popper.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***!
+ \***********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return computeAutoPlacement; });\n/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n\n\n\n\nfunction computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"placements\"] : _options$allowedAutoP;\n var variation = Object(_getVariation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement);\n var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"variationPlacements\"] : _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"variationPlacements\"].filter(function (placement) {\n return Object(_getVariation_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement) === variation;\n }) : _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"basePlacements\"];\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (true) {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = Object(_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[Object(_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2NvbXB1dGVBdXRvUGxhY2VtZW50LmpzPzQzY2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZDO0FBQ2tEO0FBQzlDO0FBQ0k7QUFDdEM7QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsb0RBQWE7QUFDOUUsa0JBQWtCLGdFQUFZO0FBQzlCLGdEQUFnRCw2REFBbUIsR0FBRyw2REFBbUI7QUFDekYsV0FBVyxnRUFBWTtBQUN2QixHQUFHLElBQUksd0RBQWM7QUFDckI7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBLHFCQUFxQixrRUFBYztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssRUFBRSxvRUFBZ0I7QUFDdkI7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4vZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgeyB2YXJpYXRpb25QbGFjZW1lbnRzLCBiYXNlUGxhY2VtZW50cywgcGxhY2VtZW50cyBhcyBhbGxQbGFjZW1lbnRzIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4vZGV0ZWN0T3ZlcmZsb3cuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVBdXRvUGxhY2VtZW50KHN0YXRlLCBvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICB2YXIgX29wdGlvbnMgPSBvcHRpb25zLFxuICAgICAgcGxhY2VtZW50ID0gX29wdGlvbnMucGxhY2VtZW50LFxuICAgICAgYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeSA9IF9vcHRpb25zLnJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmcgPSBfb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucy5mbGlwVmFyaWF0aW9ucyxcbiAgICAgIF9vcHRpb25zJGFsbG93ZWRBdXRvUCA9IF9vcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cyxcbiAgICAgIGFsbG93ZWRBdXRvUGxhY2VtZW50cyA9IF9vcHRpb25zJGFsbG93ZWRBdXRvUCA9PT0gdm9pZCAwID8gYWxsUGxhY2VtZW50cyA6IF9vcHRpb25zJGFsbG93ZWRBdXRvUDtcbiAgdmFyIHZhcmlhdGlvbiA9IGdldFZhcmlhdGlvbihwbGFjZW1lbnQpO1xuICB2YXIgcGxhY2VtZW50cyA9IHZhcmlhdGlvbiA/IGZsaXBWYXJpYXRpb25zID8gdmFyaWF0aW9uUGxhY2VtZW50cyA6IHZhcmlhdGlvblBsYWNlbWVudHMuZmlsdGVyKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHZhcmlhdGlvbjtcbiAgfSkgOiBiYXNlUGxhY2VtZW50cztcbiAgdmFyIGFsbG93ZWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cy5maWx0ZXIoZnVuY3Rpb24gKHBsYWNlbWVudCkge1xuICAgIHJldHVybiBhbGxvd2VkQXV0b1BsYWNlbWVudHMuaW5kZXhPZihwbGFjZW1lbnQpID49IDA7XG4gIH0pO1xuXG4gIGlmIChhbGxvd2VkUGxhY2VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICBhbGxvd2VkUGxhY2VtZW50cyA9IHBsYWNlbWVudHM7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFsnUG9wcGVyOiBUaGUgYGFsbG93ZWRBdXRvUGxhY2VtZW50c2Agb3B0aW9uIGRpZCBub3QgYWxsb3cgYW55JywgJ3BsYWNlbWVudHMuIEVuc3VyZSB0aGUgYHBsYWNlbWVudGAgb3B0aW9uIG1hdGNoZXMgdGhlIHZhcmlhdGlvbicsICdvZiB0aGUgYWxsb3dlZCBwbGFjZW1lbnRzLicsICdGb3IgZXhhbXBsZSwgXCJhdXRvXCIgY2Fubm90IGJlIHVzZWQgdG8gYWxsb3cgXCJib3R0b20tc3RhcnRcIi4nLCAnVXNlIFwiYXV0by1zdGFydFwiIGluc3RlYWQuJ10uam9pbignICcpKTtcbiAgICB9XG4gIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV06IEZsb3cgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcyB3aXRoIHR3byBhcnJheSB1bmlvbnMuLi5cblxuXG4gIHZhciBvdmVyZmxvd3MgPSBhbGxvd2VkUGxhY2VtZW50cy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgcGxhY2VtZW50KSB7XG4gICAgYWNjW3BsYWNlbWVudF0gPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmdcbiAgICB9KVtnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCldO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG92ZXJmbG93cykuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgIHJldHVybiBvdmVyZmxvd3NbYV0gLSBvdmVyZmxvd3NbYl07XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***!
+ \*****************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return computeOffsets; });\n/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n\n\n\nfunction computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? Object(_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement) : null;\n var variation = placement ? Object(_getVariation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"top\"]:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"bottom\"]:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"right\"]:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"left\"]:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? Object(_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"start\"]:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case _enums_js__WEBPACK_IMPORTED_MODULE_3__[\"end\"]:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2NvbXB1dGVPZmZzZXRzLmpzPzVkN2UiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFEO0FBQ1I7QUFDd0I7QUFDRjtBQUNwRDtBQUNmO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxvRUFBZ0I7QUFDbEQsOEJBQThCLGdFQUFZO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsNkNBQUc7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsZ0RBQU07QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsK0NBQUs7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsOENBQUk7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsNEVBQXdCOztBQUV6RDtBQUNBOztBQUVBO0FBQ0EsV0FBVywrQ0FBSztBQUNoQjtBQUNBOztBQUVBLFdBQVcsNkNBQUc7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlT2Zmc2V0cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuL2dldEJhc2VQbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRWYXJpYXRpb24gZnJvbSBcIi4vZ2V0VmFyaWF0aW9uLmpzXCI7XG5pbXBvcnQgZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50IGZyb20gXCIuL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBzdGFydCwgZW5kIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21wdXRlT2Zmc2V0cyhfcmVmKSB7XG4gIHZhciByZWZlcmVuY2UgPSBfcmVmLnJlZmVyZW5jZSxcbiAgICAgIGVsZW1lbnQgPSBfcmVmLmVsZW1lbnQsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmLnBsYWNlbWVudDtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQgPyBnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgOiBudWxsO1xuICB2YXIgdmFyaWF0aW9uID0gcGxhY2VtZW50ID8gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgOiBudWxsO1xuICB2YXIgY29tbW9uWCA9IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoIC8gMiAtIGVsZW1lbnQud2lkdGggLyAyO1xuICB2YXIgY29tbW9uWSA9IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodCAvIDIgLSBlbGVtZW50LmhlaWdodCAvIDI7XG4gIHZhciBvZmZzZXRzO1xuXG4gIHN3aXRjaCAoYmFzZVBsYWNlbWVudCkge1xuICAgIGNhc2UgdG9wOlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogY29tbW9uWCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgLSBlbGVtZW50LmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBib3R0b206XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHRcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgcmlnaHQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCArIHJlZmVyZW5jZS53aWR0aCxcbiAgICAgICAgeTogY29tbW9uWVxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBsZWZ0OlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLnggLSBlbGVtZW50LndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgb2Zmc2V0cyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLngsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55XG4gICAgICB9O1xuICB9XG5cbiAgdmFyIG1haW5BeGlzID0gYmFzZVBsYWNlbWVudCA/IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChiYXNlUGxhY2VtZW50KSA6IG51bGw7XG5cbiAgaWYgKG1haW5BeGlzICE9IG51bGwpIHtcbiAgICB2YXIgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICAgIHN3aXRjaCAodmFyaWF0aW9uKSB7XG4gICAgICBjYXNlIHN0YXJ0OlxuICAgICAgICBvZmZzZXRzW21haW5BeGlzXSA9IG9mZnNldHNbbWFpbkF4aXNdIC0gKHJlZmVyZW5jZVtsZW5dIC8gMiAtIGVsZW1lbnRbbGVuXSAvIDIpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBlbmQ6XG4gICAgICAgIG9mZnNldHNbbWFpbkF4aXNdID0gb2Zmc2V0c1ttYWluQXhpc10gKyAocmVmZXJlbmNlW2xlbl0gLyAyIC0gZWxlbWVudFtsZW5dIC8gMik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvZmZzZXRzO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***!
+ \***********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return debounce; });\nfunction debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2RlYm91bmNlLmpzP2IxZTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZGVib3VuY2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWJvdW5jZShmbikge1xuICB2YXIgcGVuZGluZztcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXBlbmRpbmcpIHtcbiAgICAgIHBlbmRpbmcgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBwZW5kaW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHJlc29sdmUoZm4oKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlbmRpbmc7XG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/debounce.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***!
+ \*****************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return detectOverflow; });\n/* harmony import */ var _dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getClippingRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js\");\n/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./computeOffsets.js */ \"./node_modules/@popperjs/core/lib/utils/computeOffsets.js\");\n/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rectToClientRect.js */ \"./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mergePaddingObject.js */ \"./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\");\n/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./expandToHashMap.js */ \"./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\");\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"clippingParents\"] : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"viewport\"] : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"popper\"] : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = Object(_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(typeof padding !== 'number' ? padding : Object(_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"basePlacements\"]));\n var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"popper\"] ? _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"reference\"] : _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"popper\"];\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = Object(_dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_6__[\"isElement\"])(element) ? element : element.contextElement || Object(_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = Object(_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state.elements.reference);\n var popperOffsets = Object(_computeOffsets_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = Object(_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"popper\"] ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"popper\"] && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_5__[\"right\"], _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"bottom\"]].indexOf(key) >= 0 ? 1 : -1;\n var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_5__[\"top\"], _enums_js__WEBPACK_IMPORTED_MODULE_5__[\"bottom\"]].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzP2I2MTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE4RDtBQUNNO0FBQ007QUFDekI7QUFDSTtBQUMwRDtBQUN4RDtBQUNFO0FBQ047O0FBRXBDO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELHlEQUFlO0FBQy9EO0FBQ0Esd0RBQXdELGtEQUFRO0FBQ2hFO0FBQ0EsMERBQTBELGdEQUFNO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNFQUFrQix5Q0FBeUMsbUVBQWUsVUFBVSx3REFBYztBQUN4SCxzQ0FBc0MsZ0RBQU0sR0FBRyxtREFBUyxHQUFHLGdEQUFNO0FBQ2pFO0FBQ0E7QUFDQSwyQkFBMkIsNkVBQWUsQ0FBQywwRUFBUyxnREFBZ0QsZ0ZBQWtCO0FBQ3RILDRCQUE0QixtRkFBcUI7QUFDakQsc0JBQXNCLGtFQUFjO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHlCQUF5QixvRUFBZ0IsaUJBQWlCO0FBQzFELDZDQUE2QyxnREFBTSwwQ0FBMEM7QUFDN0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDOztBQUU5Qyx5QkFBeUIsZ0RBQU07QUFDL0I7QUFDQTtBQUNBLHNCQUFzQiwrQ0FBSyxFQUFFLGdEQUFNO0FBQ25DLGtCQUFrQiw2Q0FBRyxFQUFFLGdEQUFNO0FBQzdCO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldENsaXBwaW5nUmVjdCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldENsaXBwaW5nUmVjdC5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IGNvbXB1dGVPZmZzZXRzIGZyb20gXCIuL2NvbXB1dGVPZmZzZXRzLmpzXCI7XG5pbXBvcnQgcmVjdFRvQ2xpZW50UmVjdCBmcm9tIFwiLi9yZWN0VG9DbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgeyBjbGlwcGluZ1BhcmVudHMsIHJlZmVyZW5jZSwgcG9wcGVyLCBib3R0b20sIHRvcCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB2aWV3cG9ydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4uL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuL21lcmdlUGFkZGluZ09iamVjdC5qc1wiO1xuaW1wb3J0IGV4cGFuZFRvSGFzaE1hcCBmcm9tIFwiLi9leHBhbmRUb0hhc2hNYXAuanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgdmFyIF9vcHRpb25zID0gb3B0aW9ucyxcbiAgICAgIF9vcHRpb25zJHBsYWNlbWVudCA9IF9vcHRpb25zLnBsYWNlbWVudCxcbiAgICAgIHBsYWNlbWVudCA9IF9vcHRpb25zJHBsYWNlbWVudCA9PT0gdm9pZCAwID8gc3RhdGUucGxhY2VtZW50IDogX29wdGlvbnMkcGxhY2VtZW50LFxuICAgICAgX29wdGlvbnMkYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIGJvdW5kYXJ5ID0gX29wdGlvbnMkYm91bmRhcnkgPT09IHZvaWQgMCA/IGNsaXBwaW5nUGFyZW50cyA6IF9vcHRpb25zJGJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyB2aWV3cG9ydCA6IF9vcHRpb25zJHJvb3RCb3VuZGFyeSxcbiAgICAgIF9vcHRpb25zJGVsZW1lbnRDb250ZSA9IF9vcHRpb25zLmVsZW1lbnRDb250ZXh0LFxuICAgICAgZWxlbWVudENvbnRleHQgPSBfb3B0aW9ucyRlbGVtZW50Q29udGUgPT09IHZvaWQgMCA/IHBvcHBlciA6IF9vcHRpb25zJGVsZW1lbnRDb250ZSxcbiAgICAgIF9vcHRpb25zJGFsdEJvdW5kYXJ5ID0gX29wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IF9vcHRpb25zJGFsdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRpb25zJGFsdEJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBwYWRkaW5nID0gX29wdGlvbnMkcGFkZGluZyA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHBhZGRpbmc7XG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gbWVyZ2VQYWRkaW5nT2JqZWN0KHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IHBhZGRpbmcgOiBleHBhbmRUb0hhc2hNYXAocGFkZGluZywgYmFzZVBsYWNlbWVudHMpKTtcbiAgdmFyIGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gcG9wcGVyID8gcmVmZXJlbmNlIDogcG9wcGVyO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1thbHRCb3VuZGFyeSA/IGFsdENvbnRleHQgOiBlbGVtZW50Q29udGV4dF07XG4gIHZhciBjbGlwcGluZ0NsaWVudFJlY3QgPSBnZXRDbGlwcGluZ1JlY3QoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgZ2V0RG9jdW1lbnRFbGVtZW50KHN0YXRlLmVsZW1lbnRzLnBvcHBlciksIGJvdW5kYXJ5LCByb290Qm91bmRhcnkpO1xuICB2YXIgcmVmZXJlbmNlQ2xpZW50UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChzdGF0ZS5lbGVtZW50cy5yZWZlcmVuY2UpO1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IGNvbXB1dGVPZmZzZXRzKHtcbiAgICByZWZlcmVuY2U6IHJlZmVyZW5jZUNsaWVudFJlY3QsXG4gICAgZWxlbWVudDogcG9wcGVyUmVjdCxcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJyxcbiAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICB9KTtcbiAgdmFyIHBvcHBlckNsaWVudFJlY3QgPSByZWN0VG9DbGllbnRSZWN0KE9iamVjdC5hc3NpZ24oe30sIHBvcHBlclJlY3QsIHBvcHBlck9mZnNldHMpKTtcbiAgdmFyIGVsZW1lbnRDbGllbnRSZWN0ID0gZWxlbWVudENvbnRleHQgPT09IHBvcHBlciA/IHBvcHBlckNsaWVudFJlY3QgOiByZWZlcmVuY2VDbGllbnRSZWN0OyAvLyBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyByZWN0XG4gIC8vIDAgb3IgbmVnYXRpdmUgPSB3aXRoaW4gdGhlIGNsaXBwaW5nIHJlY3RcblxuICB2YXIgb3ZlcmZsb3dPZmZzZXRzID0ge1xuICAgIHRvcDogY2xpcHBpbmdDbGllbnRSZWN0LnRvcCAtIGVsZW1lbnRDbGllbnRSZWN0LnRvcCArIHBhZGRpbmdPYmplY3QudG9wLFxuICAgIGJvdHRvbTogZWxlbWVudENsaWVudFJlY3QuYm90dG9tIC0gY2xpcHBpbmdDbGllbnRSZWN0LmJvdHRvbSArIHBhZGRpbmdPYmplY3QuYm90dG9tLFxuICAgIGxlZnQ6IGNsaXBwaW5nQ2xpZW50UmVjdC5sZWZ0IC0gZWxlbWVudENsaWVudFJlY3QubGVmdCArIHBhZGRpbmdPYmplY3QubGVmdCxcbiAgICByaWdodDogZWxlbWVudENsaWVudFJlY3QucmlnaHQgLSBjbGlwcGluZ0NsaWVudFJlY3QucmlnaHQgKyBwYWRkaW5nT2JqZWN0LnJpZ2h0XG4gIH07XG4gIHZhciBvZmZzZXREYXRhID0gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXQ7IC8vIE9mZnNldHMgY2FuIGJlIGFwcGxpZWQgb25seSB0byB0aGUgcG9wcGVyIGVsZW1lbnRcblxuICBpZiAoZWxlbWVudENvbnRleHQgPT09IHBvcHBlciAmJiBvZmZzZXREYXRhKSB7XG4gICAgdmFyIG9mZnNldCA9IG9mZnNldERhdGFbcGxhY2VtZW50XTtcbiAgICBPYmplY3Qua2V5cyhvdmVyZmxvd09mZnNldHMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgdmFyIG11bHRpcGx5ID0gW3JpZ2h0LCBib3R0b21dLmluZGV4T2Yoa2V5KSA+PSAwID8gMSA6IC0xO1xuICAgICAgdmFyIGF4aXMgPSBbdG9wLCBib3R0b21dLmluZGV4T2Yoa2V5KSA+PSAwID8gJ3knIDogJ3gnO1xuICAgICAgb3ZlcmZsb3dPZmZzZXRzW2tleV0gKz0gb2Zmc2V0W2F4aXNdICogbXVsdGlwbHk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gb3ZlcmZsb3dPZmZzZXRzO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***!
+ \******************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return expandToHashMap; });\nfunction expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2V4cGFuZFRvSGFzaE1hcC5qcz85ODUyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLEdBQUcsSUFBSTtBQUNQIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9leHBhbmRUb0hhc2hNYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBleHBhbmRUb0hhc2hNYXAodmFsdWUsIGtleXMpIHtcbiAgcmV0dXJuIGtleXMucmVkdWNlKGZ1bmN0aW9uIChoYXNoTWFwLCBrZXkpIHtcbiAgICBoYXNoTWFwW2tleV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gaGFzaE1hcDtcbiAgfSwge30pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/format.js":
+/*!*********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/format.js ***!
+ \*********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return format; });\nfunction format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return [].concat(args).reduce(function (p, c) {\n return p.replace(/%s/, c);\n }, str);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2Zvcm1hdC5qcz9mNTNlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmLHdGQUF3RixhQUFhO0FBQ3JHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZm9ybWF0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0KHN0cikge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gW10uY29uY2F0KGFyZ3MpLnJlZHVjZShmdW5jdGlvbiAocCwgYykge1xuICAgIHJldHVybiBwLnJlcGxhY2UoLyVzLywgYyk7XG4gIH0sIHN0cik7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/format.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js":
+/*!*************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***!
+ \*************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getAltAxis; });\nfunction getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEFsdEF4aXMuanM/ZjJlMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQWU7QUFDZjtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRBbHRBeGlzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QWx0QXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***!
+ \*******************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getBasePlacement; });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEJhc2VQbGFjZW1lbnQuanM/YjUwZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBbUM7QUFDcEI7QUFDZjtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QmFzZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***!
+ \*********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getFreshSideObject; });\nfunction getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qcz8zNWY2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRGcmVzaFNpZGVPYmplY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGcmVzaFNpZGVPYmplY3QoKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwXG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js":
+/*!***************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***!
+ \***************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMainAxisFromPlacement; });\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcz9hZDlkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE1haW5BeGlzRnJvbVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIFsndG9wJywgJ2JvdHRvbSddLmluZGV4T2YocGxhY2VtZW50KSA+PSAwID8gJ3gnIDogJ3knO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***!
+ \***********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getOppositePlacement; });\nvar hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzPzUyMzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBLEdBQUc7QUFDSCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVQbGFjZW1lbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaGFzaCA9IHtcbiAgbGVmdDogJ3JpZ2h0JyxcbiAgcmlnaHQ6ICdsZWZ0JyxcbiAgYm90dG9tOiAndG9wJyxcbiAgdG9wOiAnYm90dG9tJ1xufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgIHJldHVybiBoYXNoW21hdGNoZWRdO1xuICB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***!
+ \********************************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getOppositeVariationPlacement; });\nvar hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50LmpzPzUwMGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ2U7QUFDZjtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBoYXNoID0ge1xuICBzdGFydDogJ2VuZCcsXG4gIGVuZDogJ3N0YXJ0J1xufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL3N0YXJ0fGVuZC9nLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgIHJldHVybiBoYXNoW21hdGNoZWRdO1xuICB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***!
+ \***************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getVariation; });\nfunction getVariation(placement) {\n return placement.split('-')[1];\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldFZhcmlhdGlvbi5qcz8zZDhkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZTtBQUNmO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldFZhcmlhdGlvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZhcmlhdGlvbihwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzFdO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/getVariation.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/math.js":
+/*!*******************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/math.js ***!
+ \*******************************************************/
+/*! exports provided: max, min, round */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"round\", function() { return round; });\nvar max = Math.max;\nvar min = Math.min;\nvar round = Math.round;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21hdGguanM/ODRjNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFPO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvbWF0aC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgbWF4ID0gTWF0aC5tYXg7XG5leHBvcnQgdmFyIG1pbiA9IE1hdGgubWluO1xuZXhwb3J0IHZhciByb3VuZCA9IE1hdGgucm91bmQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/math.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***!
+ \**************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mergeByName; });\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlQnlOYW1lLmpzPzJhMzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFlO0FBQ2Y7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RCwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLEtBQUs7QUFDTDtBQUNBLEdBQUcsSUFBSSxFQUFFOztBQUVUO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlQnlOYW1lLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VCeU5hbWUobW9kaWZpZXJzKSB7XG4gIHZhciBtZXJnZWQgPSBtb2RpZmllcnMucmVkdWNlKGZ1bmN0aW9uIChtZXJnZWQsIGN1cnJlbnQpIHtcbiAgICB2YXIgZXhpc3RpbmcgPSBtZXJnZWRbY3VycmVudC5uYW1lXTtcbiAgICBtZXJnZWRbY3VycmVudC5uYW1lXSA9IGV4aXN0aW5nID8gT2JqZWN0LmFzc2lnbih7fSwgZXhpc3RpbmcsIGN1cnJlbnQsIHtcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIGV4aXN0aW5nLm9wdGlvbnMsIGN1cnJlbnQub3B0aW9ucyksXG4gICAgICBkYXRhOiBPYmplY3QuYXNzaWduKHt9LCBleGlzdGluZy5kYXRhLCBjdXJyZW50LmRhdGEpXG4gICAgfSkgOiBjdXJyZW50O1xuICAgIHJldHVybiBtZXJnZWQ7XG4gIH0sIHt9KTsgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IE9iamVjdC52YWx1ZXNcblxuICByZXR1cm4gT2JqZWN0LmtleXMobWVyZ2VkKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBtZXJnZWRba2V5XTtcbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/mergeByName.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***!
+ \*********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mergePaddingObject; });\n/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ \"./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\");\n\nfunction mergePaddingObject(paddingObject) {\n return Object.assign({}, Object(_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(), paddingObject);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL21lcmdlUGFkZGluZ09iamVjdC5qcz9kMzliIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUF5RDtBQUMxQztBQUNmLHlCQUF5QixFQUFFLHNFQUFrQjtBQUM3QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvbWVyZ2VQYWRkaW5nT2JqZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldEZyZXNoU2lkZU9iamVjdCBmcm9tIFwiLi9nZXRGcmVzaFNpZGVPYmplY3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlUGFkZGluZ09iamVjdChwYWRkaW5nT2JqZWN0KSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnZXRGcmVzaFNpZGVPYmplY3QoKSwgcGFkZGluZ09iamVjdCk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***!
+ \*****************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return orderModifiers; });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nfunction orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return _enums_js__WEBPACK_IMPORTED_MODULE_0__[\"modifierPhases\"].reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL29yZGVyTW9kaWZpZXJzLmpzP2I5ZTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVlO0FBQ2Y7QUFDQSwwQ0FBMEM7O0FBRTFDLFNBQVMsd0RBQWM7QUFDdkI7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL29yZGVyTW9kaWZpZXJzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW9kaWZpZXJQaGFzZXMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjsgLy8gc291cmNlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80OTg3NTI1NVxuXG5mdW5jdGlvbiBvcmRlcihtb2RpZmllcnMpIHtcbiAgdmFyIG1hcCA9IG5ldyBNYXAoKTtcbiAgdmFyIHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgbWFwLnNldChtb2RpZmllci5uYW1lLCBtb2RpZmllcik7XG4gIH0pOyAvLyBPbiB2aXNpdGluZyBvYmplY3QsIGNoZWNrIGZvciBpdHMgZGVwZW5kZW5jaWVzIGFuZCB2aXNpdCB0aGVtIHJlY3Vyc2l2ZWx5XG5cbiAgZnVuY3Rpb24gc29ydChtb2RpZmllcikge1xuICAgIHZpc2l0ZWQuYWRkKG1vZGlmaWVyLm5hbWUpO1xuICAgIHZhciByZXF1aXJlcyA9IFtdLmNvbmNhdChtb2RpZmllci5yZXF1aXJlcyB8fCBbXSwgbW9kaWZpZXIucmVxdWlyZXNJZkV4aXN0cyB8fCBbXSk7XG4gICAgcmVxdWlyZXMuZm9yRWFjaChmdW5jdGlvbiAoZGVwKSB7XG4gICAgICBpZiAoIXZpc2l0ZWQuaGFzKGRlcCkpIHtcbiAgICAgICAgdmFyIGRlcE1vZGlmaWVyID0gbWFwLmdldChkZXApO1xuXG4gICAgICAgIGlmIChkZXBNb2RpZmllcikge1xuICAgICAgICAgIHNvcnQoZGVwTW9kaWZpZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmVzdWx0LnB1c2gobW9kaWZpZXIpO1xuICB9XG5cbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgaWYgKCF2aXNpdGVkLmhhcyhtb2RpZmllci5uYW1lKSkge1xuICAgICAgLy8gY2hlY2sgZm9yIHZpc2l0ZWQgb2JqZWN0XG4gICAgICBzb3J0KG1vZGlmaWVyKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvcmRlck1vZGlmaWVycyhtb2RpZmllcnMpIHtcbiAgLy8gb3JkZXIgYmFzZWQgb24gZGVwZW5kZW5jaWVzXG4gIHZhciBvcmRlcmVkTW9kaWZpZXJzID0gb3JkZXIobW9kaWZpZXJzKTsgLy8gb3JkZXIgYmFzZWQgb24gcGhhc2VcblxuICByZXR1cm4gbW9kaWZpZXJQaGFzZXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBoYXNlKSB7XG4gICAgcmV0dXJuIGFjYy5jb25jYXQob3JkZXJlZE1vZGlmaWVycy5maWx0ZXIoZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gbW9kaWZpZXIucGhhc2UgPT09IHBoYXNlO1xuICAgIH0pKTtcbiAgfSwgW10pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***!
+ \*******************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return rectToClientRect; });\nfunction rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanM/N2JjZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQWU7QUFDZix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWN0VG9DbGllbnRSZWN0KHJlY3QpIHtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHJlY3QsIHtcbiAgICBsZWZ0OiByZWN0LngsXG4gICAgdG9wOiByZWN0LnksXG4gICAgcmlnaHQ6IHJlY3QueCArIHJlY3Qud2lkdGgsXG4gICAgYm90dG9tOiByZWN0LnkgKyByZWN0LmhlaWdodFxuICB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/uniqueBy.js ***!
+ \***********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return uniqueBy; });\nfunction uniqueBy(arr, fn) {\n var identifiers = new Set();\n return arr.filter(function (item) {\n var identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3VuaXF1ZUJ5LmpzPzYwMTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFlO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy91bmlxdWVCeS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaXF1ZUJ5KGFyciwgZm4pIHtcbiAgdmFyIGlkZW50aWZpZXJzID0gbmV3IFNldCgpO1xuICByZXR1cm4gYXJyLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgIHZhciBpZGVudGlmaWVyID0gZm4oaXRlbSk7XG5cbiAgICBpZiAoIWlkZW50aWZpZXJzLmhhcyhpZGVudGlmaWVyKSkge1xuICAgICAgaWRlbnRpZmllcnMuYWRkKGlkZW50aWZpZXIpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/uniqueBy.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/validateModifiers.js ***!
+ \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return validateModifiers; });\n/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./format.js */ \"./node_modules/@popperjs/core/lib/utils/format.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];\nfunction validateModifiers(modifiers) {\n modifiers.forEach(function (modifier) {\n [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`\n .filter(function (value, index, self) {\n return self.indexOf(value) === index;\n }).forEach(function (key) {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n }\n\n break;\n\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n }\n\n break;\n\n case 'phase':\n if (_enums_js__WEBPACK_IMPORTED_MODULE_1__[\"modifierPhases\"].indexOf(modifier.phase) < 0) {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + _enums_js__WEBPACK_IMPORTED_MODULE_1__[\"modifierPhases\"].join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n }\n\n break;\n\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'effect':\n if (modifier.effect != null && typeof modifier.effect !== 'function') {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'requires':\n if (modifier.requires != null && !Array.isArray(modifier.requires)) {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n }\n\n break;\n\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n }\n\n break;\n\n case 'options':\n case 'data':\n break;\n\n default:\n console.error(\"PopperJS: an invalid property has been provided to the \\\"\" + modifier.name + \"\\\" modifier, valid properties are \" + VALID_PROPERTIES.map(function (s) {\n return \"\\\"\" + s + \"\\\"\";\n }).join(', ') + \"; but \\\"\" + key + \"\\\" was provided.\");\n }\n\n modifier.requires && modifier.requires.forEach(function (requirement) {\n if (modifiers.find(function (mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(Object(_format_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3ZhbGlkYXRlTW9kaWZpZXJzLmpzPzc5NTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUM7QUFDWTtBQUM3QztBQUNBO0FBQ0E7QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQiwwREFBTTtBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCLDBEQUFNO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0EsY0FBYyx3REFBYztBQUM1QiwwQkFBMEIsMERBQU0sK0RBQStELHdEQUFjO0FBQzdHOztBQUVBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEIsMERBQU07QUFDaEM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQiwwREFBTTtBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCLDBEQUFNO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEIsMERBQU07QUFDaEM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCx3QkFBd0IsMERBQU07QUFDOUI7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvdmFsaWRhdGVNb2RpZmllcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZm9ybWF0IGZyb20gXCIuL2Zvcm1hdC5qc1wiO1xuaW1wb3J0IHsgbW9kaWZpZXJQaGFzZXMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbnZhciBJTlZBTElEX01PRElGSUVSX0VSUk9SID0gJ1BvcHBlcjogbW9kaWZpZXIgXCIlc1wiIHByb3ZpZGVkIGFuIGludmFsaWQgJXMgcHJvcGVydHksIGV4cGVjdGVkICVzIGJ1dCBnb3QgJXMnO1xudmFyIE1JU1NJTkdfREVQRU5ERU5DWV9FUlJPUiA9ICdQb3BwZXI6IG1vZGlmaWVyIFwiJXNcIiByZXF1aXJlcyBcIiVzXCIsIGJ1dCBcIiVzXCIgbW9kaWZpZXIgaXMgbm90IGF2YWlsYWJsZSc7XG52YXIgVkFMSURfUFJPUEVSVElFUyA9IFsnbmFtZScsICdlbmFibGVkJywgJ3BoYXNlJywgJ2ZuJywgJ2VmZmVjdCcsICdyZXF1aXJlcycsICdvcHRpb25zJ107XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2YWxpZGF0ZU1vZGlmaWVycyhtb2RpZmllcnMpIHtcbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgW10uY29uY2F0KE9iamVjdC5rZXlzKG1vZGlmaWVyKSwgVkFMSURfUFJPUEVSVElFUykgLy8gSUUxMS1jb21wYXRpYmxlIHJlcGxhY2VtZW50IGZvciBgbmV3IFNldChpdGVyYWJsZSlgXG4gICAgLmZpbHRlcihmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBzZWxmKSB7XG4gICAgICByZXR1cm4gc2VsZi5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXg7XG4gICAgfSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICBpZiAodHlwZW9mIG1vZGlmaWVyLm5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBTdHJpbmcobW9kaWZpZXIubmFtZSksICdcIm5hbWVcIicsICdcInN0cmluZ1wiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIubmFtZSkgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2VuYWJsZWQnOlxuICAgICAgICAgIGlmICh0eXBlb2YgbW9kaWZpZXIuZW5hYmxlZCAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJlbmFibGVkXCInLCAnXCJib29sZWFuXCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5lbmFibGVkKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncGhhc2UnOlxuICAgICAgICAgIGlmIChtb2RpZmllclBoYXNlcy5pbmRleE9mKG1vZGlmaWVyLnBoYXNlKSA8IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcInBoYXNlXCInLCBcImVpdGhlciBcIiArIG1vZGlmaWVyUGhhc2VzLmpvaW4oJywgJyksIFwiXFxcIlwiICsgU3RyaW5nKG1vZGlmaWVyLnBoYXNlKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZm4nOlxuICAgICAgICAgIGlmICh0eXBlb2YgbW9kaWZpZXIuZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcImZuXCInLCAnXCJmdW5jdGlvblwiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIuZm4pICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdlZmZlY3QnOlxuICAgICAgICAgIGlmIChtb2RpZmllci5lZmZlY3QgIT0gbnVsbCAmJiB0eXBlb2YgbW9kaWZpZXIuZWZmZWN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGZvcm1hdChJTlZBTElEX01PRElGSUVSX0VSUk9SLCBtb2RpZmllci5uYW1lLCAnXCJlZmZlY3RcIicsICdcImZ1bmN0aW9uXCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5mbikgKyBcIlxcXCJcIikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JlcXVpcmVzJzpcbiAgICAgICAgICBpZiAobW9kaWZpZXIucmVxdWlyZXMgIT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShtb2RpZmllci5yZXF1aXJlcykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcInJlcXVpcmVzXCInLCAnXCJhcnJheVwiJywgXCJcXFwiXCIgKyBTdHJpbmcobW9kaWZpZXIucmVxdWlyZXMpICsgXCJcXFwiXCIpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyZXF1aXJlc0lmRXhpc3RzJzpcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobW9kaWZpZXIucmVxdWlyZXNJZkV4aXN0cykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KElOVkFMSURfTU9ESUZJRVJfRVJST1IsIG1vZGlmaWVyLm5hbWUsICdcInJlcXVpcmVzSWZFeGlzdHNcIicsICdcImFycmF5XCInLCBcIlxcXCJcIiArIFN0cmluZyhtb2RpZmllci5yZXF1aXJlc0lmRXhpc3RzKSArIFwiXFxcIlwiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICAgIGNhc2UgJ2RhdGEnOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlBvcHBlckpTOiBhbiBpbnZhbGlkIHByb3BlcnR5IGhhcyBiZWVuIHByb3ZpZGVkIHRvIHRoZSBcXFwiXCIgKyBtb2RpZmllci5uYW1lICsgXCJcXFwiIG1vZGlmaWVyLCB2YWxpZCBwcm9wZXJ0aWVzIGFyZSBcIiArIFZBTElEX1BST1BFUlRJRVMubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcXFwiXCIgKyBzICsgXCJcXFwiXCI7XG4gICAgICAgICAgfSkuam9pbignLCAnKSArIFwiOyBidXQgXFxcIlwiICsga2V5ICsgXCJcXFwiIHdhcyBwcm92aWRlZC5cIik7XG4gICAgICB9XG5cbiAgICAgIG1vZGlmaWVyLnJlcXVpcmVzICYmIG1vZGlmaWVyLnJlcXVpcmVzLmZvckVhY2goZnVuY3Rpb24gKHJlcXVpcmVtZW50KSB7XG4gICAgICAgIGlmIChtb2RpZmllcnMuZmluZChmdW5jdGlvbiAobW9kKSB7XG4gICAgICAgICAgcmV0dXJuIG1vZC5uYW1lID09PSByZXF1aXJlbWVudDtcbiAgICAgICAgfSkgPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0KE1JU1NJTkdfREVQRU5ERU5DWV9FUlJPUiwgU3RyaW5nKG1vZGlmaWVyLm5hbWUpLCByZXF1aXJlbWVudCwgcmVxdWlyZW1lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/validateModifiers.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@popperjs/core/lib/utils/within.js":
+/*!*********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/within.js ***!
+ \*********************************************************/
+/*! exports provided: within, withinMaxClamp */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"within\", function() { return within; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withinMaxClamp\", function() { return withinMaxClamp; });\n/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\nfunction within(min, value, max) {\n return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(min, Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(value, max));\n}\nfunction withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3dpdGhpbi5qcz9lNDNmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJEO0FBQ3BEO0FBQ1AsU0FBUyxvREFBTyxNQUFNLG9EQUFPO0FBQzdCO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3dpdGhpbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1heCBhcyBtYXRoTWF4LCBtaW4gYXMgbWF0aE1pbiB9IGZyb20gXCIuL21hdGguanNcIjtcbmV4cG9ydCBmdW5jdGlvbiB3aXRoaW4obWluLCB2YWx1ZSwgbWF4KSB7XG4gIHJldHVybiBtYXRoTWF4KG1pbiwgbWF0aE1pbih2YWx1ZSwgbWF4KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gd2l0aGluTWF4Q2xhbXAobWluLCB2YWx1ZSwgbWF4KSB7XG4gIHZhciB2ID0gd2l0aGluKG1pbiwgdmFsdWUsIG1heCk7XG4gIHJldHVybiB2ID4gbWF4ID8gbWF4IDogdjtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@popperjs/core/lib/utils/within.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js":
+/*!*********************************************************!*\
+ !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***!
+ \*********************************************************/
+/*! exports provided: Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Alert\", function() { return Alert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Carousel\", function() { return Carousel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Collapse\", function() { return Collapse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Dropdown\", function() { return Dropdown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Modal\", function() { return Modal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Offcanvas\", function() { return Offcanvas; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Popover\", function() { return Popover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollSpy\", function() { return ScrollSpy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tab\", function() { return Tab; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Toast\", function() { return Toast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return Tooltip; });\n/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ \"./node_modules/@popperjs/core/lib/index.js\");\nvar _KEY_TO_DIRECTION;\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*!\n * Bootstrap v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar MAX_UID = 1000000;\nvar MILLISECONDS_MULTIPLIER = 1000;\nvar TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\nvar toType = function toType(obj) {\n if (obj === null || obj === undefined) {\n return \"\".concat(obj);\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\nvar getUID = function getUID(prefix) {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n\n return prefix;\n};\n\nvar getSelector = function getSelector(element) {\n var selector = element.getAttribute('data-bs-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n\n if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = \"#\".concat(hrefAttr.split('#')[1]);\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\n }\n\n return selector;\n};\n\nvar getSelectorFromElement = function getSelectorFromElement(element) {\n var selector = getSelector(element);\n\n if (selector) {\n return document.querySelector(selector) ? selector : null;\n }\n\n return null;\n};\n\nvar getElementFromSelector = function getElementFromSelector(element) {\n var selector = getSelector(element);\n return selector ? document.querySelector(selector) : null;\n};\n\nvar getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var _window$getComputedSt = window.getComputedStyle(element),\n transitionDuration = _window$getComputedSt.transitionDuration,\n transitionDelay = _window$getComputedSt.transitionDelay;\n\n var floatTransitionDuration = Number.parseFloat(transitionDuration);\n var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\n\nvar triggerTransitionEnd = function triggerTransitionEnd(element) {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\n\nvar isElement = function isElement(obj) {\n if (!obj || _typeof(obj) !== 'object') {\n return false;\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0];\n }\n\n return typeof obj.nodeType !== 'undefined';\n};\n\nvar getElement = function getElement(obj) {\n if (isElement(obj)) {\n // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj;\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj);\n }\n\n return null;\n};\n\nvar typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {\n Object.keys(configTypes).forEach(function (property) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\"\".concat(componentName.toUpperCase(), \": Option \\\"\").concat(property, \"\\\" provided type \\\"\").concat(valueType, \"\\\" but expected type \\\"\").concat(expectedTypes, \"\\\".\"));\n }\n });\n};\n\nvar isVisible = function isVisible(element) {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n};\n\nvar isDisabled = function isDisabled(element) {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n\n if (element.classList.contains('disabled')) {\n return true;\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\n\nvar findShadowRoot = function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nvar noop = function noop() {};\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\n\n\nvar reflow = function reflow(element) {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight;\n};\n\nvar getjQuery = function getjQuery() {\n var _window = window,\n jQuery = _window.jQuery;\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery;\n }\n\n return null;\n};\n\nvar DOMContentLoadedCallbacks = [];\n\nvar onDOMContentLoaded = function onDOMContentLoaded(callback) {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', function () {\n DOMContentLoadedCallbacks.forEach(function (callback) {\n return callback();\n });\n });\n }\n\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\n\nvar isRTL = function isRTL() {\n return document.documentElement.dir === 'rtl';\n};\n\nvar defineJQueryPlugin = function defineJQueryPlugin(plugin) {\n onDOMContentLoaded(function () {\n var $ = getjQuery();\n /* istanbul ignore if */\n\n if ($) {\n var name = plugin.NAME;\n var JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n\n $.fn[name].noConflict = function () {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\n\nvar execute = function execute(callback) {\n if (typeof callback === 'function') {\n callback();\n }\n};\n\nvar executeAfterTransition = function executeAfterTransition(callback, transitionElement) {\n var waitForTransition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n\n var durationPadding = 5;\n var emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n var called = false;\n\n var handler = function handler(_ref) {\n var target = _ref.target;\n\n if (target !== transitionElement) {\n return;\n }\n\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(function () {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\n\n\nvar getNextActiveElement = function getNextActiveElement(list, activeElement, shouldGetNext, isCycleAllowed) {\n var index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];\n }\n\n var listLength = list.length;\n index += shouldGetNext ? 1 : -1;\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\nvar namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nvar stripNameRegex = /\\..*/;\nvar stripUidRegex = /::\\d+$/;\nvar eventRegistry = {}; // Events storage\n\nvar uidEvent = 1;\nvar customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nvar customEventsRegex = /^(mouseenter|mouseleave)/i;\nvar nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return uid && \"\".concat(uid, \"::\").concat(uidEvent++) || element.uidEvent || uidEvent++;\n}\n\nfunction getEvent(element) {\n var uid = getUidEvent(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element;\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n\n return fn.apply(element, [event]);\n };\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n var domElements = element.querySelectorAll(selector);\n\n for (var target = event.target; target && target !== this; target = target.parentNode) {\n for (var i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target;\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n\n return fn.apply(target, [event]);\n }\n }\n } // To please ESLint\n\n\n return null;\n };\n}\n\nfunction findHandler(events, handler) {\n var delegationSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var uidEventList = Object.keys(events);\n\n for (var i = 0, len = uidEventList.length; i < len; i++) {\n var event = events[uidEventList[i]];\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event;\n }\n }\n\n return null;\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n var delegation = typeof handler === 'string';\n var originalHandler = delegation ? delegationFn : handler;\n var typeEvent = getTypeEvent(originalTypeEvent);\n var isNative = nativeEvents.has(typeEvent);\n\n if (!isNative) {\n typeEvent = originalTypeEvent;\n }\n\n return [delegation, originalHandler, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n if (!handler) {\n handler = delegationFn;\n delegationFn = null;\n } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n\n\n if (customEventsRegex.test(originalTypeEvent)) {\n var wrapFn = function wrapFn(fn) {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn);\n } else {\n handler = wrapFn(handler);\n }\n }\n\n var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),\n _normalizeParams2 = _slicedToArray(_normalizeParams, 3),\n delegation = _normalizeParams2[0],\n originalHandler = _normalizeParams2[1],\n typeEvent = _normalizeParams2[2];\n\n var events = getEvent(element);\n var handlers = events[typeEvent] || (events[typeEvent] = {});\n var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff;\n return;\n }\n\n var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\n var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);\n fn.delegationSelector = delegation ? handler : null;\n fn.originalHandler = originalHandler;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, delegation);\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n var fn = findHandler(events[typeEvent], handler, delegationSelector);\n\n if (!fn) {\n return;\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n var storeElementEvent = events[typeEvent] || {};\n Object.keys(storeElementEvent).forEach(function (handlerKey) {\n if (handlerKey.includes(namespace)) {\n var event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\n }\n });\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\n\nvar EventHandler = {\n on: function on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false);\n },\n one: function one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true);\n },\n off: function off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n var _normalizeParams3 = normalizeParams(originalTypeEvent, handler, delegationFn),\n _normalizeParams4 = _slicedToArray(_normalizeParams3, 3),\n delegation = _normalizeParams4[0],\n originalHandler = _normalizeParams4[1],\n typeEvent = _normalizeParams4[2];\n\n var inNamespace = typeEvent !== originalTypeEvent;\n var events = getEvent(element);\n var isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return;\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);\n return;\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(function (elementEvent) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n });\n }\n\n var storeElementEvent = events[typeEvent] || {};\n Object.keys(storeElementEvent).forEach(function (keyHandlers) {\n var handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n var event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\n }\n });\n },\n trigger: function trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n\n var $ = getjQuery();\n var typeEvent = getTypeEvent(event);\n var inNamespace = event !== typeEvent;\n var isNative = nativeEvents.has(typeEvent);\n var jQueryEvent;\n var bubbles = true;\n var nativeDispatch = true;\n var defaultPrevented = false;\n var evt = null;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents');\n evt.initEvent(typeEvent, bubbles, true);\n } else {\n evt = new CustomEvent(event, {\n bubbles: bubbles,\n cancelable: true\n });\n } // merge custom information in our event\n\n\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(function (key) {\n Object.defineProperty(evt, key, {\n get: function get() {\n return args[key];\n }\n });\n });\n }\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar elementMap = new Map();\nvar Data = {\n set: function set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n var instanceMap = elementMap.get(element); // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(\"Bootstrap doesn't allow more than one instance per element. Bound instance: \".concat(Array.from(instanceMap.keys())[0], \".\"));\n return;\n }\n\n instanceMap.set(key, instance);\n },\n get: function get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n\n return null;\n },\n remove: function remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n\n var instanceMap = elementMap.get(element);\n instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar VERSION = '5.1.3';\n\nvar BaseComponent = /*#__PURE__*/function () {\n function BaseComponent(element) {\n _classCallCheck(this, BaseComponent);\n\n element = getElement(element);\n\n if (!element) {\n return;\n }\n\n this._element = element;\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n _createClass(BaseComponent, [{\n key: \"dispose\",\n value: function dispose() {\n var _this = this;\n\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n Object.getOwnPropertyNames(this).forEach(function (propertyName) {\n _this[propertyName] = null;\n });\n }\n }, {\n key: \"_queueCallback\",\n value: function _queueCallback(callback, element) {\n var isAnimated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n executeAfterTransition(callback, element, isAnimated);\n }\n /** Static */\n\n }], [{\n key: \"getInstance\",\n value: function getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n }, {\n key: \"getOrCreateInstance\",\n value: function getOrCreateInstance(element) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.getInstance(element) || new this(element, _typeof(config) === 'object' ? config : null);\n }\n }, {\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return \"bs.\".concat(this.NAME);\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return \".\".concat(this.DATA_KEY);\n }\n }]);\n\n return BaseComponent;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\nvar enableDismissTrigger = function enableDismissTrigger(component) {\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'hide';\n var clickEvent = \"click.dismiss\".concat(component.EVENT_KEY);\n var name = component.NAME;\n EventHandler.on(document, clickEvent, \"[data-bs-dismiss=\\\"\".concat(name, \"\\\"]\"), function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n var target = getElementFromSelector(this) || this.closest(\".\".concat(name));\n var instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\nvar NAME$d = 'alert';\nvar DATA_KEY$c = 'bs.alert';\nvar EVENT_KEY$c = \".\".concat(DATA_KEY$c);\nvar EVENT_CLOSE = \"close\".concat(EVENT_KEY$c);\nvar EVENT_CLOSED = \"closed\".concat(EVENT_KEY$c);\nvar CLASS_NAME_FADE$5 = 'fade';\nvar CLASS_NAME_SHOW$8 = 'show';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Alert = /*#__PURE__*/function (_BaseComponent) {\n _inherits(Alert, _BaseComponent);\n\n var _super = _createSuper(Alert);\n\n function Alert() {\n _classCallCheck(this, Alert);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Alert, [{\n key: \"close\",\n value: // Public\n function close() {\n var _this2 = this;\n\n var closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n\n if (closeEvent.defaultPrevented) {\n return;\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n\n var isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(function () {\n return _this2._destroyElement();\n }, this._element, isAnimated);\n } // Private\n\n }, {\n key: \"_destroyElement\",\n value: function _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\n }], [{\n key: \"NAME\",\n get: // Getters\n function get() {\n return NAME$d;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Alert.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n });\n }\n }]);\n\n return Alert;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$c = 'button';\nvar DATA_KEY$b = 'bs.button';\nvar EVENT_KEY$b = \".\".concat(DATA_KEY$b);\nvar DATA_API_KEY$7 = '.data-api';\nvar CLASS_NAME_ACTIVE$3 = 'active';\nvar SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nvar EVENT_CLICK_DATA_API$6 = \"click\".concat(EVENT_KEY$b).concat(DATA_API_KEY$7);\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Button = /*#__PURE__*/function (_BaseComponent2) {\n _inherits(Button, _BaseComponent2);\n\n var _super2 = _createSuper(Button);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(Button, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n } // Static\n\n }], [{\n key: \"NAME\",\n get: // Getters\n function get() {\n return NAME$c;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Button.getOrCreateInstance(this);\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n }]);\n\n return Button;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {\n event.preventDefault();\n var button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n var data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true;\n }\n\n if (val === 'false') {\n return false;\n }\n\n if (val === Number(val).toString()) {\n return Number(val);\n }\n\n if (val === '' || val === 'null') {\n return null;\n }\n\n return val;\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, function (chr) {\n return \"-\".concat(chr.toLowerCase());\n });\n}\n\nvar Manipulator = {\n setDataAttribute: function setDataAttribute(element, key, value) {\n element.setAttribute(\"data-bs-\".concat(normalizeDataKey(key)), value);\n },\n removeDataAttribute: function removeDataAttribute(element, key) {\n element.removeAttribute(\"data-bs-\".concat(normalizeDataKey(key)));\n },\n getDataAttributes: function getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n var attributes = {};\n Object.keys(element.dataset).filter(function (key) {\n return key.startsWith('bs');\n }).forEach(function (key) {\n var pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n });\n return attributes;\n },\n getDataAttribute: function getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(\"data-bs-\".concat(normalizeDataKey(key))));\n },\n offset: function offset(element) {\n var rect = element.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n },\n position: function position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n };\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar NODE_TEXT = 3;\nvar SelectorEngine = {\n find: function find(selector) {\n var _ref2;\n\n var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n return (_ref2 = []).concat.apply(_ref2, _toConsumableArray(Element.prototype.querySelectorAll.call(element, selector)));\n },\n findOne: function findOne(selector) {\n var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n return Element.prototype.querySelector.call(element, selector);\n },\n children: function children(element, selector) {\n var _ref3;\n\n return (_ref3 = []).concat.apply(_ref3, _toConsumableArray(element.children)).filter(function (child) {\n return child.matches(selector);\n });\n },\n parents: function parents(element, selector) {\n var parents = [];\n var ancestor = element.parentNode;\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor);\n }\n\n ancestor = ancestor.parentNode;\n }\n\n return parents;\n },\n prev: function prev(element, selector) {\n var previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n next: function next(element, selector) {\n var next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n focusableChildren: function focusableChildren(element) {\n var focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(function (selector) {\n return \"\".concat(selector, \":not([tabindex^=\\\"-\\\"])\");\n }).join(', ');\n return this.find(focusables, element).filter(function (el) {\n return !isDisabled(el) && isVisible(el);\n });\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$b = 'carousel';\nvar DATA_KEY$a = 'bs.carousel';\nvar EVENT_KEY$a = \".\".concat(DATA_KEY$a);\nvar DATA_API_KEY$6 = '.data-api';\nvar ARROW_LEFT_KEY = 'ArrowLeft';\nvar ARROW_RIGHT_KEY = 'ArrowRight';\nvar TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nvar SWIPE_THRESHOLD = 40;\nvar Default$a = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n};\nvar DefaultType$a = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n};\nvar ORDER_NEXT = 'next';\nvar ORDER_PREV = 'prev';\nvar DIRECTION_LEFT = 'left';\nvar DIRECTION_RIGHT = 'right';\nvar KEY_TO_DIRECTION = (_KEY_TO_DIRECTION = {}, _defineProperty(_KEY_TO_DIRECTION, ARROW_LEFT_KEY, DIRECTION_RIGHT), _defineProperty(_KEY_TO_DIRECTION, ARROW_RIGHT_KEY, DIRECTION_LEFT), _KEY_TO_DIRECTION);\nvar EVENT_SLIDE = \"slide\".concat(EVENT_KEY$a);\nvar EVENT_SLID = \"slid\".concat(EVENT_KEY$a);\nvar EVENT_KEYDOWN = \"keydown\".concat(EVENT_KEY$a);\nvar EVENT_MOUSEENTER = \"mouseenter\".concat(EVENT_KEY$a);\nvar EVENT_MOUSELEAVE = \"mouseleave\".concat(EVENT_KEY$a);\nvar EVENT_TOUCHSTART = \"touchstart\".concat(EVENT_KEY$a);\nvar EVENT_TOUCHMOVE = \"touchmove\".concat(EVENT_KEY$a);\nvar EVENT_TOUCHEND = \"touchend\".concat(EVENT_KEY$a);\nvar EVENT_POINTERDOWN = \"pointerdown\".concat(EVENT_KEY$a);\nvar EVENT_POINTERUP = \"pointerup\".concat(EVENT_KEY$a);\nvar EVENT_DRAG_START = \"dragstart\".concat(EVENT_KEY$a);\nvar EVENT_LOAD_DATA_API$2 = \"load\".concat(EVENT_KEY$a).concat(DATA_API_KEY$6);\nvar EVENT_CLICK_DATA_API$5 = \"click\".concat(EVENT_KEY$a).concat(DATA_API_KEY$6);\nvar CLASS_NAME_CAROUSEL = 'carousel';\nvar CLASS_NAME_ACTIVE$2 = 'active';\nvar CLASS_NAME_SLIDE = 'slide';\nvar CLASS_NAME_END = 'carousel-item-end';\nvar CLASS_NAME_START = 'carousel-item-start';\nvar CLASS_NAME_NEXT = 'carousel-item-next';\nvar CLASS_NAME_PREV = 'carousel-item-prev';\nvar CLASS_NAME_POINTER_EVENT = 'pointer-event';\nvar SELECTOR_ACTIVE$1 = '.active';\nvar SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\nvar SELECTOR_ITEM = '.carousel-item';\nvar SELECTOR_ITEM_IMG = '.carousel-item img';\nvar SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\nvar SELECTOR_INDICATORS = '.carousel-indicators';\nvar SELECTOR_INDICATOR = '[data-bs-target]';\nvar SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nvar SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nvar POINTER_TYPE_TOUCH = 'touch';\nvar POINTER_TYPE_PEN = 'pen';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Carousel = /*#__PURE__*/function (_BaseComponent3) {\n _inherits(Carousel, _BaseComponent3);\n\n var _super3 = _createSuper(Carousel);\n\n function Carousel(element, config) {\n var _this3;\n\n _classCallCheck(this, Carousel);\n\n _this3 = _super3.call(this, element);\n _this3._items = null;\n _this3._interval = null;\n _this3._activeElement = null;\n _this3._isPaused = false;\n _this3._isSliding = false;\n _this3.touchTimeout = null;\n _this3.touchStartX = 0;\n _this3.touchDeltaX = 0;\n _this3._config = _this3._getConfig(config);\n _this3._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, _this3._element);\n _this3._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n _this3._pointerEvent = Boolean(window.PointerEvent);\n\n _this3._addEventListeners();\n\n return _this3;\n } // Getters\n\n\n _createClass(Carousel, [{\n key: \"next\",\n value: // Public\n function next() {\n this._slide(ORDER_NEXT);\n }\n }, {\n key: \"nextWhenVisible\",\n value: function nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this._slide(ORDER_PREV);\n }\n }, {\n key: \"pause\",\n value: function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n }\n }, {\n key: \"cycle\",\n value: function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval();\n\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n }\n }, {\n key: \"to\",\n value: function to(index) {\n var _this4 = this;\n\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, function () {\n return _this4.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, this._items[index]);\n } // Private\n\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$a, {}, Manipulator.getDataAttributes(this._element), {}, _typeof(config) === 'object' ? config : {});\n typeCheckConfig(NAME$b, config, DefaultType$a);\n return config;\n }\n }, {\n key: \"_handleSwipe\",\n value: function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0;\n\n if (!direction) {\n return;\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this5 = this;\n\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {\n return _this5._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {\n return _this5.pause(event);\n });\n EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {\n return _this5.cycle(event);\n });\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners();\n }\n }\n }, {\n key: \"_addTouchEventListeners\",\n value: function _addTouchEventListeners() {\n var _this6 = this;\n\n var hasPointerPenTouch = function hasPointerPenTouch(event) {\n return _this6._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n };\n\n var start = function start(event) {\n if (hasPointerPenTouch(event)) {\n _this6.touchStartX = event.clientX;\n } else if (!_this6._pointerEvent) {\n _this6.touchStartX = event.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n _this6.touchDeltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - _this6.touchStartX;\n };\n\n var end = function end(event) {\n if (hasPointerPenTouch(event)) {\n _this6.touchDeltaX = event.clientX - _this6.touchStartX;\n }\n\n _this6._handleSwipe();\n\n if (_this6._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this6.pause();\n\n if (_this6.touchTimeout) {\n clearTimeout(_this6.touchTimeout);\n }\n\n _this6.touchTimeout = setTimeout(function (event) {\n return _this6.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this6._config.interval);\n }\n };\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {\n EventHandler.on(itemImg, EVENT_DRAG_START, function (event) {\n return event.preventDefault();\n });\n });\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n EventHandler.on(this._element, EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n }\n }, {\n key: \"_keydown\",\n value: function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var direction = KEY_TO_DIRECTION[event.key];\n\n if (direction) {\n event.preventDefault();\n\n this._slide(direction);\n }\n }\n }, {\n key: \"_getItemIndex\",\n value: function _getItemIndex(element) {\n this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];\n return this._items.indexOf(element);\n }\n }, {\n key: \"_getItemByOrder\",\n value: function _getItemByOrder(order, activeElement) {\n var isNext = order === ORDER_NEXT;\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);\n }\n }, {\n key: \"_triggerSlideEvent\",\n value: function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n }\n }, {\n key: \"_setActiveIndicatorElement\",\n value: function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE$1, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n var indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement);\n\n for (var i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE$2);\n indicators[i].setAttribute('aria-current', 'true');\n break;\n }\n }\n }\n }\n }, {\n key: \"_updateInterval\",\n value: function _updateInterval() {\n var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n\n if (!element) {\n return;\n }\n\n var elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = elementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n }\n }, {\n key: \"_slide\",\n value: function _slide(directionOrOrder, element) {\n var _this7 = this;\n\n var order = this._directionToOrder(directionOrOrder);\n\n var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || this._getItemByOrder(order, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var isNext = order === ORDER_NEXT;\n var directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n var orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n\n var eventDirectionName = this._orderToDirection(order);\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$2)) {\n this._isSliding = false;\n return;\n }\n\n if (this._isSliding) {\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n this._activeElement = nextElement;\n\n var triggerSlidEvent = function triggerSlidEvent() {\n EventHandler.trigger(_this7._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n };\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n\n var completeCallBack = function completeCallBack() {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n _this7._isSliding = false;\n setTimeout(triggerSlidEvent, 0);\n };\n\n this._queueCallback(completeCallBack, activeElement, true);\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n this._isSliding = false;\n triggerSlidEvent();\n }\n\n if (isCycling) {\n this.cycle();\n }\n }\n }, {\n key: \"_directionToOrder\",\n value: function _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction;\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n }, {\n key: \"_orderToDirection\",\n value: function _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order;\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$a;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$b;\n }\n }, {\n key: \"carouselInterface\",\n value: function carouselInterface(element, config) {\n var data = Carousel.getOrCreateInstance(element, config);\n var _config = data._config;\n\n if (_typeof(config) === 'object') {\n _config = _objectSpread({}, _config, {}, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(action, \"\\\"\"));\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config);\n });\n }\n }, {\n key: \"dataApiClickHandler\",\n value: function dataApiClickHandler(event) {\n var target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _objectSpread({}, Manipulator.getDataAttributes(target), {}, Manipulator.getDataAttributes(this));\n\n var slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel.carouselInterface(target, config);\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex);\n }\n\n event.preventDefault();\n }\n }]);\n\n return Carousel;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, function () {\n var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));\n }\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$a = 'collapse';\nvar DATA_KEY$9 = 'bs.collapse';\nvar EVENT_KEY$9 = \".\".concat(DATA_KEY$9);\nvar DATA_API_KEY$5 = '.data-api';\nvar Default$9 = {\n toggle: true,\n parent: null\n};\nvar DefaultType$9 = {\n toggle: 'boolean',\n parent: '(null|element)'\n};\nvar EVENT_SHOW$5 = \"show\".concat(EVENT_KEY$9);\nvar EVENT_SHOWN$5 = \"shown\".concat(EVENT_KEY$9);\nvar EVENT_HIDE$5 = \"hide\".concat(EVENT_KEY$9);\nvar EVENT_HIDDEN$5 = \"hidden\".concat(EVENT_KEY$9);\nvar EVENT_CLICK_DATA_API$4 = \"click\".concat(EVENT_KEY$9).concat(DATA_API_KEY$5);\nvar CLASS_NAME_SHOW$7 = 'show';\nvar CLASS_NAME_COLLAPSE = 'collapse';\nvar CLASS_NAME_COLLAPSING = 'collapsing';\nvar CLASS_NAME_COLLAPSED = 'collapsed';\nvar CLASS_NAME_DEEPER_CHILDREN = \":scope .\".concat(CLASS_NAME_COLLAPSE, \" .\").concat(CLASS_NAME_COLLAPSE);\nvar CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nvar WIDTH = 'width';\nvar HEIGHT = 'height';\nvar SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nvar SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Collapse = /*#__PURE__*/function (_BaseComponent4) {\n _inherits(Collapse, _BaseComponent4);\n\n var _super4 = _createSuper(Collapse);\n\n function Collapse(element, config) {\n var _this8;\n\n _classCallCheck(this, Collapse);\n\n _this8 = _super4.call(this, element);\n _this8._isTransitioning = false;\n _this8._config = _this8._getConfig(config);\n _this8._triggerArray = [];\n var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = getSelectorFromElement(elem);\n var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {\n return foundElem === _this8._element;\n });\n\n if (selector !== null && filterElement.length) {\n _this8._selector = selector;\n\n _this8._triggerArray.push(elem);\n }\n }\n\n _this8._initializeChildren();\n\n if (!_this8._config.parent) {\n _this8._addAriaAndCollapsedClass(_this8._triggerArray, _this8._isShown());\n }\n\n if (_this8._config.toggle) {\n _this8.toggle();\n }\n\n return _this8;\n } // Getters\n\n\n _createClass(Collapse, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this9 = this;\n\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n\n var actives = [];\n var activesData;\n\n if (this._config.parent) {\n var children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(function (elem) {\n return !children.includes(elem);\n }); // remove children if greater depth\n }\n\n var container = SelectorEngine.findOne(this._selector);\n\n if (actives.length) {\n var tempActiveData = actives.find(function (elem) {\n return container !== elem;\n });\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = EventHandler.trigger(this._element, EVENT_SHOW$5);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n actives.forEach(function (elemActive) {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, {\n toggle: false\n }).hide();\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY$9, null);\n }\n });\n\n var dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n var complete = function complete() {\n _this9._isTransitioning = false;\n\n _this9._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n _this9._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n _this9._element.style[dimension] = '';\n EventHandler.trigger(_this9._element, EVENT_SHOWN$5);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\".concat(capitalizedDimension);\n\n this._queueCallback(complete, this._element, true);\n\n this._element.style[dimension] = \"\".concat(this._element[scrollSize], \"px\");\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this10 = this;\n\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n\n var startEvent = EventHandler.trigger(this._element, EVENT_HIDE$5);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = \"\".concat(this._element.getBoundingClientRect()[dimension], \"px\");\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n var triggerArrayLength = this._triggerArray.length;\n\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var elem = getElementFromSelector(trigger);\n\n if (elem && !this._isShown(elem)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n\n this._isTransitioning = true;\n\n var complete = function complete() {\n _this10._isTransitioning = false;\n\n _this10._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n _this10._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(_this10._element, EVENT_HIDDEN$5);\n };\n\n this._element.style[dimension] = '';\n\n this._queueCallback(complete, this._element, true);\n }\n }, {\n key: \"_isShown\",\n value: function _isShown() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._element;\n return element.classList.contains(CLASS_NAME_SHOW$7);\n } // Private\n\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$9, {}, Manipulator.getDataAttributes(this._element), {}, config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\n typeCheckConfig(NAME$a, config, DefaultType$9);\n return config;\n }\n }, {\n key: \"_getDimension\",\n value: function _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n }, {\n key: \"_initializeChildren\",\n value: function _initializeChildren() {\n var _this11 = this;\n\n if (!this._config.parent) {\n return;\n }\n\n var children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n SelectorEngine.find(SELECTOR_DATA_TOGGLE$4, this._config.parent).filter(function (elem) {\n return !children.includes(elem);\n }).forEach(function (element) {\n var selected = getElementFromSelector(element);\n\n if (selected) {\n _this11._addAriaAndCollapsedClass([element], _this11._isShown(selected));\n }\n });\n }\n }, {\n key: \"_addAriaAndCollapsedClass\",\n value: function _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n triggerArray.forEach(function (elem) {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED);\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED);\n }\n\n elem.setAttribute('aria-expanded', isOpen);\n });\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$9;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$a;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n var data = Collapse.getOrCreateInstance(this, _config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Collapse;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var selector = getSelectorFromElement(this);\n var selectorElements = SelectorEngine.find(selector);\n selectorElements.forEach(function (element) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n });\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$9 = 'dropdown';\nvar DATA_KEY$8 = 'bs.dropdown';\nvar EVENT_KEY$8 = \".\".concat(DATA_KEY$8);\nvar DATA_API_KEY$4 = '.data-api';\nvar ESCAPE_KEY$2 = 'Escape';\nvar SPACE_KEY = 'Space';\nvar TAB_KEY$1 = 'Tab';\nvar ARROW_UP_KEY = 'ArrowUp';\nvar ARROW_DOWN_KEY = 'ArrowDown';\nvar RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nvar REGEXP_KEYDOWN = new RegExp(\"\".concat(ARROW_UP_KEY, \"|\").concat(ARROW_DOWN_KEY, \"|\").concat(ESCAPE_KEY$2));\nvar EVENT_HIDE$4 = \"hide\".concat(EVENT_KEY$8);\nvar EVENT_HIDDEN$4 = \"hidden\".concat(EVENT_KEY$8);\nvar EVENT_SHOW$4 = \"show\".concat(EVENT_KEY$8);\nvar EVENT_SHOWN$4 = \"shown\".concat(EVENT_KEY$8);\nvar EVENT_CLICK_DATA_API$3 = \"click\".concat(EVENT_KEY$8).concat(DATA_API_KEY$4);\nvar EVENT_KEYDOWN_DATA_API = \"keydown\".concat(EVENT_KEY$8).concat(DATA_API_KEY$4);\nvar EVENT_KEYUP_DATA_API = \"keyup\".concat(EVENT_KEY$8).concat(DATA_API_KEY$4);\nvar CLASS_NAME_SHOW$6 = 'show';\nvar CLASS_NAME_DROPUP = 'dropup';\nvar CLASS_NAME_DROPEND = 'dropend';\nvar CLASS_NAME_DROPSTART = 'dropstart';\nvar CLASS_NAME_NAVBAR = 'navbar';\nvar SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]';\nvar SELECTOR_MENU = '.dropdown-menu';\nvar SELECTOR_NAVBAR_NAV = '.navbar-nav';\nvar SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nvar PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nvar PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nvar PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nvar PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nvar PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nvar PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nvar Default$8 = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n};\nvar DefaultType$8 = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n};\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Dropdown = /*#__PURE__*/function (_BaseComponent5) {\n _inherits(Dropdown, _BaseComponent5);\n\n var _super5 = _createSuper(Dropdown);\n\n function Dropdown(element, config) {\n var _this12;\n\n _classCallCheck(this, Dropdown);\n\n _this12 = _super5.call(this, element);\n _this12._popper = null;\n _this12._config = _this12._getConfig(config);\n _this12._menu = _this12._getMenuElement();\n _this12._inNavbar = _this12._detectNavbar();\n return _this12;\n } // Getters\n\n\n _createClass(Dropdown, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n }, {\n key: \"show\",\n value: function show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n var parent = Dropdown.getParentFromElement(this._element); // Totally disable Popper for Dropdowns in Navbar\n\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none');\n } else {\n this._createPopper(parent);\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {\n var _ref4;\n\n (_ref4 = []).concat.apply(_ref4, _toConsumableArray(document.body.children)).forEach(function (elem) {\n return EventHandler.on(elem, 'mouseover', noop);\n });\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n\n this._completeHide(relatedTarget);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n\n _get(_getPrototypeOf(Dropdown.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"update\",\n value: function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n }, {\n key: \"_completeHide\",\n value: function _completeHide(relatedTarget) {\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n var _ref5;\n\n (_ref5 = []).concat.apply(_ref5, _toConsumableArray(document.body.children)).forEach(function (elem) {\n return EventHandler.off(elem, 'mouseover', noop);\n });\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, this.constructor.Default, {}, Manipulator.getDataAttributes(this._element), {}, config);\n typeCheckConfig(NAME$9, config, this.constructor.DefaultType);\n\n if (_typeof(config.reference) === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(\"\".concat(NAME$9.toUpperCase(), \": Option \\\"reference\\\" provided type \\\"object\\\" without a required \\\"getBoundingClientRect\\\" method.\"));\n }\n\n return config;\n }\n }, {\n key: \"_createPopper\",\n value: function _createPopper(parent) {\n if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (_typeof(this._config.reference) === 'object') {\n referenceElement = this._config.reference;\n }\n\n var popperConfig = this._getPopperConfig();\n\n var isDisplayStatic = popperConfig.modifiers.find(function (modifier) {\n return modifier.name === 'applyStyles' && modifier.enabled === false;\n });\n this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_0__[\"createPopper\"](referenceElement, this._menu, popperConfig);\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static');\n }\n }\n }, {\n key: \"_isShown\",\n value: function _isShown() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._element;\n return element.classList.contains(CLASS_NAME_SHOW$6);\n }\n }, {\n key: \"_getMenuElement\",\n value: function _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\n }\n }, {\n key: \"_getPlacement\",\n value: function _getPlacement() {\n var parentDropdown = this._element.parentNode;\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n } // We need to trim the value because custom properties can also include spaces\n\n\n var isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n }, {\n key: \"_detectNavbar\",\n value: function _detectNavbar() {\n return this._element.closest(\".\".concat(CLASS_NAME_NAVBAR)) !== null;\n }\n }, {\n key: \"_getOffset\",\n value: function _getOffset() {\n var _this13 = this;\n\n var offset = this._config.offset;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(function (val) {\n return Number.parseInt(val, 10);\n });\n }\n\n if (typeof offset === 'function') {\n return function (popperData) {\n return offset(popperData, _this13._element);\n };\n }\n\n return offset;\n }\n }, {\n key: \"_getPopperConfig\",\n value: function _getPopperConfig() {\n var defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display\n\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return _objectSpread({}, defaultBsPopperConfig, {}, typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);\n }\n }, {\n key: \"_selectMenuItem\",\n value: function _selectMenuItem(_ref6) {\n var key = _ref6.key,\n target = _ref6.target;\n var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);\n\n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$8;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$8;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$9;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Dropdown.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }, {\n key: \"clearMenus\",\n value: function clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1)) {\n return;\n }\n\n var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var context = Dropdown.getInstance(toggles[i]);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n if (!context._isShown()) {\n continue;\n }\n\n var relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event) {\n var composedPath = event.composedPath();\n var isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n }\n\n context._completeHide(relatedTarget);\n }\n }\n }, {\n key: \"getParentFromElement\",\n value: function getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode;\n }\n }, {\n key: \"dataApiKeydownHandler\",\n value: function dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY$2 && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) {\n return;\n }\n\n var isActive = this.classList.contains(CLASS_NAME_SHOW$6);\n\n if (!isActive && event.key === ESCAPE_KEY$2) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (isDisabled(this)) {\n return;\n }\n\n var getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0];\n var instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (event.key === ESCAPE_KEY$2) {\n instance.hide();\n return;\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show();\n }\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus();\n }\n }\n }]);\n\n return Dropdown;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nvar SELECTOR_STICKY_CONTENT = '.sticky-top';\n\nvar ScrollBarHelper = /*#__PURE__*/function () {\n function ScrollBarHelper() {\n _classCallCheck(this, ScrollBarHelper);\n\n this._element = document.body;\n }\n\n _createClass(ScrollBarHelper, [{\n key: \"getWidth\",\n value: function getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n var documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var width = this.getWidth();\n\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, 'paddingRight', function (calculatedValue) {\n return calculatedValue + width;\n }); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', function (calculatedValue) {\n return calculatedValue + width;\n });\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', function (calculatedValue) {\n return calculatedValue - width;\n });\n }\n }, {\n key: \"_disableOverFlow\",\n value: function _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n }, {\n key: \"_setElementAttributes\",\n value: function _setElementAttributes(selector, styleProp, callback) {\n var _this14 = this;\n\n var scrollbarWidth = this.getWidth();\n\n var manipulationCallBack = function manipulationCallBack(element) {\n if (element !== _this14._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n _this14._saveInitialAttribute(element, styleProp);\n\n var calculatedValue = window.getComputedStyle(element)[styleProp];\n element.style[styleProp] = \"\".concat(callback(Number.parseFloat(calculatedValue)), \"px\");\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, 'paddingRight');\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');\n }\n }, {\n key: \"_saveInitialAttribute\",\n value: function _saveInitialAttribute(element, styleProp) {\n var actualValue = element.style[styleProp];\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue);\n }\n }\n }, {\n key: \"_resetElementAttributes\",\n value: function _resetElementAttributes(selector, styleProp) {\n var manipulationCallBack = function manipulationCallBack(element) {\n var value = Manipulator.getDataAttribute(element, styleProp);\n\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp);\n } else {\n Manipulator.removeDataAttribute(element, styleProp);\n element.style[styleProp] = value;\n }\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n }, {\n key: \"_applyManipulationCallback\",\n value: function _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack);\n }\n }\n }, {\n key: \"isOverflowing\",\n value: function isOverflowing() {\n return this.getWidth() > 0;\n }\n }]);\n\n return ScrollBarHelper;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\nvar Default$7 = {\n className: 'modal-backdrop',\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body',\n // give the choice to place backdrop under different elements\n clickCallback: null\n};\nvar DefaultType$7 = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n};\nvar NAME$8 = 'backdrop';\nvar CLASS_NAME_FADE$4 = 'fade';\nvar CLASS_NAME_SHOW$5 = 'show';\nvar EVENT_MOUSEDOWN = \"mousedown.bs.\".concat(NAME$8);\n\nvar Backdrop = /*#__PURE__*/function () {\n function Backdrop(config) {\n _classCallCheck(this, Backdrop);\n\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n _createClass(Backdrop, [{\n key: \"show\",\n value: function show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n if (this._config.isAnimated) {\n reflow(this._getElement());\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(function () {\n execute(callback);\n });\n }\n }, {\n key: \"hide\",\n value: function hide(callback) {\n var _this15 = this;\n\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(function () {\n _this15.dispose();\n\n execute(callback);\n });\n } // Private\n\n }, {\n key: \"_getElement\",\n value: function _getElement() {\n if (!this._element) {\n var backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$7, {}, _typeof(config) === 'object' ? config : {}); // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n\n config.rootElement = getElement(config.rootElement);\n typeCheckConfig(NAME$8, config, DefaultType$7);\n return config;\n }\n }, {\n key: \"_append\",\n value: function _append() {\n var _this16 = this;\n\n if (this._isAppended) {\n return;\n }\n\n this._config.rootElement.append(this._getElement());\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, function () {\n execute(_this16._config.clickCallback);\n });\n this._isAppended = true;\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (!this._isAppended) {\n return;\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n\n this._element.remove();\n\n this._isAppended = false;\n }\n }, {\n key: \"_emulateAnimation\",\n value: function _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n }]);\n\n return Backdrop;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\nvar Default$6 = {\n trapElement: null,\n // The element to trap focus inside of\n autofocus: true\n};\nvar DefaultType$6 = {\n trapElement: 'element',\n autofocus: 'boolean'\n};\nvar NAME$7 = 'focustrap';\nvar DATA_KEY$7 = 'bs.focustrap';\nvar EVENT_KEY$7 = \".\".concat(DATA_KEY$7);\nvar EVENT_FOCUSIN$1 = \"focusin\".concat(EVENT_KEY$7);\nvar EVENT_KEYDOWN_TAB = \"keydown.tab\".concat(EVENT_KEY$7);\nvar TAB_KEY = 'Tab';\nvar TAB_NAV_FORWARD = 'forward';\nvar TAB_NAV_BACKWARD = 'backward';\n\nvar FocusTrap = /*#__PURE__*/function () {\n function FocusTrap(config) {\n _classCallCheck(this, FocusTrap);\n\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n _createClass(FocusTrap, [{\n key: \"activate\",\n value: function activate() {\n var _this17 = this;\n\n var _this$_config = this._config,\n trapElement = _this$_config.trapElement,\n autofocus = _this$_config.autofocus;\n\n if (this._isActive) {\n return;\n }\n\n if (autofocus) {\n trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$1, function (event) {\n return _this17._handleFocusin(event);\n });\n EventHandler.on(document, EVENT_KEYDOWN_TAB, function (event) {\n return _this17._handleKeydown(event);\n });\n this._isActive = true;\n }\n }, {\n key: \"deactivate\",\n value: function deactivate() {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$7);\n } // Private\n\n }, {\n key: \"_handleFocusin\",\n value: function _handleFocusin(event) {\n var target = event.target;\n var trapElement = this._config.trapElement;\n\n if (target === document || target === trapElement || trapElement.contains(target)) {\n return;\n }\n\n var elements = SelectorEngine.focusableChildren(trapElement);\n\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n }, {\n key: \"_handleKeydown\",\n value: function _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$6, {}, _typeof(config) === 'object' ? config : {});\n typeCheckConfig(NAME$7, config, DefaultType$6);\n return config;\n }\n }]);\n\n return FocusTrap;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\nvar NAME$6 = 'modal';\nvar DATA_KEY$6 = 'bs.modal';\nvar EVENT_KEY$6 = \".\".concat(DATA_KEY$6);\nvar DATA_API_KEY$3 = '.data-api';\nvar ESCAPE_KEY$1 = 'Escape';\nvar Default$5 = {\n backdrop: true,\n keyboard: true,\n focus: true\n};\nvar DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n};\nvar EVENT_HIDE$3 = \"hide\".concat(EVENT_KEY$6);\nvar EVENT_HIDE_PREVENTED = \"hidePrevented\".concat(EVENT_KEY$6);\nvar EVENT_HIDDEN$3 = \"hidden\".concat(EVENT_KEY$6);\nvar EVENT_SHOW$3 = \"show\".concat(EVENT_KEY$6);\nvar EVENT_SHOWN$3 = \"shown\".concat(EVENT_KEY$6);\nvar EVENT_RESIZE = \"resize\".concat(EVENT_KEY$6);\nvar EVENT_CLICK_DISMISS = \"click.dismiss\".concat(EVENT_KEY$6);\nvar EVENT_KEYDOWN_DISMISS$1 = \"keydown.dismiss\".concat(EVENT_KEY$6);\nvar EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\".concat(EVENT_KEY$6);\nvar EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\".concat(EVENT_KEY$6);\nvar EVENT_CLICK_DATA_API$2 = \"click\".concat(EVENT_KEY$6).concat(DATA_API_KEY$3);\nvar CLASS_NAME_OPEN = 'modal-open';\nvar CLASS_NAME_FADE$3 = 'fade';\nvar CLASS_NAME_SHOW$4 = 'show';\nvar CLASS_NAME_STATIC = 'modal-static';\nvar OPEN_SELECTOR$1 = '.modal.show';\nvar SELECTOR_DIALOG = '.modal-dialog';\nvar SELECTOR_MODAL_BODY = '.modal-body';\nvar SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Modal = /*#__PURE__*/function (_BaseComponent6) {\n _inherits(Modal, _BaseComponent6);\n\n var _super6 = _createSuper(Modal);\n\n function Modal(element, config) {\n var _this18;\n\n _classCallCheck(this, Modal);\n\n _this18 = _super6.call(this, element);\n _this18._config = _this18._getConfig(config);\n _this18._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, _this18._element);\n _this18._backdrop = _this18._initializeBackDrop();\n _this18._focustrap = _this18._initializeFocusTrap();\n _this18._isShown = false;\n _this18._ignoreBackdropClick = false;\n _this18._isTransitioning = false;\n _this18._scrollBar = new ScrollBarHelper();\n return _this18;\n } // Getters\n\n\n _createClass(Modal, [{\n key: \"toggle\",\n value: // Public\n function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: \"show\",\n value: function show(relatedTarget) {\n var _this19 = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget: relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n if (this._isAnimated()) {\n this._isTransitioning = true;\n }\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {\n EventHandler.one(_this19._element, EVENT_MOUSEUP_DISMISS, function (event) {\n if (event.target === _this19._element) {\n _this19._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this19._showElement(relatedTarget);\n });\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this20 = this;\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n\n var isAnimated = this._isAnimated();\n\n if (isAnimated) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\n\n this._queueCallback(function () {\n return _this20._hideModal();\n }, this._element, isAnimated);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n [window, this._dialog].forEach(function (htmlElement) {\n return EventHandler.off(htmlElement, EVENT_KEY$6);\n });\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n _get(_getPrototypeOf(Modal.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"handleUpdate\",\n value: function handleUpdate() {\n this._adjustDialog();\n } // Private\n\n }, {\n key: \"_initializeBackDrop\",\n value: function _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n });\n }\n }, {\n key: \"_initializeFocusTrap\",\n value: function _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$5, {}, Manipulator.getDataAttributes(this._element), {}, _typeof(config) === 'object' ? config : {});\n typeCheckConfig(NAME$6, config, DefaultType$5);\n return config;\n }\n }, {\n key: \"_showElement\",\n value: function _showElement(relatedTarget) {\n var _this21 = this;\n\n var isAnimated = this._isAnimated();\n\n var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n if (isAnimated) {\n reflow(this._element);\n }\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\n\n var transitionComplete = function transitionComplete() {\n if (_this21._config.focus) {\n _this21._focustrap.activate();\n }\n\n _this21._isTransitioning = false;\n EventHandler.trigger(_this21._element, EVENT_SHOWN$3, {\n relatedTarget: relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated);\n }\n }, {\n key: \"_setEscapeEvent\",\n value: function _setEscapeEvent() {\n var _this22 = this;\n\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, function (event) {\n if (_this22._config.keyboard && event.key === ESCAPE_KEY$1) {\n event.preventDefault();\n\n _this22.hide();\n } else if (!_this22._config.keyboard && event.key === ESCAPE_KEY$1) {\n _this22._triggerBackdropTransition();\n }\n });\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS$1);\n }\n }\n }, {\n key: \"_setResizeEvent\",\n value: function _setResizeEvent() {\n var _this23 = this;\n\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, function () {\n return _this23._adjustDialog();\n });\n } else {\n EventHandler.off(window, EVENT_RESIZE);\n }\n }\n }, {\n key: \"_hideModal\",\n value: function _hideModal() {\n var _this24 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(function () {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n _this24._resetAdjustments();\n\n _this24._scrollBar.reset();\n\n EventHandler.trigger(_this24._element, EVENT_HIDDEN$3);\n });\n }\n }, {\n key: \"_showBackdrop\",\n value: function _showBackdrop(callback) {\n var _this25 = this;\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, function (event) {\n if (_this25._ignoreBackdropClick) {\n _this25._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this25._config.backdrop === true) {\n _this25.hide();\n } else if (_this25._config.backdrop === 'static') {\n _this25._triggerBackdropTransition();\n }\n });\n\n this._backdrop.show(callback);\n }\n }, {\n key: \"_isAnimated\",\n value: function _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n }, {\n key: \"_triggerBackdropTransition\",\n value: function _triggerBackdropTransition() {\n var _this26 = this;\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n var _this$_element = this._element,\n classList = _this$_element.classList,\n scrollHeight = _this$_element.scrollHeight,\n style = _this$_element.style;\n var isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed\n\n if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden';\n }\n\n classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(function () {\n classList.remove(CLASS_NAME_STATIC);\n\n if (!isModalOverflowing) {\n _this26._queueCallback(function () {\n style.overflowY = '';\n }, _this26._dialog);\n }\n }, this._dialog);\n\n this._element.focus();\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n }, {\n key: \"_adjustDialog\",\n value: function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n var scrollbarWidth = this._scrollBar.getWidth();\n\n var isBodyOverflowing = scrollbarWidth > 0;\n\n if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) {\n this._element.style.paddingLeft = \"\".concat(scrollbarWidth, \"px\");\n }\n\n if (isBodyOverflowing && !isModalOverflowing && !isRTL() || !isBodyOverflowing && isModalOverflowing && isRTL()) {\n this._element.style.paddingRight = \"\".concat(scrollbarWidth, \"px\");\n }\n }\n }, {\n key: \"_resetAdjustments\",\n value: function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = Modal.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](relatedTarget);\n });\n }\n }]);\n\n return Modal;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n var _this27 = this;\n\n var target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n EventHandler.one(target, EVENT_SHOW$3, function (showEvent) {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$3, function () {\n if (isVisible(_this27)) {\n _this27.focus();\n }\n });\n }); // avoid conflict when clicking moddal toggler while another one is open\n\n var allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (allReadyOpen) {\n Modal.getInstance(allReadyOpen).hide();\n }\n\n var data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$5 = 'offcanvas';\nvar DATA_KEY$5 = 'bs.offcanvas';\nvar EVENT_KEY$5 = \".\".concat(DATA_KEY$5);\nvar DATA_API_KEY$2 = '.data-api';\nvar EVENT_LOAD_DATA_API$1 = \"load\".concat(EVENT_KEY$5).concat(DATA_API_KEY$2);\nvar ESCAPE_KEY = 'Escape';\nvar Default$4 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nvar DefaultType$4 = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\nvar CLASS_NAME_SHOW$3 = 'show';\nvar CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nvar OPEN_SELECTOR = '.offcanvas.show';\nvar EVENT_SHOW$2 = \"show\".concat(EVENT_KEY$5);\nvar EVENT_SHOWN$2 = \"shown\".concat(EVENT_KEY$5);\nvar EVENT_HIDE$2 = \"hide\".concat(EVENT_KEY$5);\nvar EVENT_HIDDEN$2 = \"hidden\".concat(EVENT_KEY$5);\nvar EVENT_CLICK_DATA_API$1 = \"click\".concat(EVENT_KEY$5).concat(DATA_API_KEY$2);\nvar EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\".concat(EVENT_KEY$5);\nvar SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Offcanvas = /*#__PURE__*/function (_BaseComponent7) {\n _inherits(Offcanvas, _BaseComponent7);\n\n var _super7 = _createSuper(Offcanvas);\n\n function Offcanvas(element, config) {\n var _this28;\n\n _classCallCheck(this, Offcanvas);\n\n _this28 = _super7.call(this, element);\n _this28._config = _this28._getConfig(config);\n _this28._isShown = false;\n _this28._backdrop = _this28._initializeBackDrop();\n _this28._focustrap = _this28._initializeFocusTrap();\n\n _this28._addEventListeners();\n\n return _this28;\n } // Getters\n\n\n _createClass(Offcanvas, [{\n key: \"toggle\",\n value: // Public\n function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: \"show\",\n value: function show(relatedTarget) {\n var _this29 = this;\n\n if (this._isShown) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {\n relatedTarget: relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._element.style.visibility = 'visible';\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOW$3);\n\n var completeCallBack = function completeCallBack() {\n if (!_this29._config.scroll) {\n _this29._focustrap.activate();\n }\n\n EventHandler.trigger(_this29._element, EVENT_SHOWN$2, {\n relatedTarget: relatedTarget\n });\n };\n\n this._queueCallback(completeCallBack, this._element, true);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this30 = this;\n\n if (!this._isShown) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.remove(CLASS_NAME_SHOW$3);\n\n this._backdrop.hide();\n\n var completeCallback = function completeCallback() {\n _this30._element.setAttribute('aria-hidden', true);\n\n _this30._element.removeAttribute('aria-modal');\n\n _this30._element.removeAttribute('role');\n\n _this30._element.style.visibility = 'hidden';\n\n if (!_this30._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(_this30._element, EVENT_HIDDEN$2);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n _get(_getPrototypeOf(Offcanvas.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$4, {}, Manipulator.getDataAttributes(this._element), {}, _typeof(config) === 'object' ? config : {});\n typeCheckConfig(NAME$5, config, DefaultType$4);\n return config;\n }\n }, {\n key: \"_initializeBackDrop\",\n value: function _initializeBackDrop() {\n var _this31 = this;\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: function clickCallback() {\n return _this31.hide();\n }\n });\n }\n }, {\n key: \"_initializeFocusTrap\",\n value: function _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this32 = this;\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this32._config.keyboard && event.key === ESCAPE_KEY) {\n _this32.hide();\n }\n });\n } // Static\n\n }], [{\n key: \"NAME\",\n get: function get() {\n return NAME$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Offcanvas.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n });\n }\n }]);\n\n return Offcanvas;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n var _this33 = this;\n\n var target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$2, function () {\n // focus on trigger when it is closed\n if (isVisible(_this33)) {\n _this33.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n var allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide();\n }\n\n var data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {\n return SelectorEngine.find(OPEN_SELECTOR).forEach(function (el) {\n return Offcanvas.getOrCreateInstance(el).show();\n });\n});\nenableDismissTrigger(Offcanvas);\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\nvar allowedAttribute = function allowedAttribute(attribute, allowedAttributeList) {\n var attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attributeRegex) {\n return attributeRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attributeName)) {\n return true;\n }\n }\n\n return false;\n};\n\nvar DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n var _ref7;\n\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n\n var elements = (_ref7 = []).concat.apply(_ref7, _toConsumableArray(createdDocument.body.querySelectorAll('*')));\n\n var _loop = function _loop(i, len) {\n var _ref8;\n\n var element = elements[i];\n var elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n return \"continue\";\n }\n\n var attributeList = (_ref8 = []).concat.apply(_ref8, _toConsumableArray(element.attributes));\n\n var allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n attributeList.forEach(function (attribute) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i, len);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n}\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\nvar NAME$4 = 'tooltip';\nvar DATA_KEY$4 = 'bs.tooltip';\nvar EVENT_KEY$4 = \".\".concat(DATA_KEY$4);\nvar CLASS_PREFIX$1 = 'bs-tooltip';\nvar DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nvar DefaultType$3 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n};\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nvar Default$3 = {\n animation: true,\n template: '',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n};\nvar Event$2 = {\n HIDE: \"hide\".concat(EVENT_KEY$4),\n HIDDEN: \"hidden\".concat(EVENT_KEY$4),\n SHOW: \"show\".concat(EVENT_KEY$4),\n SHOWN: \"shown\".concat(EVENT_KEY$4),\n INSERTED: \"inserted\".concat(EVENT_KEY$4),\n CLICK: \"click\".concat(EVENT_KEY$4),\n FOCUSIN: \"focusin\".concat(EVENT_KEY$4),\n FOCUSOUT: \"focusout\".concat(EVENT_KEY$4),\n MOUSEENTER: \"mouseenter\".concat(EVENT_KEY$4),\n MOUSELEAVE: \"mouseleave\".concat(EVENT_KEY$4)\n};\nvar CLASS_NAME_FADE$2 = 'fade';\nvar CLASS_NAME_MODAL = 'modal';\nvar CLASS_NAME_SHOW$2 = 'show';\nvar HOVER_STATE_SHOW = 'show';\nvar HOVER_STATE_OUT = 'out';\nvar SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nvar SELECTOR_MODAL = \".\".concat(CLASS_NAME_MODAL);\nvar EVENT_MODAL_HIDE = 'hide.bs.modal';\nvar TRIGGER_HOVER = 'hover';\nvar TRIGGER_FOCUS = 'focus';\nvar TRIGGER_CLICK = 'click';\nvar TRIGGER_MANUAL = 'manual';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Tooltip = /*#__PURE__*/function (_BaseComponent8) {\n _inherits(Tooltip, _BaseComponent8);\n\n var _super8 = _createSuper(Tooltip);\n\n function Tooltip(element, config) {\n var _this34;\n\n _classCallCheck(this, Tooltip);\n\n if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n _this34 = _super8.call(this, element); // private\n\n _this34._isEnabled = true;\n _this34._timeout = 0;\n _this34._hoverState = '';\n _this34._activeTrigger = {};\n _this34._popper = null; // Protected\n\n _this34._config = _this34._getConfig(config);\n _this34.tip = null;\n\n _this34._setListeners();\n\n return _this34;\n } // Getters\n\n\n _createClass(Tooltip, [{\n key: \"enable\",\n value: // Public\n function enable() {\n this._isEnabled = true;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this._isEnabled = false;\n }\n }, {\n key: \"toggleEnabled\",\n value: function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n }, {\n key: \"toggle\",\n value: function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$2)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this.tip) {\n this.tip.remove();\n }\n\n this._disposePopper();\n\n _get(_getPrototypeOf(Tooltip.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this35 = this;\n\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);\n var shadowRoot = findShadowRoot(this._element);\n var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title`\n // This will be removed later in favor of a `setContent` method\n\n\n if (this.constructor.NAME === 'tooltip' && this.tip && this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML) {\n this._disposePopper();\n\n this.tip.remove();\n this.tip = null;\n }\n\n var tip = this.getTipElement();\n var tipId = getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n\n this._element.setAttribute('aria-describedby', tipId);\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n var placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this._addAttachmentClass(attachment);\n\n var container = this._config.container;\n Data.set(tip, this.constructor.DATA_KEY, this);\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED);\n }\n\n if (this._popper) {\n this._popper.update();\n } else {\n this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_0__[\"createPopper\"](this._element, tip, this._getPopperConfig(attachment));\n }\n\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n var customClass = this._resolvePossibleFunction(this._config.customClass);\n\n if (customClass) {\n var _tip$classList;\n\n (_tip$classList = tip.classList).add.apply(_tip$classList, _toConsumableArray(customClass.split(' ')));\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement) {\n var _ref9;\n\n (_ref9 = []).concat.apply(_ref9, _toConsumableArray(document.body.children)).forEach(function (element) {\n EventHandler.on(element, 'mouseover', noop);\n });\n }\n\n var complete = function complete() {\n var prevHoverState = _this35._hoverState;\n _this35._hoverState = null;\n EventHandler.trigger(_this35._element, _this35.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this35._leave(null, _this35);\n }\n };\n\n var isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2);\n\n this._queueCallback(complete, this.tip, isAnimated);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this36 = this;\n\n if (!this._popper) {\n return;\n }\n\n var tip = this.getTipElement();\n\n var complete = function complete() {\n if (_this36._isWithActiveTrigger()) {\n return;\n }\n\n if (_this36._hoverState !== HOVER_STATE_SHOW) {\n tip.remove();\n }\n\n _this36._cleanTipClass();\n\n _this36._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(_this36._element, _this36.constructor.Event.HIDDEN);\n\n _this36._disposePopper();\n };\n\n var hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n var _ref10;\n\n (_ref10 = []).concat.apply(_ref10, _toConsumableArray(document.body.children)).forEach(function (element) {\n return EventHandler.off(element, 'mouseover', noop);\n });\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n var isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2);\n\n this._queueCallback(complete, this.tip, isAnimated);\n\n this._hoverState = '';\n }\n }, {\n key: \"update\",\n value: function update() {\n if (this._popper !== null) {\n this._popper.update();\n }\n } // Protected\n\n }, {\n key: \"isWithContent\",\n value: function isWithContent() {\n return Boolean(this.getTitle());\n }\n }, {\n key: \"getTipElement\",\n value: function getTipElement() {\n if (this.tip) {\n return this.tip;\n }\n\n var element = document.createElement('div');\n element.innerHTML = this._config.template;\n var tip = element.children[0];\n this.setContent(tip);\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n this.tip = tip;\n return this.tip;\n }\n }, {\n key: \"setContent\",\n value: function setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER);\n }\n }, {\n key: \"_sanitizeAndSetContent\",\n value: function _sanitizeAndSetContent(template, content, selector) {\n var templateElement = SelectorEngine.findOne(selector, template);\n\n if (!content && templateElement) {\n templateElement.remove();\n return;\n } // we use append for html objects to maintain js events\n\n\n this.setElementContent(templateElement, content);\n }\n }, {\n key: \"setElementContent\",\n value: function setElementContent(element, content) {\n if (element === null) {\n return;\n }\n\n if (isElement(content)) {\n content = getElement(content); // content is a DOM node or a jQuery\n\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = '';\n element.append(content);\n }\n } else {\n element.textContent = content.textContent;\n }\n\n return;\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn);\n }\n\n element.innerHTML = content;\n } else {\n element.textContent = content;\n }\n }\n }, {\n key: \"getTitle\",\n value: function getTitle() {\n var title = this._element.getAttribute('data-bs-original-title') || this._config.title;\n\n return this._resolvePossibleFunction(title);\n }\n }, {\n key: \"updateAttachment\",\n value: function updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end';\n }\n\n if (attachment === 'left') {\n return 'start';\n }\n\n return attachment;\n } // Private\n\n }, {\n key: \"_initializeOnDelegatedTarget\",\n value: function _initializeOnDelegatedTarget(event, context) {\n return context || this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n }, {\n key: \"_getOffset\",\n value: function _getOffset() {\n var _this37 = this;\n\n var offset = this._config.offset;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(function (val) {\n return Number.parseInt(val, 10);\n });\n }\n\n if (typeof offset === 'function') {\n return function (popperData) {\n return offset(popperData, _this37._element);\n };\n }\n\n return offset;\n }\n }, {\n key: \"_resolvePossibleFunction\",\n value: function _resolvePossibleFunction(content) {\n return typeof content === 'function' ? content.call(this._element) : content;\n }\n }, {\n key: \"_getPopperConfig\",\n value: function _getPopperConfig(attachment) {\n var _this38 = this;\n\n var defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: \".\".concat(this.constructor.NAME, \"-arrow\")\n }\n }, {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: function fn(data) {\n return _this38._handlePopperPlacementChange(data);\n }\n }],\n onFirstUpdate: function onFirstUpdate(data) {\n if (data.options.placement !== data.placement) {\n _this38._handlePopperPlacementChange(data);\n }\n }\n };\n return _objectSpread({}, defaultBsPopperConfig, {}, typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);\n }\n }, {\n key: \"_addAttachmentClass\",\n value: function _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(\"\".concat(this._getBasicClassPrefix(), \"-\").concat(this.updateAttachment(attachment)));\n }\n }, {\n key: \"_getAttachment\",\n value: function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n }\n }, {\n key: \"_setListeners\",\n value: function _setListeners() {\n var _this39 = this;\n\n var triggers = this._config.trigger.split(' ');\n\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n EventHandler.on(_this39._element, _this39.constructor.Event.CLICK, _this39._config.selector, function (event) {\n return _this39.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this39.constructor.Event.MOUSEENTER : _this39.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this39.constructor.Event.MOUSELEAVE : _this39.constructor.Event.FOCUSOUT;\n EventHandler.on(_this39._element, eventIn, _this39._config.selector, function (event) {\n return _this39._enter(event);\n });\n EventHandler.on(_this39._element, eventOut, _this39._config.selector, function (event) {\n return _this39._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this39._element) {\n _this39.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._config.selector) {\n this._config = _objectSpread({}, this._config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n }\n }, {\n key: \"_fixTitle\",\n value: function _fixTitle() {\n var title = this._element.getAttribute('title');\n\n var originalTitleType = _typeof(this._element.getAttribute('data-bs-original-title'));\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '');\n\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('title', '');\n }\n }\n }, {\n key: \"_enter\",\n value: function _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context);\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$2) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context._config.delay.show);\n }\n }, {\n key: \"_leave\",\n value: function _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context);\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context._config.delay.hide);\n }\n }, {\n key: \"_isWithActiveTrigger\",\n value: function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n var dataAttributes = Manipulator.getDataAttributes(this._element);\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _objectSpread({}, this.constructor.Default, {}, dataAttributes, {}, _typeof(config) === 'object' && config ? config : {});\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);\n }\n\n return config;\n }\n }, {\n key: \"_getDelegateConfig\",\n value: function _getDelegateConfig() {\n var config = {};\n\n for (var key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n } // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n\n return config;\n }\n }, {\n key: \"_cleanTipClass\",\n value: function _cleanTipClass() {\n var tip = this.getTipElement();\n var basicClassPrefixRegex = new RegExp(\"(^|\\\\s)\".concat(this._getBasicClassPrefix(), \"\\\\S+\"), 'g');\n var tabClass = tip.getAttribute('class').match(basicClassPrefixRegex);\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(function (token) {\n return token.trim();\n }).forEach(function (tClass) {\n return tip.classList.remove(tClass);\n });\n }\n }\n }, {\n key: \"_getBasicClassPrefix\",\n value: function _getBasicClassPrefix() {\n return CLASS_PREFIX$1;\n }\n }, {\n key: \"_handlePopperPlacementChange\",\n value: function _handlePopperPlacementChange(popperData) {\n var state = popperData.state;\n\n if (!state) {\n return;\n }\n\n this.tip = state.elements.popper;\n\n this._cleanTipClass();\n\n this._addAttachmentClass(this._getAttachment(state.placement));\n }\n }, {\n key: \"_disposePopper\",\n value: function _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$4;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$3;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Tooltip;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\n\ndefineJQueryPlugin(Tooltip);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$3 = 'popover';\nvar DATA_KEY$3 = 'bs.popover';\nvar EVENT_KEY$3 = \".\".concat(DATA_KEY$3);\nvar CLASS_PREFIX = 'bs-popover';\n\nvar Default$2 = _objectSpread({}, Tooltip.Default, {\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: ''\n});\n\nvar DefaultType$2 = _objectSpread({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n});\n\nvar Event$1 = {\n HIDE: \"hide\".concat(EVENT_KEY$3),\n HIDDEN: \"hidden\".concat(EVENT_KEY$3),\n SHOW: \"show\".concat(EVENT_KEY$3),\n SHOWN: \"shown\".concat(EVENT_KEY$3),\n INSERTED: \"inserted\".concat(EVENT_KEY$3),\n CLICK: \"click\".concat(EVENT_KEY$3),\n FOCUSIN: \"focusin\".concat(EVENT_KEY$3),\n FOCUSOUT: \"focusout\".concat(EVENT_KEY$3),\n MOUSEENTER: \"mouseenter\".concat(EVENT_KEY$3),\n MOUSELEAVE: \"mouseleave\".concat(EVENT_KEY$3)\n};\nvar SELECTOR_TITLE = '.popover-header';\nvar SELECTOR_CONTENT = '.popover-body';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Popover = /*#__PURE__*/function (_Tooltip) {\n _inherits(Popover, _Tooltip);\n\n var _super9 = _createSuper(Popover);\n\n function Popover() {\n _classCallCheck(this, Popover);\n\n return _super9.apply(this, arguments);\n }\n\n _createClass(Popover, [{\n key: \"isWithContent\",\n value: // Overrides\n function isWithContent() {\n return this.getTitle() || this._getContent();\n }\n }, {\n key: \"setContent\",\n value: function setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE);\n\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT);\n } // Private\n\n }, {\n key: \"_getContent\",\n value: function _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n }, {\n key: \"_getBasicClassPrefix\",\n value: function _getBasicClassPrefix() {\n return CLASS_PREFIX;\n } // Static\n\n }], [{\n key: \"Default\",\n get: // Getters\n function get() {\n return Default$2;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$3;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$1;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Popover.getOrCreateInstance(this, config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Popover;\n}(Tooltip);\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\n\ndefineJQueryPlugin(Popover);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$2 = 'scrollspy';\nvar DATA_KEY$2 = 'bs.scrollspy';\nvar EVENT_KEY$2 = \".\".concat(DATA_KEY$2);\nvar DATA_API_KEY$1 = '.data-api';\nvar Default$1 = {\n offset: 10,\n method: 'auto',\n target: ''\n};\nvar DefaultType$1 = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n};\nvar EVENT_ACTIVATE = \"activate\".concat(EVENT_KEY$2);\nvar EVENT_SCROLL = \"scroll\".concat(EVENT_KEY$2);\nvar EVENT_LOAD_DATA_API = \"load\".concat(EVENT_KEY$2).concat(DATA_API_KEY$1);\nvar CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nvar CLASS_NAME_ACTIVE$1 = 'active';\nvar SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nvar SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';\nvar SELECTOR_NAV_LINKS = '.nav-link';\nvar SELECTOR_NAV_ITEMS = '.nav-item';\nvar SELECTOR_LIST_ITEMS = '.list-group-item';\nvar SELECTOR_LINK_ITEMS = \"\".concat(SELECTOR_NAV_LINKS, \", \").concat(SELECTOR_LIST_ITEMS, \", .\").concat(CLASS_NAME_DROPDOWN_ITEM);\nvar SELECTOR_DROPDOWN$1 = '.dropdown';\nvar SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nvar METHOD_OFFSET = 'offset';\nvar METHOD_POSITION = 'position';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar ScrollSpy = /*#__PURE__*/function (_BaseComponent9) {\n _inherits(ScrollSpy, _BaseComponent9);\n\n var _super10 = _createSuper(ScrollSpy);\n\n function ScrollSpy(element, config) {\n var _this40;\n\n _classCallCheck(this, ScrollSpy);\n\n _this40 = _super10.call(this, element);\n _this40._scrollElement = _this40._element.tagName === 'BODY' ? window : _this40._element;\n _this40._config = _this40._getConfig(config);\n _this40._offsets = [];\n _this40._targets = [];\n _this40._activeTarget = null;\n _this40._scrollHeight = 0;\n EventHandler.on(_this40._scrollElement, EVENT_SCROLL, function () {\n return _this40._process();\n });\n\n _this40.refresh();\n\n _this40._process();\n\n return _this40;\n } // Getters\n\n\n _createClass(ScrollSpy, [{\n key: \"refresh\",\n value: // Public\n function refresh() {\n var _this41 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);\n targets.map(function (element) {\n var targetSelector = getSelectorFromElement(element);\n var target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this41._offsets.push(item[0]);\n\n _this41._targets.push(item[1]);\n });\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY$2);\n\n _get(_getPrototypeOf(ScrollSpy.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default$1, {}, Manipulator.getDataAttributes(this._element), {}, _typeof(config) === 'object' && config ? config : {});\n config.target = getElement(config.target) || document.documentElement;\n typeCheckConfig(NAME$2, config, DefaultType$1);\n return config;\n }\n }, {\n key: \"_getScrollTop\",\n value: function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n }\n }, {\n key: \"_getScrollHeight\",\n value: function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }\n }, {\n key: \"_getOffsetHeight\",\n value: function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n }\n }, {\n key: \"_process\",\n value: function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n }\n }, {\n key: \"_activate\",\n value: function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = SELECTOR_LINK_ITEMS.split(',').map(function (selector) {\n return \"\".concat(selector, \"[data-bs-target=\\\"\").concat(target, \"\\\"],\").concat(selector, \"[href=\\\"\").concat(target, \"\\\"]\");\n });\n var link = SelectorEngine.findOne(queries.join(','), this._config.target);\n link.classList.add(CLASS_NAME_ACTIVE$1);\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1);\n } else {\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(function (listGroup) {\n // Set triggered links parents as active\n // With both and markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, \"\".concat(SELECTOR_NAV_LINKS, \", \").concat(SELECTOR_LIST_ITEMS)).forEach(function (item) {\n return item.classList.add(CLASS_NAME_ACTIVE$1);\n }); // Handle special case when .nav-link is inside .nav-item\n\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {\n return item.classList.add(CLASS_NAME_ACTIVE$1);\n });\n });\n });\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n }, {\n key: \"_clear\",\n value: function _clear() {\n SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target).filter(function (node) {\n return node.classList.contains(CLASS_NAME_ACTIVE$1);\n }).forEach(function (node) {\n return node.classList.remove(CLASS_NAME_ACTIVE$1);\n });\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$2;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = ScrollSpy.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }]);\n\n return ScrollSpy;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, function () {\n SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {\n return new ScrollSpy(spy);\n });\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(ScrollSpy);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME$1 = 'tab';\nvar DATA_KEY$1 = 'bs.tab';\nvar EVENT_KEY$1 = \".\".concat(DATA_KEY$1);\nvar DATA_API_KEY = '.data-api';\nvar EVENT_HIDE$1 = \"hide\".concat(EVENT_KEY$1);\nvar EVENT_HIDDEN$1 = \"hidden\".concat(EVENT_KEY$1);\nvar EVENT_SHOW$1 = \"show\".concat(EVENT_KEY$1);\nvar EVENT_SHOWN$1 = \"shown\".concat(EVENT_KEY$1);\nvar EVENT_CLICK_DATA_API = \"click\".concat(EVENT_KEY$1).concat(DATA_API_KEY);\nvar CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\nvar CLASS_NAME_ACTIVE = 'active';\nvar CLASS_NAME_FADE$1 = 'fade';\nvar CLASS_NAME_SHOW$1 = 'show';\nvar SELECTOR_DROPDOWN = '.dropdown';\nvar SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nvar SELECTOR_ACTIVE = '.active';\nvar SELECTOR_ACTIVE_UL = ':scope > li > .active';\nvar SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]';\nvar SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\nvar SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Tab = /*#__PURE__*/function (_BaseComponent10) {\n _inherits(Tab, _BaseComponent10);\n\n var _super11 = _createSuper(Tab);\n\n function Tab() {\n _classCallCheck(this, Tab);\n\n return _super11.apply(this, arguments);\n }\n\n _createClass(Tab, [{\n key: \"show\",\n value: // Public\n function show() {\n var _this42 = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n return;\n }\n\n var previous;\n var target = getElementFromSelector(this._element);\n\n var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);\n\n if (listElement) {\n var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;\n previous = SelectorEngine.find(itemSelector, listElement);\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = previous ? EventHandler.trigger(previous, EVENT_HIDE$1, {\n relatedTarget: this._element\n }) : null;\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, {\n relatedTarget: previous\n });\n\n if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) {\n return;\n }\n\n this._activate(this._element, listElement);\n\n var complete = function complete() {\n EventHandler.trigger(previous, EVENT_HIDDEN$1, {\n relatedTarget: _this42._element\n });\n EventHandler.trigger(_this42._element, EVENT_SHOWN$1, {\n relatedTarget: previous\n });\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n } // Private\n\n }, {\n key: \"_activate\",\n value: function _activate(element, container, callback) {\n var _this43 = this;\n\n var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE);\n var active = activeElements[0];\n var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$1);\n\n var complete = function complete() {\n return _this43._transitionComplete(element, active, callback);\n };\n\n if (active && isTransitioning) {\n active.classList.remove(CLASS_NAME_SHOW$1);\n\n this._queueCallback(complete, element, true);\n } else {\n complete();\n }\n }\n }, {\n key: \"_transitionComplete\",\n value: function _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE);\n var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE);\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false);\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE);\n\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true);\n }\n\n reflow(element);\n\n if (element.classList.contains(CLASS_NAME_FADE$1)) {\n element.classList.add(CLASS_NAME_SHOW$1);\n }\n\n var parent = element.parentNode;\n\n if (parent && parent.nodeName === 'LI') {\n parent = parent.parentNode;\n }\n\n if (parent && parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n var dropdownElement = element.closest(SELECTOR_DROPDOWN);\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement).forEach(function (dropdown) {\n return dropdown.classList.add(CLASS_NAME_ACTIVE);\n });\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n } // Static\n\n }], [{\n key: \"NAME\",\n get: // Getters\n function get() {\n return NAME$1;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Tab.getOrCreateInstance(this);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Tab;\n}(BaseComponent);\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n var data = Tab.getOrCreateInstance(this);\n data.show();\n});\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tab);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nvar NAME = 'toast';\nvar DATA_KEY = 'bs.toast';\nvar EVENT_KEY = \".\".concat(DATA_KEY);\nvar EVENT_MOUSEOVER = \"mouseover\".concat(EVENT_KEY);\nvar EVENT_MOUSEOUT = \"mouseout\".concat(EVENT_KEY);\nvar EVENT_FOCUSIN = \"focusin\".concat(EVENT_KEY);\nvar EVENT_FOCUSOUT = \"focusout\".concat(EVENT_KEY);\nvar EVENT_HIDE = \"hide\".concat(EVENT_KEY);\nvar EVENT_HIDDEN = \"hidden\".concat(EVENT_KEY);\nvar EVENT_SHOW = \"show\".concat(EVENT_KEY);\nvar EVENT_SHOWN = \"shown\".concat(EVENT_KEY);\nvar CLASS_NAME_FADE = 'fade';\nvar CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility\n\nvar CLASS_NAME_SHOW = 'show';\nvar CLASS_NAME_SHOWING = 'showing';\nvar DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n};\nvar Default = {\n animation: true,\n autohide: true,\n delay: 5000\n};\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nvar Toast = /*#__PURE__*/function (_BaseComponent11) {\n _inherits(Toast, _BaseComponent11);\n\n var _super12 = _createSuper(Toast);\n\n function Toast(element, config) {\n var _this44;\n\n _classCallCheck(this, Toast);\n\n _this44 = _super12.call(this, element);\n _this44._config = _this44._getConfig(config);\n _this44._timeout = null;\n _this44._hasMouseInteraction = false;\n _this44._hasKeyboardInteraction = false;\n\n _this44._setListeners();\n\n return _this44;\n } // Getters\n\n\n _createClass(Toast, [{\n key: \"show\",\n value: // Public\n function show() {\n var _this45 = this;\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._clearTimeout();\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE);\n }\n\n var complete = function complete() {\n _this45._element.classList.remove(CLASS_NAME_SHOWING);\n\n EventHandler.trigger(_this45._element, EVENT_SHOWN);\n\n _this45._maybeScheduleHide();\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated\n\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW);\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this46 = this;\n\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n var complete = function complete() {\n _this46._element.classList.add(CLASS_NAME_HIDE); // @deprecated\n\n\n _this46._element.classList.remove(CLASS_NAME_SHOWING);\n\n _this46._element.classList.remove(CLASS_NAME_SHOW);\n\n EventHandler.trigger(_this46._element, EVENT_HIDDEN);\n };\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._clearTimeout();\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW);\n }\n\n _get(_getPrototypeOf(Toast.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _objectSpread({}, Default, {}, Manipulator.getDataAttributes(this._element), {}, _typeof(config) === 'object' && config ? config : {});\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\n return config;\n }\n }, {\n key: \"_maybeScheduleHide\",\n value: function _maybeScheduleHide() {\n var _this47 = this;\n\n if (!this._config.autohide) {\n return;\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return;\n }\n\n this._timeout = setTimeout(function () {\n _this47.hide();\n }, this._config.delay);\n }\n }, {\n key: \"_onInteraction\",\n value: function _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n this._hasMouseInteraction = isInteracting;\n break;\n\n case 'focusin':\n case 'focusout':\n this._hasKeyboardInteraction = isInteracting;\n break;\n }\n\n if (isInteracting) {\n this._clearTimeout();\n\n return;\n }\n\n var nextElement = event.relatedTarget;\n\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return;\n }\n\n this._maybeScheduleHide();\n }\n }, {\n key: \"_setListeners\",\n value: function _setListeners() {\n var _this48 = this;\n\n EventHandler.on(this._element, EVENT_MOUSEOVER, function (event) {\n return _this48._onInteraction(event, true);\n });\n EventHandler.on(this._element, EVENT_MOUSEOUT, function (event) {\n return _this48._onInteraction(event, false);\n });\n EventHandler.on(this._element, EVENT_FOCUSIN, function (event) {\n return _this48._onInteraction(event, true);\n });\n EventHandler.on(this._element, EVENT_FOCUSOUT, function (event) {\n return _this48._onInteraction(event, false);\n });\n }\n }, {\n key: \"_clearTimeout\",\n value: function _clearTimeout() {\n clearTimeout(this._timeout);\n this._timeout = null;\n } // Static\n\n }], [{\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Toast.getOrCreateInstance(this, config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n }\n });\n }\n }]);\n\n return Toast;\n}(BaseComponent);\n\nenableDismissTrigger(Toast);\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Toast);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL3V0aWwvaW5kZXguanM/MGE3ZiIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL2RvbS9ldmVudC1oYW5kbGVyLmpzP2JiMjciLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9kb20vZGF0YS5qcz9kYmUzIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvYmFzZS1jb21wb25lbnQuanM/MzYwMyIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL3V0aWwvY29tcG9uZW50LWZ1bmN0aW9ucy5qcz83NjgwIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvYWxlcnQuanM/ODAyNCIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL2J1dHRvbi5qcz9kODQ4Iiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvZG9tL21hbmlwdWxhdG9yLmpzPzVhZTIiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9kb20vc2VsZWN0b3ItZW5naW5lLmpzP2Y4N2YiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9jYXJvdXNlbC5qcz9kODUyIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvY29sbGFwc2UuanM/NGM1OCIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL2Ryb3Bkb3duLmpzP2VjMDQiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy91dGlsL3Njcm9sbGJhci5qcz81YzdjIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvdXRpbC9iYWNrZHJvcC5qcz81ODQzIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvdXRpbC9mb2N1c3RyYXAuanM/MjJhMiIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL21vZGFsLmpzP2U0Y2IiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9vZmZjYW52YXMuanM/MzIyNCIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL3V0aWwvc2FuaXRpemVyLmpzPzE1NjEiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy90b29sdGlwLmpzP2IyNDkiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9wb3BvdmVyLmpzPzI4MzIiLCJ3ZWJwYWNrOi8vLy4uLy4uL2pzL3NyYy9zY3JvbGxzcHkuanM/NjkwMiIsIndlYnBhY2s6Ly8vLi4vLi4vanMvc3JjL3RhYi5qcz8yYzllIiwid2VicGFjazovLy8uLi8uLi9qcy9zcmMvdG9hc3QuanM/ZWExMCJdLCJuYW1lcyI6WyJNQVhfVUlEIiwiTUlMTElTRUNPTkRTX01VTFRJUExJRVIiLCJUUkFOU0lUSU9OX0VORCIsInRvVHlwZSIsIm9iaiIsImdldFVJRCIsInByZWZpeCIsIk1hdGgiLCJkb2N1bWVudCIsImdldFNlbGVjdG9yIiwiZWxlbWVudCIsInNlbGVjdG9yIiwiaHJlZkF0dHIiLCJnZXRTZWxlY3RvckZyb21FbGVtZW50IiwiZ2V0RWxlbWVudEZyb21TZWxlY3RvciIsImdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50Iiwid2luZG93IiwidHJhbnNpdGlvbkRlbGF5IiwiZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24iLCJOdW1iZXIiLCJmbG9hdFRyYW5zaXRpb25EZWxheSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInRyaWdnZXJUcmFuc2l0aW9uRW5kIiwiaXNFbGVtZW50IiwiZ2V0RWxlbWVudCIsInR5cGVDaGVja0NvbmZpZyIsIk9iamVjdCIsInByb3BlcnR5IiwiZXhwZWN0ZWRUeXBlcyIsImNvbmZpZ1R5cGVzIiwidmFsdWUiLCJjb25maWciLCJ2YWx1ZVR5cGUiLCJjb21wb25lbnROYW1lIiwiaXNWaXNpYmxlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImlzRGlzYWJsZWQiLCJOb2RlIiwiZmluZFNoYWRvd1Jvb3QiLCJyb290Iiwibm9vcCIsInJlZmxvdyIsImdldGpRdWVyeSIsImpRdWVyeSIsIkRPTUNvbnRlbnRMb2FkZWRDYWxsYmFja3MiLCJvbkRPTUNvbnRlbnRMb2FkZWQiLCJjYWxsYmFjayIsImlzUlRMIiwiZGVmaW5lSlF1ZXJ5UGx1Z2luIiwicGx1Z2luIiwiJCIsIm5hbWUiLCJKUVVFUllfTk9fQ09ORkxJQ1QiLCJleGVjdXRlIiwiZXhlY3V0ZUFmdGVyVHJhbnNpdGlvbiIsIndhaXRGb3JUcmFuc2l0aW9uIiwiZHVyYXRpb25QYWRkaW5nIiwiZW11bGF0ZWREdXJhdGlvbiIsImNhbGxlZCIsImhhbmRsZXIiLCJ0YXJnZXQiLCJ0cmFuc2l0aW9uRWxlbWVudCIsInNldFRpbWVvdXQiLCJnZXROZXh0QWN0aXZlRWxlbWVudCIsImluZGV4IiwibGlzdCIsImxpc3RMZW5ndGgiLCJzaG91bGRHZXROZXh0IiwibmFtZXNwYWNlUmVnZXgiLCJzdHJpcE5hbWVSZWdleCIsInN0cmlwVWlkUmVnZXgiLCJldmVudFJlZ2lzdHJ5IiwidWlkRXZlbnQiLCJjdXN0b21FdmVudHMiLCJtb3VzZWVudGVyIiwibW91c2VsZWF2ZSIsImN1c3RvbUV2ZW50c1JlZ2V4IiwibmF0aXZlRXZlbnRzIiwidWlkIiwiZ2V0VWlkRXZlbnQiLCJldmVudCIsIkV2ZW50SGFuZGxlciIsImZuIiwiZG9tRWxlbWVudHMiLCJpIiwiZGVsZWdhdGlvblNlbGVjdG9yIiwidWlkRXZlbnRMaXN0IiwibGVuIiwiZXZlbnRzIiwiZGVsZWdhdGlvbiIsIm9yaWdpbmFsSGFuZGxlciIsInR5cGVFdmVudCIsImdldFR5cGVFdmVudCIsImlzTmF0aXZlIiwiZGVsZWdhdGlvbkZuIiwid3JhcEZuIiwibm9ybWFsaXplUGFyYW1zIiwiZ2V0RXZlbnQiLCJoYW5kbGVycyIsInByZXZpb3VzRm4iLCJmaW5kSGFuZGxlciIsIm9yaWdpbmFsVHlwZUV2ZW50IiwiYm9vdHN0cmFwRGVsZWdhdGlvbkhhbmRsZXIiLCJib290c3RyYXBIYW5kbGVyIiwiQm9vbGVhbiIsInN0b3JlRWxlbWVudEV2ZW50IiwiaGFuZGxlcktleSIsInJlbW92ZUhhbmRsZXIiLCJvbiIsImFkZEhhbmRsZXIiLCJvbmUiLCJvZmYiLCJpbk5hbWVzcGFjZSIsImlzTmFtZXNwYWNlIiwiZWxlbWVudEV2ZW50IiwicmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzIiwia2V5SGFuZGxlcnMiLCJ0cmlnZ2VyIiwiYnViYmxlcyIsIm5hdGl2ZURpc3BhdGNoIiwiZGVmYXVsdFByZXZlbnRlZCIsImV2dCIsImpRdWVyeUV2ZW50IiwiY2FuY2VsYWJsZSIsImtleSIsImdldCIsImFyZ3MiLCJlbGVtZW50TWFwIiwic2V0IiwiaW5zdGFuY2VNYXAiLCJjb25zb2xlIiwiQXJyYXkiLCJyZW1vdmUiLCJWRVJTSU9OIiwiY29uc3RydWN0b3IiLCJEYXRhIiwiZGlzcG9zZSIsInByb3BlcnR5TmFtZSIsIl9xdWV1ZUNhbGxiYWNrIiwiaXNBbmltYXRlZCIsImdldEluc3RhbmNlIiwiZ2V0T3JDcmVhdGVJbnN0YW5jZSIsIk5BTUUiLCJEQVRBX0tFWSIsIkVWRU5UX0tFWSIsImVuYWJsZURpc21pc3NUcmlnZ2VyIiwibWV0aG9kIiwiY2xpY2tFdmVudCIsImNvbXBvbmVudCIsImluc3RhbmNlIiwiRVZFTlRfQ0xPU0UiLCJFVkVOVF9DTE9TRUQiLCJDTEFTU19OQU1FX0ZBREUiLCJDTEFTU19OQU1FX1NIT1ciLCJjbG9zZSIsImNsb3NlRXZlbnQiLCJfZGVzdHJveUVsZW1lbnQiLCJqUXVlcnlJbnRlcmZhY2UiLCJkYXRhIiwiQWxlcnQiLCJEQVRBX0FQSV9LRVkiLCJDTEFTU19OQU1FX0FDVElWRSIsIlNFTEVDVE9SX0RBVEFfVE9HR0xFIiwiRVZFTlRfQ0xJQ0tfREFUQV9BUEkiLCJ0b2dnbGUiLCJCdXR0b24iLCJidXR0b24iLCJ2YWwiLCJjaHIiLCJNYW5pcHVsYXRvciIsInNldERhdGFBdHRyaWJ1dGUiLCJub3JtYWxpemVEYXRhS2V5IiwicmVtb3ZlRGF0YUF0dHJpYnV0ZSIsImdldERhdGFBdHRyaWJ1dGVzIiwiYXR0cmlidXRlcyIsInB1cmVLZXkiLCJub3JtYWxpemVEYXRhIiwiZ2V0RGF0YUF0dHJpYnV0ZSIsIm9mZnNldCIsInJlY3QiLCJ0b3AiLCJsZWZ0IiwicGFnZVhPZmZzZXQiLCJwb3NpdGlvbiIsIm9mZnNldExlZnQiLCJOT0RFX1RFWFQiLCJTZWxlY3RvckVuZ2luZSIsImZpbmQiLCJFbGVtZW50IiwiZmluZE9uZSIsImNoaWxkcmVuIiwiY2hpbGQiLCJwYXJlbnRzIiwiYW5jZXN0b3IiLCJwcmV2IiwicHJldmlvdXMiLCJuZXh0IiwiZm9jdXNhYmxlQ2hpbGRyZW4iLCJmb2N1c2FibGVzIiwiZWwiLCJBUlJPV19MRUZUX0tFWSIsIkFSUk9XX1JJR0hUX0tFWSIsIlRPVUNIRVZFTlRfQ09NUEFUX1dBSVQiLCJTV0lQRV9USFJFU0hPTEQiLCJEZWZhdWx0IiwiaW50ZXJ2YWwiLCJrZXlib2FyZCIsInNsaWRlIiwicGF1c2UiLCJ3cmFwIiwidG91Y2giLCJEZWZhdWx0VHlwZSIsIk9SREVSX05FWFQiLCJPUkRFUl9QUkVWIiwiRElSRUNUSU9OX0xFRlQiLCJESVJFQ1RJT05fUklHSFQiLCJLRVlfVE9fRElSRUNUSU9OIiwiRVZFTlRfU0xJREUiLCJFVkVOVF9TTElEIiwiRVZFTlRfS0VZRE9XTiIsIkVWRU5UX01PVVNFRU5URVIiLCJFVkVOVF9NT1VTRUxFQVZFIiwiRVZFTlRfVE9VQ0hTVEFSVCIsIkVWRU5UX1RPVUNITU9WRSIsIkVWRU5UX1RPVUNIRU5EIiwiRVZFTlRfUE9JTlRFUkRPV04iLCJFVkVOVF9QT0lOVEVSVVAiLCJFVkVOVF9EUkFHX1NUQVJUIiwiRVZFTlRfTE9BRF9EQVRBX0FQSSIsIkNMQVNTX05BTUVfQ0FST1VTRUwiLCJDTEFTU19OQU1FX1NMSURFIiwiQ0xBU1NfTkFNRV9FTkQiLCJDTEFTU19OQU1FX1NUQVJUIiwiQ0xBU1NfTkFNRV9ORVhUIiwiQ0xBU1NfTkFNRV9QUkVWIiwiQ0xBU1NfTkFNRV9QT0lOVEVSX0VWRU5UIiwiU0VMRUNUT1JfQUNUSVZFIiwiU0VMRUNUT1JfQUNUSVZFX0lURU0iLCJTRUxFQ1RPUl9JVEVNIiwiU0VMRUNUT1JfSVRFTV9JTUciLCJTRUxFQ1RPUl9ORVhUX1BSRVYiLCJTRUxFQ1RPUl9JTkRJQ0FUT1JTIiwiU0VMRUNUT1JfSU5ESUNBVE9SIiwiU0VMRUNUT1JfREFUQV9TTElERSIsIlNFTEVDVE9SX0RBVEFfUklERSIsIlBPSU5URVJfVFlQRV9UT1VDSCIsIlBPSU5URVJfVFlQRV9QRU4iLCJuYXZpZ2F0b3IiLCJuZXh0V2hlblZpc2libGUiLCJjbGVhckludGVydmFsIiwiY3ljbGUiLCJzZXRJbnRlcnZhbCIsInRvIiwiYWN0aXZlSW5kZXgiLCJvcmRlciIsIl9nZXRDb25maWciLCJfaGFuZGxlU3dpcGUiLCJhYnNEZWx0YXgiLCJkaXJlY3Rpb24iLCJfYWRkRXZlbnRMaXN0ZW5lcnMiLCJfYWRkVG91Y2hFdmVudExpc3RlbmVycyIsImhhc1BvaW50ZXJQZW5Ub3VjaCIsInN0YXJ0IiwibW92ZSIsImVuZCIsImNsZWFyVGltZW91dCIsIml0ZW1JbWciLCJfa2V5ZG93biIsIl9nZXRJdGVtSW5kZXgiLCJfZ2V0SXRlbUJ5T3JkZXIiLCJpc05leHQiLCJfdHJpZ2dlclNsaWRlRXZlbnQiLCJ0YXJnZXRJbmRleCIsImZyb21JbmRleCIsInJlbGF0ZWRUYXJnZXQiLCJmcm9tIiwiX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQiLCJhY3RpdmVJbmRpY2F0b3IiLCJpbmRpY2F0b3JzIiwiX3VwZGF0ZUludGVydmFsIiwiZWxlbWVudEludGVydmFsIiwiX3NsaWRlIiwiYWN0aXZlRWxlbWVudCIsImFjdGl2ZUVsZW1lbnRJbmRleCIsIm5leHRFbGVtZW50IiwibmV4dEVsZW1lbnRJbmRleCIsImlzQ3ljbGluZyIsImRpcmVjdGlvbmFsQ2xhc3NOYW1lIiwib3JkZXJDbGFzc05hbWUiLCJldmVudERpcmVjdGlvbk5hbWUiLCJzbGlkZUV2ZW50IiwidHJpZ2dlclNsaWRFdmVudCIsImNvbXBsZXRlQ2FsbEJhY2siLCJfZGlyZWN0aW9uVG9PcmRlciIsIl9vcmRlclRvRGlyZWN0aW9uIiwiY2Fyb3VzZWxJbnRlcmZhY2UiLCJDYXJvdXNlbCIsIl9jb25maWciLCJhY3Rpb24iLCJkYXRhQXBpQ2xpY2tIYW5kbGVyIiwic2xpZGVJbmRleCIsImNhcm91c2VscyIsInBhcmVudCIsIkVWRU5UX1NIT1ciLCJFVkVOVF9TSE9XTiIsIkVWRU5UX0hJREUiLCJFVkVOVF9ISURERU4iLCJDTEFTU19OQU1FX0NPTExBUFNFIiwiQ0xBU1NfTkFNRV9DT0xMQVBTSU5HIiwiQ0xBU1NfTkFNRV9DT0xMQVBTRUQiLCJDTEFTU19OQU1FX0RFRVBFUl9DSElMRFJFTiIsIkNMQVNTX05BTUVfSE9SSVpPTlRBTCIsIldJRFRIIiwiSEVJR0hUIiwiU0VMRUNUT1JfQUNUSVZFUyIsInRvZ2dsZUxpc3QiLCJlbGVtIiwiZmlsdGVyRWxlbWVudCIsImZvdW5kRWxlbSIsInNob3ciLCJhY3RpdmVzIiwiY29udGFpbmVyIiwidGVtcEFjdGl2ZURhdGEiLCJhY3RpdmVzRGF0YSIsIkNvbGxhcHNlIiwic3RhcnRFdmVudCIsImVsZW1BY3RpdmUiLCJkaW1lbnNpb24iLCJjb21wbGV0ZSIsImNhcGl0YWxpemVkRGltZW5zaW9uIiwic2Nyb2xsU2l6ZSIsImhpZGUiLCJ0cmlnZ2VyQXJyYXlMZW5ndGgiLCJfaXNTaG93biIsIl9nZXREaW1lbnNpb24iLCJfaW5pdGlhbGl6ZUNoaWxkcmVuIiwic2VsZWN0ZWQiLCJfYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzIiwidHJpZ2dlckFycmF5Iiwic2VsZWN0b3JFbGVtZW50cyIsIkVTQ0FQRV9LRVkiLCJTUEFDRV9LRVkiLCJUQUJfS0VZIiwiQVJST1dfVVBfS0VZIiwiQVJST1dfRE9XTl9LRVkiLCJSSUdIVF9NT1VTRV9CVVRUT04iLCJSRUdFWFBfS0VZRE9XTiIsIkVWRU5UX0tFWURPV05fREFUQV9BUEkiLCJFVkVOVF9LRVlVUF9EQVRBX0FQSSIsIkNMQVNTX05BTUVfRFJPUFVQIiwiQ0xBU1NfTkFNRV9EUk9QRU5EIiwiQ0xBU1NfTkFNRV9EUk9QU1RBUlQiLCJDTEFTU19OQU1FX05BVkJBUiIsIlNFTEVDVE9SX01FTlUiLCJTRUxFQ1RPUl9OQVZCQVJfTkFWIiwiU0VMRUNUT1JfVklTSUJMRV9JVEVNUyIsIlBMQUNFTUVOVF9UT1AiLCJQTEFDRU1FTlRfVE9QRU5EIiwiUExBQ0VNRU5UX0JPVFRPTSIsIlBMQUNFTUVOVF9CT1RUT01FTkQiLCJQTEFDRU1FTlRfUklHSFQiLCJQTEFDRU1FTlRfTEVGVCIsImJvdW5kYXJ5IiwicmVmZXJlbmNlIiwiZGlzcGxheSIsInBvcHBlckNvbmZpZyIsImF1dG9DbG9zZSIsIl9lbGVtZW50Iiwic2hvd0V2ZW50IiwiRHJvcGRvd24iLCJ1cGRhdGUiLCJfY29tcGxldGVIaWRlIiwiaGlkZUV2ZW50IiwiX2NyZWF0ZVBvcHBlciIsInJlZmVyZW5jZUVsZW1lbnQiLCJpc0Rpc3BsYXlTdGF0aWMiLCJtb2RpZmllciIsIlBvcHBlciIsIl9nZXRNZW51RWxlbWVudCIsIl9nZXRQbGFjZW1lbnQiLCJwYXJlbnREcm9wZG93biIsImlzRW5kIiwiX2RldGVjdE5hdmJhciIsIl9nZXRPZmZzZXQiLCJwb3BwZXJEYXRhIiwiX2dldFBvcHBlckNvbmZpZyIsImRlZmF1bHRCc1BvcHBlckNvbmZpZyIsInBsYWNlbWVudCIsIm1vZGlmaWVycyIsIm9wdGlvbnMiLCJlbmFibGVkIiwiX3NlbGVjdE1lbnVJdGVtIiwiaXRlbXMiLCJjbGVhck1lbnVzIiwidG9nZ2xlcyIsImNvbnRleHQiLCJjb21wb3NlZFBhdGgiLCJpc01lbnVUYXJnZXQiLCJnZXRQYXJlbnRGcm9tRWxlbWVudCIsImRhdGFBcGlLZXlkb3duSGFuZGxlciIsImlzQWN0aXZlIiwiZ2V0VG9nZ2xlQnV0dG9uIiwiU0VMRUNUT1JfRklYRURfQ09OVEVOVCIsIlNFTEVDVE9SX1NUSUNLWV9DT05URU5UIiwiZ2V0V2lkdGgiLCJkb2N1bWVudFdpZHRoIiwid2lkdGgiLCJjYWxjdWxhdGVkVmFsdWUiLCJfZGlzYWJsZU92ZXJGbG93IiwiX3NldEVsZW1lbnRBdHRyaWJ1dGVzIiwic2Nyb2xsYmFyV2lkdGgiLCJtYW5pcHVsYXRpb25DYWxsQmFjayIsInJlc2V0IiwiX3NhdmVJbml0aWFsQXR0cmlidXRlIiwiYWN0dWFsVmFsdWUiLCJfcmVzZXRFbGVtZW50QXR0cmlidXRlcyIsIl9hcHBseU1hbmlwdWxhdGlvbkNhbGxiYWNrIiwiY2FsbEJhY2siLCJpc092ZXJmbG93aW5nIiwiY2xhc3NOYW1lIiwicm9vdEVsZW1lbnQiLCJjbGlja0NhbGxiYWNrIiwiRVZFTlRfTU9VU0VET1dOIiwiX2dldEVsZW1lbnQiLCJiYWNrZHJvcCIsIl9hcHBlbmQiLCJfZW11bGF0ZUFuaW1hdGlvbiIsInRyYXBFbGVtZW50IiwiYXV0b2ZvY3VzIiwiRVZFTlRfRk9DVVNJTiIsIkVWRU5UX0tFWURPV05fVEFCIiwiVEFCX05BVl9GT1JXQVJEIiwiVEFCX05BVl9CQUNLV0FSRCIsImFjdGl2YXRlIiwiZGVhY3RpdmF0ZSIsIl9oYW5kbGVGb2N1c2luIiwiZWxlbWVudHMiLCJfaGFuZGxlS2V5ZG93biIsImZvY3VzIiwiRVZFTlRfSElERV9QUkVWRU5URUQiLCJFVkVOVF9SRVNJWkUiLCJFVkVOVF9DTElDS19ESVNNSVNTIiwiRVZFTlRfS0VZRE9XTl9ESVNNSVNTIiwiRVZFTlRfTU9VU0VVUF9ESVNNSVNTIiwiRVZFTlRfTU9VU0VET1dOX0RJU01JU1MiLCJDTEFTU19OQU1FX09QRU4iLCJDTEFTU19OQU1FX1NUQVRJQyIsIk9QRU5fU0VMRUNUT1IiLCJTRUxFQ1RPUl9ESUFMT0ciLCJTRUxFQ1RPUl9NT0RBTF9CT0RZIiwiaHRtbEVsZW1lbnQiLCJoYW5kbGVVcGRhdGUiLCJfaW5pdGlhbGl6ZUJhY2tEcm9wIiwiX2luaXRpYWxpemVGb2N1c1RyYXAiLCJfc2hvd0VsZW1lbnQiLCJtb2RhbEJvZHkiLCJ0cmFuc2l0aW9uQ29tcGxldGUiLCJfc2V0RXNjYXBlRXZlbnQiLCJfc2V0UmVzaXplRXZlbnQiLCJfaGlkZU1vZGFsIiwiX3Nob3dCYWNrZHJvcCIsIl9pc0FuaW1hdGVkIiwiX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24iLCJzdHlsZSIsImlzTW9kYWxPdmVyZmxvd2luZyIsInNjcm9sbEhlaWdodCIsImNsYXNzTGlzdCIsIl9hZGp1c3REaWFsb2ciLCJpc0JvZHlPdmVyZmxvd2luZyIsIl9yZXNldEFkanVzdG1lbnRzIiwiTW9kYWwiLCJhbGxSZWFkeU9wZW4iLCJzY3JvbGwiLCJDTEFTU19OQU1FX0JBQ0tEUk9QIiwiY29tcGxldGVDYWxsYmFjayIsIk9mZmNhbnZhcyIsInVyaUF0dHJpYnV0ZXMiLCJBUklBX0FUVFJJQlVURV9QQVRURVJOIiwiU0FGRV9VUkxfUEFUVEVSTiIsIkRBVEFfVVJMX1BBVFRFUk4iLCJhbGxvd2VkQXR0cmlidXRlIiwiYXR0cmlidXRlTmFtZSIsImF0dHJpYnV0ZSIsImFsbG93ZWRBdHRyaWJ1dGVMaXN0IiwicmVnRXhwIiwiYXR0cmlidXRlUmVnZXgiLCJEZWZhdWx0QWxsb3dsaXN0IiwiYSIsImFyZWEiLCJiIiwiYnIiLCJjb2wiLCJjb2RlIiwiZGl2IiwiZW0iLCJociIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImltZyIsImxpIiwib2wiLCJwIiwicHJlIiwicyIsInNtYWxsIiwic3BhbiIsInN1YiIsInN1cCIsInN0cm9uZyIsInUiLCJ1bCIsInVuc2FmZUh0bWwiLCJzYW5pdGl6ZUZuIiwiZG9tUGFyc2VyIiwiY3JlYXRlZERvY3VtZW50IiwiZWxlbWVudE5hbWUiLCJhdHRyaWJ1dGVMaXN0IiwiYWxsb3dlZEF0dHJpYnV0ZXMiLCJhbGxvd0xpc3QiLCJDTEFTU19QUkVGSVgiLCJESVNBTExPV0VEX0FUVFJJQlVURVMiLCJhbmltYXRpb24iLCJ0ZW1wbGF0ZSIsInRpdGxlIiwiZGVsYXkiLCJodG1sIiwiZmFsbGJhY2tQbGFjZW1lbnRzIiwiY3VzdG9tQ2xhc3MiLCJzYW5pdGl6ZSIsIkF0dGFjaG1lbnRNYXAiLCJBVVRPIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJMRUZUIiwiRXZlbnQiLCJISURFIiwiSElEREVOIiwiU0hPVyIsIlNIT1dOIiwiSU5TRVJURUQiLCJDTElDSyIsIkZPQ1VTSU4iLCJGT0NVU09VVCIsIk1PVVNFRU5URVIiLCJNT1VTRUxFQVZFIiwiQ0xBU1NfTkFNRV9NT0RBTCIsIkhPVkVSX1NUQVRFX1NIT1ciLCJIT1ZFUl9TVEFURV9PVVQiLCJTRUxFQ1RPUl9UT09MVElQX0lOTkVSIiwiU0VMRUNUT1JfTU9EQUwiLCJFVkVOVF9NT0RBTF9ISURFIiwiVFJJR0dFUl9IT1ZFUiIsIlRSSUdHRVJfRk9DVVMiLCJUUklHR0VSX0NMSUNLIiwiVFJJR0dFUl9NQU5VQUwiLCJlbmFibGUiLCJkaXNhYmxlIiwidG9nZ2xlRW5hYmxlZCIsInNoYWRvd1Jvb3QiLCJpc0luVGhlRG9tIiwidGlwIiwidGlwSWQiLCJhdHRhY2htZW50IiwicHJldkhvdmVyU3RhdGUiLCJpc1dpdGhDb250ZW50IiwiZ2V0VGlwRWxlbWVudCIsInNldENvbnRlbnQiLCJfc2FuaXRpemVBbmRTZXRDb250ZW50IiwidGVtcGxhdGVFbGVtZW50Iiwic2V0RWxlbWVudENvbnRlbnQiLCJjb250ZW50Iiwic2FuaXRpemVIdG1sIiwiZ2V0VGl0bGUiLCJ1cGRhdGVBdHRhY2htZW50IiwiX2luaXRpYWxpemVPbkRlbGVnYXRlZFRhcmdldCIsIl9yZXNvbHZlUG9zc2libGVGdW5jdGlvbiIsInBoYXNlIiwib25GaXJzdFVwZGF0ZSIsIl9hZGRBdHRhY2htZW50Q2xhc3MiLCJfZ2V0QXR0YWNobWVudCIsIl9zZXRMaXN0ZW5lcnMiLCJ0cmlnZ2VycyIsImV2ZW50SW4iLCJldmVudE91dCIsIl9maXhUaXRsZSIsIm9yaWdpbmFsVGl0bGVUeXBlIiwiX2VudGVyIiwiX2xlYXZlIiwiX2lzV2l0aEFjdGl2ZVRyaWdnZXIiLCJkYXRhQXR0cmlidXRlcyIsImRhdGFBdHRyIiwiX2dldERlbGVnYXRlQ29uZmlnIiwiX2NsZWFuVGlwQ2xhc3MiLCJiYXNpY0NsYXNzUHJlZml4UmVnZXgiLCJ0YWJDbGFzcyIsInRva2VuIiwidENsYXNzIiwiX2dldEJhc2ljQ2xhc3NQcmVmaXgiLCJfaGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlIiwic3RhdGUiLCJfZGlzcG9zZVBvcHBlciIsIlRvb2x0aXAiLCJTRUxFQ1RPUl9USVRMRSIsIlNFTEVDVE9SX0NPTlRFTlQiLCJfZ2V0Q29udGVudCIsIlBvcG92ZXIiLCJFVkVOVF9BQ1RJVkFURSIsIkVWRU5UX1NDUk9MTCIsIkNMQVNTX05BTUVfRFJPUERPV05fSVRFTSIsIlNFTEVDVE9SX0RBVEFfU1BZIiwiU0VMRUNUT1JfTkFWX0xJU1RfR1JPVVAiLCJTRUxFQ1RPUl9OQVZfTElOS1MiLCJTRUxFQ1RPUl9OQVZfSVRFTVMiLCJTRUxFQ1RPUl9MSVNUX0lURU1TIiwiU0VMRUNUT1JfTElOS19JVEVNUyIsIlNFTEVDVE9SX0RST1BET1dOIiwiU0VMRUNUT1JfRFJPUERPV05fVE9HR0xFIiwiTUVUSE9EX09GRlNFVCIsIk1FVEhPRF9QT1NJVElPTiIsInJlZnJlc2giLCJhdXRvTWV0aG9kIiwib2Zmc2V0TWV0aG9kIiwib2Zmc2V0QmFzZSIsInRhcmdldHMiLCJ0YXJnZXRTZWxlY3RvciIsInRhcmdldEJDUiIsIml0ZW0iLCJfZ2V0U2Nyb2xsVG9wIiwiX2dldFNjcm9sbEhlaWdodCIsIl9nZXRPZmZzZXRIZWlnaHQiLCJfcHJvY2VzcyIsInNjcm9sbFRvcCIsIm1heFNjcm9sbCIsImlzQWN0aXZlVGFyZ2V0IiwiX2FjdGl2YXRlIiwicXVlcmllcyIsImxpbmsiLCJsaXN0R3JvdXAiLCJuYXZJdGVtIiwiX2NsZWFyIiwibm9kZSIsIlNjcm9sbFNweSIsInNweSIsIkNMQVNTX05BTUVfRFJPUERPV05fTUVOVSIsIlNFTEVDVE9SX0FDVElWRV9VTCIsIlNFTEVDVE9SX0RST1BET1dOX0FDVElWRV9DSElMRCIsImxpc3RFbGVtZW50IiwiaXRlbVNlbGVjdG9yIiwiYWN0aXZlRWxlbWVudHMiLCJhY3RpdmUiLCJpc1RyYW5zaXRpb25pbmciLCJfdHJhbnNpdGlvbkNvbXBsZXRlIiwiZHJvcGRvd25DaGlsZCIsImRyb3Bkb3duRWxlbWVudCIsImRyb3Bkb3duIiwiVGFiIiwiRVZFTlRfTU9VU0VPVkVSIiwiRVZFTlRfTU9VU0VPVVQiLCJFVkVOVF9GT0NVU09VVCIsIkNMQVNTX05BTUVfSElERSIsIkNMQVNTX05BTUVfU0hPV0lORyIsImF1dG9oaWRlIiwiX21heWJlU2NoZWR1bGVIaWRl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QkFBeERDLEtBQXdELENBQUo7QUFBQSxPQUFwREE7QUFDRDs7O1dBRUQ0a0IseUJBQWdCO0FBQ2RwWixrQkFBWSxDQUFDLEtBQWJBLFFBQVksQ0FBWkE7QUFDQTtBQXZKOEIsSyxDQUFBOzs7O1NBYXJCdEQsZUFBYztBQUN2QjtBQUNEOzs7U0FFVVAsZUFBVTtBQUNuQjtBQUNEOzs7U0FFVTlELGVBQU87QUFDaEI7QUF0QjhCOzs7V0E0SnpCZSx5QkFBZSxNQUFmQSxFQUF3QjtBQUM3QixhQUFPLFVBQVUsWUFBWTtBQUMzQixZQUFNQyxJQUFJLEdBQUdnZ0IsS0FBSyxDQUFMQSwwQkFBYixNQUFhQSxDQUFiOztBQUVBLFlBQUksa0JBQUosVUFBZ0M7QUFDOUIsY0FBSSxPQUFPaGdCLElBQUksQ0FBWCxNQUFXLENBQVgsS0FBSixhQUF5QztBQUN2QyxrQkFBTSwwQ0FBTixNQUFNLFFBQU47QUFDRDs7QUFFREEsY0FBSSxDQUFKQSxNQUFJLENBQUpBO0FBQ0Q7QUFUSCxPQUFPLENBQVA7QUFXRDs7OztFQXhLSCxhOztBQTJLQWIsb0JBQW9CLENBQXBCQSxLQUFvQixDQUFwQkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUFqRyxrQkFBa0IsQ0FBbEJBLEtBQWtCLENBQWxCQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvZGlzdC9qcy9ib290c3RyYXAuZXNtLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiB1dGlsL2luZGV4LmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTUFYX1VJRCA9IDEwMDAwMDBcbmNvbnN0IE1JTExJU0VDT05EU19NVUxUSVBMSUVSID0gMTAwMFxuY29uc3QgVFJBTlNJVElPTl9FTkQgPSAndHJhbnNpdGlvbmVuZCdcblxuLy8gU2hvdXRvdXQgQW5ndXNDcm9sbCAoaHR0cHM6Ly9nb28uZ2wvcHh3UUdwKVxuY29uc3QgdG9UeXBlID0gb2JqID0+IHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBgJHtvYmp9YFxuICB9XG5cbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwob2JqKS5tYXRjaCgvXFxzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKVxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQdWJsaWMgVXRpbCBBcGlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgZ2V0VUlEID0gcHJlZml4ID0+IHtcbiAgZG8ge1xuICAgIHByZWZpeCArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNQVhfVUlEKVxuICB9IHdoaWxlIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcmVmaXgpKVxuXG4gIHJldHVybiBwcmVmaXhcbn1cblxuY29uc3QgZ2V0U2VsZWN0b3IgPSBlbGVtZW50ID0+IHtcbiAgbGV0IHNlbGVjdG9yID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdGFyZ2V0JylcblxuICBpZiAoIXNlbGVjdG9yIHx8IHNlbGVjdG9yID09PSAnIycpIHtcbiAgICBsZXQgaHJlZkF0dHIgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpXG5cbiAgICAvLyBUaGUgb25seSB2YWxpZCBjb250ZW50IHRoYXQgY291bGQgZG91YmxlIGFzIGEgc2VsZWN0b3IgYXJlIElEcyBvciBjbGFzc2VzLFxuICAgIC8vIHNvIGV2ZXJ5dGhpbmcgc3RhcnRpbmcgd2l0aCBgI2Agb3IgYC5gLiBJZiBhIFwicmVhbFwiIFVSTCBpcyB1c2VkIGFzIHRoZSBzZWxlY3RvcixcbiAgICAvLyBgZG9jdW1lbnQucXVlcnlTZWxlY3RvcmAgd2lsbCByaWdodGZ1bGx5IGNvbXBsYWluIGl0IGlzIGludmFsaWQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzIyNzNcbiAgICBpZiAoIWhyZWZBdHRyIHx8ICghaHJlZkF0dHIuaW5jbHVkZXMoJyMnKSAmJiAhaHJlZkF0dHIuc3RhcnRzV2l0aCgnLicpKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICAvLyBKdXN0IGluIGNhc2Ugc29tZSBDTVMgcHV0cyBvdXQgYSBmdWxsIFVSTCB3aXRoIHRoZSBhbmNob3IgYXBwZW5kZWRcbiAgICBpZiAoaHJlZkF0dHIuaW5jbHVkZXMoJyMnKSAmJiAhaHJlZkF0dHIuc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICBocmVmQXR0ciA9IGAjJHtocmVmQXR0ci5zcGxpdCgnIycpWzFdfWBcbiAgICB9XG5cbiAgICBzZWxlY3RvciA9IGhyZWZBdHRyICYmIGhyZWZBdHRyICE9PSAnIycgPyBocmVmQXR0ci50cmltKCkgOiBudWxsXG4gIH1cblxuICByZXR1cm4gc2VsZWN0b3Jcbn1cblxuY29uc3QgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCA9IGVsZW1lbnQgPT4ge1xuICBjb25zdCBzZWxlY3RvciA9IGdldFNlbGVjdG9yKGVsZW1lbnQpXG5cbiAgaWYgKHNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpID8gc2VsZWN0b3IgOiBudWxsXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5jb25zdCBnZXRFbGVtZW50RnJvbVNlbGVjdG9yID0gZWxlbWVudCA9PiB7XG4gIGNvbnN0IHNlbGVjdG9yID0gZ2V0U2VsZWN0b3IoZWxlbWVudClcblxuICByZXR1cm4gc2VsZWN0b3IgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSA6IG51bGxcbn1cblxuY29uc3QgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQgPSBlbGVtZW50ID0+IHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuXG4gIC8vIEdldCB0cmFuc2l0aW9uLWR1cmF0aW9uIG9mIHRoZSBlbGVtZW50XG4gIGxldCB7IHRyYW5zaXRpb25EdXJhdGlvbiwgdHJhbnNpdGlvbkRlbGF5IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVxuXG4gIGNvbnN0IGZsb2F0VHJhbnNpdGlvbkR1cmF0aW9uID0gTnVtYmVyLnBhcnNlRmxvYXQodHJhbnNpdGlvbkR1cmF0aW9uKVxuICBjb25zdCBmbG9hdFRyYW5zaXRpb25EZWxheSA9IE51bWJlci5wYXJzZUZsb2F0KHRyYW5zaXRpb25EZWxheSlcblxuICAvLyBSZXR1cm4gMCBpZiBlbGVtZW50IG9yIHRyYW5zaXRpb24gZHVyYXRpb24gaXMgbm90IGZvdW5kXG4gIGlmICghZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gJiYgIWZsb2F0VHJhbnNpdGlvbkRlbGF5KSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuXG4gIC8vIElmIG11bHRpcGxlIGR1cmF0aW9ucyBhcmUgZGVmaW5lZCwgdGFrZSB0aGUgZmlyc3RcbiAgdHJhbnNpdGlvbkR1cmF0aW9uID0gdHJhbnNpdGlvbkR1cmF0aW9uLnNwbGl0KCcsJylbMF1cbiAgdHJhbnNpdGlvbkRlbGF5ID0gdHJhbnNpdGlvbkRlbGF5LnNwbGl0KCcsJylbMF1cblxuICByZXR1cm4gKE51bWJlci5wYXJzZUZsb2F0KHRyYW5zaXRpb25EdXJhdGlvbikgKyBOdW1iZXIucGFyc2VGbG9hdCh0cmFuc2l0aW9uRGVsYXkpKSAqIE1JTExJU0VDT05EU19NVUxUSVBMSUVSXG59XG5cbmNvbnN0IHRyaWdnZXJUcmFuc2l0aW9uRW5kID0gZWxlbWVudCA9PiB7XG4gIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoVFJBTlNJVElPTl9FTkQpKVxufVxuXG5jb25zdCBpc0VsZW1lbnQgPSBvYmogPT4ge1xuICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmouanF1ZXJ5ICE9PSAndW5kZWZpbmVkJykge1xuICAgIG9iaiA9IG9ialswXVxuICB9XG5cbiAgcmV0dXJuIHR5cGVvZiBvYmoubm9kZVR5cGUgIT09ICd1bmRlZmluZWQnXG59XG5cbmNvbnN0IGdldEVsZW1lbnQgPSBvYmogPT4ge1xuICBpZiAoaXNFbGVtZW50KG9iaikpIHsgLy8gaXQncyBhIGpRdWVyeSBvYmplY3Qgb3IgYSBub2RlIGVsZW1lbnRcbiAgICByZXR1cm4gb2JqLmpxdWVyeSA/IG9ialswXSA6IG9ialxuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnICYmIG9iai5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iob2JqKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgdHlwZUNoZWNrQ29uZmlnID0gKGNvbXBvbmVudE5hbWUsIGNvbmZpZywgY29uZmlnVHlwZXMpID0+IHtcbiAgT2JqZWN0LmtleXMoY29uZmlnVHlwZXMpLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgIGNvbnN0IGV4cGVjdGVkVHlwZXMgPSBjb25maWdUeXBlc1twcm9wZXJ0eV1cbiAgICBjb25zdCB2YWx1ZSA9IGNvbmZpZ1twcm9wZXJ0eV1cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZSAmJiBpc0VsZW1lbnQodmFsdWUpID8gJ2VsZW1lbnQnIDogdG9UeXBlKHZhbHVlKVxuXG4gICAgaWYgKCFuZXcgUmVnRXhwKGV4cGVjdGVkVHlwZXMpLnRlc3QodmFsdWVUeXBlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgYCR7Y29tcG9uZW50TmFtZS50b1VwcGVyQ2FzZSgpfTogT3B0aW9uIFwiJHtwcm9wZXJ0eX1cIiBwcm92aWRlZCB0eXBlIFwiJHt2YWx1ZVR5cGV9XCIgYnV0IGV4cGVjdGVkIHR5cGUgXCIke2V4cGVjdGVkVHlwZXN9XCIuYFxuICAgICAgKVxuICAgIH1cbiAgfSlcbn1cblxuY29uc3QgaXNWaXNpYmxlID0gZWxlbWVudCA9PiB7XG4gIGlmICghaXNFbGVtZW50KGVsZW1lbnQpIHx8IGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJ3Zpc2liaWxpdHknKSA9PT0gJ3Zpc2libGUnXG59XG5cbmNvbnN0IGlzRGlzYWJsZWQgPSBlbGVtZW50ID0+IHtcbiAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAodHlwZW9mIGVsZW1lbnQuZGlzYWJsZWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuZGlzYWJsZWRcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKSAhPT0gJ2ZhbHNlJ1xufVxuXG5jb25zdCBmaW5kU2hhZG93Um9vdCA9IGVsZW1lbnQgPT4ge1xuICBpZiAoIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hdHRhY2hTaGFkb3cpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gQ2FuIGZpbmQgdGhlIHNoYWRvdyByb290IG90aGVyd2lzZSBpdCdsbCByZXR1cm4gdGhlIGRvY3VtZW50XG4gIGlmICh0eXBlb2YgZWxlbWVudC5nZXRSb290Tm9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IHJvb3QgPSBlbGVtZW50LmdldFJvb3ROb2RlKClcbiAgICByZXR1cm4gcm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgPyByb290IDogbnVsbFxuICB9XG5cbiAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxuXG4gIC8vIHdoZW4gd2UgZG9uJ3QgZmluZCBhIHNoYWRvdyByb290XG4gIGlmICghZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBmaW5kU2hhZG93Um9vdChlbGVtZW50LnBhcmVudE5vZGUpXG59XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fVxuXG4vKipcbiAqIFRyaWNrIHRvIHJlc3RhcnQgYW4gZWxlbWVudCdzIGFuaW1hdGlvblxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm4gdm9pZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly93d3cuY2hhcmlzdGhlby5pby9ibG9nLzIwMjEvMDIvcmVzdGFydC1hLWNzcy1hbmltYXRpb24td2l0aC1qYXZhc2NyaXB0LyNyZXN0YXJ0aW5nLWEtY3NzLWFuaW1hdGlvblxuICovXG5jb25zdCByZWZsb3cgPSBlbGVtZW50ID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xuICBlbGVtZW50Lm9mZnNldEhlaWdodFxufVxuXG5jb25zdCBnZXRqUXVlcnkgPSAoKSA9PiB7XG4gIGNvbnN0IHsgalF1ZXJ5IH0gPSB3aW5kb3dcblxuICBpZiAoalF1ZXJ5ICYmICFkb2N1bWVudC5ib2R5Lmhhc0F0dHJpYnV0ZSgnZGF0YS1icy1uby1qcXVlcnknKSkge1xuICAgIHJldHVybiBqUXVlcnlcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IERPTUNvbnRlbnRMb2FkZWRDYWxsYmFja3MgPSBbXVxuXG5jb25zdCBvbkRPTUNvbnRlbnRMb2FkZWQgPSBjYWxsYmFjayA9PiB7XG4gIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnbG9hZGluZycpIHtcbiAgICAvLyBhZGQgbGlzdGVuZXIgb24gdGhlIGZpcnN0IGNhbGwgd2hlbiB0aGUgZG9jdW1lbnQgaXMgaW4gbG9hZGluZyBzdGF0ZVxuICAgIGlmICghRE9NQ29udGVudExvYWRlZENhbGxiYWNrcy5sZW5ndGgpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XG4gICAgICAgIERPTUNvbnRlbnRMb2FkZWRDYWxsYmFja3MuZm9yRWFjaChjYWxsYmFjayA9PiBjYWxsYmFjaygpKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBET01Db250ZW50TG9hZGVkQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spXG4gIH0gZWxzZSB7XG4gICAgY2FsbGJhY2soKVxuICB9XG59XG5cbmNvbnN0IGlzUlRMID0gKCkgPT4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRpciA9PT0gJ3J0bCdcblxuY29uc3QgZGVmaW5lSlF1ZXJ5UGx1Z2luID0gcGx1Z2luID0+IHtcbiAgb25ET01Db250ZW50TG9hZGVkKCgpID0+IHtcbiAgICBjb25zdCAkID0gZ2V0alF1ZXJ5KClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoJCkge1xuICAgICAgY29uc3QgbmFtZSA9IHBsdWdpbi5OQU1FXG4gICAgICBjb25zdCBKUVVFUllfTk9fQ09ORkxJQ1QgPSAkLmZuW25hbWVdXG4gICAgICAkLmZuW25hbWVdID0gcGx1Z2luLmpRdWVyeUludGVyZmFjZVxuICAgICAgJC5mbltuYW1lXS5Db25zdHJ1Y3RvciA9IHBsdWdpblxuICAgICAgJC5mbltuYW1lXS5ub0NvbmZsaWN0ID0gKCkgPT4ge1xuICAgICAgICAkLmZuW25hbWVdID0gSlFVRVJZX05PX0NPTkZMSUNUXG4gICAgICAgIHJldHVybiBwbHVnaW4ualF1ZXJ5SW50ZXJmYWNlXG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5jb25zdCBleGVjdXRlID0gY2FsbGJhY2sgPT4ge1xuICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2FsbGJhY2soKVxuICB9XG59XG5cbmNvbnN0IGV4ZWN1dGVBZnRlclRyYW5zaXRpb24gPSAoY2FsbGJhY2ssIHRyYW5zaXRpb25FbGVtZW50LCB3YWl0Rm9yVHJhbnNpdGlvbiA9IHRydWUpID0+IHtcbiAgaWYgKCF3YWl0Rm9yVHJhbnNpdGlvbikge1xuICAgIGV4ZWN1dGUoY2FsbGJhY2spXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBkdXJhdGlvblBhZGRpbmcgPSA1XG4gIGNvbnN0IGVtdWxhdGVkRHVyYXRpb24gPSBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0cmFuc2l0aW9uRWxlbWVudCkgKyBkdXJhdGlvblBhZGRpbmdcblxuICBsZXQgY2FsbGVkID0gZmFsc2VcblxuICBjb25zdCBoYW5kbGVyID0gKHsgdGFyZ2V0IH0pID0+IHtcbiAgICBpZiAodGFyZ2V0ICE9PSB0cmFuc2l0aW9uRWxlbWVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY2FsbGVkID0gdHJ1ZVxuICAgIHRyYW5zaXRpb25FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVFJBTlNJVElPTl9FTkQsIGhhbmRsZXIpXG4gICAgZXhlY3V0ZShjYWxsYmFjaylcbiAgfVxuXG4gIHRyYW5zaXRpb25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoVFJBTlNJVElPTl9FTkQsIGhhbmRsZXIpXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGlmICghY2FsbGVkKSB7XG4gICAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZCh0cmFuc2l0aW9uRWxlbWVudClcbiAgICB9XG4gIH0sIGVtdWxhdGVkRHVyYXRpb24pXG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBwcmV2aW91cy9uZXh0IGVsZW1lbnQgb2YgYSBsaXN0LlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGxpc3QgICAgVGhlIGxpc3Qgb2YgZWxlbWVudHNcbiAqIEBwYXJhbSBhY3RpdmVFbGVtZW50ICAgVGhlIGFjdGl2ZSBlbGVtZW50XG4gKiBAcGFyYW0gc2hvdWxkR2V0TmV4dCAgIENob29zZSB0byBnZXQgbmV4dCBvciBwcmV2aW91cyBlbGVtZW50XG4gKiBAcGFyYW0gaXNDeWNsZUFsbG93ZWRcbiAqIEByZXR1cm4ge0VsZW1lbnR8ZWxlbX0gVGhlIHByb3BlciBlbGVtZW50XG4gKi9cbmNvbnN0IGdldE5leHRBY3RpdmVFbGVtZW50ID0gKGxpc3QsIGFjdGl2ZUVsZW1lbnQsIHNob3VsZEdldE5leHQsIGlzQ3ljbGVBbGxvd2VkKSA9PiB7XG4gIGxldCBpbmRleCA9IGxpc3QuaW5kZXhPZihhY3RpdmVFbGVtZW50KVxuXG4gIC8vIGlmIHRoZSBlbGVtZW50IGRvZXMgbm90IGV4aXN0IGluIHRoZSBsaXN0IHJldHVybiBhbiBlbGVtZW50IGRlcGVuZGluZyBvbiB0aGUgZGlyZWN0aW9uIGFuZCBpZiBjeWNsZSBpcyBhbGxvd2VkXG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gbGlzdFshc2hvdWxkR2V0TmV4dCAmJiBpc0N5Y2xlQWxsb3dlZCA/IGxpc3QubGVuZ3RoIC0gMSA6IDBdXG4gIH1cblxuICBjb25zdCBsaXN0TGVuZ3RoID0gbGlzdC5sZW5ndGhcblxuICBpbmRleCArPSBzaG91bGRHZXROZXh0ID8gMSA6IC0xXG5cbiAgaWYgKGlzQ3ljbGVBbGxvd2VkKSB7XG4gICAgaW5kZXggPSAoaW5kZXggKyBsaXN0TGVuZ3RoKSAlIGxpc3RMZW5ndGhcbiAgfVxuXG4gIHJldHVybiBsaXN0W01hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBsaXN0TGVuZ3RoIC0gMSkpXVxufVxuXG5leHBvcnQge1xuICBnZXRFbGVtZW50LFxuICBnZXRVSUQsXG4gIGdldFNlbGVjdG9yRnJvbUVsZW1lbnQsXG4gIGdldEVsZW1lbnRGcm9tU2VsZWN0b3IsXG4gIGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50LFxuICB0cmlnZ2VyVHJhbnNpdGlvbkVuZCxcbiAgaXNFbGVtZW50LFxuICB0eXBlQ2hlY2tDb25maWcsXG4gIGlzVmlzaWJsZSxcbiAgaXNEaXNhYmxlZCxcbiAgZmluZFNoYWRvd1Jvb3QsXG4gIG5vb3AsXG4gIGdldE5leHRBY3RpdmVFbGVtZW50LFxuICByZWZsb3csXG4gIGdldGpRdWVyeSxcbiAgb25ET01Db250ZW50TG9hZGVkLFxuICBpc1JUTCxcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICBleGVjdXRlLFxuICBleGVjdXRlQWZ0ZXJUcmFuc2l0aW9uXG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IGRvbS9ldmVudC1oYW5kbGVyLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IHsgZ2V0alF1ZXJ5IH0gZnJvbSAnLi4vdXRpbC9pbmRleCdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgbmFtZXNwYWNlUmVnZXggPSAvW14uXSooPz1cXC4uKilcXC58LiovXG5jb25zdCBzdHJpcE5hbWVSZWdleCA9IC9cXC4uKi9cbmNvbnN0IHN0cmlwVWlkUmVnZXggPSAvOjpcXGQrJC9cbmNvbnN0IGV2ZW50UmVnaXN0cnkgPSB7fSAvLyBFdmVudHMgc3RvcmFnZVxubGV0IHVpZEV2ZW50ID0gMVxuY29uc3QgY3VzdG9tRXZlbnRzID0ge1xuICBtb3VzZWVudGVyOiAnbW91c2VvdmVyJyxcbiAgbW91c2VsZWF2ZTogJ21vdXNlb3V0J1xufVxuY29uc3QgY3VzdG9tRXZlbnRzUmVnZXggPSAvXihtb3VzZWVudGVyfG1vdXNlbGVhdmUpL2lcbmNvbnN0IG5hdGl2ZUV2ZW50cyA9IG5ldyBTZXQoW1xuICAnY2xpY2snLFxuICAnZGJsY2xpY2snLFxuICAnbW91c2V1cCcsXG4gICdtb3VzZWRvd24nLFxuICAnY29udGV4dG1lbnUnLFxuICAnbW91c2V3aGVlbCcsXG4gICdET01Nb3VzZVNjcm9sbCcsXG4gICdtb3VzZW92ZXInLFxuICAnbW91c2VvdXQnLFxuICAnbW91c2Vtb3ZlJyxcbiAgJ3NlbGVjdHN0YXJ0JyxcbiAgJ3NlbGVjdGVuZCcsXG4gICdrZXlkb3duJyxcbiAgJ2tleXByZXNzJyxcbiAgJ2tleXVwJyxcbiAgJ29yaWVudGF0aW9uY2hhbmdlJyxcbiAgJ3RvdWNoc3RhcnQnLFxuICAndG91Y2htb3ZlJyxcbiAgJ3RvdWNoZW5kJyxcbiAgJ3RvdWNoY2FuY2VsJyxcbiAgJ3BvaW50ZXJkb3duJyxcbiAgJ3BvaW50ZXJtb3ZlJyxcbiAgJ3BvaW50ZXJ1cCcsXG4gICdwb2ludGVybGVhdmUnLFxuICAncG9pbnRlcmNhbmNlbCcsXG4gICdnZXN0dXJlc3RhcnQnLFxuICAnZ2VzdHVyZWNoYW5nZScsXG4gICdnZXN0dXJlZW5kJyxcbiAgJ2ZvY3VzJyxcbiAgJ2JsdXInLFxuICAnY2hhbmdlJyxcbiAgJ3Jlc2V0JyxcbiAgJ3NlbGVjdCcsXG4gICdzdWJtaXQnLFxuICAnZm9jdXNpbicsXG4gICdmb2N1c291dCcsXG4gICdsb2FkJyxcbiAgJ3VubG9hZCcsXG4gICdiZWZvcmV1bmxvYWQnLFxuICAncmVzaXplJyxcbiAgJ21vdmUnLFxuICAnRE9NQ29udGVudExvYWRlZCcsXG4gICdyZWFkeXN0YXRlY2hhbmdlJyxcbiAgJ2Vycm9yJyxcbiAgJ2Fib3J0JyxcbiAgJ3Njcm9sbCdcbl0pXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQcml2YXRlIG1ldGhvZHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmZ1bmN0aW9uIGdldFVpZEV2ZW50KGVsZW1lbnQsIHVpZCkge1xuICByZXR1cm4gKHVpZCAmJiBgJHt1aWR9Ojoke3VpZEV2ZW50Kyt9YCkgfHwgZWxlbWVudC51aWRFdmVudCB8fCB1aWRFdmVudCsrXG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50KGVsZW1lbnQpIHtcbiAgY29uc3QgdWlkID0gZ2V0VWlkRXZlbnQoZWxlbWVudClcblxuICBlbGVtZW50LnVpZEV2ZW50ID0gdWlkXG4gIGV2ZW50UmVnaXN0cnlbdWlkXSA9IGV2ZW50UmVnaXN0cnlbdWlkXSB8fCB7fVxuXG4gIHJldHVybiBldmVudFJlZ2lzdHJ5W3VpZF1cbn1cblxuZnVuY3Rpb24gYm9vdHN0cmFwSGFuZGxlcihlbGVtZW50LCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICAgIGV2ZW50LmRlbGVnYXRlVGFyZ2V0ID0gZWxlbWVudFxuXG4gICAgaWYgKGhhbmRsZXIub25lT2ZmKSB7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKGVsZW1lbnQsIGV2ZW50LnR5cGUsIGZuKVxuICAgIH1cblxuICAgIHJldHVybiBmbi5hcHBseShlbGVtZW50LCBbZXZlbnRdKVxuICB9XG59XG5cbmZ1bmN0aW9uIGJvb3RzdHJhcERlbGVnYXRpb25IYW5kbGVyKGVsZW1lbnQsIHNlbGVjdG9yLCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnRzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKVxuXG4gICAgZm9yIChsZXQgeyB0YXJnZXQgfSA9IGV2ZW50OyB0YXJnZXQgJiYgdGFyZ2V0ICE9PSB0aGlzOyB0YXJnZXQgPSB0YXJnZXQucGFyZW50Tm9kZSkge1xuICAgICAgZm9yIChsZXQgaSA9IGRvbUVsZW1lbnRzLmxlbmd0aDsgaS0tOykge1xuICAgICAgICBpZiAoZG9tRWxlbWVudHNbaV0gPT09IHRhcmdldCkge1xuICAgICAgICAgIGV2ZW50LmRlbGVnYXRlVGFyZ2V0ID0gdGFyZ2V0XG5cbiAgICAgICAgICBpZiAoaGFuZGxlci5vbmVPZmYpIHtcbiAgICAgICAgICAgIEV2ZW50SGFuZGxlci5vZmYoZWxlbWVudCwgZXZlbnQudHlwZSwgc2VsZWN0b3IsIGZuKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0YXJnZXQsIFtldmVudF0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUbyBwbGVhc2UgRVNMaW50XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kSGFuZGxlcihldmVudHMsIGhhbmRsZXIsIGRlbGVnYXRpb25TZWxlY3RvciA9IG51bGwpIHtcbiAgY29uc3QgdWlkRXZlbnRMaXN0ID0gT2JqZWN0LmtleXMoZXZlbnRzKVxuXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSB1aWRFdmVudExpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBldmVudCA9IGV2ZW50c1t1aWRFdmVudExpc3RbaV1dXG5cbiAgICBpZiAoZXZlbnQub3JpZ2luYWxIYW5kbGVyID09PSBoYW5kbGVyICYmIGV2ZW50LmRlbGVnYXRpb25TZWxlY3RvciA9PT0gZGVsZWdhdGlvblNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gZXZlbnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbikge1xuICBjb25zdCBkZWxlZ2F0aW9uID0gdHlwZW9mIGhhbmRsZXIgPT09ICdzdHJpbmcnXG4gIGNvbnN0IG9yaWdpbmFsSGFuZGxlciA9IGRlbGVnYXRpb24gPyBkZWxlZ2F0aW9uRm4gOiBoYW5kbGVyXG5cbiAgbGV0IHR5cGVFdmVudCA9IGdldFR5cGVFdmVudChvcmlnaW5hbFR5cGVFdmVudClcbiAgY29uc3QgaXNOYXRpdmUgPSBuYXRpdmVFdmVudHMuaGFzKHR5cGVFdmVudClcblxuICBpZiAoIWlzTmF0aXZlKSB7XG4gICAgdHlwZUV2ZW50ID0gb3JpZ2luYWxUeXBlRXZlbnRcbiAgfVxuXG4gIHJldHVybiBbZGVsZWdhdGlvbiwgb3JpZ2luYWxIYW5kbGVyLCB0eXBlRXZlbnRdXG59XG5cbmZ1bmN0aW9uIGFkZEhhbmRsZXIoZWxlbWVudCwgb3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbiwgb25lT2ZmKSB7XG4gIGlmICh0eXBlb2Ygb3JpZ2luYWxUeXBlRXZlbnQgIT09ICdzdHJpbmcnIHx8ICFlbGVtZW50KSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAoIWhhbmRsZXIpIHtcbiAgICBoYW5kbGVyID0gZGVsZWdhdGlvbkZuXG4gICAgZGVsZWdhdGlvbkZuID0gbnVsbFxuICB9XG5cbiAgLy8gaW4gY2FzZSBvZiBtb3VzZWVudGVyIG9yIG1vdXNlbGVhdmUgd3JhcCB0aGUgaGFuZGxlciB3aXRoaW4gYSBmdW5jdGlvbiB0aGF0IGNoZWNrcyBmb3IgaXRzIERPTSBwb3NpdGlvblxuICAvLyB0aGlzIHByZXZlbnRzIHRoZSBoYW5kbGVyIGZyb20gYmVpbmcgZGlzcGF0Y2hlZCB0aGUgc2FtZSB3YXkgYXMgbW91c2VvdmVyIG9yIG1vdXNlb3V0IGRvZXNcbiAgaWYgKGN1c3RvbUV2ZW50c1JlZ2V4LnRlc3Qob3JpZ2luYWxUeXBlRXZlbnQpKSB7XG4gICAgY29uc3Qgd3JhcEZuID0gZm4gPT4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoIWV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgKGV2ZW50LnJlbGF0ZWRUYXJnZXQgIT09IGV2ZW50LmRlbGVnYXRlVGFyZ2V0ICYmICFldmVudC5kZWxlZ2F0ZVRhcmdldC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkpIHtcbiAgICAgICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWxlZ2F0aW9uRm4pIHtcbiAgICAgIGRlbGVnYXRpb25GbiA9IHdyYXBGbihkZWxlZ2F0aW9uRm4pXG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZXIgPSB3cmFwRm4oaGFuZGxlcilcbiAgICB9XG4gIH1cblxuICBjb25zdCBbZGVsZWdhdGlvbiwgb3JpZ2luYWxIYW5kbGVyLCB0eXBlRXZlbnRdID0gbm9ybWFsaXplUGFyYW1zKG9yaWdpbmFsVHlwZUV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pXG4gIGNvbnN0IGV2ZW50cyA9IGdldEV2ZW50KGVsZW1lbnQpXG4gIGNvbnN0IGhhbmRsZXJzID0gZXZlbnRzW3R5cGVFdmVudF0gfHwgKGV2ZW50c1t0eXBlRXZlbnRdID0ge30pXG4gIGNvbnN0IHByZXZpb3VzRm4gPSBmaW5kSGFuZGxlcihoYW5kbGVycywgb3JpZ2luYWxIYW5kbGVyLCBkZWxlZ2F0aW9uID8gaGFuZGxlciA6IG51bGwpXG5cbiAgaWYgKHByZXZpb3VzRm4pIHtcbiAgICBwcmV2aW91c0ZuLm9uZU9mZiA9IHByZXZpb3VzRm4ub25lT2ZmICYmIG9uZU9mZlxuXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB1aWQgPSBnZXRVaWRFdmVudChvcmlnaW5hbEhhbmRsZXIsIG9yaWdpbmFsVHlwZUV2ZW50LnJlcGxhY2UobmFtZXNwYWNlUmVnZXgsICcnKSlcbiAgY29uc3QgZm4gPSBkZWxlZ2F0aW9uID9cbiAgICBib290c3RyYXBEZWxlZ2F0aW9uSGFuZGxlcihlbGVtZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pIDpcbiAgICBib290c3RyYXBIYW5kbGVyKGVsZW1lbnQsIGhhbmRsZXIpXG5cbiAgZm4uZGVsZWdhdGlvblNlbGVjdG9yID0gZGVsZWdhdGlvbiA/IGhhbmRsZXIgOiBudWxsXG4gIGZuLm9yaWdpbmFsSGFuZGxlciA9IG9yaWdpbmFsSGFuZGxlclxuICBmbi5vbmVPZmYgPSBvbmVPZmZcbiAgZm4udWlkRXZlbnQgPSB1aWRcbiAgaGFuZGxlcnNbdWlkXSA9IGZuXG5cbiAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGVFdmVudCwgZm4sIGRlbGVnYXRpb24pXG59XG5cbmZ1bmN0aW9uIHJlbW92ZUhhbmRsZXIoZWxlbWVudCwgZXZlbnRzLCB0eXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25TZWxlY3Rvcikge1xuICBjb25zdCBmbiA9IGZpbmRIYW5kbGVyKGV2ZW50c1t0eXBlRXZlbnRdLCBoYW5kbGVyLCBkZWxlZ2F0aW9uU2VsZWN0b3IpXG5cbiAgaWYgKCFmbikge1xuICAgIHJldHVyblxuICB9XG5cbiAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGVFdmVudCwgZm4sIEJvb2xlYW4oZGVsZWdhdGlvblNlbGVjdG9yKSlcbiAgZGVsZXRlIGV2ZW50c1t0eXBlRXZlbnRdW2ZuLnVpZEV2ZW50XVxufVxuXG5mdW5jdGlvbiByZW1vdmVOYW1lc3BhY2VkSGFuZGxlcnMoZWxlbWVudCwgZXZlbnRzLCB0eXBlRXZlbnQsIG5hbWVzcGFjZSkge1xuICBjb25zdCBzdG9yZUVsZW1lbnRFdmVudCA9IGV2ZW50c1t0eXBlRXZlbnRdIHx8IHt9XG5cbiAgT2JqZWN0LmtleXMoc3RvcmVFbGVtZW50RXZlbnQpLmZvckVhY2goaGFuZGxlcktleSA9PiB7XG4gICAgaWYgKGhhbmRsZXJLZXkuaW5jbHVkZXMobmFtZXNwYWNlKSkge1xuICAgICAgY29uc3QgZXZlbnQgPSBzdG9yZUVsZW1lbnRFdmVudFtoYW5kbGVyS2V5XVxuXG4gICAgICByZW1vdmVIYW5kbGVyKGVsZW1lbnQsIGV2ZW50cywgdHlwZUV2ZW50LCBldmVudC5vcmlnaW5hbEhhbmRsZXIsIGV2ZW50LmRlbGVnYXRpb25TZWxlY3RvcilcbiAgICB9XG4gIH0pXG59XG5cbmZ1bmN0aW9uIGdldFR5cGVFdmVudChldmVudCkge1xuICAvLyBhbGxvdyB0byBnZXQgdGhlIG5hdGl2ZSBldmVudHMgZnJvbSBuYW1lc3BhY2VkIGV2ZW50cyAoJ2NsaWNrLmJzLmJ1dHRvbicgLS0+ICdjbGljaycpXG4gIGV2ZW50ID0gZXZlbnQucmVwbGFjZShzdHJpcE5hbWVSZWdleCwgJycpXG4gIHJldHVybiBjdXN0b21FdmVudHNbZXZlbnRdIHx8IGV2ZW50XG59XG5cbmNvbnN0IEV2ZW50SGFuZGxlciA9IHtcbiAgb24oZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbikge1xuICAgIGFkZEhhbmRsZXIoZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25GbiwgZmFsc2UpXG4gIH0sXG5cbiAgb25lKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pIHtcbiAgICBhZGRIYW5kbGVyKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4sIHRydWUpXG4gIH0sXG5cbiAgb2ZmKGVsZW1lbnQsIG9yaWdpbmFsVHlwZUV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pIHtcbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsVHlwZUV2ZW50ICE9PSAnc3RyaW5nJyB8fCAhZWxlbWVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgW2RlbGVnYXRpb24sIG9yaWdpbmFsSGFuZGxlciwgdHlwZUV2ZW50XSA9IG5vcm1hbGl6ZVBhcmFtcyhvcmlnaW5hbFR5cGVFdmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKVxuICAgIGNvbnN0IGluTmFtZXNwYWNlID0gdHlwZUV2ZW50ICE9PSBvcmlnaW5hbFR5cGVFdmVudFxuICAgIGNvbnN0IGV2ZW50cyA9IGdldEV2ZW50KGVsZW1lbnQpXG4gICAgY29uc3QgaXNOYW1lc3BhY2UgPSBvcmlnaW5hbFR5cGVFdmVudC5zdGFydHNXaXRoKCcuJylcblxuICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxIYW5kbGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gU2ltcGxlc3QgY2FzZTogaGFuZGxlciBpcyBwYXNzZWQsIHJlbW92ZSB0aGF0IGxpc3RlbmVyIE9OTFkuXG4gICAgICBpZiAoIWV2ZW50cyB8fCAhZXZlbnRzW3R5cGVFdmVudF0pIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHJlbW92ZUhhbmRsZXIoZWxlbWVudCwgZXZlbnRzLCB0eXBlRXZlbnQsIG9yaWdpbmFsSGFuZGxlciwgZGVsZWdhdGlvbiA/IGhhbmRsZXIgOiBudWxsKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGlzTmFtZXNwYWNlKSB7XG4gICAgICBPYmplY3Qua2V5cyhldmVudHMpLmZvckVhY2goZWxlbWVudEV2ZW50ID0+IHtcbiAgICAgICAgcmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzKGVsZW1lbnQsIGV2ZW50cywgZWxlbWVudEV2ZW50LCBvcmlnaW5hbFR5cGVFdmVudC5zbGljZSgxKSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVFbGVtZW50RXZlbnQgPSBldmVudHNbdHlwZUV2ZW50XSB8fCB7fVxuICAgIE9iamVjdC5rZXlzKHN0b3JlRWxlbWVudEV2ZW50KS5mb3JFYWNoKGtleUhhbmRsZXJzID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZXJLZXkgPSBrZXlIYW5kbGVycy5yZXBsYWNlKHN0cmlwVWlkUmVnZXgsICcnKVxuXG4gICAgICBpZiAoIWluTmFtZXNwYWNlIHx8IG9yaWdpbmFsVHlwZUV2ZW50LmluY2x1ZGVzKGhhbmRsZXJLZXkpKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gc3RvcmVFbGVtZW50RXZlbnRba2V5SGFuZGxlcnNdXG5cbiAgICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgZXZlbnQub3JpZ2luYWxIYW5kbGVyLCBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcblxuICB0cmlnZ2VyKGVsZW1lbnQsIGV2ZW50LCBhcmdzKSB7XG4gICAgaWYgKHR5cGVvZiBldmVudCAhPT0gJ3N0cmluZycgfHwgIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgJCA9IGdldGpRdWVyeSgpXG4gICAgY29uc3QgdHlwZUV2ZW50ID0gZ2V0VHlwZUV2ZW50KGV2ZW50KVxuICAgIGNvbnN0IGluTmFtZXNwYWNlID0gZXZlbnQgIT09IHR5cGVFdmVudFxuICAgIGNvbnN0IGlzTmF0aXZlID0gbmF0aXZlRXZlbnRzLmhhcyh0eXBlRXZlbnQpXG5cbiAgICBsZXQgalF1ZXJ5RXZlbnRcbiAgICBsZXQgYnViYmxlcyA9IHRydWVcbiAgICBsZXQgbmF0aXZlRGlzcGF0Y2ggPSB0cnVlXG4gICAgbGV0IGRlZmF1bHRQcmV2ZW50ZWQgPSBmYWxzZVxuICAgIGxldCBldnQgPSBudWxsXG5cbiAgICBpZiAoaW5OYW1lc3BhY2UgJiYgJCkge1xuICAgICAgalF1ZXJ5RXZlbnQgPSAkLkV2ZW50KGV2ZW50LCBhcmdzKVxuXG4gICAgICAkKGVsZW1lbnQpLnRyaWdnZXIoalF1ZXJ5RXZlbnQpXG4gICAgICBidWJibGVzID0gIWpRdWVyeUV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKClcbiAgICAgIG5hdGl2ZURpc3BhdGNoID0gIWpRdWVyeUV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKClcbiAgICAgIGRlZmF1bHRQcmV2ZW50ZWQgPSBqUXVlcnlFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKVxuICAgIH1cblxuICAgIGlmIChpc05hdGl2ZSkge1xuICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKVxuICAgICAgZXZ0LmluaXRFdmVudCh0eXBlRXZlbnQsIGJ1YmJsZXMsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGV2dCA9IG5ldyBDdXN0b21FdmVudChldmVudCwge1xuICAgICAgICBidWJibGVzLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIG1lcmdlIGN1c3RvbSBpbmZvcm1hdGlvbiBpbiBvdXIgZXZlbnRcbiAgICBpZiAodHlwZW9mIGFyZ3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBPYmplY3Qua2V5cyhhcmdzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldnQsIGtleSwge1xuICAgICAgICAgIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmdzW2tleV1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKVxuICAgIH1cblxuICAgIGlmIChuYXRpdmVEaXNwYXRjaCkge1xuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2dClcbiAgICB9XG5cbiAgICBpZiAoZXZ0LmRlZmF1bHRQcmV2ZW50ZWQgJiYgdHlwZW9mIGpRdWVyeUV2ZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgalF1ZXJ5RXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIH1cblxuICAgIHJldHVybiBldnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudEhhbmRsZXJcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogZG9tL2RhdGEuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBlbGVtZW50TWFwID0gbmV3IE1hcCgpXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgc2V0KGVsZW1lbnQsIGtleSwgaW5zdGFuY2UpIHtcbiAgICBpZiAoIWVsZW1lbnRNYXAuaGFzKGVsZW1lbnQpKSB7XG4gICAgICBlbGVtZW50TWFwLnNldChlbGVtZW50LCBuZXcgTWFwKCkpXG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2VNYXAgPSBlbGVtZW50TWFwLmdldChlbGVtZW50KVxuXG4gICAgLy8gbWFrZSBpdCBjbGVhciB3ZSBvbmx5IHdhbnQgb25lIGluc3RhbmNlIHBlciBlbGVtZW50XG4gICAgLy8gY2FuIGJlIHJlbW92ZWQgbGF0ZXIgd2hlbiBtdWx0aXBsZSBrZXkvaW5zdGFuY2VzIGFyZSBmaW5lIHRvIGJlIHVzZWRcbiAgICBpZiAoIWluc3RhbmNlTWFwLmhhcyhrZXkpICYmIGluc3RhbmNlTWFwLnNpemUgIT09IDApIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKGBCb290c3RyYXAgZG9lc24ndCBhbGxvdyBtb3JlIHRoYW4gb25lIGluc3RhbmNlIHBlciBlbGVtZW50LiBCb3VuZCBpbnN0YW5jZTogJHtBcnJheS5mcm9tKGluc3RhbmNlTWFwLmtleXMoKSlbMF19LmApXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpbnN0YW5jZU1hcC5zZXQoa2V5LCBpbnN0YW5jZSlcbiAgfSxcblxuICBnZXQoZWxlbWVudCwga2V5KSB7XG4gICAgaWYgKGVsZW1lbnRNYXAuaGFzKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gZWxlbWVudE1hcC5nZXQoZWxlbWVudCkuZ2V0KGtleSkgfHwgbnVsbFxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH0sXG5cbiAgcmVtb3ZlKGVsZW1lbnQsIGtleSkge1xuICAgIGlmICghZWxlbWVudE1hcC5oYXMoZWxlbWVudCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlTWFwID0gZWxlbWVudE1hcC5nZXQoZWxlbWVudClcblxuICAgIGluc3RhbmNlTWFwLmRlbGV0ZShrZXkpXG5cbiAgICAvLyBmcmVlIHVwIGVsZW1lbnQgcmVmZXJlbmNlcyBpZiB0aGVyZSBhcmUgbm8gaW5zdGFuY2VzIGxlZnQgZm9yIGFuIGVsZW1lbnRcbiAgICBpZiAoaW5zdGFuY2VNYXAuc2l6ZSA9PT0gMCkge1xuICAgICAgZWxlbWVudE1hcC5kZWxldGUoZWxlbWVudClcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogYmFzZS1jb21wb25lbnQuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgRGF0YSBmcm9tICcuL2RvbS9kYXRhJ1xuaW1wb3J0IHtcbiAgZXhlY3V0ZUFmdGVyVHJhbnNpdGlvbixcbiAgZ2V0RWxlbWVudFxufSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNvbnN0IFZFUlNJT04gPSAnNS4xLjMnXG5cbmNsYXNzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50KSB7XG4gICAgZWxlbWVudCA9IGdldEVsZW1lbnQoZWxlbWVudClcblxuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnRcbiAgICBEYXRhLnNldCh0aGlzLl9lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBEYXRhLnJlbW92ZSh0aGlzLl9lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZKVxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgdGhpcy5jb25zdHJ1Y3Rvci5FVkVOVF9LRVkpXG5cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG4gICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSBudWxsXG4gICAgfSlcbiAgfVxuXG4gIF9xdWV1ZUNhbGxiYWNrKGNhbGxiYWNrLCBlbGVtZW50LCBpc0FuaW1hdGVkID0gdHJ1ZSkge1xuICAgIGV4ZWN1dGVBZnRlclRyYW5zaXRpb24oY2FsbGJhY2ssIGVsZW1lbnQsIGlzQW5pbWF0ZWQpXG4gIH1cblxuICAvKiogU3RhdGljICovXG5cbiAgc3RhdGljIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXQoZ2V0RWxlbWVudChlbGVtZW50KSwgdGhpcy5EQVRBX0tFWSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRPckNyZWF0ZUluc3RhbmNlKGVsZW1lbnQsIGNvbmZpZyA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5zdGFuY2UoZWxlbWVudCkgfHwgbmV3IHRoaXMoZWxlbWVudCwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiBudWxsKVxuICB9XG5cbiAgc3RhdGljIGdldCBWRVJTSU9OKCkge1xuICAgIHJldHVybiBWRVJTSU9OXG4gIH1cblxuICBzdGF0aWMgZ2V0IE5BTUUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIHN0YXRpYyBtZXRob2QgXCJOQU1FXCIsIGZvciBlYWNoIGNvbXBvbmVudCEnKVxuICB9XG5cbiAgc3RhdGljIGdldCBEQVRBX0tFWSgpIHtcbiAgICByZXR1cm4gYGJzLiR7dGhpcy5OQU1FfWBcbiAgfVxuXG4gIHN0YXRpYyBnZXQgRVZFTlRfS0VZKCkge1xuICAgIHJldHVybiBgLiR7dGhpcy5EQVRBX0tFWX1gXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQmFzZUNvbXBvbmVudFxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiB1dGlsL2NvbXBvbmVudC1mdW5jdGlvbnMuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4uL2RvbS9ldmVudC1oYW5kbGVyJ1xuaW1wb3J0IHsgZ2V0RWxlbWVudEZyb21TZWxlY3RvciwgaXNEaXNhYmxlZCB9IGZyb20gJy4vaW5kZXgnXG5cbmNvbnN0IGVuYWJsZURpc21pc3NUcmlnZ2VyID0gKGNvbXBvbmVudCwgbWV0aG9kID0gJ2hpZGUnKSA9PiB7XG4gIGNvbnN0IGNsaWNrRXZlbnQgPSBgY2xpY2suZGlzbWlzcyR7Y29tcG9uZW50LkVWRU5UX0tFWX1gXG4gIGNvbnN0IG5hbWUgPSBjb21wb25lbnQuTkFNRVxuXG4gIEV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgY2xpY2tFdmVudCwgYFtkYXRhLWJzLWRpc21pc3M9XCIke25hbWV9XCJdYCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgaWYgKFsnQScsICdBUkVBJ10uaW5jbHVkZXModGhpcy50YWdOYW1lKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIH1cblxuICAgIGlmIChpc0Rpc2FibGVkKHRoaXMpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMpIHx8IHRoaXMuY2xvc2VzdChgLiR7bmFtZX1gKVxuICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50LmdldE9yQ3JlYXRlSW5zdGFuY2UodGFyZ2V0KVxuXG4gICAgLy8gTWV0aG9kIGFyZ3VtZW50IGlzIGxlZnQsIGZvciBBbGVydCBhbmQgb25seSwgYXMgaXQgZG9lc24ndCBpbXBsZW1lbnQgdGhlICdoaWRlJyBtZXRob2RcbiAgICBpbnN0YW5jZVttZXRob2RdKClcbiAgfSlcbn1cblxuZXhwb3J0IHtcbiAgZW5hYmxlRGlzbWlzc1RyaWdnZXJcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogYWxlcnQuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgeyBkZWZpbmVKUXVlcnlQbHVnaW4gfSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuaW1wb3J0IHsgZW5hYmxlRGlzbWlzc1RyaWdnZXIgfSBmcm9tICcuL3V0aWwvY29tcG9uZW50LWZ1bmN0aW9ucydcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICdhbGVydCdcbmNvbnN0IERBVEFfS0VZID0gJ2JzLmFsZXJ0J1xuY29uc3QgRVZFTlRfS0VZID0gYC4ke0RBVEFfS0VZfWBcblxuY29uc3QgRVZFTlRfQ0xPU0UgPSBgY2xvc2Uke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9DTE9TRUQgPSBgY2xvc2VkJHtFVkVOVF9LRVl9YFxuY29uc3QgQ0xBU1NfTkFNRV9GQURFID0gJ2ZhZGUnXG5jb25zdCBDTEFTU19OQU1FX1NIT1cgPSAnc2hvdydcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNsYXNzIEFsZXJ0IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIC8vIEdldHRlcnNcblxuICBzdGF0aWMgZ2V0IE5BTUUoKSB7XG4gICAgcmV0dXJuIE5BTUVcbiAgfVxuXG4gIC8vIFB1YmxpY1xuXG4gIGNsb3NlKCkge1xuICAgIGNvbnN0IGNsb3NlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTE9TRSlcblxuICAgIGlmIChjbG9zZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG5cbiAgICBjb25zdCBpc0FuaW1hdGVkID0gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKVxuICAgIHRoaXMuX3F1ZXVlQ2FsbGJhY2soKCkgPT4gdGhpcy5fZGVzdHJveUVsZW1lbnQoKSwgdGhpcy5fZWxlbWVudCwgaXNBbmltYXRlZClcbiAgfVxuXG4gIC8vIFByaXZhdGVcbiAgX2Rlc3Ryb3lFbGVtZW50KCkge1xuICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlKClcbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTE9TRUQpXG4gICAgdGhpcy5kaXNwb3NlKClcbiAgfVxuXG4gIC8vIFN0YXRpY1xuXG4gIHN0YXRpYyBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkYXRhID0gQWxlcnQuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0aGlzKVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChkYXRhW2NvbmZpZ10gPT09IHVuZGVmaW5lZCB8fCBjb25maWcuc3RhcnRzV2l0aCgnXycpIHx8IGNvbmZpZyA9PT0gJ2NvbnN0cnVjdG9yJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBObyBtZXRob2QgbmFtZWQgXCIke2NvbmZpZ31cImApXG4gICAgICB9XG5cbiAgICAgIGRhdGFbY29uZmlnXSh0aGlzKVxuICAgIH0pXG4gIH1cbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5lbmFibGVEaXNtaXNzVHJpZ2dlcihBbGVydCwgJ2Nsb3NlJylcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLkFsZXJ0IHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKEFsZXJ0KVxuXG5leHBvcnQgZGVmYXVsdCBBbGVydFxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiBidXR0b24uanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgeyBkZWZpbmVKUXVlcnlQbHVnaW4gfSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBOQU1FID0gJ2J1dHRvbidcbmNvbnN0IERBVEFfS0VZID0gJ2JzLmJ1dHRvbidcbmNvbnN0IEVWRU5UX0tFWSA9IGAuJHtEQVRBX0tFWX1gXG5jb25zdCBEQVRBX0FQSV9LRVkgPSAnLmRhdGEtYXBpJ1xuXG5jb25zdCBDTEFTU19OQU1FX0FDVElWRSA9ICdhY3RpdmUnXG5cbmNvbnN0IFNFTEVDVE9SX0RBVEFfVE9HR0xFID0gJ1tkYXRhLWJzLXRvZ2dsZT1cImJ1dHRvblwiXSdcblxuY29uc3QgRVZFTlRfQ0xJQ0tfREFUQV9BUEkgPSBgY2xpY2ske0VWRU5UX0tFWX0ke0RBVEFfQVBJX0tFWX1gXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jbGFzcyBCdXR0b24gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgdG9nZ2xlKCkge1xuICAgIC8vIFRvZ2dsZSBjbGFzcyBhbmQgc3luYyB0aGUgYGFyaWEtcHJlc3NlZGAgYXR0cmlidXRlIHdpdGggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYC50b2dnbGUoKWAgbWV0aG9kXG4gICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShDTEFTU19OQU1FX0FDVElWRSkpXG4gIH1cblxuICAvLyBTdGF0aWNcblxuICBzdGF0aWMgalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGF0YSA9IEJ1dHRvbi5nZXRPckNyZWF0ZUluc3RhbmNlKHRoaXMpXG5cbiAgICAgIGlmIChjb25maWcgPT09ICd0b2dnbGUnKSB7XG4gICAgICAgIGRhdGFbY29uZmlnXSgpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFLCBldmVudCA9PiB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KClcblxuICBjb25zdCBidXR0b24gPSBldmVudC50YXJnZXQuY2xvc2VzdChTRUxFQ1RPUl9EQVRBX1RPR0dMRSlcbiAgY29uc3QgZGF0YSA9IEJ1dHRvbi5nZXRPckNyZWF0ZUluc3RhbmNlKGJ1dHRvbilcblxuICBkYXRhLnRvZ2dsZSgpXG59KVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuQnV0dG9uIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKEJ1dHRvbilcblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IGRvbS9tYW5pcHVsYXRvci5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZURhdGEodmFsKSB7XG4gIGlmICh2YWwgPT09ICd0cnVlJykge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAodmFsID09PSAnZmFsc2UnKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBpZiAodmFsID09PSBOdW1iZXIodmFsKS50b1N0cmluZygpKSB7XG4gICAgcmV0dXJuIE51bWJlcih2YWwpXG4gIH1cblxuICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT09ICdudWxsJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZURhdGFLZXkoa2V5KSB7XG4gIHJldHVybiBrZXkucmVwbGFjZSgvW0EtWl0vZywgY2hyID0+IGAtJHtjaHIudG9Mb3dlckNhc2UoKX1gKVxufVxuXG5jb25zdCBNYW5pcHVsYXRvciA9IHtcbiAgc2V0RGF0YUF0dHJpYnV0ZShlbGVtZW50LCBrZXksIHZhbHVlKSB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoYGRhdGEtYnMtJHtub3JtYWxpemVEYXRhS2V5KGtleSl9YCwgdmFsdWUpXG4gIH0sXG5cbiAgcmVtb3ZlRGF0YUF0dHJpYnV0ZShlbGVtZW50LCBrZXkpIHtcbiAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShgZGF0YS1icy0ke25vcm1hbGl6ZURhdGFLZXkoa2V5KX1gKVxuICB9LFxuXG4gIGdldERhdGFBdHRyaWJ1dGVzKGVsZW1lbnQpIHtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fVxuXG4gICAgT2JqZWN0LmtleXMoZWxlbWVudC5kYXRhc2V0KVxuICAgICAgLmZpbHRlcihrZXkgPT4ga2V5LnN0YXJ0c1dpdGgoJ2JzJykpXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBsZXQgcHVyZUtleSA9IGtleS5yZXBsYWNlKC9eYnMvLCAnJylcbiAgICAgICAgcHVyZUtleSA9IHB1cmVLZXkuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBwdXJlS2V5LnNsaWNlKDEsIHB1cmVLZXkubGVuZ3RoKVxuICAgICAgICBhdHRyaWJ1dGVzW3B1cmVLZXldID0gbm9ybWFsaXplRGF0YShlbGVtZW50LmRhdGFzZXRba2V5XSlcbiAgICAgIH0pXG5cbiAgICByZXR1cm4gYXR0cmlidXRlc1xuICB9LFxuXG4gIGdldERhdGFBdHRyaWJ1dGUoZWxlbWVudCwga2V5KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZURhdGEoZWxlbWVudC5nZXRBdHRyaWJ1dGUoYGRhdGEtYnMtJHtub3JtYWxpemVEYXRhS2V5KGtleSl9YCkpXG4gIH0sXG5cbiAgb2Zmc2V0KGVsZW1lbnQpIHtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvcDogcmVjdC50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQsXG4gICAgICBsZWZ0OiByZWN0LmxlZnQgKyB3aW5kb3cucGFnZVhPZmZzZXRcbiAgICB9XG4gIH0sXG5cbiAgcG9zaXRpb24oZWxlbWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICB0b3A6IGVsZW1lbnQub2Zmc2V0VG9wLFxuICAgICAgbGVmdDogZWxlbWVudC5vZmZzZXRMZWZ0XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hbmlwdWxhdG9yXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IGRvbS9zZWxlY3Rvci1lbmdpbmUuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgeyBpc0Rpc2FibGVkLCBpc1Zpc2libGUgfSBmcm9tICcuLi91dGlsL2luZGV4J1xuXG5jb25zdCBOT0RFX1RFWFQgPSAzXG5cbmNvbnN0IFNlbGVjdG9yRW5naW5lID0ge1xuICBmaW5kKHNlbGVjdG9yLCBlbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgcmV0dXJuIFtdLmNvbmNhdCguLi5FbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZWxlbWVudCwgc2VsZWN0b3IpKVxuICB9LFxuXG4gIGZpbmRPbmUoc2VsZWN0b3IsIGVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICByZXR1cm4gRWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3Rvci5jYWxsKGVsZW1lbnQsIHNlbGVjdG9yKVxuICB9LFxuXG4gIGNoaWxkcmVuKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIFtdLmNvbmNhdCguLi5lbGVtZW50LmNoaWxkcmVuKVxuICAgICAgLmZpbHRlcihjaGlsZCA9PiBjaGlsZC5tYXRjaGVzKHNlbGVjdG9yKSlcbiAgfSxcblxuICBwYXJlbnRzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgY29uc3QgcGFyZW50cyA9IFtdXG5cbiAgICBsZXQgYW5jZXN0b3IgPSBlbGVtZW50LnBhcmVudE5vZGVcblxuICAgIHdoaWxlIChhbmNlc3RvciAmJiBhbmNlc3Rvci5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgYW5jZXN0b3Iubm9kZVR5cGUgIT09IE5PREVfVEVYVCkge1xuICAgICAgaWYgKGFuY2VzdG9yLm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICAgIHBhcmVudHMucHVzaChhbmNlc3RvcilcbiAgICAgIH1cblxuICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnROb2RlXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudHNcbiAgfSxcblxuICBwcmV2KGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgbGV0IHByZXZpb3VzID0gZWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nXG5cbiAgICB3aGlsZSAocHJldmlvdXMpIHtcbiAgICAgIGlmIChwcmV2aW91cy5tYXRjaGVzKHNlbGVjdG9yKSkge1xuICAgICAgICByZXR1cm4gW3ByZXZpb3VzXVxuICAgICAgfVxuXG4gICAgICBwcmV2aW91cyA9IHByZXZpb3VzLnByZXZpb3VzRWxlbWVudFNpYmxpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gW11cbiAgfSxcblxuICBuZXh0KGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgbGV0IG5leHQgPSBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZ1xuXG4gICAgd2hpbGUgKG5leHQpIHtcbiAgICAgIGlmIChuZXh0Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICAgIHJldHVybiBbbmV4dF1cbiAgICAgIH1cblxuICAgICAgbmV4dCA9IG5leHQubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIFtdXG4gIH0sXG5cbiAgZm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudCkge1xuICAgIGNvbnN0IGZvY3VzYWJsZXMgPSBbXG4gICAgICAnYScsXG4gICAgICAnYnV0dG9uJyxcbiAgICAgICdpbnB1dCcsXG4gICAgICAndGV4dGFyZWEnLFxuICAgICAgJ3NlbGVjdCcsXG4gICAgICAnZGV0YWlscycsXG4gICAgICAnW3RhYmluZGV4XScsXG4gICAgICAnW2NvbnRlbnRlZGl0YWJsZT1cInRydWVcIl0nXG4gICAgXS5tYXAoc2VsZWN0b3IgPT4gYCR7c2VsZWN0b3J9Om5vdChbdGFiaW5kZXhePVwiLVwiXSlgKS5qb2luKCcsICcpXG5cbiAgICByZXR1cm4gdGhpcy5maW5kKGZvY3VzYWJsZXMsIGVsZW1lbnQpLmZpbHRlcihlbCA9PiAhaXNEaXNhYmxlZChlbCkgJiYgaXNWaXNpYmxlKGVsKSlcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RvckVuZ2luZVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiBjYXJvdXNlbC5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmltcG9ydCB7XG4gIGRlZmluZUpRdWVyeVBsdWdpbixcbiAgZ2V0RWxlbWVudEZyb21TZWxlY3RvcixcbiAgaXNSVEwsXG4gIGlzVmlzaWJsZSxcbiAgZ2V0TmV4dEFjdGl2ZUVsZW1lbnQsXG4gIHJlZmxvdyxcbiAgdHJpZ2dlclRyYW5zaXRpb25FbmQsXG4gIHR5cGVDaGVja0NvbmZpZ1xufSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgTWFuaXB1bGF0b3IgZnJvbSAnLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgU2VsZWN0b3JFbmdpbmUgZnJvbSAnLi9kb20vc2VsZWN0b3ItZW5naW5lJ1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSAnLi9iYXNlLWNvbXBvbmVudCdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICdjYXJvdXNlbCdcbmNvbnN0IERBVEFfS0VZID0gJ2JzLmNhcm91c2VsJ1xuY29uc3QgRVZFTlRfS0VZID0gYC4ke0RBVEFfS0VZfWBcbmNvbnN0IERBVEFfQVBJX0tFWSA9ICcuZGF0YS1hcGknXG5cbmNvbnN0IEFSUk9XX0xFRlRfS0VZID0gJ0Fycm93TGVmdCdcbmNvbnN0IEFSUk9XX1JJR0hUX0tFWSA9ICdBcnJvd1JpZ2h0J1xuY29uc3QgVE9VQ0hFVkVOVF9DT01QQVRfV0FJVCA9IDUwMCAvLyBUaW1lIGZvciBtb3VzZSBjb21wYXQgZXZlbnRzIHRvIGZpcmUgYWZ0ZXIgdG91Y2hcbmNvbnN0IFNXSVBFX1RIUkVTSE9MRCA9IDQwXG5cbmNvbnN0IERlZmF1bHQgPSB7XG4gIGludGVydmFsOiA1MDAwLFxuICBrZXlib2FyZDogdHJ1ZSxcbiAgc2xpZGU6IGZhbHNlLFxuICBwYXVzZTogJ2hvdmVyJyxcbiAgd3JhcDogdHJ1ZSxcbiAgdG91Y2g6IHRydWVcbn1cblxuY29uc3QgRGVmYXVsdFR5cGUgPSB7XG4gIGludGVydmFsOiAnKG51bWJlcnxib29sZWFuKScsXG4gIGtleWJvYXJkOiAnYm9vbGVhbicsXG4gIHNsaWRlOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gIHBhdXNlOiAnKHN0cmluZ3xib29sZWFuKScsXG4gIHdyYXA6ICdib29sZWFuJyxcbiAgdG91Y2g6ICdib29sZWFuJ1xufVxuXG5jb25zdCBPUkRFUl9ORVhUID0gJ25leHQnXG5jb25zdCBPUkRFUl9QUkVWID0gJ3ByZXYnXG5jb25zdCBESVJFQ1RJT05fTEVGVCA9ICdsZWZ0J1xuY29uc3QgRElSRUNUSU9OX1JJR0hUID0gJ3JpZ2h0J1xuXG5jb25zdCBLRVlfVE9fRElSRUNUSU9OID0ge1xuICBbQVJST1dfTEVGVF9LRVldOiBESVJFQ1RJT05fUklHSFQsXG4gIFtBUlJPV19SSUdIVF9LRVldOiBESVJFQ1RJT05fTEVGVFxufVxuXG5jb25zdCBFVkVOVF9TTElERSA9IGBzbGlkZSR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1NMSUQgPSBgc2xpZCR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0tFWURPV04gPSBga2V5ZG93biR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX01PVVNFRU5URVIgPSBgbW91c2VlbnRlciR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX01PVVNFTEVBVkUgPSBgbW91c2VsZWF2ZSR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1RPVUNIU1RBUlQgPSBgdG91Y2hzdGFydCR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1RPVUNITU9WRSA9IGB0b3VjaG1vdmUke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9UT1VDSEVORCA9IGB0b3VjaGVuZCR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1BPSU5URVJET1dOID0gYHBvaW50ZXJkb3duJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfUE9JTlRFUlVQID0gYHBvaW50ZXJ1cCR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0RSQUdfU1RBUlQgPSBgZHJhZ3N0YXJ0JHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfTE9BRF9EQVRBX0FQSSA9IGBsb2FkJHtFVkVOVF9LRVl9JHtEQVRBX0FQSV9LRVl9YFxuY29uc3QgRVZFTlRfQ0xJQ0tfREFUQV9BUEkgPSBgY2xpY2ske0VWRU5UX0tFWX0ke0RBVEFfQVBJX0tFWX1gXG5cbmNvbnN0IENMQVNTX05BTUVfQ0FST1VTRUwgPSAnY2Fyb3VzZWwnXG5jb25zdCBDTEFTU19OQU1FX0FDVElWRSA9ICdhY3RpdmUnXG5jb25zdCBDTEFTU19OQU1FX1NMSURFID0gJ3NsaWRlJ1xuY29uc3QgQ0xBU1NfTkFNRV9FTkQgPSAnY2Fyb3VzZWwtaXRlbS1lbmQnXG5jb25zdCBDTEFTU19OQU1FX1NUQVJUID0gJ2Nhcm91c2VsLWl0ZW0tc3RhcnQnXG5jb25zdCBDTEFTU19OQU1FX05FWFQgPSAnY2Fyb3VzZWwtaXRlbS1uZXh0J1xuY29uc3QgQ0xBU1NfTkFNRV9QUkVWID0gJ2Nhcm91c2VsLWl0ZW0tcHJldidcbmNvbnN0IENMQVNTX05BTUVfUE9JTlRFUl9FVkVOVCA9ICdwb2ludGVyLWV2ZW50J1xuXG5jb25zdCBTRUxFQ1RPUl9BQ1RJVkUgPSAnLmFjdGl2ZSdcbmNvbnN0IFNFTEVDVE9SX0FDVElWRV9JVEVNID0gJy5hY3RpdmUuY2Fyb3VzZWwtaXRlbSdcbmNvbnN0IFNFTEVDVE9SX0lURU0gPSAnLmNhcm91c2VsLWl0ZW0nXG5jb25zdCBTRUxFQ1RPUl9JVEVNX0lNRyA9ICcuY2Fyb3VzZWwtaXRlbSBpbWcnXG5jb25zdCBTRUxFQ1RPUl9ORVhUX1BSRVYgPSAnLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmNhcm91c2VsLWl0ZW0tcHJldidcbmNvbnN0IFNFTEVDVE9SX0lORElDQVRPUlMgPSAnLmNhcm91c2VsLWluZGljYXRvcnMnXG5jb25zdCBTRUxFQ1RPUl9JTkRJQ0FUT1IgPSAnW2RhdGEtYnMtdGFyZ2V0XSdcbmNvbnN0IFNFTEVDVE9SX0RBVEFfU0xJREUgPSAnW2RhdGEtYnMtc2xpZGVdLCBbZGF0YS1icy1zbGlkZS10b10nXG5jb25zdCBTRUxFQ1RPUl9EQVRBX1JJREUgPSAnW2RhdGEtYnMtcmlkZT1cImNhcm91c2VsXCJdJ1xuXG5jb25zdCBQT0lOVEVSX1RZUEVfVE9VQ0ggPSAndG91Y2gnXG5jb25zdCBQT0lOVEVSX1RZUEVfUEVOID0gJ3BlbidcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5jbGFzcyBDYXJvdXNlbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBjb25maWcpIHtcbiAgICBzdXBlcihlbGVtZW50KVxuXG4gICAgdGhpcy5faXRlbXMgPSBudWxsXG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsXG4gICAgdGhpcy5fYWN0aXZlRWxlbWVudCA9IG51bGxcbiAgICB0aGlzLl9pc1BhdXNlZCA9IGZhbHNlXG4gICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2VcbiAgICB0aGlzLnRvdWNoVGltZW91dCA9IG51bGxcbiAgICB0aGlzLnRvdWNoU3RhcnRYID0gMFxuICAgIHRoaXMudG91Y2hEZWx0YVggPSAwXG5cbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKVxuICAgIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9JTkRJQ0FUT1JTLCB0aGlzLl9lbGVtZW50KVxuICAgIHRoaXMuX3RvdWNoU3VwcG9ydGVkID0gJ29udG91Y2hzdGFydCcgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHx8IG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDBcbiAgICB0aGlzLl9wb2ludGVyRXZlbnQgPSBCb29sZWFuKHdpbmRvdy5Qb2ludGVyRXZlbnQpXG5cbiAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpXG4gIH1cblxuICAvLyBHZXR0ZXJzXG5cbiAgc3RhdGljIGdldCBEZWZhdWx0KCkge1xuICAgIHJldHVybiBEZWZhdWx0XG4gIH1cblxuICBzdGF0aWMgZ2V0IE5BTUUoKSB7XG4gICAgcmV0dXJuIE5BTUVcbiAgfVxuXG4gIC8vIFB1YmxpY1xuXG4gIG5leHQoKSB7XG4gICAgdGhpcy5fc2xpZGUoT1JERVJfTkVYVClcbiAgfVxuXG4gIG5leHRXaGVuVmlzaWJsZSgpIHtcbiAgICAvLyBEb24ndCBjYWxsIG5leHQgd2hlbiB0aGUgcGFnZSBpc24ndCB2aXNpYmxlXG4gICAgLy8gb3IgdGhlIGNhcm91c2VsIG9yIGl0cyBwYXJlbnQgaXNuJ3QgdmlzaWJsZVxuICAgIGlmICghZG9jdW1lbnQuaGlkZGVuICYmIGlzVmlzaWJsZSh0aGlzLl9lbGVtZW50KSkge1xuICAgICAgdGhpcy5uZXh0KClcbiAgICB9XG4gIH1cblxuICBwcmV2KCkge1xuICAgIHRoaXMuX3NsaWRlKE9SREVSX1BSRVYpXG4gIH1cblxuICBwYXVzZShldmVudCkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuX2lzUGF1c2VkID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX05FWFRfUFJFViwgdGhpcy5fZWxlbWVudCkpIHtcbiAgICAgIHRyaWdnZXJUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQpXG4gICAgICB0aGlzLmN5Y2xlKHRydWUpXG4gICAgfVxuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbClcbiAgICB0aGlzLl9pbnRlcnZhbCA9IG51bGxcbiAgfVxuXG4gIGN5Y2xlKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5faXNQYXVzZWQgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9pbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbClcbiAgICAgIHRoaXMuX2ludGVydmFsID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgdGhpcy5fY29uZmlnLmludGVydmFsICYmICF0aGlzLl9pc1BhdXNlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlSW50ZXJ2YWwoKVxuXG4gICAgICB0aGlzLl9pbnRlcnZhbCA9IHNldEludGVydmFsKFxuICAgICAgICAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID8gdGhpcy5uZXh0V2hlblZpc2libGUgOiB0aGlzLm5leHQpLmJpbmQodGhpcyksXG4gICAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHRvKGluZGV4KSB7XG4gICAgdGhpcy5fYWN0aXZlRWxlbWVudCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQUNUSVZFX0lURU0sIHRoaXMuX2VsZW1lbnQpXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fYWN0aXZlRWxlbWVudClcblxuICAgIGlmIChpbmRleCA+IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDEgfHwgaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNTbGlkaW5nKSB7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NMSUQsICgpID0+IHRoaXMudG8oaW5kZXgpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpbmRleCkge1xuICAgICAgdGhpcy5wYXVzZSgpXG4gICAgICB0aGlzLmN5Y2xlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IG9yZGVyID0gaW5kZXggPiBhY3RpdmVJbmRleCA/XG4gICAgICBPUkRFUl9ORVhUIDpcbiAgICAgIE9SREVSX1BSRVZcblxuICAgIHRoaXMuX3NsaWRlKG9yZGVyLCB0aGlzLl9pdGVtc1tpbmRleF0pXG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSB7XG4gICAgICAuLi5EZWZhdWx0LFxuICAgICAgLi4uTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCksXG4gICAgICAuLi4odHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiB7fSlcbiAgICB9XG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgRGVmYXVsdFR5cGUpXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG5cbiAgX2hhbmRsZVN3aXBlKCkge1xuICAgIGNvbnN0IGFic0RlbHRheCA9IE1hdGguYWJzKHRoaXMudG91Y2hEZWx0YVgpXG5cbiAgICBpZiAoYWJzRGVsdGF4IDw9IFNXSVBFX1RIUkVTSE9MRCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gYWJzRGVsdGF4IC8gdGhpcy50b3VjaERlbHRhWFxuXG4gICAgdGhpcy50b3VjaERlbHRhWCA9IDBcblxuICAgIGlmICghZGlyZWN0aW9uKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9zbGlkZShkaXJlY3Rpb24gPiAwID8gRElSRUNUSU9OX1JJR0hUIDogRElSRUNUSU9OX0xFRlQpXG4gIH1cblxuICBfYWRkRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5rZXlib2FyZCkge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWURPV04sIGV2ZW50ID0+IHRoaXMuX2tleWRvd24oZXZlbnQpKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcucGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9NT1VTRUVOVEVSLCBldmVudCA9PiB0aGlzLnBhdXNlKGV2ZW50KSlcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9NT1VTRUxFQVZFLCBldmVudCA9PiB0aGlzLmN5Y2xlKGV2ZW50KSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnRvdWNoICYmIHRoaXMuX3RvdWNoU3VwcG9ydGVkKSB7XG4gICAgICB0aGlzLl9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzKClcbiAgICB9XG4gIH1cblxuICBfYWRkVG91Y2hFdmVudExpc3RlbmVycygpIHtcbiAgICBjb25zdCBoYXNQb2ludGVyUGVuVG91Y2ggPSBldmVudCA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fcG9pbnRlckV2ZW50ICYmXG4gICAgICAgIChldmVudC5wb2ludGVyVHlwZSA9PT0gUE9JTlRFUl9UWVBFX1BFTiB8fCBldmVudC5wb2ludGVyVHlwZSA9PT0gUE9JTlRFUl9UWVBFX1RPVUNIKVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gZXZlbnQgPT4ge1xuICAgICAgaWYgKGhhc1BvaW50ZXJQZW5Ub3VjaChldmVudCkpIHtcbiAgICAgICAgdGhpcy50b3VjaFN0YXJ0WCA9IGV2ZW50LmNsaWVudFhcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX3BvaW50ZXJFdmVudCkge1xuICAgICAgICB0aGlzLnRvdWNoU3RhcnRYID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbW92ZSA9IGV2ZW50ID0+IHtcbiAgICAgIC8vIGVuc3VyZSBzd2lwaW5nIHdpdGggb25lIHRvdWNoIGFuZCBub3QgcGluY2hpbmdcbiAgICAgIHRoaXMudG91Y2hEZWx0YVggPSBldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXMubGVuZ3RoID4gMSA/XG4gICAgICAgIDAgOlxuICAgICAgICBldmVudC50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLnRvdWNoU3RhcnRYXG4gICAgfVxuXG4gICAgY29uc3QgZW5kID0gZXZlbnQgPT4ge1xuICAgICAgaWYgKGhhc1BvaW50ZXJQZW5Ub3VjaChldmVudCkpIHtcbiAgICAgICAgdGhpcy50b3VjaERlbHRhWCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLnRvdWNoU3RhcnRYXG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2hhbmRsZVN3aXBlKClcbiAgICAgIGlmICh0aGlzLl9jb25maWcucGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgLy8gSWYgaXQncyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlLCBtb3VzZWVudGVyL2xlYXZlIGFyZSBmaXJlZCBhc1xuICAgICAgICAvLyBwYXJ0IG9mIHRoZSBtb3VzZSBjb21wYXRpYmlsaXR5IGV2ZW50cyBvbiBmaXJzdCB0YXAgLSB0aGUgY2Fyb3VzZWxcbiAgICAgICAgLy8gd291bGQgc3RvcCBjeWNsaW5nIHVudGlsIHVzZXIgdGFwcGVkIG91dCBvZiBpdDtcbiAgICAgICAgLy8gaGVyZSwgd2UgbGlzdGVuIGZvciB0b3VjaGVuZCwgZXhwbGljaXRseSBwYXVzZSB0aGUgY2Fyb3VzZWxcbiAgICAgICAgLy8gKGFzIGlmIGl0J3MgdGhlIHNlY29uZCB0aW1lIHdlIHRhcCBvbiBpdCwgbW91c2VlbnRlciBjb21wYXQgZXZlbnRcbiAgICAgICAgLy8gaXMgTk9UIGZpcmVkKSBhbmQgYWZ0ZXIgYSB0aW1lb3V0ICh0byBhbGxvdyBmb3IgbW91c2UgY29tcGF0aWJpbGl0eVxuICAgICAgICAvLyBldmVudHMgdG8gZmlyZSkgd2UgZXhwbGljaXRseSByZXN0YXJ0IGN5Y2xpbmdcblxuICAgICAgICB0aGlzLnBhdXNlKClcbiAgICAgICAgaWYgKHRoaXMudG91Y2hUaW1lb3V0KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b3VjaFRpbWVvdXQgPSBzZXRUaW1lb3V0KGV2ZW50ID0+IHRoaXMuY3ljbGUoZXZlbnQpLCBUT1VDSEVWRU5UX0NPTVBBVF9XQUlUICsgdGhpcy5fY29uZmlnLmludGVydmFsKVxuICAgICAgfVxuICAgIH1cblxuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfSVRFTV9JTUcsIHRoaXMuX2VsZW1lbnQpLmZvckVhY2goaXRlbUltZyA9PiB7XG4gICAgICBFdmVudEhhbmRsZXIub24oaXRlbUltZywgRVZFTlRfRFJBR19TVEFSVCwgZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSlcbiAgICB9KVxuXG4gICAgaWYgKHRoaXMuX3BvaW50ZXJFdmVudCkge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1BPSU5URVJET1dOLCBldmVudCA9PiBzdGFydChldmVudCkpXG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfUE9JTlRFUlVQLCBldmVudCA9PiBlbmQoZXZlbnQpKVxuXG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9QT0lOVEVSX0VWRU5UKVxuICAgIH0gZWxzZSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfVE9VQ0hTVEFSVCwgZXZlbnQgPT4gc3RhcnQoZXZlbnQpKVxuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1RPVUNITU9WRSwgZXZlbnQgPT4gbW92ZShldmVudCkpXG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfVE9VQ0hFTkQsIGV2ZW50ID0+IGVuZChldmVudCkpXG4gICAgfVxuICB9XG5cbiAgX2tleWRvd24oZXZlbnQpIHtcbiAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IEtFWV9UT19ESVJFQ1RJT05bZXZlbnQua2V5XVxuICAgIGlmIChkaXJlY3Rpb24pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuX3NsaWRlKGRpcmVjdGlvbilcbiAgICB9XG4gIH1cblxuICBfZ2V0SXRlbUluZGV4KGVsZW1lbnQpIHtcbiAgICB0aGlzLl9pdGVtcyA9IGVsZW1lbnQgJiYgZWxlbWVudC5wYXJlbnROb2RlID9cbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfSVRFTSwgZWxlbWVudC5wYXJlbnROb2RlKSA6XG4gICAgICBbXVxuXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmluZGV4T2YoZWxlbWVudClcbiAgfVxuXG4gIF9nZXRJdGVtQnlPcmRlcihvcmRlciwgYWN0aXZlRWxlbWVudCkge1xuICAgIGNvbnN0IGlzTmV4dCA9IG9yZGVyID09PSBPUkRFUl9ORVhUXG4gICAgcmV0dXJuIGdldE5leHRBY3RpdmVFbGVtZW50KHRoaXMuX2l0ZW1zLCBhY3RpdmVFbGVtZW50LCBpc05leHQsIHRoaXMuX2NvbmZpZy53cmFwKVxuICB9XG5cbiAgX3RyaWdnZXJTbGlkZUV2ZW50KHJlbGF0ZWRUYXJnZXQsIGV2ZW50RGlyZWN0aW9uTmFtZSkge1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KHJlbGF0ZWRUYXJnZXQpXG4gICAgY29uc3QgZnJvbUluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQUNUSVZFX0lURU0sIHRoaXMuX2VsZW1lbnQpKVxuXG4gICAgcmV0dXJuIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NMSURFLCB7XG4gICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgZGlyZWN0aW9uOiBldmVudERpcmVjdGlvbk5hbWUsXG4gICAgICBmcm9tOiBmcm9tSW5kZXgsXG4gICAgICB0bzogdGFyZ2V0SW5kZXhcbiAgICB9KVxuICB9XG5cbiAgX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQoZWxlbWVudCkge1xuICAgIGlmICh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCkge1xuICAgICAgY29uc3QgYWN0aXZlSW5kaWNhdG9yID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9BQ1RJVkUsIHRoaXMuX2luZGljYXRvcnNFbGVtZW50KVxuXG4gICAgICBhY3RpdmVJbmRpY2F0b3IuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0FDVElWRSlcbiAgICAgIGFjdGl2ZUluZGljYXRvci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcpXG5cbiAgICAgIGNvbnN0IGluZGljYXRvcnMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0lORElDQVRPUiwgdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpXG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaWNhdG9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoTnVtYmVyLnBhcnNlSW50KGluZGljYXRvcnNbaV0uZ2V0QXR0cmlidXRlKCdkYXRhLWJzLXNsaWRlLXRvJyksIDEwKSA9PT0gdGhpcy5fZ2V0SXRlbUluZGV4KGVsZW1lbnQpKSB7XG4gICAgICAgICAgaW5kaWNhdG9yc1tpXS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFKVxuICAgICAgICAgIGluZGljYXRvcnNbaV0uc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCAndHJ1ZScpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVJbnRlcnZhbCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fYWN0aXZlRWxlbWVudCB8fCBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0FDVElWRV9JVEVNLCB0aGlzLl9lbGVtZW50KVxuXG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50SW50ZXJ2YWwgPSBOdW1iZXIucGFyc2VJbnQoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtaW50ZXJ2YWwnKSwgMTApXG5cbiAgICBpZiAoZWxlbWVudEludGVydmFsKSB7XG4gICAgICB0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsID0gdGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbCB8fCB0aGlzLl9jb25maWcuaW50ZXJ2YWxcbiAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCA9IGVsZW1lbnRJbnRlcnZhbFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jb25maWcuaW50ZXJ2YWwgPSB0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsIHx8IHRoaXMuX2NvbmZpZy5pbnRlcnZhbFxuICAgIH1cbiAgfVxuXG4gIF9zbGlkZShkaXJlY3Rpb25Pck9yZGVyLCBlbGVtZW50KSB7XG4gICAgY29uc3Qgb3JkZXIgPSB0aGlzLl9kaXJlY3Rpb25Ub09yZGVyKGRpcmVjdGlvbk9yT3JkZXIpXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQUNUSVZFX0lURU0sIHRoaXMuX2VsZW1lbnQpXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudEluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KGFjdGl2ZUVsZW1lbnQpXG4gICAgY29uc3QgbmV4dEVsZW1lbnQgPSBlbGVtZW50IHx8IHRoaXMuX2dldEl0ZW1CeU9yZGVyKG9yZGVyLCBhY3RpdmVFbGVtZW50KVxuXG4gICAgY29uc3QgbmV4dEVsZW1lbnRJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleChuZXh0RWxlbWVudClcbiAgICBjb25zdCBpc0N5Y2xpbmcgPSBCb29sZWFuKHRoaXMuX2ludGVydmFsKVxuXG4gICAgY29uc3QgaXNOZXh0ID0gb3JkZXIgPT09IE9SREVSX05FWFRcbiAgICBjb25zdCBkaXJlY3Rpb25hbENsYXNzTmFtZSA9IGlzTmV4dCA/IENMQVNTX05BTUVfU1RBUlQgOiBDTEFTU19OQU1FX0VORFxuICAgIGNvbnN0IG9yZGVyQ2xhc3NOYW1lID0gaXNOZXh0ID8gQ0xBU1NfTkFNRV9ORVhUIDogQ0xBU1NfTkFNRV9QUkVWXG4gICAgY29uc3QgZXZlbnREaXJlY3Rpb25OYW1lID0gdGhpcy5fb3JkZXJUb0RpcmVjdGlvbihvcmRlcilcblxuICAgIGlmIChuZXh0RWxlbWVudCAmJiBuZXh0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9BQ1RJVkUpKSB7XG4gICAgICB0aGlzLl9pc1NsaWRpbmcgPSBmYWxzZVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzU2xpZGluZykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgc2xpZGVFdmVudCA9IHRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KG5leHRFbGVtZW50LCBldmVudERpcmVjdGlvbk5hbWUpXG4gICAgaWYgKHNsaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCFhY3RpdmVFbGVtZW50IHx8ICFuZXh0RWxlbWVudCkge1xuICAgICAgLy8gU29tZSB3ZWlyZG5lc3MgaXMgaGFwcGVuaW5nLCBzbyB3ZSBiYWlsXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9pc1NsaWRpbmcgPSB0cnVlXG5cbiAgICBpZiAoaXNDeWNsaW5nKSB7XG4gICAgICB0aGlzLnBhdXNlKClcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50KG5leHRFbGVtZW50KVxuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBuZXh0RWxlbWVudFxuXG4gICAgY29uc3QgdHJpZ2dlclNsaWRFdmVudCA9ICgpID0+IHtcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NMSUQsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogbmV4dEVsZW1lbnQsXG4gICAgICAgIGRpcmVjdGlvbjogZXZlbnREaXJlY3Rpb25OYW1lLFxuICAgICAgICBmcm9tOiBhY3RpdmVFbGVtZW50SW5kZXgsXG4gICAgICAgIHRvOiBuZXh0RWxlbWVudEluZGV4XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NMSURFKSkge1xuICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChvcmRlckNsYXNzTmFtZSlcblxuICAgICAgcmVmbG93KG5leHRFbGVtZW50KVxuXG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoZGlyZWN0aW9uYWxDbGFzc05hbWUpXG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKGRpcmVjdGlvbmFsQ2xhc3NOYW1lKVxuXG4gICAgICBjb25zdCBjb21wbGV0ZUNhbGxCYWNrID0gKCkgPT4ge1xuICAgICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGRpcmVjdGlvbmFsQ2xhc3NOYW1lLCBvcmRlckNsYXNzTmFtZSlcbiAgICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSlcblxuICAgICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUsIG9yZGVyQ2xhc3NOYW1lLCBkaXJlY3Rpb25hbENsYXNzTmFtZSlcblxuICAgICAgICB0aGlzLl9pc1NsaWRpbmcgPSBmYWxzZVxuXG4gICAgICAgIHNldFRpbWVvdXQodHJpZ2dlclNsaWRFdmVudCwgMClcbiAgICAgIH1cblxuICAgICAgdGhpcy5fcXVldWVDYWxsYmFjayhjb21wbGV0ZUNhbGxCYWNrLCBhY3RpdmVFbGVtZW50LCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpXG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFKVxuXG4gICAgICB0aGlzLl9pc1NsaWRpbmcgPSBmYWxzZVxuICAgICAgdHJpZ2dlclNsaWRFdmVudCgpXG4gICAgfVxuXG4gICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgdGhpcy5jeWNsZSgpXG4gICAgfVxuICB9XG5cbiAgX2RpcmVjdGlvblRvT3JkZXIoZGlyZWN0aW9uKSB7XG4gICAgaWYgKCFbRElSRUNUSU9OX1JJR0hULCBESVJFQ1RJT05fTEVGVF0uaW5jbHVkZXMoZGlyZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGRpcmVjdGlvblxuICAgIH1cblxuICAgIGlmIChpc1JUTCgpKSB7XG4gICAgICByZXR1cm4gZGlyZWN0aW9uID09PSBESVJFQ1RJT05fTEVGVCA/IE9SREVSX1BSRVYgOiBPUkRFUl9ORVhUXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX0xFRlQgPyBPUkRFUl9ORVhUIDogT1JERVJfUFJFVlxuICB9XG5cbiAgX29yZGVyVG9EaXJlY3Rpb24ob3JkZXIpIHtcbiAgICBpZiAoIVtPUkRFUl9ORVhULCBPUkRFUl9QUkVWXS5pbmNsdWRlcyhvcmRlcikpIHtcbiAgICAgIHJldHVybiBvcmRlclxuICAgIH1cblxuICAgIGlmIChpc1JUTCgpKSB7XG4gICAgICByZXR1cm4gb3JkZXIgPT09IE9SREVSX1BSRVYgPyBESVJFQ1RJT05fTEVGVCA6IERJUkVDVElPTl9SSUdIVFxuICAgIH1cblxuICAgIHJldHVybiBvcmRlciA9PT0gT1JERVJfUFJFViA/IERJUkVDVElPTl9SSUdIVCA6IERJUkVDVElPTl9MRUZUXG4gIH1cblxuICAvLyBTdGF0aWNcblxuICBzdGF0aWMgY2Fyb3VzZWxJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgY29uc3QgZGF0YSA9IENhcm91c2VsLmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbWVudCwgY29uZmlnKVxuXG4gICAgbGV0IHsgX2NvbmZpZyB9ID0gZGF0YVxuICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0Jykge1xuICAgICAgX2NvbmZpZyA9IHtcbiAgICAgICAgLi4uX2NvbmZpZyxcbiAgICAgICAgLi4uY29uZmlnXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aW9uID0gdHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycgPyBjb25maWcgOiBfY29uZmlnLnNsaWRlXG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGRhdGEudG8oY29uZmlnKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGFjdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YVthY3Rpb25dID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBObyBtZXRob2QgbmFtZWQgXCIke2FjdGlvbn1cImApXG4gICAgICB9XG5cbiAgICAgIGRhdGFbYWN0aW9uXSgpXG4gICAgfSBlbHNlIGlmIChfY29uZmlnLmludGVydmFsICYmIF9jb25maWcucmlkZSkge1xuICAgICAgZGF0YS5wYXVzZSgpXG4gICAgICBkYXRhLmN5Y2xlKClcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgQ2Fyb3VzZWwuY2Fyb3VzZWxJbnRlcmZhY2UodGhpcywgY29uZmlnKVxuICAgIH0pXG4gIH1cblxuICBzdGF0aWMgZGF0YUFwaUNsaWNrSGFuZGxlcihldmVudCkge1xuICAgIGNvbnN0IHRhcmdldCA9IGdldEVsZW1lbnRGcm9tU2VsZWN0b3IodGhpcylcblxuICAgIGlmICghdGFyZ2V0IHx8ICF0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfQ0FST1VTRUwpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAuLi5NYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0YXJnZXQpLFxuICAgICAgLi4uTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcylcbiAgICB9XG4gICAgY29uc3Qgc2xpZGVJbmRleCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWJzLXNsaWRlLXRvJylcblxuICAgIGlmIChzbGlkZUluZGV4KSB7XG4gICAgICBjb25maWcuaW50ZXJ2YWwgPSBmYWxzZVxuICAgIH1cblxuICAgIENhcm91c2VsLmNhcm91c2VsSW50ZXJmYWNlKHRhcmdldCwgY29uZmlnKVxuXG4gICAgaWYgKHNsaWRlSW5kZXgpIHtcbiAgICAgIENhcm91c2VsLmdldEluc3RhbmNlKHRhcmdldCkudG8oc2xpZGVJbmRleClcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1NMSURFLCBDYXJvdXNlbC5kYXRhQXBpQ2xpY2tIYW5kbGVyKVxuXG5FdmVudEhhbmRsZXIub24od2luZG93LCBFVkVOVF9MT0FEX0RBVEFfQVBJLCAoKSA9PiB7XG4gIGNvbnN0IGNhcm91c2VscyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9SSURFKVxuXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjYXJvdXNlbHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBDYXJvdXNlbC5jYXJvdXNlbEludGVyZmFjZShjYXJvdXNlbHNbaV0sIENhcm91c2VsLmdldEluc3RhbmNlKGNhcm91c2Vsc1tpXSkpXG4gIH1cbn0pXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5DYXJvdXNlbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmRlZmluZUpRdWVyeVBsdWdpbihDYXJvdXNlbClcblxuZXhwb3J0IGRlZmF1bHQgQ2Fyb3VzZWxcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogY29sbGFwc2UuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQge1xuICBkZWZpbmVKUXVlcnlQbHVnaW4sXG4gIGdldEVsZW1lbnQsXG4gIGdldFNlbGVjdG9yRnJvbUVsZW1lbnQsXG4gIGdldEVsZW1lbnRGcm9tU2VsZWN0b3IsXG4gIHJlZmxvdyxcbiAgdHlwZUNoZWNrQ29uZmlnXG59IGZyb20gJy4vdXRpbC9pbmRleCdcbmltcG9ydCBEYXRhIGZyb20gJy4vZG9tL2RhdGEnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgTWFuaXB1bGF0b3IgZnJvbSAnLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgU2VsZWN0b3JFbmdpbmUgZnJvbSAnLi9kb20vc2VsZWN0b3ItZW5naW5lJ1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSAnLi9iYXNlLWNvbXBvbmVudCdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICdjb2xsYXBzZSdcbmNvbnN0IERBVEFfS0VZID0gJ2JzLmNvbGxhcHNlJ1xuY29uc3QgRVZFTlRfS0VZID0gYC4ke0RBVEFfS0VZfWBcbmNvbnN0IERBVEFfQVBJX0tFWSA9ICcuZGF0YS1hcGknXG5cbmNvbnN0IERlZmF1bHQgPSB7XG4gIHRvZ2dsZTogdHJ1ZSxcbiAgcGFyZW50OiBudWxsXG59XG5cbmNvbnN0IERlZmF1bHRUeXBlID0ge1xuICB0b2dnbGU6ICdib29sZWFuJyxcbiAgcGFyZW50OiAnKG51bGx8ZWxlbWVudCknXG59XG5cbmNvbnN0IEVWRU5UX1NIT1cgPSBgc2hvdyR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1NIT1dOID0gYHNob3duJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfSElERSA9IGBoaWRlJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfSElEREVOID0gYGhpZGRlbiR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0NMSUNLX0RBVEFfQVBJID0gYGNsaWNrJHtFVkVOVF9LRVl9JHtEQVRBX0FQSV9LRVl9YFxuXG5jb25zdCBDTEFTU19OQU1FX1NIT1cgPSAnc2hvdydcbmNvbnN0IENMQVNTX05BTUVfQ09MTEFQU0UgPSAnY29sbGFwc2UnXG5jb25zdCBDTEFTU19OQU1FX0NPTExBUFNJTkcgPSAnY29sbGFwc2luZydcbmNvbnN0IENMQVNTX05BTUVfQ09MTEFQU0VEID0gJ2NvbGxhcHNlZCdcbmNvbnN0IENMQVNTX05BTUVfREVFUEVSX0NISUxEUkVOID0gYDpzY29wZSAuJHtDTEFTU19OQU1FX0NPTExBUFNFfSAuJHtDTEFTU19OQU1FX0NPTExBUFNFfWBcbmNvbnN0IENMQVNTX05BTUVfSE9SSVpPTlRBTCA9ICdjb2xsYXBzZS1ob3Jpem9udGFsJ1xuXG5jb25zdCBXSURUSCA9ICd3aWR0aCdcbmNvbnN0IEhFSUdIVCA9ICdoZWlnaHQnXG5cbmNvbnN0IFNFTEVDVE9SX0FDVElWRVMgPSAnLmNvbGxhcHNlLnNob3csIC5jb2xsYXBzZS5jb2xsYXBzaW5nJ1xuY29uc3QgU0VMRUNUT1JfREFUQV9UT0dHTEUgPSAnW2RhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIl0nXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jbGFzcyBDb2xsYXBzZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBjb25maWcpIHtcbiAgICBzdXBlcihlbGVtZW50KVxuXG4gICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2VcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKVxuICAgIHRoaXMuX3RyaWdnZXJBcnJheSA9IFtdXG5cbiAgICBjb25zdCB0b2dnbGVMaXN0ID0gU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EQVRBX1RPR0dMRSlcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0b2dnbGVMaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gdG9nZ2xlTGlzdFtpXVxuICAgICAgY29uc3Qgc2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW0pXG4gICAgICBjb25zdCBmaWx0ZXJFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZChzZWxlY3RvcilcbiAgICAgICAgLmZpbHRlcihmb3VuZEVsZW0gPT4gZm91bmRFbGVtID09PSB0aGlzLl9lbGVtZW50KVxuXG4gICAgICBpZiAoc2VsZWN0b3IgIT09IG51bGwgJiYgZmlsdGVyRWxlbWVudC5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0b3IgPSBzZWxlY3RvclxuICAgICAgICB0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChlbGVtKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2luaXRpYWxpemVDaGlsZHJlbigpXG5cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5wYXJlbnQpIHtcbiAgICAgIHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl90cmlnZ2VyQXJyYXksIHRoaXMuX2lzU2hvd24oKSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnRvZ2dsZSkge1xuICAgICAgdGhpcy50b2dnbGUoKVxuICAgIH1cbiAgfVxuXG4gIC8vIEdldHRlcnNcblxuICBzdGF0aWMgZ2V0IERlZmF1bHQoKSB7XG4gICAgcmV0dXJuIERlZmF1bHRcbiAgfVxuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLl9pc1Nob3duKCkpIHtcbiAgICAgIHRoaXMuaGlkZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpXG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8IHRoaXMuX2lzU2hvd24oKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbGV0IGFjdGl2ZXMgPSBbXVxuICAgIGxldCBhY3RpdmVzRGF0YVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5wYXJlbnQpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gU2VsZWN0b3JFbmdpbmUuZmluZChDTEFTU19OQU1FX0RFRVBFUl9DSElMRFJFTiwgdGhpcy5fY29uZmlnLnBhcmVudClcbiAgICAgIGFjdGl2ZXMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRVMsIHRoaXMuX2NvbmZpZy5wYXJlbnQpLmZpbHRlcihlbGVtID0+ICFjaGlsZHJlbi5pbmNsdWRlcyhlbGVtKSkgLy8gcmVtb3ZlIGNoaWxkcmVuIGlmIGdyZWF0ZXIgZGVwdGhcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKHRoaXMuX3NlbGVjdG9yKVxuICAgIGlmIChhY3RpdmVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgdGVtcEFjdGl2ZURhdGEgPSBhY3RpdmVzLmZpbmQoZWxlbSA9PiBjb250YWluZXIgIT09IGVsZW0pXG4gICAgICBhY3RpdmVzRGF0YSA9IHRlbXBBY3RpdmVEYXRhID8gQ29sbGFwc2UuZ2V0SW5zdGFuY2UodGVtcEFjdGl2ZURhdGEpIDogbnVsbFxuXG4gICAgICBpZiAoYWN0aXZlc0RhdGEgJiYgYWN0aXZlc0RhdGEuX2lzVHJhbnNpdGlvbmluZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdGFydEV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVylcbiAgICBpZiAoc3RhcnRFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBhY3RpdmVzLmZvckVhY2goZWxlbUFjdGl2ZSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyICE9PSBlbGVtQWN0aXZlKSB7XG4gICAgICAgIENvbGxhcHNlLmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbUFjdGl2ZSwgeyB0b2dnbGU6IGZhbHNlIH0pLmhpZGUoKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWFjdGl2ZXNEYXRhKSB7XG4gICAgICAgIERhdGEuc2V0KGVsZW1BY3RpdmUsIERBVEFfS0VZLCBudWxsKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBjb25zdCBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQ09MTEFQU0UpXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQ09MTEFQU0lORylcblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbZGltZW5zaW9uXSA9IDBcblxuICAgIHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl90cmlnZ2VyQXJyYXksIHRydWUpXG4gICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdHJ1ZVxuXG4gICAgY29uc3QgY29tcGxldGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBmYWxzZVxuXG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTSU5HKVxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQ09MTEFQU0UsIENMQVNTX05BTUVfU0hPVylcblxuICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gJydcblxuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04pXG4gICAgfVxuXG4gICAgY29uc3QgY2FwaXRhbGl6ZWREaW1lbnNpb24gPSBkaW1lbnNpb25bMF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSgxKVxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSBgc2Nyb2xsJHtjYXBpdGFsaXplZERpbWVuc2lvbn1gXG5cbiAgICB0aGlzLl9xdWV1ZUNhbGxiYWNrKGNvbXBsZXRlLCB0aGlzLl9lbGVtZW50LCB0cnVlKVxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbZGltZW5zaW9uXSA9IGAke3RoaXMuX2VsZW1lbnRbc2Nyb2xsU2l6ZV19cHhgXG4gIH1cblxuICBoaWRlKCkge1xuICAgIGlmICh0aGlzLl9pc1RyYW5zaXRpb25pbmcgfHwgIXRoaXMuX2lzU2hvd24oKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUpXG4gICAgaWYgKHN0YXJ0RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZGltZW5zaW9uID0gdGhpcy5fZ2V0RGltZW5zaW9uKClcblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbZGltZW5zaW9uXSA9IGAke3RoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbZGltZW5zaW9uXX1weGBcblxuICAgIHJlZmxvdyh0aGlzLl9lbGVtZW50KVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQ09MTEFQU0lORylcbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRSwgQ0xBU1NfTkFNRV9TSE9XKVxuXG4gICAgY29uc3QgdHJpZ2dlckFycmF5TGVuZ3RoID0gdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJpZ2dlckFycmF5TGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyQXJyYXlbaV1cbiAgICAgIGNvbnN0IGVsZW0gPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRyaWdnZXIpXG5cbiAgICAgIGlmIChlbGVtICYmICF0aGlzLl9pc1Nob3duKGVsZW0pKSB7XG4gICAgICAgIHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhbdHJpZ2dlcl0sIGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IHRydWVcblxuICAgIGNvbnN0IGNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0NPTExBUFNJTkcpXG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRSlcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJRERFTilcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50LnN0eWxlW2RpbWVuc2lvbl0gPSAnJ1xuXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjayhjb21wbGV0ZSwgdGhpcy5fZWxlbWVudCwgdHJ1ZSlcbiAgfVxuXG4gIF9pc1Nob3duKGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVylcbiAgfVxuXG4gIC8vIFByaXZhdGVcblxuICBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IHtcbiAgICAgIC4uLkRlZmF1bHQsXG4gICAgICAuLi5NYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzLl9lbGVtZW50KSxcbiAgICAgIC4uLmNvbmZpZ1xuICAgIH1cbiAgICBjb25maWcudG9nZ2xlID0gQm9vbGVhbihjb25maWcudG9nZ2xlKSAvLyBDb2VyY2Ugc3RyaW5nIHZhbHVlc1xuICAgIGNvbmZpZy5wYXJlbnQgPSBnZXRFbGVtZW50KGNvbmZpZy5wYXJlbnQpXG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgRGVmYXVsdFR5cGUpXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG5cbiAgX2dldERpbWVuc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9IT1JJWk9OVEFMKSA/IFdJRFRIIDogSEVJR0hUXG4gIH1cblxuICBfaW5pdGlhbGl6ZUNoaWxkcmVuKCkge1xuICAgIGlmICghdGhpcy5fY29uZmlnLnBhcmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSBTZWxlY3RvckVuZ2luZS5maW5kKENMQVNTX05BTUVfREVFUEVSX0NISUxEUkVOLCB0aGlzLl9jb25maWcucGFyZW50KVxuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9UT0dHTEUsIHRoaXMuX2NvbmZpZy5wYXJlbnQpLmZpbHRlcihlbGVtID0+ICFjaGlsZHJlbi5pbmNsdWRlcyhlbGVtKSlcbiAgICAgIC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGdldEVsZW1lbnRGcm9tU2VsZWN0b3IoZWxlbWVudClcblxuICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoW2VsZW1lbnRdLCB0aGlzLl9pc1Nob3duKHNlbGVjdGVkKSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIF9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModHJpZ2dlckFycmF5LCBpc09wZW4pIHtcbiAgICBpZiAoIXRyaWdnZXJBcnJheS5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyaWdnZXJBcnJheS5mb3JFYWNoKGVsZW0gPT4ge1xuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpXG4gICAgICB9XG5cbiAgICAgIGVsZW0uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgaXNPcGVuKVxuICAgIH0pXG4gIH1cblxuICAvLyBTdGF0aWNcblxuICBzdGF0aWMgalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgX2NvbmZpZyA9IHt9XG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycgJiYgL3Nob3d8aGlkZS8udGVzdChjb25maWcpKSB7XG4gICAgICAgIF9jb25maWcudG9nZ2xlID0gZmFsc2VcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YSA9IENvbGxhcHNlLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcywgX2NvbmZpZylcblxuICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE5vIG1ldGhvZCBuYW1lZCBcIiR7Y29uZmlnfVwiYClcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXSgpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgLy8gcHJldmVudERlZmF1bHQgb25seSBmb3IgPGE+IGVsZW1lbnRzICh3aGljaCBjaGFuZ2UgdGhlIFVSTCkgbm90IGluc2lkZSB0aGUgY29sbGFwc2libGUgZWxlbWVudFxuICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgPT09ICdBJyB8fCAoZXZlbnQuZGVsZWdhdGVUYXJnZXQgJiYgZXZlbnQuZGVsZWdhdGVUYXJnZXQudGFnTmFtZSA9PT0gJ0EnKSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdG9yID0gZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKVxuICBjb25zdCBzZWxlY3RvckVsZW1lbnRzID0gU2VsZWN0b3JFbmdpbmUuZmluZChzZWxlY3RvcilcblxuICBzZWxlY3RvckVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgQ29sbGFwc2UuZ2V0T3JDcmVhdGVJbnN0YW5jZShlbGVtZW50LCB7IHRvZ2dsZTogZmFsc2UgfSkudG9nZ2xlKClcbiAgfSlcbn0pXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5Db2xsYXBzZSB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmRlZmluZUpRdWVyeVBsdWdpbihDb2xsYXBzZSlcblxuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2VcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogZHJvcGRvd24uanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgKiBhcyBQb3BwZXIgZnJvbSAnQHBvcHBlcmpzL2NvcmUnXG5cbmltcG9ydCB7XG4gIGRlZmluZUpRdWVyeVBsdWdpbixcbiAgZ2V0RWxlbWVudCxcbiAgZ2V0RWxlbWVudEZyb21TZWxlY3RvcixcbiAgZ2V0TmV4dEFjdGl2ZUVsZW1lbnQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzRWxlbWVudCxcbiAgaXNSVEwsXG4gIGlzVmlzaWJsZSxcbiAgbm9vcCxcbiAgdHlwZUNoZWNrQ29uZmlnXG59IGZyb20gJy4vdXRpbC9pbmRleCdcbmltcG9ydCBFdmVudEhhbmRsZXIgZnJvbSAnLi9kb20vZXZlbnQtaGFuZGxlcidcbmltcG9ydCBNYW5pcHVsYXRvciBmcm9tICcuL2RvbS9tYW5pcHVsYXRvcidcbmltcG9ydCBTZWxlY3RvckVuZ2luZSBmcm9tICcuL2RvbS9zZWxlY3Rvci1lbmdpbmUnXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBOQU1FID0gJ2Ryb3Bkb3duJ1xuY29uc3QgREFUQV9LRVkgPSAnYnMuZHJvcGRvd24nXG5jb25zdCBFVkVOVF9LRVkgPSBgLiR7REFUQV9LRVl9YFxuY29uc3QgREFUQV9BUElfS0VZID0gJy5kYXRhLWFwaSdcblxuY29uc3QgRVNDQVBFX0tFWSA9ICdFc2NhcGUnXG5jb25zdCBTUEFDRV9LRVkgPSAnU3BhY2UnXG5jb25zdCBUQUJfS0VZID0gJ1RhYidcbmNvbnN0IEFSUk9XX1VQX0tFWSA9ICdBcnJvd1VwJ1xuY29uc3QgQVJST1dfRE9XTl9LRVkgPSAnQXJyb3dEb3duJ1xuY29uc3QgUklHSFRfTU9VU0VfQlVUVE9OID0gMiAvLyBNb3VzZUV2ZW50LmJ1dHRvbiB2YWx1ZSBmb3IgdGhlIHNlY29uZGFyeSBidXR0b24sIHVzdWFsbHkgdGhlIHJpZ2h0IGJ1dHRvblxuXG5jb25zdCBSRUdFWFBfS0VZRE9XTiA9IG5ldyBSZWdFeHAoYCR7QVJST1dfVVBfS0VZfXwke0FSUk9XX0RPV05fS0VZfXwke0VTQ0FQRV9LRVl9YClcblxuY29uc3QgRVZFTlRfSElERSA9IGBoaWRlJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfSElEREVOID0gYGhpZGRlbiR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1NIT1cgPSBgc2hvdyR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1NIT1dOID0gYHNob3duJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfQ0xJQ0tfREFUQV9BUEkgPSBgY2xpY2ske0VWRU5UX0tFWX0ke0RBVEFfQVBJX0tFWX1gXG5jb25zdCBFVkVOVF9LRVlET1dOX0RBVEFfQVBJID0gYGtleWRvd24ke0VWRU5UX0tFWX0ke0RBVEFfQVBJX0tFWX1gXG5jb25zdCBFVkVOVF9LRVlVUF9EQVRBX0FQSSA9IGBrZXl1cCR7RVZFTlRfS0VZfSR7REFUQV9BUElfS0VZfWBcblxuY29uc3QgQ0xBU1NfTkFNRV9TSE9XID0gJ3Nob3cnXG5jb25zdCBDTEFTU19OQU1FX0RST1BVUCA9ICdkcm9wdXAnXG5jb25zdCBDTEFTU19OQU1FX0RST1BFTkQgPSAnZHJvcGVuZCdcbmNvbnN0IENMQVNTX05BTUVfRFJPUFNUQVJUID0gJ2Ryb3BzdGFydCdcbmNvbnN0IENMQVNTX05BTUVfTkFWQkFSID0gJ25hdmJhcidcblxuY29uc3QgU0VMRUNUT1JfREFUQV9UT0dHTEUgPSAnW2RhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIl0nXG5jb25zdCBTRUxFQ1RPUl9NRU5VID0gJy5kcm9wZG93bi1tZW51J1xuY29uc3QgU0VMRUNUT1JfTkFWQkFSX05BViA9ICcubmF2YmFyLW5hdidcbmNvbnN0IFNFTEVDVE9SX1ZJU0lCTEVfSVRFTVMgPSAnLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCknXG5cbmNvbnN0IFBMQUNFTUVOVF9UT1AgPSBpc1JUTCgpID8gJ3RvcC1lbmQnIDogJ3RvcC1zdGFydCdcbmNvbnN0IFBMQUNFTUVOVF9UT1BFTkQgPSBpc1JUTCgpID8gJ3RvcC1zdGFydCcgOiAndG9wLWVuZCdcbmNvbnN0IFBMQUNFTUVOVF9CT1RUT00gPSBpc1JUTCgpID8gJ2JvdHRvbS1lbmQnIDogJ2JvdHRvbS1zdGFydCdcbmNvbnN0IFBMQUNFTUVOVF9CT1RUT01FTkQgPSBpc1JUTCgpID8gJ2JvdHRvbS1zdGFydCcgOiAnYm90dG9tLWVuZCdcbmNvbnN0IFBMQUNFTUVOVF9SSUdIVCA9IGlzUlRMKCkgPyAnbGVmdC1zdGFydCcgOiAncmlnaHQtc3RhcnQnXG5jb25zdCBQTEFDRU1FTlRfTEVGVCA9IGlzUlRMKCkgPyAncmlnaHQtc3RhcnQnIDogJ2xlZnQtc3RhcnQnXG5cbmNvbnN0IERlZmF1bHQgPSB7XG4gIG9mZnNldDogWzAsIDJdLFxuICBib3VuZGFyeTogJ2NsaXBwaW5nUGFyZW50cycsXG4gIHJlZmVyZW5jZTogJ3RvZ2dsZScsXG4gIGRpc3BsYXk6ICdkeW5hbWljJyxcbiAgcG9wcGVyQ29uZmlnOiBudWxsLFxuICBhdXRvQ2xvc2U6IHRydWVcbn1cblxuY29uc3QgRGVmYXVsdFR5cGUgPSB7XG4gIG9mZnNldDogJyhhcnJheXxzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgYm91bmRhcnk6ICcoc3RyaW5nfGVsZW1lbnQpJyxcbiAgcmVmZXJlbmNlOiAnKHN0cmluZ3xlbGVtZW50fG9iamVjdCknLFxuICBkaXNwbGF5OiAnc3RyaW5nJyxcbiAgcG9wcGVyQ29uZmlnOiAnKG51bGx8b2JqZWN0fGZ1bmN0aW9uKScsXG4gIGF1dG9DbG9zZTogJyhib29sZWFufHN0cmluZyknXG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jbGFzcyBEcm9wZG93biBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBjb25maWcpIHtcbiAgICBzdXBlcihlbGVtZW50KVxuXG4gICAgdGhpcy5fcG9wcGVyID0gbnVsbFxuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpXG4gICAgdGhpcy5fbWVudSA9IHRoaXMuX2dldE1lbnVFbGVtZW50KClcbiAgICB0aGlzLl9pbk5hdmJhciA9IHRoaXMuX2RldGVjdE5hdmJhcigpXG4gIH1cblxuICAvLyBHZXR0ZXJzXG5cbiAgc3RhdGljIGdldCBEZWZhdWx0KCkge1xuICAgIHJldHVybiBEZWZhdWx0XG4gIH1cblxuICBzdGF0aWMgZ2V0IERlZmF1bHRUeXBlKCkge1xuICAgIHJldHVybiBEZWZhdWx0VHlwZVxuICB9XG5cbiAgc3RhdGljIGdldCBOQU1FKCkge1xuICAgIHJldHVybiBOQU1FXG4gIH1cblxuICAvLyBQdWJsaWNcblxuICB0b2dnbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU2hvd24oKSA/IHRoaXMuaGlkZSgpIDogdGhpcy5zaG93KClcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgaWYgKGlzRGlzYWJsZWQodGhpcy5fZWxlbWVudCkgfHwgdGhpcy5faXNTaG93bih0aGlzLl9tZW51KSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IHtcbiAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRoaXMuX2VsZW1lbnRcbiAgICB9XG5cbiAgICBjb25zdCBzaG93RXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TSE9XLCByZWxhdGVkVGFyZ2V0KVxuXG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnQgPSBEcm9wZG93bi5nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KVxuICAgIC8vIFRvdGFsbHkgZGlzYWJsZSBQb3BwZXIgZm9yIERyb3Bkb3ducyBpbiBOYXZiYXJcbiAgICBpZiAodGhpcy5faW5OYXZiYXIpIHtcbiAgICAgIE1hbmlwdWxhdG9yLnNldERhdGFBdHRyaWJ1dGUodGhpcy5fbWVudSwgJ3BvcHBlcicsICdub25lJylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY3JlYXRlUG9wcGVyKHBhcmVudClcbiAgICB9XG5cbiAgICAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhXG4gICAgLy8gZW1wdHkgbW91c2VvdmVyIGxpc3RlbmVycyB0byB0aGUgYm9keSdzIGltbWVkaWF0ZSBjaGlsZHJlbjtcbiAgICAvLyBvbmx5IG5lZWRlZCBiZWNhdXNlIG9mIGJyb2tlbiBldmVudCBkZWxlZ2F0aW9uIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxNC8wMi9tb3VzZV9ldmVudF9idWIuaHRtbFxuICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiZcbiAgICAgICFwYXJlbnQuY2xvc2VzdChTRUxFQ1RPUl9OQVZCQVJfTkFWKSkge1xuICAgICAgW10uY29uY2F0KC4uLmRvY3VtZW50LmJvZHkuY2hpbGRyZW4pXG4gICAgICAgIC5mb3JFYWNoKGVsZW0gPT4gRXZlbnRIYW5kbGVyLm9uKGVsZW0sICdtb3VzZW92ZXInLCBub29wKSlcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50LmZvY3VzKClcbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIHRydWUpXG5cbiAgICB0aGlzLl9tZW51LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XKVxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NIT1cpXG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04sIHJlbGF0ZWRUYXJnZXQpXG4gIH1cblxuICBoaWRlKCkge1xuICAgIGlmIChpc0Rpc2FibGVkKHRoaXMuX2VsZW1lbnQpIHx8ICF0aGlzLl9pc1Nob3duKHRoaXMuX21lbnUpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0ge1xuICAgICAgcmVsYXRlZFRhcmdldDogdGhpcy5fZWxlbWVudFxuICAgIH1cblxuICAgIHRoaXMuX2NvbXBsZXRlSGlkZShyZWxhdGVkVGFyZ2V0KVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5fcG9wcGVyKSB7XG4gICAgICB0aGlzLl9wb3BwZXIuZGVzdHJveSgpXG4gICAgfVxuXG4gICAgc3VwZXIuZGlzcG9zZSgpXG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKVxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci51cGRhdGUoKVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaXZhdGVcblxuICBfY29tcGxldGVIaWRlKHJlbGF0ZWRUYXJnZXQpIHtcbiAgICBjb25zdCBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFLCByZWxhdGVkVGFyZ2V0KVxuICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIHJlbW92ZSB0aGUgZXh0cmFcbiAgICAvLyBlbXB0eSBtb3VzZW92ZXIgbGlzdGVuZXJzIHdlIGFkZGVkIGZvciBpT1Mgc3VwcG9ydFxuICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIFtdLmNvbmNhdCguLi5kb2N1bWVudC5ib2R5LmNoaWxkcmVuKVxuICAgICAgICAuZm9yRWFjaChlbGVtID0+IEV2ZW50SGFuZGxlci5vZmYoZWxlbSwgJ21vdXNlb3ZlcicsIG5vb3ApKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KClcbiAgICB9XG5cbiAgICB0aGlzLl9tZW51LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSE9XKVxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG4gICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKVxuICAgIE1hbmlwdWxhdG9yLnJlbW92ZURhdGFBdHRyaWJ1dGUodGhpcy5fbWVudSwgJ3BvcHBlcicpXG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfSElEREVOLCByZWxhdGVkVGFyZ2V0KVxuICB9XG5cbiAgX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQsXG4gICAgICAuLi5NYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzLl9lbGVtZW50KSxcbiAgICAgIC4uLmNvbmZpZ1xuICAgIH1cblxuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FLCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpXG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWZlcmVuY2UgPT09ICdvYmplY3QnICYmICFpc0VsZW1lbnQoY29uZmlnLnJlZmVyZW5jZSkgJiZcbiAgICAgIHR5cGVvZiBjb25maWcucmVmZXJlbmNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCAhPT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgLy8gUG9wcGVyIHZpcnR1YWwgZWxlbWVudHMgcmVxdWlyZSBhIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBtZXRob2RcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7TkFNRS50b1VwcGVyQ2FzZSgpfTogT3B0aW9uIFwicmVmZXJlbmNlXCIgcHJvdmlkZWQgdHlwZSBcIm9iamVjdFwiIHdpdGhvdXQgYSByZXF1aXJlZCBcImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiIG1ldGhvZC5gKVxuICAgIH1cblxuICAgIHJldHVybiBjb25maWdcbiAgfVxuXG4gIF9jcmVhdGVQb3BwZXIocGFyZW50KSB7XG4gICAgaWYgKHR5cGVvZiBQb3BwZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdCb290c3RyYXBcXCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlciAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKScpXG4gICAgfVxuXG4gICAgbGV0IHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9lbGVtZW50XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnJlZmVyZW5jZSA9PT0gJ3BhcmVudCcpIHtcbiAgICAgIHJlZmVyZW5jZUVsZW1lbnQgPSBwYXJlbnRcbiAgICB9IGVsc2UgaWYgKGlzRWxlbWVudCh0aGlzLl9jb25maWcucmVmZXJlbmNlKSkge1xuICAgICAgcmVmZXJlbmNlRWxlbWVudCA9IGdldEVsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9jb25maWcucmVmZXJlbmNlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2NvbmZpZy5yZWZlcmVuY2VcbiAgICB9XG5cbiAgICBjb25zdCBwb3BwZXJDb25maWcgPSB0aGlzLl9nZXRQb3BwZXJDb25maWcoKVxuICAgIGNvbnN0IGlzRGlzcGxheVN0YXRpYyA9IHBvcHBlckNvbmZpZy5tb2RpZmllcnMuZmluZChtb2RpZmllciA9PiBtb2RpZmllci5uYW1lID09PSAnYXBwbHlTdHlsZXMnICYmIG1vZGlmaWVyLmVuYWJsZWQgPT09IGZhbHNlKVxuXG4gICAgdGhpcy5fcG9wcGVyID0gUG9wcGVyLmNyZWF0ZVBvcHBlcihyZWZlcmVuY2VFbGVtZW50LCB0aGlzLl9tZW51LCBwb3BwZXJDb25maWcpXG5cbiAgICBpZiAoaXNEaXNwbGF5U3RhdGljKSB7XG4gICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKHRoaXMuX21lbnUsICdwb3BwZXInLCAnc3RhdGljJylcbiAgICB9XG4gIH1cblxuICBfaXNTaG93bihlbGVtZW50ID0gdGhpcy5fZWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1cpXG4gIH1cblxuICBfZ2V0TWVudUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIFNlbGVjdG9yRW5naW5lLm5leHQodGhpcy5fZWxlbWVudCwgU0VMRUNUT1JfTUVOVSlbMF1cbiAgfVxuXG4gIF9nZXRQbGFjZW1lbnQoKSB7XG4gICAgY29uc3QgcGFyZW50RHJvcGRvd24gPSB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGVcblxuICAgIGlmIChwYXJlbnREcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9EUk9QRU5EKSkge1xuICAgICAgcmV0dXJuIFBMQUNFTUVOVF9SSUdIVFxuICAgIH1cblxuICAgIGlmIChwYXJlbnREcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9EUk9QU1RBUlQpKSB7XG4gICAgICByZXR1cm4gUExBQ0VNRU5UX0xFRlRcbiAgICB9XG5cbiAgICAvLyBXZSBuZWVkIHRvIHRyaW0gdGhlIHZhbHVlIGJlY2F1c2UgY3VzdG9tIHByb3BlcnRpZXMgY2FuIGFsc28gaW5jbHVkZSBzcGFjZXNcbiAgICBjb25zdCBpc0VuZCA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5fbWVudSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1icy1wb3NpdGlvbicpLnRyaW0oKSA9PT0gJ2VuZCdcblxuICAgIGlmIChwYXJlbnREcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9EUk9QVVApKSB7XG4gICAgICByZXR1cm4gaXNFbmQgPyBQTEFDRU1FTlRfVE9QRU5EIDogUExBQ0VNRU5UX1RPUFxuICAgIH1cblxuICAgIHJldHVybiBpc0VuZCA/IFBMQUNFTUVOVF9CT1RUT01FTkQgOiBQTEFDRU1FTlRfQk9UVE9NXG4gIH1cblxuICBfZGV0ZWN0TmF2YmFyKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50LmNsb3Nlc3QoYC4ke0NMQVNTX05BTUVfTkFWQkFSfWApICE9PSBudWxsXG4gIH1cblxuICBfZ2V0T2Zmc2V0KCkge1xuICAgIGNvbnN0IHsgb2Zmc2V0IH0gPSB0aGlzLl9jb25maWdcblxuICAgIGlmICh0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9mZnNldC5zcGxpdCgnLCcpLm1hcCh2YWwgPT4gTnVtYmVyLnBhcnNlSW50KHZhbCwgMTApKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygb2Zmc2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gcG9wcGVyRGF0YSA9PiBvZmZzZXQocG9wcGVyRGF0YSwgdGhpcy5fZWxlbWVudClcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0XG4gIH1cblxuICBfZ2V0UG9wcGVyQ29uZmlnKCkge1xuICAgIGNvbnN0IGRlZmF1bHRCc1BvcHBlckNvbmZpZyA9IHtcbiAgICAgIHBsYWNlbWVudDogdGhpcy5fZ2V0UGxhY2VtZW50KCksXG4gICAgICBtb2RpZmllcnM6IFt7XG4gICAgICAgIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgYm91bmRhcnk6IHRoaXMuX2NvbmZpZy5ib3VuZGFyeVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb2Zmc2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG9mZnNldDogdGhpcy5fZ2V0T2Zmc2V0KClcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIFBvcHBlciBpZiB3ZSBoYXZlIGEgc3RhdGljIGRpc3BsYXlcbiAgICBpZiAodGhpcy5fY29uZmlnLmRpc3BsYXkgPT09ICdzdGF0aWMnKSB7XG4gICAgICBkZWZhdWx0QnNQb3BwZXJDb25maWcubW9kaWZpZXJzID0gW3tcbiAgICAgICAgbmFtZTogJ2FwcGx5U3R5bGVzJyxcbiAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgIH1dXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRCc1BvcHBlckNvbmZpZyxcbiAgICAgIC4uLih0eXBlb2YgdGhpcy5fY29uZmlnLnBvcHBlckNvbmZpZyA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuX2NvbmZpZy5wb3BwZXJDb25maWcoZGVmYXVsdEJzUG9wcGVyQ29uZmlnKSA6IHRoaXMuX2NvbmZpZy5wb3BwZXJDb25maWcpXG4gICAgfVxuICB9XG5cbiAgX3NlbGVjdE1lbnVJdGVtKHsga2V5LCB0YXJnZXQgfSkge1xuICAgIGNvbnN0IGl0ZW1zID0gU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9WSVNJQkxFX0lURU1TLCB0aGlzLl9tZW51KS5maWx0ZXIoaXNWaXNpYmxlKVxuXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIGlmIHRhcmdldCBpc24ndCBpbmNsdWRlZCBpbiBpdGVtcyAoZS5nLiB3aGVuIGV4cGFuZGluZyB0aGUgZHJvcGRvd24pXG4gICAgLy8gYWxsb3cgY3ljbGluZyB0byBnZXQgdGhlIGxhc3QgaXRlbSBpbiBjYXNlIGtleSBlcXVhbHMgQVJST1dfVVBfS0VZXG4gICAgZ2V0TmV4dEFjdGl2ZUVsZW1lbnQoaXRlbXMsIHRhcmdldCwga2V5ID09PSBBUlJPV19ET1dOX0tFWSwgIWl0ZW1zLmluY2x1ZGVzKHRhcmdldCkpLmZvY3VzKClcbiAgfVxuXG4gIC8vIFN0YXRpY1xuXG4gIHN0YXRpYyBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkYXRhID0gRHJvcGRvd24uZ2V0T3JDcmVhdGVJbnN0YW5jZSh0aGlzLCBjb25maWcpXG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE5vIG1ldGhvZCBuYW1lZCBcIiR7Y29uZmlnfVwiYClcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKClcbiAgICB9KVxuICB9XG5cbiAgc3RhdGljIGNsZWFyTWVudXMoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQgJiYgKGV2ZW50LmJ1dHRvbiA9PT0gUklHSFRfTU9VU0VfQlVUVE9OIHx8IChldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LmtleSAhPT0gVEFCX0tFWSkpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB0b2dnbGVzID0gU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EQVRBX1RPR0dMRSlcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0b2dnbGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gRHJvcGRvd24uZ2V0SW5zdGFuY2UodG9nZ2xlc1tpXSlcbiAgICAgIGlmICghY29udGV4dCB8fCBjb250ZXh0Ll9jb25maWcuYXV0b0Nsb3NlID09PSBmYWxzZSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbnRleHQuX2lzU2hvd24oKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0ge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBjb250ZXh0Ll9lbGVtZW50XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBjb25zdCBjb21wb3NlZFBhdGggPSBldmVudC5jb21wb3NlZFBhdGgoKVxuICAgICAgICBjb25zdCBpc01lbnVUYXJnZXQgPSBjb21wb3NlZFBhdGguaW5jbHVkZXMoY29udGV4dC5fbWVudSlcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbXBvc2VkUGF0aC5pbmNsdWRlcyhjb250ZXh0Ll9lbGVtZW50KSB8fFxuICAgICAgICAgIChjb250ZXh0Ll9jb25maWcuYXV0b0Nsb3NlID09PSAnaW5zaWRlJyAmJiAhaXNNZW51VGFyZ2V0KSB8fFxuICAgICAgICAgIChjb250ZXh0Ll9jb25maWcuYXV0b0Nsb3NlID09PSAnb3V0c2lkZScgJiYgaXNNZW51VGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGFiIG5hdmlnYXRpb24gdGhyb3VnaCB0aGUgZHJvcGRvd24gbWVudSBvciBldmVudHMgZnJvbSBjb250YWluZWQgaW5wdXRzIHNob3VsZG4ndCBjbG9zZSB0aGUgbWVudVxuICAgICAgICBpZiAoY29udGV4dC5fbWVudS5jb250YWlucyhldmVudC50YXJnZXQpICYmICgoZXZlbnQudHlwZSA9PT0gJ2tleXVwJyAmJiBldmVudC5rZXkgPT09IFRBQl9LRVkpIHx8IC9pbnB1dHxzZWxlY3R8b3B0aW9ufHRleHRhcmVhfGZvcm0vaS50ZXN0KGV2ZW50LnRhcmdldC50YWdOYW1lKSkpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICByZWxhdGVkVGFyZ2V0LmNsaWNrRXZlbnQgPSBldmVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuX2NvbXBsZXRlSGlkZShyZWxhdGVkVGFyZ2V0KVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRQYXJlbnRGcm9tRWxlbWVudChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGdldEVsZW1lbnRGcm9tU2VsZWN0b3IoZWxlbWVudCkgfHwgZWxlbWVudC5wYXJlbnROb2RlXG4gIH1cblxuICBzdGF0aWMgZGF0YUFwaUtleWRvd25IYW5kbGVyKGV2ZW50KSB7XG4gICAgLy8gSWYgbm90IGlucHV0L3RleHRhcmVhOlxuICAgIC8vICAtIEFuZCBub3QgYSBrZXkgaW4gUkVHRVhQX0tFWURPV04gPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgIC8vIElmIGlucHV0L3RleHRhcmVhOlxuICAgIC8vICAtIElmIHNwYWNlIGtleSA9PiBub3QgYSBkcm9wZG93biBjb21tYW5kXG4gICAgLy8gIC0gSWYga2V5IGlzIG90aGVyIHRoYW4gZXNjYXBlXG4gICAgLy8gICAgLSBJZiBrZXkgaXMgbm90IHVwIG9yIGRvd24gPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgIC8vICAgIC0gSWYgdHJpZ2dlciBpbnNpZGUgdGhlIG1lbnUgPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgIGlmICgvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGV2ZW50LnRhcmdldC50YWdOYW1lKSA/XG4gICAgICBldmVudC5rZXkgPT09IFNQQUNFX0tFWSB8fCAoZXZlbnQua2V5ICE9PSBFU0NBUEVfS0VZICYmXG4gICAgICAoKGV2ZW50LmtleSAhPT0gQVJST1dfRE9XTl9LRVkgJiYgZXZlbnQua2V5ICE9PSBBUlJPV19VUF9LRVkpIHx8XG4gICAgICAgIGV2ZW50LnRhcmdldC5jbG9zZXN0KFNFTEVDVE9SX01FTlUpKSkgOlxuICAgICAgIVJFR0VYUF9LRVlET1dOLnRlc3QoZXZlbnQua2V5KSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1cpXG5cbiAgICBpZiAoIWlzQWN0aXZlICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICBpZiAoaXNEaXNhYmxlZCh0aGlzKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZ2V0VG9nZ2xlQnV0dG9uID0gdGhpcy5tYXRjaGVzKFNFTEVDVE9SX0RBVEFfVE9HR0xFKSA/IHRoaXMgOiBTZWxlY3RvckVuZ2luZS5wcmV2KHRoaXMsIFNFTEVDVE9SX0RBVEFfVE9HR0xFKVswXVxuICAgIGNvbnN0IGluc3RhbmNlID0gRHJvcGRvd24uZ2V0T3JDcmVhdGVJbnN0YW5jZShnZXRUb2dnbGVCdXR0b24pXG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSBFU0NBUEVfS0VZKSB7XG4gICAgICBpbnN0YW5jZS5oaWRlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09IEFSUk9XX1VQX0tFWSB8fCBldmVudC5rZXkgPT09IEFSUk9XX0RPV05fS0VZKSB7XG4gICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgIGluc3RhbmNlLnNob3coKVxuICAgICAgfVxuXG4gICAgICBpbnN0YW5jZS5fc2VsZWN0TWVudUl0ZW0oZXZlbnQpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIWlzQWN0aXZlIHx8IGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZKSB7XG4gICAgICBEcm9wZG93bi5jbGVhck1lbnVzKClcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFLCBEcm9wZG93bi5kYXRhQXBpS2V5ZG93bkhhbmRsZXIpXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX01FTlUsIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlcilcbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEksIERyb3Bkb3duLmNsZWFyTWVudXMpXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWVVQX0RBVEFfQVBJLCBEcm9wZG93bi5jbGVhck1lbnVzKVxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSwgU0VMRUNUT1JfREFUQV9UT0dHTEUsIGZ1bmN0aW9uIChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIERyb3Bkb3duLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcykudG9nZ2xlKClcbn0pXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5Ecm9wZG93biB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmRlZmluZUpRdWVyeVBsdWdpbihEcm9wZG93bilcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd25cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogdXRpbC9zY3JvbGxCYXIuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5pbXBvcnQgU2VsZWN0b3JFbmdpbmUgZnJvbSAnLi4vZG9tL3NlbGVjdG9yLWVuZ2luZSdcbmltcG9ydCBNYW5pcHVsYXRvciBmcm9tICcuLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgeyBpc0VsZW1lbnQgfSBmcm9tICcuL2luZGV4J1xuXG5jb25zdCBTRUxFQ1RPUl9GSVhFRF9DT05URU5UID0gJy5maXhlZC10b3AsIC5maXhlZC1ib3R0b20sIC5pcy1maXhlZCwgLnN0aWNreS10b3AnXG5jb25zdCBTRUxFQ1RPUl9TVElDS1lfQ09OVEVOVCA9ICcuc3RpY2t5LXRvcCdcblxuY2xhc3MgU2Nyb2xsQmFySGVscGVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmJvZHlcbiAgfVxuXG4gIGdldFdpZHRoKCkge1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XaW5kb3cvaW5uZXJXaWR0aCN1c2FnZV9ub3Rlc1xuICAgIGNvbnN0IGRvY3VtZW50V2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICByZXR1cm4gTWF0aC5hYnMod2luZG93LmlubmVyV2lkdGggLSBkb2N1bWVudFdpZHRoKVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZ2V0V2lkdGgoKVxuICAgIHRoaXMuX2Rpc2FibGVPdmVyRmxvdygpXG4gICAgLy8gZ2l2ZSBwYWRkaW5nIHRvIGVsZW1lbnQgdG8gYmFsYW5jZSB0aGUgaGlkZGVuIHNjcm9sbGJhciB3aWR0aFxuICAgIHRoaXMuX3NldEVsZW1lbnRBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQsICdwYWRkaW5nUmlnaHQnLCBjYWxjdWxhdGVkVmFsdWUgPT4gY2FsY3VsYXRlZFZhbHVlICsgd2lkdGgpXG4gICAgLy8gdHJpY2s6IFdlIGFkanVzdCBwb3NpdGl2ZSBwYWRkaW5nUmlnaHQgYW5kIG5lZ2F0aXZlIG1hcmdpblJpZ2h0IHRvIHN0aWNreS10b3AgZWxlbWVudHMgdG8ga2VlcCBzaG93aW5nIGZ1bGx3aWR0aFxuICAgIHRoaXMuX3NldEVsZW1lbnRBdHRyaWJ1dGVzKFNFTEVDVE9SX0ZJWEVEX0NPTlRFTlQsICdwYWRkaW5nUmlnaHQnLCBjYWxjdWxhdGVkVmFsdWUgPT4gY2FsY3VsYXRlZFZhbHVlICsgd2lkdGgpXG4gICAgdGhpcy5fc2V0RWxlbWVudEF0dHJpYnV0ZXMoU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQsICdtYXJnaW5SaWdodCcsIGNhbGN1bGF0ZWRWYWx1ZSA9PiBjYWxjdWxhdGVkVmFsdWUgLSB3aWR0aClcbiAgfVxuXG4gIF9kaXNhYmxlT3ZlckZsb3coKSB7XG4gICAgdGhpcy5fc2F2ZUluaXRpYWxBdHRyaWJ1dGUodGhpcy5fZWxlbWVudCwgJ292ZXJmbG93JylcbiAgICB0aGlzLl9lbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcbiAgfVxuXG4gIF9zZXRFbGVtZW50QXR0cmlidXRlcyhzZWxlY3Rvciwgc3R5bGVQcm9wLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy5nZXRXaWR0aCgpXG4gICAgY29uc3QgbWFuaXB1bGF0aW9uQ2FsbEJhY2sgPSBlbGVtZW50ID0+IHtcbiAgICAgIGlmIChlbGVtZW50ICE9PSB0aGlzLl9lbGVtZW50ICYmIHdpbmRvdy5pbm5lcldpZHRoID4gZWxlbWVudC5jbGllbnRXaWR0aCArIHNjcm9sbGJhcldpZHRoKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICB0aGlzLl9zYXZlSW5pdGlhbEF0dHJpYnV0ZShlbGVtZW50LCBzdHlsZVByb3ApXG4gICAgICBjb25zdCBjYWxjdWxhdGVkVmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVtzdHlsZVByb3BdXG4gICAgICBlbGVtZW50LnN0eWxlW3N0eWxlUHJvcF0gPSBgJHtjYWxsYmFjayhOdW1iZXIucGFyc2VGbG9hdChjYWxjdWxhdGVkVmFsdWUpKX1weGBcbiAgICB9XG5cbiAgICB0aGlzLl9hcHBseU1hbmlwdWxhdGlvbkNhbGxiYWNrKHNlbGVjdG9yLCBtYW5pcHVsYXRpb25DYWxsQmFjaylcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuX3Jlc2V0RWxlbWVudEF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCwgJ292ZXJmbG93JylcbiAgICB0aGlzLl9yZXNldEVsZW1lbnRBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQsICdwYWRkaW5nUmlnaHQnKVxuICAgIHRoaXMuX3Jlc2V0RWxlbWVudEF0dHJpYnV0ZXMoU0VMRUNUT1JfRklYRURfQ09OVEVOVCwgJ3BhZGRpbmdSaWdodCcpXG4gICAgdGhpcy5fcmVzZXRFbGVtZW50QXR0cmlidXRlcyhTRUxFQ1RPUl9TVElDS1lfQ09OVEVOVCwgJ21hcmdpblJpZ2h0JylcbiAgfVxuXG4gIF9zYXZlSW5pdGlhbEF0dHJpYnV0ZShlbGVtZW50LCBzdHlsZVByb3ApIHtcbiAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGVsZW1lbnQuc3R5bGVbc3R5bGVQcm9wXVxuICAgIGlmIChhY3R1YWxWYWx1ZSkge1xuICAgICAgTWFuaXB1bGF0b3Iuc2V0RGF0YUF0dHJpYnV0ZShlbGVtZW50LCBzdHlsZVByb3AsIGFjdHVhbFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIF9yZXNldEVsZW1lbnRBdHRyaWJ1dGVzKHNlbGVjdG9yLCBzdHlsZVByb3ApIHtcbiAgICBjb25zdCBtYW5pcHVsYXRpb25DYWxsQmFjayA9IGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsIHN0eWxlUHJvcClcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoc3R5bGVQcm9wKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgTWFuaXB1bGF0b3IucmVtb3ZlRGF0YUF0dHJpYnV0ZShlbGVtZW50LCBzdHlsZVByb3ApXG4gICAgICAgIGVsZW1lbnQuc3R5bGVbc3R5bGVQcm9wXSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fYXBwbHlNYW5pcHVsYXRpb25DYWxsYmFjayhzZWxlY3RvciwgbWFuaXB1bGF0aW9uQ2FsbEJhY2spXG4gIH1cblxuICBfYXBwbHlNYW5pcHVsYXRpb25DYWxsYmFjayhzZWxlY3RvciwgY2FsbEJhY2spIHtcbiAgICBpZiAoaXNFbGVtZW50KHNlbGVjdG9yKSkge1xuICAgICAgY2FsbEJhY2soc2VsZWN0b3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoc2VsZWN0b3IsIHRoaXMuX2VsZW1lbnQpLmZvckVhY2goY2FsbEJhY2spXG4gICAgfVxuICB9XG5cbiAgaXNPdmVyZmxvd2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRXaWR0aCgpID4gMFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNjcm9sbEJhckhlbHBlclxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiB1dGlsL2JhY2tkcm9wLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IEV2ZW50SGFuZGxlciBmcm9tICcuLi9kb20vZXZlbnQtaGFuZGxlcidcbmltcG9ydCB7IGV4ZWN1dGUsIGV4ZWN1dGVBZnRlclRyYW5zaXRpb24sIGdldEVsZW1lbnQsIHJlZmxvdywgdHlwZUNoZWNrQ29uZmlnIH0gZnJvbSAnLi9pbmRleCdcblxuY29uc3QgRGVmYXVsdCA9IHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtYmFja2Ryb3AnLFxuICBpc1Zpc2libGU6IHRydWUsIC8vIGlmIGZhbHNlLCB3ZSB1c2UgdGhlIGJhY2tkcm9wIGhlbHBlciB3aXRob3V0IGFkZGluZyBhbnkgZWxlbWVudCB0byB0aGUgZG9tXG4gIGlzQW5pbWF0ZWQ6IGZhbHNlLFxuICByb290RWxlbWVudDogJ2JvZHknLCAvLyBnaXZlIHRoZSBjaG9pY2UgdG8gcGxhY2UgYmFja2Ryb3AgdW5kZXIgZGlmZmVyZW50IGVsZW1lbnRzXG4gIGNsaWNrQ2FsbGJhY2s6IG51bGxcbn1cblxuY29uc3QgRGVmYXVsdFR5cGUgPSB7XG4gIGNsYXNzTmFtZTogJ3N0cmluZycsXG4gIGlzVmlzaWJsZTogJ2Jvb2xlYW4nLFxuICBpc0FuaW1hdGVkOiAnYm9vbGVhbicsXG4gIHJvb3RFbGVtZW50OiAnKGVsZW1lbnR8c3RyaW5nKScsXG4gIGNsaWNrQ2FsbGJhY2s6ICcoZnVuY3Rpb258bnVsbCknXG59XG5jb25zdCBOQU1FID0gJ2JhY2tkcm9wJ1xuY29uc3QgQ0xBU1NfTkFNRV9GQURFID0gJ2ZhZGUnXG5jb25zdCBDTEFTU19OQU1FX1NIT1cgPSAnc2hvdydcblxuY29uc3QgRVZFTlRfTU9VU0VET1dOID0gYG1vdXNlZG93bi5icy4ke05BTUV9YFxuXG5jbGFzcyBCYWNrZHJvcCB7XG4gIGNvbnN0cnVjdG9yKGNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpXG4gICAgdGhpcy5faXNBcHBlbmRlZCA9IGZhbHNlXG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGxcbiAgfVxuXG4gIHNob3coY2FsbGJhY2spIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5pc1Zpc2libGUpIHtcbiAgICAgIGV4ZWN1dGUoY2FsbGJhY2spXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9hcHBlbmQoKVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKSB7XG4gICAgICByZWZsb3codGhpcy5fZ2V0RWxlbWVudCgpKVxuICAgIH1cblxuICAgIHRoaXMuX2dldEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVylcblxuICAgIHRoaXMuX2VtdWxhdGVBbmltYXRpb24oKCkgPT4ge1xuICAgICAgZXhlY3V0ZShjYWxsYmFjaylcbiAgICB9KVxuICB9XG5cbiAgaGlkZShjYWxsYmFjaykge1xuICAgIGlmICghdGhpcy5fY29uZmlnLmlzVmlzaWJsZSkge1xuICAgICAgZXhlY3V0ZShjYWxsYmFjaylcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2dldEVsZW1lbnQoKS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVylcblxuICAgIHRoaXMuX2VtdWxhdGVBbmltYXRpb24oKCkgPT4ge1xuICAgICAgdGhpcy5kaXNwb3NlKClcbiAgICAgIGV4ZWN1dGUoY2FsbGJhY2spXG4gICAgfSlcbiAgfVxuXG4gIC8vIFByaXZhdGVcblxuICBfZ2V0RWxlbWVudCgpIHtcbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGJhY2tkcm9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICAgIGJhY2tkcm9wLmNsYXNzTmFtZSA9IHRoaXMuX2NvbmZpZy5jbGFzc05hbWVcbiAgICAgIGlmICh0aGlzLl9jb25maWcuaXNBbmltYXRlZCkge1xuICAgICAgICBiYWNrZHJvcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfRkFERSlcbiAgICAgIH1cblxuICAgICAgdGhpcy5fZWxlbWVudCA9IGJhY2tkcm9wXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRcbiAgfVxuXG4gIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0ge1xuICAgICAgLi4uRGVmYXVsdCxcbiAgICAgIC4uLih0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyA/IGNvbmZpZyA6IHt9KVxuICAgIH1cblxuICAgIC8vIHVzZSBnZXRFbGVtZW50KCkgd2l0aCB0aGUgZGVmYXVsdCBcImJvZHlcIiB0byBnZXQgYSBmcmVzaCBFbGVtZW50IG9uIGVhY2ggaW5zdGFudGlhdGlvblxuICAgIGNvbmZpZy5yb290RWxlbWVudCA9IGdldEVsZW1lbnQoY29uZmlnLnJvb3RFbGVtZW50KVxuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FLCBjb25maWcsIERlZmF1bHRUeXBlKVxuICAgIHJldHVybiBjb25maWdcbiAgfVxuXG4gIF9hcHBlbmQoKSB7XG4gICAgaWYgKHRoaXMuX2lzQXBwZW5kZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2NvbmZpZy5yb290RWxlbWVudC5hcHBlbmQodGhpcy5fZ2V0RWxlbWVudCgpKVxuXG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2dldEVsZW1lbnQoKSwgRVZFTlRfTU9VU0VET1dOLCAoKSA9PiB7XG4gICAgICBleGVjdXRlKHRoaXMuX2NvbmZpZy5jbGlja0NhbGxiYWNrKVxuICAgIH0pXG5cbiAgICB0aGlzLl9pc0FwcGVuZGVkID0gdHJ1ZVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzQXBwZW5kZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VET1dOKVxuXG4gICAgdGhpcy5fZWxlbWVudC5yZW1vdmUoKVxuICAgIHRoaXMuX2lzQXBwZW5kZWQgPSBmYWxzZVxuICB9XG5cbiAgX2VtdWxhdGVBbmltYXRpb24oY2FsbGJhY2spIHtcbiAgICBleGVjdXRlQWZ0ZXJUcmFuc2l0aW9uKGNhbGxiYWNrLCB0aGlzLl9nZXRFbGVtZW50KCksIHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJhY2tkcm9wXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IHV0aWwvZm9jdXN0cmFwLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IEV2ZW50SGFuZGxlciBmcm9tICcuLi9kb20vZXZlbnQtaGFuZGxlcidcbmltcG9ydCBTZWxlY3RvckVuZ2luZSBmcm9tICcuLi9kb20vc2VsZWN0b3ItZW5naW5lJ1xuaW1wb3J0IHsgdHlwZUNoZWNrQ29uZmlnIH0gZnJvbSAnLi9pbmRleCdcblxuY29uc3QgRGVmYXVsdCA9IHtcbiAgdHJhcEVsZW1lbnQ6IG51bGwsIC8vIFRoZSBlbGVtZW50IHRvIHRyYXAgZm9jdXMgaW5zaWRlIG9mXG4gIGF1dG9mb2N1czogdHJ1ZVxufVxuXG5jb25zdCBEZWZhdWx0VHlwZSA9IHtcbiAgdHJhcEVsZW1lbnQ6ICdlbGVtZW50JyxcbiAgYXV0b2ZvY3VzOiAnYm9vbGVhbidcbn1cblxuY29uc3QgTkFNRSA9ICdmb2N1c3RyYXAnXG5jb25zdCBEQVRBX0tFWSA9ICdicy5mb2N1c3RyYXAnXG5jb25zdCBFVkVOVF9LRVkgPSBgLiR7REFUQV9LRVl9YFxuY29uc3QgRVZFTlRfRk9DVVNJTiA9IGBmb2N1c2luJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfS0VZRE9XTl9UQUIgPSBga2V5ZG93bi50YWIke0VWRU5UX0tFWX1gXG5cbmNvbnN0IFRBQl9LRVkgPSAnVGFiJ1xuY29uc3QgVEFCX05BVl9GT1JXQVJEID0gJ2ZvcndhcmQnXG5jb25zdCBUQUJfTkFWX0JBQ0tXQVJEID0gJ2JhY2t3YXJkJ1xuXG5jbGFzcyBGb2N1c1RyYXAge1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKVxuICAgIHRoaXMuX2lzQWN0aXZlID0gZmFsc2VcbiAgICB0aGlzLl9sYXN0VGFiTmF2RGlyZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgY29uc3QgeyB0cmFwRWxlbWVudCwgYXV0b2ZvY3VzIH0gPSB0aGlzLl9jb25maWdcblxuICAgIGlmICh0aGlzLl9pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGF1dG9mb2N1cykge1xuICAgICAgdHJhcEVsZW1lbnQuZm9jdXMoKVxuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0tFWSkgLy8gZ3VhcmQgYWdhaW5zdCBpbmZpbml0ZSBmb2N1cyBsb29wXG4gICAgRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9GT0NVU0lOLCBldmVudCA9PiB0aGlzLl9oYW5kbGVGb2N1c2luKGV2ZW50KSlcbiAgICBFdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fVEFCLCBldmVudCA9PiB0aGlzLl9oYW5kbGVLZXlkb3duKGV2ZW50KSlcblxuICAgIHRoaXMuX2lzQWN0aXZlID0gdHJ1ZVxuICB9XG5cbiAgZGVhY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzQWN0aXZlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9pc0FjdGl2ZSA9IGZhbHNlXG4gICAgRXZlbnRIYW5kbGVyLm9mZihkb2N1bWVudCwgRVZFTlRfS0VZKVxuICB9XG5cbiAgLy8gUHJpdmF0ZVxuXG4gIF9oYW5kbGVGb2N1c2luKGV2ZW50KSB7XG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50XG4gICAgY29uc3QgeyB0cmFwRWxlbWVudCB9ID0gdGhpcy5fY29uZmlnXG5cbiAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudCB8fCB0YXJnZXQgPT09IHRyYXBFbGVtZW50IHx8IHRyYXBFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzID0gU2VsZWN0b3JFbmdpbmUuZm9jdXNhYmxlQ2hpbGRyZW4odHJhcEVsZW1lbnQpXG5cbiAgICBpZiAoZWxlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0cmFwRWxlbWVudC5mb2N1cygpXG4gICAgfSBlbHNlIGlmICh0aGlzLl9sYXN0VGFiTmF2RGlyZWN0aW9uID09PSBUQUJfTkFWX0JBQ0tXQVJEKSB7XG4gICAgICBlbGVtZW50c1tlbGVtZW50cy5sZW5ndGggLSAxXS5mb2N1cygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnRzWzBdLmZvY3VzKClcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlS2V5ZG93bihldmVudCkge1xuICAgIGlmIChldmVudC5rZXkgIT09IFRBQl9LRVkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2xhc3RUYWJOYXZEaXJlY3Rpb24gPSBldmVudC5zaGlmdEtleSA/IFRBQl9OQVZfQkFDS1dBUkQgOiBUQUJfTkFWX0ZPUldBUkRcbiAgfVxuXG4gIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0ge1xuICAgICAgLi4uRGVmYXVsdCxcbiAgICAgIC4uLih0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyA/IGNvbmZpZyA6IHt9KVxuICAgIH1cbiAgICB0eXBlQ2hlY2tDb25maWcoTkFNRSwgY29uZmlnLCBEZWZhdWx0VHlwZSlcbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRm9jdXNUcmFwXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IG1vZGFsLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IHtcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICBnZXRFbGVtZW50RnJvbVNlbGVjdG9yLFxuICBpc1JUTCxcbiAgaXNWaXNpYmxlLFxuICByZWZsb3csXG4gIHR5cGVDaGVja0NvbmZpZ1xufSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgTWFuaXB1bGF0b3IgZnJvbSAnLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgU2VsZWN0b3JFbmdpbmUgZnJvbSAnLi9kb20vc2VsZWN0b3ItZW5naW5lJ1xuaW1wb3J0IFNjcm9sbEJhckhlbHBlciBmcm9tICcuL3V0aWwvc2Nyb2xsYmFyJ1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSAnLi9iYXNlLWNvbXBvbmVudCdcbmltcG9ydCBCYWNrZHJvcCBmcm9tICcuL3V0aWwvYmFja2Ryb3AnXG5pbXBvcnQgRm9jdXNUcmFwIGZyb20gJy4vdXRpbC9mb2N1c3RyYXAnXG5pbXBvcnQgeyBlbmFibGVEaXNtaXNzVHJpZ2dlciB9IGZyb20gJy4vdXRpbC9jb21wb25lbnQtZnVuY3Rpb25zJ1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBOQU1FID0gJ21vZGFsJ1xuY29uc3QgREFUQV9LRVkgPSAnYnMubW9kYWwnXG5jb25zdCBFVkVOVF9LRVkgPSBgLiR7REFUQV9LRVl9YFxuY29uc3QgREFUQV9BUElfS0VZID0gJy5kYXRhLWFwaSdcbmNvbnN0IEVTQ0FQRV9LRVkgPSAnRXNjYXBlJ1xuXG5jb25zdCBEZWZhdWx0ID0ge1xuICBiYWNrZHJvcDogdHJ1ZSxcbiAga2V5Ym9hcmQ6IHRydWUsXG4gIGZvY3VzOiB0cnVlXG59XG5cbmNvbnN0IERlZmF1bHRUeXBlID0ge1xuICBiYWNrZHJvcDogJyhib29sZWFufHN0cmluZyknLFxuICBrZXlib2FyZDogJ2Jvb2xlYW4nLFxuICBmb2N1czogJ2Jvb2xlYW4nXG59XG5cbmNvbnN0IEVWRU5UX0hJREUgPSBgaGlkZSR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0hJREVfUFJFVkVOVEVEID0gYGhpZGVQcmV2ZW50ZWQke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9ISURERU4gPSBgaGlkZGVuJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPVyA9IGBzaG93JHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPV04gPSBgc2hvd24ke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9SRVNJWkUgPSBgcmVzaXplJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfQ0xJQ0tfRElTTUlTUyA9IGBjbGljay5kaXNtaXNzJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfS0VZRE9XTl9ESVNNSVNTID0gYGtleWRvd24uZGlzbWlzcyR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX01PVVNFVVBfRElTTUlTUyA9IGBtb3VzZXVwLmRpc21pc3Mke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9NT1VTRURPV05fRElTTUlTUyA9IGBtb3VzZWRvd24uZGlzbWlzcyR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0NMSUNLX0RBVEFfQVBJID0gYGNsaWNrJHtFVkVOVF9LRVl9JHtEQVRBX0FQSV9LRVl9YFxuXG5jb25zdCBDTEFTU19OQU1FX09QRU4gPSAnbW9kYWwtb3BlbidcbmNvbnN0IENMQVNTX05BTUVfRkFERSA9ICdmYWRlJ1xuY29uc3QgQ0xBU1NfTkFNRV9TSE9XID0gJ3Nob3cnXG5jb25zdCBDTEFTU19OQU1FX1NUQVRJQyA9ICdtb2RhbC1zdGF0aWMnXG5cbmNvbnN0IE9QRU5fU0VMRUNUT1IgPSAnLm1vZGFsLnNob3cnXG5jb25zdCBTRUxFQ1RPUl9ESUFMT0cgPSAnLm1vZGFsLWRpYWxvZydcbmNvbnN0IFNFTEVDVE9SX01PREFMX0JPRFkgPSAnLm1vZGFsLWJvZHknXG5jb25zdCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSA9ICdbZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiXSdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNsYXNzIE1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHN1cGVyKGVsZW1lbnQpXG5cbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKVxuICAgIHRoaXMuX2RpYWxvZyA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRElBTE9HLCB0aGlzLl9lbGVtZW50KVxuICAgIHRoaXMuX2JhY2tkcm9wID0gdGhpcy5faW5pdGlhbGl6ZUJhY2tEcm9wKClcbiAgICB0aGlzLl9mb2N1c3RyYXAgPSB0aGlzLl9pbml0aWFsaXplRm9jdXNUcmFwKClcbiAgICB0aGlzLl9pc1Nob3duID0gZmFsc2VcbiAgICB0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gZmFsc2VcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBmYWxzZVxuICAgIHRoaXMuX3Njcm9sbEJhciA9IG5ldyBTY3JvbGxCYXJIZWxwZXIoKVxuICB9XG5cbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gRGVmYXVsdFxuICB9XG5cbiAgc3RhdGljIGdldCBOQU1FKCkge1xuICAgIHJldHVybiBOQU1FXG4gIH1cblxuICAvLyBQdWJsaWNcblxuICB0b2dnbGUocmVsYXRlZFRhcmdldCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3duID8gdGhpcy5oaWRlKCkgOiB0aGlzLnNob3cocmVsYXRlZFRhcmdldClcbiAgfVxuXG4gIHNob3cocmVsYXRlZFRhcmdldCkge1xuICAgIGlmICh0aGlzLl9pc1Nob3duIHx8IHRoaXMuX2lzVHJhbnNpdGlvbmluZykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVywge1xuICAgICAgcmVsYXRlZFRhcmdldFxuICAgIH0pXG5cbiAgICBpZiAoc2hvd0V2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2lzU2hvd24gPSB0cnVlXG5cbiAgICBpZiAodGhpcy5faXNBbmltYXRlZCgpKSB7XG4gICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5fc2Nyb2xsQmFyLmhpZGUoKVxuXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfT1BFTilcblxuICAgIHRoaXMuX2FkanVzdERpYWxvZygpXG5cbiAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpXG4gICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKVxuXG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2RpYWxvZywgRVZFTlRfTU9VU0VET1dOX0RJU01JU1MsICgpID0+IHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VVUF9ESVNNSVNTLCBldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IHRoaXMuX2VsZW1lbnQpIHtcbiAgICAgICAgICB0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG5cbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoKCkgPT4gdGhpcy5fc2hvd0VsZW1lbnQocmVsYXRlZFRhcmdldCkpXG4gIH1cblxuICBoaWRlKCkge1xuICAgIGlmICghdGhpcy5faXNTaG93biB8fCB0aGlzLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUpXG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2lzU2hvd24gPSBmYWxzZVxuICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLl9pc0FuaW1hdGVkKClcblxuICAgIGlmIChpc0FuaW1hdGVkKSB7XG4gICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5fc2V0RXNjYXBlRXZlbnQoKVxuICAgIHRoaXMuX3NldFJlc2l6ZUV2ZW50KClcblxuICAgIHRoaXMuX2ZvY3VzdHJhcC5kZWFjdGl2YXRlKClcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG5cbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0NMSUNLX0RJU01JU1MpXG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLl9kaWFsb2csIEVWRU5UX01PVVNFRE9XTl9ESVNNSVNTKVxuXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjaygoKSA9PiB0aGlzLl9oaWRlTW9kYWwoKSwgdGhpcy5fZWxlbWVudCwgaXNBbmltYXRlZClcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgW3dpbmRvdywgdGhpcy5fZGlhbG9nXVxuICAgICAgLmZvckVhY2goaHRtbEVsZW1lbnQgPT4gRXZlbnRIYW5kbGVyLm9mZihodG1sRWxlbWVudCwgRVZFTlRfS0VZKSlcblxuICAgIHRoaXMuX2JhY2tkcm9wLmRpc3Bvc2UoKVxuICAgIHRoaXMuX2ZvY3VzdHJhcC5kZWFjdGl2YXRlKClcbiAgICBzdXBlci5kaXNwb3NlKClcbiAgfVxuXG4gIGhhbmRsZVVwZGF0ZSgpIHtcbiAgICB0aGlzLl9hZGp1c3REaWFsb2coKVxuICB9XG5cbiAgLy8gUHJpdmF0ZVxuXG4gIF9pbml0aWFsaXplQmFja0Ryb3AoKSB7XG4gICAgcmV0dXJuIG5ldyBCYWNrZHJvcCh7XG4gICAgICBpc1Zpc2libGU6IEJvb2xlYW4odGhpcy5fY29uZmlnLmJhY2tkcm9wKSwgLy8gJ3N0YXRpYycgb3B0aW9uIHdpbGwgYmUgdHJhbnNsYXRlZCB0byB0cnVlLCBhbmQgYm9vbGVhbnMgd2lsbCBrZWVwIHRoZWlyIHZhbHVlXG4gICAgICBpc0FuaW1hdGVkOiB0aGlzLl9pc0FuaW1hdGVkKClcbiAgICB9KVxuICB9XG5cbiAgX2luaXRpYWxpemVGb2N1c1RyYXAoKSB7XG4gICAgcmV0dXJuIG5ldyBGb2N1c1RyYXAoe1xuICAgICAgdHJhcEVsZW1lbnQ6IHRoaXMuX2VsZW1lbnRcbiAgICB9KVxuICB9XG5cbiAgX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSB7XG4gICAgICAuLi5EZWZhdWx0LFxuICAgICAgLi4uTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCksXG4gICAgICAuLi4odHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiB7fSlcbiAgICB9XG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgRGVmYXVsdFR5cGUpXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG5cbiAgX3Nob3dFbGVtZW50KHJlbGF0ZWRUYXJnZXQpIHtcbiAgICBjb25zdCBpc0FuaW1hdGVkID0gdGhpcy5faXNBbmltYXRlZCgpXG4gICAgY29uc3QgbW9kYWxCb2R5ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9NT0RBTF9CT0RZLCB0aGlzLl9kaWFsb2cpXG5cbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSB8fCB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAvLyBEb24ndCBtb3ZlIG1vZGFsJ3MgRE9NIHBvc2l0aW9uXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLl9lbGVtZW50KVxuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKVxuICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLW1vZGFsJywgdHJ1ZSlcbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdkaWFsb2cnKVxuICAgIHRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wID0gMFxuXG4gICAgaWYgKG1vZGFsQm9keSkge1xuICAgICAgbW9kYWxCb2R5LnNjcm9sbFRvcCA9IDBcbiAgICB9XG5cbiAgICBpZiAoaXNBbmltYXRlZCkge1xuICAgICAgcmVmbG93KHRoaXMuX2VsZW1lbnQpXG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVylcblxuICAgIGNvbnN0IHRyYW5zaXRpb25Db21wbGV0ZSA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9jb25maWcuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5fZm9jdXN0cmFwLmFjdGl2YXRlKClcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2VcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NIT1dOLCB7XG4gICAgICAgIHJlbGF0ZWRUYXJnZXRcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjayh0cmFuc2l0aW9uQ29tcGxldGUsIHRoaXMuX2RpYWxvZywgaXNBbmltYXRlZClcbiAgfVxuXG4gIF9zZXRFc2NhcGVFdmVudCgpIHtcbiAgICBpZiAodGhpcy5faXNTaG93bikge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWURPV05fRElTTUlTUywgZXZlbnQgPT4ge1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnLmtleWJvYXJkICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICB0aGlzLmhpZGUoKVxuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9jb25maWcua2V5Ym9hcmQgJiYgZXZlbnQua2V5ID09PSBFU0NBUEVfS0VZKSB7XG4gICAgICAgICAgdGhpcy5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfS0VZRE9XTl9ESVNNSVNTKVxuICAgIH1cbiAgfVxuXG4gIF9zZXRSZXNpemVFdmVudCgpIHtcbiAgICBpZiAodGhpcy5faXNTaG93bikge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfUkVTSVpFLCAoKSA9PiB0aGlzLl9hZGp1c3REaWFsb2coKSlcbiAgICB9IGVsc2Uge1xuICAgICAgRXZlbnRIYW5kbGVyLm9mZih3aW5kb3csIEVWRU5UX1JFU0laRSlcbiAgICB9XG4gIH1cblxuICBfaGlkZU1vZGFsKCkge1xuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpXG4gICAgdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtbW9kYWwnKVxuICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdyb2xlJylcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBmYWxzZVxuICAgIHRoaXMuX2JhY2tkcm9wLmhpZGUoKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfT1BFTilcbiAgICAgIHRoaXMuX3Jlc2V0QWRqdXN0bWVudHMoKVxuICAgICAgdGhpcy5fc2Nyb2xsQmFyLnJlc2V0KClcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJRERFTilcbiAgICB9KVxuICB9XG5cbiAgX3Nob3dCYWNrZHJvcChjYWxsYmFjaykge1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTElDS19ESVNNSVNTLCBldmVudCA9PiB7XG4gICAgICBpZiAodGhpcy5faWdub3JlQmFja2Ryb3BDbGljaykge1xuICAgICAgICB0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gZmFsc2VcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC50YXJnZXQgIT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcuYmFja2Ryb3AgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5oaWRlKClcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZmlnLmJhY2tkcm9wID09PSAnc3RhdGljJykge1xuICAgICAgICB0aGlzLl90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5fYmFja2Ryb3Auc2hvdyhjYWxsYmFjaylcbiAgfVxuXG4gIF9pc0FuaW1hdGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0ZBREUpXG4gIH1cblxuICBfdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpIHtcbiAgICBjb25zdCBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFX1BSRVZFTlRFRClcbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHsgY2xhc3NMaXN0LCBzY3JvbGxIZWlnaHQsIHN0eWxlIH0gPSB0aGlzLl9lbGVtZW50XG4gICAgY29uc3QgaXNNb2RhbE92ZXJmbG93aW5nID0gc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodFxuXG4gICAgLy8gcmV0dXJuIGlmIHRoZSBmb2xsb3dpbmcgYmFja2dyb3VuZCB0cmFuc2l0aW9uIGhhc24ndCB5ZXQgY29tcGxldGVkXG4gICAgaWYgKCghaXNNb2RhbE92ZXJmbG93aW5nICYmIHN0eWxlLm92ZXJmbG93WSA9PT0gJ2hpZGRlbicpIHx8IGNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NUQVRJQykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICBzdHlsZS5vdmVyZmxvd1kgPSAnaGlkZGVuJ1xuICAgIH1cblxuICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TVEFUSUMpXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjaygoKSA9PiB7XG4gICAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU1RBVElDKVxuICAgICAgaWYgKCFpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgdGhpcy5fcXVldWVDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgc3R5bGUub3ZlcmZsb3dZID0gJydcbiAgICAgICAgfSwgdGhpcy5fZGlhbG9nKVxuICAgICAgfVxuICAgIH0sIHRoaXMuX2RpYWxvZylcblxuICAgIHRoaXMuX2VsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyB0aGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIHVzZWQgdG8gaGFuZGxlIG92ZXJmbG93aW5nIG1vZGFsc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgX2FkanVzdERpYWxvZygpIHtcbiAgICBjb25zdCBpc01vZGFsT3ZlcmZsb3dpbmcgPSB0aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodCA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHRcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHRoaXMuX3Njcm9sbEJhci5nZXRXaWR0aCgpXG4gICAgY29uc3QgaXNCb2R5T3ZlcmZsb3dpbmcgPSBzY3JvbGxiYXJXaWR0aCA+IDBcblxuICAgIGlmICgoIWlzQm9keU92ZXJmbG93aW5nICYmIGlzTW9kYWxPdmVyZmxvd2luZyAmJiAhaXNSVEwoKSkgfHwgKGlzQm9keU92ZXJmbG93aW5nICYmICFpc01vZGFsT3ZlcmZsb3dpbmcgJiYgaXNSVEwoKSkpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSBgJHtzY3JvbGxiYXJXaWR0aH1weGBcbiAgICB9XG5cbiAgICBpZiAoKGlzQm9keU92ZXJmbG93aW5nICYmICFpc01vZGFsT3ZlcmZsb3dpbmcgJiYgIWlzUlRMKCkpIHx8ICghaXNCb2R5T3ZlcmZsb3dpbmcgJiYgaXNNb2RhbE92ZXJmbG93aW5nICYmIGlzUlRMKCkpKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodCA9IGAke3Njcm9sbGJhcldpZHRofXB4YFxuICAgIH1cbiAgfVxuXG4gIF9yZXNldEFkanVzdG1lbnRzKCkge1xuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSAnJ1xuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gJydcbiAgfVxuXG4gIC8vIFN0YXRpY1xuXG4gIHN0YXRpYyBqUXVlcnlJbnRlcmZhY2UoY29uZmlnLCByZWxhdGVkVGFyZ2V0KSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkYXRhID0gTW9kYWwuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0aGlzLCBjb25maWcpXG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE5vIG1ldGhvZCBuYW1lZCBcIiR7Y29uZmlnfVwiYClcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKHJlbGF0ZWRUYXJnZXQpXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgY29uc3QgdGFyZ2V0ID0gZ2V0RWxlbWVudEZyb21TZWxlY3Rvcih0aGlzKVxuXG4gIGlmIChbJ0EnLCAnQVJFQSddLmluY2x1ZGVzKHRoaXMudGFnTmFtZSkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBFdmVudEhhbmRsZXIub25lKHRhcmdldCwgRVZFTlRfU0hPVywgc2hvd0V2ZW50ID0+IHtcbiAgICBpZiAoc2hvd0V2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIC8vIG9ubHkgcmVnaXN0ZXIgZm9jdXMgcmVzdG9yZXIgaWYgbW9kYWwgd2lsbCBhY3R1YWxseSBnZXQgc2hvd25cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vbmUodGFyZ2V0LCBFVkVOVF9ISURERU4sICgpID0+IHtcbiAgICAgIGlmIChpc1Zpc2libGUodGhpcykpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpXG4gICAgICB9XG4gICAgfSlcbiAgfSlcblxuICAvLyBhdm9pZCBjb25mbGljdCB3aGVuIGNsaWNraW5nIG1vZGRhbCB0b2dnbGVyIHdoaWxlIGFub3RoZXIgb25lIGlzIG9wZW5cbiAgY29uc3QgYWxsUmVhZHlPcGVuID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShPUEVOX1NFTEVDVE9SKVxuICBpZiAoYWxsUmVhZHlPcGVuKSB7XG4gICAgTW9kYWwuZ2V0SW5zdGFuY2UoYWxsUmVhZHlPcGVuKS5oaWRlKClcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBNb2RhbC5nZXRPckNyZWF0ZUluc3RhbmNlKHRhcmdldClcblxuICBkYXRhLnRvZ2dsZSh0aGlzKVxufSlcblxuZW5hYmxlRGlzbWlzc1RyaWdnZXIoTW9kYWwpXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5Nb2RhbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmRlZmluZUpRdWVyeVBsdWdpbihNb2RhbClcblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogb2ZmY2FudmFzLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IHtcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICBnZXRFbGVtZW50RnJvbVNlbGVjdG9yLFxuICBpc0Rpc2FibGVkLFxuICBpc1Zpc2libGUsXG4gIHR5cGVDaGVja0NvbmZpZ1xufSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgU2Nyb2xsQmFySGVscGVyIGZyb20gJy4vdXRpbC9zY3JvbGxiYXInXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuaW1wb3J0IFNlbGVjdG9yRW5naW5lIGZyb20gJy4vZG9tL3NlbGVjdG9yLWVuZ2luZSdcbmltcG9ydCBNYW5pcHVsYXRvciBmcm9tICcuL2RvbS9tYW5pcHVsYXRvcidcbmltcG9ydCBCYWNrZHJvcCBmcm9tICcuL3V0aWwvYmFja2Ryb3AnXG5pbXBvcnQgRm9jdXNUcmFwIGZyb20gJy4vdXRpbC9mb2N1c3RyYXAnXG5pbXBvcnQgeyBlbmFibGVEaXNtaXNzVHJpZ2dlciB9IGZyb20gJy4vdXRpbC9jb21wb25lbnQtZnVuY3Rpb25zJ1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBOQU1FID0gJ29mZmNhbnZhcydcbmNvbnN0IERBVEFfS0VZID0gJ2JzLm9mZmNhbnZhcydcbmNvbnN0IEVWRU5UX0tFWSA9IGAuJHtEQVRBX0tFWX1gXG5jb25zdCBEQVRBX0FQSV9LRVkgPSAnLmRhdGEtYXBpJ1xuY29uc3QgRVZFTlRfTE9BRF9EQVRBX0FQSSA9IGBsb2FkJHtFVkVOVF9LRVl9JHtEQVRBX0FQSV9LRVl9YFxuY29uc3QgRVNDQVBFX0tFWSA9ICdFc2NhcGUnXG5cbmNvbnN0IERlZmF1bHQgPSB7XG4gIGJhY2tkcm9wOiB0cnVlLFxuICBrZXlib2FyZDogdHJ1ZSxcbiAgc2Nyb2xsOiBmYWxzZVxufVxuXG5jb25zdCBEZWZhdWx0VHlwZSA9IHtcbiAgYmFja2Ryb3A6ICdib29sZWFuJyxcbiAga2V5Ym9hcmQ6ICdib29sZWFuJyxcbiAgc2Nyb2xsOiAnYm9vbGVhbidcbn1cblxuY29uc3QgQ0xBU1NfTkFNRV9TSE9XID0gJ3Nob3cnXG5jb25zdCBDTEFTU19OQU1FX0JBQ0tEUk9QID0gJ29mZmNhbnZhcy1iYWNrZHJvcCdcbmNvbnN0IE9QRU5fU0VMRUNUT1IgPSAnLm9mZmNhbnZhcy5zaG93J1xuXG5jb25zdCBFVkVOVF9TSE9XID0gYHNob3cke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9TSE9XTiA9IGBzaG93biR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0hJREUgPSBgaGlkZSR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX0hJRERFTiA9IGBoaWRkZW4ke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9DTElDS19EQVRBX0FQSSA9IGBjbGljayR7RVZFTlRfS0VZfSR7REFUQV9BUElfS0VZfWBcbmNvbnN0IEVWRU5UX0tFWURPV05fRElTTUlTUyA9IGBrZXlkb3duLmRpc21pc3Mke0VWRU5UX0tFWX1gXG5cbmNvbnN0IFNFTEVDVE9SX0RBVEFfVE9HR0xFID0gJ1tkYXRhLWJzLXRvZ2dsZT1cIm9mZmNhbnZhc1wiXSdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNsYXNzIE9mZmNhbnZhcyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBjb25maWcpIHtcbiAgICBzdXBlcihlbGVtZW50KVxuXG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZylcbiAgICB0aGlzLl9pc1Nob3duID0gZmFsc2VcbiAgICB0aGlzLl9iYWNrZHJvcCA9IHRoaXMuX2luaXRpYWxpemVCYWNrRHJvcCgpXG4gICAgdGhpcy5fZm9jdXN0cmFwID0gdGhpcy5faW5pdGlhbGl6ZUZvY3VzVHJhcCgpXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKVxuICB9XG5cbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgc3RhdGljIGdldCBEZWZhdWx0KCkge1xuICAgIHJldHVybiBEZWZhdWx0XG4gIH1cblxuICAvLyBQdWJsaWNcblxuICB0b2dnbGUocmVsYXRlZFRhcmdldCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3duID8gdGhpcy5oaWRlKCkgOiB0aGlzLnNob3cocmVsYXRlZFRhcmdldClcbiAgfVxuXG4gIHNob3cocmVsYXRlZFRhcmdldCkge1xuICAgIGlmICh0aGlzLl9pc1Nob3duKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBzaG93RXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TSE9XLCB7IHJlbGF0ZWRUYXJnZXQgfSlcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5faXNTaG93biA9IHRydWVcbiAgICB0aGlzLl9lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSdcblxuICAgIHRoaXMuX2JhY2tkcm9wLnNob3coKVxuXG4gICAgaWYgKCF0aGlzLl9jb25maWcuc2Nyb2xsKSB7XG4gICAgICBuZXcgU2Nyb2xsQmFySGVscGVyKCkuaGlkZSgpXG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJylcbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1tb2RhbCcsIHRydWUpXG4gICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnZGlhbG9nJylcbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XKVxuXG4gICAgY29uc3QgY29tcGxldGVDYWxsQmFjayA9ICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5fY29uZmlnLnNjcm9sbCkge1xuICAgICAgICB0aGlzLl9mb2N1c3RyYXAuYWN0aXZhdGUoKVxuICAgICAgfVxuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TSE9XTiwgeyByZWxhdGVkVGFyZ2V0IH0pXG4gICAgfVxuXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjayhjb21wbGV0ZUNhbGxCYWNrLCB0aGlzLl9lbGVtZW50LCB0cnVlKVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzU2hvd24pIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUpXG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2ZvY3VzdHJhcC5kZWFjdGl2YXRlKClcbiAgICB0aGlzLl9lbGVtZW50LmJsdXIoKVxuICAgIHRoaXMuX2lzU2hvd24gPSBmYWxzZVxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG4gICAgdGhpcy5fYmFja2Ryb3AuaGlkZSgpXG5cbiAgICBjb25zdCBjb21wbGV0ZUNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgdHJ1ZSlcbiAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW1vZGFsJylcbiAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdyb2xlJylcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nXG5cbiAgICAgIGlmICghdGhpcy5fY29uZmlnLnNjcm9sbCkge1xuICAgICAgICBuZXcgU2Nyb2xsQmFySGVscGVyKCkucmVzZXQoKVxuICAgICAgfVxuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURERU4pXG4gICAgfVxuXG4gICAgdGhpcy5fcXVldWVDYWxsYmFjayhjb21wbGV0ZUNhbGxiYWNrLCB0aGlzLl9lbGVtZW50LCB0cnVlKVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICB0aGlzLl9iYWNrZHJvcC5kaXNwb3NlKClcbiAgICB0aGlzLl9mb2N1c3RyYXAuZGVhY3RpdmF0ZSgpXG4gICAgc3VwZXIuZGlzcG9zZSgpXG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSB7XG4gICAgICAuLi5EZWZhdWx0LFxuICAgICAgLi4uTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCksXG4gICAgICAuLi4odHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiB7fSlcbiAgICB9XG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgRGVmYXVsdFR5cGUpXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG5cbiAgX2luaXRpYWxpemVCYWNrRHJvcCgpIHtcbiAgICByZXR1cm4gbmV3IEJhY2tkcm9wKHtcbiAgICAgIGNsYXNzTmFtZTogQ0xBU1NfTkFNRV9CQUNLRFJPUCxcbiAgICAgIGlzVmlzaWJsZTogdGhpcy5fY29uZmlnLmJhY2tkcm9wLFxuICAgICAgaXNBbmltYXRlZDogdHJ1ZSxcbiAgICAgIHJvb3RFbGVtZW50OiB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICBjbGlja0NhbGxiYWNrOiAoKSA9PiB0aGlzLmhpZGUoKVxuICAgIH0pXG4gIH1cblxuICBfaW5pdGlhbGl6ZUZvY3VzVHJhcCgpIHtcbiAgICByZXR1cm4gbmV3IEZvY3VzVHJhcCh7XG4gICAgICB0cmFwRWxlbWVudDogdGhpcy5fZWxlbWVudFxuICAgIH0pXG4gIH1cblxuICBfYWRkRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWURPV05fRElTTUlTUywgZXZlbnQgPT4ge1xuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5rZXlib2FyZCAmJiBldmVudC5rZXkgPT09IEVTQ0FQRV9LRVkpIHtcbiAgICAgICAgdGhpcy5oaWRlKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLy8gU3RhdGljXG5cbiAgc3RhdGljIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBPZmZjYW52YXMuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0aGlzLCBjb25maWcpXG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGRhdGFbY29uZmlnXSA9PT0gdW5kZWZpbmVkIHx8IGNvbmZpZy5zdGFydHNXaXRoKCdfJykgfHwgY29uZmlnID09PSAnY29uc3RydWN0b3InKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE5vIG1ldGhvZCBuYW1lZCBcIiR7Y29uZmlnfVwiYClcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKHRoaXMpXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgY29uc3QgdGFyZ2V0ID0gZ2V0RWxlbWVudEZyb21TZWxlY3Rvcih0aGlzKVxuXG4gIGlmIChbJ0EnLCAnQVJFQSddLmluY2x1ZGVzKHRoaXMudGFnTmFtZSkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBpZiAoaXNEaXNhYmxlZCh0aGlzKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgRXZlbnRIYW5kbGVyLm9uZSh0YXJnZXQsIEVWRU5UX0hJRERFTiwgKCkgPT4ge1xuICAgIC8vIGZvY3VzIG9uIHRyaWdnZXIgd2hlbiBpdCBpcyBjbG9zZWRcbiAgICBpZiAoaXNWaXNpYmxlKHRoaXMpKSB7XG4gICAgICB0aGlzLmZvY3VzKClcbiAgICB9XG4gIH0pXG5cbiAgLy8gYXZvaWQgY29uZmxpY3Qgd2hlbiBjbGlja2luZyBhIHRvZ2dsZXIgb2YgYW4gb2ZmY2FudmFzLCB3aGlsZSBhbm90aGVyIGlzIG9wZW5cbiAgY29uc3QgYWxsUmVhZHlPcGVuID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShPUEVOX1NFTEVDVE9SKVxuICBpZiAoYWxsUmVhZHlPcGVuICYmIGFsbFJlYWR5T3BlbiAhPT0gdGFyZ2V0KSB7XG4gICAgT2ZmY2FudmFzLmdldEluc3RhbmNlKGFsbFJlYWR5T3BlbikuaGlkZSgpXG4gIH1cblxuICBjb25zdCBkYXRhID0gT2ZmY2FudmFzLmdldE9yQ3JlYXRlSW5zdGFuY2UodGFyZ2V0KVxuICBkYXRhLnRvZ2dsZSh0aGlzKVxufSlcblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSwgKCkgPT5cbiAgU2VsZWN0b3JFbmdpbmUuZmluZChPUEVOX1NFTEVDVE9SKS5mb3JFYWNoKGVsID0+IE9mZmNhbnZhcy5nZXRPckNyZWF0ZUluc3RhbmNlKGVsKS5zaG93KCkpXG4pXG5cbmVuYWJsZURpc21pc3NUcmlnZ2VyKE9mZmNhbnZhcylcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmRlZmluZUpRdWVyeVBsdWdpbihPZmZjYW52YXMpXG5cbmV4cG9ydCBkZWZhdWx0IE9mZmNhbnZhc1xuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4xLjMpOiB1dGlsL3Nhbml0aXplci5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNvbnN0IHVyaUF0dHJpYnV0ZXMgPSBuZXcgU2V0KFtcbiAgJ2JhY2tncm91bmQnLFxuICAnY2l0ZScsXG4gICdocmVmJyxcbiAgJ2l0ZW10eXBlJyxcbiAgJ2xvbmdkZXNjJyxcbiAgJ3Bvc3RlcicsXG4gICdzcmMnLFxuICAneGxpbms6aHJlZidcbl0pXG5cbmNvbnN0IEFSSUFfQVRUUklCVVRFX1BBVFRFUk4gPSAvXmFyaWEtW1xcdy1dKiQvaVxuXG4vKipcbiAqIEEgcGF0dGVybiB0aGF0IHJlY29nbml6ZXMgYSBjb21tb25seSB1c2VmdWwgc3Vic2V0IG9mIFVSTHMgdGhhdCBhcmUgc2FmZS5cbiAqXG4gKiBTaG91dG91dCB0byBBbmd1bGFyIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi8xMi4yLngvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuY29uc3QgU0FGRV9VUkxfUEFUVEVSTiA9IC9eKD86KD86aHR0cHM/fG1haWx0b3xmdHB8dGVsfGZpbGV8c21zKTp8W14jJi86P10qKD86WyMvP118JCkpL2lcblxuLyoqXG4gKiBBIHBhdHRlcm4gdGhhdCBtYXRjaGVzIHNhZmUgZGF0YSBVUkxzLiBPbmx5IG1hdGNoZXMgaW1hZ2UsIHZpZGVvIGFuZCBhdWRpbyB0eXBlcy5cbiAqXG4gKiBTaG91dG91dCB0byBBbmd1bGFyIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi8xMi4yLngvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuY29uc3QgREFUQV9VUkxfUEFUVEVSTiA9IC9eZGF0YTooPzppbWFnZVxcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cXC8oPzptcDN8b2dhfG9nZ3xvcHVzKSk7YmFzZTY0LFtcXGQrL2Etel0rPSokL2lcblxuY29uc3QgYWxsb3dlZEF0dHJpYnV0ZSA9IChhdHRyaWJ1dGUsIGFsbG93ZWRBdHRyaWJ1dGVMaXN0KSA9PiB7XG4gIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKVxuXG4gIGlmIChhbGxvd2VkQXR0cmlidXRlTGlzdC5pbmNsdWRlcyhhdHRyaWJ1dGVOYW1lKSkge1xuICAgIGlmICh1cmlBdHRyaWJ1dGVzLmhhcyhhdHRyaWJ1dGVOYW1lKSkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oU0FGRV9VUkxfUEFUVEVSTi50ZXN0KGF0dHJpYnV0ZS5ub2RlVmFsdWUpIHx8IERBVEFfVVJMX1BBVFRFUk4udGVzdChhdHRyaWJ1dGUubm9kZVZhbHVlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgY29uc3QgcmVnRXhwID0gYWxsb3dlZEF0dHJpYnV0ZUxpc3QuZmlsdGVyKGF0dHJpYnV0ZVJlZ2V4ID0+IGF0dHJpYnV0ZVJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKVxuXG4gIC8vIENoZWNrIGlmIGEgcmVndWxhciBleHByZXNzaW9uIHZhbGlkYXRlcyB0aGUgYXR0cmlidXRlLlxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gcmVnRXhwLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKHJlZ0V4cFtpXS50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFsbG93bGlzdCA9IHtcbiAgLy8gR2xvYmFsIGF0dHJpYnV0ZXMgYWxsb3dlZCBvbiBhbnkgc3VwcGxpZWQgZWxlbWVudCBiZWxvdy5cbiAgJyonOiBbJ2NsYXNzJywgJ2RpcicsICdpZCcsICdsYW5nJywgJ3JvbGUnLCBBUklBX0FUVFJJQlVURV9QQVRURVJOXSxcbiAgYTogWyd0YXJnZXQnLCAnaHJlZicsICd0aXRsZScsICdyZWwnXSxcbiAgYXJlYTogW10sXG4gIGI6IFtdLFxuICBicjogW10sXG4gIGNvbDogW10sXG4gIGNvZGU6IFtdLFxuICBkaXY6IFtdLFxuICBlbTogW10sXG4gIGhyOiBbXSxcbiAgaDE6IFtdLFxuICBoMjogW10sXG4gIGgzOiBbXSxcbiAgaDQ6IFtdLFxuICBoNTogW10sXG4gIGg2OiBbXSxcbiAgaTogW10sXG4gIGltZzogWydzcmMnLCAnc3Jjc2V0JywgJ2FsdCcsICd0aXRsZScsICd3aWR0aCcsICdoZWlnaHQnXSxcbiAgbGk6IFtdLFxuICBvbDogW10sXG4gIHA6IFtdLFxuICBwcmU6IFtdLFxuICBzOiBbXSxcbiAgc21hbGw6IFtdLFxuICBzcGFuOiBbXSxcbiAgc3ViOiBbXSxcbiAgc3VwOiBbXSxcbiAgc3Ryb25nOiBbXSxcbiAgdTogW10sXG4gIHVsOiBbXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVIdG1sKHVuc2FmZUh0bWwsIGFsbG93TGlzdCwgc2FuaXRpemVGbikge1xuICBpZiAoIXVuc2FmZUh0bWwubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuc2FmZUh0bWxcbiAgfVxuXG4gIGlmIChzYW5pdGl6ZUZuICYmIHR5cGVvZiBzYW5pdGl6ZUZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHNhbml0aXplRm4odW5zYWZlSHRtbClcbiAgfVxuXG4gIGNvbnN0IGRvbVBhcnNlciA9IG5ldyB3aW5kb3cuRE9NUGFyc2VyKClcbiAgY29uc3QgY3JlYXRlZERvY3VtZW50ID0gZG9tUGFyc2VyLnBhcnNlRnJvbVN0cmluZyh1bnNhZmVIdG1sLCAndGV4dC9odG1sJylcbiAgY29uc3QgZWxlbWVudHMgPSBbXS5jb25jYXQoLi4uY3JlYXRlZERvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnKicpKVxuXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBlbGVtZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tpXVxuICAgIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGFsbG93TGlzdCkuaW5jbHVkZXMoZWxlbWVudE5hbWUpKSB7XG4gICAgICBlbGVtZW50LnJlbW92ZSgpXG5cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlTGlzdCA9IFtdLmNvbmNhdCguLi5lbGVtZW50LmF0dHJpYnV0ZXMpXG4gICAgY29uc3QgYWxsb3dlZEF0dHJpYnV0ZXMgPSBbXS5jb25jYXQoYWxsb3dMaXN0WycqJ10gfHwgW10sIGFsbG93TGlzdFtlbGVtZW50TmFtZV0gfHwgW10pXG5cbiAgICBhdHRyaWJ1dGVMaXN0LmZvckVhY2goYXR0cmlidXRlID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEF0dHJpYnV0ZShhdHRyaWJ1dGUsIGFsbG93ZWRBdHRyaWJ1dGVzKSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUubm9kZU5hbWUpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVkRG9jdW1lbnQuYm9keS5pbm5lckhUTUxcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogdG9vbHRpcC5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmltcG9ydCAqIGFzIFBvcHBlciBmcm9tICdAcG9wcGVyanMvY29yZSdcblxuaW1wb3J0IHtcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICBmaW5kU2hhZG93Um9vdCxcbiAgZ2V0RWxlbWVudCxcbiAgZ2V0VUlELFxuICBpc0VsZW1lbnQsXG4gIGlzUlRMLFxuICBub29wLFxuICB0eXBlQ2hlY2tDb25maWdcbn0gZnJvbSAnLi91dGlsL2luZGV4J1xuaW1wb3J0IHsgRGVmYXVsdEFsbG93bGlzdCwgc2FuaXRpemVIdG1sIH0gZnJvbSAnLi91dGlsL3Nhbml0aXplcidcbmltcG9ydCBEYXRhIGZyb20gJy4vZG9tL2RhdGEnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgTWFuaXB1bGF0b3IgZnJvbSAnLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgU2VsZWN0b3JFbmdpbmUgZnJvbSAnLi9kb20vc2VsZWN0b3ItZW5naW5lJ1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSAnLi9iYXNlLWNvbXBvbmVudCdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICd0b29sdGlwJ1xuY29uc3QgREFUQV9LRVkgPSAnYnMudG9vbHRpcCdcbmNvbnN0IEVWRU5UX0tFWSA9IGAuJHtEQVRBX0tFWX1gXG5jb25zdCBDTEFTU19QUkVGSVggPSAnYnMtdG9vbHRpcCdcbmNvbnN0IERJU0FMTE9XRURfQVRUUklCVVRFUyA9IG5ldyBTZXQoWydzYW5pdGl6ZScsICdhbGxvd0xpc3QnLCAnc2FuaXRpemVGbiddKVxuXG5jb25zdCBEZWZhdWx0VHlwZSA9IHtcbiAgYW5pbWF0aW9uOiAnYm9vbGVhbicsXG4gIHRlbXBsYXRlOiAnc3RyaW5nJyxcbiAgdGl0bGU6ICcoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pJyxcbiAgdHJpZ2dlcjogJ3N0cmluZycsXG4gIGRlbGF5OiAnKG51bWJlcnxvYmplY3QpJyxcbiAgaHRtbDogJ2Jvb2xlYW4nLFxuICBzZWxlY3RvcjogJyhzdHJpbmd8Ym9vbGVhbiknLFxuICBwbGFjZW1lbnQ6ICcoc3RyaW5nfGZ1bmN0aW9uKScsXG4gIG9mZnNldDogJyhhcnJheXxzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgY29udGFpbmVyOiAnKHN0cmluZ3xlbGVtZW50fGJvb2xlYW4pJyxcbiAgZmFsbGJhY2tQbGFjZW1lbnRzOiAnYXJyYXknLFxuICBib3VuZGFyeTogJyhzdHJpbmd8ZWxlbWVudCknLFxuICBjdXN0b21DbGFzczogJyhzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgc2FuaXRpemU6ICdib29sZWFuJyxcbiAgc2FuaXRpemVGbjogJyhudWxsfGZ1bmN0aW9uKScsXG4gIGFsbG93TGlzdDogJ29iamVjdCcsXG4gIHBvcHBlckNvbmZpZzogJyhudWxsfG9iamVjdHxmdW5jdGlvbiknXG59XG5cbmNvbnN0IEF0dGFjaG1lbnRNYXAgPSB7XG4gIEFVVE86ICdhdXRvJyxcbiAgVE9QOiAndG9wJyxcbiAgUklHSFQ6IGlzUlRMKCkgPyAnbGVmdCcgOiAncmlnaHQnLFxuICBCT1RUT006ICdib3R0b20nLFxuICBMRUZUOiBpc1JUTCgpID8gJ3JpZ2h0JyA6ICdsZWZ0J1xufVxuXG5jb25zdCBEZWZhdWx0ID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiPicgK1xuICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj4nICtcbiAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCJ0b29sdGlwLWlubmVyXCI+PC9kaXY+JyArXG4gICAgICAgICAgICAnPC9kaXY+JyxcbiAgdHJpZ2dlcjogJ2hvdmVyIGZvY3VzJyxcbiAgdGl0bGU6ICcnLFxuICBkZWxheTogMCxcbiAgaHRtbDogZmFsc2UsXG4gIHNlbGVjdG9yOiBmYWxzZSxcbiAgcGxhY2VtZW50OiAndG9wJyxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGNvbnRhaW5lcjogZmFsc2UsXG4gIGZhbGxiYWNrUGxhY2VtZW50czogWyd0b3AnLCAncmlnaHQnLCAnYm90dG9tJywgJ2xlZnQnXSxcbiAgYm91bmRhcnk6ICdjbGlwcGluZ1BhcmVudHMnLFxuICBjdXN0b21DbGFzczogJycsXG4gIHNhbml0aXplOiB0cnVlLFxuICBzYW5pdGl6ZUZuOiBudWxsLFxuICBhbGxvd0xpc3Q6IERlZmF1bHRBbGxvd2xpc3QsXG4gIHBvcHBlckNvbmZpZzogbnVsbFxufVxuXG5jb25zdCBFdmVudCA9IHtcbiAgSElERTogYGhpZGUke0VWRU5UX0tFWX1gLFxuICBISURERU46IGBoaWRkZW4ke0VWRU5UX0tFWX1gLFxuICBTSE9XOiBgc2hvdyR7RVZFTlRfS0VZfWAsXG4gIFNIT1dOOiBgc2hvd24ke0VWRU5UX0tFWX1gLFxuICBJTlNFUlRFRDogYGluc2VydGVkJHtFVkVOVF9LRVl9YCxcbiAgQ0xJQ0s6IGBjbGljayR7RVZFTlRfS0VZfWAsXG4gIEZPQ1VTSU46IGBmb2N1c2luJHtFVkVOVF9LRVl9YCxcbiAgRk9DVVNPVVQ6IGBmb2N1c291dCR7RVZFTlRfS0VZfWAsXG4gIE1PVVNFRU5URVI6IGBtb3VzZWVudGVyJHtFVkVOVF9LRVl9YCxcbiAgTU9VU0VMRUFWRTogYG1vdXNlbGVhdmUke0VWRU5UX0tFWX1gXG59XG5cbmNvbnN0IENMQVNTX05BTUVfRkFERSA9ICdmYWRlJ1xuY29uc3QgQ0xBU1NfTkFNRV9NT0RBTCA9ICdtb2RhbCdcbmNvbnN0IENMQVNTX05BTUVfU0hPVyA9ICdzaG93J1xuXG5jb25zdCBIT1ZFUl9TVEFURV9TSE9XID0gJ3Nob3cnXG5jb25zdCBIT1ZFUl9TVEFURV9PVVQgPSAnb3V0J1xuXG5jb25zdCBTRUxFQ1RPUl9UT09MVElQX0lOTkVSID0gJy50b29sdGlwLWlubmVyJ1xuY29uc3QgU0VMRUNUT1JfTU9EQUwgPSBgLiR7Q0xBU1NfTkFNRV9NT0RBTH1gXG5cbmNvbnN0IEVWRU5UX01PREFMX0hJREUgPSAnaGlkZS5icy5tb2RhbCdcblxuY29uc3QgVFJJR0dFUl9IT1ZFUiA9ICdob3ZlcidcbmNvbnN0IFRSSUdHRVJfRk9DVVMgPSAnZm9jdXMnXG5jb25zdCBUUklHR0VSX0NMSUNLID0gJ2NsaWNrJ1xuY29uc3QgVFJJR0dFUl9NQU5VQUwgPSAnbWFudWFsJ1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY2xhc3MgVG9vbHRpcCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBjb25maWcpIHtcbiAgICBpZiAodHlwZW9mIFBvcHBlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0Jvb3RzdHJhcFxcJ3MgdG9vbHRpcHMgcmVxdWlyZSBQb3BwZXIgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZyknKVxuICAgIH1cblxuICAgIHN1cGVyKGVsZW1lbnQpXG5cbiAgICAvLyBwcml2YXRlXG4gICAgdGhpcy5faXNFbmFibGVkID0gdHJ1ZVxuICAgIHRoaXMuX3RpbWVvdXQgPSAwXG4gICAgdGhpcy5faG92ZXJTdGF0ZSA9ICcnXG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlciA9IHt9XG4gICAgdGhpcy5fcG9wcGVyID0gbnVsbFxuXG4gICAgLy8gUHJvdGVjdGVkXG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZylcbiAgICB0aGlzLnRpcCA9IG51bGxcblxuICAgIHRoaXMuX3NldExpc3RlbmVycygpXG4gIH1cblxuICAvLyBHZXR0ZXJzXG5cbiAgc3RhdGljIGdldCBEZWZhdWx0KCkge1xuICAgIHJldHVybiBEZWZhdWx0XG4gIH1cblxuICBzdGF0aWMgZ2V0IE5BTUUoKSB7XG4gICAgcmV0dXJuIE5BTUVcbiAgfVxuXG4gIHN0YXRpYyBnZXQgRXZlbnQoKSB7XG4gICAgcmV0dXJuIEV2ZW50XG4gIH1cblxuICBzdGF0aWMgZ2V0IERlZmF1bHRUeXBlKCkge1xuICAgIHJldHVybiBEZWZhdWx0VHlwZVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgZW5hYmxlKCkge1xuICAgIHRoaXMuX2lzRW5hYmxlZCA9IHRydWVcbiAgfVxuXG4gIGRpc2FibGUoKSB7XG4gICAgdGhpcy5faXNFbmFibGVkID0gZmFsc2VcbiAgfVxuXG4gIHRvZ2dsZUVuYWJsZWQoKSB7XG4gICAgdGhpcy5faXNFbmFibGVkID0gIXRoaXMuX2lzRW5hYmxlZFxuICB9XG5cbiAgdG9nZ2xlKGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChldmVudCkge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2luaXRpYWxpemVPbkRlbGVnYXRlZFRhcmdldChldmVudClcblxuICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlci5jbGljayA9ICFjb250ZXh0Ll9hY3RpdmVUcmlnZ2VyLmNsaWNrXG5cbiAgICAgIGlmIChjb250ZXh0Ll9pc1dpdGhBY3RpdmVUcmlnZ2VyKCkpIHtcbiAgICAgICAgY29udGV4dC5fZW50ZXIobnVsbCwgY29udGV4dClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRleHQuX2xlYXZlKG51bGwsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmdldFRpcEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XKSkge1xuICAgICAgICB0aGlzLl9sZWF2ZShudWxsLCB0aGlzKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgdGhpcy5fZW50ZXIobnVsbCwgdGhpcylcbiAgICB9XG4gIH1cblxuICBkaXNwb3NlKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KVxuXG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoU0VMRUNUT1JfTU9EQUwpLCBFVkVOVF9NT0RBTF9ISURFLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKVxuXG4gICAgaWYgKHRoaXMudGlwKSB7XG4gICAgICB0aGlzLnRpcC5yZW1vdmUoKVxuICAgIH1cblxuICAgIHRoaXMuX2Rpc3Bvc2VQb3BwZXIoKVxuICAgIHN1cGVyLmRpc3Bvc2UoKVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHVzZSBzaG93IG9uIHZpc2libGUgZWxlbWVudHMnKVxuICAgIH1cblxuICAgIGlmICghKHRoaXMuaXNXaXRoQ29udGVudCgpICYmIHRoaXMuX2lzRW5hYmxlZCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHNob3dFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVylcbiAgICBjb25zdCBzaGFkb3dSb290ID0gZmluZFNoYWRvd1Jvb3QodGhpcy5fZWxlbWVudClcbiAgICBjb25zdCBpc0luVGhlRG9tID0gc2hhZG93Um9vdCA9PT0gbnVsbCA/XG4gICAgICB0aGlzLl9lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKHRoaXMuX2VsZW1lbnQpIDpcbiAgICAgIHNoYWRvd1Jvb3QuY29udGFpbnModGhpcy5fZWxlbWVudClcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCAhaXNJblRoZURvbSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gQSB0cmljayB0byByZWNyZWF0ZSBhIHRvb2x0aXAgaW4gY2FzZSBhIG5ldyB0aXRsZSBpcyBnaXZlbiBieSB1c2luZyB0aGUgTk9UIGRvY3VtZW50ZWQgYGRhdGEtYnMtb3JpZ2luYWwtdGl0bGVgXG4gICAgLy8gVGhpcyB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIgaW4gZmF2b3Igb2YgYSBgc2V0Q29udGVudGAgbWV0aG9kXG4gICAgaWYgKHRoaXMuY29uc3RydWN0b3IuTkFNRSA9PT0gJ3Rvb2x0aXAnICYmIHRoaXMudGlwICYmIHRoaXMuZ2V0VGl0bGUoKSAhPT0gdGhpcy50aXAucXVlcnlTZWxlY3RvcihTRUxFQ1RPUl9UT09MVElQX0lOTkVSKS5pbm5lckhUTUwpIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2VQb3BwZXIoKVxuICAgICAgdGhpcy50aXAucmVtb3ZlKClcbiAgICAgIHRoaXMudGlwID0gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpXG4gICAgY29uc3QgdGlwSWQgPSBnZXRVSUQodGhpcy5jb25zdHJ1Y3Rvci5OQU1FKVxuXG4gICAgdGlwLnNldEF0dHJpYnV0ZSgnaWQnLCB0aXBJZClcbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScsIHRpcElkKVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5hbmltYXRpb24pIHtcbiAgICAgIHRpcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfRkFERSlcbiAgICB9XG5cbiAgICBjb25zdCBwbGFjZW1lbnQgPSB0eXBlb2YgdGhpcy5fY29uZmlnLnBsYWNlbWVudCA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICB0aGlzLl9jb25maWcucGxhY2VtZW50LmNhbGwodGhpcywgdGlwLCB0aGlzLl9lbGVtZW50KSA6XG4gICAgICB0aGlzLl9jb25maWcucGxhY2VtZW50XG5cbiAgICBjb25zdCBhdHRhY2htZW50ID0gdGhpcy5fZ2V0QXR0YWNobWVudChwbGFjZW1lbnQpXG4gICAgdGhpcy5fYWRkQXR0YWNobWVudENsYXNzKGF0dGFjaG1lbnQpXG5cbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gdGhpcy5fY29uZmlnXG4gICAgRGF0YS5zZXQodGlwLCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKVxuXG4gICAgaWYgKCF0aGlzLl9lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKHRoaXMudGlwKSkge1xuICAgICAgY29udGFpbmVyLmFwcGVuZCh0aXApXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci51cGRhdGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9wb3BwZXIgPSBQb3BwZXIuY3JlYXRlUG9wcGVyKHRoaXMuX2VsZW1lbnQsIHRpcCwgdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKGF0dGFjaG1lbnQpKVxuICAgIH1cblxuICAgIHRpcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVylcblxuICAgIGNvbnN0IGN1c3RvbUNsYXNzID0gdGhpcy5fcmVzb2x2ZVBvc3NpYmxlRnVuY3Rpb24odGhpcy5fY29uZmlnLmN1c3RvbUNsYXNzKVxuICAgIGlmIChjdXN0b21DbGFzcykge1xuICAgICAgdGlwLmNsYXNzTGlzdC5hZGQoLi4uY3VzdG9tQ2xhc3Muc3BsaXQoJyAnKSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhXG4gICAgLy8gZW1wdHkgbW91c2VvdmVyIGxpc3RlbmVycyB0byB0aGUgYm9keSdzIGltbWVkaWF0ZSBjaGlsZHJlbjtcbiAgICAvLyBvbmx5IG5lZWRlZCBiZWNhdXNlIG9mIGJyb2tlbiBldmVudCBkZWxlZ2F0aW9uIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxNC8wMi9tb3VzZV9ldmVudF9idWIuaHRtbFxuICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIFtdLmNvbmNhdCguLi5kb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBFdmVudEhhbmRsZXIub24oZWxlbWVudCwgJ21vdXNlb3ZlcicsIG5vb3ApXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgY29uc3QgcHJldkhvdmVyU3RhdGUgPSB0aGlzLl9ob3ZlclN0YXRlXG5cbiAgICAgIHRoaXMuX2hvdmVyU3RhdGUgPSBudWxsXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKVxuXG4gICAgICBpZiAocHJldkhvdmVyU3RhdGUgPT09IEhPVkVSX1NUQVRFX09VVCkge1xuICAgICAgICB0aGlzLl9sZWF2ZShudWxsLCB0aGlzKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKVxuICAgIHRoaXMuX3F1ZXVlQ2FsbGJhY2soY29tcGxldGUsIHRoaXMudGlwLCBpc0FuaW1hdGVkKVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBpZiAoIXRoaXMuX3BvcHBlcikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgdGlwID0gdGhpcy5nZXRUaXBFbGVtZW50KClcbiAgICBjb25zdCBjb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9ob3ZlclN0YXRlICE9PSBIT1ZFUl9TVEFURV9TSE9XKSB7XG4gICAgICAgIHRpcC5yZW1vdmUoKVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9jbGVhblRpcENsYXNzKClcbiAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JylcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElEREVOKVxuXG4gICAgICB0aGlzLl9kaXNwb3NlUG9wcGVyKClcbiAgICB9XG5cbiAgICBjb25zdCBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LkhJREUpXG4gICAgaWYgKGhpZGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aXAuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG5cbiAgICAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgcmVtb3ZlIHRoZSBleHRyYVxuICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgd2UgYWRkZWQgZm9yIGlPUyBzdXBwb3J0XG4gICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgW10uY29uY2F0KC4uLmRvY3VtZW50LmJvZHkuY2hpbGRyZW4pXG4gICAgICAgIC5mb3JFYWNoKGVsZW1lbnQgPT4gRXZlbnRIYW5kbGVyLm9mZihlbGVtZW50LCAnbW91c2VvdmVyJywgbm9vcCkpXG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUUklHR0VSX0NMSUNLXSA9IGZhbHNlXG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUUklHR0VSX0ZPQ1VTXSA9IGZhbHNlXG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUUklHR0VSX0hPVkVSXSA9IGZhbHNlXG5cbiAgICBjb25zdCBpc0FuaW1hdGVkID0gdGhpcy50aXAuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSlcbiAgICB0aGlzLl9xdWV1ZUNhbGxiYWNrKGNvbXBsZXRlLCB0aGlzLnRpcCwgaXNBbmltYXRlZClcbiAgICB0aGlzLl9ob3ZlclN0YXRlID0gJydcbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5fcG9wcGVyICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9wb3BwZXIudXBkYXRlKClcbiAgICB9XG4gIH1cblxuICAvLyBQcm90ZWN0ZWRcblxuICBpc1dpdGhDb250ZW50KCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuZ2V0VGl0bGUoKSlcbiAgfVxuXG4gIGdldFRpcEVsZW1lbnQoKSB7XG4gICAgaWYgKHRoaXMudGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy50aXBcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICBlbGVtZW50LmlubmVySFRNTCA9IHRoaXMuX2NvbmZpZy50ZW1wbGF0ZVxuXG4gICAgY29uc3QgdGlwID0gZWxlbWVudC5jaGlsZHJlblswXVxuICAgIHRoaXMuc2V0Q29udGVudCh0aXApXG4gICAgdGlwLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GQURFLCBDTEFTU19OQU1FX1NIT1cpXG5cbiAgICB0aGlzLnRpcCA9IHRpcFxuICAgIHJldHVybiB0aGlzLnRpcFxuICB9XG5cbiAgc2V0Q29udGVudCh0aXApIHtcbiAgICB0aGlzLl9zYW5pdGl6ZUFuZFNldENvbnRlbnQodGlwLCB0aGlzLmdldFRpdGxlKCksIFNFTEVDVE9SX1RPT0xUSVBfSU5ORVIpXG4gIH1cblxuICBfc2FuaXRpemVBbmRTZXRDb250ZW50KHRlbXBsYXRlLCBjb250ZW50LCBzZWxlY3Rvcikge1xuICAgIGNvbnN0IHRlbXBsYXRlRWxlbWVudCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoc2VsZWN0b3IsIHRlbXBsYXRlKVxuXG4gICAgaWYgKCFjb250ZW50ICYmIHRlbXBsYXRlRWxlbWVudCkge1xuICAgICAgdGVtcGxhdGVFbGVtZW50LnJlbW92ZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3ZSB1c2UgYXBwZW5kIGZvciBodG1sIG9iamVjdHMgdG8gbWFpbnRhaW4ganMgZXZlbnRzXG4gICAgdGhpcy5zZXRFbGVtZW50Q29udGVudCh0ZW1wbGF0ZUVsZW1lbnQsIGNvbnRlbnQpXG4gIH1cblxuICBzZXRFbGVtZW50Q29udGVudChlbGVtZW50LCBjb250ZW50KSB7XG4gICAgaWYgKGVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0VsZW1lbnQoY29udGVudCkpIHtcbiAgICAgIGNvbnRlbnQgPSBnZXRFbGVtZW50KGNvbnRlbnQpXG5cbiAgICAgIC8vIGNvbnRlbnQgaXMgYSBET00gbm9kZSBvciBhIGpRdWVyeVxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5odG1sKSB7XG4gICAgICAgIGlmIChjb250ZW50LnBhcmVudE5vZGUgIT09IGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICcnXG4gICAgICAgICAgZWxlbWVudC5hcHBlbmQoY29udGVudClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGNvbnRlbnQudGV4dENvbnRlbnRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5odG1sKSB7XG4gICAgICBpZiAodGhpcy5fY29uZmlnLnNhbml0aXplKSB7XG4gICAgICAgIGNvbnRlbnQgPSBzYW5pdGl6ZUh0bWwoY29udGVudCwgdGhpcy5fY29uZmlnLmFsbG93TGlzdCwgdGhpcy5fY29uZmlnLnNhbml0aXplRm4pXG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudFxuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LnRleHRDb250ZW50ID0gY29udGVudFxuICAgIH1cbiAgfVxuXG4gIGdldFRpdGxlKCkge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtb3JpZ2luYWwtdGl0bGUnKSB8fCB0aGlzLl9jb25maWcudGl0bGVcblxuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlUG9zc2libGVGdW5jdGlvbih0aXRsZSlcbiAgfVxuXG4gIHVwZGF0ZUF0dGFjaG1lbnQoYXR0YWNobWVudCkge1xuICAgIGlmIChhdHRhY2htZW50ID09PSAncmlnaHQnKSB7XG4gICAgICByZXR1cm4gJ2VuZCdcbiAgICB9XG5cbiAgICBpZiAoYXR0YWNobWVudCA9PT0gJ2xlZnQnKSB7XG4gICAgICByZXR1cm4gJ3N0YXJ0J1xuICAgIH1cblxuICAgIHJldHVybiBhdHRhY2htZW50XG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2luaXRpYWxpemVPbkRlbGVnYXRlZFRhcmdldChldmVudCwgY29udGV4dCkge1xuICAgIHJldHVybiBjb250ZXh0IHx8IHRoaXMuY29uc3RydWN0b3IuZ2V0T3JDcmVhdGVJbnN0YW5jZShldmVudC5kZWxlZ2F0ZVRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSlcbiAgfVxuXG4gIF9nZXRPZmZzZXQoKSB7XG4gICAgY29uc3QgeyBvZmZzZXQgfSA9IHRoaXMuX2NvbmZpZ1xuXG4gICAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2Zmc2V0LnNwbGl0KCcsJykubWFwKHZhbCA9PiBOdW1iZXIucGFyc2VJbnQodmFsLCAxMCkpXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBwb3BwZXJEYXRhID0+IG9mZnNldChwb3BwZXJEYXRhLCB0aGlzLl9lbGVtZW50KVxuICAgIH1cblxuICAgIHJldHVybiBvZmZzZXRcbiAgfVxuXG4gIF9yZXNvbHZlUG9zc2libGVGdW5jdGlvbihjb250ZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBjb250ZW50ID09PSAnZnVuY3Rpb24nID8gY29udGVudC5jYWxsKHRoaXMuX2VsZW1lbnQpIDogY29udGVudFxuICB9XG5cbiAgX2dldFBvcHBlckNvbmZpZyhhdHRhY2htZW50KSB7XG4gICAgY29uc3QgZGVmYXVsdEJzUG9wcGVyQ29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50OiBhdHRhY2htZW50LFxuICAgICAgbW9kaWZpZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZmxpcCcsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzOiB0aGlzLl9jb25maWcuZmFsbGJhY2tQbGFjZW1lbnRzXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ29mZnNldCcsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLl9nZXRPZmZzZXQoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGJvdW5kYXJ5OiB0aGlzLl9jb25maWcuYm91bmRhcnlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYXJyb3cnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IGAuJHt0aGlzLmNvbnN0cnVjdG9yLk5BTUV9LWFycm93YFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdvbkNoYW5nZScsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBwaGFzZTogJ2FmdGVyV3JpdGUnLFxuICAgICAgICAgIGZuOiBkYXRhID0+IHRoaXMuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZShkYXRhKVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgb25GaXJzdFVwZGF0ZTogZGF0YSA9PiB7XG4gICAgICAgIGlmIChkYXRhLm9wdGlvbnMucGxhY2VtZW50ICE9PSBkYXRhLnBsYWNlbWVudCkge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZShkYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRCc1BvcHBlckNvbmZpZyxcbiAgICAgIC4uLih0eXBlb2YgdGhpcy5fY29uZmlnLnBvcHBlckNvbmZpZyA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuX2NvbmZpZy5wb3BwZXJDb25maWcoZGVmYXVsdEJzUG9wcGVyQ29uZmlnKSA6IHRoaXMuX2NvbmZpZy5wb3BwZXJDb25maWcpXG4gICAgfVxuICB9XG5cbiAgX2FkZEF0dGFjaG1lbnRDbGFzcyhhdHRhY2htZW50KSB7XG4gICAgdGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9nZXRCYXNpY0NsYXNzUHJlZml4KCl9LSR7dGhpcy51cGRhdGVBdHRhY2htZW50KGF0dGFjaG1lbnQpfWApXG4gIH1cblxuICBfZ2V0QXR0YWNobWVudChwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gQXR0YWNobWVudE1hcFtwbGFjZW1lbnQudG9VcHBlckNhc2UoKV1cbiAgfVxuXG4gIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgY29uc3QgdHJpZ2dlcnMgPSB0aGlzLl9jb25maWcudHJpZ2dlci5zcGxpdCgnICcpXG5cbiAgICB0cmlnZ2Vycy5mb3JFYWNoKHRyaWdnZXIgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssIHRoaXMuX2NvbmZpZy5zZWxlY3RvciwgZXZlbnQgPT4gdGhpcy50b2dnbGUoZXZlbnQpKVxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VyICE9PSBUUklHR0VSX01BTlVBTCkge1xuICAgICAgICBjb25zdCBldmVudEluID0gdHJpZ2dlciA9PT0gVFJJR0dFUl9IT1ZFUiA/XG4gICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSIDpcbiAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU5cbiAgICAgICAgY29uc3QgZXZlbnRPdXQgPSB0cmlnZ2VyID09PSBUUklHR0VSX0hPVkVSID9cbiAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFTEVBVkUgOlxuICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNPVVRcblxuICAgICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgZXZlbnRJbiwgdGhpcy5fY29uZmlnLnNlbGVjdG9yLCBldmVudCA9PiB0aGlzLl9lbnRlcihldmVudCkpXG4gICAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBldmVudE91dCwgdGhpcy5fY29uZmlnLnNlbGVjdG9yLCBldmVudCA9PiB0aGlzLl9sZWF2ZShldmVudCkpXG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuX2hpZGVNb2RhbEhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fZWxlbWVudCkge1xuICAgICAgICB0aGlzLmhpZGUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoU0VMRUNUT1JfTU9EQUwpLCBFVkVOVF9NT0RBTF9ISURFLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5zZWxlY3Rvcikge1xuICAgICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgICAuLi50aGlzLl9jb25maWcsXG4gICAgICAgIHRyaWdnZXI6ICdtYW51YWwnLFxuICAgICAgICBzZWxlY3RvcjogJydcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZml4VGl0bGUoKVxuICAgIH1cbiAgfVxuXG4gIF9maXhUaXRsZSgpIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMuX2VsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpXG4gICAgY29uc3Qgb3JpZ2luYWxUaXRsZVR5cGUgPSB0eXBlb2YgdGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtb3JpZ2luYWwtdGl0bGUnKVxuXG4gICAgaWYgKHRpdGxlIHx8IG9yaWdpbmFsVGl0bGVUeXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtb3JpZ2luYWwtdGl0bGUnLCB0aXRsZSB8fCAnJylcbiAgICAgIGlmICh0aXRsZSAmJiAhdGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSAmJiAhdGhpcy5fZWxlbWVudC50ZXh0Q29udGVudCkge1xuICAgICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRpdGxlKVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgndGl0bGUnLCAnJylcbiAgICB9XG4gIH1cblxuICBfZW50ZXIoZXZlbnQsIGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gdGhpcy5faW5pdGlhbGl6ZU9uRGVsZWdhdGVkVGFyZ2V0KGV2ZW50LCBjb250ZXh0KVxuXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBjb250ZXh0Ll9hY3RpdmVUcmlnZ2VyW1xuICAgICAgICBldmVudC50eXBlID09PSAnZm9jdXNpbicgPyBUUklHR0VSX0ZPQ1VTIDogVFJJR0dFUl9IT1ZFUlxuICAgICAgXSA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVykgfHwgY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSE9WRVJfU1RBVEVfU0hPVykge1xuICAgICAgY29udGV4dC5faG92ZXJTdGF0ZSA9IEhPVkVSX1NUQVRFX1NIT1dcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNsZWFyVGltZW91dChjb250ZXh0Ll90aW1lb3V0KVxuXG4gICAgY29udGV4dC5faG92ZXJTdGF0ZSA9IEhPVkVSX1NUQVRFX1NIT1dcblxuICAgIGlmICghY29udGV4dC5fY29uZmlnLmRlbGF5IHx8ICFjb250ZXh0Ll9jb25maWcuZGVsYXkuc2hvdykge1xuICAgICAgY29udGV4dC5zaG93KClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnRleHQuX3RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChjb250ZXh0Ll9ob3ZlclN0YXRlID09PSBIT1ZFUl9TVEFURV9TSE9XKSB7XG4gICAgICAgIGNvbnRleHQuc2hvdygpXG4gICAgICB9XG4gICAgfSwgY29udGV4dC5fY29uZmlnLmRlbGF5LnNob3cpXG4gIH1cblxuICBfbGVhdmUoZXZlbnQsIGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gdGhpcy5faW5pdGlhbGl6ZU9uRGVsZWdhdGVkVGFyZ2V0KGV2ZW50LCBjb250ZXh0KVxuXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBjb250ZXh0Ll9hY3RpdmVUcmlnZ2VyW1xuICAgICAgICBldmVudC50eXBlID09PSAnZm9jdXNvdXQnID8gVFJJR0dFUl9GT0NVUyA6IFRSSUdHRVJfSE9WRVJcbiAgICAgIF0gPSBjb250ZXh0Ll9lbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KGNvbnRleHQuX3RpbWVvdXQpXG5cbiAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSE9WRVJfU1RBVEVfT1VUXG5cbiAgICBpZiAoIWNvbnRleHQuX2NvbmZpZy5kZWxheSB8fCAhY29udGV4dC5fY29uZmlnLmRlbGF5LmhpZGUpIHtcbiAgICAgIGNvbnRleHQuaGlkZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb250ZXh0Ll90aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSE9WRVJfU1RBVEVfT1VUKSB7XG4gICAgICAgIGNvbnRleHQuaGlkZSgpXG4gICAgICB9XG4gICAgfSwgY29udGV4dC5fY29uZmlnLmRlbGF5LmhpZGUpXG4gIH1cblxuICBfaXNXaXRoQWN0aXZlVHJpZ2dlcigpIHtcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgaW4gdGhpcy5fYWN0aXZlVHJpZ2dlcikge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZVRyaWdnZXJbdHJpZ2dlcl0pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uc3QgZGF0YUF0dHJpYnV0ZXMgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzLl9lbGVtZW50KVxuXG4gICAgT2JqZWN0LmtleXMoZGF0YUF0dHJpYnV0ZXMpLmZvckVhY2goZGF0YUF0dHIgPT4ge1xuICAgICAgaWYgKERJU0FMTE9XRURfQVRUUklCVVRFUy5oYXMoZGF0YUF0dHIpKSB7XG4gICAgICAgIGRlbGV0ZSBkYXRhQXR0cmlidXRlc1tkYXRhQXR0cl1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LFxuICAgICAgLi4uZGF0YUF0dHJpYnV0ZXMsXG4gICAgICAuLi4odHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pXG4gICAgfVxuXG4gICAgY29uZmlnLmNvbnRhaW5lciA9IGNvbmZpZy5jb250YWluZXIgPT09IGZhbHNlID8gZG9jdW1lbnQuYm9keSA6IGdldEVsZW1lbnQoY29uZmlnLmNvbnRhaW5lcilcblxuICAgIGlmICh0eXBlb2YgY29uZmlnLmRlbGF5ID09PSAnbnVtYmVyJykge1xuICAgICAgY29uZmlnLmRlbGF5ID0ge1xuICAgICAgICBzaG93OiBjb25maWcuZGVsYXksXG4gICAgICAgIGhpZGU6IGNvbmZpZy5kZWxheVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnLnRpdGxlID09PSAnbnVtYmVyJykge1xuICAgICAgY29uZmlnLnRpdGxlID0gY29uZmlnLnRpdGxlLnRvU3RyaW5nKClcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZy5jb250ZW50ID09PSAnbnVtYmVyJykge1xuICAgICAgY29uZmlnLmNvbnRlbnQgPSBjb25maWcuY29udGVudC50b1N0cmluZygpXG4gICAgfVxuXG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSlcblxuICAgIGlmIChjb25maWcuc2FuaXRpemUpIHtcbiAgICAgIGNvbmZpZy50ZW1wbGF0ZSA9IHNhbml0aXplSHRtbChjb25maWcudGVtcGxhdGUsIGNvbmZpZy5hbGxvd0xpc3QsIGNvbmZpZy5zYW5pdGl6ZUZuKVxuICAgIH1cblxuICAgIHJldHVybiBjb25maWdcbiAgfVxuXG4gIF9nZXREZWxlZ2F0ZUNvbmZpZygpIHtcbiAgICBjb25zdCBjb25maWcgPSB7fVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5fY29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0W2tleV0gIT09IHRoaXMuX2NvbmZpZ1trZXldKSB7XG4gICAgICAgIGNvbmZpZ1trZXldID0gdGhpcy5fY29uZmlnW2tleV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbiB0aGUgZnV0dXJlIGNhbiBiZSByZXBsYWNlZCB3aXRoOlxuICAgIC8vIGNvbnN0IGtleXNXaXRoRGlmZmVyZW50VmFsdWVzID0gT2JqZWN0LmVudHJpZXModGhpcy5fY29uZmlnKS5maWx0ZXIoZW50cnkgPT4gdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0W2VudHJ5WzBdXSAhPT0gdGhpcy5fY29uZmlnW2VudHJ5WzBdXSlcbiAgICAvLyBgT2JqZWN0LmZyb21FbnRyaWVzKGtleXNXaXRoRGlmZmVyZW50VmFsdWVzKWBcbiAgICByZXR1cm4gY29uZmlnXG4gIH1cblxuICBfY2xlYW5UaXBDbGFzcygpIHtcbiAgICBjb25zdCB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKVxuICAgIGNvbnN0IGJhc2ljQ2xhc3NQcmVmaXhSZWdleCA9IG5ldyBSZWdFeHAoYChefFxcXFxzKSR7dGhpcy5fZ2V0QmFzaWNDbGFzc1ByZWZpeCgpfVxcXFxTK2AsICdnJylcbiAgICBjb25zdCB0YWJDbGFzcyA9IHRpcC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykubWF0Y2goYmFzaWNDbGFzc1ByZWZpeFJlZ2V4KVxuICAgIGlmICh0YWJDbGFzcyAhPT0gbnVsbCAmJiB0YWJDbGFzcy5sZW5ndGggPiAwKSB7XG4gICAgICB0YWJDbGFzcy5tYXAodG9rZW4gPT4gdG9rZW4udHJpbSgpKVxuICAgICAgICAuZm9yRWFjaCh0Q2xhc3MgPT4gdGlwLmNsYXNzTGlzdC5yZW1vdmUodENsYXNzKSlcbiAgICB9XG4gIH1cblxuICBfZ2V0QmFzaWNDbGFzc1ByZWZpeCgpIHtcbiAgICByZXR1cm4gQ0xBU1NfUFJFRklYXG4gIH1cblxuICBfaGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHBvcHBlckRhdGEpIHtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSBwb3BwZXJEYXRhXG5cbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnRpcCA9IHN0YXRlLmVsZW1lbnRzLnBvcHBlclxuICAgIHRoaXMuX2NsZWFuVGlwQ2xhc3MoKVxuICAgIHRoaXMuX2FkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHN0YXRlLnBsYWNlbWVudCkpXG4gIH1cblxuICBfZGlzcG9zZVBvcHBlcigpIHtcbiAgICBpZiAodGhpcy5fcG9wcGVyKSB7XG4gICAgICB0aGlzLl9wb3BwZXIuZGVzdHJveSgpXG4gICAgICB0aGlzLl9wb3BwZXIgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgLy8gU3RhdGljXG5cbiAgc3RhdGljIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBUb29sdGlwLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcywgY29uZmlnKVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgTm8gbWV0aG9kIG5hbWVkIFwiJHtjb25maWd9XCJgKVxuICAgICAgICB9XG5cbiAgICAgICAgZGF0YVtjb25maWddKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5Ub29sdGlwIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKFRvb2x0aXApXG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXBcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogcG9wb3Zlci5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmltcG9ydCB7IGRlZmluZUpRdWVyeVBsdWdpbiB9IGZyb20gJy4vdXRpbC9pbmRleCdcbmltcG9ydCBUb29sdGlwIGZyb20gJy4vdG9vbHRpcCdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICdwb3BvdmVyJ1xuY29uc3QgREFUQV9LRVkgPSAnYnMucG9wb3ZlcidcbmNvbnN0IEVWRU5UX0tFWSA9IGAuJHtEQVRBX0tFWX1gXG5jb25zdCBDTEFTU19QUkVGSVggPSAnYnMtcG9wb3ZlcidcblxuY29uc3QgRGVmYXVsdCA9IHtcbiAgLi4uVG9vbHRpcC5EZWZhdWx0LFxuICBwbGFjZW1lbnQ6ICdyaWdodCcsXG4gIG9mZnNldDogWzAsIDhdLFxuICB0cmlnZ2VyOiAnY2xpY2snLFxuICBjb250ZW50OiAnJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwicG9wb3ZlclwiIHJvbGU9XCJ0b29sdGlwXCI+JyArXG4gICAgICAgICAgICAgICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1hcnJvd1wiPjwvZGl2PicgK1xuICAgICAgICAgICAgICAnPGgzIGNsYXNzPVwicG9wb3Zlci1oZWFkZXJcIj48L2gzPicgK1xuICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjwvZGl2PicgK1xuICAgICAgICAgICAgJzwvZGl2Pidcbn1cblxuY29uc3QgRGVmYXVsdFR5cGUgPSB7XG4gIC4uLlRvb2x0aXAuRGVmYXVsdFR5cGUsXG4gIGNvbnRlbnQ6ICcoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pJ1xufVxuXG5jb25zdCBFdmVudCA9IHtcbiAgSElERTogYGhpZGUke0VWRU5UX0tFWX1gLFxuICBISURERU46IGBoaWRkZW4ke0VWRU5UX0tFWX1gLFxuICBTSE9XOiBgc2hvdyR7RVZFTlRfS0VZfWAsXG4gIFNIT1dOOiBgc2hvd24ke0VWRU5UX0tFWX1gLFxuICBJTlNFUlRFRDogYGluc2VydGVkJHtFVkVOVF9LRVl9YCxcbiAgQ0xJQ0s6IGBjbGljayR7RVZFTlRfS0VZfWAsXG4gIEZPQ1VTSU46IGBmb2N1c2luJHtFVkVOVF9LRVl9YCxcbiAgRk9DVVNPVVQ6IGBmb2N1c291dCR7RVZFTlRfS0VZfWAsXG4gIE1PVVNFRU5URVI6IGBtb3VzZWVudGVyJHtFVkVOVF9LRVl9YCxcbiAgTU9VU0VMRUFWRTogYG1vdXNlbGVhdmUke0VWRU5UX0tFWX1gXG59XG5cbmNvbnN0IFNFTEVDVE9SX1RJVExFID0gJy5wb3BvdmVyLWhlYWRlcidcbmNvbnN0IFNFTEVDVE9SX0NPTlRFTlQgPSAnLnBvcG92ZXItYm9keSdcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNsYXNzIFBvcG92ZXIgZXh0ZW5kcyBUb29sdGlwIHtcbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gRGVmYXVsdFxuICB9XG5cbiAgc3RhdGljIGdldCBOQU1FKCkge1xuICAgIHJldHVybiBOQU1FXG4gIH1cblxuICBzdGF0aWMgZ2V0IEV2ZW50KCkge1xuICAgIHJldHVybiBFdmVudFxuICB9XG5cbiAgc3RhdGljIGdldCBEZWZhdWx0VHlwZSgpIHtcbiAgICByZXR1cm4gRGVmYXVsdFR5cGVcbiAgfVxuXG4gIC8vIE92ZXJyaWRlc1xuXG4gIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUoKSB8fCB0aGlzLl9nZXRDb250ZW50KClcbiAgfVxuXG4gIHNldENvbnRlbnQodGlwKSB7XG4gICAgdGhpcy5fc2FuaXRpemVBbmRTZXRDb250ZW50KHRpcCwgdGhpcy5nZXRUaXRsZSgpLCBTRUxFQ1RPUl9USVRMRSlcbiAgICB0aGlzLl9zYW5pdGl6ZUFuZFNldENvbnRlbnQodGlwLCB0aGlzLl9nZXRDb250ZW50KCksIFNFTEVDVE9SX0NPTlRFTlQpXG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2dldENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlc29sdmVQb3NzaWJsZUZ1bmN0aW9uKHRoaXMuX2NvbmZpZy5jb250ZW50KVxuICB9XG5cbiAgX2dldEJhc2ljQ2xhc3NQcmVmaXgoKSB7XG4gICAgcmV0dXJuIENMQVNTX1BSRUZJWFxuICB9XG5cbiAgLy8gU3RhdGljXG5cbiAgc3RhdGljIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBQb3BvdmVyLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcywgY29uZmlnKVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgTm8gbWV0aG9kIG5hbWVkIFwiJHtjb25maWd9XCJgKVxuICAgICAgICB9XG5cbiAgICAgICAgZGF0YVtjb25maWddKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5Qb3BvdmVyIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKFBvcG92ZXIpXG5cbmV4cG9ydCBkZWZhdWx0IFBvcG92ZXJcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMS4zKTogc2Nyb2xsc3B5LmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IHtcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICBnZXRFbGVtZW50LFxuICBnZXRTZWxlY3RvckZyb21FbGVtZW50LFxuICB0eXBlQ2hlY2tDb25maWdcbn0gZnJvbSAnLi91dGlsL2luZGV4J1xuaW1wb3J0IEV2ZW50SGFuZGxlciBmcm9tICcuL2RvbS9ldmVudC1oYW5kbGVyJ1xuaW1wb3J0IE1hbmlwdWxhdG9yIGZyb20gJy4vZG9tL21hbmlwdWxhdG9yJ1xuaW1wb3J0IFNlbGVjdG9yRW5naW5lIGZyb20gJy4vZG9tL3NlbGVjdG9yLWVuZ2luZSdcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gJy4vYmFzZS1jb21wb25lbnQnXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmNvbnN0IE5BTUUgPSAnc2Nyb2xsc3B5J1xuY29uc3QgREFUQV9LRVkgPSAnYnMuc2Nyb2xsc3B5J1xuY29uc3QgRVZFTlRfS0VZID0gYC4ke0RBVEFfS0VZfWBcbmNvbnN0IERBVEFfQVBJX0tFWSA9ICcuZGF0YS1hcGknXG5cbmNvbnN0IERlZmF1bHQgPSB7XG4gIG9mZnNldDogMTAsXG4gIG1ldGhvZDogJ2F1dG8nLFxuICB0YXJnZXQ6ICcnXG59XG5cbmNvbnN0IERlZmF1bHRUeXBlID0ge1xuICBvZmZzZXQ6ICdudW1iZXInLFxuICBtZXRob2Q6ICdzdHJpbmcnLFxuICB0YXJnZXQ6ICcoc3RyaW5nfGVsZW1lbnQpJ1xufVxuXG5jb25zdCBFVkVOVF9BQ1RJVkFURSA9IGBhY3RpdmF0ZSR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX1NDUk9MTCA9IGBzY3JvbGwke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9MT0FEX0RBVEFfQVBJID0gYGxvYWQke0VWRU5UX0tFWX0ke0RBVEFfQVBJX0tFWX1gXG5cbmNvbnN0IENMQVNTX05BTUVfRFJPUERPV05fSVRFTSA9ICdkcm9wZG93bi1pdGVtJ1xuY29uc3QgQ0xBU1NfTkFNRV9BQ1RJVkUgPSAnYWN0aXZlJ1xuXG5jb25zdCBTRUxFQ1RPUl9EQVRBX1NQWSA9ICdbZGF0YS1icy1zcHk9XCJzY3JvbGxcIl0nXG5jb25zdCBTRUxFQ1RPUl9OQVZfTElTVF9HUk9VUCA9ICcubmF2LCAubGlzdC1ncm91cCdcbmNvbnN0IFNFTEVDVE9SX05BVl9MSU5LUyA9ICcubmF2LWxpbmsnXG5jb25zdCBTRUxFQ1RPUl9OQVZfSVRFTVMgPSAnLm5hdi1pdGVtJ1xuY29uc3QgU0VMRUNUT1JfTElTVF9JVEVNUyA9ICcubGlzdC1ncm91cC1pdGVtJ1xuY29uc3QgU0VMRUNUT1JfTElOS19JVEVNUyA9IGAke1NFTEVDVE9SX05BVl9MSU5LU30sICR7U0VMRUNUT1JfTElTVF9JVEVNU30sIC4ke0NMQVNTX05BTUVfRFJPUERPV05fSVRFTX1gXG5jb25zdCBTRUxFQ1RPUl9EUk9QRE9XTiA9ICcuZHJvcGRvd24nXG5jb25zdCBTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUgPSAnLmRyb3Bkb3duLXRvZ2dsZSdcblxuY29uc3QgTUVUSE9EX09GRlNFVCA9ICdvZmZzZXQnXG5jb25zdCBNRVRIT0RfUE9TSVRJT04gPSAncG9zaXRpb24nXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jbGFzcyBTY3JvbGxTcHkgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgc3VwZXIoZWxlbWVudClcbiAgICB0aGlzLl9zY3JvbGxFbGVtZW50ID0gdGhpcy5fZWxlbWVudC50YWdOYW1lID09PSAnQk9EWScgPyB3aW5kb3cgOiB0aGlzLl9lbGVtZW50XG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZylcbiAgICB0aGlzLl9vZmZzZXRzID0gW11cbiAgICB0aGlzLl90YXJnZXRzID0gW11cbiAgICB0aGlzLl9hY3RpdmVUYXJnZXQgPSBudWxsXG4gICAgdGhpcy5fc2Nyb2xsSGVpZ2h0ID0gMFxuXG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX3Njcm9sbEVsZW1lbnQsIEVWRU5UX1NDUk9MTCwgKCkgPT4gdGhpcy5fcHJvY2VzcygpKVxuXG4gICAgdGhpcy5yZWZyZXNoKClcbiAgICB0aGlzLl9wcm9jZXNzKClcbiAgfVxuXG4gIC8vIEdldHRlcnNcblxuICBzdGF0aWMgZ2V0IERlZmF1bHQoKSB7XG4gICAgcmV0dXJuIERlZmF1bHRcbiAgfVxuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgcmVmcmVzaCgpIHtcbiAgICBjb25zdCBhdXRvTWV0aG9kID0gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gdGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3cgP1xuICAgICAgTUVUSE9EX09GRlNFVCA6XG4gICAgICBNRVRIT0RfUE9TSVRJT05cblxuICAgIGNvbnN0IG9mZnNldE1ldGhvZCA9IHRoaXMuX2NvbmZpZy5tZXRob2QgPT09ICdhdXRvJyA/XG4gICAgICBhdXRvTWV0aG9kIDpcbiAgICAgIHRoaXMuX2NvbmZpZy5tZXRob2RcblxuICAgIGNvbnN0IG9mZnNldEJhc2UgPSBvZmZzZXRNZXRob2QgPT09IE1FVEhPRF9QT1NJVElPTiA/XG4gICAgICB0aGlzLl9nZXRTY3JvbGxUb3AoKSA6XG4gICAgICAwXG5cbiAgICB0aGlzLl9vZmZzZXRzID0gW11cbiAgICB0aGlzLl90YXJnZXRzID0gW11cbiAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKVxuXG4gICAgY29uc3QgdGFyZ2V0cyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfTElOS19JVEVNUywgdGhpcy5fY29uZmlnLnRhcmdldClcblxuICAgIHRhcmdldHMubWFwKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0U2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW1lbnQpXG4gICAgICBjb25zdCB0YXJnZXQgPSB0YXJnZXRTZWxlY3RvciA/IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUodGFyZ2V0U2VsZWN0b3IpIDogbnVsbFxuXG4gICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEJDUiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICBpZiAodGFyZ2V0QkNSLndpZHRoIHx8IHRhcmdldEJDUi5oZWlnaHQpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTWFuaXB1bGF0b3Jbb2Zmc2V0TWV0aG9kXSh0YXJnZXQpLnRvcCArIG9mZnNldEJhc2UsXG4gICAgICAgICAgICB0YXJnZXRTZWxlY3RvclxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0pXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhWzBdIC0gYlswXSlcbiAgICAgIC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0aGlzLl9vZmZzZXRzLnB1c2goaXRlbVswXSlcbiAgICAgICAgdGhpcy5fdGFyZ2V0cy5wdXNoKGl0ZW1bMV0pXG4gICAgICB9KVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX3Njcm9sbEVsZW1lbnQsIEVWRU5UX0tFWSlcbiAgICBzdXBlci5kaXNwb3NlKClcbiAgfVxuXG4gIC8vIFByaXZhdGVcblxuICBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IHtcbiAgICAgIC4uLkRlZmF1bHQsXG4gICAgICAuLi5NYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzLl9lbGVtZW50KSxcbiAgICAgIC4uLih0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWcgPyBjb25maWcgOiB7fSlcbiAgICB9XG5cbiAgICBjb25maWcudGFyZ2V0ID0gZ2V0RWxlbWVudChjb25maWcudGFyZ2V0KSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRcblxuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FLCBjb25maWcsIERlZmF1bHRUeXBlKVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG5cbiAgX2dldFNjcm9sbFRvcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID9cbiAgICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQucGFnZVlPZmZzZXQgOlxuICAgICAgdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3BcbiAgfVxuXG4gIF9nZXRTY3JvbGxIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IHx8IE1hdGgubWF4KFxuICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgKVxuICB9XG5cbiAgX2dldE9mZnNldEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID9cbiAgICAgIHdpbmRvdy5pbm5lckhlaWdodCA6XG4gICAgICB0aGlzLl9zY3JvbGxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFxuICB9XG5cbiAgX3Byb2Nlc3MoKSB7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5fZ2V0U2Nyb2xsVG9wKCkgKyB0aGlzLl9jb25maWcub2Zmc2V0XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KClcbiAgICBjb25zdCBtYXhTY3JvbGwgPSB0aGlzLl9jb25maWcub2Zmc2V0ICsgc2Nyb2xsSGVpZ2h0IC0gdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KClcblxuICAgIGlmICh0aGlzLl9zY3JvbGxIZWlnaHQgIT09IHNjcm9sbEhlaWdodCkge1xuICAgICAgdGhpcy5yZWZyZXNoKClcbiAgICB9XG5cbiAgICBpZiAoc2Nyb2xsVG9wID49IG1heFNjcm9sbCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aCAtIDFdXG5cbiAgICAgIGlmICh0aGlzLl9hY3RpdmVUYXJnZXQgIT09IHRhcmdldCkge1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZSh0YXJnZXQpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLl9hY3RpdmVUYXJnZXQgJiYgc2Nyb2xsVG9wIDwgdGhpcy5fb2Zmc2V0c1swXSAmJiB0aGlzLl9vZmZzZXRzWzBdID4gMCkge1xuICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbFxuICAgICAgdGhpcy5fY2xlYXIoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IHRoaXMuX29mZnNldHMubGVuZ3RoOyBpLS07KSB7XG4gICAgICBjb25zdCBpc0FjdGl2ZVRhcmdldCA9IHRoaXMuX2FjdGl2ZVRhcmdldCAhPT0gdGhpcy5fdGFyZ2V0c1tpXSAmJlxuICAgICAgICAgIHNjcm9sbFRvcCA+PSB0aGlzLl9vZmZzZXRzW2ldICYmXG4gICAgICAgICAgKHR5cGVvZiB0aGlzLl9vZmZzZXRzW2kgKyAxXSA9PT0gJ3VuZGVmaW5lZCcgfHwgc2Nyb2xsVG9wIDwgdGhpcy5fb2Zmc2V0c1tpICsgMV0pXG5cbiAgICAgIGlmIChpc0FjdGl2ZVRhcmdldCkge1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZSh0aGlzLl90YXJnZXRzW2ldKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9hY3RpdmF0ZSh0YXJnZXQpIHtcbiAgICB0aGlzLl9hY3RpdmVUYXJnZXQgPSB0YXJnZXRcblxuICAgIHRoaXMuX2NsZWFyKClcblxuICAgIGNvbnN0IHF1ZXJpZXMgPSBTRUxFQ1RPUl9MSU5LX0lURU1TLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoc2VsZWN0b3IgPT4gYCR7c2VsZWN0b3J9W2RhdGEtYnMtdGFyZ2V0PVwiJHt0YXJnZXR9XCJdLCR7c2VsZWN0b3J9W2hyZWY9XCIke3RhcmdldH1cIl1gKVxuXG4gICAgY29uc3QgbGluayA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUocXVlcmllcy5qb2luKCcsJyksIHRoaXMuX2NvbmZpZy50YXJnZXQpXG5cbiAgICBsaW5rLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUpXG4gICAgaWYgKGxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUERPV05fSVRFTSkpIHtcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRFJPUERPV05fVE9HR0xFLCBsaW5rLmNsb3Nlc3QoU0VMRUNUT1JfRFJPUERPV04pKVxuICAgICAgICAuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSlcbiAgICB9IGVsc2Uge1xuICAgICAgU2VsZWN0b3JFbmdpbmUucGFyZW50cyhsaW5rLCBTRUxFQ1RPUl9OQVZfTElTVF9HUk9VUClcbiAgICAgICAgLmZvckVhY2gobGlzdEdyb3VwID0+IHtcbiAgICAgICAgICAvLyBTZXQgdHJpZ2dlcmVkIGxpbmtzIHBhcmVudHMgYXMgYWN0aXZlXG4gICAgICAgICAgLy8gV2l0aCBib3RoIDx1bD4gYW5kIDxuYXY+IG1hcmt1cCBhIHBhcmVudCBpcyB0aGUgcHJldmlvdXMgc2libGluZyBvZiBhbnkgbmF2IGFuY2VzdG9yXG4gICAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIGAke1NFTEVDVE9SX05BVl9MSU5LU30sICR7U0VMRUNUT1JfTElTVF9JVEVNU31gKVxuICAgICAgICAgICAgLmZvckVhY2goaXRlbSA9PiBpdGVtLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUpKVxuXG4gICAgICAgICAgLy8gSGFuZGxlIHNwZWNpYWwgY2FzZSB3aGVuIC5uYXYtbGluayBpcyBpbnNpZGUgLm5hdi1pdGVtXG4gICAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIFNFTEVDVE9SX05BVl9JVEVNUylcbiAgICAgICAgICAgIC5mb3JFYWNoKG5hdkl0ZW0gPT4ge1xuICAgICAgICAgICAgICBTZWxlY3RvckVuZ2luZS5jaGlsZHJlbihuYXZJdGVtLCBTRUxFQ1RPUl9OQVZfTElOS1MpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goaXRlbSA9PiBpdGVtLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUpKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9zY3JvbGxFbGVtZW50LCBFVkVOVF9BQ1RJVkFURSwge1xuICAgICAgcmVsYXRlZFRhcmdldDogdGFyZ2V0XG4gICAgfSlcbiAgfVxuXG4gIF9jbGVhcigpIHtcbiAgICBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0xJTktfSVRFTVMsIHRoaXMuX2NvbmZpZy50YXJnZXQpXG4gICAgICAuZmlsdGVyKG5vZGUgPT4gbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9BQ1RJVkUpKVxuICAgICAgLmZvckVhY2gobm9kZSA9PiBub2RlLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpKVxuICB9XG5cbiAgLy8gU3RhdGljXG5cbiAgc3RhdGljIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBTY3JvbGxTcHkuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0aGlzLCBjb25maWcpXG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE5vIG1ldGhvZCBuYW1lZCBcIiR7Y29uZmlnfVwiYClcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKClcbiAgICB9KVxuICB9XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSwgKCkgPT4ge1xuICBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0RBVEFfU1BZKVxuICAgIC5mb3JFYWNoKHNweSA9PiBuZXcgU2Nyb2xsU3B5KHNweSkpXG59KVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuU2Nyb2xsU3B5IHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKFNjcm9sbFNweSlcblxuZXhwb3J0IGRlZmF1bHQgU2Nyb2xsU3B5XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IHRhYi5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmltcG9ydCB7XG4gIGRlZmluZUpRdWVyeVBsdWdpbixcbiAgZ2V0RWxlbWVudEZyb21TZWxlY3RvcixcbiAgaXNEaXNhYmxlZCxcbiAgcmVmbG93XG59IGZyb20gJy4vdXRpbC9pbmRleCdcbmltcG9ydCBFdmVudEhhbmRsZXIgZnJvbSAnLi9kb20vZXZlbnQtaGFuZGxlcidcbmltcG9ydCBTZWxlY3RvckVuZ2luZSBmcm9tICcuL2RvbS9zZWxlY3Rvci1lbmdpbmUnXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jb25zdCBOQU1FID0gJ3RhYidcbmNvbnN0IERBVEFfS0VZID0gJ2JzLnRhYidcbmNvbnN0IEVWRU5UX0tFWSA9IGAuJHtEQVRBX0tFWX1gXG5jb25zdCBEQVRBX0FQSV9LRVkgPSAnLmRhdGEtYXBpJ1xuXG5jb25zdCBFVkVOVF9ISURFID0gYGhpZGUke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9ISURERU4gPSBgaGlkZGVuJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPVyA9IGBzaG93JHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPV04gPSBgc2hvd24ke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9DTElDS19EQVRBX0FQSSA9IGBjbGljayR7RVZFTlRfS0VZfSR7REFUQV9BUElfS0VZfWBcblxuY29uc3QgQ0xBU1NfTkFNRV9EUk9QRE9XTl9NRU5VID0gJ2Ryb3Bkb3duLW1lbnUnXG5jb25zdCBDTEFTU19OQU1FX0FDVElWRSA9ICdhY3RpdmUnXG5jb25zdCBDTEFTU19OQU1FX0ZBREUgPSAnZmFkZSdcbmNvbnN0IENMQVNTX05BTUVfU0hPVyA9ICdzaG93J1xuXG5jb25zdCBTRUxFQ1RPUl9EUk9QRE9XTiA9ICcuZHJvcGRvd24nXG5jb25zdCBTRUxFQ1RPUl9OQVZfTElTVF9HUk9VUCA9ICcubmF2LCAubGlzdC1ncm91cCdcbmNvbnN0IFNFTEVDVE9SX0FDVElWRSA9ICcuYWN0aXZlJ1xuY29uc3QgU0VMRUNUT1JfQUNUSVZFX1VMID0gJzpzY29wZSA+IGxpID4gLmFjdGl2ZSdcbmNvbnN0IFNFTEVDVE9SX0RBVEFfVE9HR0xFID0gJ1tkYXRhLWJzLXRvZ2dsZT1cInRhYlwiXSwgW2RhdGEtYnMtdG9nZ2xlPVwicGlsbFwiXSwgW2RhdGEtYnMtdG9nZ2xlPVwibGlzdFwiXSdcbmNvbnN0IFNFTEVDVE9SX0RST1BET1dOX1RPR0dMRSA9ICcuZHJvcGRvd24tdG9nZ2xlJ1xuY29uc3QgU0VMRUNUT1JfRFJPUERPV05fQUNUSVZFX0NISUxEID0gJzpzY29wZSA+IC5kcm9wZG93bi1tZW51IC5hY3RpdmUnXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5jbGFzcyBUYWIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgc2hvdygpIHtcbiAgICBpZiAoKHRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSAmJlxuICAgICAgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJlxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9BQ1RJVkUpKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbGV0IHByZXZpb3VzXG4gICAgY29uc3QgdGFyZ2V0ID0gZ2V0RWxlbWVudEZyb21TZWxlY3Rvcih0aGlzLl9lbGVtZW50KVxuICAgIGNvbnN0IGxpc3RFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX05BVl9MSVNUX0dST1VQKVxuXG4gICAgaWYgKGxpc3RFbGVtZW50KSB7XG4gICAgICBjb25zdCBpdGVtU2VsZWN0b3IgPSBsaXN0RWxlbWVudC5ub2RlTmFtZSA9PT0gJ1VMJyB8fCBsaXN0RWxlbWVudC5ub2RlTmFtZSA9PT0gJ09MJyA/IFNFTEVDVE9SX0FDVElWRV9VTCA6IFNFTEVDVE9SX0FDVElWRVxuICAgICAgcHJldmlvdXMgPSBTZWxlY3RvckVuZ2luZS5maW5kKGl0ZW1TZWxlY3RvciwgbGlzdEVsZW1lbnQpXG4gICAgICBwcmV2aW91cyA9IHByZXZpb3VzW3ByZXZpb3VzLmxlbmd0aCAtIDFdXG4gICAgfVxuXG4gICAgY29uc3QgaGlkZUV2ZW50ID0gcHJldmlvdXMgP1xuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIocHJldmlvdXMsIEVWRU5UX0hJREUsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdGhpcy5fZWxlbWVudFxuICAgICAgfSkgOlxuICAgICAgbnVsbFxuXG4gICAgY29uc3Qgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVywge1xuICAgICAgcmVsYXRlZFRhcmdldDogcHJldmlvdXNcbiAgICB9KVxuXG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkIHx8IChoaWRlRXZlbnQgIT09IG51bGwgJiYgaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmF0ZSh0aGlzLl9lbGVtZW50LCBsaXN0RWxlbWVudClcblxuICAgIGNvbnN0IGNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIocHJldmlvdXMsIEVWRU5UX0hJRERFTiwge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgICB9KVxuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04sIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcHJldmlvdXNcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5fYWN0aXZhdGUodGFyZ2V0LCB0YXJnZXQucGFyZW50Tm9kZSwgY29tcGxldGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBsZXRlKClcbiAgICB9XG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2FjdGl2YXRlKGVsZW1lbnQsIGNvbnRhaW5lciwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50cyA9IGNvbnRhaW5lciAmJiAoY29udGFpbmVyLm5vZGVOYW1lID09PSAnVUwnIHx8IGNvbnRhaW5lci5ub2RlTmFtZSA9PT0gJ09MJykgP1xuICAgICAgU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9BQ1RJVkVfVUwsIGNvbnRhaW5lcikgOlxuICAgICAgU2VsZWN0b3JFbmdpbmUuY2hpbGRyZW4oY29udGFpbmVyLCBTRUxFQ1RPUl9BQ1RJVkUpXG5cbiAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVFbGVtZW50c1swXVxuICAgIGNvbnN0IGlzVHJhbnNpdGlvbmluZyA9IGNhbGxiYWNrICYmIChhY3RpdmUgJiYgYWN0aXZlLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0ZBREUpKVxuXG4gICAgY29uc3QgY29tcGxldGUgPSAoKSA9PiB0aGlzLl90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjaylcblxuICAgIGlmIChhY3RpdmUgJiYgaXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICBhY3RpdmUuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG4gICAgICB0aGlzLl9xdWV1ZUNhbGxiYWNrKGNvbXBsZXRlLCBlbGVtZW50LCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpXG4gICAgfVxuICB9XG5cbiAgX3RyYW5zaXRpb25Db21wbGV0ZShlbGVtZW50LCBhY3RpdmUsIGNhbGxiYWNrKSB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgYWN0aXZlLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpXG5cbiAgICAgIGNvbnN0IGRyb3Bkb3duQ2hpbGQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0RST1BET1dOX0FDVElWRV9DSElMRCwgYWN0aXZlLnBhcmVudE5vZGUpXG5cbiAgICAgIGlmIChkcm9wZG93bkNoaWxkKSB7XG4gICAgICAgIGRyb3Bkb3duQ2hpbGQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0FDVElWRSlcbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGl2ZS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ3RhYicpIHtcbiAgICAgICAgYWN0aXZlLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSlcbiAgICBpZiAoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ3RhYicpIHtcbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgdHJ1ZSlcbiAgICB9XG5cbiAgICByZWZsb3coZWxlbWVudClcblxuICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0ZBREUpKSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XKVxuICAgIH1cblxuICAgIGxldCBwYXJlbnQgPSBlbGVtZW50LnBhcmVudE5vZGVcbiAgICBpZiAocGFyZW50ICYmIHBhcmVudC5ub2RlTmFtZSA9PT0gJ0xJJykge1xuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGVcbiAgICB9XG5cbiAgICBpZiAocGFyZW50ICYmIHBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9EUk9QRE9XTl9NRU5VKSkge1xuICAgICAgY29uc3QgZHJvcGRvd25FbGVtZW50ID0gZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX0RST1BET1dOKVxuXG4gICAgICBpZiAoZHJvcGRvd25FbGVtZW50KSB7XG4gICAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfRFJPUERPV05fVE9HR0xFLCBkcm9wZG93bkVsZW1lbnQpXG4gICAgICAgICAgLmZvckVhY2goZHJvcGRvd24gPT4gZHJvcGRvd24uY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSkpXG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgdHJ1ZSlcbiAgICB9XG5cbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNhbGxiYWNrKClcbiAgICB9XG4gIH1cblxuICAvLyBTdGF0aWNcblxuICBzdGF0aWMgalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGF0YSA9IFRhYi5nZXRPckNyZWF0ZUluc3RhbmNlKHRoaXMpXG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBObyBtZXRob2QgbmFtZWQgXCIke2NvbmZpZ31cImApXG4gICAgICAgIH1cblxuICAgICAgICBkYXRhW2NvbmZpZ10oKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGlmIChbJ0EnLCAnQVJFQSddLmluY2x1ZGVzKHRoaXMudGFnTmFtZSkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBpZiAoaXNEaXNhYmxlZCh0aGlzKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgZGF0YSA9IFRhYi5nZXRPckNyZWF0ZUluc3RhbmNlKHRoaXMpXG4gIGRhdGEuc2hvdygpXG59KVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuVGFiIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKFRhYilcblxuZXhwb3J0IGRlZmF1bHQgVGFiXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjEuMyk6IHRvYXN0LmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW1wb3J0IHtcbiAgZGVmaW5lSlF1ZXJ5UGx1Z2luLFxuICByZWZsb3csXG4gIHR5cGVDaGVja0NvbmZpZ1xufSBmcm9tICcuL3V0aWwvaW5kZXgnXG5pbXBvcnQgRXZlbnRIYW5kbGVyIGZyb20gJy4vZG9tL2V2ZW50LWhhbmRsZXInXG5pbXBvcnQgTWFuaXB1bGF0b3IgZnJvbSAnLi9kb20vbWFuaXB1bGF0b3InXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tICcuL2Jhc2UtY29tcG9uZW50J1xuaW1wb3J0IHsgZW5hYmxlRGlzbWlzc1RyaWdnZXIgfSBmcm9tICcuL3V0aWwvY29tcG9uZW50LWZ1bmN0aW9ucydcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY29uc3QgTkFNRSA9ICd0b2FzdCdcbmNvbnN0IERBVEFfS0VZID0gJ2JzLnRvYXN0J1xuY29uc3QgRVZFTlRfS0VZID0gYC4ke0RBVEFfS0VZfWBcblxuY29uc3QgRVZFTlRfTU9VU0VPVkVSID0gYG1vdXNlb3ZlciR7RVZFTlRfS0VZfWBcbmNvbnN0IEVWRU5UX01PVVNFT1VUID0gYG1vdXNlb3V0JHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfRk9DVVNJTiA9IGBmb2N1c2luJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfRk9DVVNPVVQgPSBgZm9jdXNvdXQke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9ISURFID0gYGhpZGUke0VWRU5UX0tFWX1gXG5jb25zdCBFVkVOVF9ISURERU4gPSBgaGlkZGVuJHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPVyA9IGBzaG93JHtFVkVOVF9LRVl9YFxuY29uc3QgRVZFTlRfU0hPV04gPSBgc2hvd24ke0VWRU5UX0tFWX1gXG5cbmNvbnN0IENMQVNTX05BTUVfRkFERSA9ICdmYWRlJ1xuY29uc3QgQ0xBU1NfTkFNRV9ISURFID0gJ2hpZGUnIC8vIEBkZXByZWNhdGVkIC0ga2VwdCBoZXJlIG9ubHkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5jb25zdCBDTEFTU19OQU1FX1NIT1cgPSAnc2hvdydcbmNvbnN0IENMQVNTX05BTUVfU0hPV0lORyA9ICdzaG93aW5nJ1xuXG5jb25zdCBEZWZhdWx0VHlwZSA9IHtcbiAgYW5pbWF0aW9uOiAnYm9vbGVhbicsXG4gIGF1dG9oaWRlOiAnYm9vbGVhbicsXG4gIGRlbGF5OiAnbnVtYmVyJ1xufVxuXG5jb25zdCBEZWZhdWx0ID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIGF1dG9oaWRlOiB0cnVlLFxuICBkZWxheTogNTAwMFxufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuY2xhc3MgVG9hc3QgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgc3VwZXIoZWxlbWVudClcblxuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpXG4gICAgdGhpcy5fdGltZW91dCA9IG51bGxcbiAgICB0aGlzLl9oYXNNb3VzZUludGVyYWN0aW9uID0gZmFsc2VcbiAgICB0aGlzLl9oYXNLZXlib2FyZEludGVyYWN0aW9uID0gZmFsc2VcbiAgICB0aGlzLl9zZXRMaXN0ZW5lcnMoKVxuICB9XG5cbiAgLy8gR2V0dGVyc1xuXG4gIHN0YXRpYyBnZXQgRGVmYXVsdFR5cGUoKSB7XG4gICAgcmV0dXJuIERlZmF1bHRUeXBlXG4gIH1cblxuICBzdGF0aWMgZ2V0IERlZmF1bHQoKSB7XG4gICAgcmV0dXJuIERlZmF1bHRcbiAgfVxuXG4gIHN0YXRpYyBnZXQgTkFNRSgpIHtcbiAgICByZXR1cm4gTkFNRVxuICB9XG5cbiAgLy8gUHVibGljXG5cbiAgc2hvdygpIHtcbiAgICBjb25zdCBzaG93RXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TSE9XKVxuXG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9jbGVhclRpbWVvdXQoKVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5hbmltYXRpb24pIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0ZBREUpXG4gICAgfVxuXG4gICAgY29uc3QgY29tcGxldGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSE9XSU5HKVxuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04pXG5cbiAgICAgIHRoaXMuX21heWJlU2NoZWR1bGVIaWRlKClcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9ISURFKSAvLyBAZGVwcmVjYXRlZFxuICAgIHJlZmxvdyh0aGlzLl9lbGVtZW50KVxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NIT1cpXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPV0lORylcblxuICAgIHRoaXMuX3F1ZXVlQ2FsbGJhY2soY29tcGxldGUsIHRoaXMuX2VsZW1lbnQsIHRoaXMuX2NvbmZpZy5hbmltYXRpb24pXG4gIH1cblxuICBoaWRlKCkge1xuICAgIGlmICghdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaGlkZUV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfSElERSlcblxuICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY29tcGxldGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9ISURFKSAvLyBAZGVwcmVjYXRlZFxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPV0lORylcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURERU4pXG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPV0lORylcbiAgICB0aGlzLl9xdWV1ZUNhbGxiYWNrKGNvbXBsZXRlLCB0aGlzLl9lbGVtZW50LCB0aGlzLl9jb25maWcuYW5pbWF0aW9uKVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICB0aGlzLl9jbGVhclRpbWVvdXQoKVxuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVykpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1cpXG4gICAgfVxuXG4gICAgc3VwZXIuZGlzcG9zZSgpXG4gIH1cblxuICAvLyBQcml2YXRlXG5cbiAgX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSB7XG4gICAgICAuLi5EZWZhdWx0LFxuICAgICAgLi4uTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCksXG4gICAgICAuLi4odHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pXG4gICAgfVxuXG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxuXG4gIF9tYXliZVNjaGVkdWxlSGlkZSgpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5hdXRvaGlkZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hhc01vdXNlSW50ZXJhY3Rpb24gfHwgdGhpcy5faGFzS2V5Ym9hcmRJbnRlcmFjdGlvbikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKClcbiAgICB9LCB0aGlzLl9jb25maWcuZGVsYXkpXG4gIH1cblxuICBfb25JbnRlcmFjdGlvbihldmVudCwgaXNJbnRlcmFjdGluZykge1xuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAnbW91c2VvdmVyJzpcbiAgICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgICAgdGhpcy5faGFzTW91c2VJbnRlcmFjdGlvbiA9IGlzSW50ZXJhY3RpbmdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgICB0aGlzLl9oYXNLZXlib2FyZEludGVyYWN0aW9uID0gaXNJbnRlcmFjdGluZ1xuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBpZiAoaXNJbnRlcmFjdGluZykge1xuICAgICAgdGhpcy5fY2xlYXJUaW1lb3V0KClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IG5leHRFbGVtZW50ID0gZXZlbnQucmVsYXRlZFRhcmdldFxuICAgIGlmICh0aGlzLl9lbGVtZW50ID09PSBuZXh0RWxlbWVudCB8fCB0aGlzLl9lbGVtZW50LmNvbnRhaW5zKG5leHRFbGVtZW50KSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fbWF5YmVTY2hlZHVsZUhpZGUoKVxuICB9XG5cbiAgX3NldExpc3RlbmVycygpIHtcbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VPVkVSLCBldmVudCA9PiB0aGlzLl9vbkludGVyYWN0aW9uKGV2ZW50LCB0cnVlKSlcbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VPVVQsIGV2ZW50ID0+IHRoaXMuX29uSW50ZXJhY3Rpb24oZXZlbnQsIGZhbHNlKSlcbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfRk9DVVNJTiwgZXZlbnQgPT4gdGhpcy5fb25JbnRlcmFjdGlvbihldmVudCwgdHJ1ZSkpXG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0ZPQ1VTT1VULCBldmVudCA9PiB0aGlzLl9vbkludGVyYWN0aW9uKGV2ZW50LCBmYWxzZSkpXG4gIH1cblxuICBfY2xlYXJUaW1lb3V0KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KVxuICAgIHRoaXMuX3RpbWVvdXQgPSBudWxsXG4gIH1cblxuICAvLyBTdGF0aWNcblxuICBzdGF0aWMgalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGF0YSA9IFRvYXN0LmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcywgY29uZmlnKVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgTm8gbWV0aG9kIG5hbWVkIFwiJHtjb25maWd9XCJgKVxuICAgICAgICB9XG5cbiAgICAgICAgZGF0YVtjb25maWddKHRoaXMpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG5lbmFibGVEaXNtaXNzVHJpZ2dlcihUb2FzdClcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLlRvYXN0IHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuZGVmaW5lSlF1ZXJ5UGx1Z2luKFRvYXN0KVxuXG5leHBvcnQgZGVmYXVsdCBUb2FzdFxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/bootstrap/dist/js/bootstrap.esm.js\n");
+
+/***/ })
+
+/******/ })));
\ No newline at end of file
diff --git a/admin/assets/vendor/js/helpers.js b/admin/assets/vendor/js/helpers.js
new file mode 100644
index 0000000..dde1cd4
--- /dev/null
+++ b/admin/assets/vendor/js/helpers.js
@@ -0,0 +1,101 @@
+(function(e, a) { for(var i in a) e[i] = a[i]; }(window, /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = "./js/helpers.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./js/helpers.js":
+/*!***********************!*\
+ !*** ./js/helpers.js ***!
+ \***********************/
+/*! exports provided: Helpers */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return Helpers; });\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// Constants\nvar TRANS_EVENTS = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd'];\nvar TRANS_PROPERTIES = ['transition', 'MozTransition', 'webkitTransition', 'WebkitTransition', 'OTransition'];\nvar INLINE_STYLES = \"\\n.layout-menu-fixed .layout-navbar-full .layout-menu,\\n.layout-page {\\n padding-top: {navbarHeight}px !important;\\n}\\n.content-wrapper {\\n padding-bottom: {footerHeight}px !important;\\n}\"; // Guard\n\nfunction requiredParam(name) {\n throw new Error(\"Parameter required\".concat(name ? \": `\".concat(name, \"`\") : ''));\n}\n\nvar Helpers = {\n // Root Element\n ROOT_EL: typeof window !== 'undefined' ? document.documentElement : null,\n // Large screens breakpoint\n LAYOUT_BREAKPOINT: 1200,\n // Resize delay in milliseconds\n RESIZE_DELAY: 200,\n menuPsScroll: null,\n mainMenu: null,\n // Internal variables\n _curStyle: null,\n _styleEl: null,\n _resizeTimeout: null,\n _resizeCallback: null,\n _transitionCallback: null,\n _transitionCallbackTimeout: null,\n _listeners: [],\n _initialized: false,\n _autoUpdate: false,\n _lastWindowHeight: 0,\n // *******************************************************************************\n // * Utilities\n // ---\n // Scroll To Active Menu Item\n _scrollToActive: function _scrollToActive() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var layoutMenu = this.getLayoutMenu();\n if (!layoutMenu) return;\n var activeEl = layoutMenu.querySelector('li.menu-item.active:not(.open)');\n\n if (activeEl) {\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n var easeInOutQuad = function easeInOutQuad(t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t -= 1;\n return -c / 2 * (t * (t - 2) - 1) + b;\n };\n\n var element = this.getLayoutMenu().querySelector('.menu-inner');\n\n if (typeof activeEl === 'string') {\n activeEl = document.querySelector(activeEl);\n }\n\n if (typeof activeEl !== 'number') {\n activeEl = activeEl.getBoundingClientRect().top + element.scrollTop;\n } // If active element's top position is less than 2/3 (66%) of menu height than do not scroll\n\n\n if (activeEl < parseInt(element.clientHeight * 2 / 3, 10)) return;\n var start = element.scrollTop;\n var change = activeEl - start - parseInt(element.clientHeight / 2, 10);\n var startDate = +new Date();\n\n if (animate === true) {\n var animateScroll = function animateScroll() {\n var currentDate = +new Date();\n var currentTime = currentDate - startDate;\n var val = easeInOutQuad(currentTime, start, change, duration);\n element.scrollTop = val;\n\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n element.scrollTop = change;\n }\n };\n\n animateScroll();\n } else {\n element.scrollTop = change;\n }\n }\n },\n // ---\n // Add classes\n _addClass: function _addClass(cls) {\n var el = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.ROOT_EL;\n\n if (el.length !== undefined) {\n // Add classes to multiple elements\n el.forEach(function (e) {\n cls.split(' ').forEach(function (c) {\n return e.classList.add(c);\n });\n });\n } else {\n // Add classes to single element\n cls.split(' ').forEach(function (c) {\n return el.classList.add(c);\n });\n }\n },\n // ---\n // Remove classes\n _removeClass: function _removeClass(cls) {\n var el = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.ROOT_EL;\n\n if (el.length !== undefined) {\n // Remove classes to multiple elements\n el.forEach(function (e) {\n cls.split(' ').forEach(function (c) {\n return e.classList.remove(c);\n });\n });\n } else {\n // Remove classes to single element\n cls.split(' ').forEach(function (c) {\n return el.classList.remove(c);\n });\n }\n },\n // Toggle classes\n _toggleClass: function _toggleClass() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.ROOT_EL;\n var cls1 = arguments.length > 1 ? arguments[1] : undefined;\n var cls2 = arguments.length > 2 ? arguments[2] : undefined;\n\n if (el.classList.contains(cls1)) {\n el.classList.replace(cls1, cls2);\n } else {\n el.classList.replace(cls2, cls1);\n }\n },\n // ---\n // Has class\n _hasClass: function _hasClass(cls) {\n var el = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.ROOT_EL;\n var result = false;\n cls.split(' ').forEach(function (c) {\n if (el.classList.contains(c)) result = true;\n });\n return result;\n },\n _findParent: function _findParent(el, cls) {\n if (el && el.tagName.toUpperCase() === 'BODY' || el.tagName.toUpperCase() === 'HTML') return null;\n el = el.parentNode;\n\n while (el && el.tagName.toUpperCase() !== 'BODY' && !el.classList.contains(cls)) {\n el = el.parentNode;\n }\n\n el = el && el.tagName.toUpperCase() !== 'BODY' ? el : null;\n return el;\n },\n // ---\n // Trigger window event\n _triggerWindowEvent: function _triggerWindowEvent(name) {\n if (typeof window === 'undefined') return;\n\n if (document.createEvent) {\n var event;\n\n if (typeof Event === 'function') {\n event = new Event(name);\n } else {\n event = document.createEvent('Event');\n event.initEvent(name, false, true);\n }\n\n window.dispatchEvent(event);\n } else {\n window.fireEvent(\"on\".concat(name), document.createEventObject());\n }\n },\n // ---\n // Trigger event\n _triggerEvent: function _triggerEvent(name) {\n this._triggerWindowEvent(\"layout\".concat(name));\n\n this._listeners.filter(function (listener) {\n return listener.event === name;\n }).forEach(function (listener) {\n return listener.callback.call(null);\n });\n },\n // ---\n // Update style\n _updateInlineStyle: function _updateInlineStyle() {\n var navbarHeight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var footerHeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!this._styleEl) {\n this._styleEl = document.createElement('style');\n this._styleEl.type = 'text/css';\n document.head.appendChild(this._styleEl);\n }\n\n var newStyle = INLINE_STYLES.replace(/\\{navbarHeight\\}/gi, navbarHeight).replace(/\\{footerHeight\\}/gi, footerHeight);\n\n if (this._curStyle !== newStyle) {\n this._curStyle = newStyle;\n this._styleEl.textContent = newStyle;\n }\n },\n // ---\n // Remove style\n _removeInlineStyle: function _removeInlineStyle() {\n if (this._styleEl) document.head.removeChild(this._styleEl);\n this._styleEl = null;\n this._curStyle = null;\n },\n // ---\n // Redraw layout menu (Safari bugfix)\n _redrawLayoutMenu: function _redrawLayoutMenu() {\n var layoutMenu = this.getLayoutMenu();\n\n if (layoutMenu && layoutMenu.querySelector('.menu')) {\n var inner = layoutMenu.querySelector('.menu-inner');\n var scrollTop = inner.scrollTop;\n var pageScrollTop = document.documentElement.scrollTop;\n layoutMenu.style.display = 'none'; // layoutMenu.offsetHeight\n\n layoutMenu.style.display = '';\n inner.scrollTop = scrollTop;\n document.documentElement.scrollTop = pageScrollTop;\n return true;\n }\n\n return false;\n },\n // ---\n // Check for transition support\n _supportsTransitionEnd: function _supportsTransitionEnd() {\n if (window.QUnit) return false;\n var el = document.body || document.documentElement;\n if (!el) return false;\n var result = false;\n TRANS_PROPERTIES.forEach(function (evnt) {\n if (typeof el.style[evnt] !== 'undefined') result = true;\n });\n return result;\n },\n // ---\n // Calculate current navbar height\n _getNavbarHeight: function _getNavbarHeight() {\n var _this = this;\n\n var layoutNavbar = this.getLayoutNavbar();\n if (!layoutNavbar) return 0;\n if (!this.isSmallScreen()) return layoutNavbar.getBoundingClientRect().height; // Needs some logic to get navbar height on small screens\n\n var clonedEl = layoutNavbar.cloneNode(true);\n clonedEl.id = null;\n clonedEl.style.visibility = 'hidden';\n clonedEl.style.position = 'absolute';\n Array.prototype.slice.call(clonedEl.querySelectorAll('.collapse.show')).forEach(function (el) {\n return _this._removeClass('show', el);\n });\n layoutNavbar.parentNode.insertBefore(clonedEl, layoutNavbar);\n var navbarHeight = clonedEl.getBoundingClientRect().height;\n clonedEl.parentNode.removeChild(clonedEl);\n return navbarHeight;\n },\n // ---\n // Get current footer height\n _getFooterHeight: function _getFooterHeight() {\n var layoutFooter = this.getLayoutFooter();\n if (!layoutFooter) return 0;\n return layoutFooter.getBoundingClientRect().height;\n },\n // ---\n // Get animation duration of element\n _getAnimationDuration: function _getAnimationDuration(el) {\n var duration = window.getComputedStyle(el).transitionDuration;\n return parseFloat(duration) * (duration.indexOf('ms') !== -1 ? 1 : 1000);\n },\n // ---\n // Set menu hover state\n _setMenuHoverState: function _setMenuHoverState(hovered) {\n this[hovered ? '_addClass' : '_removeClass']('layout-menu-hover');\n },\n // ---\n // Toggle collapsed\n _setCollapsed: function _setCollapsed(collapsed) {\n var _this2 = this;\n\n if (this.isSmallScreen()) {\n if (collapsed) {\n this._removeClass('layout-menu-expanded');\n } else {\n setTimeout(function () {\n _this2._addClass('layout-menu-expanded');\n }, this._redrawLayoutMenu() ? 5 : 0);\n }\n }\n },\n // ---\n // Add layout sivenav toggle animationEnd event\n _bindLayoutAnimationEndEvent: function _bindLayoutAnimationEndEvent(modifier, cb) {\n var _this3 = this;\n\n var menu = this.getMenu();\n var duration = menu ? this._getAnimationDuration(menu) + 50 : 0;\n\n if (!duration) {\n modifier.call(this);\n cb.call(this);\n return;\n }\n\n this._transitionCallback = function (e) {\n if (e.target !== menu) return;\n\n _this3._unbindLayoutAnimationEndEvent();\n\n cb.call(_this3);\n };\n\n TRANS_EVENTS.forEach(function (e) {\n menu.addEventListener(e, _this3._transitionCallback, false);\n });\n modifier.call(this);\n this._transitionCallbackTimeout = setTimeout(function () {\n _this3._transitionCallback.call(_this3, {\n target: menu\n });\n }, duration);\n },\n // ---\n // Remove layout sivenav toggle animationEnd event\n _unbindLayoutAnimationEndEvent: function _unbindLayoutAnimationEndEvent() {\n var _this4 = this;\n\n var menu = this.getMenu();\n\n if (this._transitionCallbackTimeout) {\n clearTimeout(this._transitionCallbackTimeout);\n this._transitionCallbackTimeout = null;\n }\n\n if (menu && this._transitionCallback) {\n TRANS_EVENTS.forEach(function (e) {\n menu.removeEventListener(e, _this4._transitionCallback, false);\n });\n }\n\n if (this._transitionCallback) {\n this._transitionCallback = null;\n }\n },\n // ---\n // Bind delayed window resize event\n _bindWindowResizeEvent: function _bindWindowResizeEvent() {\n var _this5 = this;\n\n this._unbindWindowResizeEvent();\n\n var cb = function cb() {\n if (_this5._resizeTimeout) {\n clearTimeout(_this5._resizeTimeout);\n _this5._resizeTimeout = null;\n }\n\n _this5._triggerEvent('resize');\n };\n\n this._resizeCallback = function () {\n if (_this5._resizeTimeout) clearTimeout(_this5._resizeTimeout);\n _this5._resizeTimeout = setTimeout(cb, _this5.RESIZE_DELAY);\n };\n\n window.addEventListener('resize', this._resizeCallback, false);\n },\n // ---\n // Unbind delayed window resize event\n _unbindWindowResizeEvent: function _unbindWindowResizeEvent() {\n if (this._resizeTimeout) {\n clearTimeout(this._resizeTimeout);\n this._resizeTimeout = null;\n }\n\n if (this._resizeCallback) {\n window.removeEventListener('resize', this._resizeCallback, false);\n this._resizeCallback = null;\n }\n },\n _bindMenuMouseEvents: function _bindMenuMouseEvents() {\n var _this6 = this;\n\n if (this._menuMouseEnter && this._menuMouseLeave && this._windowTouchStart) return;\n var layoutMenu = this.getLayoutMenu();\n if (!layoutMenu) return this._unbindMenuMouseEvents();\n\n if (!this._menuMouseEnter) {\n this._menuMouseEnter = function () {\n if (_this6.isSmallScreen() || _this6._hasClass('layout-transitioning')) {\n return _this6._setMenuHoverState(false);\n }\n\n return _this6._setMenuHoverState(false);\n };\n\n layoutMenu.addEventListener('mouseenter', this._menuMouseEnter, false);\n layoutMenu.addEventListener('touchstart', this._menuMouseEnter, false);\n }\n\n if (!this._menuMouseLeave) {\n this._menuMouseLeave = function () {\n _this6._setMenuHoverState(false);\n };\n\n layoutMenu.addEventListener('mouseleave', this._menuMouseLeave, false);\n }\n\n if (!this._windowTouchStart) {\n this._windowTouchStart = function (e) {\n if (!e || !e.target || !_this6._findParent(e.target, '.layout-menu')) {\n _this6._setMenuHoverState(false);\n }\n };\n\n window.addEventListener('touchstart', this._windowTouchStart, true);\n }\n },\n _unbindMenuMouseEvents: function _unbindMenuMouseEvents() {\n if (!this._menuMouseEnter && !this._menuMouseLeave && !this._windowTouchStart) return;\n var layoutMenu = this.getLayoutMenu();\n\n if (this._menuMouseEnter) {\n if (layoutMenu) {\n layoutMenu.removeEventListener('mouseenter', this._menuMouseEnter, false);\n layoutMenu.removeEventListener('touchstart', this._menuMouseEnter, false);\n }\n\n this._menuMouseEnter = null;\n }\n\n if (this._menuMouseLeave) {\n if (layoutMenu) {\n layoutMenu.removeEventListener('mouseleave', this._menuMouseLeave, false);\n }\n\n this._menuMouseLeave = null;\n }\n\n if (this._windowTouchStart) {\n if (layoutMenu) {\n window.addEventListener('touchstart', this._windowTouchStart, true);\n }\n\n this._windowTouchStart = null;\n }\n\n this._setMenuHoverState(false);\n },\n // *******************************************************************************\n // * Methods\n scrollToActive: function scrollToActive() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this._scrollToActive(animate);\n },\n // ---\n // Collapse / expand layout\n setCollapsed: function setCollapsed() {\n var _this7 = this;\n\n var collapsed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : requiredParam('collapsed');\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var layoutMenu = this.getLayoutMenu();\n if (!layoutMenu) return;\n\n this._unbindLayoutAnimationEndEvent();\n\n if (animate && this._supportsTransitionEnd()) {\n this._addClass('layout-transitioning');\n\n if (collapsed) this._setMenuHoverState(false);\n\n this._bindLayoutAnimationEndEvent(function () {\n // Collapse / Expand\n if (_this7.isSmallScreen) _this7._setCollapsed(collapsed);\n }, function () {\n _this7._removeClass('layout-transitioning');\n\n _this7._triggerWindowEvent('resize');\n\n _this7._triggerEvent('toggle');\n\n _this7._setMenuHoverState(false);\n });\n } else {\n this._addClass('layout-no-transition');\n\n if (collapsed) this._setMenuHoverState(false); // Collapse / Expand\n\n this._setCollapsed(collapsed);\n\n setTimeout(function () {\n _this7._removeClass('layout-no-transition');\n\n _this7._triggerWindowEvent('resize');\n\n _this7._triggerEvent('toggle');\n\n _this7._setMenuHoverState(false);\n }, 1);\n }\n },\n // ---\n // Toggle layout\n toggleCollapsed: function toggleCollapsed() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setCollapsed(!this.isCollapsed(), animate);\n },\n // ---\n // Set layout positioning\n setPosition: function setPosition() {\n var fixed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : requiredParam('fixed');\n var offcanvas = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : requiredParam('offcanvas');\n\n this._removeClass('layout-menu-offcanvas layout-menu-fixed layout-menu-fixed-offcanvas');\n\n if (!fixed && offcanvas) {\n this._addClass('layout-menu-offcanvas');\n } else if (fixed && !offcanvas) {\n this._addClass('layout-menu-fixed');\n\n this._redrawLayoutMenu();\n } else if (fixed && offcanvas) {\n this._addClass('layout-menu-fixed-offcanvas');\n\n this._redrawLayoutMenu();\n }\n\n this.update();\n },\n // *******************************************************************************\n // * Getters\n getLayoutMenu: function getLayoutMenu() {\n return document.querySelector('.layout-menu');\n },\n getMenu: function getMenu() {\n var layoutMenu = this.getLayoutMenu();\n if (!layoutMenu) return null;\n return !this._hasClass('menu', layoutMenu) ? layoutMenu.querySelector('.menu') : layoutMenu;\n },\n getLayoutNavbar: function getLayoutNavbar() {\n return document.querySelector('.layout-navbar');\n },\n getLayoutFooter: function getLayoutFooter() {\n return document.querySelector('.content-footer');\n },\n // *******************************************************************************\n // * Update\n update: function update() {\n if (this.getLayoutNavbar() && (!this.isSmallScreen() && this.isLayoutNavbarFull() && this.isFixed() || this.isNavbarFixed()) || this.getLayoutFooter() && this.isFooterFixed()) {\n this._updateInlineStyle(this._getNavbarHeight(), this._getFooterHeight());\n }\n\n this._bindMenuMouseEvents();\n },\n setAutoUpdate: function setAutoUpdate() {\n var _this8 = this;\n\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : requiredParam('enable');\n\n if (enable && !this._autoUpdate) {\n this.on('resize.Helpers:autoUpdate', function () {\n return _this8.update();\n });\n this._autoUpdate = true;\n } else if (!enable && this._autoUpdate) {\n this.off('resize.Helpers:autoUpdate');\n this._autoUpdate = false;\n }\n },\n // *******************************************************************************\n // * Tests\n isRtl: function isRtl() {\n return document.querySelector('body').getAttribute('dir') === 'rtl' || document.querySelector('html').getAttribute('dir') === 'rtl';\n },\n isMobileDevice: function isMobileDevice() {\n return typeof window.orientation !== 'undefined' || navigator.userAgent.indexOf('IEMobile') !== -1;\n },\n isSmallScreen: function isSmallScreen() {\n return (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) < this.LAYOUT_BREAKPOINT;\n },\n isLayoutNavbarFull: function isLayoutNavbarFull() {\n return !!document.querySelector('.layout-wrapper.layout-navbar-full');\n },\n isCollapsed: function isCollapsed() {\n if (this.isSmallScreen()) {\n return !this._hasClass('layout-menu-expanded');\n }\n\n return this._hasClass('layout-menu-collapsed');\n },\n isFixed: function isFixed() {\n return this._hasClass('layout-menu-fixed layout-menu-fixed-offcanvas');\n },\n isNavbarFixed: function isNavbarFixed() {\n return this._hasClass('layout-navbar-fixed') || !this.isSmallScreen() && this.isFixed() && this.isLayoutNavbarFull();\n },\n isFooterFixed: function isFooterFixed() {\n return this._hasClass('layout-footer-fixed');\n },\n isLightStyle: function isLightStyle() {\n return document.documentElement.classList.contains('light-style');\n },\n // *******************************************************************************\n // * Events\n on: function on() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : requiredParam('event');\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : requiredParam('callback');\n\n var _event$split = event.split('.'),\n _event$split2 = _slicedToArray(_event$split, 1),\n _event = _event$split2[0];\n\n var _event$split3 = event.split('.'),\n _event$split4 = _toArray(_event$split3),\n namespace = _event$split4.slice(1); // let [_event, ...namespace] = event.split('.')\n\n\n namespace = namespace.join('.') || null;\n\n this._listeners.push({\n event: _event,\n namespace: namespace,\n callback: callback\n });\n },\n off: function off() {\n var _this9 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : requiredParam('event');\n\n var _event$split5 = event.split('.'),\n _event$split6 = _slicedToArray(_event$split5, 1),\n _event = _event$split6[0];\n\n var _event$split7 = event.split('.'),\n _event$split8 = _toArray(_event$split7),\n namespace = _event$split8.slice(1);\n\n namespace = namespace.join('.') || null;\n\n this._listeners.filter(function (listener) {\n return listener.event === _event && listener.namespace === namespace;\n }).forEach(function (listener) {\n return _this9._listeners.splice(_this9._listeners.indexOf(listener), 1);\n });\n },\n // *******************************************************************************\n // * Life cycle\n init: function init() {\n var _this10 = this;\n\n if (this._initialized) return;\n this._initialized = true; // Initialize `style` element\n\n this._updateInlineStyle(0); // Bind window resize event\n\n\n this._bindWindowResizeEvent(); // Bind init event\n\n\n this.off('init._Helpers');\n this.on('init._Helpers', function () {\n _this10.off('resize._Helpers:redrawMenu');\n\n _this10.on('resize._Helpers:redrawMenu', function () {\n // eslint-disable-next-line no-unused-expressions\n _this10.isSmallScreen() && !_this10.isCollapsed() && _this10._redrawLayoutMenu();\n }); // Force repaint in IE 10\n\n\n if (typeof document.documentMode === 'number' && document.documentMode < 11) {\n _this10.off('resize._Helpers:ie10RepaintBody');\n\n _this10.on('resize._Helpers:ie10RepaintBody', function () {\n if (_this10.isFixed()) return;\n var scrollTop = document.documentElement.scrollTop;\n document.body.style.display = 'none'; // document.body.offsetHeight\n\n document.body.style.display = 'block';\n document.documentElement.scrollTop = scrollTop;\n });\n }\n });\n\n this._triggerEvent('init');\n },\n destroy: function destroy() {\n var _this11 = this;\n\n if (!this._initialized) return;\n this._initialized = false;\n\n this._removeClass('layout-transitioning');\n\n this._removeInlineStyle();\n\n this._unbindLayoutAnimationEndEvent();\n\n this._unbindWindowResizeEvent();\n\n this._unbindMenuMouseEvents();\n\n this.setAutoUpdate(false);\n this.off('init._Helpers'); // Remove all listeners except `init`\n\n this._listeners.filter(function (listener) {\n return listener.event !== 'init';\n }).forEach(function (listener) {\n return _this11._listeners.splice(_this11._listeners.indexOf(listener), 1);\n });\n },\n // ---\n // Init Password Toggle\n initPasswordToggle: function initPasswordToggle() {\n var toggler = document.querySelectorAll('.form-password-toggle i');\n\n if (typeof toggler !== 'undefined' && toggler !== null) {\n toggler.forEach(function (el) {\n el.addEventListener('click', function (e) {\n e.preventDefault();\n var formPasswordToggle = el.closest('.form-password-toggle');\n var formPasswordToggleIcon = formPasswordToggle.querySelector('i');\n var formPasswordToggleInput = formPasswordToggle.querySelector('input');\n\n if (formPasswordToggleInput.getAttribute('type') === 'text') {\n formPasswordToggleInput.setAttribute('type', 'password');\n formPasswordToggleIcon.classList.replace('bx-show', 'bx-hide');\n } else if (formPasswordToggleInput.getAttribute('type') === 'password') {\n formPasswordToggleInput.setAttribute('type', 'text');\n formPasswordToggleIcon.classList.replace('bx-hide', 'bx-show');\n }\n });\n });\n }\n },\n // ---\n // Init Speech To Text\n initSpeechToText: function initSpeechToText() {\n var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;\n var speechToText = document.querySelectorAll('.speech-to-text');\n\n if (SpeechRecognition !== undefined && SpeechRecognition !== null) {\n if (typeof speechToText !== 'undefined' && speechToText !== null) {\n var recognition = new SpeechRecognition();\n var toggler = document.querySelectorAll('.speech-to-text i');\n toggler.forEach(function (el) {\n var listening = false;\n el.addEventListener('click', function () {\n el.closest('.input-group').querySelector('.form-control').focus();\n\n recognition.onspeechstart = function () {\n listening = true;\n };\n\n if (listening === false) {\n recognition.start();\n }\n\n recognition.onerror = function () {\n listening = false;\n };\n\n recognition.onresult = function (event) {\n el.closest('.input-group').querySelector('.form-control').value = event.results[0][0].transcript;\n };\n\n recognition.onspeechend = function () {\n listening = false;\n recognition.stop();\n };\n });\n });\n }\n }\n },\n // Ajax Call Promise\n ajaxCall: function ajaxCall(url) {\n return new Promise(function (resolve, reject) {\n var req = new XMLHttpRequest();\n req.open('GET', url);\n\n req.onload = function () {\n return req.status === 200 ? resolve(req.response) : reject(Error(req.statusText));\n };\n\n req.onerror = function (e) {\n return reject(Error(\"Network Error: \".concat(e)));\n };\n\n req.send();\n });\n },\n // ---\n // SidebarToggle (Used in Apps)\n initSidebarToggle: function initSidebarToggle() {\n var sidebarToggler = document.querySelectorAll('[data-bs-toggle=\"sidebar\"]');\n sidebarToggler.forEach(function (el) {\n el.addEventListener('click', function () {\n var target = el.getAttribute('data-target');\n var overlay = el.getAttribute('data-overlay');\n var appOverlay = document.querySelectorAll('.app-overlay');\n var targetEl = document.querySelectorAll(target);\n targetEl.forEach(function (tel) {\n tel.classList.toggle('show');\n\n if (typeof overlay !== 'undefined' && overlay !== null && overlay !== false && typeof appOverlay !== 'undefined') {\n if (tel.classList.contains('show')) {\n appOverlay[0].classList.add('show');\n } else {\n appOverlay[0].classList.remove('show');\n }\n\n appOverlay[0].addEventListener('click', function (e) {\n e.currentTarget.classList.remove('show');\n tel.classList.remove('show');\n });\n }\n });\n });\n });\n }\n}; // *******************************************************************************\n// * Initialization\n\nif (typeof window !== 'undefined') {\n Helpers.init();\n\n if (Helpers.isMobileDevice() && window.chrome) {\n document.documentElement.classList.add('layout-menu-100vh');\n } // Update layout after page load\n\n\n if (document.readyState === 'complete') Helpers.update();else document.addEventListener('DOMContentLoaded', function onContentLoaded() {\n Helpers.update();\n document.removeEventListener('DOMContentLoaded', onContentLoaded);\n });\n} // ---\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9oZWxwZXJzLmpzPzBiMjEiXSwibmFtZXMiOlsiVFJBTlNfRVZFTlRTIiwiVFJBTlNfUFJPUEVSVElFUyIsIklOTElORV9TVFlMRVMiLCJyZXF1aXJlZFBhcmFtIiwibmFtZSIsIkVycm9yIiwiSGVscGVycyIsIlJPT1RfRUwiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsIkxBWU9VVF9CUkVBS1BPSU5UIiwiUkVTSVpFX0RFTEFZIiwibWVudVBzU2Nyb2xsIiwibWFpbk1lbnUiLCJfY3VyU3R5bGUiLCJfc3R5bGVFbCIsIl9yZXNpemVUaW1lb3V0IiwiX3Jlc2l6ZUNhbGxiYWNrIiwiX3RyYW5zaXRpb25DYWxsYmFjayIsIl90cmFuc2l0aW9uQ2FsbGJhY2tUaW1lb3V0IiwiX2xpc3RlbmVycyIsIl9pbml0aWFsaXplZCIsIl9hdXRvVXBkYXRlIiwiX2xhc3RXaW5kb3dIZWlnaHQiLCJfc2Nyb2xsVG9BY3RpdmUiLCJhbmltYXRlIiwiZHVyYXRpb24iLCJsYXlvdXRNZW51IiwiZ2V0TGF5b3V0TWVudSIsImFjdGl2ZUVsIiwicXVlcnlTZWxlY3RvciIsImVhc2VJbk91dFF1YWQiLCJ0IiwiYiIsImMiLCJkIiwiZWxlbWVudCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRvcCIsInNjcm9sbFRvcCIsInBhcnNlSW50IiwiY2xpZW50SGVpZ2h0Iiwic3RhcnQiLCJjaGFuZ2UiLCJzdGFydERhdGUiLCJEYXRlIiwiYW5pbWF0ZVNjcm9sbCIsImN1cnJlbnREYXRlIiwiY3VycmVudFRpbWUiLCJ2YWwiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJfYWRkQ2xhc3MiLCJjbHMiLCJlbCIsImxlbmd0aCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJlIiwic3BsaXQiLCJjbGFzc0xpc3QiLCJhZGQiLCJfcmVtb3ZlQ2xhc3MiLCJyZW1vdmUiLCJfdG9nZ2xlQ2xhc3MiLCJjbHMxIiwiY2xzMiIsImNvbnRhaW5zIiwicmVwbGFjZSIsIl9oYXNDbGFzcyIsInJlc3VsdCIsIl9maW5kUGFyZW50IiwidGFnTmFtZSIsInRvVXBwZXJDYXNlIiwicGFyZW50Tm9kZSIsIl90cmlnZ2VyV2luZG93RXZlbnQiLCJjcmVhdGVFdmVudCIsImV2ZW50IiwiRXZlbnQiLCJpbml0RXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiZmlyZUV2ZW50IiwiY3JlYXRlRXZlbnRPYmplY3QiLCJfdHJpZ2dlckV2ZW50IiwiZmlsdGVyIiwibGlzdGVuZXIiLCJjYWxsYmFjayIsImNhbGwiLCJfdXBkYXRlSW5saW5lU3R5bGUiLCJuYXZiYXJIZWlnaHQiLCJmb290ZXJIZWlnaHQiLCJjcmVhdGVFbGVtZW50IiwidHlwZSIsImhlYWQiLCJhcHBlbmRDaGlsZCIsIm5ld1N0eWxlIiwidGV4dENvbnRlbnQiLCJfcmVtb3ZlSW5saW5lU3R5bGUiLCJyZW1vdmVDaGlsZCIsIl9yZWRyYXdMYXlvdXRNZW51IiwiaW5uZXIiLCJwYWdlU2Nyb2xsVG9wIiwic3R5bGUiLCJkaXNwbGF5IiwiX3N1cHBvcnRzVHJhbnNpdGlvbkVuZCIsIlFVbml0IiwiYm9keSIsImV2bnQiLCJfZ2V0TmF2YmFySGVpZ2h0IiwibGF5b3V0TmF2YmFyIiwiZ2V0TGF5b3V0TmF2YmFyIiwiaXNTbWFsbFNjcmVlbiIsImhlaWdodCIsImNsb25lZEVsIiwiY2xvbmVOb2RlIiwiaWQiLCJ2aXNpYmlsaXR5IiwicG9zaXRpb24iLCJBcnJheSIsInByb3RvdHlwZSIsInNsaWNlIiwicXVlcnlTZWxlY3RvckFsbCIsImluc2VydEJlZm9yZSIsIl9nZXRGb290ZXJIZWlnaHQiLCJsYXlvdXRGb290ZXIiLCJnZXRMYXlvdXRGb290ZXIiLCJfZ2V0QW5pbWF0aW9uRHVyYXRpb24iLCJnZXRDb21wdXRlZFN0eWxlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwicGFyc2VGbG9hdCIsImluZGV4T2YiLCJfc2V0TWVudUhvdmVyU3RhdGUiLCJob3ZlcmVkIiwiX3NldENvbGxhcHNlZCIsImNvbGxhcHNlZCIsInNldFRpbWVvdXQiLCJfYmluZExheW91dEFuaW1hdGlvbkVuZEV2ZW50IiwibW9kaWZpZXIiLCJjYiIsIm1lbnUiLCJnZXRNZW51IiwidGFyZ2V0IiwiX3VuYmluZExheW91dEFuaW1hdGlvbkVuZEV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfYmluZFdpbmRvd1Jlc2l6ZUV2ZW50IiwiX3VuYmluZFdpbmRvd1Jlc2l6ZUV2ZW50IiwiX2JpbmRNZW51TW91c2VFdmVudHMiLCJfbWVudU1vdXNlRW50ZXIiLCJfbWVudU1vdXNlTGVhdmUiLCJfd2luZG93VG91Y2hTdGFydCIsIl91bmJpbmRNZW51TW91c2VFdmVudHMiLCJzY3JvbGxUb0FjdGl2ZSIsInNldENvbGxhcHNlZCIsInRvZ2dsZUNvbGxhcHNlZCIsImlzQ29sbGFwc2VkIiwic2V0UG9zaXRpb24iLCJmaXhlZCIsIm9mZmNhbnZhcyIsInVwZGF0ZSIsImlzTGF5b3V0TmF2YmFyRnVsbCIsImlzRml4ZWQiLCJpc05hdmJhckZpeGVkIiwiaXNGb290ZXJGaXhlZCIsInNldEF1dG9VcGRhdGUiLCJlbmFibGUiLCJvbiIsIm9mZiIsImlzUnRsIiwiZ2V0QXR0cmlidXRlIiwiaXNNb2JpbGVEZXZpY2UiLCJvcmllbnRhdGlvbiIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImlubmVyV2lkdGgiLCJjbGllbnRXaWR0aCIsImlzTGlnaHRTdHlsZSIsIl9ldmVudCIsIm5hbWVzcGFjZSIsImpvaW4iLCJwdXNoIiwic3BsaWNlIiwiaW5pdCIsImRvY3VtZW50TW9kZSIsImRlc3Ryb3kiLCJpbml0UGFzc3dvcmRUb2dnbGUiLCJ0b2dnbGVyIiwicHJldmVudERlZmF1bHQiLCJmb3JtUGFzc3dvcmRUb2dnbGUiLCJjbG9zZXN0IiwiZm9ybVBhc3N3b3JkVG9nZ2xlSWNvbiIsImZvcm1QYXNzd29yZFRvZ2dsZUlucHV0Iiwic2V0QXR0cmlidXRlIiwiaW5pdFNwZWVjaFRvVGV4dCIsIlNwZWVjaFJlY29nbml0aW9uIiwid2Via2l0U3BlZWNoUmVjb2duaXRpb24iLCJzcGVlY2hUb1RleHQiLCJyZWNvZ25pdGlvbiIsImxpc3RlbmluZyIsImZvY3VzIiwib25zcGVlY2hzdGFydCIsIm9uZXJyb3IiLCJvbnJlc3VsdCIsInZhbHVlIiwicmVzdWx0cyIsInRyYW5zY3JpcHQiLCJvbnNwZWVjaGVuZCIsInN0b3AiLCJhamF4Q2FsbCIsInVybCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVxIiwiWE1MSHR0cFJlcXVlc3QiLCJvcGVuIiwib25sb2FkIiwic3RhdHVzIiwicmVzcG9uc2UiLCJzdGF0dXNUZXh0Iiwic2VuZCIsImluaXRTaWRlYmFyVG9nZ2xlIiwic2lkZWJhclRvZ2dsZXIiLCJvdmVybGF5IiwiYXBwT3ZlcmxheSIsInRhcmdldEVsIiwidGVsIiwidG9nZ2xlIiwiY3VycmVudFRhcmdldCIsImNocm9tZSIsInJlYWR5U3RhdGUiLCJvbkNvbnRlbnRMb2FkZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0EsSUFBTUEsWUFBWSxHQUFHLENBQUMsZUFBRCxFQUFrQixxQkFBbEIsRUFBeUMsZ0JBQXpDLENBQXJCO0FBQ0EsSUFBTUMsZ0JBQWdCLEdBQUcsQ0FBQyxZQUFELEVBQWUsZUFBZixFQUFnQyxrQkFBaEMsRUFBb0Qsa0JBQXBELEVBQXdFLGFBQXhFLENBQXpCO0FBQ0EsSUFBTUMsYUFBYSxrTUFBbkIsQyxDQVNBOztBQUNBLFNBQVNDLGFBQVQsQ0FBdUJDLElBQXZCLEVBQTZCO0FBQzNCLFFBQU0sSUFBSUMsS0FBSiw2QkFBK0JELElBQUksZ0JBQVVBLElBQVYsU0FBcUIsRUFBeEQsRUFBTjtBQUNEOztBQUVELElBQU1FLE9BQU8sR0FBRztBQUNkO0FBQ0FDLFNBQU8sRUFBRSxPQUFPQyxNQUFQLEtBQWtCLFdBQWxCLEdBQWdDQyxRQUFRLENBQUNDLGVBQXpDLEdBQTJELElBRnREO0FBSWQ7QUFDQUMsbUJBQWlCLEVBQUUsSUFM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Q0FBNEIsTUFBNUI7QUFDRCxhQUZELE1BRU87QUFDTG9LLHdCQUFVLENBQUMsQ0FBRCxDQUFWLENBQWNySyxTQUFkLENBQXdCRyxNQUF4QixDQUErQixNQUEvQjtBQUNEOztBQUNEa0ssc0JBQVUsQ0FBQyxDQUFELENBQVYsQ0FBY2xGLGdCQUFkLENBQStCLE9BQS9CLEVBQXdDLFVBQUFyRixDQUFDLEVBQUk7QUFDM0NBLGVBQUMsQ0FBQzJLLGFBQUYsQ0FBZ0J6SyxTQUFoQixDQUEwQkcsTUFBMUIsQ0FBaUMsTUFBakM7QUFDQW9LLGlCQUFHLENBQUN2SyxTQUFKLENBQWNHLE1BQWQsQ0FBcUIsTUFBckI7QUFDRCxhQUhEO0FBSUQ7QUFDRixTQWxCRDtBQW1CRCxPQXpCRDtBQTBCRCxLQTNCRDtBQTRCRDtBQXp5QmEsQ0FBaEIsQyxDQTR5QkE7QUFDQTs7QUFFQSxJQUFJLE9BQU92RCxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDRixTQUFPLENBQUNpTCxJQUFSOztBQUVBLE1BQUlqTCxPQUFPLENBQUNxSyxjQUFSLE1BQTRCbkssTUFBTSxDQUFDOE4sTUFBdkMsRUFBK0M7QUFDN0M3TixZQUFRLENBQUNDLGVBQVQsQ0FBeUJrRCxTQUF6QixDQUFtQ0MsR0FBbkMsQ0FBdUMsbUJBQXZDO0FBQ0QsR0FMZ0MsQ0FPakM7OztBQUNBLE1BQUlwRCxRQUFRLENBQUM4TixVQUFULEtBQXdCLFVBQTVCLEVBQXdDak8sT0FBTyxDQUFDMEosTUFBUixHQUF4QyxLQUVFdkosUUFBUSxDQUFDc0ksZ0JBQVQsQ0FBMEIsa0JBQTFCLEVBQThDLFNBQVN5RixlQUFULEdBQTJCO0FBQ3ZFbE8sV0FBTyxDQUFDMEosTUFBUjtBQUNBdkosWUFBUSxDQUFDd0ksbUJBQVQsQ0FBNkIsa0JBQTdCLEVBQWlEdUYsZUFBakQ7QUFDRCxHQUhEO0FBSUgsQyxDQUVEIiwiZmlsZSI6Ii4vanMvaGVscGVycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbnN0YW50c1xuY29uc3QgVFJBTlNfRVZFTlRTID0gWyd0cmFuc2l0aW9uZW5kJywgJ3dlYmtpdFRyYW5zaXRpb25FbmQnLCAnb1RyYW5zaXRpb25FbmQnXVxuY29uc3QgVFJBTlNfUFJPUEVSVElFUyA9IFsndHJhbnNpdGlvbicsICdNb3pUcmFuc2l0aW9uJywgJ3dlYmtpdFRyYW5zaXRpb24nLCAnV2Via2l0VHJhbnNpdGlvbicsICdPVHJhbnNpdGlvbiddXG5jb25zdCBJTkxJTkVfU1RZTEVTID0gYFxuLmxheW91dC1tZW51LWZpeGVkIC5sYXlvdXQtbmF2YmFyLWZ1bGwgLmxheW91dC1tZW51LFxuLmxheW91dC1wYWdlIHtcbiAgcGFkZGluZy10b3A6IHtuYXZiYXJIZWlnaHR9cHggIWltcG9ydGFudDtcbn1cbi5jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nLWJvdHRvbToge2Zvb3RlckhlaWdodH1weCAhaW1wb3J0YW50O1xufWBcblxuLy8gR3VhcmRcbmZ1bmN0aW9uIHJlcXVpcmVkUGFyYW0obmFtZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoYFBhcmFtZXRlciByZXF1aXJlZCR7bmFtZSA/IGA6IFxcYCR7bmFtZX1cXGBgIDogJyd9YClcbn1cblxuY29uc3QgSGVscGVycyA9IHtcbiAgLy8gUm9vdCBFbGVtZW50XG4gIFJPT1RfRUw6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IDogbnVsbCxcblxuICAvLyBMYXJnZSBzY3JlZW5zIGJyZWFrcG9pbnRcbiAgTEFZT1VUX0JSRUFLUE9JTlQ6IDEyMDAsXG5cbiAgLy8gUmVzaXplIGRlbGF5IGluIG1pbGxpc2Vjb25kc1xuICBSRVNJWkVfREVMQVk6IDIwMCxcblxuICBtZW51UHNTY3JvbGw6IG51bGwsXG5cbiAgbWFpbk1lbnU6IG51bGwsXG5cbiAgLy8gSW50ZXJuYWwgdmFyaWFibGVzXG4gIF9jdXJTdHlsZTogbnVsbCxcbiAgX3N0eWxlRWw6IG51bGwsXG4gIF9yZXNpemVUaW1lb3V0OiBudWxsLFxuICBfcmVzaXplQ2FsbGJhY2s6IG51bGwsXG4gIF90cmFuc2l0aW9uQ2FsbGJhY2s6IG51bGwsXG4gIF90cmFuc2l0aW9uQ2FsbGJhY2tUaW1lb3V0OiBudWxsLFxuICBfbGlzdGVuZXJzOiBbXSxcbiAgX2luaXRpYWxpemVkOiBmYWxzZSxcbiAgX2F1dG9VcGRhdGU6IGZhbHNlLFxuICBfbGFzdFdpbmRvd0hlaWdodDogMCxcblxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vICogVXRpbGl0aWVzXG5cbiAgLy8gLS0tXG4gIC8vIFNjcm9sbCBUbyBBY3RpdmUgTWVudSBJdGVtXG4gIF9zY3JvbGxUb0FjdGl2ZShhbmltYXRlID0gZmFsc2UsIGR1cmF0aW9uID0gNTAwKSB7XG4gICAgY29uc3QgbGF5b3V0TWVudSA9IHRoaXMuZ2V0TGF5b3V0TWVudSgpXG5cbiAgICBpZiAoIWxheW91dE1lbnUpIHJldHVyblxuXG4gICAgbGV0IGFjdGl2ZUVsID0gbGF5b3V0TWVudS5xdWVyeVNlbGVjdG9yKCdsaS5tZW51LWl0ZW0uYWN0aXZlOm5vdCgub3BlbiknKVxuXG4gICAgaWYgKGFjdGl2ZUVsKSB7XG4gICAgICAvLyB0ID0gY3VycmVudCB0aW1lXG4gICAgICAvLyBiID0gc3RhcnQgdmFsdWVcbiAgICAgIC8vIGMgPSBjaGFuZ2UgaW4gdmFsdWVcbiAgICAgIC8vIGQgPSBkdXJhdGlvblxuICAgICAgY29uc3QgZWFzZUluT3V0UXVhZCA9ICh0LCBiLCBjLCBkKSA9PiB7XG4gICAgICAgIHQgLz0gZCAvIDJcbiAgICAgICAgaWYgKHQgPCAxKSByZXR1cm4gKGMgLyAyKSAqIHQgKiB0ICsgYlxuICAgICAgICB0IC09IDFcbiAgICAgICAgcmV0dXJuICgtYyAvIDIpICogKHQgKiAodCAtIDIpIC0gMSkgKyBiXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldExheW91dE1lbnUoKS5xdWVyeVNlbGVjdG9yKCcubWVudS1pbm5lcicpXG5cbiAgICAgIGlmICh0eXBlb2YgYWN0aXZlRWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGFjdGl2ZUVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3RpdmVFbClcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgYWN0aXZlRWwgIT09ICdudW1iZXInKSB7XG4gICAgICAgIGFjdGl2ZUVsID0gYWN0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgZWxlbWVudC5zY3JvbGxUb3BcbiAgICAgIH1cblxuICAgICAgLy8gSWYgYWN0aXZlIGVsZW1lbnQncyB0b3AgcG9zaXRpb24gaXMgbGVzcyB0aGFuIDIvMyAoNjYlKSBvZiBtZW51IGhlaWdodCB0aGFuIGRvIG5vdCBzY3JvbGxcbiAgICAgIGlmIChhY3RpdmVFbCA8IHBhcnNlSW50KChlbGVtZW50LmNsaWVudEhlaWdodCAqIDIpIC8gMywgMTApKSByZXR1cm5cblxuICAgICAgY29uc3Qgc3RhcnQgPSBlbGVtZW50LnNjcm9sbFRvcFxuICAgICAgY29uc3QgY2hhbmdlID0gYWN0aXZlRWwgLSBzdGFydCAtIHBhcnNlSW50KGVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gMiwgMTApXG4gICAgICBjb25zdCBzdGFydERhdGUgPSArbmV3IERhdGUoKVxuXG4gICAgICBpZiAoYW5pbWF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBhbmltYXRlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gK25ldyBEYXRlKClcbiAgICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IGN1cnJlbnREYXRlIC0gc3RhcnREYXRlXG4gICAgICAgICAgY29uc3QgdmFsID0gZWFzZUluT3V0UXVhZChjdXJyZW50VGltZSwgc3RhcnQsIGNoYW5nZSwgZHVyYXRpb24pXG4gICAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSB2YWxcbiAgICAgICAgICBpZiAoY3VycmVudFRpbWUgPCBkdXJhdGlvbikge1xuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGVTY3JvbGwpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gY2hhbmdlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFuaW1hdGVTY3JvbGwoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBjaGFuZ2VcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEFkZCBjbGFzc2VzXG4gIF9hZGRDbGFzcyhjbHMsIGVsID0gdGhpcy5ST09UX0VMKSB7XG4gICAgaWYgKGVsLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBBZGQgY2xhc3NlcyB0byBtdWx0aXBsZSBlbGVtZW50c1xuICAgICAgZWwuZm9yRWFjaChlID0+IHtcbiAgICAgICAgY2xzLnNwbGl0KCcgJykuZm9yRWFjaChjID0+IGUuY2xhc3NMaXN0LmFkZChjKSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFkZCBjbGFzc2VzIHRvIHNpbmdsZSBlbGVtZW50XG4gICAgICBjbHMuc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4gZWwuY2xhc3NMaXN0LmFkZChjKSlcbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIFJlbW92ZSBjbGFzc2VzXG4gIF9yZW1vdmVDbGFzcyhjbHMsIGVsID0gdGhpcy5ST09UX0VMKSB7XG4gICAgaWYgKGVsLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBSZW1vdmUgY2xhc3NlcyB0byBtdWx0aXBsZSBlbGVtZW50c1xuICAgICAgZWwuZm9yRWFjaChlID0+IHtcbiAgICAgICAgY2xzLnNwbGl0KCcgJykuZm9yRWFjaChjID0+IGUuY2xhc3NMaXN0LnJlbW92ZShjKSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlbW92ZSBjbGFzc2VzIHRvIHNpbmdsZSBlbGVtZW50XG4gICAgICBjbHMuc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4gZWwuY2xhc3NMaXN0LnJlbW92ZShjKSlcbiAgICB9XG4gIH0sXG5cbiAgLy8gVG9nZ2xlIGNsYXNzZXNcbiAgX3RvZ2dsZUNsYXNzKGVsID0gdGhpcy5ST09UX0VMLCBjbHMxLCBjbHMyKSB7XG4gICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucyhjbHMxKSkge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlcGxhY2UoY2xzMSwgY2xzMilcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlcGxhY2UoY2xzMiwgY2xzMSlcbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEhhcyBjbGFzc1xuICBfaGFzQ2xhc3MoY2xzLCBlbCA9IHRoaXMuUk9PVF9FTCkge1xuICAgIGxldCByZXN1bHQgPSBmYWxzZVxuXG4gICAgY2xzLnNwbGl0KCcgJykuZm9yRWFjaChjID0+IHtcbiAgICAgIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoYykpIHJlc3VsdCA9IHRydWVcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuXG4gIF9maW5kUGFyZW50KGVsLCBjbHMpIHtcbiAgICBpZiAoKGVsICYmIGVsLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB8fCBlbC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgPT09ICdIVE1MJykgcmV0dXJuIG51bGxcbiAgICBlbCA9IGVsLnBhcmVudE5vZGVcbiAgICB3aGlsZSAoZWwgJiYgZWwudGFnTmFtZS50b1VwcGVyQ2FzZSgpICE9PSAnQk9EWScgJiYgIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbHMpKSB7XG4gICAgICBlbCA9IGVsLnBhcmVudE5vZGVcbiAgICB9XG4gICAgZWwgPSBlbCAmJiBlbC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgIT09ICdCT0RZJyA/IGVsIDogbnVsbFxuICAgIHJldHVybiBlbFxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBUcmlnZ2VyIHdpbmRvdyBldmVudFxuICBfdHJpZ2dlcldpbmRvd0V2ZW50KG5hbWUpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuXG4gICAgaWYgKGRvY3VtZW50LmNyZWF0ZUV2ZW50KSB7XG4gICAgICBsZXQgZXZlbnRcblxuICAgICAgaWYgKHR5cGVvZiBFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBldmVudCA9IG5ldyBFdmVudChuYW1lKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKVxuICAgICAgICBldmVudC5pbml0RXZlbnQobmFtZSwgZmFsc2UsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuZmlyZUV2ZW50KGBvbiR7bmFtZX1gLCBkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpKVxuICAgIH1cbiAgfSxcblxuICAvLyAtLS1cbiAgLy8gVHJpZ2dlciBldmVudFxuICBfdHJpZ2dlckV2ZW50KG5hbWUpIHtcbiAgICB0aGlzLl90cmlnZ2VyV2luZG93RXZlbnQoYGxheW91dCR7bmFtZX1gKVxuXG4gICAgdGhpcy5fbGlzdGVuZXJzLmZpbHRlcihsaXN0ZW5lciA9PiBsaXN0ZW5lci5ldmVudCA9PT0gbmFtZSkuZm9yRWFjaChsaXN0ZW5lciA9PiBsaXN0ZW5lci5jYWxsYmFjay5jYWxsKG51bGwpKVxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBVcGRhdGUgc3R5bGVcbiAgX3VwZGF0ZUlubGluZVN0eWxlKG5hdmJhckhlaWdodCA9IDAsIGZvb3RlckhlaWdodCA9IDApIHtcbiAgICBpZiAoIXRoaXMuX3N0eWxlRWwpIHtcbiAgICAgIHRoaXMuX3N0eWxlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpXG4gICAgICB0aGlzLl9zdHlsZUVsLnR5cGUgPSAndGV4dC9jc3MnXG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuX3N0eWxlRWwpXG4gICAgfVxuXG4gICAgY29uc3QgbmV3U3R5bGUgPSBJTkxJTkVfU1RZTEVTLnJlcGxhY2UoL1xce25hdmJhckhlaWdodFxcfS9naSwgbmF2YmFySGVpZ2h0KS5yZXBsYWNlKFxuICAgICAgL1xce2Zvb3RlckhlaWdodFxcfS9naSxcbiAgICAgIGZvb3RlckhlaWdodFxuICAgIClcblxuICAgIGlmICh0aGlzLl9jdXJTdHlsZSAhPT0gbmV3U3R5bGUpIHtcbiAgICAgIHRoaXMuX2N1clN0eWxlID0gbmV3U3R5bGVcbiAgICAgIHRoaXMuX3N0eWxlRWwudGV4dENvbnRlbnQgPSBuZXdTdHlsZVxuICAgIH1cbiAgfSxcblxuICAvLyAtLS1cbiAgLy8gUmVtb3ZlIHN0eWxlXG4gIF9yZW1vdmVJbmxpbmVTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5fc3R5bGVFbCkgZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZCh0aGlzLl9zdHlsZUVsKVxuICAgIHRoaXMuX3N0eWxlRWwgPSBudWxsXG4gICAgdGhpcy5fY3VyU3R5bGUgPSBudWxsXG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIFJlZHJhdyBsYXlvdXQgbWVudSAoU2FmYXJpIGJ1Z2ZpeClcbiAgX3JlZHJhd0xheW91dE1lbnUoKSB7XG4gICAgY29uc3QgbGF5b3V0TWVudSA9IHRoaXMuZ2V0TGF5b3V0TWVudSgpXG5cbiAgICBpZiAobGF5b3V0TWVudSAmJiBsYXlvdXRNZW51LnF1ZXJ5U2VsZWN0b3IoJy5tZW51JykpIHtcbiAgICAgIGNvbnN0IGlubmVyID0gbGF5b3V0TWVudS5xdWVyeVNlbGVjdG9yKCcubWVudS1pbm5lcicpXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCB9ID0gaW5uZXJcbiAgICAgIGNvbnN0IHBhZ2VTY3JvbGxUb3AgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wXG5cbiAgICAgIGxheW91dE1lbnUuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgICAgLy8gbGF5b3V0TWVudS5vZmZzZXRIZWlnaHRcbiAgICAgIGxheW91dE1lbnUuc3R5bGUuZGlzcGxheSA9ICcnXG4gICAgICBpbm5lci5zY3JvbGxUb3AgPSBzY3JvbGxUb3BcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSBwYWdlU2Nyb2xsVG9wXG5cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIENoZWNrIGZvciB0cmFuc2l0aW9uIHN1cHBvcnRcbiAgX3N1cHBvcnRzVHJhbnNpdGlvbkVuZCgpIHtcbiAgICBpZiAod2luZG93LlFVbml0KSByZXR1cm4gZmFsc2VcblxuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuYm9keSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRcblxuICAgIGlmICghZWwpIHJldHVybiBmYWxzZVxuXG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlXG4gICAgVFJBTlNfUFJPUEVSVElFUy5mb3JFYWNoKGV2bnQgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBlbC5zdHlsZVtldm50XSAhPT0gJ3VuZGVmaW5lZCcpIHJlc3VsdCA9IHRydWVcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBDYWxjdWxhdGUgY3VycmVudCBuYXZiYXIgaGVpZ2h0XG4gIF9nZXROYXZiYXJIZWlnaHQoKSB7XG4gICAgY29uc3QgbGF5b3V0TmF2YmFyID0gdGhpcy5nZXRMYXlvdXROYXZiYXIoKVxuXG4gICAgaWYgKCFsYXlvdXROYXZiYXIpIHJldHVybiAwXG4gICAgaWYgKCF0aGlzLmlzU21hbGxTY3JlZW4oKSkgcmV0dXJuIGxheW91dE5hdmJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcblxuICAgIC8vIE5lZWRzIHNvbWUgbG9naWMgdG8gZ2V0IG5hdmJhciBoZWlnaHQgb24gc21hbGwgc2NyZWVuc1xuXG4gICAgY29uc3QgY2xvbmVkRWwgPSBsYXlvdXROYXZiYXIuY2xvbmVOb2RlKHRydWUpXG4gICAgY2xvbmVkRWwuaWQgPSBudWxsXG4gICAgY2xvbmVkRWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nXG4gICAgY2xvbmVkRWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG5cbiAgICBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjbG9uZWRFbC5xdWVyeVNlbGVjdG9yQWxsKCcuY29sbGFwc2Uuc2hvdycpKS5mb3JFYWNoKGVsID0+IHRoaXMuX3JlbW92ZUNsYXNzKCdzaG93JywgZWwpKVxuXG4gICAgbGF5b3V0TmF2YmFyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGNsb25lZEVsLCBsYXlvdXROYXZiYXIpXG5cbiAgICBjb25zdCBuYXZiYXJIZWlnaHQgPSBjbG9uZWRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcblxuICAgIGNsb25lZEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2xvbmVkRWwpXG5cbiAgICByZXR1cm4gbmF2YmFySGVpZ2h0XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEdldCBjdXJyZW50IGZvb3RlciBoZWlnaHRcbiAgX2dldEZvb3RlckhlaWdodCgpIHtcbiAgICBjb25zdCBsYXlvdXRGb290ZXIgPSB0aGlzLmdldExheW91dEZvb3RlcigpXG5cbiAgICBpZiAoIWxheW91dEZvb3RlcikgcmV0dXJuIDBcblxuICAgIHJldHVybiBsYXlvdXRGb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEdldCBhbmltYXRpb24gZHVyYXRpb24gb2YgZWxlbWVudFxuICBfZ2V0QW5pbWF0aW9uRHVyYXRpb24oZWwpIHtcbiAgICBjb25zdCBkdXJhdGlvbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS50cmFuc2l0aW9uRHVyYXRpb25cblxuICAgIHJldHVybiBwYXJzZUZsb2F0KGR1cmF0aW9uKSAqIChkdXJhdGlvbi5pbmRleE9mKCdtcycpICE9PSAtMSA/IDEgOiAxMDAwKVxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBTZXQgbWVudSBob3ZlciBzdGF0ZVxuICBfc2V0TWVudUhvdmVyU3RhdGUoaG92ZXJlZCkge1xuICAgIHRoaXNbaG92ZXJlZCA/ICdfYWRkQ2xhc3MnIDogJ19yZW1vdmVDbGFzcyddKCdsYXlvdXQtbWVudS1ob3ZlcicpXG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIFRvZ2dsZSBjb2xsYXBzZWRcbiAgX3NldENvbGxhcHNlZChjb2xsYXBzZWQpIHtcbiAgICBpZiAodGhpcy5pc1NtYWxsU2NyZWVuKCkpIHtcbiAgICAgIGlmIChjb2xsYXBzZWQpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlQ2xhc3MoJ2xheW91dC1tZW51LWV4cGFuZGVkJylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3MoJ2xheW91dC1tZW51LWV4cGFuZGVkJylcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRoaXMuX3JlZHJhd0xheW91dE1lbnUoKSA/IDUgOiAwXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEFkZCBsYXlvdXQgc2l2ZW5hdiB0b2dnbGUgYW5pbWF0aW9uRW5kIGV2ZW50XG4gIF9iaW5kTGF5b3V0QW5pbWF0aW9uRW5kRXZlbnQobW9kaWZpZXIsIGNiKSB7XG4gICAgY29uc3QgbWVudSA9IHRoaXMuZ2V0TWVudSgpXG4gICAgY29uc3QgZHVyYXRpb24gPSBtZW51ID8gdGhpcy5fZ2V0QW5pbWF0aW9uRHVyYXRpb24obWVudSkgKyA1MCA6IDBcblxuICAgIGlmICghZHVyYXRpb24pIHtcbiAgICAgIG1vZGlmaWVyLmNhbGwodGhpcylcbiAgICAgIGNiLmNhbGwodGhpcylcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX3RyYW5zaXRpb25DYWxsYmFjayA9IGUgPT4ge1xuICAgICAgaWYgKGUudGFyZ2V0ICE9PSBtZW51KSByZXR1cm5cbiAgICAgIHRoaXMuX3VuYmluZExheW91dEFuaW1hdGlvbkVuZEV2ZW50KClcbiAgICAgIGNiLmNhbGwodGhpcylcbiAgICB9XG5cbiAgICBUUkFOU19FVkVOVFMuZm9yRWFjaChlID0+IHtcbiAgICAgIG1lbnUuYWRkRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2ssIGZhbHNlKVxuICAgIH0pXG5cbiAgICBtb2RpZmllci5jYWxsKHRoaXMpXG5cbiAgICB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2tUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2suY2FsbCh0aGlzLCB7IHRhcmdldDogbWVudSB9KVxuICAgIH0sIGR1cmF0aW9uKVxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBSZW1vdmUgbGF5b3V0IHNpdmVuYXYgdG9nZ2xlIGFuaW1hdGlvbkVuZCBldmVudFxuICBfdW5iaW5kTGF5b3V0QW5pbWF0aW9uRW5kRXZlbnQoKSB7XG4gICAgY29uc3QgbWVudSA9IHRoaXMuZ2V0TWVudSgpXG5cbiAgICBpZiAodGhpcy5fdHJhbnNpdGlvbkNhbGxiYWNrVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RyYW5zaXRpb25DYWxsYmFja1RpbWVvdXQpXG4gICAgICB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2tUaW1lb3V0ID0gbnVsbFxuICAgIH1cblxuICAgIGlmIChtZW51ICYmIHRoaXMuX3RyYW5zaXRpb25DYWxsYmFjaykge1xuICAgICAgVFJBTlNfRVZFTlRTLmZvckVhY2goZSA9PiB7XG4gICAgICAgIG1lbnUucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2ssIGZhbHNlKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdHJhbnNpdGlvbkNhbGxiYWNrKSB7XG4gICAgICB0aGlzLl90cmFuc2l0aW9uQ2FsbGJhY2sgPSBudWxsXG4gICAgfVxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBCaW5kIGRlbGF5ZWQgd2luZG93IHJlc2l6ZSBldmVudFxuICBfYmluZFdpbmRvd1Jlc2l6ZUV2ZW50KCkge1xuICAgIHRoaXMuX3VuYmluZFdpbmRvd1Jlc2l6ZUV2ZW50KClcblxuICAgIGNvbnN0IGNiID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3Jlc2l6ZVRpbWVvdXQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZVRpbWVvdXQpXG4gICAgICAgIHRoaXMuX3Jlc2l6ZVRpbWVvdXQgPSBudWxsXG4gICAgICB9XG4gICAgICB0aGlzLl90cmlnZ2VyRXZlbnQoJ3Jlc2l6ZScpXG4gICAgfVxuXG4gICAgdGhpcy5fcmVzaXplQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fcmVzaXplVGltZW91dCkgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZVRpbWVvdXQpXG4gICAgICB0aGlzLl9yZXNpemVUaW1lb3V0ID0gc2V0VGltZW91dChjYiwgdGhpcy5SRVNJWkVfREVMQVkpXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX3Jlc2l6ZUNhbGxiYWNrLCBmYWxzZSlcbiAgfSxcblxuICAvLyAtLS1cbiAgLy8gVW5iaW5kIGRlbGF5ZWQgd2luZG93IHJlc2l6ZSBldmVudFxuICBfdW5iaW5kV2luZG93UmVzaXplRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuX3Jlc2l6ZVRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVUaW1lb3V0KVxuICAgICAgdGhpcy5fcmVzaXplVGltZW91dCA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplQ2FsbGJhY2spIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9yZXNpemVDYWxsYmFjaywgZmFsc2UpXG4gICAgICB0aGlzLl9yZXNpemVDYWxsYmFjayA9IG51bGxcbiAgICB9XG4gIH0sXG5cbiAgX2JpbmRNZW51TW91c2VFdmVudHMoKSB7XG4gICAgaWYgKHRoaXMuX21lbnVNb3VzZUVudGVyICYmIHRoaXMuX21lbnVNb3VzZUxlYXZlICYmIHRoaXMuX3dpbmRvd1RvdWNoU3RhcnQpIHJldHVyblxuXG4gICAgY29uc3QgbGF5b3V0TWVudSA9IHRoaXMuZ2V0TGF5b3V0TWVudSgpXG4gICAgaWYgKCFsYXlvdXRNZW51KSByZXR1cm4gdGhpcy5fdW5iaW5kTWVudU1vdXNlRXZlbnRzKClcblxuICAgIGlmICghdGhpcy5fbWVudU1vdXNlRW50ZXIpIHtcbiAgICAgIHRoaXMuX21lbnVNb3VzZUVudGVyID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1NtYWxsU2NyZWVuKCkgfHwgdGhpcy5faGFzQ2xhc3MoJ2xheW91dC10cmFuc2l0aW9uaW5nJykpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fc2V0TWVudUhvdmVyU3RhdGUoZmFsc2UpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fc2V0TWVudUhvdmVyU3RhdGUoZmFsc2UpXG4gICAgICB9XG4gICAgICBsYXlvdXRNZW51LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9tZW51TW91c2VFbnRlciwgZmFsc2UpXG4gICAgICBsYXlvdXRNZW51LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLl9tZW51TW91c2VFbnRlciwgZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9tZW51TW91c2VMZWF2ZSkge1xuICAgICAgdGhpcy5fbWVudU1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldE1lbnVIb3ZlclN0YXRlKGZhbHNlKVxuICAgICAgfVxuICAgICAgbGF5b3V0TWVudS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fbWVudU1vdXNlTGVhdmUsIGZhbHNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5fd2luZG93VG91Y2hTdGFydCkge1xuICAgICAgdGhpcy5fd2luZG93VG91Y2hTdGFydCA9IGUgPT4ge1xuICAgICAgICBpZiAoIWUgfHwgIWUudGFyZ2V0IHx8ICF0aGlzLl9maW5kUGFyZW50KGUudGFyZ2V0LCAnLmxheW91dC1tZW51JykpIHtcbiAgICAgICAgICB0aGlzLl9zZXRNZW51SG92ZXJTdGF0ZShmYWxzZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLl93aW5kb3dUb3VjaFN0YXJ0LCB0cnVlKVxuICAgIH1cbiAgfSxcblxuICBfdW5iaW5kTWVudU1vdXNlRXZlbnRzKCkge1xuICAgIGlmICghdGhpcy5fbWVudU1vdXNlRW50ZXIgJiYgIXRoaXMuX21lbnVNb3VzZUxlYXZlICYmICF0aGlzLl93aW5kb3dUb3VjaFN0YXJ0KSByZXR1cm5cblxuICAgIGNvbnN0IGxheW91dE1lbnUgPSB0aGlzLmdldExheW91dE1lbnUoKVxuXG4gICAgaWYgKHRoaXMuX21lbnVNb3VzZUVudGVyKSB7XG4gICAgICBpZiAobGF5b3V0TWVudSkge1xuICAgICAgICBsYXlvdXRNZW51LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9tZW51TW91c2VFbnRlciwgZmFsc2UpXG4gICAgICAgIGxheW91dE1lbnUucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX21lbnVNb3VzZUVudGVyLCBmYWxzZSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX21lbnVNb3VzZUVudGVyID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9tZW51TW91c2VMZWF2ZSkge1xuICAgICAgaWYgKGxheW91dE1lbnUpIHtcbiAgICAgICAgbGF5b3V0TWVudS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fbWVudU1vdXNlTGVhdmUsIGZhbHNlKVxuICAgICAgfVxuICAgICAgdGhpcy5fbWVudU1vdXNlTGVhdmUgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3dpbmRvd1RvdWNoU3RhcnQpIHtcbiAgICAgIGlmIChsYXlvdXRNZW51KSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5fd2luZG93VG91Y2hTdGFydCwgdHJ1ZSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX3dpbmRvd1RvdWNoU3RhcnQgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5fc2V0TWVudUhvdmVyU3RhdGUoZmFsc2UpXG4gIH0sXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyAqIE1ldGhvZHNcblxuICBzY3JvbGxUb0FjdGl2ZShhbmltYXRlID0gZmFsc2UpIHtcbiAgICB0aGlzLl9zY3JvbGxUb0FjdGl2ZShhbmltYXRlKVxuICB9LFxuXG4gIC8vIC0tLVxuICAvLyBDb2xsYXBzZSAvIGV4cGFuZCBsYXlvdXRcbiAgc2V0Q29sbGFwc2VkKGNvbGxhcHNlZCA9IHJlcXVpcmVkUGFyYW0oJ2NvbGxhcHNlZCcpLCBhbmltYXRlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxheW91dE1lbnUgPSB0aGlzLmdldExheW91dE1lbnUoKVxuXG4gICAgaWYgKCFsYXlvdXRNZW51KSByZXR1cm5cblxuICAgIHRoaXMuX3VuYmluZExheW91dEFuaW1hdGlvbkVuZEV2ZW50KClcblxuICAgIGlmIChhbmltYXRlICYmIHRoaXMuX3N1cHBvcnRzVHJhbnNpdGlvbkVuZCgpKSB7XG4gICAgICB0aGlzLl9hZGRDbGFzcygnbGF5b3V0LXRyYW5zaXRpb25pbmcnKVxuICAgICAgaWYgKGNvbGxhcHNlZCkgdGhpcy5fc2V0TWVudUhvdmVyU3RhdGUoZmFsc2UpXG5cbiAgICAgIHRoaXMuX2JpbmRMYXlvdXRBbmltYXRpb25FbmRFdmVudChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIC8vIENvbGxhcHNlIC8gRXhwYW5kXG4gICAgICAgICAgaWYgKHRoaXMuaXNTbWFsbFNjcmVlbikgdGhpcy5fc2V0Q29sbGFwc2VkKGNvbGxhcHNlZClcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3JlbW92ZUNsYXNzKCdsYXlvdXQtdHJhbnNpdGlvbmluZycpXG4gICAgICAgICAgdGhpcy5fdHJpZ2dlcldpbmRvd0V2ZW50KCdyZXNpemUnKVxuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFdmVudCgndG9nZ2xlJylcbiAgICAgICAgICB0aGlzLl9zZXRNZW51SG92ZXJTdGF0ZShmYWxzZSlcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hZGRDbGFzcygnbGF5b3V0LW5vLXRyYW5zaXRpb24nKVxuICAgICAgaWYgKGNvbGxhcHNlZCkgdGhpcy5fc2V0TWVudUhvdmVyU3RhdGUoZmFsc2UpXG5cbiAgICAgIC8vIENvbGxhcHNlIC8gRXhwYW5kXG4gICAgICB0aGlzLl9zZXRDb2xsYXBzZWQoY29sbGFwc2VkKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlQ2xhc3MoJ2xheW91dC1uby10cmFuc2l0aW9uJylcbiAgICAgICAgdGhpcy5fdHJpZ2dlcldpbmRvd0V2ZW50KCdyZXNpemUnKVxuICAgICAgICB0aGlzLl90cmlnZ2VyRXZlbnQoJ3RvZ2dsZScpXG4gICAgICAgIHRoaXMuX3NldE1lbnVIb3ZlclN0YXRlKGZhbHNlKVxuICAgICAgfSwgMSlcbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIFRvZ2dsZSBsYXlvdXRcbiAgdG9nZ2xlQ29sbGFwc2VkKGFuaW1hdGUgPSB0cnVlKSB7XG4gICAgdGhpcy5zZXRDb2xsYXBzZWQoIXRoaXMuaXNDb2xsYXBzZWQoKSwgYW5pbWF0ZSlcbiAgfSxcblxuICAvLyAtLS1cbiAgLy8gU2V0IGxheW91dCBwb3NpdGlvbmluZ1xuICBzZXRQb3NpdGlvbihmaXhlZCA9IHJlcXVpcmVkUGFyYW0oJ2ZpeGVkJyksIG9mZmNhbnZhcyA9IHJlcXVpcmVkUGFyYW0oJ29mZmNhbnZhcycpKSB7XG4gICAgdGhpcy5fcmVtb3ZlQ2xhc3MoJ2xheW91dC1tZW51LW9mZmNhbnZhcyBsYXlvdXQtbWVudS1maXhlZCBsYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMnKVxuXG4gICAgaWYgKCFmaXhlZCAmJiBvZmZjYW52YXMpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzKCdsYXlvdXQtbWVudS1vZmZjYW52YXMnKVxuICAgIH0gZWxzZSBpZiAoZml4ZWQgJiYgIW9mZmNhbnZhcykge1xuICAgICAgdGhpcy5fYWRkQ2xhc3MoJ2xheW91dC1tZW51LWZpeGVkJylcbiAgICAgIHRoaXMuX3JlZHJhd0xheW91dE1lbnUoKVxuICAgIH0gZWxzZSBpZiAoZml4ZWQgJiYgb2ZmY2FudmFzKSB7XG4gICAgICB0aGlzLl9hZGRDbGFzcygnbGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzJylcbiAgICAgIHRoaXMuX3JlZHJhd0xheW91dE1lbnUoKVxuICAgIH1cblxuICAgIHRoaXMudXBkYXRlKClcbiAgfSxcblxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vICogR2V0dGVyc1xuXG4gIGdldExheW91dE1lbnUoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sYXlvdXQtbWVudScpXG4gIH0sXG5cbiAgZ2V0TWVudSgpIHtcbiAgICBjb25zdCBsYXlvdXRNZW51ID0gdGhpcy5nZXRMYXlvdXRNZW51KClcblxuICAgIGlmICghbGF5b3V0TWVudSkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiAhdGhpcy5faGFzQ2xhc3MoJ21lbnUnLCBsYXlvdXRNZW51KSA/IGxheW91dE1lbnUucXVlcnlTZWxlY3RvcignLm1lbnUnKSA6IGxheW91dE1lbnVcbiAgfSxcblxuICBnZXRMYXlvdXROYXZiYXIoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sYXlvdXQtbmF2YmFyJylcbiAgfSxcblxuICBnZXRMYXlvdXRGb290ZXIoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb250ZW50LWZvb3RlcicpXG4gIH0sXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyAqIFVwZGF0ZVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5nZXRMYXlvdXROYXZiYXIoKSAmJlxuICAgICAgICAoKCF0aGlzLmlzU21hbGxTY3JlZW4oKSAmJiB0aGlzLmlzTGF5b3V0TmF2YmFyRnVsbCgpICYmIHRoaXMuaXNGaXhlZCgpKSB8fCB0aGlzLmlzTmF2YmFyRml4ZWQoKSkpIHx8XG4gICAgICAodGhpcy5nZXRMYXlvdXRGb290ZXIoKSAmJiB0aGlzLmlzRm9vdGVyRml4ZWQoKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUlubGluZVN0eWxlKHRoaXMuX2dldE5hdmJhckhlaWdodCgpLCB0aGlzLl9nZXRGb290ZXJIZWlnaHQoKSlcbiAgICB9XG5cbiAgICB0aGlzLl9iaW5kTWVudU1vdXNlRXZlbnRzKClcbiAgfSxcblxuICBzZXRBdXRvVXBkYXRlKGVuYWJsZSA9IHJlcXVpcmVkUGFyYW0oJ2VuYWJsZScpKSB7XG4gICAgaWYgKGVuYWJsZSAmJiAhdGhpcy5fYXV0b1VwZGF0ZSkge1xuICAgICAgdGhpcy5vbigncmVzaXplLkhlbHBlcnM6YXV0b1VwZGF0ZScsICgpID0+IHRoaXMudXBkYXRlKCkpXG4gICAgICB0aGlzLl9hdXRvVXBkYXRlID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoIWVuYWJsZSAmJiB0aGlzLl9hdXRvVXBkYXRlKSB7XG4gICAgICB0aGlzLm9mZigncmVzaXplLkhlbHBlcnM6YXV0b1VwZGF0ZScpXG4gICAgICB0aGlzLl9hdXRvVXBkYXRlID0gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyAqIFRlc3RzXG5cbiAgaXNSdGwoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5nZXRBdHRyaWJ1dGUoJ2RpcicpID09PSAncnRsJyB8fFxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLmdldEF0dHJpYnV0ZSgnZGlyJykgPT09ICdydGwnXG4gICAgKVxuICB9LFxuXG4gIGlzTW9iaWxlRGV2aWNlKCkge1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93Lm9yaWVudGF0aW9uICE9PSAndW5kZWZpbmVkJyB8fCBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0lFTW9iaWxlJykgIT09IC0xXG4gIH0sXG5cbiAgaXNTbWFsbFNjcmVlbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKSA8IHRoaXMuTEFZT1VUX0JSRUFLUE9JTlRcbiAgICApXG4gIH0sXG5cbiAgaXNMYXlvdXROYXZiYXJGdWxsKCkge1xuICAgIHJldHVybiAhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sYXlvdXQtd3JhcHBlci5sYXlvdXQtbmF2YmFyLWZ1bGwnKVxuICB9LFxuXG4gIGlzQ29sbGFwc2VkKCkge1xuICAgIGlmICh0aGlzLmlzU21hbGxTY3JlZW4oKSkge1xuICAgICAgcmV0dXJuICF0aGlzLl9oYXNDbGFzcygnbGF5b3V0LW1lbnUtZXhwYW5kZWQnKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faGFzQ2xhc3MoJ2xheW91dC1tZW51LWNvbGxhcHNlZCcpXG4gIH0sXG5cbiAgaXNGaXhlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faGFzQ2xhc3MoJ2xheW91dC1tZW51LWZpeGVkIGxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcycpXG4gIH0sXG5cbiAgaXNOYXZiYXJGaXhlZCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5faGFzQ2xhc3MoJ2xheW91dC1uYXZiYXItZml4ZWQnKSB8fCAoIXRoaXMuaXNTbWFsbFNjcmVlbigpICYmIHRoaXMuaXNGaXhlZCgpICYmIHRoaXMuaXNMYXlvdXROYXZiYXJGdWxsKCkpXG4gICAgKVxuICB9LFxuXG4gIGlzRm9vdGVyRml4ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc0NsYXNzKCdsYXlvdXQtZm9vdGVyLWZpeGVkJylcbiAgfSxcblxuICBpc0xpZ2h0U3R5bGUoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2xpZ2h0LXN0eWxlJylcbiAgfSxcblxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vICogRXZlbnRzXG5cbiAgb24oZXZlbnQgPSByZXF1aXJlZFBhcmFtKCdldmVudCcpLCBjYWxsYmFjayA9IHJlcXVpcmVkUGFyYW0oJ2NhbGxiYWNrJykpIHtcbiAgICBjb25zdCBbX2V2ZW50XSA9IGV2ZW50LnNwbGl0KCcuJylcbiAgICBsZXQgWywgLi4ubmFtZXNwYWNlXSA9IGV2ZW50LnNwbGl0KCcuJylcbiAgICAvLyBsZXQgW19ldmVudCwgLi4ubmFtZXNwYWNlXSA9IGV2ZW50LnNwbGl0KCcuJylcbiAgICBuYW1lc3BhY2UgPSBuYW1lc3BhY2Uuam9pbignLicpIHx8IG51bGxcblxuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKHsgZXZlbnQ6IF9ldmVudCwgbmFtZXNwYWNlLCBjYWxsYmFjayB9KVxuICB9LFxuXG4gIG9mZihldmVudCA9IHJlcXVpcmVkUGFyYW0oJ2V2ZW50JykpIHtcbiAgICBjb25zdCBbX2V2ZW50XSA9IGV2ZW50LnNwbGl0KCcuJylcbiAgICBsZXQgWywgLi4ubmFtZXNwYWNlXSA9IGV2ZW50LnNwbGl0KCcuJylcbiAgICBuYW1lc3BhY2UgPSBuYW1lc3BhY2Uuam9pbignLicpIHx8IG51bGxcblxuICAgIHRoaXMuX2xpc3RlbmVyc1xuICAgICAgLmZpbHRlcihsaXN0ZW5lciA9PiBsaXN0ZW5lci5ldmVudCA9PT0gX2V2ZW50ICYmIGxpc3RlbmVyLm5hbWVzcGFjZSA9PT0gbmFtZXNwYWNlKVxuICAgICAgLmZvckVhY2gobGlzdGVuZXIgPT4gdGhpcy5fbGlzdGVuZXJzLnNwbGljZSh0aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihsaXN0ZW5lciksIDEpKVxuICB9LFxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gKiBMaWZlIGN5Y2xlXG5cbiAgaW5pdCgpIHtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHJldHVyblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBgc3R5bGVgIGVsZW1lbnRcbiAgICB0aGlzLl91cGRhdGVJbmxpbmVTdHlsZSgwKVxuXG4gICAgLy8gQmluZCB3aW5kb3cgcmVzaXplIGV2ZW50XG4gICAgdGhpcy5fYmluZFdpbmRvd1Jlc2l6ZUV2ZW50KClcblxuICAgIC8vIEJpbmQgaW5pdCBldmVudFxuICAgIHRoaXMub2ZmKCdpbml0Ll9IZWxwZXJzJylcbiAgICB0aGlzLm9uKCdpbml0Ll9IZWxwZXJzJywgKCkgPT4ge1xuICAgICAgdGhpcy5vZmYoJ3Jlc2l6ZS5fSGVscGVyczpyZWRyYXdNZW51JylcbiAgICAgIHRoaXMub24oJ3Jlc2l6ZS5fSGVscGVyczpyZWRyYXdNZW51JywgKCkgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgICAgIHRoaXMuaXNTbWFsbFNjcmVlbigpICYmICF0aGlzLmlzQ29sbGFwc2VkKCkgJiYgdGhpcy5fcmVkcmF3TGF5b3V0TWVudSgpXG4gICAgICB9KVxuXG4gICAgICAvLyBGb3JjZSByZXBhaW50IGluIElFIDEwXG4gICAgICBpZiAodHlwZW9mIGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PT0gJ251bWJlcicgJiYgZG9jdW1lbnQuZG9jdW1lbnRNb2RlIDwgMTEpIHtcbiAgICAgICAgdGhpcy5vZmYoJ3Jlc2l6ZS5fSGVscGVyczppZTEwUmVwYWludEJvZHknKVxuICAgICAgICB0aGlzLm9uKCdyZXNpemUuX0hlbHBlcnM6aWUxMFJlcGFpbnRCb2R5JywgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzRml4ZWQoKSkgcmV0dXJuXG4gICAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFxuICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgICAgICAgIC8vIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxUb3BcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50KCdpbml0JylcbiAgfSxcblxuICBkZXN0cm95KCkge1xuICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHJldHVyblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gZmFsc2VcblxuICAgIHRoaXMuX3JlbW92ZUNsYXNzKCdsYXlvdXQtdHJhbnNpdGlvbmluZycpXG4gICAgdGhpcy5fcmVtb3ZlSW5saW5lU3R5bGUoKVxuICAgIHRoaXMuX3VuYmluZExheW91dEFuaW1hdGlvbkVuZEV2ZW50KClcbiAgICB0aGlzLl91bmJpbmRXaW5kb3dSZXNpemVFdmVudCgpXG4gICAgdGhpcy5fdW5iaW5kTWVudU1vdXNlRXZlbnRzKClcbiAgICB0aGlzLnNldEF1dG9VcGRhdGUoZmFsc2UpXG5cbiAgICB0aGlzLm9mZignaW5pdC5fSGVscGVycycpXG5cbiAgICAvLyBSZW1vdmUgYWxsIGxpc3RlbmVycyBleGNlcHQgYGluaXRgXG4gICAgdGhpcy5fbGlzdGVuZXJzXG4gICAgICAuZmlsdGVyKGxpc3RlbmVyID0+IGxpc3RlbmVyLmV2ZW50ICE9PSAnaW5pdCcpXG4gICAgICAuZm9yRWFjaChsaXN0ZW5lciA9PiB0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHRoaXMuX2xpc3RlbmVycy5pbmRleE9mKGxpc3RlbmVyKSwgMSkpXG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEluaXQgUGFzc3dvcmQgVG9nZ2xlXG4gIGluaXRQYXNzd29yZFRvZ2dsZSgpIHtcbiAgICBjb25zdCB0b2dnbGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvcm0tcGFzc3dvcmQtdG9nZ2xlIGknKVxuICAgIGlmICh0eXBlb2YgdG9nZ2xlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdG9nZ2xlciAhPT0gbnVsbCkge1xuICAgICAgdG9nZ2xlci5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBjb25zdCBmb3JtUGFzc3dvcmRUb2dnbGUgPSBlbC5jbG9zZXN0KCcuZm9ybS1wYXNzd29yZC10b2dnbGUnKVxuICAgICAgICAgIGNvbnN0IGZvcm1QYXNzd29yZFRvZ2dsZUljb24gPSBmb3JtUGFzc3dvcmRUb2dnbGUucXVlcnlTZWxlY3RvcignaScpXG4gICAgICAgICAgY29uc3QgZm9ybVBhc3N3b3JkVG9nZ2xlSW5wdXQgPSBmb3JtUGFzc3dvcmRUb2dnbGUucXVlcnlTZWxlY3RvcignaW5wdXQnKVxuXG4gICAgICAgICAgaWYgKGZvcm1QYXNzd29yZFRvZ2dsZUlucHV0LmdldEF0dHJpYnV0ZSgndHlwZScpID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgIGZvcm1QYXNzd29yZFRvZ2dsZUlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICdwYXNzd29yZCcpXG4gICAgICAgICAgICBmb3JtUGFzc3dvcmRUb2dnbGVJY29uLmNsYXNzTGlzdC5yZXBsYWNlKCdieC1zaG93JywgJ2J4LWhpZGUnKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybVBhc3N3b3JkVG9nZ2xlSW5wdXQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgICAgIGZvcm1QYXNzd29yZFRvZ2dsZUlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0JylcbiAgICAgICAgICAgIGZvcm1QYXNzd29yZFRvZ2dsZUljb24uY2xhc3NMaXN0LnJlcGxhY2UoJ2J4LWhpZGUnLCAnYngtc2hvdycpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG4gIH0sXG5cbiAgLy8gLS0tXG4gIC8vIEluaXQgU3BlZWNoIFRvIFRleHRcbiAgaW5pdFNwZWVjaFRvVGV4dCgpIHtcbiAgICBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbiA9IHdpbmRvdy5TcGVlY2hSZWNvZ25pdGlvbiB8fCB3aW5kb3cud2Via2l0U3BlZWNoUmVjb2duaXRpb25cbiAgICBjb25zdCBzcGVlY2hUb1RleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc3BlZWNoLXRvLXRleHQnKVxuICAgIGlmIChTcGVlY2hSZWNvZ25pdGlvbiAhPT0gdW5kZWZpbmVkICYmIFNwZWVjaFJlY29nbml0aW9uICE9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZW9mIHNwZWVjaFRvVGV4dCAhPT0gJ3VuZGVmaW5lZCcgJiYgc3BlZWNoVG9UZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uKClcbiAgICAgICAgY29uc3QgdG9nZ2xlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zcGVlY2gtdG8tdGV4dCBpJylcbiAgICAgICAgdG9nZ2xlci5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgICBsZXQgbGlzdGVuaW5nID0gZmFsc2VcbiAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIGVsLmNsb3Nlc3QoJy5pbnB1dC1ncm91cCcpLnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWNvbnRyb2wnKS5mb2N1cygpXG4gICAgICAgICAgICByZWNvZ25pdGlvbi5vbnNwZWVjaHN0YXJ0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICBsaXN0ZW5pbmcgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGlzdGVuaW5nID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICByZWNvZ25pdGlvbi5zdGFydCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWNvZ25pdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgICBsaXN0ZW5pbmcgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVjb2duaXRpb24ub25yZXN1bHQgPSBldmVudCA9PiB7XG4gICAgICAgICAgICAgIGVsLmNsb3Nlc3QoJy5pbnB1dC1ncm91cCcpLnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWNvbnRyb2wnKS52YWx1ZSA9IGV2ZW50LnJlc3VsdHNbMF1bMF0udHJhbnNjcmlwdFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVjb2duaXRpb24ub25zcGVlY2hlbmQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGxpc3RlbmluZyA9IGZhbHNlXG4gICAgICAgICAgICAgIHJlY29nbml0aW9uLnN0b3AoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vIEFqYXggQ2FsbCBQcm9taXNlXG4gIGFqYXhDYWxsKHVybCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgcmVxLm9wZW4oJ0dFVCcsIHVybClcbiAgICAgIHJlcS5vbmxvYWQgPSAoKSA9PiAocmVxLnN0YXR1cyA9PT0gMjAwID8gcmVzb2x2ZShyZXEucmVzcG9uc2UpIDogcmVqZWN0KEVycm9yKHJlcS5zdGF0dXNUZXh0KSkpXG4gICAgICByZXEub25lcnJvciA9IGUgPT4gcmVqZWN0KEVycm9yKGBOZXR3b3JrIEVycm9yOiAke2V9YCkpXG4gICAgICByZXEuc2VuZCgpXG4gICAgfSlcbiAgfSxcblxuICAvLyAtLS1cbiAgLy8gU2lkZWJhclRvZ2dsZSAoVXNlZCBpbiBBcHBzKVxuICBpbml0U2lkZWJhclRvZ2dsZSgpIHtcbiAgICBjb25zdCBzaWRlYmFyVG9nZ2xlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWJzLXRvZ2dsZT1cInNpZGViYXJcIl0nKVxuXG4gICAgc2lkZWJhclRvZ2dsZXIuZm9yRWFjaChlbCA9PiB7XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXRhcmdldCcpXG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmxheScpXG4gICAgICAgIGNvbnN0IGFwcE92ZXJsYXkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYXBwLW92ZXJsYXknKVxuICAgICAgICBjb25zdCB0YXJnZXRFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGFyZ2V0KVxuXG4gICAgICAgIHRhcmdldEVsLmZvckVhY2godGVsID0+IHtcbiAgICAgICAgICB0ZWwuY2xhc3NMaXN0LnRvZ2dsZSgnc2hvdycpXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIG92ZXJsYXkgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICBvdmVybGF5ICE9PSBudWxsICYmXG4gICAgICAgICAgICBvdmVybGF5ICE9PSBmYWxzZSAmJlxuICAgICAgICAgICAgdHlwZW9mIGFwcE92ZXJsYXkgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodGVsLmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XG4gICAgICAgICAgICAgIGFwcE92ZXJsYXlbMF0uY2xhc3NMaXN0LmFkZCgnc2hvdycpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhcHBPdmVybGF5WzBdLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXBwT3ZlcmxheVswXS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4ge1xuICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpXG4gICAgICAgICAgICAgIHRlbC5jbGFzc0xpc3QucmVtb3ZlKCdzaG93JylcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSW5pdGlhbGl6YXRpb25cblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIEhlbHBlcnMuaW5pdCgpXG5cbiAgaWYgKEhlbHBlcnMuaXNNb2JpbGVEZXZpY2UoKSAmJiB3aW5kb3cuY2hyb21lKSB7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xheW91dC1tZW51LTEwMHZoJylcbiAgfVxuXG4gIC8vIFVwZGF0ZSBsYXlvdXQgYWZ0ZXIgcGFnZSBsb2FkXG4gIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSBIZWxwZXJzLnVwZGF0ZSgpXG4gIGVsc2VcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gb25Db250ZW50TG9hZGVkKCkge1xuICAgICAgSGVscGVycy51cGRhdGUoKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIG9uQ29udGVudExvYWRlZClcbiAgICB9KVxufVxuXG4vLyAtLS1cbmV4cG9ydCB7IEhlbHBlcnMgfVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./js/helpers.js\n");
+
+/***/ })
+
+/******/ })));
\ No newline at end of file
diff --git a/admin/assets/vendor/js/menu.js b/admin/assets/vendor/js/menu.js
new file mode 100644
index 0000000..7482acf
--- /dev/null
+++ b/admin/assets/vendor/js/menu.js
@@ -0,0 +1,101 @@
+(function(e, a) { for(var i in a) e[i] = a[i]; }(window, /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = "./js/menu.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./js/menu.js":
+/*!********************!*\
+ !*** ./js/menu.js ***!
+ \********************/
+/*! exports provided: Menu */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Menu\", function() { return Menu; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar TRANSITION_EVENTS = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd']; // const TRANSITION_PROPERTIES = ['transition', 'MozTransition', 'webkitTransition', 'WebkitTransition', 'OTransition']\n\nvar Menu = /*#__PURE__*/function () {\n function Menu(el) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _PS = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n _classCallCheck(this, Menu);\n\n this._el = el;\n this._animate = config.animate !== false;\n this._accordion = config.accordion !== false;\n this._closeChildren = Boolean(config.closeChildren);\n\n this._onOpen = config.onOpen || function () {};\n\n this._onOpened = config.onOpened || function () {};\n\n this._onClose = config.onClose || function () {};\n\n this._onClosed = config.onClosed || function () {};\n\n this._psScroll = null;\n this._topParent = null;\n this._menuBgClass = null;\n el.classList.add('menu');\n el.classList[this._animate ? 'remove' : 'add']('menu-no-animation'); // check\n\n el.classList.add('menu-vertical');\n var PerfectScrollbarLib = _PS || window.PerfectScrollbar;\n\n if (PerfectScrollbarLib) {\n this._scrollbar = new PerfectScrollbarLib(el.querySelector('.menu-inner'), {\n suppressScrollX: true,\n wheelPropagation: !Menu._hasClass('layout-menu-fixed layout-menu-fixed-offcanvas')\n });\n window.Helpers.menuPsScroll = this._scrollbar;\n } else {\n el.querySelector('.menu-inner').classList.add('overflow-auto');\n } // Add data attribute for bg color class of menu\n\n\n var menuClassList = el.classList;\n\n for (var i = 0; i < menuClassList.length; i++) {\n if (menuClassList[i].startsWith('bg-')) {\n this._menuBgClass = menuClassList[i];\n }\n }\n\n el.setAttribute('data-bg-class', this._menuBgClass);\n\n this._bindEvents(); // Link menu instance to element\n\n\n el.menuInstance = this;\n }\n\n _createClass(Menu, [{\n key: \"_bindEvents\",\n value: function _bindEvents() {\n var _this = this;\n\n // Click Event\n this._evntElClick = function (e) {\n // Find top parent element\n if (e.target.closest('ul') && e.target.closest('ul').classList.contains('menu-inner')) {\n var menuItem = Menu._findParent(e.target, 'menu-item', false); // eslint-disable-next-line prefer-destructuring\n\n\n if (menuItem) _this._topParent = menuItem.childNodes[0];\n }\n\n var toggleLink = e.target.classList.contains('menu-toggle') ? e.target : Menu._findParent(e.target, 'menu-toggle', false);\n\n if (toggleLink) {\n e.preventDefault();\n\n if (toggleLink.getAttribute('data-hover') !== 'true') {\n _this.toggle(toggleLink);\n }\n }\n };\n\n if (window.Helpers.isMobileDevice) this._el.addEventListener('click', this._evntElClick);\n\n this._evntWindowResize = function () {\n _this.update();\n\n if (_this._lastWidth !== window.innerWidth) {\n _this._lastWidth = window.innerWidth;\n\n _this.update();\n }\n\n var horizontalMenuTemplate = document.querySelector(\"[data-template^='horizontal-menu']\");\n if (!_this._horizontal && !horizontalMenuTemplate) _this.manageScroll();\n };\n\n window.addEventListener('resize', this._evntWindowResize);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (this._evntElClick) {\n this._el.removeEventListener('click', this._evntElClick);\n\n this._evntElClick = null;\n }\n\n if (this._evntElMouseOver) {\n this._el.removeEventListener('mouseover', this._evntElMouseOver);\n\n this._evntElMouseOver = null;\n }\n\n if (this._evntElMouseOut) {\n this._el.removeEventListener('mouseout', this._evntElMouseOut);\n\n this._evntElMouseOut = null;\n }\n\n if (this._evntWindowResize) {\n window.removeEventListener('resize', this._evntWindowResize);\n this._evntWindowResize = null;\n }\n\n if (this._evntBodyClick) {\n document.body.removeEventListener('click', this._evntBodyClick);\n this._evntBodyClick = null;\n }\n\n if (this._evntInnerMousemove) {\n this._inner.removeEventListener('mousemove', this._evntInnerMousemove);\n\n this._evntInnerMousemove = null;\n }\n\n if (this._evntInnerMouseleave) {\n this._inner.removeEventListener('mouseleave', this._evntInnerMouseleave);\n\n this._evntInnerMouseleave = null;\n }\n }\n }, {\n key: \"open\",\n value: function open(el) {\n var _this2 = this;\n\n var closeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._closeChildren;\n\n var item = this._findUnopenedParent(Menu._getItem(el, true), closeChildren);\n\n if (!item) return;\n\n var toggleLink = Menu._getLink(item, true);\n\n Menu._promisify(this._onOpen, this, item, toggleLink, Menu._findMenu(item)).then(function () {\n if (!_this2._horizontal || !Menu._isRoot(item)) {\n if (_this2._animate && !_this2._horizontal) {\n window.requestAnimationFrame(function () {\n return _this2._toggleAnimation(true, item, false);\n });\n if (_this2._accordion) _this2._closeOther(item, closeChildren);\n } else if (_this2._animate) {\n // eslint-disable-next-line no-unused-expressions\n _this2._onOpened && _this2._onOpened(_this2, item, toggleLink, Menu._findMenu(item));\n } else {\n item.classList.add('open'); // eslint-disable-next-line no-unused-expressions\n\n _this2._onOpened && _this2._onOpened(_this2, item, toggleLink, Menu._findMenu(item));\n if (_this2._accordion) _this2._closeOther(item, closeChildren);\n }\n } else {\n // eslint-disable-next-line no-unused-expressions\n _this2._onOpened && _this2._onOpened(_this2, item, toggleLink, Menu._findMenu(item));\n }\n }).catch(function () {});\n }\n }, {\n key: \"close\",\n value: function close(el) {\n var _this3 = this;\n\n var closeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._closeChildren;\n\n var _autoClose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var item = Menu._getItem(el, true);\n\n var toggleLink = Menu._getLink(el, true);\n\n if (!item.classList.contains('open') || item.classList.contains('disabled')) return;\n\n Menu._promisify(this._onClose, this, item, toggleLink, Menu._findMenu(item), _autoClose).then(function () {\n if (!_this3._horizontal || !Menu._isRoot(item)) {\n if (_this3._animate && !_this3._horizontal) {\n window.requestAnimationFrame(function () {\n return _this3._toggleAnimation(false, item, closeChildren);\n });\n } else {\n item.classList.remove('open');\n\n if (closeChildren) {\n var opened = item.querySelectorAll('.menu-item.open');\n\n for (var i = 0, l = opened.length; i < l; i++) {\n opened[i].classList.remove('open');\n }\n } // eslint-disable-next-line no-unused-expressions\n\n\n _this3._onClosed && _this3._onClosed(_this3, item, toggleLink, Menu._findMenu(item));\n }\n } else {\n // eslint-disable-next-line no-unused-expressions\n _this3._onClosed && _this3._onClosed(_this3, item, toggleLink, Menu._findMenu(item));\n }\n }).catch(function () {});\n }\n }, {\n key: \"_closeOther\",\n value: function _closeOther(item, closeChildren) {\n var opened = Menu._findChild(item.parentNode, ['menu-item', 'open']);\n\n for (var i = 0, l = opened.length; i < l; i++) {\n if (opened[i] !== item) this.close(opened[i], closeChildren);\n }\n }\n }, {\n key: \"toggle\",\n value: function toggle(el) {\n var closeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._closeChildren;\n\n var item = Menu._getItem(el, true); // const toggleLink = Menu._getLink(el, true)\n\n\n if (item.classList.contains('open')) this.close(item, closeChildren);else this.open(item, closeChildren);\n }\n }, {\n key: \"_findUnopenedParent\",\n value: function _findUnopenedParent(item, closeChildren) {\n var tree = [];\n var parentItem = null;\n\n while (item) {\n if (item.classList.contains('disabled')) {\n parentItem = null;\n tree = [];\n } else {\n if (!item.classList.contains('open')) parentItem = item;\n tree.push(item);\n }\n\n item = Menu._findParent(item, 'menu-item', false);\n }\n\n if (!parentItem) return null;\n if (tree.length === 1) return parentItem;\n tree = tree.slice(0, tree.indexOf(parentItem));\n\n for (var i = 0, l = tree.length; i < l; i++) {\n tree[i].classList.add('open');\n\n if (this._accordion) {\n var openedItems = Menu._findChild(tree[i].parentNode, ['menu-item', 'open']);\n\n for (var j = 0, k = openedItems.length; j < k; j++) {\n if (openedItems[j] !== tree[i]) {\n openedItems[j].classList.remove('open');\n\n if (closeChildren) {\n var openedChildren = openedItems[j].querySelectorAll('.menu-item.open');\n\n for (var x = 0, z = openedChildren.length; x < z; x++) {\n openedChildren[x].classList.remove('open');\n }\n }\n }\n }\n }\n }\n\n return parentItem;\n }\n }, {\n key: \"_toggleAnimation\",\n value: function _toggleAnimation(open, item, closeChildren) {\n var _this4 = this;\n\n var toggleLink = Menu._getLink(item, true);\n\n var menu = Menu._findMenu(item);\n\n Menu._unbindAnimationEndEvent(item);\n\n var linkHeight = Math.round(toggleLink.getBoundingClientRect().height);\n item.style.overflow = 'hidden';\n\n var clearItemStyle = function clearItemStyle() {\n item.classList.remove('menu-item-animating');\n item.classList.remove('menu-item-closing');\n item.style.overflow = null;\n item.style.height = null;\n\n _this4.update();\n };\n\n if (open) {\n item.style.height = \"\".concat(linkHeight, \"px\");\n item.classList.add('menu-item-animating');\n item.classList.add('open');\n\n Menu._bindAnimationEndEvent(item, function () {\n clearItemStyle();\n\n _this4._onOpened(_this4, item, toggleLink, menu);\n });\n\n setTimeout(function () {\n item.style.height = \"\".concat(linkHeight + Math.round(menu.getBoundingClientRect().height), \"px\");\n }, 50);\n } else {\n item.style.height = \"\".concat(linkHeight + Math.round(menu.getBoundingClientRect().height), \"px\");\n item.classList.add('menu-item-animating');\n item.classList.add('menu-item-closing');\n\n Menu._bindAnimationEndEvent(item, function () {\n item.classList.remove('open');\n clearItemStyle();\n\n if (closeChildren) {\n var opened = item.querySelectorAll('.menu-item.open');\n\n for (var i = 0, l = opened.length; i < l; i++) {\n opened[i].classList.remove('open');\n }\n }\n\n _this4._onClosed(_this4, item, toggleLink, menu);\n });\n\n setTimeout(function () {\n item.style.height = \"\".concat(linkHeight, \"px\");\n }, 50);\n }\n }\n }, {\n key: \"_getItemOffset\",\n value: function _getItemOffset(item) {\n var curItem = this._inner.childNodes[0];\n var left = 0;\n\n while (curItem !== item) {\n if (curItem.tagName) {\n left += Math.round(curItem.getBoundingClientRect().width);\n }\n\n curItem = curItem.nextSibling;\n }\n\n return left;\n }\n }, {\n key: \"_innerWidth\",\n get: function get() {\n var items = this._inner.childNodes;\n var width = 0;\n\n for (var i = 0, l = items.length; i < l; i++) {\n if (items[i].tagName) {\n width += Math.round(items[i].getBoundingClientRect().width);\n }\n }\n\n return width;\n }\n }, {\n key: \"_innerPosition\",\n get: function get() {\n return parseInt(this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] || '0px', 10);\n },\n set: function set(value) {\n this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] = \"\".concat(value, \"px\");\n return value;\n }\n }, {\n key: \"closeAll\",\n value: function closeAll() {\n var closeChildren = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._closeChildren;\n\n var opened = this._el.querySelectorAll('.menu-inner > .menu-item.open');\n\n for (var i = 0, l = opened.length; i < l; i++) {\n this.close(opened[i], closeChildren);\n }\n }\n }, {\n key: \"update\",\n value: function update() {\n if (this._scrollbar) {\n this._scrollbar.update();\n }\n }\n }, {\n key: \"manageScroll\",\n value: function manageScroll() {\n var _window = window,\n PerfectScrollbar = _window.PerfectScrollbar;\n var menuInner = document.querySelector('.menu-inner');\n\n if (window.innerWidth < window.Helpers.LAYOUT_BREAKPOINT) {\n if (this._scrollbar !== null) {\n // window.Helpers.menuPsScroll.destroy()\n this._scrollbar.destroy();\n\n this._scrollbar = null;\n }\n\n menuInner.classList.add('overflow-auto');\n } else {\n if (this._scrollbar === null) {\n var menuScroll = new PerfectScrollbar(document.querySelector('.menu-inner'), {\n suppressScrollX: true,\n wheelPropagation: false\n });\n this._scrollbar = menuScroll;\n }\n\n menuInner.classList.remove('overflow-auto');\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (!this._el) return;\n\n this._unbindEvents();\n\n var items = this._el.querySelectorAll('.menu-item');\n\n for (var i = 0, l = items.length; i < l; i++) {\n Menu._unbindAnimationEndEvent(items[i]);\n\n items[i].classList.remove('menu-item-animating');\n items[i].classList.remove('open');\n items[i].style.overflow = null;\n items[i].style.height = null;\n }\n\n var menus = this._el.querySelectorAll('.menu-menu');\n\n for (var i2 = 0, l2 = menus.length; i2 < l2; i2++) {\n menus[i2].style.marginRight = null;\n menus[i2].style.marginLeft = null;\n }\n\n this._el.classList.remove('menu-no-animation');\n\n if (this._wrapper) {\n this._prevBtn.parentNode.removeChild(this._prevBtn);\n\n this._nextBtn.parentNode.removeChild(this._nextBtn);\n\n this._wrapper.parentNode.insertBefore(this._inner, this._wrapper);\n\n this._wrapper.parentNode.removeChild(this._wrapper);\n\n this._inner.style.marginLeft = null;\n this._inner.style.marginRight = null;\n }\n\n this._el.menuInstance = null;\n delete this._el.menuInstance;\n this._el = null;\n this._animate = null;\n this._accordion = null;\n this._closeChildren = null;\n this._onOpen = null;\n this._onOpened = null;\n this._onClose = null;\n this._onClosed = null;\n\n if (this._scrollbar) {\n this._scrollbar.destroy();\n\n this._scrollbar = null;\n }\n\n this._inner = null;\n this._prevBtn = null;\n this._wrapper = null;\n this._nextBtn = null;\n }\n }], [{\n key: \"childOf\",\n value: function childOf(\n /* child node */\n c,\n /* parent node */\n p) {\n // returns boolean\n if (c.parentNode) {\n while ((c = c.parentNode) && c !== p) {\n ;\n }\n\n return !!c;\n }\n\n return false;\n }\n }, {\n key: \"_isRoot\",\n value: function _isRoot(item) {\n return !Menu._findParent(item, 'menu-item', false);\n }\n }, {\n key: \"_findParent\",\n value: function _findParent(el, cls) {\n var throwError = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (el.tagName.toUpperCase() === 'BODY') return null;\n el = el.parentNode;\n\n while (el.tagName.toUpperCase() !== 'BODY' && !el.classList.contains(cls)) {\n el = el.parentNode;\n }\n\n el = el.tagName.toUpperCase() !== 'BODY' ? el : null;\n if (!el && throwError) throw new Error(\"Cannot find `.\".concat(cls, \"` parent element\"));\n return el;\n }\n }, {\n key: \"_findChild\",\n value: function _findChild(el, cls) {\n var items = el.childNodes;\n var found = [];\n\n for (var i = 0, l = items.length; i < l; i++) {\n if (items[i].classList) {\n var passed = 0;\n\n for (var j = 0; j < cls.length; j++) {\n if (items[i].classList.contains(cls[j])) passed += 1;\n }\n\n if (cls.length === passed) found.push(items[i]);\n }\n }\n\n return found;\n }\n }, {\n key: \"_findMenu\",\n value: function _findMenu(item) {\n var curEl = item.childNodes[0];\n var menu = null;\n\n while (curEl && !menu) {\n if (curEl.classList && curEl.classList.contains('menu-sub')) menu = curEl;\n curEl = curEl.nextSibling;\n }\n\n if (!menu) throw new Error('Cannot find `.menu-sub` element for the current `.menu-toggle`');\n return menu;\n } // Has class\n\n }, {\n key: \"_hasClass\",\n value: function _hasClass(cls) {\n var el = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.Helpers.ROOT_EL;\n var result = false;\n cls.split(' ').forEach(function (c) {\n if (el.classList.contains(c)) result = true;\n });\n return result;\n }\n }, {\n key: \"_getItem\",\n value: function _getItem(el, toggle) {\n var item = null;\n var selector = toggle ? 'menu-toggle' : 'menu-link';\n\n if (el.classList.contains('menu-item')) {\n if (Menu._findChild(el, [selector]).length) item = el;\n } else if (el.classList.contains(selector)) {\n item = el.parentNode.classList.contains('menu-item') ? el.parentNode : null;\n }\n\n if (!item) {\n throw new Error(\"\".concat(toggle ? 'Toggable ' : '', \"`.menu-item` element not found.\"));\n }\n\n return item;\n }\n }, {\n key: \"_getLink\",\n value: function _getLink(el, toggle) {\n var found = [];\n var selector = toggle ? 'menu-toggle' : 'menu-link';\n if (el.classList.contains(selector)) found = [el];else if (el.classList.contains('menu-item')) found = Menu._findChild(el, [selector]);\n if (!found.length) throw new Error(\"`\".concat(selector, \"` element not found.\"));\n return found[0];\n }\n }, {\n key: \"_bindAnimationEndEvent\",\n value: function _bindAnimationEndEvent(el, handler) {\n var cb = function cb(e) {\n if (e.target !== el) return;\n\n Menu._unbindAnimationEndEvent(el);\n\n handler(e);\n };\n\n var duration = window.getComputedStyle(el).transitionDuration;\n duration = parseFloat(duration) * (duration.indexOf('ms') !== -1 ? 1 : 1000);\n el._menuAnimationEndEventCb = cb;\n TRANSITION_EVENTS.forEach(function (ev) {\n return el.addEventListener(ev, el._menuAnimationEndEventCb, false);\n });\n el._menuAnimationEndEventTimeout = setTimeout(function () {\n cb({\n target: el\n });\n }, duration + 50);\n }\n }, {\n key: \"_promisify\",\n value: function _promisify(fn) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var result = fn.apply(void 0, args);\n\n if (result instanceof Promise) {\n return result;\n }\n\n if (result === false) {\n return Promise.reject();\n }\n\n return Promise.resolve();\n }\n }, {\n key: \"_unbindAnimationEndEvent\",\n value: function _unbindAnimationEndEvent(el) {\n var cb = el._menuAnimationEndEventCb;\n\n if (el._menuAnimationEndEventTimeout) {\n clearTimeout(el._menuAnimationEndEventTimeout);\n el._menuAnimationEndEventTimeout = null;\n }\n\n if (!cb) return;\n TRANSITION_EVENTS.forEach(function (ev) {\n return el.removeEventListener(ev, cb, false);\n });\n el._menuAnimationEndEventCb = null;\n }\n }, {\n key: \"setDisabled\",\n value: function setDisabled(el, disabled) {\n Menu._getItem(el, false).classList[disabled ? 'add' : 'remove']('disabled');\n }\n }, {\n key: \"isActive\",\n value: function isActive(el) {\n return Menu._getItem(el, false).classList.contains('active');\n }\n }, {\n key: \"isOpened\",\n value: function isOpened(el) {\n return Menu._getItem(el, false).classList.contains('open');\n }\n }, {\n key: \"isDisabled\",\n value: function isDisabled(el) {\n return Menu._getItem(el, false).classList.contains('disabled');\n }\n }]);\n\n return Menu;\n}();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9tZW51LmpzPzg3N2UiXSwibmFtZXMiOlsiVFJBTlNJVElPTl9FVkVOVFMiLCJNZW51IiwiZWwiLCJjb25maWciLCJfUFMiLCJfZWwiLCJfYW5pbWF0ZSIsImFuaW1hdGUiLCJfYWNjb3JkaW9uIiwiYWNjb3JkaW9uIiwiX2Nsb3NlQ2hpbGRyZW4iLCJCb29sZWFuIiwiY2xvc2VDaGlsZHJlbiIsIl9vbk9wZW4iLCJvbk9wZW4iLCJfb25PcGVuZWQiLCJvbk9wZW5lZCIsIl9vbkNsb3NlIiwib25DbG9zZSIsIl9vbkNsb3NlZCIsIm9uQ2xvc2VkIiwiX3BzU2Nyb2xsIiwiX3RvcFBhcmVudCIsIl9tZW51QmdDbGFzcyIsImNsYXNzTGlzdCIsImFkZCIsIlBlcmZlY3RTY3JvbGxiYXJMaWIiLCJ3aW5kb3ciLCJQZXJmZWN0U2Nyb2xsYmFyIiwiX3Njcm9sbGJhciIsInF1ZXJ5U2VsZWN0b3IiLCJzdXBwcmVzc1Njcm9sbFgiLCJ3aGVlbFByb3BhZ2F0aW9uIiwiX2hhc0NsYXNzIiwiSGVscGVycyIsIm1lbnVQc1Njcm9sbCIsIm1lbnVDbGFzc0xpc3QiLCJpIiwibGVuZ3RoIiwic3RhcnRzV2l0aCIsInNldEF0dHJpYnV0ZSIsIl9iaW5kRXZlbnRzIiwibWVudUluc3RhbmNlIiwiX2V2bnRFbENsaWNrIiwiZSIsInRhcmdldCIsImNsb3Nlc3QiLCJjb250YWlucyIsIm1lbnVJdGVtIiwiX2ZpbmRQYXJlbnQiLCJjaGlsZE5vZGVzIiwidG9nZ2xlTGluayIsInByZXZlbnREZWZhdWx0IiwiZ2V0QXR0cmlidXRlIiwidG9nZ2xlIiwiaXNNb2JpbGVEZXZpY2UiLCJhZGRFdmVudExpc3RlbmVyIiwiX2V2bnRXaW5kb3dSZXNpemUiLCJ1cGRhdGUiLCJfbGFzdFdpZHRoIiwiaW5uZXJXaWR0aCIsImhvcml6b250YWxNZW51VGVtcGxhdGUiLCJkb2N1bWVudCIsIl9ob3Jpem9udGFsIiwibWFuYWdlU2Nyb2xsIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9ldm50RWxNb3VzZU92ZXIiLCJfZXZudEVsTW91c2VPdXQiLCJfZXZudEJvZHlDbGljayIsImJvZHkiLCJfZXZudElubmVyTW91c2Vtb3ZlIiwiX2lubmVyIiwiX2V2bnRJbm5lck1vdXNlbGVhdmUiLCJpdGVtIiwiX2ZpbmRVbm9wZW5lZFBhcmVudCIsIl9nZXRJdGVtIiwiX2dldExpbmsiLCJfcHJvbWlzaWZ5IiwiX2ZpbmRNZW51IiwidGhlbiIsIl9pc1Jvb3QiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJfdG9nZ2xlQW5pbWF0aW9uIiwiX2Nsb3NlT3RoZXIiLCJjYXRjaCIsIl9hdXRvQ2xvc2UiLCJyZW1vdmUiLCJvcGVuZWQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibCIsIl9maW5kQ2hpbGQiLCJwYXJlbnROb2RlIiwiY2xvc2UiLCJvcGVuIiwidHJlZSIsInBhcmVudEl0ZW0iLCJwdXNoIiwic2xpY2UiLCJpbmRleE9mIiwib3BlbmVkSXRlbXMiLCJqIiwiayIsIm9wZW5lZENoaWxkcmVuIiwieCIsInoiLCJtZW51IiwiX3VuYmluZEFuaW1hdGlvbkVuZEV2ZW50IiwibGlua0hlaWdodCIsIk1hdGgiLCJyb3VuZCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImhlaWdodCIsInN0eWxlIiwib3ZlcmZsb3ciLCJjbGVhckl0ZW1TdHlsZSIsIl9iaW5kQW5pbWF0aW9uRW5kRXZlbnQiLCJzZXRUaW1lb3V0IiwiY3VySXRlbSIsImxlZnQiLCJ0YWdOYW1lIiwid2lkdGgiLCJuZXh0U2libGluZyIsIml0ZW1zIiwicGFyc2VJbnQiLCJfcnRsIiwidmFsdWUiLCJtZW51SW5uZXIiLCJMQVlPVVRfQlJFQUtQT0lOVCIsImRlc3Ryb3kiLCJtZW51U2Nyb2xsIiwiX3VuYmluZEV2ZW50cyIsIm1lbnVzIiwiaTIiLCJsMiIsIm1hcmdpblJpZ2h0IiwibWFyZ2luTGVmdCIsIl93cmFwcGVyIiwiX3ByZXZCdG4iLCJyZW1vdmVDaGlsZCIsIl9uZXh0QnRuIiwiaW5zZXJ0QmVmb3JlIiwiYyIsInAiLCJjbHMiLCJ0aHJvd0Vycm9yIiwidG9VcHBlckNhc2UiLCJFcnJvciIsImZvdW5kIiwicGFzc2VkIiwiY3VyRWwiLCJST09UX0VMIiwicmVzdWx0Iiwic3BsaXQiLCJmb3JFYWNoIiwic2VsZWN0b3IiLCJoYW5kbGVyIiwiY2IiLCJkdXJhdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJwYXJzZUZsb2F0IiwiX21lbnVBbmltYXRpb25FbmRFdmVudENiIiwiZXYiLCJfbWVudUFuaW1hdGlvbkVuZEV2ZW50VGltZW91dCIsImZuIiwiYXJncyIsIlByb21pc2UiLCJyZWplY3QiLCJyZXNvbHZlIiwiY2xlYXJUaW1lb3V0IiwiZGlzYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBTUEsaUJBQWlCLEdBQUcsQ0FBQyxlQUFELEVBQWtCLHFCQUFsQixFQUF5QyxnQkFBekMsQ0FBMUIsQyxDQUNBOztJQUVNQyxJO0FBQ0osZ0JBQVlDLEVBQVosRUFBeUM7QUFBQSxRQUF6QkMsTUFBeUIsdUVBQWhCLEVBQWdCOztBQUFBLFFBQVpDLEdBQVksdUVBQU4sSUFBTTs7QUFBQTs7QUFDdkMsU0FBS0MsR0FBTCxHQUFXSCxFQUFYO0FBQ0EsU0FBS0ksUUFBTCxHQUFnQkgsTUFBTSxDQUFDSSxPQUFQLEtBQW1CLEtBQW5DO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQkwsTUFBTSxDQUFDTSxTQUFQLEtBQXFCLEtBQXZDO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQkMsT0FBTyxDQUFDUixNQUFNLENBQUNTLGFBQVIsQ0FBN0I7O0FBRUEsU0FBS0MsT0FBTCxHQUFlVixNQUFNLENBQUNXLE1BQVAsSUFBa0IsWUFBTSxDQUFFLENBQXpDOztBQUNBLFNBQUtDLFNBQUwsR0FBaUJaLE1BQU0sQ0FBQ2EsUUFBUCxJQUFvQixZQUFNLENBQUUsQ0FBN0M7O0FBQ0EsU0FBS0MsUUFBTCxHQUFnQmQsTUFBTSxDQUFDZSxPQUFQLElBQW1CLFlBQU0sQ0FBRSxDQUEzQzs7QUFDQSxTQUFLQyxTQUFMLEdBQWlCaEIsTUFBTSxDQUFDaUIsUUFBUCxJQUFvQixZQUFNLENBQUUsQ0FBN0M7O0FBRUEsU0FBS0MsU0FBTCxHQUFpQixJQUFqQjtBQUNBLFNBQUtDLFVBQUwsR0FBa0IsSUFBbEI7QUFDQSxTQUFLQyxZQUFMLEdBQW9CLElBQXBCO0FBRUFyQixNQUFFLENBQUNzQixTQUFILENBQWFDLEdBQWIsQ0FBaUIsTUFBakI7QUFDQXZCLE1BQUUsQ0FBQ3NCLFNBQUgsQ0FBYSxLQUFLbEIsUUFBTCxHQUFnQixRQUFoQixHQUEyQixLQUF4QyxFQUErQyxtQkFBL0MsRUFoQnVDLENBZ0I2Qjs7QUFFcEVKLE1BQUUsQ0FBQ3NCLFNBQUgsQ0FBYUMsR0FBYixDQUFpQixlQUFqQjtBQUVBLFFBQU1DLG1CQUFtQixHQUFHdEIsR0FBRyxJQUFJdUIsTUFBTSxDQUFDQyxnQkFBMUM7O0FBRUEsUUFBSUYsbUJBQUosRUFBeUI7QUFDdkIsV0FBS0csVUFBTCxHQUFrQixJQUFJSCxtQkFBSixDQUF3QnhCLEVBQUUsQ0FBQzRCLGFBQUgsQ0FBaUIsYUFBakIsQ0FBeEIsRUFBeUQ7QUFDekVDLHVCQUFlLEVBQUUsSUFEd0Q7QUFFekVDLHdCQUFnQixFQUFFLENBQUMvQixJQUFJLENBQUNnQyxTQUFMLENBQWUsK0NBQWY7QUFGc0QsT0FBekQsQ0FBbEI7QUFLQU4sWUFBTSxDQUFDTyxPQUFQLENBQWVDLFlBQWYsR0FBOEIsS0FBS04sVUFBbkM7QUFDRCxLQVBELE1BT087QUFDTDNCLFFBQUUsQ0FBQzRCLGFBQUgsQ0FBaUIsYUFBakIsRUFBZ0NOLFNBQWhDLENBQTBDQyxHQUExQyxDQUE4QyxlQUE5QztBQUNELEtBL0JzQyxDQWlDdkM7OztBQUNBLFFBQU1XLGFBQWEsR0FBR2xDLEVBQUUsQ0FBQ3NCLFNBQXpCOztBQUVBLFNBQUssSUFBSWEsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0QsYUFBYSxDQUFDRSxNQUFsQyxFQUEwQ0QsQ0FBQyxFQUEzQyxFQUErQztBQUM3QyxVQUFJRCxhQUFhLENBQUNDLENBQUQsQ0FBYixDQUFpQkUsVUFBakIsQ0FBNEIsS0FBNUIsQ0FBSixFQUF3QztBQUN0QyxhQUFLaEIsWUFBTCxHQUFvQmEsYUFBYSxDQUFDQyxDQUFELENBQWpDO0FBQ0Q7QUFDRjs7QUFDRG5DLE1BQUUsQ0FBQ3NDLFlBQUgsQ0FBZ0IsZUFBaEIsRUFBaUMsS0FBS2pCLFlBQXRDOztBQUVBLFNBQUtrQixXQUFMLEdBM0N1QyxDQTZDdkM7OztBQUNBdkMsTUFBRSxDQUFDd0MsWUFBSCxHQUFrQixJQUFsQjtBQUNEOzs7O1dBRUQsdUJBQWM7QUFBQTs7QUFDWjtBQUNBLFdBQUtDLFlBQUwsR0FBb0IsVUFBQUMsQ0FBQyxFQUFJO0FBQ3ZCO0FBQ0EsWUFBSUEsQ0FBQyxDQUFDQyxNQUFGLENBQVNDLE9BQVQsQ0FBaUIsSUFBakIsS0FBMEJGLENBQUMsQ0FBQ0MsTUFBRixDQUFTQyxPQUFULENBQWlCLElBQWpCLEVBQXVCdEIsU0FBdkIsQ0FBaUN1QixRQUFqQyxDQUEwQyxZQUExQyxDQUE5QixFQUF1RjtBQUNyRixjQUFNQyxRQUFRLEdBQUcvQyxJQUFJLENBQUNnRCxXQUFMLENBQWlCTCxDQUFDLENBQUNDLE1BQW5CLEVBQTJCLFdBQTNCLEVBQXdDLEtBQXhDLENBQWpCLENBRHFGLENBR3JGOzs7QUFDQSxjQUFJRyxRQUFKLEVBQWMsS0FBSSxDQUFDMUIsVUFBTCxHQUFrQjBCLFFBQVEsQ0FBQ0UsVUFBVCxDQUFvQixDQUFwQixDQUFsQjtBQUNmOztBQUVELFlBQU1DLFVBQVUsR0FBR1AsQ0FBQyxDQUFDQyxNQUFGLENBQVNyQixTQUFULENBQW1CdUIsUUFBbkIsQ0FBNEIsYUFBNUIsSUFDZkgsQ0FBQyxDQUFDQyxNQURhLEdBRWY1QyxJQUFJLENBQUNnRCxXQUFMLENBQWlCTCxDQUFDLENBQUNDLE1BQW5CLEVBQTJCLGFBQTNCLEVBQTBDLEtBQTFDLENBRko7O0FBSUEsWUFBSU0sVUFBSixFQUFnQjtBQUNkUCxXQUFDLENBQUNRLGNBQUY7O0FBRUEsY0FBSUQsVUFBVSxDQUFDRSxZQUFYLENBQXdCLFlBQXhCLE1BQTBDLE1BQTlDLEVBQXNEO0FBQ3BELGlCQUFJLENBQUNDLE1BQUwsQ0FBWUgsVUFBWjtBQUNEO0FBQ0Y7QUFDRixPQXBCRDs7QUFxQkEsVUFBSXhCLE1BQU0sQ0FBQ08sT0FBUCxDQUFlcUIsY0FBbkIsRUFBbUMsS0FBS2xELEdBQUwsQ0FBU21ELGdCQUFULENBQTBCLE9BQTFCLEVBQW1DLEtBQUtiLFlBQXhDOztBQUVuQyxXQUFLYyxpQkFBTCxHQUF5QixZQUFNO0FBQzdCLGFBQUksQ0FBQ0MsTUFBTDs7QUFDQSxZQUFJLEtBQUksQ0FBQ0MsVUFBTCxLQUFvQmhDLE1BQU0sQ0FBQ2lDLFVBQS9CLEVBQTJDO0FBQ3pDLGVBQUksQ0FBQ0QsVUFBTCxHQUFrQmhDLE1BQU0sQ0FBQ2lDLFVBQXpCOztBQUNBLGVBQUksQ0FBQ0YsTUFBTDtBQUNEOztBQUVELFlBQU1HLHNCQUFzQixHQUFHQyxRQUFRLENBQUNoQyxhQUFULENBQXVCLG9DQUF2QixDQUEvQjtBQUNBLFlBQUksQ0FBQyxLQUFJLENBQUNpQyxXQUFOLElBQXFCLENBQUNGLHNCQUExQixFQUFrRCxLQUFJLENBQUNHLFlBQUw7QUFDbkQsT0FURDs7QUFVQXJDLFlBQU0sQ0FBQzZCLGdCQUFQLENBQXdCLFFBQXhCLEVBQWtDLEtBQUtDLGlCQUF2QztBQUNEOzs7V0FXRCx5QkFBZ0I7QUFDZCxVQUFJLEtBQUtkLFlBQVQsRUFBdUI7QUFDckIsYUFBS3RDLEdBQUwsQ0FBUzRELG1CQUFULENBQTZCLE9BQTdCLEVBQXNDLEtBQUt0QixZQUEzQzs7QUFDQSxhQUFLQSxZQUFMLEdBQW9CLElBQXBCO0FBQ0Q7O0FBRUQsVUFBSSxLQUFLdUIsZ0JBQVQsRUFBMkI7QUFDekIsYUFBSzdELEdBQUwsQ0FBUzRELG1CQUFULENBQTZCLFdBQTdCLEVBQTBDLEtBQUtDLGdCQUEvQzs7QUFDQSxhQUFLQSxnQkFBTCxHQUF3QixJQUF4QjtBQUNEOztBQUVELFVBQUksS0FBS0MsZUFBVCxFQUEwQjtBQUN4QixhQUFLOUQsR0FBTCxDQUFTNEQsbUJBQVQsQ0FBNkIsVUFBN0IsRUFBeUMsS0FBS0UsZUFBOUM7O0FBQ0EsYUFBS0EsZUFBTCxHQUF1QixJQUF2QjtBQUNEOztBQUVELFVBQUksS0FBS1YsaUJBQVQsRUFBNEI7QUFDMUI5QixjQUFNLENBQUNzQyxtQkFBUCxDQUEyQixRQUEzQixFQUFxQyxLQUFLUixpQkFBMUM7QUFDQSxhQUFLQSxpQkFBTCxHQUF5QixJQUF6QjtBQUNEOztBQUVELFVBQUksS0FBS1csY0FBVCxFQUF5QjtBQUN2Qk4sZ0JBQVEsQ0FBQ08sSUFBVCxDQUFjSixtQkFBZCxDQUFrQyxPQUFsQyxFQUEyQyxLQUFLRyxjQUFoRDtBQUNBLGFBQUtBLGNBQUwsR0FBc0IsSUFBdEI7QUFDRDs7QUFFRCxVQUFJLEtBQUtFLG1CQUFULEVBQThCO0FBQzVCLGFBQUtDLE1BQUwsQ0FBWU4sbUJBQVosQ0FBZ0MsV0FBaEMsRUFBNkMsS0FBS0ssbUJBQWxEOztBQUNBLGFBQUtBLG1CQUFMLEdBQTJCLElBQTNCO0FBQ0Q7O0FBRUQsVUFBSSxLQUFLRSxvQkFBVCxFQUErQjtBQUM3QixhQUFLRCxNQUFMLENBQVlOLG1CQUFaLENBQWdDLFlBQWhDLEVBQThDLEtBQUtPLG9CQUFuRDs7QUFDQSxhQUFLQSxvQkFBTCxHQUE0QixJQUE1QjtBQUNEO0FBQ0Y7OztXQWdFRCxjQUFLdEUsRUFBTCxFQUE4QztBQUFBOztBQUFBLFVBQXJDVSxhQUFxQyx1RUFBckIsS0FBS0YsY0FBZ0I7O0FBQzVDLFVBQU0rRCxJQUFJLEdBQUcsS0FBS0MsbUJBQUwsQ0FBeUJ6RSxJQUFJLENBQUMwRSxRQUFMLENBQWN6RSxFQUFkLEVBQWtCLElBQWxCLENBQXpCLEVBQWtEVSxhQUFsRCxDQUFiOztBQUVBLFVBQUksQ0FBQzZELElBQUwsRUFBVzs7QUFFWCxVQUFNdEIsVUFBVSxHQUFHbEQsSUFBSSxDQUFDMkUsUUFBTCxDQUFjSCxJQUFkLEVBQW9CLElBQXBCLENBQW5COztBQUVBeEUsVUFBSSxDQUFDNEUsVUFBTCxDQUFnQixLQUFLaEUsT0FBckIsRUFBOEIsSUFBOUIsRUFBb0M0RCxJQUFwQyxFQUEwQ3RCLFVBQTFDLEVBQXNEbEQsSUFBSSxDQUFDNkUsU0FBTCxDQUFlTCxJQUFmLENBQXRELEVBQ0dNLElBREgsQ0FDUSxZQUFNO0FBQ1YsWUFBSSxDQUFDLE1BQUksQ0FBQ2hCLFdBQU4sSUFBcUIsQ0FBQzlELElBQUksQ0FBQytFLE9BQUwsQ0FBYVAsSUFBYixDQUExQixFQUE4QztBQUM1QyxjQUFJLE1BQUksQ0FBQ25FLFFBQUwsSUFBaUIsQ0FBQyxNQUFJLENBQUN5RCxXQUEzQixFQUF3QztBQUN0Q3BDLGtCQUFNLENBQUNzRCxxQkFBUCxDQUE2QjtBQUFBLHFCQUFNLE1BQUksQ0FBQ0MsZ0JBQUwsQ0FBc0IsSUFBdEIsRUFBNEJULElBQTVCLEVBQWtDLEtBQWxDLENBQU47QUFBQSxhQUE3QjtBQUNBLGdCQUFJLE1BQUksQ0FBQ2pFLFVBQVQsRUFBcUIsTUFBSSxDQUFDMkUsV0FBTCxDQUFpQlYsSUFBakIsRUFBdUI3RCxhQUF2QjtBQUN0QixXQUhELE1BR08sSUFBSSxNQUFJLENBQUNOLFFBQVQsRUFBbUI7QUFDeEI7QUFDQSxrQkFBSSxDQUFDUyxTQUFMLElBQWtCLE1BQUksQ0FBQ0EsU0FBTCxDQUFlLE1BQWYsRUFBcUIwRCxJQUFyQixFQUEyQnRCLFVBQTNCLEVBQXVDbEQsSUFBSSxDQUFDNkUsU0FBTCxDQUFlTCxJQUFmLENBQXZDLENBQWxCO0FBQ0QsV0FITSxNQUdBO0FBQ0xBLGdCQUFJLENBQUNqRCxTQUFMLENBQWVDLEdBQWYsQ0FBbUIsTUFBbkIsRUFESyxDQUVMOztBQUNBLGtCQUFJLENBQUNWLFNBQUwsSUFBa0IsTUFBSSxDQUFDQSxTQUFMLENBQWUsTUFBZixFQUFxQjBELElBQXJCLEVBQTJCdEIsVUFBM0IsRUFBdUNsRCxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBdkMsQ0FBbEI7QUFDQSxnQkFBSSxNQUFJLENBQUNqRSxVQUFULEVBQXFCLE1BQUksQ0FBQzJFLFdBQUwsQ0FBaUJWLElBQWpCLEVBQXVCN0QsYUFBdkI7QUFDdEI7QUFDRixTQWJELE1BYU87QUFDTDtBQUNBLGdCQUFJLENBQUNHLFNBQUwsSUFBa0IsTUFBSSxDQUFDQSxTQUFMLENBQWUsTUFBZixFQUFxQjBELElBQXJCLEVBQTJCdEIsVUFBM0IsRUFBdUNsRCxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBdkMsQ0FBbEI7QUFDRDtBQUNGLE9BbkJILEVBb0JHVyxLQXBCSCxDQW9CUyxZQUFNLENBQUUsQ0FwQmpCO0FBcUJEOzs7V0FFRCxlQUFNbEYsRUFBTixFQUFtRTtBQUFBOztBQUFBLFVBQXpEVSxhQUF5RCx1RUFBekMsS0FBS0YsY0FBb0M7O0FBQUEsVUFBcEIyRSxVQUFvQix1RUFBUCxLQUFPOztBQUNqRSxVQUFNWixJQUFJLEdBQUd4RSxJQUFJLENBQUMwRSxRQUFMLENBQWN6RSxFQUFkLEVBQWtCLElBQWxCLENBQWI7O0FBQ0EsVUFBTWlELFVBQVUsR0FBR2xELElBQUksQ0FBQzJFLFFBQUwsQ0FBYzFFLEVBQWQsRUFBa0IsSUFBbEIsQ0FBbkI7O0FBRUEsVUFBSSxDQUFDdUUsSUFBSSxDQUFDakQsU0FBTCxDQUFldUIsUUFBZixDQUF3QixNQUF4QixDQUFELElBQW9DMEIsSUFBSSxDQUFDakQsU0FBTCxDQUFldUIsUUFBZixDQUF3QixVQUF4QixDQUF4QyxFQUE2RTs7QUFFN0U5QyxVQUFJLENBQUM0RSxVQUFMLENBQWdCLEtBQUs1RCxRQUFyQixFQUErQixJQUEvQixFQUFxQ3dELElBQXJDLEVBQTJDdEIsVUFBM0MsRUFBdURsRCxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBdkQsRUFBNkVZLFVBQTdFLEVBQ0dOLElBREgsQ0FDUSxZQUFNO0FBQ1YsWUFBSSxDQUFDLE1BQUksQ0FBQ2hCLFdBQU4sSUFBcUIsQ0FBQzlELElBQUksQ0FBQytFLE9BQUwsQ0FBYVAsSUFBYixDQUExQixFQUE4QztBQUM1QyxjQUFJLE1BQUksQ0FBQ25FLFFBQUwsSUFBaUIsQ0FBQyxNQUFJLENBQUN5RCxXQUEzQixFQUF3QztBQUN0Q3BDLGtCQUFNLENBQUNzRCxxQkFBUCxDQUE2QjtBQUFBLHFCQUFNLE1BQUksQ0FBQ0MsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkJULElBQTdCLEVBQW1DN0QsYUFBbkMsQ0FBTjtBQUFBLGFBQTdCO0FBQ0QsV0FGRCxNQUVPO0FBQ0w2RCxnQkFBSSxDQUFDakQsU0FBTCxDQUFlOEQsTUFBZixDQUFzQixNQUF0Qjs7QUFFQSxnQkFBSTFFLGFBQUosRUFBbUI7QUFDakIsa0JBQU0yRSxNQUFNLEdBQUdkLElBQUksQ0FBQ2UsZ0JBQUwsQ0FBc0IsaUJBQXRCLENBQWY7O0FBQ0EsbUJBQUssSUFBSW5ELENBQUMsR0FBRyxDQUFSLEVBQVdvRCxDQUFDLEdBQUdGLE1BQU0sQ0FBQ2pELE1BQTNCLEVBQW1DRCxDQUFDLEdBQUdvRCxDQUF2QyxFQUEwQ3BELENBQUMsRUFBM0M7QUFBK0NrRCxzQkFBTSxDQUFDbEQsQ0FBRCxDQUFOLENBQVViLFNBQVYsQ0FBb0I4RCxNQUFwQixDQUEyQixNQUEzQjtBQUEvQztBQUNELGFBTkksQ0FRTDs7O0FBQ0Esa0JBQUksQ0FBQ25FLFNBQUwsSUFBa0IsTUFBSSxDQUFDQSxTQUFMLENBQWUsTUFBZixFQUFxQnNELElBQXJCLEVBQTJCdEIsVUFBM0IsRUFBdUNsRCxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBdkMsQ0FBbEI7QUFDRDtBQUNGLFNBZEQsTUFjTztBQUNMO0FBQ0EsZ0JBQUksQ0FBQ3RELFNBQUwsSUFBa0IsTUFBSSxDQUFDQSxTQUFMLENBQWUsTUFBZixFQUFxQnNELElBQXJCLEVBQTJCdEIsVUFBM0IsRUFBdUNsRCxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBdkMsQ0FBbEI7QUFDRDtBQUNGLE9BcEJILEVBcUJHVyxLQXJCSCxDQXFCUyxZQUFNLENBQUUsQ0FyQmpCO0FBc0JEOzs7V0FFRCxxQkFBWVgsSUFBWixFQUFrQjdELGFBQWxCLEVBQWlDO0FBQy9CLFVBQU0yRSxNQUFNLEdBQUd0RixJQUFJLENBQUN5RixVQUFMLENBQWdCakIsSUFBSSxDQUFDa0IsVUFBckIsRUFBaUMsQ0FBQyxXQUFELEVBQWMsTUFBZCxDQUFqQyxDQUFmOztBQUVBLFdBQUssSUFBSXRELENBQUMsR0FBRyxDQUFSLEVBQVdvRCxDQUFDLEdBQUdGLE1BQU0sQ0FBQ2pELE1BQTNCLEVBQW1DRCxDQUFDLEdBQUdvRCxDQUF2QyxFQUEwQ3BELENBQUMsRUFBM0MsRUFBK0M7QUFDN0MsWUFBSWtELE1BQU0sQ0FBQ2xELENBQUQsQ0FBTixLQUFjb0MsSUFBbEIsRUFBd0IsS0FBS21CLEtBQUwsQ0FBV0wsTUFBTSxDQUFDbEQsQ0FBRCxDQUFqQixFQUFzQnpCLGFBQXRCO0FBQ3pCO0FBQ0Y7OztXQUVELGdCQUFPVixFQUFQLEVBQWdEO0FBQUEsVUFBckNVLGFBQXFDLHVFQUFyQixLQUFLRixjQUFnQjs7QUFDOUMsVUFBTStELElBQUksR0FBR3hFLElBQUksQ0FBQzBFLFFBQUwsQ0FBY3pFLEVBQWQsRUFBa0IsSUFBbEIsQ0FBYixDQUQ4QyxDQUU5Qzs7O0FBRUEsVUFBSXVFLElBQUksQ0FBQ2pELFNBQUwsQ0FBZXVCLFFBQWYsQ0FBd0IsTUFBeEIsQ0FBSixFQUFxQyxLQUFLNkMsS0FBTCxDQUFXbkIsSUFBWCxFQUFpQjdELGFBQWpCLEVBQXJDLEtBQ0ssS0FBS2lGLElBQUwsQ0FBVXBCLElBQVYsRUFBZ0I3RCxhQUFoQjtBQUNOOzs7V0ErQkQsNkJBQW9CNkQsSUFBcEIsRUFBMEI3RCxhQUExQixFQUF5QztBQUN2QyxVQUFJa0YsSUFBSSxHQUFHLEVBQVg7QUFDQSxVQUFJQyxVQUFVLEdBQUcsSUFBakI7O0FBRUEsYUFBT3RCLElBQVAsRUFBYTtBQUNYLFlBQUlBLElBQUksQ0FBQ2pELFNBQUwsQ0FBZXVCLFFBQWYsQ0FBd0IsVUFBeEIsQ0FBSixFQUF5QztBQUN2Q2dELG9CQUFVLEdBQUcsSUFBYjtBQUNBRCxjQUFJLEdBQUcsRUFBUDtBQUNELFNBSEQsTUFHTztBQUNMLGNBQUksQ0FBQ3JCLElBQUksQ0FBQ2pELFNBQUwsQ0FBZXVCLFFBQWYsQ0FBd0IsTUFBeEIsQ0FBTCxFQUFzQ2dELFVBQVUsR0FBR3RCLElBQWI7QUFDdENxQixjQUFJLENBQUNFLElBQUwsQ0FBVXZCLElBQVY7QUFDRDs7QUFFREEsWUFBSSxHQUFHeEUsSUFBSSxDQUFDZ0QsV0FBTCxDQUFpQndCLElBQWpCLEVBQXVCLFdBQXZCLEVBQW9DLEtBQXBDLENBQVA7QUFDRDs7QUFFRCxVQUFJLENBQUNzQixVQUFMLEVBQWlCLE9BQU8sSUFBUDtBQUNqQixVQUFJRCxJQUFJLENBQUN4RCxNQUFMLEtBQWdCLENBQXBCLEVBQXVCLE9BQU95RCxVQUFQO0FBRXZCRCxVQUFJLEdBQUdBLElBQUksQ0FBQ0csS0FBTCxDQUFXLENBQVgsRUFBY0gsSUFBSSxDQUFDSSxPQUFMLENBQWFILFVBQWIsQ0FBZCxDQUFQOztBQUVBLFdBQUssSUFBSTFELENBQUMsR0FBRyxDQUFSLEVBQVdvRCxDQUFDLEdBQUdLLElBQUksQ0FBQ3hELE1BQXpCLEVBQWlDRCxDQUFDLEdBQUdvRCxDQUFyQyxFQUF3Q3BELENBQUMsRUFBekMsRUFBNkM7QUFDM0N5RCxZQUFJLENBQUN6RCxDQUFELENBQUosQ0FBUWIsU0FBUixDQUFrQkMsR0FBbEIsQ0FBc0IsTUFBdEI7O0FBRUEsWUFBSSxLQUFLakIsVUFBVCxFQUFxQjtBQUNuQixjQUFNMkYsV0FBVyxHQUFHbEcsSUFBSSxDQUFDeUYsVUFBTCxDQUFnQkksSUFBSSxDQUFDekQsQ0FBRCxDQUFKLENBQVFzRCxVQUF4QixFQUFvQyxDQUFDLFdBQUQsRUFBYyxNQUFkLENBQXBDLENBQXBCOztBQUVBLGVBQUssSUFBSVMsQ0FBQyxHQUFHLENBQVIsRUFBV0MsQ0FBQyxHQUFHRixXQUFXLENBQUM3RCxNQUFoQyxFQUF3QzhELENBQUMsR0FBR0MsQ0FBNUMsRUFBK0NELENBQUMsRUFBaEQsRUFBb0Q7QUFDbEQsZ0JBQUlELFdBQVcsQ0FBQ0MsQ0FBRCxDQUFYLEtBQW1CTixJQUFJLENBQUN6RCxDQUFELENBQTNCLEVBQWdDO0FBQzlCOEQseUJBQVcsQ0FBQ0MsQ0FBRCxDQUFYLENBQWU1RSxTQUFmLENBQXlCOEQsTUFBekIsQ0FBZ0MsTUFBaEM7O0FBRUEsa0JBQUkxRSxhQUFKLEVBQW1CO0FBQ2pCLG9CQUFNMEYsY0FBYyxHQUFHSCxXQUFXLENBQUNDLENBQUQsQ0FBWCxDQUFlWixnQkFBZixDQUFnQyxpQkFBaEMsQ0FBdkI7O0FBQ0EscUJBQUssSUFBSWUsQ0FBQyxHQUFHLENBQVIsRUFBV0MsQ0FBQyxHQUFHRixjQUFjLENBQUNoRSxNQUFuQyxFQUEyQ2lFLENBQUMsR0FBR0MsQ0FBL0MsRUFBa0RELENBQUMsRUFBbkQsRUFBdUQ7QUFDckRELGdDQUFjLENBQUNDLENBQUQsQ0FBZCxDQUFrQi9FLFNBQWxCLENBQTRCOEQsTUFBNUIsQ0FBbUMsTUFBbkM7QUFDRDtBQUNGO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7O0FBRUQsYUFBT1MsVUFBUDtBQUNEOzs7V0FFRCwwQkFBaUJGLElBQWpCLEVBQXVCcEIsSUFBdkIsRUFBNkI3RCxhQUE3QixFQUE0QztBQUFBOztBQUMxQyxVQUFNdUMsVUFBVSxHQUFHbEQsSUFBSSxDQUFDMkUsUUFBTCxDQUFjSCxJQUFkLEVBQW9CLElBQXBCLENBQW5COztBQUNBLFVBQU1nQyxJQUFJLEdBQUd4RyxJQUFJLENBQUM2RSxTQUFMLENBQWVMLElBQWYsQ0FBYjs7QUFFQXhFLFVBQUksQ0FBQ3lHLHdCQUFMLENBQThCakMsSUFBOUI7O0FBRUEsVUFBTWtDLFVBQVUsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVcxRCxVQUFVLENBQUMyRCxxQkFBWCxHQUFtQ0MsTUFBOUMsQ0FBbkI7QUFFQXRDLFVBQUksQ0FBQ3VDLEtBQUwsQ0FBV0MsUUFBWCxHQUFzQixRQUF0Qjs7QUFFQSxVQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLEdBQU07QUFDM0J6QyxZQUFJLENBQUNqRCxTQUFMLENBQWU4RCxNQUFmLENBQXNCLHFCQUF0QjtBQUNBYixZQUFJLENBQUNqRCxTQUFMLENBQWU4RCxNQUFmLENBQXNCLG1CQUF0QjtBQUNBYixZQUFJLENBQUN1QyxLQUFMLENBQVdDLFFBQVgsR0FBc0IsSUFBdEI7QUFDQXhDLFlBQUksQ0FBQ3VDLEtBQUwsQ0FBV0QsTUFBWCxHQUFvQixJQUFwQjs7QUFFQSxjQUFJLENBQUNyRCxNQUFMO0FBQ0QsT0FQRDs7QUFTQSxVQUFJbUMsSUFBSixFQUFVO0FBQ1JwQixZQUFJLENBQUN1QyxLQUFMLENBQVdELE1BQVgsYUFBdUJKLFVBQXZCO0FBQ0FsQyxZQUFJLENBQUNqRCxTQUFMLENBQWVDLEdBQWYsQ0FBbUIscUJBQW5CO0FBQ0FnRCxZQUFJLENBQUNqRCxTQUFMLENBQWVDLEdBQWYsQ0FBbUIsTUFBbkI7O0FBRUF4QixZQUFJLENBQUNrSCxzQkFBTCxDQUE0QjFDLElBQTVCLEVBQWtDLFlBQU07QUFDdEN5Qyx3QkFBYzs7QUFDZCxnQkFBSSxDQUFDbkcsU0FBTCxDQUFlLE1BQWYsRUFBcUIwRCxJQUFyQixFQUEyQnRCLFVBQTNCLEVBQXVDc0QsSUFBdkM7QUFDRCxTQUhEOztBQUtBVyxrQkFBVSxDQUFDLFlBQU07QUFDZjNDLGNBQUksQ0FBQ3VDLEtBQUwsQ0FBV0QsTUFBWCxhQUF1QkosVUFBVSxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0osSUFBSSxDQUFDSyxxQkFBTCxHQUE2QkMsTUFBeEMsQ0FBcEM7QUFDRCxTQUZTLEVBRVAsRUFGTyxDQUFWO0FBR0QsT0FiRCxNQWFPO0FBQ0x0QyxZQUFJLENBQUN1QyxLQUFMLENBQVdELE1BQVgsYUFBdUJKLFVBQVUsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdKLElBQUksQ0FBQ0sscUJBQUwsR0FBNkJDLE1BQXhDLENBQXBDO0FBQ0F0QyxZQUFJLENBQUNqRCxTQUFMLENBQWVDLEdBQWYsQ0FBbUIscUJBQW5CO0FBQ0FnRCxZQUFJLENBQUNqRCxTQUFMLENBQWVDLEdBQWYsQ0FBbUIsbUJBQW5COztBQUVBeEIsWUFBSSxDQUFDa0gsc0JBQUwsQ0FBNEIxQyxJQUE1QixFQUFrQyxZQUFNO0FBQ3RDQSxjQUFJLENBQUNqRCxTQUFMLENBQWU4RCxNQUFmLENBQXNCLE1BQXRCO0FBQ0E0Qix3QkFBYzs7QUFFZCxjQUFJdEcsYUFBSixFQUFtQjtBQUNqQixnQkFBTTJFLE1BQU0sR0FBR2QsSUFBSSxDQUFDZSxnQkFBTCxDQUFzQixpQkFBdEIsQ0FBZjs7QUFDQSxpQkFBSyxJQUFJbkQsQ0FBQyxHQUFHLENBQVIsRUFBV29ELENBQUMsR0FBR0YsTUFBTSxDQUFDakQsTUFBM0IsRUFBbUNELENBQUMsR0FBR29ELENBQXZDLEVBQTBDcEQsQ0FBQyxFQUEzQztBQUErQ2tELG9CQUFNLENBQUNsRCxDQUFELENBQU4sQ0FBVWIsU0FBVixDQUFvQjhELE1BQXBCLENBQTJCLE1BQTNCO0FBQS9DO0FBQ0Q7O0FBRUQsZ0JBQUksQ0FBQ25FLFNBQUwsQ0FBZSxNQUFmLEVBQXFCc0QsSUFBckIsRUFBMkJ0QixVQUEzQixFQUF1Q3NELElBQXZDO0FBQ0QsU0FWRDs7QUFZQVcsa0JBQVUsQ0FBQyxZQUFNO0FBQ2YzQyxjQUFJLENBQUN1QyxLQUFMLENBQVdELE1BQVgsYUFBdUJKLFVBQXZCO0FBQ0QsU0FGUyxFQUVQLEVBRk8sQ0FBVjtBQUdEO0FBQ0Y7OztXQW9CRCx3QkFBZWxDLElBQWYsRUFBcUI7QUFDbkIsVUFBSTRDLE9BQU8sR0FBRyxLQUFLOUMsTUFBTCxDQUFZckIsVUFBWixDQUF1QixDQUF2QixDQUFkO0FBQ0EsVUFBSW9FLElBQUksR0FBRyxDQUFYOztBQUVBLGFBQU9ELE9BQU8sS0FBSzVDLElBQW5CLEVBQXlCO0FBQ3ZCLFlBQUk0QyxPQUFPLENBQUNFLE9BQVosRUFBcUI7QUFDbkJELGNBQUksSUFBSVYsSUFBSSxDQUFDQyxLQUFMLENBQVdRLE9BQU8sQ0FBQ1AscUJBQVIsR0FBZ0NVLEtBQTNDLENBQVI7QUFDRDs7QUFFREgsZUFBTyxHQUFHQSxPQUFPLENBQUNJLFdBQWxCO0FBQ0Q7O0FBRUQsYUFBT0gsSUFBUDtBQUNEOzs7U0FhRCxlQUFrQjtBQUNoQixVQUFNSSxLQUFLLEdBQUcsS0FBS25ELE1BQUwsQ0FBWXJCLFVBQTFCO0FBQ0EsVUFBSXNFLEtBQUssR0FBRyxDQUFaOztBQUVBLFdBQUssSUFBSW5GLENBQUMsR0FBRyxDQUFSLEVBQVdvRCxDQUFDLEdBQUdpQyxLQUFLLENBQUNwRixNQUExQixFQUFrQ0QsQ0FBQyxHQUFHb0QsQ0FBdEMsRUFBeUNwRCxDQUFDLEVBQTFDLEVBQThDO0FBQzVDLFlBQUlxRixLQUFLLENBQUNyRixDQUFELENBQUwsQ0FBU2tGLE9BQWIsRUFBc0I7QUFDcEJDLGVBQUssSUFBSVosSUFBSSxDQUFDQyxLQUFMLENBQVdhLEtBQUssQ0FBQ3JGLENBQUQsQ0FBTCxDQUFTeUUscUJBQVQsR0FBaUNVLEtBQTVDLENBQVQ7QUFDRDtBQUNGOztBQUVELGFBQU9BLEtBQVA7QUFDRDs7O1NBRUQsZUFBcUI7QUFDbkIsYUFBT0csUUFBUSxDQUFDLEtBQUtwRCxNQUFMLENBQVl5QyxLQUFaLENBQWtCLEtBQUtZLElBQUwsR0FBWSxhQUFaLEdBQTRCLFlBQTlDLEtBQStELEtBQWhFLEVBQXVFLEVBQXZFLENBQWY7QUFDRCxLO1NBRUQsYUFBbUJDLEtBQW5CLEVBQTBCO0FBQ3hCLFdBQUt0RCxNQUFMLENBQVl5QyxLQUFaLENBQWtCLEtBQUtZLElBQUwsR0FBWSxhQUFaLEdBQTRCLFlBQTlDLGNBQWlFQyxLQUFqRTtBQUNBLGFBQU9BLEtBQVA7QUFDRDs7O1dBZ0JELG9CQUE4QztBQUFBLFVBQXJDakgsYUFBcUMsdUVBQXJCLEtBQUtGLGNBQWdCOztBQUM1QyxVQUFNNkUsTUFBTSxHQUFHLEtBQUtsRixHQUFMLENBQVNtRixnQkFBVCxDQUEwQiwrQkFBMUIsQ0FBZjs7QUFFQSxXQUFLLElBQUluRCxDQUFDLEdBQUcsQ0FBUixFQUFXb0QsQ0FBQyxHQUFHRixNQUFNLENBQUNqRCxNQUEzQixFQUFtQ0QsQ0FBQyxHQUFHb0QsQ0FBdkMsRUFBMENwRCxDQUFDLEVBQTNDO0FBQStDLGFBQUt1RCxLQUFMLENBQVdMLE1BQU0sQ0FBQ2xELENBQUQsQ0FBakIsRUFBc0J6QixhQUF0QjtBQUEvQztBQUNEOzs7V0FrQkQsa0JBQVM7QUFDUCxVQUFJLEtBQUtpQixVQUFULEVBQXFCO0FBQ25CLGFBQUtBLFVBQUwsQ0FBZ0I2QixNQUFoQjtBQUNEO0FBQ0Y7OztXQUVELHdCQUFlO0FBQUEsb0JBQ2dCL0IsTUFEaEI7QUFBQSxVQUNMQyxnQkFESyxXQUNMQSxnQkFESztBQUViLFVBQU1rRyxTQUFTLEdBQUdoRSxRQUFRLENBQUNoQyxhQUFULENBQXVCLGFBQXZCLENBQWxCOztBQUVBLFVBQUlILE1BQU0sQ0FBQ2lDLFVBQVAsR0FBb0JqQyxNQUFNLENBQUNPLE9BQVAsQ0FBZTZGLGlCQUF2QyxFQUEwRDtBQUN4RCxZQUFJLEtBQUtsRyxVQUFMLEtBQW9CLElBQXhCLEVBQThCO0FBQzVCO0FBQ0EsZUFBS0EsVUFBTCxDQUFnQm1HLE9BQWhCOztBQUNBLGVBQUtuRyxVQUFMLEdBQWtCLElBQWxCO0FBQ0Q7O0FBQ0RpRyxpQkFBUyxDQUFDdEcsU0FBVixDQUFvQkMsR0FBcEIsQ0FBd0IsZUFBeEI7QUFDRCxPQVBELE1BT087QUFDTCxZQUFJLEtBQUtJLFVBQUwsS0FBb0IsSUFBeEIsRUFBOEI7QUFDNUIsY0FBTW9HLFVBQVUsR0FBRyxJQUFJckcsZ0JBQUosQ0FBcUJrQyxRQUFRLENBQUNoQyxhQUFULENBQXVCLGFBQXZCLENBQXJCLEVBQTREO0FBQzdFQywyQkFBZSxFQUFFLElBRDREO0FBRTdFQyw0QkFBZ0IsRUFBRTtBQUYyRCxXQUE1RCxDQUFuQjtBQUlBLGVBQUtILFVBQUwsR0FBa0JvRyxVQUFsQjtBQUNEOztBQUNESCxpQkFBUyxDQUFDdEcsU0FBVixDQUFvQjhELE1BQXBCLENBQTJCLGVBQTNCO0FBQ0Q7QUFDRjs7O1dBRUQsbUJBQVU7QUFDUixVQUFJLENBQUMsS0FBS2pGLEdBQVYsRUFBZTs7QUFFZixXQUFLNkgsYUFBTDs7QUFFQSxVQUFNUixLQUFLLEdBQUcsS0FBS3JILEdBQUwsQ0FBU21GLGdCQUFULENBQTBCLFlBQTFCLENBQWQ7O0FBQ0EsV0FBSyxJQUFJbkQsQ0FBQyxHQUFHLENBQVIsRUFBV29ELENBQUMsR0FBR2lDLEtBQUssQ0FBQ3BGLE1BQTFCLEVBQWtDRCxDQUFDLEdBQUdvRCxDQUF0QyxFQUF5Q3BELENBQUMsRUFBMUMsRUFBOEM7QUFDNUNwQyxZQUFJLENBQUN5Ryx3QkFBTCxDQUE4QmdCLEtBQUssQ0FBQ3JGLENBQUQsQ0FBbkM7O0FBQ0FxRixhQUFLLENBQUNyRixDQUFELENBQUwsQ0FBU2IsU0FBVCxDQUFtQjhELE1BQW5CLENBQTBCLHFCQUExQjtBQUNBb0MsYUFBSyxDQUFDckYsQ0FBRCxDQUFMLENBQVNiLFNBQVQsQ0FBbUI4RCxNQUFuQixDQUEwQixNQUExQjtBQUNBb0MsYUFBSyxDQUFDckYsQ0FBRCxDQUFMLENBQVMyRSxLQUFULENBQWVDLFFBQWYsR0FBMEIsSUFBMUI7QUFDQVMsYUFBSyxDQUFDckYsQ0FBRCxDQUFMLENBQVMyRSxLQUFULENBQWVELE1BQWYsR0FBd0IsSUFBeEI7QUFDRDs7QUFFRCxVQUFNb0IsS0FBSyxHQUFHLEtBQUs5SCxHQUFMLENBQVNtRixnQkFBVCxDQUEwQixZQUExQixDQUFkOztBQUNBLFdBQUssSUFBSTRDLEVBQUUsR0FBRyxDQUFULEVBQVlDLEVBQUUsR0FBR0YsS0FBSyxDQUFDN0YsTUFBNUIsRUFBb0M4RixFQUFFLEdBQUdDLEVBQXpDLEVBQTZDRCxFQUFFLEVBQS9DLEVBQW1EO0FBQ2pERCxhQUFLLENBQUNDLEVBQUQsQ0FBTCxDQUFVcEIsS0FBVixDQUFnQnNCLFdBQWhCLEdBQThCLElBQTlCO0FBQ0FILGFBQUssQ0FBQ0MsRUFBRCxDQUFMLENBQVVwQixLQUFWLENBQWdCdUIsVUFBaEIsR0FBNkIsSUFBN0I7QUFDRDs7QUFFRCxXQUFLbEksR0FBTCxDQUFTbUIsU0FBVCxDQUFtQjhELE1BQW5CLENBQTBCLG1CQUExQjs7QUFFQSxVQUFJLEtBQUtrRCxRQUFULEVBQW1CO0FBQ2pCLGFBQUtDLFFBQUwsQ0FBYzlDLFVBQWQsQ0FBeUIrQyxXQUF6QixDQUFxQyxLQUFLRCxRQUExQzs7QUFDQSxhQUFLRSxRQUFMLENBQWNoRCxVQUFkLENBQXlCK0MsV0FBekIsQ0FBcUMsS0FBS0MsUUFBMUM7O0FBQ0EsYUFBS0gsUUFBTCxDQUFjN0MsVUFBZCxDQUF5QmlELFlBQXpCLENBQXNDLEtBQUtyRSxNQUEzQyxFQUFtRCxLQUFLaUUsUUFBeEQ7O0FBQ0EsYUFBS0EsUUFBTCxDQUFjN0MsVUFBZCxDQUF5QitDLFdBQXpCLENBQXFDLEtBQUtGLFFBQTFDOztBQUNBLGFBQUtqRSxNQUFMLENBQVl5QyxLQUFaLENBQWtCdUIsVUFBbEIsR0FBK0IsSUFBL0I7QUFDQSxhQUFLaEUsTUFBTCxDQUFZeUMsS0FBWixDQUFrQnNCLFdBQWxCLEdBQWdDLElBQWhDO0FBQ0Q7O0FBRUQsV0FBS2pJLEdBQUwsQ0FBU3FDLFlBQVQsR0FBd0IsSUFBeEI7QUFDQSxhQUFPLEtBQUtyQyxHQUFMLENBQVNxQyxZQUFoQjtBQUVBLFdBQUtyQyxHQUFMLEdBQVcsSUFBWDtBQUNBLFdBQUtDLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxXQUFLRSxVQUFMLEdBQWtCLElBQWxCO0FBQ0EsV0FBS0UsY0FBTCxHQUFzQixJQUF0QjtBQUNBLFdBQUtHLE9BQUwsR0FBZSxJQUFmO0FBQ0EsV0FBS0UsU0FBTCxHQUFpQixJQUFqQjtBQUNBLFdBQUtFLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxXQUFLRSxTQUFMLEdBQWlCLElBQWpCOztBQUNBLFVBQUksS0FBS1UsVUFBVCxFQUFxQjtBQUNuQixhQUFLQSxVQUFMLENBQWdCbUcsT0FBaEI7O0FBQ0EsYUFBS25HLFVBQUwsR0FBa0IsSUFBbEI7QUFDRDs7QUFDRCxXQUFLMEMsTUFBTCxHQUFjLElBQWQ7QUFDQSxXQUFLa0UsUUFBTCxHQUFnQixJQUFoQjtBQUNBLFdBQUtELFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxXQUFLRyxRQUFMLEdBQWdCLElBQWhCO0FBQ0Q7OztXQTllRDtBQUFlO0FBQWlCRSxLQUFoQztBQUFtQztBQUFrQkMsS0FBckQsRUFBd0Q7QUFDdEQ7QUFDQSxVQUFJRCxDQUFDLENBQUNsRCxVQUFOLEVBQWtCO0FBQ2hCLGVBQU8sQ0FBQ2tELENBQUMsR0FBR0EsQ0FBQyxDQUFDbEQsVUFBUCxLQUFzQmtELENBQUMsS0FBS0MsQ0FBbkM7QUFBcUM7QUFBckM7O0FBQ0EsZUFBTyxDQUFDLENBQUNELENBQVQ7QUFDRDs7QUFDRCxhQUFPLEtBQVA7QUFDRDs7O1dBdUNELGlCQUFlcEUsSUFBZixFQUFxQjtBQUNuQixhQUFPLENBQUN4RSxJQUFJLENBQUNnRCxXQUFMLENBQWlCd0IsSUFBakIsRUFBdUIsV0FBdkIsRUFBb0MsS0FBcEMsQ0FBUjtBQUNEOzs7V0FFRCxxQkFBbUJ2RSxFQUFuQixFQUF1QjZJLEdBQXZCLEVBQStDO0FBQUEsVUFBbkJDLFVBQW1CLHVFQUFOLElBQU07QUFDN0MsVUFBSTlJLEVBQUUsQ0FBQ3FILE9BQUgsQ0FBVzBCLFdBQVgsT0FBNkIsTUFBakMsRUFBeUMsT0FBTyxJQUFQO0FBQ3pDL0ksUUFBRSxHQUFHQSxFQUFFLENBQUN5RixVQUFSOztBQUNBLGFBQU96RixFQUFFLENBQUNxSCxPQUFILENBQVcwQixXQUFYLE9BQTZCLE1BQTdCLElBQXVDLENBQUMvSSxFQUFFLENBQUNzQixTQUFILENBQWF1QixRQUFiLENBQXNCZ0csR0FBdEIsQ0FBL0MsRUFBMkU7QUFDekU3SSxVQUFFLEdBQUdBLEVBQUUsQ0FBQ3lGLFVBQVI7QUFDRDs7QUFFRHpGLFFBQUUsR0FBR0EsRUFBRSxDQUFDcUgsT0FBSCxDQUFXMEIsV0FBWCxPQUE2QixNQUE3QixHQUFzQy9JLEVBQXRDLEdBQTJDLElBQWhEO0FBRUEsVUFBSSxDQUFDQSxFQUFELElBQU84SSxVQUFYLEVBQXVCLE1BQU0sSUFBSUUsS0FBSix5QkFBNEJILEdBQTVCLHNCQUFOO0FBRXZCLGFBQU83SSxFQUFQO0FBQ0Q7OztXQUVELG9CQUFrQkEsRUFBbEIsRUFBc0I2SSxHQUF0QixFQUEyQjtBQUN6QixVQUFNckIsS0FBSyxHQUFHeEgsRUFBRSxDQUFDZ0QsVUFBakI7QUFDQSxVQUFNaUcsS0FBSyxHQUFHLEVBQWQ7O0FBRUEsV0FBSyxJQUFJOUcsQ0FBQyxHQUFHLENBQVIsRUFBV29ELENBQUMsR0FBR2lDLEtBQUssQ0FBQ3BGLE1BQTFCLEVBQWtDRCxDQUFDLEdBQUdvRCxDQUF0QyxFQUF5Q3BELENBQUMsRUFBMUMsRUFBOEM7QUFDNUMsWUFBSXFGLEtBQUssQ0FBQ3JGLENBQUQsQ0FBTCxDQUFTYixTQUFiLEVBQXdCO0FBQ3RCLGNBQUk0SCxNQUFNLEdBQUcsQ0FBYjs7QUFFQSxlQUFLLElBQUloRCxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHMkMsR0FBRyxDQUFDekcsTUFBeEIsRUFBZ0M4RCxDQUFDLEVBQWpDLEVBQXFDO0FBQ25DLGdCQUFJc0IsS0FBSyxDQUFDckYsQ0FBRCxDQUFMLENBQVNiLFNBQVQsQ0FBbUJ1QixRQUFuQixDQUE0QmdHLEdBQUcsQ0FBQzNDLENBQUQsQ0FBL0IsQ0FBSixFQUF5Q2dELE1BQU0sSUFBSSxDQUFWO0FBQzFDOztBQUVELGNBQUlMLEdBQUcsQ0FBQ3pHLE1BQUosS0FBZThHLE1BQW5CLEVBQTJCRCxLQUFLLENBQUNuRCxJQUFOLENBQVcwQixLQUFLLENBQUNyRixDQUFELENBQWhCO0FBQzVCO0FBQ0Y7O0FBRUQsYUFBTzhHLEtBQVA7QUFDRDs7O1dBRUQsbUJBQWlCMUUsSUFBakIsRUFBdUI7QUFDckIsVUFBSTRFLEtBQUssR0FBRzVFLElBQUksQ0FBQ3ZCLFVBQUwsQ0FBZ0IsQ0FBaEIsQ0FBWjtBQUNBLFVBQUl1RCxJQUFJLEdBQUcsSUFBWDs7QUFFQSxhQUFPNEMsS0FBSyxJQUFJLENBQUM1QyxJQUFqQixFQUF1QjtBQUNyQixZQUFJNEMsS0FBSyxDQUFDN0gsU0FBTixJQUFtQjZILEtBQUssQ0FBQzdILFNBQU4sQ0FBZ0J1QixRQUFoQixDQUF5QixVQUF6QixDQUF2QixFQUE2RDBELElBQUksR0FBRzRDLEtBQVA7QUFDN0RBLGFBQUssR0FBR0EsS0FBSyxDQUFDNUIsV0FBZDtBQUNEOztBQUVELFVBQUksQ0FBQ2hCLElBQUwsRUFBVyxNQUFNLElBQUl5QyxLQUFKLENBQVUsZ0VBQVYsQ0FBTjtBQUVYLGFBQU96QyxJQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsbUJBQWlCc0MsR0FBakIsRUFBbUQ7QUFBQSxVQUE3QjdJLEVBQTZCLHVFQUF4QnlCLE1BQU0sQ0FBQ08sT0FBUCxDQUFlb0gsT0FBUztBQUNqRCxVQUFJQyxNQUFNLEdBQUcsS0FBYjtBQUVBUixTQUFHLENBQUNTLEtBQUosQ0FBVSxHQUFWLEVBQWVDLE9BQWYsQ0FBdUIsVUFBQVosQ0FBQyxFQUFJO0FBQzFCLFlBQUkzSSxFQUFFLENBQUNzQixTQUFILENBQWF1QixRQUFiLENBQXNCOEYsQ0FBdEIsQ0FBSixFQUE4QlUsTUFBTSxHQUFHLElBQVQ7QUFDL0IsT0FGRDtBQUlBLGFBQU9BLE1BQVA7QUFDRDs7O1dBOEVELGtCQUFnQnJKLEVBQWhCLEVBQW9Cb0QsTUFBcEIsRUFBNEI7QUFDMUIsVUFBSW1CLElBQUksR0FBRyxJQUFYO0FBQ0EsVUFBTWlGLFFBQVEsR0FBR3BHLE1BQU0sR0FBRyxhQUFILEdBQW1CLFdBQTFDOztBQUVBLFVBQUlwRCxFQUFFLENBQUNzQixTQUFILENBQWF1QixRQUFiLENBQXNCLFdBQXRCLENBQUosRUFBd0M7QUFDdEMsWUFBSTlDLElBQUksQ0FBQ3lGLFVBQUwsQ0FBZ0J4RixFQUFoQixFQUFvQixDQUFDd0osUUFBRCxDQUFwQixFQUFnQ3BILE1BQXBDLEVBQTRDbUMsSUFBSSxHQUFHdkUsRUFBUDtBQUM3QyxPQUZELE1BRU8sSUFBSUEsRUFBRSxDQUFDc0IsU0FBSCxDQUFhdUIsUUFBYixDQUFzQjJHLFFBQXRCLENBQUosRUFBcUM7QUFDMUNqRixZQUFJLEdBQUd2RSxFQUFFLENBQUN5RixVQUFILENBQWNuRSxTQUFkLENBQXdCdUIsUUFBeEIsQ0FBaUMsV0FBakMsSUFBZ0Q3QyxFQUFFLENBQUN5RixVQUFuRCxHQUFnRSxJQUF2RTtBQUNEOztBQUVELFVBQUksQ0FBQ2xCLElBQUwsRUFBVztBQUNULGNBQU0sSUFBSXlFLEtBQUosV0FBYTVGLE1BQU0sR0FBRyxXQUFILEdBQWlCLEVBQXBDLHFDQUFOO0FBQ0Q7O0FBRUQsYUFBT21CLElBQVA7QUFDRDs7O1dBRUQsa0JBQWdCdkUsRUFBaEIsRUFBb0JvRCxNQUFwQixFQUE0QjtBQUMxQixVQUFJNkYsS0FBSyxHQUFHLEVBQVo7QUFDQSxVQUFNTyxRQUFRLEdBQUdwRyxNQUFNLEdBQUcsYUFBSCxHQUFtQixXQUExQztBQUVBLFVBQUlwRCxFQUFFLENBQUNzQixTQUFILENBQWF1QixRQUFiLENBQXNCMkcsUUFBdEIsQ0FBSixFQUFxQ1AsS0FBSyxHQUFHLENBQUNqSixFQUFELENBQVIsQ0FBckMsS0FDSyxJQUFJQSxFQUFFLENBQUNzQixTQUFILENBQWF1QixRQUFiLENBQXNCLFdBQXRCLENBQUosRUFBd0NvRyxLQUFLLEdBQUdsSixJQUFJLENBQUN5RixVQUFMLENBQWdCeEYsRUFBaEIsRUFBb0IsQ0FBQ3dKLFFBQUQsQ0FBcEIsQ0FBUjtBQUU3QyxVQUFJLENBQUNQLEtBQUssQ0FBQzdHLE1BQVgsRUFBbUIsTUFBTSxJQUFJNEcsS0FBSixZQUFlUSxRQUFmLDBCQUFOO0FBRW5CLGFBQU9QLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDRDs7O1dBc0dELGdDQUE4QmpKLEVBQTlCLEVBQWtDeUosT0FBbEMsRUFBMkM7QUFDekMsVUFBTUMsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQWhILENBQUMsRUFBSTtBQUNkLFlBQUlBLENBQUMsQ0FBQ0MsTUFBRixLQUFhM0MsRUFBakIsRUFBcUI7O0FBQ3JCRCxZQUFJLENBQUN5Ryx3QkFBTCxDQUE4QnhHLEVBQTlCOztBQUNBeUosZUFBTyxDQUFDL0csQ0FBRCxDQUFQO0FBQ0QsT0FKRDs7QUFNQSxVQUFJaUgsUUFBUSxHQUFHbEksTUFBTSxDQUFDbUksZ0JBQVAsQ0FBd0I1SixFQUF4QixFQUE0QjZKLGtCQUEzQztBQUNBRixjQUFRLEdBQUdHLFVBQVUsQ0FBQ0gsUUFBRCxDQUFWLElBQXdCQSxRQUFRLENBQUMzRCxPQUFULENBQWlCLElBQWpCLE1BQTJCLENBQUMsQ0FBNUIsR0FBZ0MsQ0FBaEMsR0FBb0MsSUFBNUQsQ0FBWDtBQUVBaEcsUUFBRSxDQUFDK0osd0JBQUgsR0FBOEJMLEVBQTlCO0FBQ0E1Six1QkFBaUIsQ0FBQ3lKLE9BQWxCLENBQTBCLFVBQUFTLEVBQUU7QUFBQSxlQUFJaEssRUFBRSxDQUFDc0QsZ0JBQUgsQ0FBb0IwRyxFQUFwQixFQUF3QmhLLEVBQUUsQ0FBQytKLHdCQUEzQixFQUFxRCxLQUFyRCxDQUFKO0FBQUEsT0FBNUI7QUFFQS9KLFFBQUUsQ0FBQ2lLLDZCQUFILEdBQW1DL0MsVUFBVSxDQUFDLFlBQU07QUFDbER3QyxVQUFFLENBQUM7QUFBRS9HLGdCQUFNLEVBQUUzQztBQUFWLFNBQUQsQ0FBRjtBQUNELE9BRjRDLEVBRTFDMkosUUFBUSxHQUFHLEVBRitCLENBQTdDO0FBR0Q7OztXQWlCRCxvQkFBa0JPLEVBQWxCLEVBQStCO0FBQUEsd0NBQU5DLElBQU07QUFBTkEsWUFBTTtBQUFBOztBQUM3QixVQUFNZCxNQUFNLEdBQUdhLEVBQUUsTUFBRixTQUFNQyxJQUFOLENBQWY7O0FBQ0EsVUFBSWQsTUFBTSxZQUFZZSxPQUF0QixFQUErQjtBQUM3QixlQUFPZixNQUFQO0FBQ0Q7O0FBQ0QsVUFBSUEsTUFBTSxLQUFLLEtBQWYsRUFBc0I7QUFDcEIsZUFBT2UsT0FBTyxDQUFDQyxNQUFSLEVBQVA7QUFDRDs7QUFDRCxhQUFPRCxPQUFPLENBQUNFLE9BQVIsRUFBUDtBQUNEOzs7V0F3QkQsa0NBQWdDdEssRUFBaEMsRUFBb0M7QUFDbEMsVUFBTTBKLEVBQUUsR0FBRzFKLEVBQUUsQ0FBQytKLHdCQUFkOztBQUVBLFVBQUkvSixFQUFFLENBQUNpSyw2QkFBUCxFQUFzQztBQUNwQ00sb0JBQVksQ0FBQ3ZLLEVBQUUsQ0FBQ2lLLDZCQUFKLENBQVo7QUFDQWpLLFVBQUUsQ0FBQ2lLLDZCQUFILEdBQW1DLElBQW5DO0FBQ0Q7O0FBRUQsVUFBSSxDQUFDUCxFQUFMLEVBQVM7QUFFVDVKLHVCQUFpQixDQUFDeUosT0FBbEIsQ0FBMEIsVUFBQVMsRUFBRTtBQUFBLGVBQUloSyxFQUFFLENBQUMrRCxtQkFBSCxDQUF1QmlHLEVBQXZCLEVBQTJCTixFQUEzQixFQUErQixLQUEvQixDQUFKO0FBQUEsT0FBNUI7QUFDQTFKLFFBQUUsQ0FBQytKLHdCQUFILEdBQThCLElBQTlCO0FBQ0Q7OztXQVFELHFCQUFtQi9KLEVBQW5CLEVBQXVCd0ssUUFBdkIsRUFBaUM7QUFDL0J6SyxVQUFJLENBQUMwRSxRQUFMLENBQWN6RSxFQUFkLEVBQWtCLEtBQWxCLEVBQXlCc0IsU0FBekIsQ0FBbUNrSixRQUFRLEdBQUcsS0FBSCxHQUFXLFFBQXRELEVBQWdFLFVBQWhFO0FBQ0Q7OztXQUVELGtCQUFnQnhLLEVBQWhCLEVBQW9CO0FBQ2xCLGFBQU9ELElBQUksQ0FBQzBFLFFBQUwsQ0FBY3pFLEVBQWQsRUFBa0IsS0FBbEIsRUFBeUJzQixTQUF6QixDQUFtQ3VCLFFBQW5DLENBQTRDLFFBQTVDLENBQVA7QUFDRDs7O1dBRUQsa0JBQWdCN0MsRUFBaEIsRUFBb0I7QUFDbEIsYUFBT0QsSUFBSSxDQUFDMEUsUUFBTCxDQUFjekUsRUFBZCxFQUFrQixLQUFsQixFQUF5QnNCLFNBQXpCLENBQW1DdUIsUUFBbkMsQ0FBNEMsTUFBNUMsQ0FBUDtBQUNEOzs7V0FFRCxvQkFBa0I3QyxFQUFsQixFQUFzQjtBQUNwQixhQUFPRCxJQUFJLENBQUMwRSxRQUFMLENBQWN6RSxFQUFkLEVBQWtCLEtBQWxCLEVBQXlCc0IsU0FBekIsQ0FBbUN1QixRQUFuQyxDQUE0QyxVQUE1QyxDQUFQO0FBQ0QiLCJmaWxlIjoiLi9qcy9tZW51LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVFJBTlNJVElPTl9FVkVOVFMgPSBbJ3RyYW5zaXRpb25lbmQnLCAnd2Via2l0VHJhbnNpdGlvbkVuZCcsICdvVHJhbnNpdGlvbkVuZCddXG4vLyBjb25zdCBUUkFOU0lUSU9OX1BST1BFUlRJRVMgPSBbJ3RyYW5zaXRpb24nLCAnTW96VHJhbnNpdGlvbicsICd3ZWJraXRUcmFuc2l0aW9uJywgJ1dlYmtpdFRyYW5zaXRpb24nLCAnT1RyYW5zaXRpb24nXVxuXG5jbGFzcyBNZW51IHtcbiAgY29uc3RydWN0b3IoZWwsIGNvbmZpZyA9IHt9LCBfUFMgPSBudWxsKSB7XG4gICAgdGhpcy5fZWwgPSBlbFxuICAgIHRoaXMuX2FuaW1hdGUgPSBjb25maWcuYW5pbWF0ZSAhPT0gZmFsc2VcbiAgICB0aGlzLl9hY2NvcmRpb24gPSBjb25maWcuYWNjb3JkaW9uICE9PSBmYWxzZVxuICAgIHRoaXMuX2Nsb3NlQ2hpbGRyZW4gPSBCb29sZWFuKGNvbmZpZy5jbG9zZUNoaWxkcmVuKVxuXG4gICAgdGhpcy5fb25PcGVuID0gY29uZmlnLm9uT3BlbiB8fCAoKCkgPT4ge30pXG4gICAgdGhpcy5fb25PcGVuZWQgPSBjb25maWcub25PcGVuZWQgfHwgKCgpID0+IHt9KVxuICAgIHRoaXMuX29uQ2xvc2UgPSBjb25maWcub25DbG9zZSB8fCAoKCkgPT4ge30pXG4gICAgdGhpcy5fb25DbG9zZWQgPSBjb25maWcub25DbG9zZWQgfHwgKCgpID0+IHt9KVxuXG4gICAgdGhpcy5fcHNTY3JvbGwgPSBudWxsXG4gICAgdGhpcy5fdG9wUGFyZW50ID0gbnVsbFxuICAgIHRoaXMuX21lbnVCZ0NsYXNzID0gbnVsbFxuXG4gICAgZWwuY2xhc3NMaXN0LmFkZCgnbWVudScpXG4gICAgZWwuY2xhc3NMaXN0W3RoaXMuX2FuaW1hdGUgPyAncmVtb3ZlJyA6ICdhZGQnXSgnbWVudS1uby1hbmltYXRpb24nKSAvLyBjaGVja1xuXG4gICAgZWwuY2xhc3NMaXN0LmFkZCgnbWVudS12ZXJ0aWNhbCcpXG5cbiAgICBjb25zdCBQZXJmZWN0U2Nyb2xsYmFyTGliID0gX1BTIHx8IHdpbmRvdy5QZXJmZWN0U2Nyb2xsYmFyXG5cbiAgICBpZiAoUGVyZmVjdFNjcm9sbGJhckxpYikge1xuICAgICAgdGhpcy5fc2Nyb2xsYmFyID0gbmV3IFBlcmZlY3RTY3JvbGxiYXJMaWIoZWwucXVlcnlTZWxlY3RvcignLm1lbnUtaW5uZXInKSwge1xuICAgICAgICBzdXBwcmVzc1Njcm9sbFg6IHRydWUsXG4gICAgICAgIHdoZWVsUHJvcGFnYXRpb246ICFNZW51Ll9oYXNDbGFzcygnbGF5b3V0LW1lbnUtZml4ZWQgbGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzJylcbiAgICAgIH0pXG5cbiAgICAgIHdpbmRvdy5IZWxwZXJzLm1lbnVQc1Njcm9sbCA9IHRoaXMuX3Njcm9sbGJhclxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5xdWVyeVNlbGVjdG9yKCcubWVudS1pbm5lcicpLmNsYXNzTGlzdC5hZGQoJ292ZXJmbG93LWF1dG8nKVxuICAgIH1cblxuICAgIC8vIEFkZCBkYXRhIGF0dHJpYnV0ZSBmb3IgYmcgY29sb3IgY2xhc3Mgb2YgbWVudVxuICAgIGNvbnN0IG1lbnVDbGFzc0xpc3QgPSBlbC5jbGFzc0xpc3RcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVudUNsYXNzTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG1lbnVDbGFzc0xpc3RbaV0uc3RhcnRzV2l0aCgnYmctJykpIHtcbiAgICAgICAgdGhpcy5fbWVudUJnQ2xhc3MgPSBtZW51Q2xhc3NMaXN0W2ldXG4gICAgICB9XG4gICAgfVxuICAgIGVsLnNldEF0dHJpYnV0ZSgnZGF0YS1iZy1jbGFzcycsIHRoaXMuX21lbnVCZ0NsYXNzKVxuXG4gICAgdGhpcy5fYmluZEV2ZW50cygpXG5cbiAgICAvLyBMaW5rIG1lbnUgaW5zdGFuY2UgdG8gZWxlbWVudFxuICAgIGVsLm1lbnVJbnN0YW5jZSA9IHRoaXNcbiAgfVxuXG4gIF9iaW5kRXZlbnRzKCkge1xuICAgIC8vIENsaWNrIEV2ZW50XG4gICAgdGhpcy5fZXZudEVsQ2xpY2sgPSBlID0+IHtcbiAgICAgIC8vIEZpbmQgdG9wIHBhcmVudCBlbGVtZW50XG4gICAgICBpZiAoZS50YXJnZXQuY2xvc2VzdCgndWwnKSAmJiBlLnRhcmdldC5jbG9zZXN0KCd1bCcpLmNsYXNzTGlzdC5jb250YWlucygnbWVudS1pbm5lcicpKSB7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtID0gTWVudS5fZmluZFBhcmVudChlLnRhcmdldCwgJ21lbnUtaXRlbScsIGZhbHNlKVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItZGVzdHJ1Y3R1cmluZ1xuICAgICAgICBpZiAobWVudUl0ZW0pIHRoaXMuX3RvcFBhcmVudCA9IG1lbnVJdGVtLmNoaWxkTm9kZXNbMF1cbiAgICAgIH1cblxuICAgICAgY29uc3QgdG9nZ2xlTGluayA9IGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbWVudS10b2dnbGUnKVxuICAgICAgICA/IGUudGFyZ2V0XG4gICAgICAgIDogTWVudS5fZmluZFBhcmVudChlLnRhcmdldCwgJ21lbnUtdG9nZ2xlJywgZmFsc2UpXG5cbiAgICAgIGlmICh0b2dnbGVMaW5rKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgICAgIGlmICh0b2dnbGVMaW5rLmdldEF0dHJpYnV0ZSgnZGF0YS1ob3ZlcicpICE9PSAndHJ1ZScpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZSh0b2dnbGVMaW5rKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3aW5kb3cuSGVscGVycy5pc01vYmlsZURldmljZSkgdGhpcy5fZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9ldm50RWxDbGljaylcblxuICAgIHRoaXMuX2V2bnRXaW5kb3dSZXNpemUgPSAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgICBpZiAodGhpcy5fbGFzdFdpZHRoICE9PSB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgICAgICB0aGlzLl9sYXN0V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhvcml6b250YWxNZW51VGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtdGVtcGxhdGVePSdob3Jpem9udGFsLW1lbnUnXVwiKVxuICAgICAgaWYgKCF0aGlzLl9ob3Jpem9udGFsICYmICFob3Jpem9udGFsTWVudVRlbXBsYXRlKSB0aGlzLm1hbmFnZVNjcm9sbCgpXG4gICAgfVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9ldm50V2luZG93UmVzaXplKVxuICB9XG5cbiAgc3RhdGljIGNoaWxkT2YoLyogY2hpbGQgbm9kZSAqLyBjLCAvKiBwYXJlbnQgbm9kZSAqLyBwKSB7XG4gICAgLy8gcmV0dXJucyBib29sZWFuXG4gICAgaWYgKGMucGFyZW50Tm9kZSkge1xuICAgICAgd2hpbGUgKChjID0gYy5wYXJlbnROb2RlKSAmJiBjICE9PSBwKTtcbiAgICAgIHJldHVybiAhIWNcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBfdW5iaW5kRXZlbnRzKCkge1xuICAgIGlmICh0aGlzLl9ldm50RWxDbGljaykge1xuICAgICAgdGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9ldm50RWxDbGljaylcbiAgICAgIHRoaXMuX2V2bnRFbENsaWNrID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9ldm50RWxNb3VzZU92ZXIpIHtcbiAgICAgIHRoaXMuX2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuX2V2bnRFbE1vdXNlT3ZlcilcbiAgICAgIHRoaXMuX2V2bnRFbE1vdXNlT3ZlciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXZudEVsTW91c2VPdXQpIHtcbiAgICAgIHRoaXMuX2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5fZXZudEVsTW91c2VPdXQpXG4gICAgICB0aGlzLl9ldm50RWxNb3VzZU91dCA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXZudFdpbmRvd1Jlc2l6ZSkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX2V2bnRXaW5kb3dSZXNpemUpXG4gICAgICB0aGlzLl9ldm50V2luZG93UmVzaXplID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9ldm50Qm9keUNsaWNrKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fZXZudEJvZHlDbGljaylcbiAgICAgIHRoaXMuX2V2bnRCb2R5Q2xpY2sgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2V2bnRJbm5lck1vdXNlbW92ZSkge1xuICAgICAgdGhpcy5faW5uZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5fZXZudElubmVyTW91c2Vtb3ZlKVxuICAgICAgdGhpcy5fZXZudElubmVyTW91c2Vtb3ZlID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9ldm50SW5uZXJNb3VzZWxlYXZlKSB7XG4gICAgICB0aGlzLl9pbm5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fZXZudElubmVyTW91c2VsZWF2ZSlcbiAgICAgIHRoaXMuX2V2bnRJbm5lck1vdXNlbGVhdmUgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIF9pc1Jvb3QoaXRlbSkge1xuICAgIHJldHVybiAhTWVudS5fZmluZFBhcmVudChpdGVtLCAnbWVudS1pdGVtJywgZmFsc2UpXG4gIH1cblxuICBzdGF0aWMgX2ZpbmRQYXJlbnQoZWwsIGNscywgdGhyb3dFcnJvciA9IHRydWUpIHtcbiAgICBpZiAoZWwudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHJldHVybiBudWxsXG4gICAgZWwgPSBlbC5wYXJlbnROb2RlXG4gICAgd2hpbGUgKGVsLnRhZ05hbWUudG9VcHBlckNhc2UoKSAhPT0gJ0JPRFknICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoY2xzKSkge1xuICAgICAgZWwgPSBlbC5wYXJlbnROb2RlXG4gICAgfVxuXG4gICAgZWwgPSBlbC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgIT09ICdCT0RZJyA/IGVsIDogbnVsbFxuXG4gICAgaWYgKCFlbCAmJiB0aHJvd0Vycm9yKSB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIFxcYC4ke2Nsc31cXGAgcGFyZW50IGVsZW1lbnRgKVxuXG4gICAgcmV0dXJuIGVsXG4gIH1cblxuICBzdGF0aWMgX2ZpbmRDaGlsZChlbCwgY2xzKSB7XG4gICAgY29uc3QgaXRlbXMgPSBlbC5jaGlsZE5vZGVzXG4gICAgY29uc3QgZm91bmQgPSBbXVxuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBpdGVtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChpdGVtc1tpXS5jbGFzc0xpc3QpIHtcbiAgICAgICAgbGV0IHBhc3NlZCA9IDBcblxuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNscy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGlmIChpdGVtc1tpXS5jbGFzc0xpc3QuY29udGFpbnMoY2xzW2pdKSkgcGFzc2VkICs9IDFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjbHMubGVuZ3RoID09PSBwYXNzZWQpIGZvdW5kLnB1c2goaXRlbXNbaV0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kXG4gIH1cblxuICBzdGF0aWMgX2ZpbmRNZW51KGl0ZW0pIHtcbiAgICBsZXQgY3VyRWwgPSBpdGVtLmNoaWxkTm9kZXNbMF1cbiAgICBsZXQgbWVudSA9IG51bGxcblxuICAgIHdoaWxlIChjdXJFbCAmJiAhbWVudSkge1xuICAgICAgaWYgKGN1ckVsLmNsYXNzTGlzdCAmJiBjdXJFbC5jbGFzc0xpc3QuY29udGFpbnMoJ21lbnUtc3ViJykpIG1lbnUgPSBjdXJFbFxuICAgICAgY3VyRWwgPSBjdXJFbC5uZXh0U2libGluZ1xuICAgIH1cblxuICAgIGlmICghbWVudSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmluZCBgLm1lbnUtc3ViYCBlbGVtZW50IGZvciB0aGUgY3VycmVudCBgLm1lbnUtdG9nZ2xlYCcpXG5cbiAgICByZXR1cm4gbWVudVxuICB9XG5cbiAgLy8gSGFzIGNsYXNzXG4gIHN0YXRpYyBfaGFzQ2xhc3MoY2xzLCBlbCA9IHdpbmRvdy5IZWxwZXJzLlJPT1RfRUwpIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2VcblxuICAgIGNscy5zcGxpdCgnICcpLmZvckVhY2goYyA9PiB7XG4gICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGMpKSByZXN1bHQgPSB0cnVlXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIG9wZW4oZWwsIGNsb3NlQ2hpbGRyZW4gPSB0aGlzLl9jbG9zZUNoaWxkcmVuKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuX2ZpbmRVbm9wZW5lZFBhcmVudChNZW51Ll9nZXRJdGVtKGVsLCB0cnVlKSwgY2xvc2VDaGlsZHJlbilcblxuICAgIGlmICghaXRlbSkgcmV0dXJuXG5cbiAgICBjb25zdCB0b2dnbGVMaW5rID0gTWVudS5fZ2V0TGluayhpdGVtLCB0cnVlKVxuXG4gICAgTWVudS5fcHJvbWlzaWZ5KHRoaXMuX29uT3BlbiwgdGhpcywgaXRlbSwgdG9nZ2xlTGluaywgTWVudS5fZmluZE1lbnUoaXRlbSkpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5faG9yaXpvbnRhbCB8fCAhTWVudS5faXNSb290KGl0ZW0pKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX2FuaW1hdGUgJiYgIXRoaXMuX2hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5fdG9nZ2xlQW5pbWF0aW9uKHRydWUsIGl0ZW0sIGZhbHNlKSlcbiAgICAgICAgICAgIGlmICh0aGlzLl9hY2NvcmRpb24pIHRoaXMuX2Nsb3NlT3RoZXIoaXRlbSwgY2xvc2VDaGlsZHJlbilcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2FuaW1hdGUpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHRoaXMuX29uT3BlbmVkICYmIHRoaXMuX29uT3BlbmVkKHRoaXMsIGl0ZW0sIHRvZ2dsZUxpbmssIE1lbnUuX2ZpbmRNZW51KGl0ZW0pKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ29wZW4nKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xuICAgICAgICAgICAgdGhpcy5fb25PcGVuZWQgJiYgdGhpcy5fb25PcGVuZWQodGhpcywgaXRlbSwgdG9nZ2xlTGluaywgTWVudS5fZmluZE1lbnUoaXRlbSkpXG4gICAgICAgICAgICBpZiAodGhpcy5fYWNjb3JkaW9uKSB0aGlzLl9jbG9zZU90aGVyKGl0ZW0sIGNsb3NlQ2hpbGRyZW4pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICAgICAgICB0aGlzLl9vbk9wZW5lZCAmJiB0aGlzLl9vbk9wZW5lZCh0aGlzLCBpdGVtLCB0b2dnbGVMaW5rLCBNZW51Ll9maW5kTWVudShpdGVtKSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7fSlcbiAgfVxuXG4gIGNsb3NlKGVsLCBjbG9zZUNoaWxkcmVuID0gdGhpcy5fY2xvc2VDaGlsZHJlbiwgX2F1dG9DbG9zZSA9IGZhbHNlKSB7XG4gICAgY29uc3QgaXRlbSA9IE1lbnUuX2dldEl0ZW0oZWwsIHRydWUpXG4gICAgY29uc3QgdG9nZ2xlTGluayA9IE1lbnUuX2dldExpbmsoZWwsIHRydWUpXG5cbiAgICBpZiAoIWl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykgfHwgaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpIHJldHVyblxuXG4gICAgTWVudS5fcHJvbWlzaWZ5KHRoaXMuX29uQ2xvc2UsIHRoaXMsIGl0ZW0sIHRvZ2dsZUxpbmssIE1lbnUuX2ZpbmRNZW51KGl0ZW0pLCBfYXV0b0Nsb3NlKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX2hvcml6b250YWwgfHwgIU1lbnUuX2lzUm9vdChpdGVtKSkge1xuICAgICAgICAgIGlmICh0aGlzLl9hbmltYXRlICYmICF0aGlzLl9ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMuX3RvZ2dsZUFuaW1hdGlvbihmYWxzZSwgaXRlbSwgY2xvc2VDaGlsZHJlbikpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpXG5cbiAgICAgICAgICAgIGlmIChjbG9zZUNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG9wZW5lZCA9IGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgnLm1lbnUtaXRlbS5vcGVuJylcbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvcGVuZWQubGVuZ3RoOyBpIDwgbDsgaSsrKSBvcGVuZWRbaV0uY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHRoaXMuX29uQ2xvc2VkICYmIHRoaXMuX29uQ2xvc2VkKHRoaXMsIGl0ZW0sIHRvZ2dsZUxpbmssIE1lbnUuX2ZpbmRNZW51KGl0ZW0pKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgICAgICAgdGhpcy5fb25DbG9zZWQgJiYgdGhpcy5fb25DbG9zZWQodGhpcywgaXRlbSwgdG9nZ2xlTGluaywgTWVudS5fZmluZE1lbnUoaXRlbSkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge30pXG4gIH1cblxuICBfY2xvc2VPdGhlcihpdGVtLCBjbG9zZUNoaWxkcmVuKSB7XG4gICAgY29uc3Qgb3BlbmVkID0gTWVudS5fZmluZENoaWxkKGl0ZW0ucGFyZW50Tm9kZSwgWydtZW51LWl0ZW0nLCAnb3BlbiddKVxuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvcGVuZWQubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAob3BlbmVkW2ldICE9PSBpdGVtKSB0aGlzLmNsb3NlKG9wZW5lZFtpXSwgY2xvc2VDaGlsZHJlbilcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoZWwsIGNsb3NlQ2hpbGRyZW4gPSB0aGlzLl9jbG9zZUNoaWxkcmVuKSB7XG4gICAgY29uc3QgaXRlbSA9IE1lbnUuX2dldEl0ZW0oZWwsIHRydWUpXG4gICAgLy8gY29uc3QgdG9nZ2xlTGluayA9IE1lbnUuX2dldExpbmsoZWwsIHRydWUpXG5cbiAgICBpZiAoaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgdGhpcy5jbG9zZShpdGVtLCBjbG9zZUNoaWxkcmVuKVxuICAgIGVsc2UgdGhpcy5vcGVuKGl0ZW0sIGNsb3NlQ2hpbGRyZW4pXG4gIH1cblxuICBzdGF0aWMgX2dldEl0ZW0oZWwsIHRvZ2dsZSkge1xuICAgIGxldCBpdGVtID0gbnVsbFxuICAgIGNvbnN0IHNlbGVjdG9yID0gdG9nZ2xlID8gJ21lbnUtdG9nZ2xlJyA6ICdtZW51LWxpbmsnXG5cbiAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdtZW51LWl0ZW0nKSkge1xuICAgICAgaWYgKE1lbnUuX2ZpbmRDaGlsZChlbCwgW3NlbGVjdG9yXSkubGVuZ3RoKSBpdGVtID0gZWxcbiAgICB9IGVsc2UgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucyhzZWxlY3RvcikpIHtcbiAgICAgIGl0ZW0gPSBlbC5wYXJlbnROb2RlLmNsYXNzTGlzdC5jb250YWlucygnbWVudS1pdGVtJykgPyBlbC5wYXJlbnROb2RlIDogbnVsbFxuICAgIH1cblxuICAgIGlmICghaXRlbSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RvZ2dsZSA/ICdUb2dnYWJsZSAnIDogJyd9XFxgLm1lbnUtaXRlbVxcYCBlbGVtZW50IG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIHJldHVybiBpdGVtXG4gIH1cblxuICBzdGF0aWMgX2dldExpbmsoZWwsIHRvZ2dsZSkge1xuICAgIGxldCBmb3VuZCA9IFtdXG4gICAgY29uc3Qgc2VsZWN0b3IgPSB0b2dnbGUgPyAnbWVudS10b2dnbGUnIDogJ21lbnUtbGluaydcblxuICAgIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoc2VsZWN0b3IpKSBmb3VuZCA9IFtlbF1cbiAgICBlbHNlIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoJ21lbnUtaXRlbScpKSBmb3VuZCA9IE1lbnUuX2ZpbmRDaGlsZChlbCwgW3NlbGVjdG9yXSlcblxuICAgIGlmICghZm91bmQubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoYFxcYCR7c2VsZWN0b3J9XFxgIGVsZW1lbnQgbm90IGZvdW5kLmApXG5cbiAgICByZXR1cm4gZm91bmRbMF1cbiAgfVxuXG4gIF9maW5kVW5vcGVuZWRQYXJlbnQoaXRlbSwgY2xvc2VDaGlsZHJlbikge1xuICAgIGxldCB0cmVlID0gW11cbiAgICBsZXQgcGFyZW50SXRlbSA9IG51bGxcblxuICAgIHdoaWxlIChpdGVtKSB7XG4gICAgICBpZiAoaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgcGFyZW50SXRlbSA9IG51bGxcbiAgICAgICAgdHJlZSA9IFtdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykpIHBhcmVudEl0ZW0gPSBpdGVtXG4gICAgICAgIHRyZWUucHVzaChpdGVtKVxuICAgICAgfVxuXG4gICAgICBpdGVtID0gTWVudS5fZmluZFBhcmVudChpdGVtLCAnbWVudS1pdGVtJywgZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKCFwYXJlbnRJdGVtKSByZXR1cm4gbnVsbFxuICAgIGlmICh0cmVlLmxlbmd0aCA9PT0gMSkgcmV0dXJuIHBhcmVudEl0ZW1cblxuICAgIHRyZWUgPSB0cmVlLnNsaWNlKDAsIHRyZWUuaW5kZXhPZihwYXJlbnRJdGVtKSlcblxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdHJlZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRyZWVbaV0uY2xhc3NMaXN0LmFkZCgnb3BlbicpXG5cbiAgICAgIGlmICh0aGlzLl9hY2NvcmRpb24pIHtcbiAgICAgICAgY29uc3Qgb3BlbmVkSXRlbXMgPSBNZW51Ll9maW5kQ2hpbGQodHJlZVtpXS5wYXJlbnROb2RlLCBbJ21lbnUtaXRlbScsICdvcGVuJ10pXG5cbiAgICAgICAgZm9yIChsZXQgaiA9IDAsIGsgPSBvcGVuZWRJdGVtcy5sZW5ndGg7IGogPCBrOyBqKyspIHtcbiAgICAgICAgICBpZiAob3BlbmVkSXRlbXNbal0gIT09IHRyZWVbaV0pIHtcbiAgICAgICAgICAgIG9wZW5lZEl0ZW1zW2pdLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKVxuXG4gICAgICAgICAgICBpZiAoY2xvc2VDaGlsZHJlbikge1xuICAgICAgICAgICAgICBjb25zdCBvcGVuZWRDaGlsZHJlbiA9IG9wZW5lZEl0ZW1zW2pdLnF1ZXJ5U2VsZWN0b3JBbGwoJy5tZW51LWl0ZW0ub3BlbicpXG4gICAgICAgICAgICAgIGZvciAobGV0IHggPSAwLCB6ID0gb3BlbmVkQ2hpbGRyZW4ubGVuZ3RoOyB4IDwgejsgeCsrKSB7XG4gICAgICAgICAgICAgICAgb3BlbmVkQ2hpbGRyZW5beF0uY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50SXRlbVxuICB9XG5cbiAgX3RvZ2dsZUFuaW1hdGlvbihvcGVuLCBpdGVtLCBjbG9zZUNoaWxkcmVuKSB7XG4gICAgY29uc3QgdG9nZ2xlTGluayA9IE1lbnUuX2dldExpbmsoaXRlbSwgdHJ1ZSlcbiAgICBjb25zdCBtZW51ID0gTWVudS5fZmluZE1lbnUoaXRlbSlcblxuICAgIE1lbnUuX3VuYmluZEFuaW1hdGlvbkVuZEV2ZW50KGl0ZW0pXG5cbiAgICBjb25zdCBsaW5rSGVpZ2h0ID0gTWF0aC5yb3VuZCh0b2dnbGVMaW5rLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodClcblxuICAgIGl0ZW0uc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJ1xuXG4gICAgY29uc3QgY2xlYXJJdGVtU3R5bGUgPSAoKSA9PiB7XG4gICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ21lbnUtaXRlbS1hbmltYXRpbmcnKVxuICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdtZW51LWl0ZW0tY2xvc2luZycpXG4gICAgICBpdGVtLnN0eWxlLm92ZXJmbG93ID0gbnVsbFxuICAgICAgaXRlbS5zdHlsZS5oZWlnaHQgPSBudWxsXG5cbiAgICAgIHRoaXMudXBkYXRlKClcbiAgICB9XG5cbiAgICBpZiAob3Blbikge1xuICAgICAgaXRlbS5zdHlsZS5oZWlnaHQgPSBgJHtsaW5rSGVpZ2h0fXB4YFxuICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdtZW51LWl0ZW0tYW5pbWF0aW5nJylcbiAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnb3BlbicpXG5cbiAgICAgIE1lbnUuX2JpbmRBbmltYXRpb25FbmRFdmVudChpdGVtLCAoKSA9PiB7XG4gICAgICAgIGNsZWFySXRlbVN0eWxlKClcbiAgICAgICAgdGhpcy5fb25PcGVuZWQodGhpcywgaXRlbSwgdG9nZ2xlTGluaywgbWVudSlcbiAgICAgIH0pXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpdGVtLnN0eWxlLmhlaWdodCA9IGAke2xpbmtIZWlnaHQgKyBNYXRoLnJvdW5kKG1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KX1weGBcbiAgICAgIH0sIDUwKVxuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtLnN0eWxlLmhlaWdodCA9IGAke2xpbmtIZWlnaHQgKyBNYXRoLnJvdW5kKG1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KX1weGBcbiAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnbWVudS1pdGVtLWFuaW1hdGluZycpXG4gICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ21lbnUtaXRlbS1jbG9zaW5nJylcblxuICAgICAgTWVudS5fYmluZEFuaW1hdGlvbkVuZEV2ZW50KGl0ZW0sICgpID0+IHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJylcbiAgICAgICAgY2xlYXJJdGVtU3R5bGUoKVxuXG4gICAgICAgIGlmIChjbG9zZUNoaWxkcmVuKSB7XG4gICAgICAgICAgY29uc3Qgb3BlbmVkID0gaXRlbS5xdWVyeVNlbGVjdG9yQWxsKCcubWVudS1pdGVtLm9wZW4nKVxuICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gb3BlbmVkLmxlbmd0aDsgaSA8IGw7IGkrKykgb3BlbmVkW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb25DbG9zZWQodGhpcywgaXRlbSwgdG9nZ2xlTGluaywgbWVudSlcbiAgICAgIH0pXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpdGVtLnN0eWxlLmhlaWdodCA9IGAke2xpbmtIZWlnaHR9cHhgXG4gICAgICB9LCA1MClcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgX2JpbmRBbmltYXRpb25FbmRFdmVudChlbCwgaGFuZGxlcikge1xuICAgIGNvbnN0IGNiID0gZSA9PiB7XG4gICAgICBpZiAoZS50YXJnZXQgIT09IGVsKSByZXR1cm5cbiAgICAgIE1lbnUuX3VuYmluZEFuaW1hdGlvbkVuZEV2ZW50KGVsKVxuICAgICAgaGFuZGxlcihlKVxuICAgIH1cblxuICAgIGxldCBkdXJhdGlvbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS50cmFuc2l0aW9uRHVyYXRpb25cbiAgICBkdXJhdGlvbiA9IHBhcnNlRmxvYXQoZHVyYXRpb24pICogKGR1cmF0aW9uLmluZGV4T2YoJ21zJykgIT09IC0xID8gMSA6IDEwMDApXG5cbiAgICBlbC5fbWVudUFuaW1hdGlvbkVuZEV2ZW50Q2IgPSBjYlxuICAgIFRSQU5TSVRJT05fRVZFTlRTLmZvckVhY2goZXYgPT4gZWwuYWRkRXZlbnRMaXN0ZW5lcihldiwgZWwuX21lbnVBbmltYXRpb25FbmRFdmVudENiLCBmYWxzZSkpXG5cbiAgICBlbC5fbWVudUFuaW1hdGlvbkVuZEV2ZW50VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2IoeyB0YXJnZXQ6IGVsIH0pXG4gICAgfSwgZHVyYXRpb24gKyA1MClcbiAgfVxuXG4gIF9nZXRJdGVtT2Zmc2V0KGl0ZW0pIHtcbiAgICBsZXQgY3VySXRlbSA9IHRoaXMuX2lubmVyLmNoaWxkTm9kZXNbMF1cbiAgICBsZXQgbGVmdCA9IDBcblxuICAgIHdoaWxlIChjdXJJdGVtICE9PSBpdGVtKSB7XG4gICAgICBpZiAoY3VySXRlbS50YWdOYW1lKSB7XG4gICAgICAgIGxlZnQgKz0gTWF0aC5yb3VuZChjdXJJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKVxuICAgICAgfVxuXG4gICAgICBjdXJJdGVtID0gY3VySXRlbS5uZXh0U2libGluZ1xuICAgIH1cblxuICAgIHJldHVybiBsZWZ0XG4gIH1cblxuICBzdGF0aWMgX3Byb21pc2lmeShmbiwgLi4uYXJncykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGZuKC4uLmFyZ3MpXG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpXG4gICAgfVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICB9XG5cbiAgZ2V0IF9pbm5lcldpZHRoKCkge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5faW5uZXIuY2hpbGROb2Rlc1xuICAgIGxldCB3aWR0aCA9IDBcblxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoaXRlbXNbaV0udGFnTmFtZSkge1xuICAgICAgICB3aWR0aCArPSBNYXRoLnJvdW5kKGl0ZW1zW2ldLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB3aWR0aFxuICB9XG5cbiAgZ2V0IF9pbm5lclBvc2l0aW9uKCkge1xuICAgIHJldHVybiBwYXJzZUludCh0aGlzLl9pbm5lci5zdHlsZVt0aGlzLl9ydGwgPyAnbWFyZ2luUmlnaHQnIDogJ21hcmdpbkxlZnQnXSB8fCAnMHB4JywgMTApXG4gIH1cblxuICBzZXQgX2lubmVyUG9zaXRpb24odmFsdWUpIHtcbiAgICB0aGlzLl9pbm5lci5zdHlsZVt0aGlzLl9ydGwgPyAnbWFyZ2luUmlnaHQnIDogJ21hcmdpbkxlZnQnXSA9IGAke3ZhbHVlfXB4YFxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgc3RhdGljIF91bmJpbmRBbmltYXRpb25FbmRFdmVudChlbCkge1xuICAgIGNvbnN0IGNiID0gZWwuX21lbnVBbmltYXRpb25FbmRFdmVudENiXG5cbiAgICBpZiAoZWwuX21lbnVBbmltYXRpb25FbmRFdmVudFRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dChlbC5fbWVudUFuaW1hdGlvbkVuZEV2ZW50VGltZW91dClcbiAgICAgIGVsLl9tZW51QW5pbWF0aW9uRW5kRXZlbnRUaW1lb3V0ID0gbnVsbFxuICAgIH1cblxuICAgIGlmICghY2IpIHJldHVyblxuXG4gICAgVFJBTlNJVElPTl9FVkVOVFMuZm9yRWFjaChldiA9PiBlbC5yZW1vdmVFdmVudExpc3RlbmVyKGV2LCBjYiwgZmFsc2UpKVxuICAgIGVsLl9tZW51QW5pbWF0aW9uRW5kRXZlbnRDYiA9IG51bGxcbiAgfVxuXG4gIGNsb3NlQWxsKGNsb3NlQ2hpbGRyZW4gPSB0aGlzLl9jbG9zZUNoaWxkcmVuKSB7XG4gICAgY29uc3Qgb3BlbmVkID0gdGhpcy5fZWwucXVlcnlTZWxlY3RvckFsbCgnLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLm9wZW4nKVxuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvcGVuZWQubGVuZ3RoOyBpIDwgbDsgaSsrKSB0aGlzLmNsb3NlKG9wZW5lZFtpXSwgY2xvc2VDaGlsZHJlbilcbiAgfVxuXG4gIHN0YXRpYyBzZXREaXNhYmxlZChlbCwgZGlzYWJsZWQpIHtcbiAgICBNZW51Ll9nZXRJdGVtKGVsLCBmYWxzZSkuY2xhc3NMaXN0W2Rpc2FibGVkID8gJ2FkZCcgOiAncmVtb3ZlJ10oJ2Rpc2FibGVkJylcbiAgfVxuXG4gIHN0YXRpYyBpc0FjdGl2ZShlbCkge1xuICAgIHJldHVybiBNZW51Ll9nZXRJdGVtKGVsLCBmYWxzZSkuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKVxuICB9XG5cbiAgc3RhdGljIGlzT3BlbmVkKGVsKSB7XG4gICAgcmV0dXJuIE1lbnUuX2dldEl0ZW0oZWwsIGZhbHNlKS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKVxuICB9XG5cbiAgc3RhdGljIGlzRGlzYWJsZWQoZWwpIHtcbiAgICByZXR1cm4gTWVudS5fZ2V0SXRlbShlbCwgZmFsc2UpLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKVxuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLl9zY3JvbGxiYXIpIHtcbiAgICAgIHRoaXMuX3Njcm9sbGJhci51cGRhdGUoKVxuICAgIH1cbiAgfVxuXG4gIG1hbmFnZVNjcm9sbCgpIHtcbiAgICBjb25zdCB7IFBlcmZlY3RTY3JvbGxiYXIgfSA9IHdpbmRvd1xuICAgIGNvbnN0IG1lbnVJbm5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZW51LWlubmVyJylcblxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IHdpbmRvdy5IZWxwZXJzLkxBWU9VVF9CUkVBS1BPSU5UKSB7XG4gICAgICBpZiAodGhpcy5fc2Nyb2xsYmFyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIHdpbmRvdy5IZWxwZXJzLm1lbnVQc1Njcm9sbC5kZXN0cm95KClcbiAgICAgICAgdGhpcy5fc2Nyb2xsYmFyLmRlc3Ryb3koKVxuICAgICAgICB0aGlzLl9zY3JvbGxiYXIgPSBudWxsXG4gICAgICB9XG4gICAgICBtZW51SW5uZXIuY2xhc3NMaXN0LmFkZCgnb3ZlcmZsb3ctYXV0bycpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLl9zY3JvbGxiYXIgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbWVudVNjcm9sbCA9IG5ldyBQZXJmZWN0U2Nyb2xsYmFyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZW51LWlubmVyJyksIHtcbiAgICAgICAgICBzdXBwcmVzc1Njcm9sbFg6IHRydWUsXG4gICAgICAgICAgd2hlZWxQcm9wYWdhdGlvbjogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5fc2Nyb2xsYmFyID0gbWVudVNjcm9sbFxuICAgICAgfVxuICAgICAgbWVudUlubmVyLmNsYXNzTGlzdC5yZW1vdmUoJ292ZXJmbG93LWF1dG8nKVxuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKCF0aGlzLl9lbCkgcmV0dXJuXG5cbiAgICB0aGlzLl91bmJpbmRFdmVudHMoKVxuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLl9lbC5xdWVyeVNlbGVjdG9yQWxsKCcubWVudS1pdGVtJylcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgTWVudS5fdW5iaW5kQW5pbWF0aW9uRW5kRXZlbnQoaXRlbXNbaV0pXG4gICAgICBpdGVtc1tpXS5jbGFzc0xpc3QucmVtb3ZlKCdtZW51LWl0ZW0tYW5pbWF0aW5nJylcbiAgICAgIGl0ZW1zW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKVxuICAgICAgaXRlbXNbaV0uc3R5bGUub3ZlcmZsb3cgPSBudWxsXG4gICAgICBpdGVtc1tpXS5zdHlsZS5oZWlnaHQgPSBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgbWVudXMgPSB0aGlzLl9lbC5xdWVyeVNlbGVjdG9yQWxsKCcubWVudS1tZW51JylcbiAgICBmb3IgKGxldCBpMiA9IDAsIGwyID0gbWVudXMubGVuZ3RoOyBpMiA8IGwyOyBpMisrKSB7XG4gICAgICBtZW51c1tpMl0uc3R5bGUubWFyZ2luUmlnaHQgPSBudWxsXG4gICAgICBtZW51c1tpMl0uc3R5bGUubWFyZ2luTGVmdCA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCdtZW51LW5vLWFuaW1hdGlvbicpXG5cbiAgICBpZiAodGhpcy5fd3JhcHBlcikge1xuICAgICAgdGhpcy5fcHJldkJ0bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ByZXZCdG4pXG4gICAgICB0aGlzLl9uZXh0QnRuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fbmV4dEJ0bilcbiAgICAgIHRoaXMuX3dyYXBwZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5faW5uZXIsIHRoaXMuX3dyYXBwZXIpXG4gICAgICB0aGlzLl93cmFwcGVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fd3JhcHBlcilcbiAgICAgIHRoaXMuX2lubmVyLnN0eWxlLm1hcmdpbkxlZnQgPSBudWxsXG4gICAgICB0aGlzLl9pbm5lci5zdHlsZS5tYXJnaW5SaWdodCA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLl9lbC5tZW51SW5zdGFuY2UgPSBudWxsXG4gICAgZGVsZXRlIHRoaXMuX2VsLm1lbnVJbnN0YW5jZVxuXG4gICAgdGhpcy5fZWwgPSBudWxsXG4gICAgdGhpcy5fYW5pbWF0ZSA9IG51bGxcbiAgICB0aGlzLl9hY2NvcmRpb24gPSBudWxsXG4gICAgdGhpcy5fY2xvc2VDaGlsZHJlbiA9IG51bGxcbiAgICB0aGlzLl9vbk9wZW4gPSBudWxsXG4gICAgdGhpcy5fb25PcGVuZWQgPSBudWxsXG4gICAgdGhpcy5fb25DbG9zZSA9IG51bGxcbiAgICB0aGlzLl9vbkNsb3NlZCA9IG51bGxcbiAgICBpZiAodGhpcy5fc2Nyb2xsYmFyKSB7XG4gICAgICB0aGlzLl9zY3JvbGxiYXIuZGVzdHJveSgpXG4gICAgICB0aGlzLl9zY3JvbGxiYXIgPSBudWxsXG4gICAgfVxuICAgIHRoaXMuX2lubmVyID0gbnVsbFxuICAgIHRoaXMuX3ByZXZCdG4gPSBudWxsXG4gICAgdGhpcy5fd3JhcHBlciA9IG51bGxcbiAgICB0aGlzLl9uZXh0QnRuID0gbnVsbFxuICB9XG59XG5cbmV4cG9ydCB7IE1lbnUgfVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./js/menu.js\n");
+
+/***/ })
+
+/******/ })));
\ No newline at end of file
diff --git a/admin/assets/vendor/libs/apex-charts/apex-charts.css b/admin/assets/vendor/libs/apex-charts/apex-charts.css
new file mode 100644
index 0000000..1dd32ae
--- /dev/null
+++ b/admin/assets/vendor/libs/apex-charts/apex-charts.css
@@ -0,0 +1,746 @@
+/**
+* Apex Charts
+*/
+.apexcharts-canvas {
+ position: relative;
+ user-select: none;
+ /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */
+}
+
+/* scrollbar is not visible by default for legend, hence forcing the visibility */
+.apexcharts-canvas ::-webkit-scrollbar {
+ -webkit-appearance: none;
+ width: 6px;
+}
+
+.apexcharts-canvas ::-webkit-scrollbar-thumb {
+ border-radius: 4px;
+ background-color: rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
+ -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
+}
+
+.apexcharts-inner {
+ position: relative;
+}
+
+.apexcharts-text tspan {
+ font-family: inherit;
+}
+
+.legend-mouseover-inactive {
+ transition: 0.15s ease all;
+ opacity: 0.2;
+}
+
+.apexcharts-series-collapsed {
+ opacity: 0;
+}
+
+.apexcharts-tooltip {
+ border-radius: 5px;
+ box-shadow: 2px 2px 6px -4px #999;
+ cursor: default;
+ font-size: 14px;
+ left: 62px;
+ opacity: 0;
+ pointer-events: none;
+ position: absolute;
+ top: 20px;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ white-space: nowrap;
+ z-index: 12;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-tooltip.apexcharts-active {
+ opacity: 1;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-tooltip.apexcharts-theme-light {
+ border: 1px solid #e3e3e3;
+ background: rgba(255, 255, 255, 0.96);
+}
+
+.apexcharts-tooltip.apexcharts-theme-dark {
+ color: #fff;
+ background: rgba(30, 30, 30, 0.8);
+}
+
+.apexcharts-tooltip * {
+ font-family: inherit;
+}
+
+.apexcharts-tooltip-title {
+ padding: 6px;
+ font-size: 15px;
+ margin-bottom: 4px;
+}
+
+.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {
+ background: #ECEFF1;
+ border-bottom: 1px solid #ddd;
+}
+
+.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
+ background: rgba(0, 0, 0, 0.7);
+ border-bottom: 1px solid #333;
+}
+
+.apexcharts-tooltip-text-y-value,
+.apexcharts-tooltip-text-goals-value,
+.apexcharts-tooltip-text-z-value {
+ display: inline-block;
+ font-weight: 600;
+ margin-left: 5px;
+}
+
+.apexcharts-tooltip-text-y-label:empty,
+.apexcharts-tooltip-text-y-value:empty,
+.apexcharts-tooltip-text-goals-label:empty,
+.apexcharts-tooltip-text-goals-value:empty,
+.apexcharts-tooltip-text-z-value:empty {
+ display: none;
+}
+
+.apexcharts-tooltip-text-y-value,
+.apexcharts-tooltip-text-goals-value,
+.apexcharts-tooltip-text-z-value {
+ font-weight: 600;
+}
+
+.apexcharts-tooltip-text-goals-label,
+.apexcharts-tooltip-text-goals-value {
+ padding: 6px 0 5px;
+}
+
+.apexcharts-tooltip-goals-group,
+.apexcharts-tooltip-text-goals-label,
+.apexcharts-tooltip-text-goals-value {
+ display: flex;
+}
+
+.apexcharts-tooltip-text-goals-label:not(:empty),
+.apexcharts-tooltip-text-goals-value:not(:empty) {
+ margin-top: -6px;
+}
+
+.apexcharts-tooltip-marker {
+ width: 12px;
+ height: 12px;
+ position: relative;
+ top: 0px;
+ margin-right: 10px;
+ border-radius: 50%;
+}
+
+.apexcharts-tooltip-series-group {
+ padding: 0 10px;
+ display: none;
+ text-align: left;
+ justify-content: left;
+ align-items: center;
+}
+
+.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {
+ opacity: 1;
+}
+
+.apexcharts-tooltip-series-group.apexcharts-active,
+.apexcharts-tooltip-series-group:last-child {
+ padding-bottom: 4px;
+}
+
+.apexcharts-tooltip-series-group-hidden {
+ opacity: 0;
+ height: 0;
+ line-height: 0;
+ padding: 0 !important;
+}
+
+.apexcharts-tooltip-y-group {
+ padding: 6px 0 5px;
+}
+
+.apexcharts-tooltip-box, .apexcharts-custom-tooltip {
+ padding: 4px 8px;
+}
+
+.apexcharts-tooltip-boxPlot {
+ display: flex;
+ flex-direction: column-reverse;
+}
+
+.apexcharts-tooltip-box > div {
+ margin: 4px 0;
+}
+
+.apexcharts-tooltip-box span.value {
+ font-weight: bold;
+}
+
+.apexcharts-tooltip-rangebar {
+ padding: 5px 8px;
+}
+
+.apexcharts-tooltip-rangebar .category {
+ font-weight: 600;
+ color: #777;
+}
+
+.apexcharts-tooltip-rangebar .series-name {
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+}
+
+.apexcharts-xaxistooltip {
+ opacity: 0;
+ padding: 9px 10px;
+ pointer-events: none;
+ color: #373d3f;
+ font-size: 13px;
+ text-align: center;
+ border-radius: 2px;
+ position: absolute;
+ z-index: 10;
+ background: #ECEFF1;
+ border: 1px solid #90A4AE;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-xaxistooltip.apexcharts-theme-dark {
+ background: rgba(0, 0, 0, 0.7);
+ border: 1px solid rgba(0, 0, 0, 0.5);
+ color: #fff;
+}
+
+.apexcharts-xaxistooltip:after,
+.apexcharts-xaxistooltip:before {
+ left: 50%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+}
+
+.apexcharts-xaxistooltip:after {
+ border-color: rgba(236, 239, 241, 0);
+ border-width: 6px;
+ margin-left: -6px;
+}
+
+.apexcharts-xaxistooltip:before {
+ border-color: rgba(144, 164, 174, 0);
+ border-width: 7px;
+ margin-left: -7px;
+}
+
+.apexcharts-xaxistooltip-bottom:after,
+.apexcharts-xaxistooltip-bottom:before {
+ bottom: 100%;
+}
+
+.apexcharts-xaxistooltip-top:after,
+.apexcharts-xaxistooltip-top:before {
+ top: 100%;
+}
+
+.apexcharts-xaxistooltip-bottom:after {
+ border-bottom-color: #ECEFF1;
+}
+
+.apexcharts-xaxistooltip-bottom:before {
+ border-bottom-color: #90A4AE;
+}
+
+.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {
+ border-bottom-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {
+ border-bottom-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-xaxistooltip-top:after {
+ border-top-color: #ECEFF1;
+}
+
+.apexcharts-xaxistooltip-top:before {
+ border-top-color: #90A4AE;
+}
+
+.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {
+ border-top-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {
+ border-top-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-xaxistooltip.apexcharts-active {
+ opacity: 1;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-yaxistooltip {
+ opacity: 0;
+ padding: 4px 10px;
+ pointer-events: none;
+ color: #373d3f;
+ font-size: 13px;
+ text-align: center;
+ border-radius: 2px;
+ position: absolute;
+ z-index: 10;
+ background: #ECEFF1;
+ border: 1px solid #90A4AE;
+}
+
+.apexcharts-yaxistooltip.apexcharts-theme-dark {
+ background: rgba(0, 0, 0, 0.7);
+ border: 1px solid rgba(0, 0, 0, 0.5);
+ color: #fff;
+}
+
+.apexcharts-yaxistooltip:after,
+.apexcharts-yaxistooltip:before {
+ top: 50%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+}
+
+.apexcharts-yaxistooltip:after {
+ border-color: rgba(236, 239, 241, 0);
+ border-width: 6px;
+ margin-top: -6px;
+}
+
+.apexcharts-yaxistooltip:before {
+ border-color: rgba(144, 164, 174, 0);
+ border-width: 7px;
+ margin-top: -7px;
+}
+
+.apexcharts-yaxistooltip-left:after,
+.apexcharts-yaxistooltip-left:before {
+ left: 100%;
+}
+
+.apexcharts-yaxistooltip-right:after,
+.apexcharts-yaxistooltip-right:before {
+ right: 100%;
+}
+
+.apexcharts-yaxistooltip-left:after {
+ border-left-color: #ECEFF1;
+}
+
+.apexcharts-yaxistooltip-left:before {
+ border-left-color: #90A4AE;
+}
+
+.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {
+ border-left-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {
+ border-left-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-yaxistooltip-right:after {
+ border-right-color: #ECEFF1;
+}
+
+.apexcharts-yaxistooltip-right:before {
+ border-right-color: #90A4AE;
+}
+
+.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {
+ border-right-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {
+ border-right-color: rgba(0, 0, 0, 0.5);
+}
+
+.apexcharts-yaxistooltip.apexcharts-active {
+ opacity: 1;
+}
+
+.apexcharts-yaxistooltip-hidden {
+ display: none;
+}
+
+.apexcharts-xcrosshairs,
+.apexcharts-ycrosshairs {
+ pointer-events: none;
+ opacity: 0;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-xcrosshairs.apexcharts-active,
+.apexcharts-ycrosshairs.apexcharts-active {
+ opacity: 1;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-ycrosshairs-hidden {
+ opacity: 0;
+}
+
+.apexcharts-selection-rect {
+ cursor: move;
+}
+
+.svg_select_boundingRect, .svg_select_points_rot {
+ pointer-events: none;
+ opacity: 0;
+ visibility: hidden;
+}
+
+.apexcharts-selection-rect + g .svg_select_boundingRect,
+.apexcharts-selection-rect + g .svg_select_points_rot {
+ opacity: 0;
+ visibility: hidden;
+}
+
+.apexcharts-selection-rect + g .svg_select_points_l,
+.apexcharts-selection-rect + g .svg_select_points_r {
+ cursor: ew-resize;
+ opacity: 1;
+ visibility: visible;
+}
+
+.svg_select_points {
+ fill: #efefef;
+ stroke: #333;
+ rx: 2;
+}
+
+.apexcharts-svg.apexcharts-zoomable.hovering-zoom {
+ cursor: crosshair;
+}
+
+.apexcharts-svg.apexcharts-zoomable.hovering-pan {
+ cursor: move;
+}
+
+.apexcharts-zoom-icon,
+.apexcharts-zoomin-icon,
+.apexcharts-zoomout-icon,
+.apexcharts-reset-icon,
+.apexcharts-pan-icon,
+.apexcharts-selection-icon,
+.apexcharts-menu-icon,
+.apexcharts-toolbar-custom-icon {
+ cursor: pointer;
+ width: 20px;
+ height: 20px;
+ line-height: 24px;
+ color: #6E8192;
+ text-align: center;
+}
+
+.apexcharts-zoom-icon svg,
+.apexcharts-zoomin-icon svg,
+.apexcharts-zoomout-icon svg,
+.apexcharts-reset-icon svg,
+.apexcharts-menu-icon svg {
+ fill: #6E8192;
+}
+
+.apexcharts-selection-icon svg {
+ fill: #444;
+ transform: scale(0.76);
+}
+
+.apexcharts-theme-dark .apexcharts-zoom-icon svg,
+.apexcharts-theme-dark .apexcharts-zoomin-icon svg,
+.apexcharts-theme-dark .apexcharts-zoomout-icon svg,
+.apexcharts-theme-dark .apexcharts-reset-icon svg,
+.apexcharts-theme-dark .apexcharts-pan-icon svg,
+.apexcharts-theme-dark .apexcharts-selection-icon svg,
+.apexcharts-theme-dark .apexcharts-menu-icon svg,
+.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {
+ fill: #f3f4f5;
+}
+
+.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,
+.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,
+.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {
+ fill: #008FFB;
+}
+
+.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,
+.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,
+.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,
+.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,
+.apexcharts-theme-light .apexcharts-reset-icon:hover svg,
+.apexcharts-theme-light .apexcharts-menu-icon:hover svg {
+ fill: #333;
+}
+
+.apexcharts-selection-icon,
+.apexcharts-menu-icon {
+ position: relative;
+}
+
+.apexcharts-reset-icon {
+ margin-left: 5px;
+}
+
+.apexcharts-zoom-icon,
+.apexcharts-reset-icon,
+.apexcharts-menu-icon {
+ transform: scale(0.85);
+}
+
+.apexcharts-zoomin-icon,
+.apexcharts-zoomout-icon {
+ transform: scale(0.7);
+}
+
+.apexcharts-zoomout-icon {
+ margin-right: 3px;
+}
+
+.apexcharts-pan-icon {
+ transform: scale(0.62);
+ position: relative;
+ left: 1px;
+ top: 0px;
+}
+
+.apexcharts-pan-icon svg {
+ fill: #fff;
+ stroke: #6E8192;
+ stroke-width: 2;
+}
+
+.apexcharts-pan-icon.apexcharts-selected svg {
+ stroke: #008FFB;
+}
+
+.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {
+ stroke: #333;
+}
+
+.apexcharts-toolbar {
+ position: absolute;
+ z-index: 11;
+ max-width: 176px;
+ text-align: right;
+ border-radius: 3px;
+ padding: 0px 6px 2px 6px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.apexcharts-menu {
+ background: #fff;
+ position: absolute;
+ top: 100%;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ padding: 3px;
+ right: 10px;
+ opacity: 0;
+ min-width: 110px;
+ transition: 0.15s ease all;
+ pointer-events: none;
+}
+
+.apexcharts-menu.apexcharts-menu-open {
+ opacity: 1;
+ pointer-events: all;
+ transition: 0.15s ease all;
+}
+
+.apexcharts-menu-item {
+ padding: 6px 7px;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+.apexcharts-theme-light .apexcharts-menu-item:hover {
+ background: #eee;
+}
+
+.apexcharts-theme-dark .apexcharts-menu {
+ background: rgba(0, 0, 0, 0.7);
+ color: #fff;
+}
+
+@media screen and (min-width: 768px) {
+ .apexcharts-canvas:hover .apexcharts-toolbar {
+ opacity: 1;
+ }
+}
+.apexcharts-datalabel.apexcharts-element-hidden {
+ opacity: 0;
+}
+
+.apexcharts-pie-label,
+.apexcharts-datalabels,
+.apexcharts-datalabel,
+.apexcharts-datalabel-label,
+.apexcharts-datalabel-value {
+ cursor: default;
+ pointer-events: none;
+}
+
+.apexcharts-pie-label-delay {
+ opacity: 0;
+ animation-name: opaque;
+ animation-duration: 0.3s;
+ animation-fill-mode: forwards;
+ animation-timing-function: ease;
+}
+
+.apexcharts-canvas .apexcharts-element-hidden {
+ opacity: 0;
+}
+
+.apexcharts-hide .apexcharts-series-points {
+ opacity: 0;
+}
+
+.apexcharts-gridline,
+.apexcharts-annotation-rect,
+.apexcharts-tooltip .apexcharts-marker,
+.apexcharts-area-series .apexcharts-area,
+.apexcharts-line,
+.apexcharts-zoom-rect,
+.apexcharts-toolbar svg,
+.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,
+.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,
+.apexcharts-radar-series path,
+.apexcharts-radar-series polygon {
+ pointer-events: none;
+}
+
+/* markers */
+.apexcharts-marker {
+ transition: 0.15s ease all;
+}
+
+@keyframes opaque {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+/* Resize generated styles */
+@keyframes resizeanim {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 0;
+ }
+}
+.resize-triggers {
+ animation: 1ms resizeanim;
+ visibility: hidden;
+ opacity: 0;
+}
+
+.resize-triggers,
+.resize-triggers > div,
+.contract-trigger:before {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+}
+
+.resize-triggers > div {
+ background: #eee;
+ overflow: auto;
+}
+
+.contract-trigger:before {
+ width: 200%;
+ height: 200%;
+}
+
+.light-style .apexcharts-canvas .apexcharts-tooltip {
+ background: #fff;
+ border-color: #d9dee3;
+ box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
+}
+.light-style .apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-title {
+ background: #fff;
+ border-color: #d9dee3;
+ font-family: var(--bs-font-sans-serif) !important;
+ font-weight: 600;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip {
+ background: #f5f5f9;
+ border-color: #d9dee3;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-bottom:after, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-bottom:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-bottom:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-bottom:after {
+ border-bottom-color: #f5f5f9;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-bottom:before, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-bottom:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-bottom:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-bottom:before {
+ border-bottom-color: #d9dee3;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-left:after, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-left:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-left:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-left:after {
+ border-left-color: #f5f5f9;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-left:before, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-left:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-left:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-left:before {
+ border-left-color: #d9dee3;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-right:after, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-right:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-right:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-right:after {
+ border-right-color: #f5f5f9;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-right:before, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-right:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-right:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-right:before {
+ border-right-color: #d9dee3;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-top:after, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-top:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-top:after,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-top:after {
+ border-top-color: #f5f5f9;
+}
+.light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-xaxistooltip-top:before, .light-style .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-yaxistooltip-top:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-xaxistooltip-top:before,
+.light-style .apexcharts-canvas .apexcharts-yaxistooltip.apexcharts-yaxistooltip-top:before {
+ border-top-color: #d9dee3;
+}
+.light-style .apexcharts-canvas .apexcharts-tooltip-text {
+ font-family: var(--bs-font-sans-serif) !important;
+ filter: none;
+}
+.light-style .apexcharts-canvas .apexcharts-marker {
+ filter: drop-shadow(0 2px 4px #a1acb866);
+}
diff --git a/admin/assets/vendor/libs/apex-charts/apexcharts.js b/admin/assets/vendor/libs/apex-charts/apexcharts.js
new file mode 100644
index 0000000..2b809f7
--- /dev/null
+++ b/admin/assets/vendor/libs/apex-charts/apexcharts.js
@@ -0,0 +1,113 @@
+(function(e, a) { for(var i in a) e[i] = a[i]; }(window, /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = "./libs/apex-charts/apexcharts.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./libs/apex-charts/apexcharts.js":
+/*!****************************************!*\
+ !*** ./libs/apex-charts/apexcharts.js ***!
+ \****************************************/
+/*! exports provided: ApexCharts */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var apexcharts_clevision__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! apexcharts-clevision */ \"./node_modules/apexcharts-clevision/dist/apexcharts.common.js\");\n/* harmony import */ var apexcharts_clevision__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(apexcharts_clevision__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (default from non-harmony) */ __webpack_require__.d(__webpack_exports__, \"ApexCharts\", function() { return apexcharts_clevision__WEBPACK_IMPORTED_MODULE_0___default.a; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9saWJzL2FwZXgtY2hhcnRzL2FwZXhjaGFydHMuanM/MjRhMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6Ii4vbGlicy9hcGV4LWNoYXJ0cy9hcGV4Y2hhcnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFwZXhDaGFydHMgZnJvbSAnYXBleGNoYXJ0cy1jbGV2aXNpb24nO1xuXG5leHBvcnQgeyBBcGV4Q2hhcnRzIH07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./libs/apex-charts/apexcharts.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/apexcharts-clevision/dist/apexcharts.common.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/apexcharts-clevision/dist/apexcharts.common.js ***!
+ \*********************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+eval("var __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * ApexCharts v3.28.3\n * (c) 2018-2021 ApexCharts\n * Released under the MIT License.\n */\nfunction t(e){return(t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(e)}function e(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(t,e){return i.isColorHex(e)?this.shadeHexColor(t,e):this.shadeRGBColor(t,e)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(e){return e&&\"object\"===t(e)&&!Array.isArray(e)&&null!=e}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()_|+\\-=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}}]),i}(),f=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.setEasingFunctions()}return a(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t=\"<>\"}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:\"animateCircle\",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove(\"apexcharts-element-hidden\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){p.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),x=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,\"in\").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:\"dropShadow\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),p.isIE()&&\"radialBar\"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=p.isSafari()||p.isFirefox()||p.isIE()?t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),b=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n});return h}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),d.node.setAttribute(\"fill\",r),d}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i});return r}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\"L\",t,e].join(\" \"):\"H\"===i?a=[\"H\",t].join(\" \"):\"V\"===i&&(a=[\"V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=\"A\";n&&(l=\"a\");var h=[l,t,e,i,a,s,r,o].join(\" \");return h}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,b=t.shouldClipToGrid,v=void 0===b||b,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new x(this.ctx),C=new f(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);T?e=s:(e=r,A.globals.animationEnded=!0);var M=A.config.stroke.dashArray,I=0;I=Array.isArray(M)?M[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:I});if(z.attr(\"index\",a),v&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,a);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(a))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,a)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var E={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(o(o({},E),{},{speed:g})),A.globals.dataChanged&&P&&T&&C.animatePathsGradually(o(o({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}));return o}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=p.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=p.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var x=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(x?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(x?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),x){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"drawText\",value:function(t){var e,i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.fontSize,n=t.fontFamily,l=t.fontWeight,h=t.foreColor,c=t.opacity,d=t.cssClass,g=void 0===d?\"\":d,u=t.isPlainText,p=void 0===u||u,f=this.w;return void 0===s&&(s=\"\"),r||(r=\"start\"),h&&h.length||(h=f.config.chart.foreColor),n=n||f.config.chart.fontFamily,l=l||\"regular\",(e=Array.isArray(s)?f.globals.dom.Paper.text((function(t){for(var e=0;e-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;\"none\"!==d&&a.applyFilter(t,s,d.type,d.value)}else\"none\"!==i.config.states.active.filter.type&&a.getDefaultFilter(t,s);\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e=t.getBBox();return{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),v=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i}return a(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||!e.label.text||e.label.text&&!e.label.text.trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&o.insertBefore(n.node,r)}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),m=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i,this.invertAxis=this.annoCtx.invertAxis}return a(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a=this.w,s=this.invertAxis?a.globals.minY:a.globals.minX,r=this.invertAxis?a.globals.maxY:a.globals.maxX,o=this.invertAxis?a.globals.yRange[0]:a.globals.xRange,n=(t.x-s)/(o/a.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(n=(r-t.x)/(o/a.globals.gridWidth));var l=t.label.text;\"category\"!==a.config.xaxis.type&&!a.config.xaxis.convertedCatToNumeric||this.invertAxis||a.globals.dataFormatXNumeric||(n=this.annoCtx.helpers.getStringX(t.x));var h=t.strokeDashArray;if(p.isNumber(n)){if(null===t.x2||void 0===t.x2){var c=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,a.globals.gridHeight+t.offsetY,t.borderColor,h,t.borderWidth);e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}else{var d=(t.x2-s)/(o/a.globals.gridWidth);if(this.annoCtx.inversedReversedAxis&&(d=(r-t.x2)/(o/a.globals.gridWidth)),\"category\"!==a.config.xaxis.type&&!a.config.xaxis.convertedCatToNumeric||this.invertAxis||a.globals.dataFormatXNumeric||(d=this.annoCtx.helpers.getStringX(t.x2)),d0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"isSeriesNull\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]1&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:\"extendArrayProps\",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i}return a(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this._getY1Y2(\"y1\",t),n=t.label.text;if(null===t.y2||void 0===t.y2){var l=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this._getY1Y2(\"y2\",t))>o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add(\"apexcharts-annotation-rect\"),c.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=\"right\"===t.label.position?s.globals.gridWidth:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(a||o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});g.attr({rel:i}),e.appendChild(g.node)}},{key:\"_getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(r+1)+\")\");o&&(i=parseFloat(o.getAttribute(\"y\")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return i}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),k=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i}return a(t,[{key:\"addPointAnnotation\",value:function(t,e,i){var a=this.w,s=0,r=0,o=0;this.annoCtx.invertAxis&&console.warn(\"Point annotation is not supported in horizontal bar charts.\");var n=parseFloat(t.y);if(\"string\"==typeof t.x){var l=a.globals.labels.indexOf(t.x);a.config.xaxis.convertedCatToNumeric&&(l=a.globals.categoryLabels.indexOf(t.x)),s=this.annoCtx.helpers.getStringX(t.x),null===t.y&&(n=a.globals.series[t.seriesIndex][l])}else s=(t.x-a.globals.minX)/(a.globals.xRange/a.globals.gridWidth);for(var h,c=[],d=0,g=0;g<=t.seriesIndex;g++){var u=a.config.yaxis[g].seriesName;if(u)for(var f=g+1;f<=t.seriesIndex;f++)a.config.yaxis[f].seriesName===u&&-1===c.indexOf(u)&&(d++,c.push(u))}if(a.config.yaxis[t.yAxisIndex].logarithmic){h=(n=new y(this.annoCtx.ctx).getLogVal(n,t.yAxisIndex))/a.globals.yLogRatio[t.yAxisIndex]}else{var x=t.yAxisIndex+d;h=(n-a.globals.minYArr[x])/(a.globals.yRange[x]/a.globals.gridHeight)}if(r=a.globals.gridHeight-h-parseFloat(t.label.style.fontSize)-t.marker.size,o=a.globals.gridHeight-h,a.config.yaxis[t.yAxisIndex]&&a.config.yaxis[t.yAxisIndex].reversed&&(r=h+parseFloat(t.label.style.fontSize)+t.marker.size,o=h),p.isNumber(s)){var b={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},v=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,b);e.appendChild(v.node);var m=t.label.text?t.label.text:\"\",w=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:r+t.label.offsetY,text:m,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(w.attr({rel:i}),e.appendChild(w.node),t.customSVG.SVG){var k=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});k.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(r+t.customSVG.offsetY,\")\")}),k.node.innerHTML=t.customSVG.SVG,e.appendChild(k.node)}if(t.image.path){var A=t.image.width?t.image.width:20,S=t.image.height?t.image.height:20;this.annoCtx.addImage({x:s+t.image.offsetX-A/2,y:r+t.image.offsetY-S/2,width:A,height:S,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var A={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},S=function(){function t(){e(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={x:0,y:null,yAxisIndex:0,seriesIndex:0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return a(t,[{key:\"init\",value:function(){return{annotations:{position:\"front\",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[A],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,startingShape:\"flat\",endingShape:\"flat\",rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\"}},bubble:{minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"light\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),C=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.graphics=new b(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new v(this),this.xAxisAnnotations=new m(this),this.yAxisAnnotations=new w(this),this.pointsAnnotations=new k(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return a(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-annotations\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),T=L.globals.dom.baseEl.querySelector(b);T&&T.appendChild(P.node);var M=P.bbox();if(s){var I=this.graphics.drawRect(M.x-m,M.y-C,M.width+m+w,M.height+A+C,p,d||\"transparent\",1,g,f,u);T.insertBefore(I.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-annotations\":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);f&&f.appendChild(p.node)}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new S,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=p.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:p.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=p.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),L=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.opts=null,this.seriesIndex=0}return a(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");b.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),b.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w;return(\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||\"heatmap\"===e.config.chart.type||\"treemap\"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=p.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=p.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill(a,o,l,h)),\"gradient\"===n&&(s=this.handleGradientFill(o,l,this.seriesIndex)),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(c=p.getOpacityFromRGBA(h));var d=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a=\"dark\"===s.fill.gradient.shade?n.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf(\"rgb\")>-1?p.rgb2hex(t):t):n.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf(\"rgb\")>-1?p.rgb2hex(t):t);else if(s.fill.gradient.gradientToColors[r.seriesNumber]){var g=s.fill.gradient.gradientToColors[r.seriesNumber];a=g,g.indexOf(\"rgba\")>-1&&(d=p.getOpacityFromRGBA(g))}else a=t;if(s.fill.gradient.inverseColors){var u=h;h=a,a=u}return h.indexOf(\"rgb\")>-1&&(h=p.rgb2hex(h)),a.indexOf(\"rgb\")>-1&&(a=p.rgb2hex(a)),o.drawGradient(l,h,a,c,d,r.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}]),t}(),P=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new b(this.ctx);if((o.globals.markers.size[e]>0||r)&&(h=c.group({class:r?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var d=0;d0:o.config.markers.size>0;if(f||r){p.isNumber(l.y[d])?u+=\" w\".concat(p.randomId()):u=\"apexcharts-nullpoint\";var v=this.getMarkerConfig({cssClass:u,seriesIndex:e,dataPointIndex:g});o.config.series[n].data[g]&&(o.config.series[n].data[g].fillColor&&(v.pointFillColor=o.config.series[n].data[g].fillColor),o.config.series[n].data[g].strokeColor&&(v.pointStrokeColor=o.config.series[n].data[g].strokeColor)),a&&(v.pSize=a),(s=c.drawMarker(l.x[d],l.y[d],v)).attr(\"rel\",g),s.attr(\"j\",g),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",v.pSize);var m=new x(this.ctx);m.setSelectionFilter(s,e,g),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[d],l.y[d]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new b(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),T=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return a(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new b(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],v=o.y[c];if(u=u||0,null!==v&&void 0!==a.globals.series[r][d]||(g=!1),g){var m=this.drawPoint(x,v,u,p,r,d,e);h.add(m)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new f(this.ctx),c=new x(this.ctx),d=new L(this.ctx),g=new P(this.ctx),u=new b(this.ctx),p=g.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:l,dataPointIndex:r,finishRadius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&\"bubble\"===n.config.series[s].type?a:null});a=p.pSize;var v,m=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[s][o]});if(\"circle\"===p.shape?v=u.drawCircle(i):\"square\"!==p.shape&&\"rect\"!==p.shape||(v=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(m=n.config.series[l].data[r].fillColor),v.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:m,\"fill-opacity\":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,\"stroke-width\":p.pointStrokeWidth,\"stroke-dasharray\":p.pointStrokeDashArray,\"stroke-opacity\":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(v,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(v,0,\"circle\"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(v)}),100)}))}if(n.globals.dataChanged&&\"circle\"===p.shape)if(this.dynamicAnim){var k,A,S,C,T=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var M=0;Mn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+c4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,o=new b(this.ctx),n=r.config.dataLabels,l=0,h=0,c=i,d=null;if(!n.enabled||!Array.isArray(t.x))return d;d=o.group({class:\"apexcharts-data-labels\"});for(var g=0;ge.globals.gridWidth+f.textRects.width+10)&&(n=\"\");var v=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[o]),\"function\"==typeof v&&(v=v({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(v=g);var m=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(m=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+m,y:s+y,foreColor:v,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"});if(w.attr({class:\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new x(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new b(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"===i.config.chart.background?\"#fff\":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new x(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;ii.globals.gridHeight&&(c=i.globals.gridHeight-g)),{bcx:o,bcy:r,dataLabelsX:e,dataLabelsY:c}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,o=t.barHeight,n=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,g=t.offX,u=t.offY,p=e.globals.gridHeight/e.globals.dataPoints;n=Math.abs(n);var f=r-(this.barCtx.isTimelineBar?0:p)+o/2+l.height/2+u-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+n-(x?2*n:0),i=e.globals.gridWidth-n),d.position){case\"center\":h=x?b+n/2-g:Math.max(l.width/2,b-n/2)+g;break;case\"bottom\":h=x?b+n-c-Math.round(l.width/2)-g:b-n+c+Math.round(l.width/2)+g;break;case\"top\":h=x?b-c+Math.round(l.width/2)-g:b-c-Math.round(l.width/2)+g}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:r,dataLabelsX:h,dataLabelsY:f}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var u=new M(this.barCtx.ctx),p=new b(this.barCtx.ctx),f=c.formatter,x=null,v=d.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!v){x=p.group({class:\"apexcharts-data-labels\",transform:g});var m=\"\";void 0!==a&&(m=f(a,{seriesIndex:s,dataPointIndex:r,w:d}));var y=d.globals.series[s][r]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=y?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=y?\"end\":\"start\")),this.barCtx.isTimelineBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(m=\"\"):n.height/1.6>Math.abs(l)&&(m=\"\"));var k=o({},c);this.barCtx.isHorizontal&&a<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}}]),t}(),z=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.legendInactiveClass=\"legend-mouseover-inactive\"}return a(t,[{key:\"getAllSeriesEls\",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName(\"apexcharts-series\")}},{key:\"getSeriesByName\",value:function(t){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner .apexcharts-series[seriesName='\".concat(p.escapeString(t),\"']\"))}},{key:\"isSeriesHidden\",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute(\"data:realIndex\"),10);return{isHidden:e.classList.contains(\"apexcharts-series-collapsed\"),realIndex:i}}},{key:\"addCollapsedClassToSeries\",value:function(t,e){var i=this.w;function a(i){for(var a=0;a0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=p.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w,a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null;i.globals.axisCharts||\"radialBar\"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"))):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\")):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"asc\",i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(e,a){var s=!1;return t&&(s=\"bar\"===i.config.series[a].type||\"column\"===i.config.series[a].type),e.data&&e.data.length>0&&!s?a:-1})),r=\"asc\"===e?0:s.length-1;\"asc\"===e?r=0;\"asc\"===e?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),X=function(){function t(i){e(this,t),this.w=i.w,this.barCtx=i}return a(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s=this.w,r=new L(this.barCtx.ctx),o=null,n=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(o=a.color)}));return s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(o=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:a,dataPointIndex:i,color:o,value:t[e][i]})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new b(this.barCtx.ctx),c=new z(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e-=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.series,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new b(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)&&0!==n[h][c]||(o=0),0===n[h][c]&&(e=0);var u={barWidth:e,strokeWidth:o,yRatio:a,barXPosition:i,y1:s,y2:r},p=this.getRoundedBars(d,u,n,h,c),f=i,x=i+e,v=g.move(f,p.y1),m=g.move(f,p.y1),y=g.line(x-o,p.y1);return d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,c,!1)),v=v+g.line(f,p.y2)+p.startingShape+g.line(x-o,p.y2)+y+p.endingShape+\"z\",m=m+g.line(f,p.y1)+y+y+y+y+y+g.line(f,p.y1),d.config.chart.stacked&&(this.barCtx.yArrj.push(p.y2),this.barCtx.yArrjF.push(Math.abs(s-p.y2)),this.barCtx.yArrjVal.push(this.barCtx.series[h][c])),{pathTo:v,pathFrom:m}}},{key:\"getBarpaths\",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,o=t.series,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new b(this.barCtx.ctx);(r=Array.isArray(r)?r[n]:r)&&!o[l][h]||(r=0),0===o[l][h]&&(i=0);var g={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},u=this.getRoundedBars(c,g,o,l,h),p=d.move(u.x1,e),f=d.move(u.x1,e);c.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(n,h,!1));var x=e,v=e+i,m=d.line(u.x1,v-r);return p=p+d.line(u.x2,x)+u.startingShape+d.line(u.x2,v-r)+m+m+u.endingShape+\"z\",f=f+d.line(u.x1,x)+m+m+m+m+m+d.line(u.x1,x),c.config.chart.stacked&&(this.barCtx.xArrj.push(u.x2),this.barCtx.xArrjF.push(Math.abs(u.x1-u.x2)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:p,pathFrom:f}}},{key:\"getRoundedBars\",value:function(t,e,i,a,s){var r=new b(this.barCtx.ctx),o=0,n=t.config.plotOptions.bar.borderRadius;Array.isArray(n)?o=n[a>n.length-1?n.length-1:a]:o=n;if(this.barCtx.isHorizontal){var l=\"\",h=\"\",c=o,d=o,g=e.x1,u=e.x2;if(Math.abs(e.x1-e.x2)0:i[a][s]<0;p&&(o*=-1),c=d=o,\"flat\"===this.barCtx.barOptions.startingShape&&(c=0),\"flat\"===this.barCtx.barOptions.endingShape&&(d=0),\"flat\"===this.barCtx.barOptions.startingShape&&\"flat\"===this.barCtx.barOptions.endingShape&&(o=0),t.config.chart.stacked&&i.length>1&&0!==a?\"flat\"===this.barCtx.barOptions.endingShape||\"flat\"===this.barCtx.barOptions.startingShape?g+=o:g+=2*d:(g+=d,u-=c),l=r.quadraticCurve(u+c,e.barYPosition,u+c,e.barYPosition+(p?-1*c:c))+r.line(u+c,e.barYPosition+e.barHeight-e.strokeWidth-(p?-1*c:c))+r.quadraticCurve(u+c,e.barYPosition+e.barHeight-e.strokeWidth,u,e.barYPosition+e.barHeight-e.strokeWidth),h=r.quadraticCurve(g-d,e.barYPosition+e.barHeight-e.strokeWidth,g-d,e.barYPosition+e.barHeight-e.strokeWidth-(p?-1*d:d))+r.line(g-d,e.barYPosition+(p?-1*d:d))+r.quadraticCurve(g-d,e.barYPosition,g,e.barYPosition)}return{startingShape:l,endingShape:h,x1:g,x2:u}}var f=\"\",x=\"\",v=o,m=o,y=e.y2,w=e.y1;if(Math.abs(e.y1-e.y2)1&&0!==a?\"flat\"===this.barCtx.barOptions.endingShape||\"flat\"===this.barCtx.barOptions.startingShape?w-=o:w-=2*m:(w-=m,y+=v),f=r.quadraticCurve(e.barXPosition,y-v,e.barXPosition+(k?-1*v:v),y-v)+r.line(e.barXPosition+e.barWidth-e.strokeWidth-(k?-1*v:v),y-v)+r.quadraticCurve(e.barXPosition+e.barWidth-e.strokeWidth,y-v,e.barXPosition+e.barWidth-e.strokeWidth,y),x=r.quadraticCurve(e.barXPosition+e.barWidth-e.strokeWidth,w+m,e.barXPosition+e.barWidth-e.strokeWidth-(k?-1*m:m),w+m)+r.line(e.barXPosition+(k?-1*m:m),w+m)+r.quadraticCurve(e.barXPosition,w+m,e.barXPosition,w)}return{startingShape:f,endingShape:x,y1:w,y2:y}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:\"getXForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:\"getYForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,r){var o=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][r]&&Array.isArray(n.globals.seriesGoals[a][r])&&n.globals.seriesGoals[a][r].forEach((function(a){var r;l.push((s(r={},t,\"x\"===t?o.getXForValue(a.value,e,!1):o.getYForValue(a.value,i,!1)),s(r,\"attrs\",a),r))})),l}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new b(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),E=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isTimelineBar=\"datetime\"===s.config.xaxis.type&&s.globals.seriesRangeBarTimeline.length,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.initialXRatio=a.initialXRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.barHelpers=new X(this)}return a(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new b(this.ctx),s=new y(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=m),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();f=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||v.push(u+A/2);for(var C=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":m}),L=a.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),P=0;P0&&v.push(u+A/2),x.push(f);var X=this.barHelpers.getPathFillColor(t,n,P,m);this.renderSeries({realIndex:m,pathFill:X,j:P,i:n,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:T,elSeries:w,x:u,y:f,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[m]=v,i.globals.seriesYvalues[m]=x,r.add(w)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,p=t.series,f=t.barHeight,v=t.barWidth,m=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new b(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(A,\"-area\")});P.attr(\"clip-path\",\"url(#gridRectMask\".concat(S.globals.cuid,\")\"));var T=S.config.forecastDataPoints;T.count>0&&s>=S.globals.dataPoints-T.count&&(P.node.setAttribute(\"stroke-dasharray\",T.dashArray),P.node.setAttribute(\"stroke-width\",T.strokeWidth),P.node.setAttribute(\"fill-opacity\",T.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr(\"data-range-y1\",g),P.attr(\"data-range-y2\",u)),new x(this.ctx).setSelectionFilter(P,e,s),h.add(P);var M=new I(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:p,realIndex:e,barHeight:f,barWidth:v,barYPosition:m,renderedPath:P,visibleSeries:k});return null!==M&&y.add(M),h.add(y),w&&h.add(w),h}},{key:\"drawBarPaths\",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues(\"x\",s,null,c,d),barYPosition:g}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var p=c;h.globals.seriesX[c].length||(p=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var f=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:f-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:f}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Y=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return a(t,[{key:\"isValidDate\",value:function(t){return!isNaN(this.parseDate(t))}},{key:\"getTimeStamp\",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:\"getDate\",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return i=this.getTimeStamp(i)}},{key:\"parseDateWithTimezone\",value:function(t){return Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"))}},{key:\"formatDate\",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=[\"\\0\"].concat(g(i.months)),r=[\"\\x01\"].concat(g(i.shortMonths)),o=[\"\\x02\"].concat(g(i.days)),n=[\"\\x03\"].concat(g(i.shortDays));function l(t,e){var i=t+\"\";for(e=e||2;i.length12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])H/g,\"$1\"+u)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])h/g,\"$1\"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])m/g,\"$1\"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=u<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=p.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),F=function(t){n(s,E);var i=d(s);function s(){return e(this,s),i.apply(this,arguments)}return a(s,[{key:\"draw\",value:function(t,e){var i=this.w,a=new b(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,v=0;this.yRatio.length>1&&(this.yaxisIndex=u);var m=this.barHelpers.initialPositions();d=m.y,h=m.zeroW,c=m.x,v=m.barWidth,n=m.xDivision,l=m.zeroH;for(var y=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),w=a.group({class:\"apexcharts-rangebar-goals-markers\",style:\"pointer-events: none\"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRangeBarTimeline[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues(\"y\",null,r,n,l),barXPosition:p}}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues(\"x\",l,null,e.realIndex,e.j),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:\"getTooltipValues\",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,o=t.w,n=o.globals.seriesRangeStart[i][a],l=o.globals.seriesRangeEnd[i][a],h=o.globals.labels[a],c=o.config.series[i].name?o.config.series[i].name:\"\",d=o.config.tooltip.y.formatter,g=o.config.tooltip.y.title.formatter,u={w:o,seriesIndex:i,dataPointIndex:a,start:n,end:l};\"function\"==typeof g&&(c=g(c,u)),Number.isFinite(s)&&Number.isFinite(r)&&(n=s,l=r,o.config.series[i].data[a].x&&(h=o.config.series[i].data[a].x+\":\"),\"function\"==typeof d&&(h=d(h,u)));var p=\"\",f=\"\",x=o.globals.colors[i];if(void 0===o.config.tooltip.x.formatter)if(\"datetime\"===o.config.xaxis.type){var b=new Y(e);p=b.formatDate(b.getDate(n),o.config.tooltip.x.format),f=b.formatDate(b.getDate(l),o.config.tooltip.x.format)}else p=n,f=l;else p=o.config.tooltip.x.formatter(n),f=o.config.tooltip.x.formatter(l);return{start:n,end:l,startVal:p,endVal:f,ylabel:h,color:x,seriesName:c}}},{key:\"buildCustomTooltipHTML\",value:function(t){var e=t.color,i=t.seriesName;return'\"}}]),s}(),R=function(){function t(i){e(this,t),this.opts=i}return a(t,[{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return p.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:5,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:[\"#fff\"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new F(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t):function(t){var e=new F(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"area\",value:function(){return{stroke:{width:4},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"brush\",value:function(t){return p.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return p.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return p.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\" \\n
\"):'\"}}]),t}(),H=function(){function i(t){e(this,i),this.opts=t}return a(i,[{key:\"init\",value:function(e){var i=e.responsiveOverride,a=this.opts,s=new S,r=new R(a);this.chartType=a.chart.type,\"histogram\"===this.chartType&&(a.chart.type=\"bar\",a=p.extend({plotOptions:{bar:{columnWidth:\"99.99%\"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===t(a)){var l={};l=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"histogram\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},i||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=p.extend(o,l)}var h=p.extend(n,window.Apex);return o=p.extend(h,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a=new R(i),s=\"bar\"===t&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,o=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||\"between\"===n||(i=a.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new S;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=p.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[p.extend(i.yAxis,t.yaxis)]:t.yaxis=p.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=p.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new S;return t.annotations.yaxis=p.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new S;return t.annotations.xaxis=p.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new S;return t.annotations.points=p.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.chart.background||(t.chart.background=\"#424242\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e.chart.group&&0===e.yaxis[0].labels.minWidth&&console.warn(\"It looks like you have multiple charts in synchronization. You must provide yaxis.labels.minWidth which must be EQUAL for all grouped charts to prevent incorrect behaviour.\"),Array.isArray(e.stroke.width)&&\"line\"!==e.chart.type&&\"area\"!==e.chart.type&&(console.warn(\"stroke.width option accepts array only for line and area charts. Reverted back to Number\"),e.stroke.width=e.stroke.width[0]),e}}]),i}(),D=function(){function t(){e(this,t)}return a(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBarTimeline=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=p.extend({},t),e.initialSeries=p.clone(t.series),e.lastXAxis=p.clone(e.initialConfig.xaxis),e.lastYAxis=p.clone(e.initialConfig.yaxis),e}}]),t}(),N=function(){function t(i){e(this,t),this.opts=i}return a(t,[{key:\"init\",value:function(){var t=new H(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new D).init(t)}}}]),t}(),O=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return a(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new z(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new z(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(p.parseNumber(t[e].data[r][4])):this.twoDSeries.push(p.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new Y(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isTimelineBar=\"rangeBar\"===a.chart.type&&\"datetime\"===a.xaxis.type;for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return p.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push(\"series-\"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBarTimeline.length&&(i.seriesRangeBarTimeline.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new R(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)for(var s=0;s0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),B=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=this.w,n=void 0===t[a]?\"\":t[a],l=n,h=o.globals.xLabelFormatter,c=o.config.xaxis.labels.formatter,d=!1,g=new W(this.ctx),u=n;l=g.xLabelFormat(h,n,u,{i:a,dateFormatter:new Y(this.ctx).formatDate,w:o}),void 0!==c&&(l=c(n,t[a],{i:a,dateFormatter:new Y(this.ctx).formatDate,w:o}));var p=function(t){var i=null;return e.forEach((function(t){\"month\"===t.unit?i=\"year\":\"day\"===t.unit?i=\"month\":\"hour\"===t.unit?i=\"day\":\"minute\"===t.unit&&(i=\"hour\")})),i===t};e.length>0?(d=p(e[a].unit),i=e[a].position,l=e[a].value):\"datetime\"===o.config.xaxis.type&&void 0===c&&(l=\"\"),void 0===l&&(l=\"\"),l=Array.isArray(l)?l:l.toString();var f=new b(this.ctx),x={};x=o.globals.rotateXLabels?f.getTextRects(l,parseInt(r,10),null,\"rotate(\".concat(o.config.xaxis.labels.rotate,\" 0 0)\"),!1):f.getTextRects(l,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(l)&&(0===l.indexOf(\"NaN\")||0===l.toLowerCase().indexOf(\"invalid\")||l.toLowerCase().indexOf(\"infinity\")>=0||s.indexOf(l)>=0&&v)&&(l=\"\"),{x:i,text:l,textRect:x,isBold:d}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),\"heatmap\"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),V=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!p.isIE11())return t;var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"===a.config.chart.background?\"#fff\":a.config.chart.background,n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&p.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.columnDelimiter,s=t.lineDelimiter,r=void 0===s?\"\\n\":s,o=this.w,n=[],l=[],h=\"data:text/csv;charset=utf-8,\\ufeff\",c=new O(this.ctx),d=new B(this.ctx),g=function(t){var i=\"\";if(o.globals.axisCharts){if(\"category\"===o.config.xaxis.type||o.config.xaxis.convertedCatToNumeric)if(o.globals.isBarHorizontal){var s=o.globals.yLabelFormatters[0],r=new z(e.ctx).getActiveConfigSeriesIndex();i=s(o.globals.labels[t],{seriesIndex:r,dataPointIndex:t,w:o})}else i=d.getLabel(o.globals.labels,o.globals.timescaleLabels,0,t).text;\"datetime\"===o.config.xaxis.type&&(o.config.xaxis.categories.length?i=o.config.xaxis.categories[t]:o.config.labels.length&&(i=o.config.labels[t]))}else i=o.config.labels[t];return Array.isArray(i)&&(i=i.join(\" \")),p.isNumber(i)?i:i.split(a).join(\"\")};n.push(o.config.chart.toolbar.export.csv.headerCategory),i.map((function(t,e){var i=t.name?t.name:\"series-\".concat(e);o.globals.axisCharts&&n.push(i.split(a).join(\"\")?i.split(a).join(\"\"):\"series-\".concat(e))})),o.globals.axisCharts||(n.push(o.config.chart.toolbar.export.csv.headerValue),l.push(n.join(a))),i.map((function(t,e){o.globals.axisCharts?function(t,e){if(n.length&&0===e&&l.push(n.join(a)),t.data&&t.data.length)for(var s=0;s=10?o.config.chart.toolbar.export.csv.dateFormatter(r):p.isNumber(r)?r:r.split(a).join(\"\")));for(var h=0;h0&&!a.globals.isBarHorizontal&&(this.xaxisLabels=a.globals.timescaleLabels.slice()),a.config.xaxis.overwriteCategories&&(this.xaxisLabels=a.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===a.config.xaxis.position?this.offY=0:this.offY=a.globals.gridHeight+1,this.offY=this.offY+a.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===a.config.chart.type&&a.config.plotOptions.bar.horizontal,this.xaxisFontSize=a.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=a.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=a.config.xaxis.labels.style.colors,this.xaxisBorderWidth=a.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=a.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=a.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=a.config.xaxis.axisBorder.height,this.yaxis=a.config.yaxis[0]}return a(t,[{key:\"drawXaxis\",value:function(){var t,e=this,i=this.w,a=new b(this.ctx),s=a.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(i.config.xaxis.offsetX,\", \").concat(i.config.xaxis.offsetY,\")\")}),r=a.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(i.globals.translateXAxisX,\", \").concat(i.globals.translateXAxisY,\")\")});s.add(r);for(var o=i.globals.padHorizontal,n=[],l=0;l1?h-1:h;t=i.globals.gridWidth/c,o=o+t/2+i.config.xaxis.labels.offsetX}else t=i.globals.gridWidth/n.length,o=o+t+i.config.xaxis.labels.offsetX;for(var d=function(s){var l=o-t/2+i.config.xaxis.labels.offsetX;0===s&&1===h&&t/2===o&&1===i.globals.dataPoints&&(l=i.globals.gridWidth/2);var c=e.axesUtils.getLabel(n,i.globals.timescaleLabels,l,s,e.drawnLabels,e.xaxisFontSize),d=28;i.globals.rotateXLabels&&(d=22);if((c=void 0!==i.config.xaxis.tickAmount&&\"dataPoints\"!==i.config.xaxis.tickAmount&&\"datetime\"!==i.config.xaxis.type?e.axesUtils.checkLabelBasedOnTickamount(s,c,h):e.axesUtils.checkForOverflowingLabels(s,c,h,e.drawnLabels,e.drawnLabelsRects)).text&&i.globals.xaxisLabelsCount++,i.config.xaxis.labels.show){var g=a.drawText({x:c.x,y:e.offY+i.config.xaxis.labels.offsetY+d-(\"top\"===i.config.xaxis.position?i.globals.xAxisHeight+i.config.xaxis.axisTicks.height-2:0),text:c.text,textAnchor:\"middle\",fontWeight:c.isBold?600:i.config.xaxis.labels.style.fontWeight,fontSize:e.xaxisFontSize,fontFamily:e.xaxisFontFamily,foreColor:Array.isArray(e.xaxisForeColors)?i.config.xaxis.convertedCatToNumeric?e.xaxisForeColors[i.globals.minX+s-1]:e.xaxisForeColors[s]:e.xaxisForeColors,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+i.config.xaxis.labels.style.cssClass});r.add(g);var u=document.createElementNS(i.globals.SVGNS,\"title\");u.textContent=Array.isArray(c.text)?c.text.join(\" \"):c.text,g.node.appendChild(u),\"\"!==c.text&&(e.drawnLabels.push(c.text),e.drawnLabelsRects.push(c))}o+=t},g=0;g<=h-1;g++)d(g);if(void 0!==i.config.xaxis.title.text){var u=a.group({class:\"apexcharts-xaxis-title\"}),p=a.drawText({x:i.globals.gridWidth/2+i.config.xaxis.title.offsetX,y:this.offY+parseFloat(this.xaxisFontSize)+i.globals.xAxisLabelsHeight+i.config.xaxis.title.offsetY,text:i.config.xaxis.title.text,textAnchor:\"middle\",fontSize:i.config.xaxis.title.style.fontSize,fontFamily:i.config.xaxis.title.style.fontFamily,fontWeight:i.config.xaxis.title.style.fontWeight,foreColor:i.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+i.config.xaxis.title.style.cssClass});u.add(p),s.add(u)}if(i.config.xaxis.axisBorder.show){var f=i.globals.barPadForNumericAxis,x=a.drawLine(i.globals.padHorizontal+i.config.xaxis.axisBorder.offsetX-f,this.offY,this.xaxisBorderWidth+f,this.offY,i.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);s.add(x)}return s}},{key:\"drawXaxisInversed\",value:function(t){var e,i,a=this,s=this.w,r=new b(this.ctx),o=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,n=r.group({class:\"apexcharts-yaxis apexcharts-xaxis-inversed\",rel:t}),l=r.group({class:\"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g\",transform:\"translate(\"+o+\", 0)\"});n.add(l);var h=[];if(s.config.yaxis[t].show)for(var c=0;ci.globals.gridWidth)){var s=this.offY+i.config.xaxis.axisTicks.offsetY,r=s+i.config.xaxis.axisTicks.height;if(\"top\"===i.config.xaxis.position&&(r=s-i.config.xaxis.axisTicks.height),i.config.xaxis.axisTicks.show){var o=new b(this.ctx).drawLine(t+i.config.xaxis.axisTicks.offsetX,s+i.config.xaxis.offsetY,a+i.config.xaxis.axisTicks.offsetX,r+i.config.xaxis.offsetY,i.config.xaxis.axisTicks.color);e.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return a(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new b(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new b(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,\"#fff\"),new y(this).getLargestMarkerSize();var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type||(l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:n}),new G(this.ctx).drawXaxisTicks(i,this.elg))}},{key:\"_drawGridLine\",value:function(t){var e=t.x1,i=t.y1,a=t.x2,s=t.y2,r=t.parent,o=this.w,n=r.node.classList.contains(\"apexcharts-gridlines-horizontal\"),l=o.config.grid.strokeDashArray,h=o.globals.barPadForNumericAxis,c=new b(this).drawLine(e-(n?h:0),i,a+(n?h:0),s,o.config.grid.borderColor,l);c.node.classList.add(\"apexcharts-gridline\"),r.add(c)}},{key:\"_drawGridBandRect\",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.type,n=this.w,l=new b(this.ctx),h=n.globals.barPadForNumericAxis;if(\"column\"!==o||\"datetime\"!==n.config.xaxis.type){var c=n.config.grid[o].colors[e],d=l.drawRect(i-(\"row\"===o?h:0),a,s+(\"row\"===o?2*h:0),r,0,c,n.config.grid[o].opacity);this.elg.add(d),d.attr(\"clip-path\",\"url(#gridRectMask\".concat(n.globals.cuid,\")\")),d.node.classList.add(\"apexcharts-grid-\".concat(o))}}},{key:\"_drawXYLines\",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r,o=s.globals.padHorizontal,n=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,o=t.x2,n=t.y2,l=0;l2));s++);return!t.globals.isBarHorizontal||this.isTimelineBar?(i=this.xaxisLabels.length,this.isTimelineBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),j=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"niceScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if(\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!p.isNumber(t)&&!p.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn(\"axis.min cannot be greater than axis.max\"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&(\"candlestick\"===r.config.chart.type||\"candlestick\"===r.config.series[a].type||\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(p.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var f=u*g,x=f*Math.floor(t/f),b=f*Math.ceil(e/f),v=x;if(s&&o>2){for(;l.push(v),!((v+=f)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScale\",value:function(t){for(var e=[],i=Math.ceil(Math.log10(t))+1,a=0;a5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(i);else if(i!==-Number.MAX_VALUE&&p.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&p.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:\"setMultipleYScales\",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:\"sameScaleInMultipleAxes\",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o=\"function\"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n=\"function\"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:\"autoScaleY\",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn(\"autoScaleYaxis is not supported in a multi-yaxis chart.\"),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.scales=new j(i)}return a(t,[{key:\"init\",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:\"getMinYMaxY\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&\"datetime\"===s.xaxis.type&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&(\"number\"==typeof e.max?t.maxYArr[i]=e.max:\"function\"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&(\"number\"==typeof e.min?t.minYArr[i]=e.min:\"function\"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){[\"min\",\"max\"].forEach((function(i){void 0!==e.xaxis[i]&&\"number\"==typeof e.xaxis[i]&&(\"min\"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:\"setXRange\",value:function(){var t=this.w.globals,e=this.w.config,i=\"numeric\"===e.xaxis.type||\"datetime\"===e.xaxis.type||\"category\"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1===t.dataPoints&&t.minXDiff===Number.MAX_VALUE&&(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;v--)x(v);if(void 0!==i.config.yaxis[t].title.text){var m=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});m.add(w),l.add(m)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new b(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var v=document.createElementNS(e.globals.SVGNS,\"title\");v.textContent=u,x.node.appendChild(v),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new b(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new b(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new b(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=p.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=p.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),Z=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.documentEvent=p.bind(this.documentEvent,this)}return a(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=p.extend(A,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new G(this.ctx),n=new q(this.ctx);s.axisCharts&&\"radar\"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),Q=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new b(this.ctx),i=new x(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,v=s.color,m=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(y=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!p.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!p.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:f,color:v,opacity:m})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new b(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new H({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=p.extend(n,t),t=p.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&\"function\"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),\"function\"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,g(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(i){e(this,t),this.w=i.w,this.dCtx=i}return a(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=p.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new W(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new Y(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new Y(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new b(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new b(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new b(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=h(g=p.getLargestStringFromArr(f),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var x=new b(t.dCtx.ctx),v=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),m=x.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1),y=m;g!==u&&(y=x.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1)),i.push({width:(l>y.width||l>m.width?l:y.width>m.width?y.width:m.width)+a,height:y.height>m.height?y.height:m.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new b(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(i){e(this,t),this.w=i.w,this.dCtx=i}return a(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return a(t,[{key:\"plotCoords\",value:function(){var t=this.w.globals;this.lgRect=this.dimHelpers.getLegendsRect(),t.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),t.gridHeight=t.gridHeight-this.gridPad.top-this.gridPad.bottom,t.gridWidth=t.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var e=this.dimGrid.gridPadForColumnsInNumericAxis(t.gridWidth);t.gridWidth=t.gridWidth-2*e,t.translateX=t.translateX+this.gridPad.left+this.xPadLeft+(e>0?e+4:0),t.translateY=t.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var n=this.yAxisWidth,l=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var h=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(n=0,l=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(n=0,l=0,h=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var c=function(){i.translateX=n,i.gridHeight=i.svgHeight-t.lgRect.height-l-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-n};switch(\"top\"===e.config.xaxis.position&&(h=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=h,c();break;case\"top\":i.translateY=this.lgRect.height+h,c();break;case\"left\":i.translateY=h,i.translateX=this.lgRect.width+n,i.gridHeight=i.svgHeight-l-12,i.gridWidth=i.svgWidth-this.lgRect.width-n;break;case\"right\":i.translateY=h,i.translateX=n,i.gridHeight=i.svgHeight-l-12,i.gridWidth=i.svgWidth-this.lgRect.width-n-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e){var i=this.w;this.xAxisHeight=(t.height+e.height)*(i.globals.isMultiLineX?1.2:i.globals.LINE_HEIGHT_RATIO)+(i.globals.rotateXLabels?22:10),this.xAxisWidth=t.width,this.xAxisHeight-e.height>i.config.xaxis.labels.maxHeight&&(this.xAxisHeight=i.config.xaxis.labels.maxHeight),i.config.xaxis.labels.minHeight&&this.xAxisHeights&&(this.yAxisWidth=s)}}]),t}(),nt=function(){function t(i){e(this,t),this.w=i.w,this.lgCtx=i}return a(t,[{key:\"getLegendStyles\",value:function(){var t=document.createElement(\"style\");t.setAttribute(\"type\",\"text/css\");var e=document.createTextNode(\"\\t\\n \\t\\n .apexcharts-legend {\\t\\n display: flex;\\t\\n overflow: auto;\\t\\n padding: 0 10px;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\t\\n flex-wrap: wrap\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n flex-direction: column;\\t\\n bottom: 0;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n justify-content: flex-start;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\t\\n justify-content: center; \\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\t\\n justify-content: flex-end;\\t\\n }\\t\\n .apexcharts-legend-series {\\t\\n cursor: pointer;\\t\\n line-height: normal;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\\t\\n display: flex;\\t\\n align-items: center;\\t\\n }\\t\\n .apexcharts-legend-text {\\t\\n position: relative;\\t\\n font-size: 14px;\\t\\n }\\t\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\t\\n pointer-events: none;\\t\\n }\\t\\n .apexcharts-legend-marker {\\t\\n position: relative;\\t\\n display: inline-block;\\t\\n cursor: pointer;\\t\\n margin-right: 3px;\\t\\n border-style: solid;\\n }\\t\\n \\t\\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\\t\\n display: inline-block;\\t\\n }\\t\\n .apexcharts-legend-series.apexcharts-no-click {\\t\\n cursor: auto;\\t\\n }\\t\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\t\\n display: none !important;\\t\\n }\\t\\n .apexcharts-inactive-legend {\\t\\n opacity: 0.45;\\t\\n }\");return t.appendChild(e),t}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\");var e=t.dom.elLegendForeign;e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"width\",t.svgWidth),e.setAttribute(\"height\",t.svgHeight),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new b(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=p.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed=\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return a(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),p.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(\".apexcharts-legend\").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new z(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new z(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return a(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n \\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n ':'\\n \\n \\n ',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n ',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n '),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:' ',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),b.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),b.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isTimelineBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=p.clone(a.globals.initialConfig.yaxis),f=p.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var x=new j(s.ctx);u=x.autoScaleY(s.ctx,u,{xaxis:f})}if(o){var b=o.getBeforeZoomRange(f,u);b&&(f=b.xaxis?b.xaxis:f,u=b.yaxis?b.yaxis:u)}var v={xaxis:f};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(y=p.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isTimelineBar?i.globals.minY:i.globals.minX,n=i.globals.isTimelineBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=p.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isTimelineBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isTimelineBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new j(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),s}(),dt=function(){function t(i){e(this,t),this.w=i.w,this.ttCtx=i,this.ctx=i.ctx}return a(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=r.globals.gridWidth,n=r.globals.gridHeight,l=o/(r.globals.dataPoints-1),h=n/r.globals.dataPoints,c=i.getBoundingClientRect(),d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(l=o/r.globals.dataPoints);var g=a-c.left-r.globals.barPadForNumericAxis,u=s-c.top;g<0||u<0||g>r.globals.gridWidth||u>r.globals.gridHeight?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/l),x=Math.floor(u/h);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/l),f-=1);for(var b,v=null,m=null,y=[],w=0;w1?r=this.getFirstActiveXArray(i):o=0;var l=a[r][0],h=i[r][0],c=Math.abs(t-h),d=Math.abs(e-l),g=d+c;return a.map((function(s,r){s.map((function(s,l){var h=Math.abs(e-a[r][l]),u=Math.abs(t-i[r][l]),p=u+h;p0?e:-1})),a=0;a0)for(var a=0;a0}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\" \"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");o&&f[0]&&(null==c||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var i=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");i&&(i.classList.add(\"apexcharts-active\"),i.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new W(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new Y(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(i){e(this,t),this.ttCtx=i,this.ctx=i.ctx,this.w=i.w}return a(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null!==s&&(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.blxaxisTooltip){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&b.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&b.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new b(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-15),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal?h-=o.ttHeight:(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r