From 9ad981c3d62b5298b05b2426af0d6978e9087cec Mon Sep 17 00:00:00 2001 From: Bram van den Bogaard Date: Tue, 9 Aug 2022 16:26:16 +0200 Subject: [PATCH 1/5] added nullcheck for xpaths in the PropertyValueConverter --- .../IcomoonPickerPropertyValueConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Infocaster.Umbraco.IcomoonPicker/PropertyValueConverters/IcomoonPickerPropertyValueConverter.cs b/src/Infocaster.Umbraco.IcomoonPicker/PropertyValueConverters/IcomoonPickerPropertyValueConverter.cs index 637db0b..d3dca79 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/PropertyValueConverters/IcomoonPickerPropertyValueConverter.cs +++ b/src/Infocaster.Umbraco.IcomoonPicker/PropertyValueConverters/IcomoonPickerPropertyValueConverter.cs @@ -14,7 +14,7 @@ public object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPro public object ConvertIntermediateToXPath(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object inter, bool preview) { - return inter.ToString(); + return inter?.ToString() ?? String.Empty; } public object ConvertSourceToIntermediate(IPublishedElement owner, IPublishedPropertyType propertyType, object source, bool preview) From 3a7643a15cbc4f2d368b60a34cbdd3b235459750 Mon Sep 17 00:00:00 2001 From: Bram van den Bogaard Date: Tue, 9 Aug 2022 16:26:45 +0200 Subject: [PATCH 2/5] updated release notes --- .../Infocaster.Umbraco.IcomoonPicker.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Infocaster.Umbraco.IcomoonPicker/Infocaster.Umbraco.IcomoonPicker.csproj b/src/Infocaster.Umbraco.IcomoonPicker/Infocaster.Umbraco.IcomoonPicker.csproj index 469ca0e..391fa12 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/Infocaster.Umbraco.IcomoonPicker.csproj +++ b/src/Infocaster.Umbraco.IcomoonPicker/Infocaster.Umbraco.IcomoonPicker.csproj @@ -18,7 +18,7 @@ infocaster_nuget_yellow.png README-NUGET.md https://github.com/infocaster/IcomoonPicker - First release for Umbraco 10 + Fixed a xpath error MIT True From 76e95b22d58071b35b55639dd950042a33b70fbc Mon Sep 17 00:00:00 2001 From: Mike Schepers Date: Tue, 12 Dec 2023 13:11:00 +0000 Subject: [PATCH 3/5] Merged PR 10602: Rewrite icomoonpicker from angularjs to lit --- .gitignore | 1 + Infocaster.Umbraco.IcomoonPicker.sln | 7 + azure-pipelines.yml | 215 +- .../.gitignore | 478 + ...aster.Umbraco.IcomoonPicker.Website.csproj | 37 + .../Middleware/AutologinMiddleware.cs | 72 + .../Program.cs | 19 + .../Properties/launchSettings.json | 30 + .../Startup.cs | 69 + .../Views/Author.cshtml | 30 + .../Views/AuthorList.cshtml | 12 + .../Views/Blog.cshtml | 21 + .../Views/Blogpost.cshtml | 24 + .../Views/Components/Contact/Default.cshtml | 26 + .../Components/Pagination/Default.cshtml | 48 + .../MacroPartials/FeaturedProducts.cshtml | 27 + .../MacroPartials/LatestBlogposts.cshtml | 102 + .../Views/Partials/CategoryLinks.cshtml | 7 + .../Views/Partials/ContactForm.cshtml | 29 + .../Partials/Navigation/SubNavigation.cshtml | 16 + .../Partials/Navigation/TopNavigation.cshtml | 14 + .../Views/Partials/SectionHeader.cshtml | 6 + .../Views/Partials/authors.cshtml | 55 + .../Components/codeSnippetRow.cshtml | 30 + .../blocklist/Components/iconLinkRow.cshtml | 15 + .../Components/imageCarouselRow.cshtml | 57 + .../blocklist/Components/imageRow.cshtml | 26 + .../Components/latestArticlesRow.cshtml | 76 + .../blocklist/Components/richTextRow.cshtml | 20 + .../blocklist/Components/videoRow.cshtml | 29 + .../Views/Partials/blocklist/default.cshtml | 13 + .../Views/Partials/footer.cshtml | 24 + .../Partials/grid/bootstrap3-fluid.cshtml | 106 + .../Views/Partials/grid/bootstrap3.cshtml | 112 + .../Views/Partials/grid/editors/base.cshtml | 27 + .../Views/Partials/grid/editors/embed.cshtml | 11 + .../Views/Partials/grid/editors/macro.cshtml | 15 + .../Views/Partials/grid/editors/media.cshtml | 64 + .../Views/Partials/grid/editors/rte.cshtml | 13 + .../Partials/grid/editors/textstring.cshtml | 22 + .../Views/Partials/mainNavigation.cshtml | 30 + .../Views/Partials/metaData.cshtml | 44 + .../Views/Partials/pageHeader.cshtml | 48 + .../Views/Partials/xmlSitemap.cshtml | 32 + .../Views/Person.cshtml | 4 + .../Views/Product.cshtml | 47 + .../Views/Products.cshtml | 43 + .../Views/SuperMaster.cshtml | 33 + .../Views/_ViewImports.cshtml | 10 + .../Views/article.cshtml | 23 + .../Views/articleList.cshtml | 23 + .../Views/contact.cshtml | 44 + .../Views/content.cshtml | 21 + .../Views/contentPage.cshtml | 27 + .../Views/error.cshtml | 20 + .../Views/home.cshtml | 23 + .../Views/master.cshtml | 33 + .../Views/people.cshtml | 57 + .../Views/search.cshtml | 71 + .../Views/xMLSitemap.cshtml | 6 + .../appsettings.Development.json | 34 + .../appsettings.json | 31 + .../clean-assets/css/highlightjs-copy.min.css | 1 + .../wwwroot/clean-assets/css/styles.css | 11348 ++++++++++++++++ .../clean-assets/css/swiffy-slider.min.css | 2 + .../wwwroot/clean-assets/css/vs2015.css | 112 + .../clean-assets/js/highlight.default.min.css | 9 + .../wwwroot/clean-assets/js/highlight.min.js | 1208 ++ .../clean-assets/js/highlightjs-copy.min.js | 1 + .../wwwroot/clean-assets/js/initHighlight.js | 2 + .../wwwroot/clean-assets/js/scripts.js | 59 + .../clean-assets/js/swiffy-slider.min.js | 2 + .../wwwroot/css/dropdownStyles.css | 16 + .../wwwroot/css/umbraco-starterkit-style.css | 2904 ++++ .../wwwroot/favicon.ico | Bin 0 -> 15406 bytes .../wwwroot/scripts/umbraco-starterkit-app.js | 54 + .../.eslintrc.cjs | 32 + .../.gitignore | 24 + .../editor/editor.html | 1 + .../package.manifest | 9 +- .../panel/panel.html | 1 + .../script.iife.js | 143 + .../script.iife.js.map | 1 + .../scripts/editor.controller.js | 59 - .../scripts/panel.controller.js | 33 - .../style/icomoon.css | 22 - .../views/editor.html | 11 - .../views/panel.html | 37 - .../Assets/ScriptAsset.cs | 17 + .../Composers/IcomoonPickerComposer.cs | 2 + .../Defaults/Defaults_IcomoonPicker.cs | 1 + .../frontend/public/editor/editor.html | 1 + .../frontend/public/package.manifest | 42 + .../frontend/public/panel/panel.html | 1 + .../src/context/assetsservice.context.ts | 5 + .../src/context/editorservice.context.ts | 6 + .../src/context/iconhelper.context.ts | 4 + .../context/localizationservice.context.ts | 7 + .../frontend/src/context/scope.context.ts | 5 + .../frontend/src/index.ts | 2 + .../src/models/assetsservice.model.ts | 6 + .../src/models/editorservice.model.ts | 32 + .../frontend/src/models/iconhelper.model.ts | 9 + .../src/models/localizationservice.model.ts | 5 + .../frontend/src/models/scope.model.ts | 15 + .../frontend/src/services/icomoon.service.ts | 13 + .../frontend/src/types/overrides.d.ts | 5 + .../frontend/src/util/axios.util.ts | 10 + .../src/util/bridge/angularbridge.mixin.ts | 37 + .../util/bridge/angulariconregistry.lit.ts | 64 + .../frontend/src/util/clonesvgnode.util.ts | 14 + .../src/util/litelementconstructor.util.ts | 3 + .../views/editor/components/content.lit.ts | 146 + .../frontend/src/views/editor/directive.ts | 62 + .../frontend/src/views/editor/index.ts | 6 + .../frontend/src/views/editor/main.lit.ts | 16 + .../src/views/panel/components/content.lit.ts | 110 + .../frontend/src/views/panel/directive.ts | 62 + .../frontend/src/views/panel/index.ts | 6 + .../frontend/src/views/panel/main.lit.ts | 16 + .../package-lock.json | 4243 ++++++ .../package.json | 32 + .../readme.md | 19 + .../tsconfig.json | 33 + .../vite.config.ts | 34 + 125 files changed, 23624 insertions(+), 267 deletions(-) create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/.gitignore create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Infocaster.Umbraco.IcomoonPicker.Website.csproj create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Middleware/AutologinMiddleware.cs create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Program.cs create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Properties/launchSettings.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Startup.cs create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Author.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/AuthorList.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blog.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blogpost.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Contact/Default.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Pagination/Default.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/FeaturedProducts.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/LatestBlogposts.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/CategoryLinks.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/ContactForm.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/SubNavigation.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/TopNavigation.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/SectionHeader.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/authors.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/codeSnippetRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/iconLinkRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageCarouselRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/latestArticlesRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/richTextRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/videoRow.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/default.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/footer.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3-fluid.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/base.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/embed.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/macro.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/media.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/rte.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/textstring.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/mainNavigation.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/metaData.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/pageHeader.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/xmlSitemap.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Person.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Product.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Products.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/SuperMaster.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/_ViewImports.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/article.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/articleList.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contact.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/content.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contentPage.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/error.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/home.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/master.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/people.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/search.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/Views/xMLSitemap.cshtml create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.Development.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/highlightjs-copy.min.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/styles.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/swiffy-slider.min.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/vs2015.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.default.min.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.min.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlightjs-copy.min.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/initHighlight.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/scripts.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/swiffy-slider.min.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/dropdownStyles.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/umbraco-starterkit-style.css create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/favicon.ico create mode 100644 src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/scripts/umbraco-starterkit-app.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/.eslintrc.cjs create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/.gitignore create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js.map delete mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/editor.controller.js delete mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/panel.controller.js delete mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/style/icomoon.css delete mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/editor.html delete mode 100644 src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/panel.html create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/Assets/ScriptAsset.cs create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/public/editor/editor.html create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/public/package.manifest create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/public/panel/panel.html create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/assetsservice.context.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/editorservice.context.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/iconhelper.context.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/localizationservice.context.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/scope.context.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/index.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/assetsservice.model.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/editorservice.model.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/iconhelper.model.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/localizationservice.model.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/scope.model.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/services/icomoon.service.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/types/overrides.d.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/axios.util.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angularbridge.mixin.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angulariconregistry.lit.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/clonesvgnode.util.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/litelementconstructor.util.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/directive.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/index.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/main.lit.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/components/content.lit.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/directive.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/index.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/main.lit.ts create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/package-lock.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/package.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/readme.md create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/tsconfig.json create mode 100644 src/Infocaster.Umbraco.IcomoonPicker/vite.config.ts diff --git a/.gitignore b/.gitignore index d836a03..b13cc66 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ artifacts/ **/dist/ /src/Infocaster.UmbracoWebsite.Web/config/serilog.user.config /src/Infocaster.UmbracoAwesome.Icomoon/UmbracoAwesome-IcomoonPicker.1.0.0.nupkg +/src/Infocaster.Umbraco.IcomoonPicker.Website/App_Plugins diff --git a/Infocaster.Umbraco.IcomoonPicker.sln b/Infocaster.Umbraco.IcomoonPicker.sln index f71ab7d..f5bda6f 100644 --- a/Infocaster.Umbraco.IcomoonPicker.sln +++ b/Infocaster.Umbraco.IcomoonPicker.sln @@ -17,8 +17,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution nuget.config = nuget.config README-NUGET.md = README-NUGET.md README.md = README.md + umbraco-marketplace.json = umbraco-marketplace.json EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infocaster.Umbraco.IcomoonPicker.Website", "src\Infocaster.Umbraco.IcomoonPicker.Website\Infocaster.Umbraco.IcomoonPicker.Website.csproj", "{BF3E7974-17A5-4D9C-8049-711D5E34589A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -29,6 +32,10 @@ Global {F936C692-CB32-4B26-A0D1-29A560B8DF11}.Debug|Any CPU.Build.0 = Debug|Any CPU {F936C692-CB32-4B26-A0D1-29A560B8DF11}.Release|Any CPU.ActiveCfg = Release|Any CPU {F936C692-CB32-4B26-A0D1-29A560B8DF11}.Release|Any CPU.Build.0 = Release|Any CPU + {BF3E7974-17A5-4D9C-8049-711D5E34589A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BF3E7974-17A5-4D9C-8049-711D5E34589A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BF3E7974-17A5-4D9C-8049-711D5E34589A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BF3E7974-17A5-4D9C-8049-711D5E34589A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 255c8ea..5cf4607 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,112 +1,131 @@ trigger: branches: include: - - v10/main - - v10/develop - - v10/release/* - - v10/hotfix + - v10/main + - v10/develop + - v10/release/* + - v10/hotfix tags: include: - - 10.* + - 10.* pool: name: Default -variables: - BuildConfiguration: 'release' - BuildPlatform: 'any cpu' +variables: + BuildConfiguration: "release" + BuildPlatform: "any cpu" Solution: '**\*.sln' NpmWorkingDirectory: 'src\Infocaster.Umbraco.IcomoonPicker' stages: -- stage: build - displayName: Build - jobs: - - job: build + - stage: build displayName: Build - steps: - - task: GitVersion@5 - displayName: GitVersion - inputs: - configFilePath: GitVersion.yml - updateAssemblyInfo: true - - - task: UseDotNet@2 - displayName: 'Use .NET 6' - inputs: - packageType: 'sdk' - version: '6.x' - - - task: DotNetCoreCLI@2 - displayName: 'dotnet restore' - inputs: - command: restore - feedsToUse: config - nugetConfigPath: nuget.config - - - task: DotNetCoreCLI@2 - displayName: 'dotnet build' - inputs: - command: build - projects: Infocaster.Umbraco.IcomoonPicker.sln - arguments: '--configuration $(BuildConfiguration) -p:Version=$(GitVersion.NuGetVersion)' - - - task: DotNetCoreCLI@2 - displayName: 'dotnet pack' - inputs: - command: pack - arguments: '--configuration $(BuildConfiguration) -p:Version=$(GitVersion.NuGetVersion)' - packagesToPack: src/**/*.csproj - versioningScheme: byEnvVar - versionEnvVar: GitVersion.NuGetVersion - - - task: PublishBuildArtifacts@1 - displayName: 'Publish build artifacts' - inputs: - PathtoPublish: '$(build.artifactstagingdirectory)' - ArtifactName: 'drop' - publishLocation: 'Container' - -- stage: release - displayName: Release - dependsOn: build - condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/')) - variables: - packageGlob: '$(Pipeline.Workspace)/**/IcomoonPicker*.nupkg' - jobs: - - job: releaseArtifact - displayName: Push to artifacts - workspace: - clean: all - steps: - - checkout: none - - - download: current - patterns: '**/*.nupkg' - displayName: Download build artifact - - - task: DotNetCoreCLI@2 - displayName: 'dotnet push' - inputs: - command: push - publishVstsFeed: '3356baca-d7d8-497c-a5fa-ebd93f79f7c7' - versioningScheme: byBuildNumber - packagesToPush: $(packageGlob) - - - job: releaseNuget - displayName: Push to nuget - workspace: - clean: all - steps: - - checkout: none - - - download: current - patterns: '**/*.nupkg' - displayName: Download build artifact - - - task: DotNetCoreCLI@2 - displayName: 'push to nuget.org' - inputs: - command: custom - custom: nuget - arguments: 'push $(packageGlob) -s https://api.nuget.org/v3/index.json --api-key $(NuGetApiKey)' \ No newline at end of file + jobs: + - job: build + displayName: Build + steps: + - task: GitVersion@5 + displayName: GitVersion + inputs: + configFilePath: GitVersion.yml + updateAssemblyInfo: true + + - task: NodeTool@0 + displayName: "Use node 20.x" + inputs: + versionSpec: "20.x" + + - task: Npm@1 + displayName: "Install icomoonpicker plugin front end packages" + inputs: + command: "custom" + workingDir: $(NpmWorkingDirectory) + customCommand: "ci" + + - task: Npm@1 + displayName: "Build icomoonpicker plugin front end" + inputs: + command: "custom" + workingDir: $(NpmWorkingDirectory) + customCommand: "run build" + + - task: UseDotNet@2 + displayName: "Use .NET 6" + inputs: + packageType: "sdk" + version: "6.x" + + - task: DotNetCoreCLI@2 + displayName: "dotnet restore" + inputs: + command: restore + feedsToUse: config + nugetConfigPath: nuget.config + + - task: DotNetCoreCLI@2 + displayName: "dotnet build" + inputs: + command: build + projects: Infocaster.Umbraco.IcomoonPicker.sln + arguments: "--configuration $(BuildConfiguration) -p:Version=$(GitVersion.NuGetVersion)" + + - task: DotNetCoreCLI@2 + displayName: "dotnet pack" + inputs: + command: pack + arguments: "--configuration $(BuildConfiguration) -p:Version=$(GitVersion.NuGetVersion)" + packagesToPack: src/**/*.csproj + versioningScheme: byEnvVar + versionEnvVar: GitVersion.NuGetVersion + + - task: PublishBuildArtifacts@1 + displayName: "Publish build artifacts" + inputs: + PathtoPublish: "$(build.artifactstagingdirectory)" + ArtifactName: "drop" + publishLocation: "Container" + + - stage: release + displayName: Release + dependsOn: build + condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/')) + variables: + packageGlob: "$(Pipeline.Workspace)/**/IcomoonPicker*.nupkg" + jobs: + - job: releaseArtifact + displayName: Push to artifacts + workspace: + clean: all + steps: + - checkout: none + + - download: current + patterns: "**/*.nupkg" + displayName: Download build artifact + + - task: DotNetCoreCLI@2 + displayName: "dotnet push" + inputs: + command: push + publishVstsFeed: "3356baca-d7d8-497c-a5fa-ebd93f79f7c7" + versioningScheme: byBuildNumber + packagesToPush: $(packageGlob) + + - job: releaseNuget + displayName: Push to nuget + workspace: + clean: all + steps: + - checkout: none + + - download: current + patterns: "**/*.nupkg" + displayName: Download build artifact + + - task: DotNetCoreCLI@2 + displayName: "push to nuget.org" + inputs: + command: custom + custom: nuget + arguments: "push $(packageGlob) -s https://api.nuget.org/v3/index.json --api-key $(NuGetApiKey)" diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/.gitignore b/src/Infocaster.Umbraco.IcomoonPicker.Website/.gitignore new file mode 100644 index 0000000..d183720 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/.gitignore @@ -0,0 +1,478 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +## +## Umbraco CMS +## + +# JSON schema file for appsettings.json +appsettings-schema.json + +# Packages created from the backoffice (package.xml/package.zip) +/umbraco/Data/CreatedPackages/ + +# Temp folder containing Examine indexes, NuCache, MediaCache, etc. +/umbraco/Data/TEMP/ + +# SQLite database files +/umbraco/Data/*.sqlite.db +/umbraco/Data/*.sqlite.db-shm +/umbraco/Data/*.sqlite.db-wal + +# Log files +/umbraco/Logs/ + +# Media files +/wwwroot/media/ diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Infocaster.Umbraco.IcomoonPicker.Website.csproj b/src/Infocaster.Umbraco.IcomoonPicker.Website/Infocaster.Umbraco.IcomoonPicker.Website.csproj new file mode 100644 index 0000000..6b5ecbb --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Infocaster.Umbraco.IcomoonPicker.Website.csproj @@ -0,0 +1,37 @@ + + + net6.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + true + + + + + false + false + + + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Middleware/AutologinMiddleware.cs b/src/Infocaster.Umbraco.IcomoonPicker.Website/Middleware/AutologinMiddleware.cs new file mode 100644 index 0000000..e449905 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Middleware/AutologinMiddleware.cs @@ -0,0 +1,72 @@ +using Umbraco.Cms.Core; +using Umbraco.Cms.Core.Security; +using Umbraco.Cms.Core.Services; +using Umbraco.Cms.Core.Web; +using Umbraco.Cms.Web.BackOffice.Security; + +namespace Infocaster.Umbraco.InlineStyleConvert.Website.Middleware +{ + public class AutoLoginMiddleware + { + private readonly RequestDelegate _next; + private readonly IRuntimeState _runtimeState; + + public AutoLoginMiddleware(RequestDelegate next, IRuntimeState runtimeState) + { + _next = next; + _runtimeState = runtimeState; + } + + public async Task InvokeAsync(HttpContext httpContext, IBackOfficeSignInManager signInManager, IBackOfficeUserManager backOfficeUserManager, IUmbracoContextAccessor umbracoContextAccessor) + { + // ignore this middleware as long as umbraco hasn't been initialised yet + if (_runtimeState.Level < RuntimeLevel.Run) + { + await _next(httpContext); + return; + } + + //if PublishedRequest is null, request is not from frontend + if (!IsAuthenticated(httpContext) && IsBackofficeRequest(umbracoContextAccessor) && RequestIsLocal(httpContext)) + { + //login default user + var user = await backOfficeUserManager.FindByIdAsync(Constants.Security.SuperUserIdAsString); + await signInManager.SignInAsync(user, true); + } + + await _next(httpContext); + } + + private static bool IsBackofficeRequest(IUmbracoContextAccessor umbracoContextAccessor) + { + return umbracoContextAccessor.TryGetUmbracoContext(out var umbracoContext) && umbracoContext.PublishedRequest is null; + } + + private static bool IsAuthenticated(HttpContext httpContext) + { + return httpContext.User.Identity?.IsAuthenticated ?? false; + } + + private static bool RequestIsLocal(HttpContext httpContext) + { + var remoteAddress = httpContext.Connection.RemoteIpAddress?.ToString() ?? string.Empty; + + // The requester may automatically sign in if the connect from a local ip or a local network ip + // (read as: connect from same device or device in infocaster network) + if (httpContext.Request.IsLocal() || remoteAddress.StartsWith("192.168")) + { + return true; + } + return false; + } + } + + public static class AutomatedBackOfficeLoginExtensions + { + public static IApplicationBuilder UseAutomatedBackOfficeAuthentication( + this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Program.cs b/src/Infocaster.Umbraco.IcomoonPicker.Website/Program.cs new file mode 100644 index 0000000..5c47cda --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Program.cs @@ -0,0 +1,19 @@ +namespace Infocaster.Umbraco.InlineStyleConvert +{ + public class Program + { + public static void Main(string[] args) + => CreateHostBuilder(args) + .Build() + .Run(); + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureUmbracoDefaults() + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStaticWebAssets(); + webBuilder.UseStartup(); + }); + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Properties/launchSettings.json b/src/Infocaster.Umbraco.IcomoonPicker.Website/Properties/launchSettings.json new file mode 100644 index 0000000..ff4cc06 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Properties/launchSettings.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:36424", + "sslPort": 44354 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Umbraco.Web.UI": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:44354;http://localhost:36424", + "launchUrl": "umbraco", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Startup.cs b/src/Infocaster.Umbraco.IcomoonPicker.Website/Startup.cs new file mode 100644 index 0000000..9b71632 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Startup.cs @@ -0,0 +1,69 @@ +using Infocaster.Umbraco.InlineStyleConvert.Website.Middleware; + +namespace Infocaster.Umbraco.InlineStyleConvert +{ + public class Startup + { + private readonly IWebHostEnvironment _env; + private readonly IConfiguration _config; + + /// + /// Initializes a new instance of the class. + /// + /// The web hosting environment. + /// The configuration. + /// + /// Only a few services are possible to be injected here https://github.com/dotnet/aspnetcore/issues/9337. + /// + public Startup(IWebHostEnvironment webHostEnvironment, IConfiguration config) + { + _env = webHostEnvironment ?? throw new ArgumentNullException(nameof(webHostEnvironment)); + _config = config ?? throw new ArgumentNullException(nameof(config)); + } + + /// + /// Configures the services. + /// + /// The services. + /// + /// This method gets called by the runtime. Use this method to add services to the container. + /// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940. + /// + public void ConfigureServices(IServiceCollection services) + { + services.AddUmbraco(_env, _config) + .AddBackOffice() + .AddWebsite() + .AddComposers() + .Build(); + } + + /// + /// Configures the application. + /// + /// The application builder. + /// The web hosting environment. + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.UseUmbraco() + .WithMiddleware(u => + { + u.UseBackOffice(); + u.UseWebsite(); + + u.AppBuilder.UseAutomatedBackOfficeAuthentication(); + }) + .WithEndpoints(u => + { + u.UseInstallerEndpoints(); + u.UseBackOfficeEndpoints(); + u.UseWebsiteEndpoints(); + }); + } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Author.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Author.cshtml new file mode 100644 index 0000000..41b2777 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Author.cshtml @@ -0,0 +1,30 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; + var authorListPage = Model.Parent as AuthorList; +} + + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, authorListPage.MainImage, null, null)) + +
+
+
+
+ +
+
+ @Model.Name +

@Model.Name

+
+
+ + @Html.GetBlockListHtml(Model.ContentRows) +
+
+
+
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/AuthorList.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/AuthorList.cshtml new file mode 100644 index 0000000..f0a499c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/AuthorList.cshtml @@ -0,0 +1,12 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +@await Html.PartialAsync("~/Views/Partials/authors.cshtml") \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blog.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blog.cshtml new file mode 100644 index 0000000..f5ecc1c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blog.cshtml @@ -0,0 +1,21 @@ +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@{ + Layout = "master.cshtml"; +} +@Html.Partial("~/Views/Partials/SectionHeader.cshtml") + +
+ +
+ @await Umbraco.RenderMacroAsync("latestBlogposts", + new + { + numberOfPosts = Model.HowManyPostsShouldBeShown, + startNodeId = Model.Id + }) +
+ +
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blogpost.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blogpost.cshtml new file mode 100644 index 0000000..125706f --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Blogpost.cshtml @@ -0,0 +1,24 @@ +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels +@using Microsoft.AspNetCore.Mvc.Rendering +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "master.cshtml"; +} +@Html.Partial("~/Views/Partials/SectionHeader.cshtml") + +
+
+
+
+ @Model.CreateDate.ToShortDateString() + + @Html.Partial("~/Views/Partials/CategoryLinks.cshtml", Model.Categories) + +
+

@Model.Excerpt

+ @Html.GetGridHtml(Model, "bodyText", "bootstrap3-fluid") + +
+
+
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Contact/Default.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Contact/Default.cshtml new file mode 100644 index 0000000..b876527 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Contact/Default.cshtml @@ -0,0 +1,26 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels; + +@using (Html.BeginUmbracoForm("SubmitForm", "ContactSurface", FormMethod.Post, new { @class = "text-left" })) +{ +
+ + + +
+
+ + + +
+
+ + + +
+
+
+ +
+} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Pagination/Default.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Pagination/Default.cshtml new file mode 100644 index 0000000..ac0eaf5 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Components/Pagination/Default.cshtml @@ -0,0 +1,48 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels; + + \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/FeaturedProducts.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/FeaturedProducts.cshtml new file mode 100644 index 0000000..4dd2478 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/FeaturedProducts.cshtml @@ -0,0 +1,27 @@ +@using Umbraco.Cms.Core.Models.PublishedContent +@using Umbraco.Cms.Core.Routing +@using Umbraco.Cms.Web.Common +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Macros.PartialViewMacroPage +@inject UmbracoHelper Umbraco +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider +@* + This snippet lists the items from a Multinode tree picker, using the pickers default settings. + Content Values stored as xml. + + To get it working with any site's data structure, set the selection equal to the property which has the + multinode treepicker (so: replace "PropertyWithPicker" with the alias of your property). +*@ + +@{ var selection = Model.Content.Value>(PublishedValueFallback, "PropertyWithPicker").ToArray(); } + +
    + @foreach (var id in selection) + { + var item = Umbraco.Content(id); +
  • + @item.Name +
  • + } +
diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/LatestBlogposts.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/LatestBlogposts.cshtml new file mode 100644 index 0000000..bafaf2e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/MacroPartials/LatestBlogposts.cshtml @@ -0,0 +1,102 @@ +@using Microsoft.AspNetCore.Http +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels +@using Microsoft.AspNetCore.Mvc.Rendering +@using Umbraco.Cms.Core.Routing +@using Umbraco.Cms.Web.Common +@inherits Umbraco.Cms.Web.Common.Macros.PartialViewMacroPage +@inject UmbracoHelper Umbraco +@inject IPublishedUrlProvider PublishedUrlProvider +@inject IHttpContextAccessor HttpContextAccessor +@{ + var startNodeId = Model.MacroParameters["startNodeId"] ?? Model.Content.Id; + + var numberOfPosts = 3; + if (Model.MacroParameters["numberOfPosts"] != null) + { + int.TryParse((string)Model.MacroParameters["numberOfPosts"], out numberOfPosts); + } +} + +@if (startNodeId != null) +{ + @* Get the starting page *@ + var startNode = Umbraco.Content(startNodeId); + + if (startNode == null) + { +
+

There are no posts at this time, try again later.

+
+ + return; + } + + var httpContext = HttpContextAccessor.HttpContext; + + //Gets all blogposts to calculate pages + var blogposts = startNode.Children.OrderBy(x => x.CreateDate).ToList(); + var pageCount = (int)Math.Ceiling((double)blogposts.Count / (double)numberOfPosts); + //gets the page from the querystring and sets it to one if it is out of range + var page = 1; + if (httpContext != null && !string.IsNullOrEmpty(httpContext.Request.Query["page"])) + { + int.TryParse(httpContext.Request.Query["page"], out page); + if (page <= 0 || page > pageCount) + { + page = 1; + } + } + //Gets the blogposts for the current page + var pagedBlogposts = blogposts.Skip((page - 1) * numberOfPosts).Take(numberOfPosts).ToList(); + + if (pagedBlogposts.Count > 0) + { + + } + + if (blogposts.Count > numberOfPosts) + { + + } +} + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/CategoryLinks.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/CategoryLinks.cshtml new file mode 100644 index 0000000..ab8ce54 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/CategoryLinks.cshtml @@ -0,0 +1,7 @@ +@model IEnumerable +@foreach (var category in Model) +{ + + @category + +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/ContactForm.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/ContactForm.cshtml new file mode 100644 index 0000000..63462a7 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/ContactForm.cshtml @@ -0,0 +1,29 @@ +@using Umbraco.Extensions +@using Umbraco.SampleSite +@model Umbraco.SampleSite.ContactFormViewModel + +@{ + var message = TempData["Message"]?.ToString(); +} +
+@using (Html.BeginUmbracoForm(nameof(ContactFormController.Submit))) +{ +
+ @Html.TextBoxFor(m => m.Name, new {@class="form-control", placeholder = Html.DisplayNameFor(m => m.Name)}) + @Html.ValidationMessageFor(m => m.Name) +
+
+ @Html.TextBoxFor(m => m.Email, new {@class="form-control", placeholder = Html.DisplayNameFor(m => m.Email)}) + @Html.ValidationMessageFor(m => m.Email) +
+
+ @Html.TextAreaFor(m => m.Message, new {@class="form-control", placeholder = Html.DisplayNameFor(m => m.Message)}) + @Html.ValidationMessageFor(m => m.Message) +
+ + @if (!string.IsNullOrEmpty(message)) + { + @message + } +} +
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/SubNavigation.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/SubNavigation.cshtml new file mode 100644 index 0000000..f8e92b0 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/SubNavigation.cshtml @@ -0,0 +1,16 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@using Umbraco.Cms.Core.Models.PublishedContent +@using Umbraco.Cms.Core.Routing +@using Umbraco.Extensions + +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider +@{ + var siteSection = Model.AncestorOrSelf(2); + var selection = siteSection.Children.Where(x => x.IsVisible(PublishedValueFallback)); +} + +@foreach (var item in selection) +{ + @item.Name +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/TopNavigation.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/TopNavigation.cshtml new file mode 100644 index 0000000..81ebf0d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/Navigation/TopNavigation.cshtml @@ -0,0 +1,14 @@ +@using Umbraco.Cms.Core.Models.PublishedContent +@using Umbraco.Cms.Core.Routing +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + var site = Model.Root(); + var selection = site.Children.Where(x => x.IsVisible()); +} + +@site.Name +@foreach (var item in selection) +{ + @item.Name +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/SectionHeader.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/SectionHeader.cshtml new file mode 100644 index 0000000..114c397 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/SectionHeader.cshtml @@ -0,0 +1,6 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +
+
+

@Model.GetProperty("PageTitle").GetValue()

+
+
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/authors.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/authors.cshtml new file mode 100644 index 0000000..50f9aa4 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/authors.cshtml @@ -0,0 +1,55 @@ +@inherits UmbracoViewPage + +@using Clean.Core.Helpers +@using Clean.Core.Models.ViewModels; +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + AuthorList authorList = UmbracoContext.Content.GetAtRoot().DescendantsOrSelf().FirstOrDefault(); + int modelId = Model.Id; + var isAuthorListPage = modelId == authorList?.Id; + var fallbackPageSize = isAuthorListPage ? 10 : 3; + + var pageSize = QueryStringHelper.GetIntFromQueryString(Context.Request.Query, "size", fallbackPageSize); + var pageNumber = QueryStringHelper.GetIntFromQueryString(Context.Request.Query, "page", 1); + var allAuthors = authorList?.Children().Where(x => x.IsVisible()) ?? Enumerable.Empty(); + var pageOfAuthors = allAuthors.Skip((pageNumber - 1) * pageSize).Take(pageSize); + var totalItemCount = allAuthors.Count(); + var pageCount = totalItemCount > 0 ? Math.Ceiling((double)totalItemCount / pageSize) : 1; + +} + +
+
+
+
+
+ @foreach (var author in pageOfAuthors) + { +
+
+
+ @author.Name +
+
+
+

@author.Name

+

@author.MetaDescription

+ + @Umbraco.GetDictionaryValue("Author.ReadMore") + +
+
+
+
+ } +
+
+ + @if (isAuthorListPage) + { + @await Component.InvokeAsync("Pagination", new { totalItems = totalItemCount, url = Model.Url(), pageNumber = pageNumber, pageSize = pageSize }) + } +
+
+
diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/codeSnippetRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/codeSnippetRow.cshtml new file mode 100644 index 0000000..18855dc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/codeSnippetRow.cshtml @@ -0,0 +1,30 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks + +@{ + var row = Model.Content as CodeSnippetRow; + var settings = Model.Settings as CodeSnippetRowSettings; + if (settings?.Hide ?? false) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = Clean.Core.Helpers.SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } + + SmidgeHelper.RequiresCss("~/clean-assets/css/vs2015.css"); + SmidgeHelper.RequiresCss("~/clean-assets/css/highlightjs-copy.min.css"); + SmidgeHelper.RequiresJs("~/clean-assets/js/highlight.min.js"); + SmidgeHelper.RequiresJs("~/clean-assets/js/highlightjs-copy.min.js"); + SmidgeHelper.RequiresJs("~/clean-assets/js/initHighlight.js"); +} + +
+
+
@row.Code
+ @if (!string.IsNullOrWhiteSpace(row.Title)) + { +

@row.Title

+ } +
+
\ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/iconLinkRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/iconLinkRow.cshtml new file mode 100644 index 0000000..ab34ffc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/iconLinkRow.cshtml @@ -0,0 +1,15 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks +@addTagHelper *, Clean.Core + +@{ + var row = Model.Content as IconLinkRow; + var settings = Model.Settings as IconLinkRowSettings; + if (settings?.Hide ?? false) { return; } +} + +
  • + + + +
  • \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageCarouselRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageCarouselRow.cshtml new file mode 100644 index 0000000..d6fbe7c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageCarouselRow.cshtml @@ -0,0 +1,57 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks +@using Clean.Core.Extensions + +@{ + var row = Model.Content as ImageCarouselRow; + var settings = Model.Settings as ImageCarouselRowSettings; + if (settings?.Hide ?? false) { return; } + if (row.Images == null || !row.Images.Any()) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = Clean.Core.Helpers.SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } + + SmidgeHelper.RequiresCss("~/clean-assets/css/swiffy-slider.min.css"); + SmidgeHelper.RequiresJs("~/clean-assets/js/swiffy-slider.min.js"); +} + +
    +
    +
    +
      + @foreach (var item in row.Images) + { +
    • @item.Content.GetAltText()
    • + } +
    + + + + +
    + + @if (row.Images.Count() > 1) + { + foreach (var image in row.Images.Skip(1)) + { + + } + } +
    + +
    + + @if (row.Images.Count() > 1) + { + foreach (var image in row.Images.Skip(1)) + { + + } + } +
    +
    +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageRow.cshtml new file mode 100644 index 0000000..d207c8f --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/imageRow.cshtml @@ -0,0 +1,26 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks +@using Clean.Core.Extensions + +@{ + var row = Model.Content as ImageRow; + var settings = Model.Settings as ImageRowSettings; + if (settings?.Hide ?? false) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = Clean.Core.Helpers.SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } +} + +
    +
    + @row.Image.Content.GetAltText() + @if (!string.IsNullOrWhiteSpace(row.Caption)) + { +

    @row.Caption

    + } +
    +
    + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/latestArticlesRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/latestArticlesRow.cshtml new file mode 100644 index 0000000..c134a92 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/latestArticlesRow.cshtml @@ -0,0 +1,76 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks +@using Clean.Core.Extensions +@using Clean.Core.Helpers + +@{ + var row = Model.Content as LatestArticlesRow; + var settings = Model.Settings as LatestArticlesRowSettings; + if (settings?.Hide ?? false) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } + + var pageSize = row.PageSize; + var pageNumber = QueryStringHelper.GetIntFromQueryString(Context.Request.Query, "page", 1); + var allArticles = row.ArticleList.Children
    ().Where(x => x.IsVisible()).OrderByDescending(x => x.ArticleDate) ?? Enumerable.Empty
    (); + var pageOfArticles = allArticles.Skip((pageNumber - 1) * pageSize).Take(pageSize); + var totalItemCount = allArticles.Count(); + var pageCount = totalItemCount > 0 ? Math.Ceiling((double)totalItemCount / pageSize) : 1; +} + +
    +
    + @foreach (var article in pageOfArticles) + { + var author = article.GetAuthor(Umbraco); + bool.TryParse(article.Value("showFullArticleOnListPage", fallback: Fallback.ToAncestors), out var showFullArticleOnListPage); + +
    + +

    + @(!string.IsNullOrWhiteSpace(article.Title) ? article.Title : article.Name) +

    + @if (!string.IsNullOrWhiteSpace(article.Subtitle)) + { +

    @article.Subtitle

    + } +
    + + @if (showFullArticleOnListPage && article.Categories != null && article.Categories.Any()) + { + + @foreach (var category in article.Categories.Select(x => x.Name).OrderBy(y => y)) + { + @category + } + + } +
    + + @if (showFullArticleOnListPage) + { +
    +
    + @Html.GetBlockListHtml(article.ContentRows) +
    +
    + } + +
    + } + + @if (row.ShowPagination) + { + @await Component.InvokeAsync("Pagination", new { totalItems = totalItemCount, url = row.ArticleList.Url(), pageNumber = pageNumber, pageSize = pageSize }) + } +
    +
    + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/richTextRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/richTextRow.cshtml new file mode 100644 index 0000000..e33199c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/richTextRow.cshtml @@ -0,0 +1,20 @@ +@inherits UmbracoViewPage +@using Umbraco.Cms.Core.Models.Blocks + +@{ + var row = Model.Content as RichTextRow; + var settings = Model.Settings as RichTextRowSettings; + if (settings?.Hide ?? false) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = Clean.Core.Helpers.SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } +} + +
    +
    + @row.Content +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/videoRow.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/videoRow.cshtml new file mode 100644 index 0000000..8d57cdb --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/Components/videoRow.cshtml @@ -0,0 +1,29 @@ +@inherits UmbracoViewPage +@using Clean.Core.Helpers +@using Umbraco.Cms.Core.Models.Blocks + +@{ + var row = Model.Content as VideoRow; + var settings = Model.Settings as VideoRowSettings; + if (settings?.Hide ?? false) { return; } + if (string.IsNullOrWhiteSpace(row.VideoUrl)) { return; } + + var spacingClasses = ""; + if (Model.Settings is ISpacingProperties spacing) + { + spacingClasses = Clean.Core.Helpers.SpacingHelper.GetSpacingClasses(spacing.PaddingTop, spacing.PaddingBottom, spacing.PaddingLeft, spacing.PaddingRight, spacing.MarginTop, spacing.MarginBottom, spacing.MarginLeft, spacing.MarginRight); + } + + var videoId = VideoUrlHelper.GetVideoId(row.VideoUrl); +} + +
    +
    +
    + @if (!string.IsNullOrWhiteSpace(row.Caption)) + { +

    @row.Caption

    + } +
    +
    + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/default.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/default.cshtml new file mode 100644 index 0000000..accca2e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/blocklist/default.cshtml @@ -0,0 +1,13 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + if (Model?.Any() != true) { return; } +} +
    + @foreach (var block in Model) + { + if (block?.ContentUdi == null) { continue; } + var data = block.Content; + + @await Html.PartialAsync("blocklist/Components/" + data.ContentType.Alias, block) + } +
    diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/footer.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/footer.cshtml new file mode 100644 index 0000000..f4d2074 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/footer.cshtml @@ -0,0 +1,24 @@ +@inherits UmbracoViewPage +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + var homePage = Model.AncestorOrSelf(); +} + + +
    +
    +
    +
    + @if (homePage.SocialIconLinks != null && homePage.SocialIconLinks.Any()) + { +
      + @Html.GetBlockListHtml(homePage.SocialIconLinks) +
    + } +

    @Umbraco.GetDictionaryValue("Footer.CopyrightTitle") © @DateTime.Now.Year @Umbraco.GetDictionaryValue("Footer.CopyrightStatement")

    +

    Theme by Start Bootstrap, implemented in Umbraco by Paul Seal from codeshare.co.uk

    +
    +
    +
    +
    diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3-fluid.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3-fluid.cshtml new file mode 100644 index 0000000..b92734e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3-fluid.cshtml @@ -0,0 +1,106 @@ +@using System.Web +@using Microsoft.AspNetCore.Html +@using Newtonsoft.Json.Linq +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@* + Razor helpers located at the bottom of this file +*@ + +@if (Model is JObject && Model?.sections is not null) +{ + var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; + +
    + @if (oneColumn) + { + foreach (var section in Model.sections) + { +
    + @foreach (var row in section.rows) + { + renderRow(row); + } +
    + } + } + else + { +
    + @foreach (var sec in Model.sections) + { +
    +
    + @foreach (var row in sec.rows) + { + renderRow(row); + } +
    +
    + } +
    + } +
    +} + +@functions{ + + private async Task renderRow(dynamic row) + { +
    +
    + @foreach (var area in row.areas) + { +
    +
    + @foreach (var control in area.controls) + { + if (control?.editor?.view != null) + { + @await Html.PartialAsync("grid/editors/base", (object)control) + } + } +
    +
    + } +
    +
    + } +} + +@functions{ + + public static HtmlString RenderElementAttributes(dynamic contentItem) + { + var attrs = new List(); + JObject cfg = contentItem.config; + + if (cfg != null) + { + foreach (JProperty property in cfg.Properties()) + { + var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString()); + attrs.Add(property.Name + "=\"" + propertyValue + "\""); + } + } + + JObject style = contentItem.styles; + + if (style != null) { + var cssVals = new List(); + foreach (JProperty property in style.Properties()) + { + var propertyValue = property.Value.ToString(); + if (string.IsNullOrWhiteSpace(propertyValue) == false) + { + cssVals.Add(property.Name + ":" + propertyValue + ";"); + } + } + + if (cssVals.Any()) + attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'"); + } + + return new HtmlString(string.Join(" ", attrs)); + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3.cshtml new file mode 100644 index 0000000..8863788 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/bootstrap3.cshtml @@ -0,0 +1,112 @@ +@using System.Web +@using Microsoft.AspNetCore.Html +@using Newtonsoft.Json.Linq +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@if (Model is JObject && Model?.sections is not null) +{ + var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; + +
    + @if (oneColumn) + { + foreach (var section in Model.sections) + { +
    + @foreach (var row in section.rows) + { + renderRow(row, true); + } +
    + } + } + else + { +
    +
    + @foreach (var sec in Model.sections) + { +
    +
    + @foreach (var row in sec.rows) + { + renderRow(row, false); + } +
    +
    + } +
    +
    + } +
    +} + +@functions{ + + private async Task renderRow(dynamic row, bool singleColumn) + { +
    + @if (singleColumn) { + @:
    + } +
    + @foreach (var area in row.areas) + { +
    +
    + @foreach (var control in area.controls) + { + if (control?.editor?.view != null) + { + @await Html.PartialAsync("grid/editors/base", (object)control) + } + } +
    +
    + } +
    + @if (singleColumn) { + @:
    + } +
    + } + +} + +@functions{ + + public static HtmlString RenderElementAttributes(dynamic contentItem) + { + var attrs = new List(); + JObject cfg = contentItem.config; + + if (cfg != null) + { + foreach (JProperty property in cfg.Properties()) + { + var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString()); + attrs.Add(property.Name + "=\"" + propertyValue + "\""); + } + } + + JObject style = contentItem.styles; + + if (style != null) + { + var cssVals = new List(); + foreach (JProperty property in style.Properties()) + { + var propertyValue = property.Value.ToString(); + if (string.IsNullOrWhiteSpace(propertyValue) == false) + { + cssVals.Add(property.Name + ":" + propertyValue + ";"); + } + } + + if (cssVals.Any()) + attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\""); + } + + return new HtmlString(string.Join(" ", attrs)); + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/base.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/base.cshtml new file mode 100644 index 0000000..e40543b --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/base.cshtml @@ -0,0 +1,27 @@ +@model dynamic + +@try +{ + string editor = EditorView(Model); + @await Html.PartialAsync(editor, Model as object) +} +catch (Exception ex) +{ +
    @ex.ToString()
    +} + +@functions{ + + public static string EditorView(dynamic contentItem) + { + string view = contentItem.editor.render != null ? contentItem.editor.render.ToString() : contentItem.editor.view.ToString(); + view = view.Replace(".html", ".cshtml"); + + if (!view.Contains("/")) + { + view = "grid/editors/" + view; + } + + return view; + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/embed.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/embed.cshtml new file mode 100644 index 0000000..74c8fe2 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/embed.cshtml @@ -0,0 +1,11 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@if (Model is not null) +{ + string embedValue = Convert.ToString(Model.value); + embedValue = embedValue.DetectIsJson() ? Model.value.preview : Model.value; + +
    + @Html.Raw(embedValue) +
    +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/macro.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/macro.cshtml new file mode 100644 index 0000000..a4450d1 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/macro.cshtml @@ -0,0 +1,15 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@if (Model?.value is not null) +{ + string macroAlias = Model.value.macroAlias.ToString(); + var parameters = new Dictionary(); + foreach (var mpd in Model.value.macroParamsDictionary) + { + parameters.Add(mpd.Name, mpd.Value); + } + + + @await Umbraco.RenderMacroAsync(macroAlias, parameters) + +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/media.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/media.cshtml new file mode 100644 index 0000000..bc3b111 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/media.cshtml @@ -0,0 +1,64 @@ +@model dynamic +@using Umbraco.Cms.Core.Media +@using Umbraco.Cms.Core.PropertyEditors.ValueConverters +@inject IImageUrlGenerator ImageUrlGenerator + +@if (Model?.value is not null) +{ + var url = Model.value.image; + + if (Model.editor.config != null && Model.editor.config.size != null) + { + if (Model.value.coordinates != null) + { + url = ImageCropperTemplateCoreExtensions.GetCropUrl( + (string)url, + ImageUrlGenerator, + width: (int)Model.editor.config.size.width, + height: (int)Model.editor.config.size.height, + cropAlias: "default", + cropDataSet: new ImageCropperValue + { + Crops = new[] + { + new ImageCropperValue.ImageCropperCrop + { + Alias = "default", + Coordinates = new ImageCropperValue.ImageCropperCropCoordinates + { + X1 = (decimal)Model.value.coordinates.x1, + Y1 = (decimal)Model.value.coordinates.y1, + X2 = (decimal)Model.value.coordinates.x2, + Y2 = (decimal)Model.value.coordinates.y2 + } + } + } + }); + } + else + { + url = ImageCropperTemplateCoreExtensions.GetCropUrl( + (string)url, + ImageUrlGenerator, + width: (int)Model.editor.config.size.width, + height: (int)Model.editor.config.size.height, + cropDataSet: new ImageCropperValue + { + FocalPoint = new ImageCropperValue.ImageCropperFocalPoint + { + Top = Model.value.focalPoint == null ? 0.5m : Model.value.focalPoint.top, + Left = Model.value.focalPoint == null ? 0.5m : Model.value.focalPoint.left + } + }); + } + } + + var altText = Model.value.altText ?? Model.value.caption ?? string.Empty; + + @altText + + if (Model.value.caption != null) + { +

    @Model.value.caption

    + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/rte.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/rte.cshtml new file mode 100644 index 0000000..9445666 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/rte.cshtml @@ -0,0 +1,13 @@ +@using Umbraco.Cms.Core.Templates +@model dynamic +@inject HtmlLocalLinkParser HtmlLocalLinkParser; +@inject HtmlUrlParser HtmlUrlParser; +@inject HtmlImageSourceParser HtmlImageSourceParser; + +@{ + var value = HtmlLocalLinkParser.EnsureInternalLinks(Model?.value.ToString()); + value = HtmlUrlParser.EnsureUrls(value); + value = HtmlImageSourceParser.EnsureImageSources(value); +} + +@Html.Raw(value) diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/textstring.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/textstring.cshtml new file mode 100644 index 0000000..e6b9352 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/grid/editors/textstring.cshtml @@ -0,0 +1,22 @@ +@model dynamic + +@if (Model?.editor.config.markup is not null) +{ + string markup = Model.editor.config.markup.ToString(); + markup = markup.Replace("#value#", Html.ReplaceLineBreaks((string)Model.value.ToString()).ToString()); + + if (Model.editor.config.style != null) + { + markup = markup.Replace("#style#", Model.editor.config.style.ToString()); + } + + + @Html.Raw(markup) + +} +else +{ + +
    @Model?.value
    +
    +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/mainNavigation.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/mainNavigation.cshtml new file mode 100644 index 0000000..5b21600 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/mainNavigation.cshtml @@ -0,0 +1,30 @@ +@inherits UmbracoViewPage +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + var homePage = Model.AncestorOrSelf(); +} + + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/metaData.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/metaData.cshtml new file mode 100644 index 0000000..39ae981 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/metaData.cshtml @@ -0,0 +1,44 @@ +@inherits UmbracoViewPage + +@{ + var homePage = Model.AncestorOrSelf(); + string domainAddress = homePage.Url(mode:UrlMode.Absolute).TrimEnd('/'); + string canonicalLink = domainAddress + Model.Url(); + string metaName = Model.Value("metaName"); + string metaDescription = Model.Value("metaDescription"); + var metaKeywords = Model.Value>("metaKeywords"); +} + + + + + + + @string.Format("{0} | {1}", Model.Name, Umbraco.GetDictionaryValue("Navigation.SiteName")) + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/pageHeader.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/pageHeader.cshtml new file mode 100644 index 0000000..45b3520 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/pageHeader.cshtml @@ -0,0 +1,48 @@ +@inherits UmbracoViewPage + +@{ + string mainImageUrl = Model.HasBackgroundImage ? Model.BackgroundImage.GetCropUrl(1903, 628) : "/media/f01jqvmq/2.jpg"; +} + +
    +
    +
    +
    +
    +

    @(!string.IsNullOrWhiteSpace(Model.Title) ? Model.Title : Model.Name)

    + + @if (Model.IsArticle) + { + if (Model.HasSubtitle) + { +

    @Model.Subtitle

    + } + + Posted + @if (Model.HasAuthor) + { + @Umbraco.GetDictionaryValue("Article.By")@Html.Raw(" ")@Model.AuthorName + } + @Umbraco.GetDictionaryValue("Article.On")@Html.Raw(" ")@Model.ArticleDate.Value.ToString("MMMM dd, yyyy") + + @if (Model.Categories != null && Model.Categories.Any()) + { + + @foreach (var category in Model.Categories.Select(x => x.Name).OrderBy(y => y)) + { + @category + } + } + } + else + { + if (Model.HasSubtitle) + { + @(Model.Subtitle) + } + } +
    +
    +
    +
    +
    diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/xmlSitemap.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/xmlSitemap.cshtml new file mode 100644 index 0000000..a1c5049 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Partials/xmlSitemap.cshtml @@ -0,0 +1,32 @@ +@model IPublishedContent +@{ + + var homePage = Model.AncestorOrSelf("home"); + void RenderChildPages(IEnumerable contentItems) + { + if (contentItems.Any()) + { + foreach (var content in contentItems.Where(x => x.IsVisible())) + { + if (!(content.HasProperty("excludeFromSitemap") && content.Value("excludeFromSitemap"))) + { +@content.Url(mode:UrlMode.Absolute)@content.UpdateDate.ToString("yyyy-MM-ddTHH:mm:sszzz") + if (content.Children.Any(x => x.IsVisible())) + { + RenderChildPages(content.Children); + } + } + } + } + }; +} + + +@homePage.Url(mode: UrlMode.Absolute)1.0@homePage.UpdateDate.ToString("yyyy-MM-ddTHH:mm:sszzz") + @{ + RenderChildPages(homePage.Children); + } + + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Person.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Person.cshtml new file mode 100644 index 0000000..dcf45e1 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Person.cshtml @@ -0,0 +1,4 @@ +@{ + Layout = "master.cshtml"; +} +

    Nothing to see, but we could make a lesson to display a person

    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Product.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Product.cshtml new file mode 100644 index 0000000..3580ec4 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Product.cshtml @@ -0,0 +1,47 @@ +@using Umbraco.Cms.Web.Common.PublishedModels +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "master.cshtml"; + var defaultCurrency = Model.Parent().DefaultCurrency; +} + +@Html.Partial("~/Views/Partials/SectionHeader.cshtml", Model.Parent) + +
    +
    +
    +
    +
    + @Model.ProductName image +
    +
    +
    +

    @Model.ProductName

    +
    @defaultCurrency @Model.Price.ToString("F")
    +
    @Model.Description
    +
    + +
    +
    + @if (Model.Features != null) + { + foreach (var feature in Model.Features) + { +
    +

    @feature.FeatureName

    +
    @feature.FeatureDetails
    +
    + } + } +
    +
    +
    +
    +
    +
    +
    + + @Html.GetGridHtml(Model, "bodyText", "bootstrap3-fluid") +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Products.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Products.cshtml new file mode 100644 index 0000000..2998d55 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/Products.cshtml @@ -0,0 +1,43 @@ +@using Umbraco.Cms.Web.Common.PublishedModels; +@using Umbraco.Extensions +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels; + +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@{ + Layout = "master.cshtml"; +} + +@Html.Partial("~/Views/Partials/SectionHeader.cshtml") + +
    + +
    + + + +
    + @if (Model.FeaturedProducts != null) + { + foreach (Product product in Model.FeaturedProducts) + { + +
    +
    @product.ProductName
    +
    @Model.DefaultCurrency @product.Price.ToString("F")
    +
    +
    + } + } +
    +
    + +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/SuperMaster.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/SuperMaster.cshtml new file mode 100644 index 0000000..1d56c8f --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/SuperMaster.cshtml @@ -0,0 +1,33 @@ +@using Umbraco.Cms.Web.Common.PublishedModels; +@using Umbraco.Extensions + +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = null; + // Get basic design settings from the homepage + var home = (Home)Model.Root(); + var font = home.Font; + var colorTheme = home.ColorTheme; +} + + + + + + + @Model.Name - @home.Sitename + + + + @if(this.HasInlineStyles()) + { + + } + + + @RenderSection("Header", required: false) + + @RenderBody() + \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/_ViewImports.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/_ViewImports.cshtml new file mode 100644 index 0000000..0e7994d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/_ViewImports.cshtml @@ -0,0 +1,10 @@ +@using Umbraco.Extensions +@using Infocaster.Umbraco.InlineStyleConvert +@using Umbraco.Cms.Web.Common.PublishedModels +@using Umbraco.Cms.Web.Common.Views +@using Umbraco.Cms.Core.Models.PublishedContent +@using Microsoft.AspNetCore.Html +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Smidge +@addTagHelper *, Infocaster.Umbraco.InlineStyleConvert +@inject Smidge.SmidgeHelper SmidgeHelper diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/article.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/article.cshtml new file mode 100644 index 0000000..e9abfff --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/article.cshtml @@ -0,0 +1,23 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels +@using Umbraco.Cms.Core +@using Clean.Core.Extensions + +@{ + Layout = "master.cshtml"; + var author = Model.GetAuthor(Umbraco); +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage, author.Name, Model.ArticleDate, Model.Categories)) + +
    +
    +
    +
    + @Html.GetBlockListHtml(Model.ContentRows) +
    +
    +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/articleList.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/articleList.cshtml new file mode 100644 index 0000000..09454dc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/articleList.cshtml @@ -0,0 +1,23 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +@if (Model.ContentRows != null) +{ +
    +
    +
    +
    + @Html.GetBlockListHtml(Model.ContentRows) +
    +
    +
    +
    +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contact.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contact.cshtml new file mode 100644 index 0000000..6cc6bd2 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contact.cshtml @@ -0,0 +1,44 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; + var submitted = false; + if (bool.TryParse(TempData["Success"]?.ToString() ?? "", out var success)) + { + submitted = true; + } +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +
    +
    +
    +
    + @if(submitted) + { + + @if (success) + { + @Model.SuccessMessage + } + else + { + @Model.ErrorMessage + } + } + else + { + @Model.InstructionMessage +
    + @await Component.InvokeAsync("Contact") +
    + + } +
    +
    +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/content.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/content.cshtml new file mode 100644 index 0000000..6094703 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/content.cshtml @@ -0,0 +1,21 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + + +@{ + Layout = "master.cshtml"; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +
    +
    +
    +
    + @Html.GetBlockListHtml(Model.ContentRows) +
    +
    +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contentPage.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contentPage.cshtml new file mode 100644 index 0000000..7e8e1ce --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/contentPage.cshtml @@ -0,0 +1,27 @@ +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "master.cshtml"; +} + +@Html.Partial("~/Views/Partials/SectionHeader.cshtml") + +
    + +
    + +
    + +
    + +
    +
    + @Html.GetGridHtml(Model, "bodyText", "bootstrap3-fluid") +
    +
    +
    + +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/error.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/error.cshtml new file mode 100644 index 0000000..8385238 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/error.cshtml @@ -0,0 +1,20 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +
    +
    +
    +
    + @Html.GetBlockListHtml(Model.ContentRows) +
    +
    +
    +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/home.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/home.cshtml new file mode 100644 index 0000000..10a4128 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/home.cshtml @@ -0,0 +1,23 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels + +@{ + Layout = "master.cshtml"; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +@if (Model.ContentRows != null) +{ +
    +
    +
    +
    + @Html.GetBlockListHtml(Model.ContentRows) +
    +
    +
    +
    +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/master.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/master.cshtml new file mode 100644 index 0000000..dbda0d5 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/master.cshtml @@ -0,0 +1,33 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@{ + Layout = null; + + SmidgeHelper.RequiresCss("~/clean-assets/css/styles.css"); + SmidgeHelper.RequiresJs("~/clean-assets/js/scripts.js"); +} + + + + + @await Html.PartialAsync("~/Views/Partials/metaData.cshtml") + + + + + + + @await SmidgeHelper.CssHereAsync(debug: false) + + + + @await Html.CachedPartialAsync("~/Views/Partials/mainNavigation.cshtml", model: Model, cacheTimeout: TimeSpan.FromMinutes(60)) + @RenderBody() + @await Html.CachedPartialAsync("~/Views/Partials/footer.cshtml", model: Model, cacheTimeout: TimeSpan.FromMinutes(60)) + + + + + @await SmidgeHelper.JsHereAsync(debug: false) + + diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/people.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/people.cshtml new file mode 100644 index 0000000..4722500 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/people.cshtml @@ -0,0 +1,57 @@ +@using Umbraco.Cms.Web.Common.PublishedModels; +@using Umbraco.Extensions +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Layout = "master.cshtml"; +} +@{ + void SocialLink(string content, string service) + { + if (!string.IsNullOrEmpty(content)) + { + ; //semicolon needed otherwise cannot be resolved + @service + } + } +} + +@Html.Partial("~/Views/Partials/SectionHeader.cshtml") + +
    + +
    + + +
    + @foreach (Person person in Model.Children()) + { + +
    +
    +
    +

    @person.Name

    + @if (!string.IsNullOrEmpty(person.Email)) + { + + } +
    + @{ SocialLink(person.FacebookUsername, "Facebook"); } + @{ SocialLink(person.TwitterUsername, "Twitter"); } + @{ SocialLink(person.LinkedInUsername, "LinkedIn"); } + @{ SocialLink(person.InstagramUsername, "Instagram"); } +
    +
    +
    + } +
    +
    + +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/search.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/search.cshtml new file mode 100644 index 0000000..2a4f987 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/search.cshtml @@ -0,0 +1,71 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage + +@using Clean.Core.Models.ViewModels +@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels +@using Umbraco.Cms.Core +@using Clean.Core.Extensions +@inject Umbraco.Cms.Core.IPublishedContentQuery publishedContentQuery + +@{ + Layout = "master.cshtml"; + var searchQuery = Context.Request.Query["q"]; + var docTypesToIgnore = new[] { Category.ModelTypeAlias, CategoryList.ModelTypeAlias, Error.ModelTypeAlias, Search.ModelTypeAlias, XMlsitemap.ModelTypeAlias }; +} + +@await Html.PartialAsync("~/Views/Partials/pageHeader.cshtml", new PageHeaderViewModel(Model.Name, Model.Title, Model.Subtitle, Model.MainImage)) + +
    + +
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/xMLSitemap.cshtml b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/xMLSitemap.cshtml new file mode 100644 index 0000000..9d3f5b1 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/Views/xMLSitemap.cshtml @@ -0,0 +1,6 @@ +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + Context.Response.ContentType = "text/xml"; + Layout = null; +} +@(await Html.CachedPartialAsync("~/Views/Partials/xmlSitemap.cshtml", Model, TimeSpan.FromMinutes(60))) diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.Development.json b/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.Development.json new file mode 100644 index 0000000..91cd2da --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.Development.json @@ -0,0 +1,34 @@ +{ + "$schema": "./appsettings-schema.json", + "Serilog": { + "MinimumLevel": { + "Default": "Information" + }, + "WriteTo": [ + { + "Name": "Async", + "Args": { + "configure": [ + { + "Name": "Console" + } + ] + } + } + ] + }, + "Umbraco": { + "CMS": { + "Content": { + "MacroErrors": "Throw" + }, + "Hosting": { + "Debug": true + }, + "RuntimeMinification": { + "UseInMemoryCache": true, + "CacheBuster": "Timestamp" + } + } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.json b/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.json new file mode 100644 index 0000000..25c4db1 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/appsettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "./appsettings-schema.json", + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System": "Warning" + } + } + }, + "Umbraco": { + "CMS": { + "Global": { + "Id": "01c1b88b-0ab2-4e8d-8efc-ee5f435e8a68", + "SanitizeTinyMce": true + }, + "Content": { + "AllowEditInvariantFromNonDefault": true, + "ContentVersionCleanupPolicy": { + "EnableCleanup": true + } + } + } + }, + "ConnectionStrings": { + "umbracoDbDSN": "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Pooling=True", + "umbracoDbDSN_ProviderName": "Microsoft.Data.Sqlite" + } +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/highlightjs-copy.min.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/highlightjs-copy.min.css new file mode 100644 index 0000000..5a94fec --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/highlightjs-copy.min.css @@ -0,0 +1 @@ +.hljs-copy-wrapper{position:relative;overflow:hidden}.hljs-copy-wrapper:hover .hljs-copy-button,.hljs-copy-button:focus{transform:translateX(0)}.hljs-copy-button{position:absolute;transform:translateX(calc(100% + 1.125em));top:1em;right:1em;width:2rem;height:2rem;text-indent:-9999px;color:#fff;border-radius:.25rem;border:1px solid #ffffff22;background-color:#2d2b57;background-color:var(--hljs-theme-background);background-image:url('data:image/svg+xml;utf-8,');background-repeat:no-repeat;background-position:center;transition:background-color 200ms ease,transform 200ms ease-out}.hljs-copy-button:hover{border-color:#ffffff44}.hljs-copy-button:active{border-color:#ffffff66}.hljs-copy-button[data-copied="true"]{text-indent:0;width:auto;background-image:none}@media(prefers-reduced-motion){.hljs-copy-button{transition:none}}.hljs-copy-alert{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/styles.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/styles.css new file mode 100644 index 0000000..4126ce1 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/styles.css @@ -0,0 +1,11348 @@ +@charset "UTF-8"; +/*! +* Start Bootstrap - Clean Blog v6.0.7 (https://startbootstrap.com/theme/clean-blog) +* Copyright 2013-2021 Start Bootstrap +* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-clean-blog/blob/master/LICENSE) +*/ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #005E70; + --bs-cyan: #0dcaf0; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #005E70; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 0, 133, 161; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --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-body-font-family: Lora, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-bg: #fff; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@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(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + +hr:not([size]) { + height: 1px; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-weight: 800; + line-height: 1.2; +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +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: bolder; +} + +small, .small { + font-size: 0.875em; +} + +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: #212529; + text-decoration: none; +} +a:hover { + color: #005E70; +} + +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: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #212529; +} +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.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + 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; +} + +::-webkit-file-upload-button { + font: inherit; +} + +::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.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.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: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + 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: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --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: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + 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 currentColor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.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: #cce7ec; + --bs-table-striped-bg: #c2dbe0; + --bs-table-striped-color: #000; + --bs-table-active-bg: #b8d0d4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bdd6da; + --bs-table-hover-color: #000; + color: #000; + border-color: #b8d0d4; +} + +.table-secondary { + --bs-table-bg: #e2e3e5; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: #000; + border-color: #cbccce; +} + +.table-success { + --bs-table-bg: #d1e7dd; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #bcd0c7; +} + +.table-info { + --bs-table-bg: #cff4fc; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: #000; + border-color: #badce3; +} + +.table-warning { + --bs-table-bg: #fff3cd; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: #000; + border-color: #e6dbb9; +} + +.table-danger { + --bs-table-bg: #f8d7da; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfc2c4; +} + +.table-light { + --bs-table-bg: #f8f9fa; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfe0e1; +} + +.table-dark { + --bs-table-bg: #212529; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #373b3e; +} + +.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; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0; + 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: #212529; + background-color: #fff; + border-color: #80c2d0; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-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; + 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; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + 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) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-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; + 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) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + 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.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; +} + +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + 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='%23343a40' 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.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0; + 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: #80c2d0; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #80c2d0; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.form-check-input:checked { + background-color: #005E70; + border-color: #005E70; +} +.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='3' 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='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #005E70; + border-color: #005E70; + 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='3' 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%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + 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='%2380c2d0'/%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: 1.5rem; + 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 0 1px #fff, 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #005E70; + border: 0; + -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: #b3dae3; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #005E70; + border: 0; + -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: #b3dae3; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: 4.5rem; + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1.25rem 0; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1.25rem 0; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control:-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 2.125rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-ms-input-placeholder) { + padding-top: 2.125rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 2.125rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 2.125rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 2.125rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.65) translateY(-0.5rem) translateX(0rem); +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { + opacity: 0.65; + transform: scale(0.65) translateY(-0.5rem) translateX(0rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.65) translateY(-0.5rem) translateX(0rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.65) translateY(-0.5rem) translateX(0rem); +} + +.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.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); +} + +.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: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + 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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.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: 1; +} +.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, +.was-validated .input-group .form-select:valid:focus, +.input-group .form-select.is-valid:focus { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); +} + +.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: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + 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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.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: 2; +} +.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, +.was-validated .input-group .form-select:invalid:focus, +.input-group .form-select.is-invalid:focus { + z-index: 3; +} + +.btn { + display: inline-block; + font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-weight: 800; + line-height: 1.5; + color: #212529; + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 1rem 1.75rem; + font-size: 0.875rem; + border-radius: 0; + 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) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; +} +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +.btn-primary { + color: #fff; + background-color: #005E70; + border-color: #005E70; +} +.btn-primary:hover { + color: #fff; + background-color: #007189; + border-color: #006a81; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fff; + background-color: #007189; + border-color: #006a81; + box-shadow: 0 0 0 0.25rem rgba(38, 151, 175, 0.5); +} +.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: #006a81; + border-color: #006479; +} +.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: 0 0 0 0.25rem rgba(38, 151, 175, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #fff; + background-color: #005E70; + border-color: #005E70; +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.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: #565e64; + border-color: #51585e; +} +.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: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.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: #146c43; + border-color: #13653f; +} +.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: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #198754; + border-color: #198754; +} + +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; +} +.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: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} + +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #ffcd39; + border-color: #ffc720; +} +.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: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.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: #b02a37; + border-color: #a52834; +} +.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: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.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: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.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: #1a1e21; + border-color: #191c1f; +} +.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: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-primary { + color: #005E70; + border-color: #005E70; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #005E70; + border-color: #005E70; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.5); +} +.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: #005E70; + border-color: #005E70; +} +.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: 0 0 0 0.25rem rgba(0, 133, 161, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #005E70; + background-color: transparent; +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.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: #6c757d; + border-color: #6c757d; +} +.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: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-success { + color: #198754; + border-color: #198754; +} +.btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.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: #198754; + border-color: #198754; +} +.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: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #198754; + background-color: transparent; +} + +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.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: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.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: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #0dcaf0; + background-color: transparent; +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} +.btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.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: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.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: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.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: #dc3545; + border-color: #dc3545; +} +.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: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.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: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.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: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.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: #212529; + border-color: #212529; +} +.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: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #212529; + background-color: transparent; +} + +.btn-link { + font-weight: 400; + color: #212529; + text-decoration: none; +} +.btn-link:hover { + color: #005E70; +} +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0; +} + +.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.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); +} +.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.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.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.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em 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.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em 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 rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #1e2125; + background-color: #e9ecef; +} +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #005E70; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} + +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.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: #005E70; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} + +.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; +} +.dropdown-toggle-split { + padding-right: 1.3125rem; + padding-left: 1.3125rem; +} +.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.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.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; +} +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #212529; + 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: #005E70; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; +} + +.nav-pills .nav-link { + background: none; + border: 0; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #005E70; +} + +.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.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + 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.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + 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.25rem; +} + +.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: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.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.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.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.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.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: 1px solid rgba(0, 0, 0, 0.125); +} +.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; +} +.card > .list-group:last-child { + border-bottom-width: 0; +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.card-title { + margin-bottom: 0.5rem; +} + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-group > .card { + margin-bottom: 0.75rem; +} +@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; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + overflow-anchor: none; + 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, border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #007891; + background-color: #e6f3f6; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23007891'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ""; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + 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: #80c2d0; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-body { + padding: 1rem 1.25rem; +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #212529; + background-color: #fff; + border: 1px solid #dee2e6; + 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: #005E70; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + color: #005E70; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #005E70; + border-color: #005E70; +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} + +.page-link { + padding: 0.375rem 0.75rem; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + color: #005061; + background-color: #cce7ec; + border-color: #b3dae3; +} +.alert-primary .alert-link { + color: #00404e; +} + +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + color: #087990; + background-color: #cff4fc; + border-color: #b6effb; +} +.alert-info .alert-link { + color: #066173; +} + +.alert-warning { + color: #997404; + background-color: #fff3cd; + border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #7a5d03; +} + +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #005E70; + 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: 1rem 1rem; +} + +.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; +} + +.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: #495057; + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #005E70; + border-color: #005E70; +} +.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.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.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.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.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.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.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 > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #005061; + background-color: #cce7ec; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #005061; + background-color: #b8d0d4; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #005061; + border-color: #005061; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #087990; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #087990; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #087990; + border-color: #087990; +} + +.list-group-item-warning { + color: #997404; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #997404; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #997404; + border-color: #997404; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(0, 133, 161, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-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.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); +} +.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: 0.75rem; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.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% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.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: 1rem 1rem; + border-bottom: 1px solid #dee2e6; +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + 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: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, +.modal-xl { + max-width: 800px; + } +} +@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; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +@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; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@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; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@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; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@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; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@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; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: "Lora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + 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.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.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: #000; +} + +.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: #000; +} + +.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: #000; +} + +.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: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; +} + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 1070; + display: block; + max-width: 276px; + font-family: "Lora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + 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.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); +} +.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 - 1px); +} +.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: rgba(0, 0, 0, 0.25); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: 1px; + 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 - 1px); + 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: rgba(0, 0, 0, 0.25); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: 1px; + 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 - 1px); +} +.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: rgba(0, 0, 0, 0.25); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: 1px; + 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: 1px solid #f0f0f0; +} + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-0.5rem - 1px); + 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: rgba(0, 0, 0, 0.25); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 1rem 1rem; + color: #212529; +} + +.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: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + 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: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + 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' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%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: 15%; + margin-bottom: 1rem; + margin-left: 15%; + 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: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +@-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: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 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, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 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: #005E70; +} +.link-primary:hover, .link-primary:focus { + color: #006a81; +} + +.link-secondary { + color: #6c757d; +} +.link-secondary:hover, .link-secondary:focus { + color: #565e64; +} + +.link-success { + color: #198754; +} +.link-success:hover, .link-success:focus { + color: #146c43; +} + +.link-info { + color: #0dcaf0; +} +.link-info:hover, .link-info:focus { + color: #3dd5f3; +} + +.link-warning { + color: #ffc107; +} +.link-warning:hover, .link-warning:focus { + color: #ffcd39; +} + +.link-danger { + color: #dc3545; +} +.link-danger:hover, .link-danger:focus { + color: #b02a37; +} + +.link-light { + color: #f8f9fa; +} +.link-light:hover, .link-light:focus { + color: #f9fafb; +} + +.link-dark { + color: #212529; +} +.link-dark:hover, .link-dark:focus { + color: #1a1e21; +} + +.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: 0.25; +} + +.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; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !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.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #dee2e6 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #dee2e6 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #005E70 !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #198754 !important; +} + +.border-info { + border-color: #0dcaf0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #212529 !important; +} + +.border-white { + border-color: #fff !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-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !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; +} + +.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; +} + +.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; +} + +.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; +} + +.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; +} + +.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; +} + +.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; +} + +.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; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !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-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: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-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: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 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; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.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-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: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.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; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: 0.2rem !important; +} + +.rounded-2 { + border-radius: 0.25rem !important; +} + +.rounded-3 { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: none !important; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .text-sm-start { + text-align: left !important; + } + + .text-sm-end { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + + .float-md-end { + float: right !important; + } + + .float-md-none { + float: none !important; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .text-md-start { + text-align: left !important; + } + + .text-md-end { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + + .float-lg-end { + float: right !important; + } + + .float-lg-none { + float: none !important; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .text-lg-start { + text-align: left !important; + } + + .text-lg-end { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + + .float-xl-end { + float: right !important; + } + + .float-xl-none { + float: none !important; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .text-xl-start { + text-align: left !important; + } + + .text-xl-end { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + + .float-xxl-end { + float: right !important; + } + + .float-xxl-none { + float: none !important; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .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; + } + + .text-xxl-start { + text-align: left !important; + } + + .text-xxl-end { + text-align: right !important; + } + + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + + .fs-2 { + font-size: 2rem !important; + } + + .fs-3 { + font-size: 1.75rem !important; + } + + .fs-4 { + font-size: 1.5rem !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; + } +} +body { + font-size: 1.25rem; +} + +hr { + background-color: #dee2e6; + opacity: 1; +} + +p { + margin: 2rem 0; +} +p a { + text-decoration: underline; +} + +blockquote { + font-style: italic; + color: #6c757d; +} + +.btn { + letter-spacing: 0.0625em; +} + +.form-floating input, +.form-floating textarea { + border-left: 0; + border-right: 0; + border-top: 0; +} +.form-floating input:focus, +.form-floating textarea:focus { + box-shadow: none; +} +.form-floating label { + color: #6c757d; +} + +#mainNav { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 1030; + border-bottom: 1px solid #dee2e6; + background-color: #fff; + font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +#mainNav .navbar-brand { + font-weight: 800; +} +#mainNav .navbar-toggler { + font-size: 0.75rem; + font-weight: 800; + padding: 0.75rem; + text-transform: uppercase; +} +#mainNav .navbar-nav > li.nav-item > a.nav-link { + font-size: 0.75rem; + font-weight: 800; + letter-spacing: 0.0625em; + text-transform: uppercase; +} +@media (min-width: 992px) { + #mainNav { + border-bottom: 1px solid transparent; + background: transparent; + } + #mainNav .navbar-brand { + color: #fff; + } + #mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover { + color: rgba(255, 255, 255, 0.8); + } + #mainNav .navbar-nav > li.nav-item > a.nav-link { + color: #fff; + } + #mainNav .navbar-nav > li.nav-item > a.nav-link:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link:hover { + color: rgba(255, 255, 255, 0.8); + } +} +@media (min-width: 992px) { + #mainNav { + transition: background-color 0.2s; + /* Force Hardware Acceleration in WebKit */ + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } + #mainNav.is-fixed { + /* when the user scrolls down, we hide the header right above the viewport */ + position: fixed; + top: -83px; + transition: transform 0.2s; + border-bottom: 1px solid white; + background-color: rgba(255, 255, 255, 0.9); + } + #mainNav.is-fixed .navbar-brand { + color: #212529; + } + #mainNav.is-fixed .navbar-brand:focus, #mainNav.is-fixed .navbar-brand:hover { + color: #005E70; + } + #mainNav.is-fixed .navbar-nav > li.nav-item > a { + color: #212529; + } + #mainNav.is-fixed .navbar-nav > li.nav-item > a:focus, #mainNav.is-fixed .navbar-nav > li.nav-item > a:hover { + color: #005E70; + } + #mainNav.is-visible { + /* if the user changes the scrolling direction, we show the header */ + transform: translate3d(0, 100%, 0); + } +} + +footer { + padding-top: 3rem; + padding-bottom: 3rem; +} + +header.masthead { + position: relative; + margin-bottom: 3rem; + padding-top: calc(8rem + 57px); + padding-bottom: 8rem; + background: no-repeat center center; + background-color: #6c757d; + background-size: cover; + background-attachment: scroll; +} +header.masthead:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #212529; + opacity: 0.5; +} +header.masthead .page-heading, +header.masthead .post-heading, +header.masthead .site-heading { + color: #fff; +} +header.masthead .page-heading, +header.masthead .site-heading { + text-align: center; +} +header.masthead .page-heading h1, header.masthead .page-heading .h1, +header.masthead .site-heading h1, +header.masthead .site-heading .h1 { + font-size: 3rem; +} +header.masthead .page-heading .subheading, +header.masthead .site-heading .subheading { + font-size: 1.5rem; + font-weight: 300; + line-height: 1.1; + display: block; + margin-top: 0.625rem; + font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +header.masthead .post-heading h1, header.masthead .post-heading .h1 { + font-size: 2.25rem; +} +header.masthead .post-heading .meta, +header.masthead .post-heading .subheading { + line-height: 1.1; + display: block; +} +header.masthead .post-heading .subheading { + font-size: 1.5rem; + font-weight: 600; + margin: 0.75rem 0 2rem; + font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +header.masthead .post-heading .meta { + font-size: 1.25rem; + font-weight: 300; + font-style: italic; + font-family: "Lora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +header.masthead .post-heading .meta a { + color: #fff; +} +@media (min-width: 992px) { + header.masthead { + padding-top: 12.5rem; + padding-bottom: 12.5rem; + } + header.masthead .page-heading h1, header.masthead .page-heading .h1, +header.masthead .site-heading h1, +header.masthead .site-heading .h1 { + font-size: 5rem; + } + header.masthead .post-heading h1, header.masthead .post-heading .h1 { + font-size: 3.5rem; + } + header.masthead .post-heading .subheading { + font-size: 1.875rem; + } +} + +.section-heading { + font-size: 2.25rem; + font-weight: 700; + margin-top: 3.75rem; +} + +.caption { + font-size: 0.875rem; + font-style: italic; + display: block; + margin: 0; + padding: 0.625rem; + text-align: center; +} + +.post-preview > a { + color: #212529; +} +.post-preview > a:focus, .post-preview > a:hover { + text-decoration: none; + color: #005E70; +} +.post-preview > a > .post-title { + font-size: 1.875rem; + margin-top: 1.875rem; + margin-bottom: 0.625rem; +} +.post-preview > a > .post-subtitle { + font-weight: 300; + margin-bottom: 0.625rem; +} +.post-preview > .post-meta { + font-size: 1.125rem; + font-style: italic; + margin-top: 0; + color: #6c757d; +} +.post-preview > .post-meta > a { + text-decoration: none; +} +@media (min-width: 992px) { + .post-preview > a > .post-title { + font-size: 2.25rem; + } +} +.umb-grid div > img { + width: 100%; +} + +.youtube-player { + position: relative; + height: 0; + overflow: hidden; + width: 100%; + height: auto; + background: #000; + margin: 30px auto; + border-radius: 14px; + aspect-ratio: 1280 / 720; +} + + .youtube-player .play { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%,-50%,0); + width: 6.5em; + height: 4em; + background: #ff0000; + z-index: 1; + opacity: .95; + border-radius: .5em; + transition: all .2s cubic-bezier(0,0,.2,1); + outline: 0; + border: 0; + pointer-events: none; + box-shadow: 2px 3px 9px 2px #000; + } + + .youtube-player:hover .play{ + opacity: 0.8; + } + + .youtube-player .play:before { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%,-50%,0); + content: ""; + border-color: transparent transparent transparent #fff; + border-style: solid; + border-width: 10px 0 10px 20px; + } + + .youtube-player .play:hover { + background: url(/clean-assets/css/circle-play-red.png) no-repeat + } + + .youtube-player iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + background: 0 0 + } + + .youtube-player img { + object-fit: cover; + display: block; + left: 0; + bottom: 0; + margin: auto; + max-width: 100%; + width: 100%; + position: absolute; + right: 0; + top: 0; + border: none; + height: auto; + cursor: pointer; + -webkit-transition: .4s all; + -moz-transition: .4s all; + transition: .4s all + } + + .video-caption { + margin-top: -30px; + margin-bottom: 30px; + } + + .social-icon { + width: 2.5rem; + height: auto; + } + + .social-icon:hover { + fill: #007189; + } + + pre { + background:#1E1E1E; + padding: 1em; + } \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/swiffy-slider.min.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/swiffy-slider.min.css new file mode 100644 index 0000000..2844d3c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/swiffy-slider.min.css @@ -0,0 +1,2 @@ +.swiffy-slider{position:relative;display:block;width:100%;--swiffy-slider-snap-align:center;--swiffy-slider-item-width:100%;--swiffy-slider-item-gap:1rem;--swiffy-slider-item-reveal:0rem;--swiffy-slider-item-ratio:2/1;--swiffy-slider-item-count:1;--swiffy-slider-nav-light:#fff;--swiffy-slider-nav-dark:#333;--swiffy-slider-nav-zoom:1;--swiffy-slider-track-opacity:0.1;--swiffy-slider-track-height:0;--swiffy-slider-nav-outside-size:3.5rem;--swiffy-slider-indicator-outside-size:1.5rem;--swiffy-slider-animation-duration:.75s;--swiffy-slider-animation-delay:0s;--swiffy-slider-animation-timing:ease-in-out}.swiffy-slider,.swiffy-slider::after,.swiffy-slider::before{box-sizing:border-box}.swiffy-slider ::-webkit-scrollbar{height:var(--swiffy-slider-track-height)}.swiffy-slider ::-webkit-scrollbar-track{background:rgba(0,0,0,var(--swiffy-slider-track-opacity))}.swiffy-slider ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.4);border-radius:1rem}.swiffy-slider ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.6)}.slider-container{--swiffy-slider-item-gap-totalwidth:calc(var(--swiffy-slider-item-gap) * (var(--swiffy-slider-item-count) - 1));--swiffy-slider-item-width:calc((100% - var(--swiffy-slider-item-reveal) - var(--swiffy-slider-item-gap-totalwidth)) / var(--swiffy-slider-item-count));overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;display:grid;align-items:center;height:100%;grid:auto/auto-flow -webkit-max-content;grid:auto/auto-flow max-content;grid-auto-rows:100%;grid-auto-columns:var(--swiffy-slider-item-width);grid-auto-flow:column;grid-gap:var(--swiffy-slider-item-gap);list-style:none;margin:0;padding:0;scrollbar-width:none;scrollbar-color:rgba(0,0,0,.4) rgba(0,0,0,var(--swiffy-slider-track-opacity));background-clip:padding-box}.slider-container>*{scroll-snap-align:var(--swiffy-slider-snap-align);position:relative;width:100%;height:100%}.slider-item-helper .slider-container>*{background-size:cover;background-color:#e1e1e1;background-position:50% 50%;display:flex;justify-content:center;align-items:center}.slider-item-helper:not(.slider-item-ratio) .slider-container>*{min-height:20rem}.slider-item-ratio .slider-container>*>*{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.slider-item-ratio-contain .slider-container>*>*{-o-object-fit:contain;object-fit:contain}.slider-item-ratio .slider-container>::after{display:block;padding-top:calc(100% / (var(--swiffy-slider-item-ratio)));content:""}.slider-item-ratio-32x9{--swiffy-slider-item-ratio:32/9}.slider-item-ratio-21x9{--swiffy-slider-item-ratio:21/9}.slider-item-ratio-16x9{--swiffy-slider-item-ratio:16/9}.slider-item-ratio-4x3{--swiffy-slider-item-ratio:4/3}.slider-item-ratio-2x1{--swiffy-slider-item-ratio:2/1}.slider-item-ratio-1x1{--swiffy-slider-item-ratio:1/1}.slider-item-ratio-3x4{--swiffy-slider-item-ratio:3/4}.slider-nav-scrollbar{--swiffy-slider-track-height:0.5rem}.slider-nav-scrollbar .slider-container{scrollbar-width:thin}.slider-nav-nodelay .slider-container{scroll-behavior:auto}.slider-indicators{position:absolute;right:2rem;bottom:0;left:2rem;display:flex;justify-content:center;padding:0;margin-bottom:1rem;list-style:none}.slider-nav-scrollbar .slider-indicators{margin-bottom:calc(1rem + var(--swiffy-slider-track-height))}.slider-indicators>.active{opacity:1}.swiffy-slider.slider-indicators-outside .slider-nav{margin-bottom:var(--swiffy-slider-indicator-outside-size)}.swiffy-slider.slider-indicators-outside{padding-bottom:var(--swiffy-slider-indicator-outside-size)}.swiffy-slider.slider-indicators-outside .slider-indicators,.swiffy-slider.slider-indicators-outside.slider-indicators{margin-bottom:0}.slider-indicators>*{box-sizing:content-box;flex:0 1 auto;width:2rem;height:.2rem;padding:0;border:.4rem solid transparent;cursor:pointer;background-color:#fff;background-clip:padding-box;opacity:.5;transition:opacity .4s ease}.slider-indicators-square .slider-indicators>*,.slider-indicators-square.slider-indicators>*{width:.5rem;height:.5rem;border:.4rem solid transparent}.slider-indicators-round .slider-indicators>*,.slider-indicators-round.slider-indicators>*{width:.5rem;height:.5rem;border:.4rem solid transparent;border-radius:50%}.slider-indicators-highlight .slider-indicators>.active,.slider-indicators-highlight.slider-indicators>.active{border:.33rem solid transparent;padding:.07rem}.slider-nav{position:absolute;top:0;left:0;bottom:0;border:0;background-color:transparent;cursor:pointer;padding:0;visibility:hidden;opacity:.8;transition:visibility .1s,opacity .2s linear;margin-bottom:var(--swiffy-slider-track-height);display:flex;align-items:center;padding:0 .5rem;-webkit-filter:drop-shadow(0 0 .5rem rgba(0, 0, 0, .5));filter:drop-shadow(0 0 .5rem rgba(0, 0, 0, .5));transform:scale(var(--swiffy-slider-nav-zoom))}.slider-nav::before{position:absolute;content:"";padding:.5rem;width:3rem;height:3rem}.slider-nav::after{content:"";-webkit-mask:url("data:image/svg+xml,");mask:url("data:image/svg+xml,");-webkit-mask-size:cover;mask-size:cover;background-color:var(--swiffy-slider-nav-light);background-origin:content-box;width:3rem;height:3rem}.slider-nav-arrow .slider-nav::after{-webkit-mask:url("data:image/svg+xml,");mask:url("data:image/svg+xml,")}.slider-nav-chevron .slider-nav::after{-webkit-mask:url("data:image/svg+xml,");mask:url("data:image/svg+xml,")}.slider-nav-caret .slider-nav::after{-webkit-mask:url("data:image/svg+xml,");mask:url("data:image/svg+xml,")}.slider-nav-caretfill .slider-nav::after{-webkit-mask:url("data:image/svg+xml,");mask:url("data:image/svg+xml,")}.swiffy-slider:hover .slider-nav{visibility:visible}.swiffy-slider.slider-nav-autohide.slider-item-first-visible .slider-nav:not(.slider-nav-next){visibility:hidden}.swiffy-slider.slider-nav-autohide.slider-item-last-visible .slider-nav.slider-nav-next{visibility:hidden}.slider-nav-outside .slider-container{margin:0 var(--swiffy-slider-nav-outside-size)}.slider-nav-outside .slider-nav{padding:0}.swiffy-slider .slider-nav:hover{opacity:1}.slider-nav-square .slider-nav{padding:0}.slider-nav-round .slider-nav::before,.slider-nav-square .slider-nav::before{background-color:var(--swiffy-slider-nav-light)}.slider-nav-round .slider-nav::after,.slider-nav-square .slider-nav::after{background-color:var(--swiffy-slider-nav-dark);width:2rem;height:2rem;margin:.5rem}.slider-nav-round .slider-nav::before{border-radius:50%}.slider-nav-round .slider-nav::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' %3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'%3E%3C/path%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' %3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'%3E%3C/path%3E%3C/svg%3E")}.slider-nav-dark .slider-nav::after{background-color:var(--swiffy-slider-nav-dark)}.slider-nav-dark.slider-nav-round .slider-nav::before,.slider-nav-dark.slider-nav-square .slider-nav::before{background-color:var(--swiffy-slider-nav-dark)}.slider-nav-dark.slider-nav-round .slider-nav::after,.slider-nav-dark.slider-nav-square .slider-nav::after{background-color:var(--swiffy-slider-nav-light)}.slider-nav-sm{--swiffy-slider-nav-zoom:.75;--swiffy-slider-nav-outside-size:2.5rem}.slider-nav.slider-nav-next::after{transform:rotate(180deg)}.slider-nav.slider-nav-next{right:0;left:unset}.slider-nav-visible .slider-nav{visibility:visible}.slider-nav-dark .slider-nav{opacity:.6}.slider-indicators-dark .slider-indicators>*,.slider-indicators-dark.slider-indicators>*{-webkit-filter:invert(1);filter:invert(1)}.slider-item-snapstart{--swiffy-slider-snap-align:start}.slider-item-nosnap{--swiffy-slider-snap-align:unset}.slider-item-nogap{--swiffy-slider-item-gap:0rem}.slider-item-reveal{--swiffy-slider-item-reveal:8rem}.slider-item-snapstart.slider-item-reveal{--swiffy-slider-item-reveal:4rem}.slider-item-show2{--swiffy-slider-item-count:2}.slider-item-show3{--swiffy-slider-item-count:3}.slider-item-show4{--swiffy-slider-item-count:4}.slider-item-show5{--swiffy-slider-item-count:5}.slider-item-show6{--swiffy-slider-item-count:6}.slider-nav-mousedrag .slider-container{cursor:-webkit-grab;cursor:grab}.slider-nav-mousedrag.dragging .slider-container{-ms-scroll-snap-type:unset;scroll-snap-type:unset;scroll-behavior:unset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.slider-nav-mousedrag.dragging .slider-nav{visibility:hidden}@media (hover:hover){.slider-nav-mousedrag .slider-container::after{content:"";position:absolute;width:100%;height:100%}}@media (prefers-reduced-motion:no-preference){.slider-nav-animation.slider-nav-animation-fast{--swiffy-slider-animation-duration:.25s}.slider-nav-animation.slider-nav-animation-slow{--swiffy-slider-animation-duration:1.25s}.slider-nav-animation .slider-container>*>*{transition:opacity var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing),transform var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing);transition-delay:var(--swiffy-slider-animation-delay)}.slider-nav-animation .slider-container .slide-visible>*{transition:opacity var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing),transform var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing);transition-delay:var(--swiffy-slider-animation-delay)}.slider-nav-animation.slider-nav-animation-fadein .slider-container>*>*{opacity:.5}.slider-nav-animation.slider-nav-animation-scale .slider-container>*>*{transform:scale(.9)}.slider-nav-animation.slider-nav-animation-appear .slider-container>*>*{opacity:.3;transform:scale(.9)}.slider-nav-animation.slider-nav-animation-scaleup .slider-container>*>*{transform:scale(.25)}.slider-nav-animation.slider-nav-animation-zoomout .slider-container>*{overflow:hidden}.slider-nav-animation.slider-nav-animation-zoomout .slider-container>*>*{transform:scale(1.3)}.slider-nav-animation.slider-nav-animation-turn .slider-container>*>*{transform:rotateY(70deg)}.slider-nav-animation.slider-nav-animation-slideup .slider-container>*>*{transform:translateY(60%) scale(.99)}.slider-nav-animation.slider-nav-animation-slideup .slider-container{overflow-y:hidden}.slider-nav-animation .slider-container>.slide-visible>*{opacity:1;transform:none}}@media (min-width:62rem){.slider-item-show2:not(.slider-item-snapstart) .slider-container>*,.slider-item-show4:not(.slider-item-snapstart) .slider-container>*,.slider-item-show6:not(.slider-item-snapstart) .slider-container>*{scroll-snap-align:unset}.slider-item-show2:not(.slider-item-snapstart) .slider-container>::before,.slider-item-show4:not(.slider-item-snapstart) .slider-container>::before,.slider-item-show6:not(.slider-item-snapstart) .slider-container>::before{content:" ";display:block;position:absolute;left:calc((var(--swiffy-slider-item-gap)/2)*-1);top:0;width:1px;height:1px;scroll-snap-align:var(--swiffy-slider-snap-align)}.slider-nav-outside-expand .slider-nav{margin-left:-4rem}.slider-nav-outside-expand .slider-nav.slider-nav-next{margin-right:-4rem}.slider-nav-sm.slider-nav-outside-expand .slider-nav{margin-left:-3.5rem}.slider-nav-sm.slider-nav-outside-expand .slider-nav.slider-nav-next{margin-right:-3.5rem}.slider-indicators-sm.slider-indicators{display:none}}@media (max-width:62rem){.swiffy-slider{--swiffy-slider-track-height:0rem;--swiffy-slider-item-reveal:0rem;--swiffy-slider-item-count:1;--swiffy-slider-nav-zoom:.875}.swiffy-slider .slider-item-show2-sm{--swiffy-slider-item-count:2}.slider-item-reveal{--swiffy-slider-item-reveal:4rem}.slider-item-snapstart.slider-item-reveal{--swiffy-slider-item-reveal:2rem}.slider-item-show6 .slider-container{grid-auto-columns:calc(25% - (var(--swiffy-slider-item-gap)/ 4*3))}.slider-item-show6.slider-item-reveal .slider-container{grid-auto-columns:calc(25% - (var(--swiffy-slider-item-gap)/ 4*3) - .5rem)}.slider-item-show6.slider-item-reveal .slider-container>*{scroll-snap-align:unset}.slider-item-show6.slider-item-reveal .slider-container>::before{content:" ";display:block;position:absolute;left:calc((var(--swiffy-slider-item-gap)/2)*-1);top:0;width:1px;height:1px;scroll-snap-align:center}.slider-nav::after,.slider-nav::before{width:2rem;height:2rem;padding:.3rem}.slider-nav-round .slider-nav::after,.slider-nav-square .slider-nav::after{width:1.75rem;height:1.75rem;margin:.125rem}.slider-nav-outside .slider-container,.slider-nav-outside-expand .slider-container{margin:0 2rem}.slider-nav-outside-expand .slider-container{margin:0 var(--swiffy-slider-nav-outside-size)}.slider-nav-outside-expand .slider-nav{padding:0}.slider-indicators-round .slider-indicators>*,.slider-indicators-round.slider-indicators>*,.slider-indicators-square .slider-indicators>*,.slider-indicators-square.slider-indicators>*{width:.3rem;height:.3rem}.slider-indicators{margin-bottom:.5rem;display:none}.slider-nav-scrollbar .slider-indicators{margin-bottom:0}.slider-indicators>*{width:1rem;height:.125rem;border-width:.25rem}.slider-indicators-sm .slider-indicators,.slider-indicators-sm.slider-indicators{display:flex}}@media (max-width:48rem){.slider-item-show6 .slider-container{grid-auto-columns:calc(50% - (var(--swiffy-slider-item-gap)/ 2))}.slider-item-show6.slider-item-reveal .slider-container{grid-auto-columns:calc(50% - (var(--swiffy-slider-item-gap)/ 2) - 1.5rem)}}@media (hover:none){.swiffy-slider.slider-nav-touch .slider-nav{visibility:visible}.swiffy-slider:not(.slider-nav-touch).slider-nav-outside .slider-container,.swiffy-slider:not(.slider-nav-touch).slider-nav-outside-expand .slider-container{margin:0 0}.slider-item-nosnap-touch{--swiffy-slider-snap-align:unset}} +/*# sourceMappingURL=swiffy-slider.min.css.map */ diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/vs2015.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/vs2015.css new file mode 100644 index 0000000..4dce1eb --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/css/vs2015.css @@ -0,0 +1,112 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta .hljs-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta .hljs-keyword, + +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.default.min.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.default.min.css new file mode 100644 index 0000000..a75ea91 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.default.min.css @@ -0,0 +1,9 @@ +/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.min.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.min.js new file mode 100644 index 0000000..fb920f5 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlight.min.js @@ -0,0 +1,1208 @@ +/*! + Highlight.js v11.8.0 (git: 65687a907b) + (c) 2006-2023 undefined and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(n){ +return n instanceof Map?n.clear=n.delete=n.set=()=>{ +throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ +const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) +})),n}class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] +;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope +;class r{constructor(e,n){ +this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ +this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const t=e.split(".") +;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") +}return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} +closeNode(e){i(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const s=(e={})=>{const n={children:[]} +;return Object.assign(n,e),n};class o{constructor(){ +this.rootNode=s(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const n=s({scope:e}) +;this.add(n),this.stack.push(n)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ +return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), +n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,n){const t=e.root +;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ +return new r(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function c(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} +function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} +function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t +;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} +i+=a.substring(0,e.index), +a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], +"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} +const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",N="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},O={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},x=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, +contains:[]},t);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},M=x("//","$"),S=x("/\\*","\\*/"),A=x("#","$");var C=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:f,UNDERSCORE_IDENT_RE:E, +NUMBER_RE:y,C_NUMBER_RE:N,BINARY_NUMBER_RE:w, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const n=/^#![ ]*\// +;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, +end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:v,APOS_STRING_MODE:O,QUOTE_STRING_MODE:k,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:x,C_LINE_COMMENT_MODE:M,C_BLOCK_COMMENT_MODE:S,HASH_COMMENT_MODE:A, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:N,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:w,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[v,{begin:/\[/,end:/\]/,relevance:0, +contains:[v]}]}]},TITLE_MODE:{scope:"title",begin:f,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*"+E,relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function T(e,n){ +"."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ +n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,n){ +Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function B(e,n){ +void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] +})),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ +relevance:0,contains:[Object.assign(t,{endsParent:!0})] +},e.relevance=0,delete t.beforeMatch +},z=["of","and","for","in","not","or","if","then","parent","list","value"],F="keyword" +;function U(e,n,t=F){const a=Object.create(null) +;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ +Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ +n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") +;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ +return n?Number(n):(e=>z.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ +console.error(e)},q=(e,...n)=>{console.log("WARN: "+e,...n)},H=(e,n)=>{ +P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) +},G=Error();function Z(e,n,{key:t}){let a=0;const i=e[t],r={},s={} +;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) +;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;Z(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;Z(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function Q(e){ +function n(n,t){ +return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) +}class t{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,n){ +n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const n=this.matcherRe.exec(e);if(!n)return null +;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] +;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t +;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), +n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ +this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ +const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex +;let t=n.exec(e) +;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ +const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} +return t&&(this.regexIndex+=t.position+1, +this.regexIndex===this.count&&this.considerAll()),t}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r +;if(r.isCompiled)return o +;[R,L,W,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), +r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=U(r.keywords,e.case_insensitive)), +o.keywordPatternRe=n(l,!0), +s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(o.endRe=n(o.end)), +o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), +r.illegal&&(o.illegalRe=n(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ +variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) +})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i +;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ +return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ +constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} +const J=t,Y=a,ee=Symbol("nomatch"),ne=t=>{ +const a=Object.create(null),i=Object.create(null),r=[];let s=!0 +;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function _(e){ +return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" +;"object"==typeof n?(a=e, +t=n.ignoreIllegals,i=n.language):(H("10.7.0","highlight(lang, code, ...args) has been deprecated."), +H("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};x("before:highlight",r) +;const s=r.result?r.result:f(r.language,r.code,t) +;return s.code=r.code,x("after:highlight",s),s}function f(e,t,i,r){ +const l=Object.create(null);function c(){if(!x.keywords)return void S.addText(A) +;let e=0;x.keywordPatternRe.lastIndex=0;let n=x.keywordPatternRe.exec(A),t="" +;for(;n;){t+=A.substring(e,n.index) +;const i=w.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,x.keywords[a]);if(r){ +const[e,a]=r +;if(S.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ +const t=w.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] +;e=x.keywordPatternRe.lastIndex,n=x.keywordPatternRe.exec(A)}var a +;t+=A.substring(e),S.addText(t)}function d(){null!=x.subLanguage?(()=>{ +if(""===A)return;let e=null;if("string"==typeof x.subLanguage){ +if(!a[x.subLanguage])return void S.addText(A) +;e=f(x.subLanguage,A,!0,M[x.subLanguage]),M[x.subLanguage]=e._top +}else e=E(A,x.subLanguage.length?x.subLanguage:null) +;x.relevance>0&&(C+=e.relevance),S.__addSublanguage(e._emitter,e.language) +})():c(),A=""}function g(e,n){ +""!==e&&(S.startScope(n),S.addText(e),S.endScope())}function u(e,n){let t=1 +;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} +const a=w.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(A=i,c(),A=""),t++}} +function b(e,n){ +return e.scope&&"string"==typeof e.scope&&S.openNode(w.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(g(A,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +A=""):e.beginScope._multi&&(u(e.beginScope,n),A="")),x=Object.create(e,{parent:{ +value:x}}),x}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) +;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) +;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ +return 0===x.matcher.regexIndex?(A+=e[0],1):(D=!0,0)}function h(e){ +const n=e[0],a=t.substring(e.index),i=m(x,e,a);if(!i)return ee;const r=x +;x.endScope&&x.endScope._wrap?(d(), +g(n,x.endScope._wrap)):x.endScope&&x.endScope._multi?(d(), +u(x.endScope,e)):r.skip?A+=n:(r.returnEnd||r.excludeEnd||(A+=n), +d(),r.excludeEnd&&(A=n));do{ +x.scope&&S.closeNode(),x.skip||x.subLanguage||(C+=x.relevance),x=x.parent +}while(x!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} +let y={};function N(a,r){const o=r&&r[0];if(A+=a,null==o)return d(),0 +;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ +if(A+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) +;throw n.languageName=e,n.badRule=y.rule,n}return 1} +if(y=r,"begin"===r.type)return(e=>{ +const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] +;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) +;return a.skip?A+=t:(a.excludeBegin&&(A+=t), +d(),a.returnBegin||a.excludeBegin||(A=t)),b(a,e),a.returnBegin?0:t.length})(r) +;if("illegal"===r.type&&!i){ +const e=Error('Illegal lexeme "'+o+'" for mode "'+(x.scope||"")+'"') +;throw e.mode=x,e}if("end"===r.type){const e=h(r);if(e!==ee)return e} +if("illegal"===r.type&&""===o)return 1 +;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") +;return A+=o,o.length}const w=v(e) +;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const O=Q(w);let k="",x=r||O;const M={},S=new p.__emitter(p);(()=>{const e=[] +;for(let n=x;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) +;e.forEach((e=>S.openNode(e)))})();let A="",C=0,T=0,R=0,D=!1;try{ +if(w.__emitTokens)w.__emitTokens(t,S);else{for(x.matcher.considerAll();;){ +R++,D?D=!1:x.matcher.considerAll(),x.matcher.lastIndex=T +;const e=x.matcher.exec(t);if(!e)break;const n=N(t.substring(T,e.index),e) +;T=e.index+n}N(t.substring(T))}return S.finalize(),k=S.toHTML(),{language:e, +value:k,relevance:C,illegal:!1,_emitter:S,_top:x}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, +context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:k},_emitter:S};if(s)return{ +language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:S,_top:x} +;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ +const n={value:J(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} +;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(k).map((n=>f(n,e,!1))) +;i.unshift(t);const r=i.sort(((e,n)=>{ +if(e.relevance!==n.relevance)return n.relevance-e.relevance +;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 +;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s +;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ +let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" +;const t=p.languageDetectRe.exec(n);if(t){const n=v(t[1]) +;return n||(q(o.replace("{}",t[1])), +q("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} +return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return +;if(x("before:highlightElement",{el:e,language:t +}),e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) +;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) +;e.innerHTML=r.value,((e,n,t)=>{const a=n&&i[n]||t +;e.classList.add("hljs"),e.classList.add("language-"+a) +})(e,t,r.language),e.result={language:r.language,re:r.relevance, +relevance:r.relevance},r.secondBest&&(e.secondBest={ +language:r.secondBest.language,relevance:r.secondBest.relevance +}),x("after:highlightElement",{el:e,result:r,text:a})}let N=!1;function w(){ +"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(y):N=!0 +}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} +function O(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +i[e.toLowerCase()]=n}))}function k(e){const n=v(e) +;return n&&!n.disableAutodetect}function x(e,n){const t=e;r.forEach((e=>{ +e[t]&&e[t](n)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +N&&w()}),!1),Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:w, +highlightElement:y, +highlightBlock:e=>(H("10.7.0","highlightBlock will be removed entirely in v12.0"), +H("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)}, +initHighlighting:()=>{ +w(),H("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +w(),H("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!s)throw n;K(n),i=c} +i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&O(i.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete a[e] +;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, +listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:O, +autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ +e["before:highlightBlock"](Object.assign({block:n.el},n)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ +e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, +removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ +s=!1},t.safeMode=()=>{s=!0},t.versionString="11.8.0",t.regex={concat:b, +lookahead:d,either:m,optional:u,anyNumberOfTimes:g} +;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t +},te=ne({});te.newInstance=()=>ne({});var ae=te;const ie=e=>({IMPORTANT:{ +scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ +scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, +FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} +}),re=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],se=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],oe=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],le=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ce=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),de=oe.concat(le) +;var ge="[0-9](_*[0-9])*",ue=`\\.(${ge})`,be="[0-9a-fA-F](_*[0-9a-fA-F])*",me={ +className:"number",variants:[{ +begin:`(\\b(${ge})((${ue})|\\.)?|(${ue}))[eE][+-]?(${ge})[fFdD]?\\b`},{ +begin:`\\b(${ge})((${ue})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${ue})[fFdD]?\\b`},{begin:`\\b(${ge})[fFdD]\\b`},{ +begin:`\\b0[xX]((${be})\\.?|(${be})?\\.(${be}))[pP][+-]?(${ge})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${be})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function pe(e,n,t){return-1===t?"":e.replace(n,(a=>pe(e,n,t-1)))} +const _e="[A-Za-z$_][0-9A-Za-z$_]*",he=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],fe=["true","false","null","undefined","NaN","Infinity"],Ee=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ye=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ne=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],we=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ve=[].concat(Ne,Ee,ye) +;function Oe(e){const n=e.regex,t=_e,a={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const t=e[0].length+e.index,a=e.input[t] +;if("<"===a||","===a)return void n.ignoreMatch();let i +;">"===a&&(((e,{after:n})=>{const t="",M={ +match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(x)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ +PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, +contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ +className:"attr",begin:t+n.lookahead(":"),relevance:0},M,{ +begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ +className:"function",begin:x,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, +"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ +begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},N,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, +className:"title.function"})]},{match:/\.\.\./,relevance:0},O,{match:"\\$"+t, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[f]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},E,k,{match:/\$[(.]/}]}} +const ke=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),xe=["Protocol","Type"].map(ke),Me=["init","self"].map(ke),Se=["Any","Self"],Ae=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ce=["false","nil","true"],Te=["assignment","associativity","higherThan","left","lowerThan","none","right"],Re=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],De=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Ie=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Le=m(Ie,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Be=b(Ie,Le,"*"),$e=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),ze=m($e,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=b($e,ze,"*"),Ue=b(/[A-Z]/,ze,"*"),je=["autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Pe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;var Ke=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ +begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} +;Object.assign(t,{className:"variable",variants:[{ +begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(s);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, +grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], +relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, +keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] +}]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, +strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], +keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], +literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], +_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] +},b={className:"function.dispatch",relevance:0,keywords:{ +_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] +}, +begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) +},m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ +begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] +},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ +match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], +className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ +keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, +keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) +;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], +o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},u={begin:"<",end:">",contains:[{beginKeywords:"in out"},t] +},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +keyword:"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,a,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ +const n=e.regex,t=ie(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ +name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ +keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, +contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+oe.join("|")+")"},{begin:":(:)?("+le.join("|")+")"}] +},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ce.join("|")+")\\b"},{ +begin:/:/,end:/[;}{]/, +contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:se.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+re.join("|")+")\\b"}]}},grmr_diff:e=>{ +const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}},grmr_go:e=>{const n={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex;return{name:"GraphQL",aliases:["gql"], +case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ +className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ +begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, +end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ +begin:/\$\{(.*?)\}/}]},r={className:"literal", +begin:/\bon|off|true|false|yes|no\b/},s={className:"string", +contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ +begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] +},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 +},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ +const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+pe("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,me,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},me,r]}},grmr_javascript:Oe, +grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", +beginKeywords:n.join(" ")};return{name:"JSON",keywords:{literal:n},contains:[{ +className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{ +match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}},grmr_kotlin:e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},l=me,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 +},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},l]}},grmr_less:e=>{ +const n=ie(e),t=de,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ +className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, +relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:se.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, +relevance:0} +;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ +begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, +contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", +returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ +},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ce.join("|")+")\\b", +end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] +},m={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ +className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a +}],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ +begin:"\\b("+re.join("|")+")\\b",className:"selector-tag" +},n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+oe.join("|")+")"},{ +className:"selector-pseudo",begin:":(:)?("+le.join("|")+")"},{begin:/\(/, +end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ +begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} +;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), +{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, +grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] +},i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 +})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:i}].concat(i) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ +const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[i,r,o,s]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:n.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ +className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ +className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} +},grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", +relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] +}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) +;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) +})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ +$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, +end:/\}/},s={variants:[{begin:/\$\d/},{ +begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@][^\s\w{]/,relevance:0}] +},o=[e.BACKSLASH_ESCAPE,i,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,i="\\1")=>{ +const r="\\1"===i?i:n.concat(i,a) +;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) +},d=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),g=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),r,{className:"string",contains:o,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", +begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", +relevance:0},{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{ +begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0 +}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ +begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ +begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", +subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] +}];return i.contains=g,r.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:a, +contains:g}},grmr_php:e=>{ +const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ +scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ +begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),o,{ +begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(e,n)=>{ +n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ +begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{ +begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" +}],relevance:0 +},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ +keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ +n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) +})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ +match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ +1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ +match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" +}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ +match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", +3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], +scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", +3:"variable.language"}}]},E={scope:"attr", +match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, +begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] +},N={relevance:0, +match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], +scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(N) +;const w=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, +keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, +endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ +begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, +contains:["self",...w]},...w,{scope:"meta",match:i}] +},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ +scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, +keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, +contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ +begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ +begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,N,f,{ +match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ +scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, +excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" +},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", +begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, +contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ +beginKeywords:"use",relevance:0,end:";",contains:[{ +match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} +},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ +begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", +end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 +},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, +skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, +contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ +const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, +end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` +}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, +contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, +illegal:/(<\/|\?)|=>/,contains:[r,u,{begin:/\bself\b/},{beginKeywords:"if", +relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{ +1:"keyword",3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, +grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", +starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ +begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ +const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) +;return{name:"R",keywords:{$pattern:t, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, +starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), +endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ +scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 +}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] +}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], +variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ +1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, +match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ +2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, +match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ +match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", +contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ +const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ +begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] +}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, +end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ +match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) +;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, +grmr_rust:e=>{const n=e.regex,t={className:"title.function.invoke",relevance:0, +begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/)) +},a="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}}, +grmr_scss:e=>{const n=ie(e),t=le,a=oe,i="@[a-z-]+",r={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", +case_insensitive:!0,illegal:"[=/|']", +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+re.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+a.join("|")+")"},{className:"selector-pseudo", +begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, +contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", +begin:"\\b("+ce.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:/:/,end:/[;}{]/,relevance:0, +contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] +},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ +begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:se.join(" ")},contains:[{begin:i, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] +},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]}),grmr_sql:e=>{ +const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ +begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t +;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) +})(l,{when:e=>e.length<3}),literal:a,type:i, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:l.concat(s),literal:a,type:i}},{className:"type", +begin:n.either("double precision","large object","with timezone","without timezone") +},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string", +variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/, +contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{ +className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, +relevance:0}]}},grmr_swift:e=>{const n={match:/\s+/,relevance:0 +},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={ +match:[/\./,m(...xe,...Me)],className:{2:"keyword"}},r={match:b(/\./,m(...Ae)), +relevance:0},s=Ae.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ +className:"keyword", +match:m(...Ae.filter((e=>"string"!=typeof e)).concat(Se).map(ke),...Me)}]},l={ +$pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Re),literal:Ce},c=[i,r,o],g=[{ +match:b(/\./,m(...De)),relevance:0},{className:"built_in", +match:b(/\b/,m(...De),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ +className:"operator",relevance:0,variants:[{match:Be},{match:`\\.(\\.|${Le})+`}] +}],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, +variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ +match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ +},{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ +match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] +}),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) +}),N=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ +}),w=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),N(e)] +}),v=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),N(e)]}),O={ +className:"string", +variants:[w(),w("#"),w("##"),w("###"),v(),v("#"),v("##"),v("###")]},k={ +match:b(/`/,Fe,/`/)},x=[k,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${ze}+`}],M=[{match:/(@|#(un)?)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Pe, +contains:[...p,f,O]}]}},{className:"keyword",match:b(/@/,m(...je))},{ +className:"meta",match:b(/@/,Fe)}],S={match:d(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,ze,"+") +},{className:"type",match:Ue,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Ue)),relevance:0}]},A={ +begin://,keywords:l,contains:[...a,...c,...M,u,S]};S.contains.push(A) +;const C={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ +match:b(Fe,/\s*:/),keywords:"_|0",relevance:0 +},...a,...c,...g,...p,f,O,...x,...M,S]},T={begin://,contains:[...a,S] +},R={begin:/\(/,end:/\)/,keywords:l,contains:[{ +begin:m(d(b(Fe,/\s*:/)),d(b(Fe,/\s+/,Fe,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Fe}] +},...a,...c,...p,f,O,...M,S,C],endsParent:!0,illegal:/["']/},D={ +match:[/func/,/\s+/,m(k.match,Fe,Be)],className:{1:"keyword",3:"title.function" +},contains:[T,R,n],illegal:[/\[/,/%/]},I={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[T,R,n],illegal:/\[|%/},L={match:[/operator/,/\s+/,Be],className:{ +1:"keyword",3:"title"}},B={begin:[/precedencegroup/,/\s+/,Ue],className:{ +1:"keyword",3:"title"},contains:[S],keywords:[...Te,...Ce],end:/}/} +;for(const e of O.variants){const n=e.contains.find((e=>"interpol"===e.label)) +;n.keywords=l;const t=[...c,...g,...p,f,O,...x];n.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, +contains:[...a,D,I,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] +},L,B,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 +},...c,...g,...p,f,O,...x,...M,S,C]}},grmr_typescript:e=>{ +const n=Oe(e),t=_e,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={ +beginKeywords:"namespace",end:/\{/,excludeEnd:!0, +contains:[n.exports.CLASS_REFERENCE]},r={beginKeywords:"interface",end:/\{/, +excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a}, +contains:[n.exports.CLASS_REFERENCE]},s={$pattern:_e, +keyword:he.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]), +literal:fe,built_in:ve.concat(a),"variable.language":we},o={className:"meta", +begin:"@"+t},l=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) +;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} +;return Object.assign(n.keywords,s), +n.exports.PARAMS_CONTAINS.push(o),n.contains=n.contains.concat([o,i,r]), +l(n,"shebang",e.SHEBANG()),l(n,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ +name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n},grmr_vbnet:e=>{ +const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ +className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ +begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ +begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] +},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] +}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) +;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, +classNameAliases:{label:"symbol"},keywords:{ +keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", +built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", +type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", +literal:"true false nothing"}, +illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ +className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, +end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, +variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ +},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ +begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ +className:"label",begin:/^\w+:/},o,l,{className:"meta", +begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, +end:/$/,keywords:{ +keyword:"const disable else elseif enable end externalsource if region then"}, +contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) +;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, +keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] +},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], +className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ +match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ +begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", +3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, +className:"type"},{className:"keyword", +match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ +},{className:"number",relevance:0, +match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ +}]}},grmr_yaml:e=>{ +const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, +end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", +contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", +begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] +;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:l}}});const qe=ae;for(const e of Object.keys(Ke)){ +const n=e.replace("grmr_","").replace("_","-");qe.registerLanguage(n,Ke[e])} +return qe}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.highlightAll(); \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlightjs-copy.min.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlightjs-copy.min.js new file mode 100644 index 0000000..ac11d33 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/highlightjs-copy.min.js @@ -0,0 +1 @@ +class CopyButtonPlugin{constructor(options={}){self.hook=options.hook;self.callback=options.callback}"after:highlightElement"({el,text}){let button=Object.assign(document.createElement("button"),{innerHTML:"Copy",className:"hljs-copy-button"});button.dataset.copied=false;el.parentElement.classList.add("hljs-copy-wrapper");el.parentElement.appendChild(button);el.parentElement.style.setProperty("--hljs-theme-background",window.getComputedStyle(el).backgroundColor);button.onclick=function(){if(!navigator.clipboard)return;let newText=text;if(hook&&typeof hook==="function"){newText=hook(text,el)||text}navigator.clipboard.writeText(newText).then(function(){button.innerHTML="Copied!";button.dataset.copied=true;let alert=Object.assign(document.createElement("div"),{role:"status",className:"hljs-copy-alert",innerHTML:"Copied to clipboard"});el.parentElement.appendChild(alert);setTimeout(()=>{button.innerHTML="Copy";button.dataset.copied=false;el.parentElement.removeChild(alert);alert=null},2e3)}).then(function(){if(typeof callback==="function")return callback(newText,el)})}}} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/initHighlight.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/initHighlight.js new file mode 100644 index 0000000..3711a9c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/initHighlight.js @@ -0,0 +1,2 @@ +hljs.addPlugin(new CopyButtonPlugin()); +hljs.highlightAll(); \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/scripts.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/scripts.js new file mode 100644 index 0000000..6b33f97 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/scripts.js @@ -0,0 +1,59 @@ +/*! +* Start Bootstrap - Clean Blog v6.0.7 (https://startbootstrap.com/theme/clean-blog) +* Copyright 2013-2021 Start Bootstrap +* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-clean-blog/blob/master/LICENSE) +*/ + +function labnolIframe(e) { + var t = document.createElement("iframe"); + t.setAttribute("src", "https://www.youtube.com/embed/" + e.dataset.id + "?autoplay=1&rel=0"), + t.setAttribute("frameborder", "0"), + t.setAttribute("allowfullscreen", "1"), + t.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"), + e.parentNode.replaceChild(t, e) +} +function initYouTubeVideos() { + for (var e = document.getElementsByClassName("youtube-player"), t = 0; t < e.length; t++) { + var i = e[t].dataset.id + , n = document.createElement("div"); + n.setAttribute("data-id", i); + var o = document.createElement("img"); + o.src = "//i.ytimg.com/vi/ID/maxresdefault.jpg".replace("ID", i), + o.alt = "YouTube Video Thumbnail Image", + n.appendChild(o); + var s = document.createElement("div"); + s.setAttribute("class", "play"), + n.appendChild(s), + n.onclick = function () { + labnolIframe(this) + } + , + e[t].appendChild(n) + } +} + +window.addEventListener('DOMContentLoaded', () => { + let scrollPos = 0; + const mainNav = document.getElementById('mainNav'); + const headerHeight = mainNav.clientHeight; + window.addEventListener('scroll', function() { + const currentTop = document.body.getBoundingClientRect().top * -1; + if ( currentTop < scrollPos) { + // Scrolling Up + if (currentTop > 0 && mainNav.classList.contains('is-fixed')) { + mainNav.classList.add('is-visible'); + } else { + mainNav.classList.remove('is-visible', 'is-fixed'); + } + } else { + // Scrolling Down + mainNav.classList.remove(['is-visible']); + if (currentTop > headerHeight && !mainNav.classList.contains('is-fixed')) { + mainNav.classList.add('is-fixed'); + } + } + scrollPos = currentTop; + }); + + initYouTubeVideos(); +}) diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/swiffy-slider.min.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/swiffy-slider.min.js new file mode 100644 index 0000000..04e4103 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/clean-assets/js/swiffy-slider.min.js @@ -0,0 +1,2 @@ +const swiffyslider={version:"1.6.0",init(e=document.body){for(let t of e.querySelectorAll(".swiffy-slider"))this.initSlider(t)},initSlider(e){for(let t of e.querySelectorAll(".slider-nav")){let i=t.classList.contains("slider-nav-next");t.addEventListener("click",()=>this.slide(e,i),{passive:!0})}for(let t of e.querySelectorAll(".slider-indicators"))t.addEventListener("click",()=>this.slideToByIndicator()),this.onSlideEnd(e,()=>this.handleIndicators(e),60);if(e.classList.contains("slider-nav-autoplay")){const t=e.getAttribute("data-slider-nav-autoplay-interval")?e.getAttribute("data-slider-nav-autoplay-interval"):2500;this.autoPlay(e,t,e.classList.contains("slider-nav-autopause"))}if(["slider-nav-autohide","slider-nav-animation"].some(t=>e.classList.contains(t))){const t=e.getAttribute("data-slider-nav-animation-threshold")?e.getAttribute("data-slider-nav-animation-threshold"):.3;this.setVisibleSlides(e,t)}},setVisibleSlides(e,t=.3){let i=new IntersectionObserver(t=>{t.forEach(e=>{e.isIntersecting?e.target.classList.add("slide-visible"):e.target.classList.remove("slide-visible")}),e.querySelector(".slider-container>*:first-child").classList.contains("slide-visible")?e.classList.add("slider-item-first-visible"):e.classList.remove("slider-item-first-visible"),e.querySelector(".slider-container>*:last-child").classList.contains("slide-visible")?e.classList.add("slider-item-last-visible"):e.classList.remove("slider-item-last-visible")},{root:e.querySelector(".slider-container"),threshold:t});for(let t of e.querySelectorAll(".slider-container>*"))i.observe(t)},slide(e,t=!0){const i=e.querySelector(".slider-container"),s=e.classList.contains("slider-nav-page"),l=e.classList.contains("slider-nav-noloop"),r=e.classList.contains("slider-nav-nodelay"),o=i.children,n=parseInt(window.getComputedStyle(i).columnGap),a=o[0].offsetWidth+n;let d=t?i.scrollLeft+a:i.scrollLeft-a;s&&(d=t?i.scrollLeft+i.offsetWidth:i.scrollLeft-i.offsetWidth),i.scrollLeft<1&&!t&&!l&&(d=i.scrollWidth-i.offsetWidth),i.scrollLeft>=i.scrollWidth-i.offsetWidth&&t&&!l&&(d=0),i.scroll({left:d,behavior:r?"auto":"smooth"})},slideToByIndicator(){const e=window.event.target,t=Array.from(e.parentElement.children).indexOf(e),i=e.parentElement.children.length,s=e.closest(".swiffy-slider"),l=s.querySelector(".slider-container").children.length/i*t;this.slideTo(s,l)},slideTo(e,t){const i=e.querySelector(".slider-container"),s=parseInt(window.getComputedStyle(i).columnGap),l=i.children[0].offsetWidth+s,r=e.classList.contains("slider-nav-nodelay");i.scroll({left:l*t,behavior:r?"auto":"smooth"})},onSlideEnd(e,t,i=125){let s;e.querySelector(".slider-container").addEventListener("scroll",(function(){window.clearTimeout(s),s=setTimeout(t,i)}),{capture:!1,passive:!0})},autoPlay(e,t,i){t=t<750?750:t;let s=setInterval(()=>this.slide(e),t);const l=()=>this.autoPlay(e,t,i);return i&&(["mouseover","touchstart"].forEach((function(t){e.addEventListener(t,(function(){window.clearTimeout(s)}),{once:!0,passive:!0})})),["mouseout","touchend"].forEach((function(t){e.addEventListener(t,(function(){l()}),{once:!0,passive:!0})}))),s},handleIndicators(e){if(!e)return;const t=e.querySelector(".slider-container"),i=t.scrollWidth-t.offsetWidth,s=t.scrollLeft/i;for(let t of e.querySelectorAll(".slider-indicators")){let e=t.children,i=Math.abs(Math.round((e.length-1)*s));for(let t of e)t.classList.remove("active");e[i].classList.add("active")}}};window.swiffyslider=swiffyslider,document.currentScript.hasAttribute("data-noinit")||(document.currentScript.hasAttribute("defer")?swiffyslider.init():document.onreadystatechange=()=>{"interactive"===document.readyState&&swiffyslider.init()}); +//# sourceMappingURL=swiffy-slider.min.js.map \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/dropdownStyles.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/dropdownStyles.css new file mode 100644 index 0000000..c188714 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/dropdownStyles.css @@ -0,0 +1,16 @@ + + +/**umb_name:h2*/ +h2 { + font-size: 2.4em; +} + +/**umb_name:h3*/ +h3 { + font-size: 2em; +} + +/**umb_name:h4*/ +h4 { + font-size: 1.8em; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/umbraco-starterkit-style.css b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/umbraco-starterkit-style.css new file mode 100644 index 0000000..c3b30b3 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/css/umbraco-starterkit-style.css @@ -0,0 +1,2904 @@ +@import url(https://fonts.googleapis.com/css?family=Montserrat|Source+Sans+Pro:400,700,300,600,600italic,400italic); +@import url(https://fonts.googleapis.com/css?family=Roboto+Mono:400,300,500|Lato:400,700,900); +@import url(https://fonts.googleapis.com/css?family=Playfair+Display:400,700italic,700,400italic|Noto+Sans:400,700); + +*, :after, :before { + box-sizing: border-box +} + +body, html { + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { + display: block +} + +audio, canvas, progress, video { + display: inline-block; + vertical-align: baseline +} + + audio:not([controls]) { + display: none; + height: 0 + } + +[hidden], template { + display: none +} + +a { + background-color: transparent +} + + a:active, a:hover { + outline: 0 + } + +abbr[title] { + border-bottom: 1px dotted +} + +b, strong { + font-weight: 700 +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -.5em +} + +sub { + bottom: -.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, kbd, pre, samp { + font-family: monospace,monospace; + font-size: 1em +} + +button, input, optgroup, select, textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, select { + text-transform: none +} + +button, html input[type=button], input[type=reset], input[type=submit] { + -webkit-appearance: button; + cursor: pointer +} + + button[disabled], html input[disabled] { + cursor: default + } + + button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0 + } + +input { + line-height: normal +} + + input[type=checkbox], input[type=radio] { + box-sizing: border-box; + padding: 0 + } + + input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { + height: auto + } + + input[type=search] { + -webkit-appearance: textfield; + box-sizing: content-box + } + + input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none + } + +fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: .35em .625em .75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: 700 +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, th { + padding: 0 +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px +} + + .container:after, .container:before { + content: " "; + display: table + } + + .container:after { + clear: both + } + +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px +} + + .container-fluid:after, .container-fluid:before { + content: " "; + display: table + } + + .container-fluid:after { + clear: both + } + +.row { + margin-left: -15px; + margin-right: -15px +} + + .row:after, .row:before { + content: " "; + display: table + } + + .row:after { + clear: both + } + +.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px +} + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left +} + +.col-xs-1 { + width: 8.333333% +} + +.col-xs-2 { + width: 16.666667% +} + +.col-xs-3 { + width: 25% +} + +.col-xs-4 { + width: 33.333333% +} + +.col-xs-5 { + width: 41.666667% +} + +.col-xs-6 { + width: 50% +} + +.col-xs-7 { + width: 58.333333% +} + +.col-xs-8 { + width: 66.666667% +} + +.col-xs-9 { + width: 75% +} + +.col-xs-10 { + width: 83.333333% +} + +.col-xs-11 { + width: 91.666667% +} + +.col-xs-12 { + width: 100% +} + +.col-xs-pull-0 { + right: auto +} + +.col-xs-pull-1 { + right: 8.333333% +} + +.col-xs-pull-2 { + right: 16.666667% +} + +.col-xs-pull-3 { + right: 25% +} + +.col-xs-pull-4 { + right: 33.333333% +} + +.col-xs-pull-5 { + right: 41.666667% +} + +.col-xs-pull-6 { + right: 50% +} + +.col-xs-pull-7 { + right: 58.333333% +} + +.col-xs-pull-8 { + right: 66.666667% +} + +.col-xs-pull-9 { + right: 75% +} + +.col-xs-pull-10 { + right: 83.333333% +} + +.col-xs-pull-11 { + right: 91.666667% +} + +.col-xs-pull-12 { + right: 100% +} + +.col-xs-push-0 { + left: auto +} + +.col-xs-push-1 { + left: 8.333333% +} + +.col-xs-push-2 { + left: 16.666667% +} + +.col-xs-push-3 { + left: 25% +} + +.col-xs-push-4 { + left: 33.333333% +} + +.col-xs-push-5 { + left: 41.666667% +} + +.col-xs-push-6 { + left: 50% +} + +.col-xs-push-7 { + left: 58.333333% +} + +.col-xs-push-8 { + left: 66.666667% +} + +.col-xs-push-9 { + left: 75% +} + +.col-xs-push-10 { + left: 83.333333% +} + +.col-xs-push-11 { + left: 91.666667% +} + +.col-xs-push-12 { + left: 100% +} + +.col-xs-offset-0 { + margin-left: 0 +} + +.col-xs-offset-1 { + margin-left: 8.333333% +} + +.col-xs-offset-2 { + margin-left: 16.666667% +} + +.col-xs-offset-3 { + margin-left: 25% +} + +.col-xs-offset-4 { + margin-left: 33.333333% +} + +.col-xs-offset-5 { + margin-left: 41.666667% +} + +.col-xs-offset-6 { + margin-left: 50% +} + +.col-xs-offset-7 { + margin-left: 58.333333% +} + +.col-xs-offset-8 { + margin-left: 66.666667% +} + +.col-xs-offset-9 { + margin-left: 75% +} + +.col-xs-offset-10 { + margin-left: 83.333333% +} + +.col-xs-offset-11 { + margin-left: 91.666667% +} + +.col-xs-offset-12 { + margin-left: 100% +} + +fieldset { + margin: 0; + min-width: 0 +} + +fieldset, legend { + padding: 0; + border: 0 +} + +legend { + display: block; + width: 100%; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border-bottom: 1px solid #e5e5e5 +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 700 +} + +input[type=search] { + box-sizing: border-box +} + +input[type=checkbox], input[type=radio] { + margin: 4px 0 0; + margin-top: 1px\9; + line-height: normal +} + +input[type=file] { + display: block +} + +input[type=range] { + display: block; + width: 100% +} + +select[multiple], select[size] { + height: auto +} + +input[type=checkbox]:focus, input[type=file]:focus, input[type=radio]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +output { + padding-top: 7px +} + +.form-control, output { + display: block; + font-size: 14px; + line-height: 1.428571; + color: #555 +} + +.form-control { + width: 100%; + height: 34px; + padding: 6px 12px; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075); + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out +} + + .form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6) + } + + .form-control::-moz-placeholder { + color: #999; + opacity: 1 + } + + .form-control:-ms-input-placeholder { + color: #999 + } + + .form-control::-webkit-input-placeholder { + color: #999 + } + + .form-control::-ms-expand { + border: 0; + background-color: transparent + } + + .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1 + } + + .form-control[disabled], fieldset[disabled] .form-control { + cursor: not-allowed + } + +textarea.form-control { + height: auto +} + +input[type=search] { + -webkit-appearance: none +} + +.form-group { + margin-bottom: 15px +} + +.checkbox, .radio { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px +} + + .checkbox label, .radio label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + cursor: pointer + } + + .checkbox-inline input[type=checkbox], .checkbox input[type=checkbox], .radio-inline input[type=radio], .radio input[type=radio] { + position: absolute; + margin-left: -20px; + margin-top: 4px\9 + } + + .checkbox + .checkbox, .radio + .radio { + margin-top: -5px + } + +.checkbox-inline, .radio-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: 400; + cursor: pointer +} + + .checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline { + margin-top: 0; + margin-left: 10px + } + + .checkbox-inline.disabled, .checkbox.disabled label, .radio-inline.disabled, .radio.disabled label, fieldset[disabled] .checkbox-inline, fieldset[disabled] .checkbox label, fieldset[disabled] .radio-inline, fieldset[disabled] .radio label, fieldset[disabled] input[type=checkbox], fieldset[disabled] input[type=radio], input[type=checkbox].disabled, input[type=checkbox][disabled], input[type=radio].disabled, input[type=radio][disabled] { + cursor: not-allowed + } + +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 34px +} + + .form-control-static.input-lg, .form-control-static.input-sm, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn { + padding-left: 0; + padding-right: 0 + } + +.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn, .input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.input-group-sm > .input-group-btn > select.btn, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, select.input-sm { + height: 30px; + line-height: 30px +} + +.input-group-sm > .input-group-btn > select[multiple].btn, .input-group-sm > .input-group-btn > textarea.btn, .input-group-sm > select[multiple].form-control, .input-group-sm > select[multiple].input-group-addon, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, select[multiple].input-sm, textarea.input-sm { + height: auto +} + +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.form-group-sm select.form-control { + height: 30px; + line-height: 30px +} + +.form-group-sm select[multiple].form-control, .form-group-sm textarea.form-control { + height: auto +} + +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5 +} + +.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn, .input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.333333; + border-radius: 6px +} + +.input-group-lg > .input-group-btn > select.btn, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, select.input-lg { + height: 46px; + line-height: 46px +} + +.input-group-lg > .input-group-btn > select[multiple].btn, .input-group-lg > .input-group-btn > textarea.btn, .input-group-lg > select[multiple].form-control, .input-group-lg > select[multiple].input-group-addon, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, select[multiple].input-lg, textarea.input-lg { + height: auto +} + +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.333333; + border-radius: 6px +} + +.form-group-lg select.form-control { + height: 46px; + line-height: 46px +} + +.form-group-lg select[multiple].form-control, .form-group-lg textarea.form-control { + height: auto +} + +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.333333 +} + +.has-feedback { + position: relative +} + + .has-feedback .form-control { + padding-right: 42.5px + } + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none +} + +.form-group-lg .form-control + .form-control-feedback, .input-group-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, .input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px +} + +.form-group-sm .form-control + .form-control-feedback, .input-group-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, .input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px +} + +.has-success .checkbox, .has-success .checkbox-inline, .has-success.checkbox-inline label, .has-success.checkbox label, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.radio-inline label, .has-success.radio label { + color: #3c763d +} + +.has-success .form-control { + border-color: #3c763d; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075) +} + + .has-success .form-control:focus { + border-color: #2b542c; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168 + } + +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8 +} + +.has-success .form-control-feedback { + color: #3c763d +} + +.has-warning .checkbox, .has-warning .checkbox-inline, .has-warning.checkbox-inline label, .has-warning.checkbox label, .has-warning .control-label, .has-warning .help-block, .has-warning .radio, .has-warning .radio-inline, .has-warning.radio-inline label, .has-warning.radio label { + color: #8a6d3b +} + +.has-warning .form-control { + border-color: #8a6d3b; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075) +} + + .has-warning .form-control:focus { + border-color: #66512c; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b + } + +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3 +} + +.has-warning .form-control-feedback { + color: #8a6d3b +} + +.has-error .checkbox, .has-error .checkbox-inline, .has-error.checkbox-inline label, .has-error.checkbox label, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.radio-inline label, .has-error.radio label { + color: #a94442 +} + +.has-error .form-control { + border-color: #a94442; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075) +} + + .has-error .form-control:focus { + border-color: #843534; + box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483 + } + +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede +} + +.has-error .form-control-feedback { + color: #a94442 +} + +.has-feedback label ~ .form-control-feedback { + top: 25px +} + +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0 +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373 +} + +.form-horizontal .checkbox, .form-horizontal .checkbox-inline, .form-horizontal .radio, .form-horizontal .radio-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px +} + +.form-horizontal .checkbox, .form-horizontal .radio { + min-height: 27px +} + +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px +} + + .form-horizontal .form-group:after, .form-horizontal .form-group:before { + content: " "; + display: table + } + + .form-horizontal .form-group:after { + clear: both + } + +.form-horizontal .has-feedback .form-control-feedback { + right: 15px +} + +.input-group { + position: relative; + display: table; + border-collapse: separate +} + + .input-group[class*=col-] { + float: none; + padding-left: 0; + padding-right: 0 + } + + .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0 + } + + .input-group .form-control:focus { + z-index: 3 + } + + .input-group-addon, .input-group-btn, .input-group .form-control { + display: table-cell + } + + .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0 + } + +.input-group-addon, .input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle +} + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: 400; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px +} + + .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px + } + + .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px + } + + .input-group-addon input[type=checkbox], .input-group-addon input[type=radio] { + margin-top: 0 + } + + .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group .form-control:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0 + } + + .input-group-addon:first-child { + border-right: 0 + } + + .input-group-addon:last-child, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group .form-control:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0 + } + + .input-group-addon:last-child { + border-left: 0 + } + +.input-group-btn { + font-size: 0; + white-space: nowrap +} + + .input-group-btn, .input-group-btn > .btn { + position: relative + } + + .input-group-btn > .btn + .btn { + margin-left: -1px + } + + .input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover { + z-index: 2 + } + + .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { + margin-right: -1px + } + + .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px + } + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em +} + + .label:empty { + display: none + } + +.btn .label { + position: relative; + top: -1px +} + +a.label:focus, a.label:hover { + color: #fff; + text-decoration: none; + cursor: pointer +} + +.label-default { + background-color: #777 +} + + .label-default[href]:focus, .label-default[href]:hover { + background-color: #5e5e5e + } + +.label-primary { + background-color: #337ab7 +} + + .label-primary[href]:focus, .label-primary[href]:hover { + background-color: #286090 + } + +.label-success { + background-color: #5cb85c +} + + .label-success[href]:focus, .label-success[href]:hover { + background-color: #449d44 + } + +.label-info { + background-color: #5bc0de +} + + .label-info[href]:focus, .label-info[href]:hover { + background-color: #31b0d5 + } + +.label-warning { + background-color: #f0ad4e +} + + .label-warning[href]:focus, .label-warning[href]:hover { + background-color: #ec971f + } + +.label-danger { + background-color: #d9534f +} + + .label-danger[href]:focus, .label-danger[href]:hover { + background-color: #c9302c + } + +h1 { + font-size: 2.2em +} + +h2 { + font-size: 1.6em; + letter-spacing: 2px; + text-transform: uppercase +} + +.product-grid__item:hover body.theme-color-water .product-grid__item__name, .product-grid__item:hover body.theme-color-water .product-grid__item__price, body.theme-color-water .bg-main-color, body.theme-color-water .button--border--solid, body.theme-color-water .mobile-nav, body.theme-color-water .product-grid__item:hover .product-grid__item__name, body.theme-color-water .product-grid__item:hover .product-grid__item__price, body.theme-color-water .section--themed { + background-color: #362bdc; + color: #fff +} + +.hamburger.lines:hover.active body.theme-color-water span:after, .hamburger.lines:hover.active body.theme-color-water span:before, .hamburger body.theme-color-water span, .hamburger body.theme-color-water span:after, .hamburger body.theme-color-water span:before, body.theme-color-water .bg-secondary-color, body.theme-color-water .hamburger.lines:hover.active span:after, body.theme-color-water .hamburger.lines:hover.active span:before, body.theme-color-water .hamburger span, body.theme-color-water .hamburger span:after, body.theme-color-water .hamburger span:before, body.theme-color-water .nav-link--home__text:after { + background-color: #fff; + color: #362bdc +} + +.blogposts-centered body.theme-color-water .blogpost-title, body.theme-color-water .blogposts-centered .blogpost-title, body.theme-color-water .button--border, body.theme-color-water .font-main-color, body.theme-color-water .nav-link, body.theme-color-water .section__hero-content, body.theme-color-water footer a, footer body.theme-color-water a { + color: #fff +} + +article body.theme-color-water a, article body.theme-color-water a:visited, body.theme-color-water .employee-grid__item__email, body.theme-color-water .font-link-color, body.theme-color-water article a, body.theme-color-water article a:visited { + color: #362bdc +} + +body.theme-color-water--active.nav-link:visited, body.theme-color-water .border-main-color, body.theme-color-water .button--border, body.theme-color-water .nav-link--active, body.theme-color-water .nav-link:hover { + border-color: #fff +} + +.product-grid__item:hover body.theme-color-sun .product-grid__item__name, .product-grid__item:hover body.theme-color-sun .product-grid__item__price, body.theme-color-sun .bg-main-color, body.theme-color-sun .button--border--solid, body.theme-color-sun .mobile-nav, body.theme-color-sun .product-grid__item:hover .product-grid__item__name, body.theme-color-sun .product-grid__item:hover .product-grid__item__price, body.theme-color-sun .section--themed { + background-color: #f8ea88; + color: #000 +} + +.hamburger.lines:hover.active body.theme-color-sun span:after, .hamburger.lines:hover.active body.theme-color-sun span:before, .hamburger body.theme-color-sun span, .hamburger body.theme-color-sun span:after, .hamburger body.theme-color-sun span:before, body.theme-color-sun .bg-secondary-color, body.theme-color-sun .hamburger.lines:hover.active span:after, body.theme-color-sun .hamburger.lines:hover.active span:before, body.theme-color-sun .hamburger span, body.theme-color-sun .hamburger span:after, body.theme-color-sun .hamburger span:before, body.theme-color-sun .nav-link--home__text:after { + background-color: #000; + color: #f8ea88 +} + +.blogposts-centered body.theme-color-sun .blogpost-title, body.theme-color-sun .blogposts-centered .blogpost-title, body.theme-color-sun .button--border, body.theme-color-sun .font-main-color, body.theme-color-sun .nav-link, body.theme-color-sun .section__hero-content, body.theme-color-sun footer a, footer body.theme-color-sun a { + color: #000 +} + +article body.theme-color-sun a, article body.theme-color-sun a:visited, body.theme-color-sun .employee-grid__item__email, body.theme-color-sun .font-link-color, body.theme-color-sun article a, body.theme-color-sun article a:visited { + color: #b0a55b +} + +body.theme-color-sun--active.nav-link:visited, body.theme-color-sun .border-main-color, body.theme-color-sun .button--border, body.theme-color-sun .nav-link--active, body.theme-color-sun .nav-link:hover { + border-color: #000 +} + +.product-grid__item:hover body.theme-color-earth .product-grid__item__name, .product-grid__item:hover body.theme-color-earth .product-grid__item__price, body.theme-color-earth .bg-main-color, body.theme-color-earth .button--border--solid, body.theme-color-earth .mobile-nav, body.theme-color-earth .product-grid__item:hover .product-grid__item__name, body.theme-color-earth .product-grid__item:hover .product-grid__item__price, body.theme-color-earth .section--themed { + background-color: #e7afa3; + color: #000 +} + +.hamburger.lines:hover.active body.theme-color-earth span:after, .hamburger.lines:hover.active body.theme-color-earth span:before, .hamburger body.theme-color-earth span, .hamburger body.theme-color-earth span:after, .hamburger body.theme-color-earth span:before, body.theme-color-earth .bg-secondary-color, body.theme-color-earth .hamburger.lines:hover.active span:after, body.theme-color-earth .hamburger.lines:hover.active span:before, body.theme-color-earth .hamburger span, body.theme-color-earth .hamburger span:after, body.theme-color-earth .hamburger span:before, body.theme-color-earth .nav-link--home__text:after { + background-color: #000; + color: #e7afa3 +} + +.blogposts-centered body.theme-color-earth .blogpost-title, body.theme-color-earth .blogposts-centered .blogpost-title, body.theme-color-earth .button--border, body.theme-color-earth .font-main-color, body.theme-color-earth .nav-link, body.theme-color-earth .section__hero-content, body.theme-color-earth footer a, footer body.theme-color-earth a { + color: #000 +} + +article body.theme-color-earth a, article body.theme-color-earth a:visited, body.theme-color-earth .employee-grid__item__email, body.theme-color-earth .font-link-color, body.theme-color-earth article a, body.theme-color-earth article a:visited { + color: #90514c +} + +body.theme-color-earth--active.nav-link:visited, body.theme-color-earth .border-main-color, body.theme-color-earth .button--border, body.theme-color-earth .nav-link--active, body.theme-color-earth .nav-link:hover { + border-color: #000 +} + +.product-grid__item:hover body.theme-color-freaky .product-grid__item__name, .product-grid__item:hover body.theme-color-freaky .product-grid__item__price, body.theme-color-freaky .bg-main-color, body.theme-color-freaky .button--border--solid, body.theme-color-freaky .mobile-nav, body.theme-color-freaky .product-grid__item:hover .product-grid__item__name, body.theme-color-freaky .product-grid__item:hover .product-grid__item__price, body.theme-color-freaky .section--themed { + background-color: #77f3d9; + color: #000 +} + +.hamburger.lines:hover.active body.theme-color-freaky span:after, .hamburger.lines:hover.active body.theme-color-freaky span:before, .hamburger body.theme-color-freaky span, .hamburger body.theme-color-freaky span:after, .hamburger body.theme-color-freaky span:before, body.theme-color-freaky .bg-secondary-color, body.theme-color-freaky .hamburger.lines:hover.active span:after, body.theme-color-freaky .hamburger.lines:hover.active span:before, body.theme-color-freaky .hamburger span, body.theme-color-freaky .hamburger span:after, body.theme-color-freaky .hamburger span:before, body.theme-color-freaky .nav-link--home__text:after { + background-color: #000; + color: #77f3d9 +} + +.blogposts-centered body.theme-color-freaky .blogpost-title, article body.theme-color-freaky a, article body.theme-color-freaky a:visited, body.theme-color-freaky .blogposts-centered .blogpost-title, body.theme-color-freaky .button--border, body.theme-color-freaky .employee-grid__item__email, body.theme-color-freaky .font-link-color, body.theme-color-freaky .font-main-color, body.theme-color-freaky .nav-link, body.theme-color-freaky .section__hero-content, body.theme-color-freaky article a, body.theme-color-freaky article a:visited, body.theme-color-freaky footer a, footer body.theme-color-freaky a { + color: #000 +} + + body.theme-color-freaky--active.nav-link:visited, body.theme-color-freaky .border-main-color, body.theme-color-freaky .button--border, body.theme-color-freaky .nav-link--active, body.theme-color-freaky .nav-link:hover { + border-color: #000 + } + +.nav-link--disabled, .nav-link--disabled:hover { + border-color: transparent !important; + cursor: not-allowed; +} + +.montserrat, body.theme-font-standard .nav-link.nav-link--home, body.theme-font-standard h1, body.theme-font-standard h2, body.theme-font-standard h3, body.theme-font-standard h4, body.theme-font-standard h5, body.theme-font-standard h6 { + font-family: Montserrat,sans-serif +} + +.source-sans-pro, body.theme-font-standard, body.theme-font-standard .nav-link { + font-family: Source Sans Pro,sans-serif +} + + body.theme-font-standard p { + line-height: 1.6em; + margin-bottom: 30px + } + +.lato, body.theme-font-mono .nav-link.nav-link--home, body.theme-font-mono h1, body.theme-font-mono h2, body.theme-font-mono h3, body.theme-font-mono h4, body.theme-font-mono h5, body.theme-font-mono h6 { + font-family: Lato,sans-serif +} + +.roboto-mono, body.theme-font-mono, body.theme-font-mono .nav-link { + font-family: Roboto Mono,monospace +} + +body.theme-font-mono { + font-weight: 400; + font-size: 14px +} + + body.theme-font-mono .nav-link.nav-link--home, body.theme-font-mono h1, body.theme-font-mono h2, body.theme-font-mono h3, body.theme-font-mono h4, body.theme-font-mono h5, body.theme-font-mono h6 { + font-weight: 900 + } + + body.theme-font-mono p { + line-height: 1.6em; + margin-bottom: 30px + } + +.playfair, body.theme-font-serif .nav-link.nav-link--home, body.theme-font-serif h1, body.theme-font-serif h2, body.theme-font-serif h3, body.theme-font-serif h4, body.theme-font-serif h5, body.theme-font-serif h6 { + font-family: Playfair Display,serif +} + +.noto, body.theme-font-serif, body.theme-font-serif .nav-link { + font-family: Noto Sans,sans-serif +} + + body.theme-font-serif p { + line-height: 1.6em; + margin-bottom: 30px + } + +.product-image-container { + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + -ms-flex-align: start; + align-items: flex-start +} + +.product-image { + max-width: 100%; + max-height: 600px +} + +.product-price { + font-size: 30px; + margin-bottom: 20px +} + +.product-teaser { + font-size: 18px; + line-height: 1.6em; + margin-bottom: 20px +} + +.product-button { + margin-bottom: 40px +} + +.product-advantages { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column +} + +.product-advantage { + padding: 15px 0; + font-weight: 700; + border-top: 1px solid #f2f2f2 +} + + .product-advantage:last-child { + border-bottom: 1px solid #f2f2f2 + } + +.product-grid { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + overflow: hidden +} + +.product-grid__item { + height: 300px; + position: relative; + overflow: hidden; + -ms-flex: 1 1 100%; + flex: 1 1 100%; + max-width: 100%; + background-size: cover; + background-repeat: no-repeat; + background-position: 50% +} + + .product-grid__item:hover { + cursor: pointer + } + +.product-grid__item__overlay { + position: absolute; + bottom: 0; + padding: 20px; + width: 100%; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start +} + +.product-grid__item-image { + max-width: 100% +} + +.product-grid__item__name, .product-grid__item__price { + color: #fff; + text-transform: uppercase; + font-size: 14px; + margin-bottom: 5px; + letter-spacing: 5px; + background-color: rgba(0,0,0,.35); + padding: 2px 5px; + display: inline-block +} + +.header { + padding-top: 50px; + padding-bottom: 50px; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + position: absolute; + width: 100%; + z-index: 4 +} + +.header--fixed { + padding-top: 20px; + padding-bottom: 20px; + background: #fff; + transition: padding .2s cubic-bezier(.694,.0482,.335,1),background .2s cubic-bezier(.694,.0482,.335,1); + left: 0; + position: fixed +} + + .header--fixed .nav-bar { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%) + } + + .header--fixed .nav-link { + color: #000 !important + } + + .header--fixed .nav-link--active, .header--fixed .nav-link:hover { + border-bottom-color: #000 !important + } + + .header--fixed .hamburger span, .header--fixed .hamburger span:after, .header--fixed .hamburger span:before { + background-color: #000 !important + } + +body.frontpage .header:not(.header--fixed) .nav-link--home__text:after { + background-color: #fff +} + +body.frontpage .header:not(.header--fixed) .nav-link { + color: #fff +} + + body.frontpage .header:not(.header--fixed) .nav-link--active, body.frontpage .header:not(.header--fixed) .nav-link:hover { + border-bottom-color: #fff + } + +body.frontpage .header:not(.header--fixed) .hamburger span, body.frontpage .header:not(.header--fixed) .hamburger span:after, body.frontpage .header:not(.header--fixed) .hamburger span:before { + background-color: #fff +} + +body.fixed .top-nav.-open { + position: fixed; + top: 0; + bottom: 0; + left: 0; + transform: translate(0) +} + +footer { + padding-top: 60px; + padding-bottom: 60px +} + +.logo { + padding-left: 20px +} + +.logo-image { + max-width: 180px; + max-height: 100px; + height: auto; + margin-left: 20px; + display: block +} + +.nav-bar { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-direction: row; + flex-direction: row +} + +.nav-bar--list { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start +} + +.nav-bar--center, .nav-bar--list { + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center +} + +.nav-bar--air-bottom { + margin-bottom: 40px +} + +.nav-link, .nav-link:visited { + text-decoration: none; + margin: 10px 15px; + font-size: 14px; + text-transform: uppercase; + font-weight: 600; + letter-spacing: 2px; + border-bottom: 2px solid transparent +} + +.nav-link--air-bottom { + margin-bottom: 5px +} + +a.nav-link.nav-link--black { + color: #000 +} + + a.nav-link.nav-link--black:hover { + border-color: #000 + } + +.nav-link--black.nav-link--active { + box-shadow: inset 0 -2px 0 #000 +} + +.nav-link--home { + font-size: 24px; + font-weight: 900; + margin-right: 40px; + color: #f4f4f0 +} + + .nav-link--home:hover { + box-shadow: none + } + +.nav-link--home__text { + position: relative +} + + .nav-link--home__text:after { + position: absolute; + right: 0; + display: block; + content: ""; + height: 3px; + width: 200% + } + +.section { + padding: 90px 20px +} + +.section--sand { + background-color: #f4f4f0 +} + +.section--stroke-bottom { + border-bottom: 1px solid #f2f2f2 +} + +.section--full-height { + min-height: 100vh +} + +.section--header { + min-height: 320px; + padding-top: 130px +} + +.section--content-center { + -ms-flex-align: center; + align-items: center; + text-align: center +} + +.section--content-center, .section--content-center-bottom { + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center +} + +.section--content-center-bottom { + -ms-flex-align: end; + align-items: flex-end +} + +.section--thick-border { + border: 20px solid #fff +} + +body.frontpage .section__hero-content { + color: #fff +} + +.section__hero-content { + max-width: 760px; + padding: 0 20px +} + +.section__description { + font-size: 18px; + line-height: 1.5; + margin-bottom: 60px +} + +.background-image-full { + background-repeat: no-repeat; + background-size: cover; + background-position: 50% +} + +.overlay { + position: relative +} + + .overlay:after { + content: ""; + z-index: 0; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + +.overlay--dark:after { + background: rgba(37,33,33,.6) +} + +.overlay--light:after { + background: hsla(0,0%,88%,.6) +} + +.overlay * { + position: relative; + z-index: 1 +} + +.button, .button--small { + display: -ms-inline-flexbox; + display: inline-flex; + max-width: 100%; + padding: 10px 40px; + text-align: center; + text-decoration: none; + letter-spacing: 2px; + text-transform: uppercase; + color: #fff; + font-size: 16px; + font-weight: 700; + border: 2px solid #000; + outline: none +} + + .button--small:hover, .button:hover { + opacity: .7 + } + +.button--small { + padding: 8px 40px; + font-size: 14px +} + +.button--border--light { + background: none; + border-color: #fff; + color: #fff +} + + .button--border--light:hover { + background: #fff; + color: #000; + opacity: 1 + } + +.button--border--light_solid { + background: #fff; + border-color: #fff; + color: #000 +} + + .button--border--light_solid:hover { + opacity: .7 + } + +.button--border--dark { + background: none; + border-color: #000; + color: #000 +} + + .button--border--dark:hover { + background: #000; + color: #fff; + opacity: 1 + } + +.button--border--dark_solid { + background: #000; + border-color: #000; + color: #fff +} + + .button--border--dark_solid:hover { + opacity: .7 + } + +.button--border { + background: none +} + + .button--border:hover { + opacity: 1 + } + +.button--border--solid { + border-color: transparent +} + + .button--border--solid:hover { + opacity: .7 + } + +.blogposts { + margin-left: auto; + margin-right: auto +} + +.blogpost { + text-decoration: none; + color: #000; + display: block; + padding: 30px 20px +} + + .blogpost.blogpost-with-image { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column + } + + .blogpost:last-child { + margin-bottom: 60px + } + + .blogpost:hover .blogpost-title { + text-decoration: underline + } + +.blogpost-image { + -ms-flex: 1 0 100%; + flex: 1 0 100%; + margin-left: 40px; + border-radius: 50% +} + +.blogpost-info { + -ms-flex: 1 1 auto; + flex: 1 1 auto +} + +.blogpost-meta { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: start; + justify-content: flex-start; + margin-bottom: 10px +} + +.blogpost-date { + display: block; + opacity: 1; + margin-right: 10px +} + +.blogpost-cat { + opacity: .5 +} + +.blogpost-image { + height: 160px; + width: 160px; + background-size: cover; + margin-left: auto; + margin-right: auto; + margin-top: 15px +} + +.blogpost-title { + font-size: 22px; + letter-spacing: 1px; + margin: 0 0 10px +} + +.blogpost-excerpt { + font-size: 16px; + line-height: 1.5; + opacity: .8 +} + +.blogpost-link { + margin-top: 25px; + display: -ms-inline-flexbox; + display: inline-flex; + padding-bottom: 2px; + border-bottom: 2px solid rgba(0,0,0,.15); + color: #000; + text-decoration: none; + font-size: 18px +} + + .blogpost-link:hover { + border-bottom-color: #000 + } + +.blogposts-centered { + text-align: center +} + + .blogposts-centered .blogpost { + margin: 30px 0; + padding: 30px 30px 0 + } + + .blogposts-centered .blogpost:hover { + background: none + } + + .blogposts-centered .blogpost + .blogpost { + border-top: 1px solid #f4f4f0 + } + + .blogposts-centered .blogpost-title { + margin-bottom: 30px + } + + .blogposts-centered .blogpost-excerpt { + font-size: 18px + } + + .blogposts-centered .blogpost-meta { + -ms-flex-pack: center; + justify-content: center + } + + .blogposts-centered .blogpost-title { + font-size: 30px; + line-height: 1.3 + } + +.testimonial { + text-decoration: none; + color: #000; + display: block; + background: #f4f4f0; + margin-bottom: 30px +} + +.testimonial-image { + width: 100%; + height: 200px; + background-size: cover; + background-position: 50% +} + +.testimonial-content { + padding: 30px +} + +.testimonial-title { + letter-spacing: 1px; + margin: 0 0 10px +} + +p.testimonial-text { + margin-top: 0; + margin-bottom: 0 !important +} + +.testimonial-link { + color: rgba(0,0,0,.3); + text-decoration: none; + display: inline-block; + margin-top: 20px +} + + .testimonial-link:hover { + color: #000 + } + +.employee-grid { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + overflow: hidden +} + +.employee-grid__item { + -ms-flex: 1 1 100%; + flex: 1 1 100%; + max-width: 100%; + padding-top: 10px; + padding-bottom: 10px +} + +.employee-grid__item__image { + height: 300px; + background-size: cover; + background-repeat: no-repeat; + background-position: 50% +} + +.employee-grid__item__details { + padding: 30px; + background: #f4f4f0 +} + +.employee-grid__item__name { + color: #000; + letter-spacing: 1px; + margin-top: 0; + margin-bottom: 5px +} + +.employee-grid__item__email { + text-decoration: none; + margin-bottom: 15px; + display: inline-block +} + +.employee-grid__item__contact-item { + color: rgba(0,0,0,.3); + text-decoration: none; + display: inline-block; + margin-right: 10px +} + + .employee-grid__item__contact-item:hover { + color: #000 + } + +label { + margin-bottom: 10px; + font-size: 12px; + text-transform: uppercase +} + +.form-group { + margin-bottom: 25px +} + +.form-control { + border-radius: 0; + box-shadow: none; + transition: none; + padding: 20px 15px +} + + .form-control:focus { + border-color: #362bdc; + box-shadow: none + } + +.mobile-nav-handler { + margin-left: auto; + margin-right: 40px +} + +.hamburger { + position: relative; + cursor: pointer; + z-index: 5; + width: 40px; + height: 40px; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center +} + + .hamburger span, .hamburger span:after, .hamburger span:before { + display: block; + transition-property: all; + transition-duration: .1s + } + + .hamburger span { + margin: 0 auto; + position: relative + } + + .hamburger span:after, .hamburger span:before { + position: absolute; + content: '' + } + + .hamburger.lines span, .hamburger.lines span:after, .hamburger.lines span:before { + width: 20px; + height: 2px + } + + .hamburger.lines span:before { + transform: translateY(-5px) + } + + .hamburger.lines span:after { + transform: translateY(5px) + } + + .hamburger.lines:hover span:before { + transform: translateY(-7px) + } + + .hamburger.lines:hover span:after { + transform: translateY(7px) + } + + .hamburger.lines:hover.active span:before { + transform: rotate(45deg) + } + + .hamburger.lines:hover.active span:after { + transform: rotate(-45deg) + } + + .hamburger.lines.active span { + background-color: transparent !important + } + + .hamburger.lines.active span:after, .hamburger.lines.active span:before { + transform: translateY(0) + } + + .hamburger.lines.active span:before { + transform: rotate(45deg) + } + + .hamburger.lines.active span:after { + transform: rotate(-45deg) + } + +article { + max-width: 700px; + margin: 0 auto +} + + article a, article a:visited { + text-decoration: none; + text-decoration: underline + } + + article a:hover, article a:visited:hover { + text-decoration: none + } + + article li, article p { + font-weight: 400; + font-style: normal; + font-size: 18px; + line-height: 1.5 + } + + article li { + padding: 5px 0 + } + + article ol, article ul { + margin: 20px; + padding: 0 + } + + article img { + max-width: 100% + } + + article iframe, article img { + margin: 0 0 20px + } + +.mobile-nav { + width: 100%; + height: auto; + z-index: 4; + left: 0; + top: 0; + right: 0; + bottom: 0; + display: -ms-flexbox; + display: flex; + position: fixed; + -ms-flex-pack: center; + justify-content: center; + -ms-flex-align: center; + align-items: center; + opacity: 0; + height: 0 +} + +.mobile-nav--open { + opacity: 1; + height: 100vh +} + +.mobile-nav .nav-link { + transition: transform .6s cubic-bezier(.23,1,.32,1); + transform: translateY(999px); + opacity: 0; + font-size: 18px; + margin: 15px +} + + .mobile-nav .nav-link:nth-child(1) { + transition-delay: 60ms + } + + .mobile-nav .nav-link:nth-child(2) { + transition-delay: 80ms + } + + .mobile-nav .nav-link:nth-child(3) { + transition-delay: .1s + } + + .mobile-nav .nav-link:nth-child(4) { + transition-delay: .12s + } + + .mobile-nav .nav-link:nth-child(5) { + transition-delay: .14s + } + + .mobile-nav .nav-link:nth-child(6) { + transition-delay: .16s + } + + .mobile-nav .nav-link:nth-child(7) { + transition-delay: .18s + } + + .mobile-nav .nav-link:nth-child(8) { + transition-delay: .2s + } + + .mobile-nav .nav-link:nth-child(9) { + transition-delay: .22s + } + + .mobile-nav .nav-link:nth-child(10) { + transition-delay: .24s + } + + .mobile-nav .nav-link:nth-child(11) { + transition-delay: .26s + } + +.mobile-nav--open .nav-link { + transform: translate(0); + opacity: 1 +} + +.ta-center { + text-align: center +} + +.mw-640 { + max-width: 640px +} + +.ma-h-auto { + margin-left: auto; + margin-right: auto +} + +.no-air { + margin: 0 +} + +.no-scroll { + overflow: hidden +} + +@media screen and (-webkit-min-device-pixel-ratio:0) { + input[type=date].form-control, input[type=datetime-local].form-control, input[type=month].form-control, input[type=time].form-control { + line-height: 34px + } + + .input-group-sm > .input-group-btn > input[type=date].btn, .input-group-sm > .input-group-btn > input[type=datetime-local].btn, .input-group-sm > .input-group-btn > input[type=month].btn, .input-group-sm > .input-group-btn > input[type=time].btn, .input-group-sm > input[type=date].form-control, .input-group-sm > input[type=date].input-group-addon, .input-group-sm > input[type=datetime-local].form-control, .input-group-sm > input[type=datetime-local].input-group-addon, .input-group-sm > input[type=month].form-control, .input-group-sm > input[type=month].input-group-addon, .input-group-sm > input[type=time].form-control, .input-group-sm > input[type=time].input-group-addon, .input-group-sm input[type=date], .input-group-sm input[type=datetime-local], .input-group-sm input[type=month], .input-group-sm input[type=time], input[type=date].input-sm, input[type=datetime-local].input-sm, input[type=month].input-sm, input[type=time].input-sm { + line-height: 30px + } + + .input-group-lg > .input-group-btn > input[type=date].btn, .input-group-lg > .input-group-btn > input[type=datetime-local].btn, .input-group-lg > .input-group-btn > input[type=month].btn, .input-group-lg > .input-group-btn > input[type=time].btn, .input-group-lg > input[type=date].form-control, .input-group-lg > input[type=date].input-group-addon, .input-group-lg > input[type=datetime-local].form-control, .input-group-lg > input[type=datetime-local].input-group-addon, .input-group-lg > input[type=month].form-control, .input-group-lg > input[type=month].input-group-addon, .input-group-lg > input[type=time].form-control, .input-group-lg > input[type=time].input-group-addon, .input-group-lg input[type=date], .input-group-lg input[type=datetime-local], .input-group-lg input[type=month], .input-group-lg input[type=time], input[type=date].input-lg, input[type=datetime-local].input-lg, input[type=month].input-lg, input[type=time].input-lg { + line-height: 46px + } +} + +@media (min-width:768px) { + .container { + width: 750px + } + + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left + } + + .col-sm-1 { + width: 8.333333% + } + + .col-sm-2 { + width: 16.666667% + } + + .col-sm-3 { + width: 25% + } + + .col-sm-4 { + width: 33.333333% + } + + .col-sm-5 { + width: 41.666667% + } + + .col-sm-6 { + width: 50% + } + + .col-sm-7 { + width: 58.333333% + } + + .col-sm-8 { + width: 66.666667% + } + + .col-sm-9 { + width: 75% + } + + .col-sm-10 { + width: 83.333333% + } + + .col-sm-11 { + width: 91.666667% + } + + .col-sm-12 { + width: 100% + } + + .col-sm-pull-0 { + right: auto + } + + .col-sm-pull-1 { + right: 8.333333% + } + + .col-sm-pull-2 { + right: 16.666667% + } + + .col-sm-pull-3 { + right: 25% + } + + .col-sm-pull-4 { + right: 33.333333% + } + + .col-sm-pull-5 { + right: 41.666667% + } + + .col-sm-pull-6 { + right: 50% + } + + .col-sm-pull-7 { + right: 58.333333% + } + + .col-sm-pull-8 { + right: 66.666667% + } + + .col-sm-pull-9 { + right: 75% + } + + .col-sm-pull-10 { + right: 83.333333% + } + + .col-sm-pull-11 { + right: 91.666667% + } + + .col-sm-pull-12 { + right: 100% + } + + .col-sm-push-0 { + left: auto + } + + .col-sm-push-1 { + left: 8.333333% + } + + .col-sm-push-2 { + left: 16.666667% + } + + .col-sm-push-3 { + left: 25% + } + + .col-sm-push-4 { + left: 33.333333% + } + + .col-sm-push-5 { + left: 41.666667% + } + + .col-sm-push-6 { + left: 50% + } + + .col-sm-push-7 { + left: 58.333333% + } + + .col-sm-push-8 { + left: 66.666667% + } + + .col-sm-push-9 { + left: 75% + } + + .col-sm-push-10 { + left: 83.333333% + } + + .col-sm-push-11 { + left: 91.666667% + } + + .col-sm-push-12 { + left: 100% + } + + .col-sm-offset-0 { + margin-left: 0 + } + + .col-sm-offset-1 { + margin-left: 8.333333% + } + + .col-sm-offset-2 { + margin-left: 16.666667% + } + + .col-sm-offset-3 { + margin-left: 25% + } + + .col-sm-offset-4 { + margin-left: 33.333333% + } + + .col-sm-offset-5 { + margin-left: 41.666667% + } + + .col-sm-offset-6 { + margin-left: 50% + } + + .col-sm-offset-7 { + margin-left: 58.333333% + } + + .col-sm-offset-8 { + margin-left: 66.666667% + } + + .col-sm-offset-9 { + margin-left: 75% + } + + .col-sm-offset-10 { + margin-left: 83.333333% + } + + .col-sm-offset-11 { + margin-left: 91.666667% + } + + .col-sm-offset-12 { + margin-left: 100% + } + + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + + .form-inline .form-control-static { + display: inline-block + } + + .form-inline .input-group { + display: inline-table; + vertical-align: middle + } + + .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn { + width: auto + } + + .form-inline .input-group > .form-control { + width: 100% + } + + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .checkbox, .form-inline .radio { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle + } + + .form-inline .checkbox label, .form-inline .radio label { + padding-left: 0 + } + + .form-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] { + position: relative; + margin-left: 0 + } + + .form-inline .has-feedback .form-control-feedback { + top: 0 + } + + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px + } + + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px + } + + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px + } + + .employee-grid__item, .product-grid__item { + -ms-flex: 1 1 50%; + flex: 1 1 50%; + max-width: 50% + } + + .employee-grid__item { + padding: 10px + } +} + +.compat-msg { + color: #000; + display: block; + background: #f4f4f0; + padding: 30px +} + +@media (min-width:992px) { + .container { + width: 970px + } + + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left + } + + .col-md-1 { + width: 8.333333% + } + + .col-md-2 { + width: 16.666667% + } + + .col-md-3 { + width: 25% + } + + .col-md-4 { + width: 33.333333% + } + + .col-md-5 { + width: 41.666667% + } + + .col-md-6 { + width: 50% + } + + .col-md-7 { + width: 58.333333% + } + + .col-md-8 { + width: 66.666667% + } + + .col-md-9 { + width: 75% + } + + .col-md-10 { + width: 83.333333% + } + + .col-md-11 { + width: 91.666667% + } + + .col-md-12 { + width: 100% + } + + .col-md-pull-0 { + right: auto + } + + .col-md-pull-1 { + right: 8.333333% + } + + .col-md-pull-2 { + right: 16.666667% + } + + .col-md-pull-3 { + right: 25% + } + + .col-md-pull-4 { + right: 33.333333% + } + + .col-md-pull-5 { + right: 41.666667% + } + + .col-md-pull-6 { + right: 50% + } + + .col-md-pull-7 { + right: 58.333333% + } + + .col-md-pull-8 { + right: 66.666667% + } + + .col-md-pull-9 { + right: 75% + } + + .col-md-pull-10 { + right: 83.333333% + } + + .col-md-pull-11 { + right: 91.666667% + } + + .col-md-pull-12 { + right: 100% + } + + .col-md-push-0 { + left: auto + } + + .col-md-push-1 { + left: 8.333333% + } + + .col-md-push-2 { + left: 16.666667% + } + + .col-md-push-3 { + left: 25% + } + + .col-md-push-4 { + left: 33.333333% + } + + .col-md-push-5 { + left: 41.666667% + } + + .col-md-push-6 { + left: 50% + } + + .col-md-push-7 { + left: 58.333333% + } + + .col-md-push-8 { + left: 66.666667% + } + + .col-md-push-9 { + left: 75% + } + + .col-md-push-10 { + left: 83.333333% + } + + .col-md-push-11 { + left: 91.666667% + } + + .col-md-push-12 { + left: 100% + } + + .col-md-offset-0 { + margin-left: 0 + } + + .col-md-offset-1 { + margin-left: 8.333333% + } + + .col-md-offset-2 { + margin-left: 16.666667% + } + + .col-md-offset-3 { + margin-left: 25% + } + + .col-md-offset-4 { + margin-left: 33.333333% + } + + .col-md-offset-5 { + margin-left: 41.666667% + } + + .col-md-offset-6 { + margin-left: 50% + } + + .col-md-offset-7 { + margin-left: 58.333333% + } + + .col-md-offset-8 { + margin-left: 66.666667% + } + + .col-md-offset-9 { + margin-left: 75% + } + + .col-md-offset-10 { + margin-left: 83.333333% + } + + .col-md-offset-11 { + margin-left: 91.666667% + } + + .col-md-offset-12 { + margin-left: 100% + } + + .nav-link, .nav-link:visited { + margin-left: 15px; + margin-right: 15px + } + + .button, .button--small { + padding: 10px 80px + } + + .blogposts { + max-width: 800px + } + + .blogpost { + padding: 30px; + margin: 20px 0 + } + + .blogpost.blogpost-with-image { + -ms-flex-direction: row; + flex-direction: row + } + + .blogpost-image { + height: 160px; + max-width: 160px; + margin-top: 0; + margin-left: 20px + } + + .employee-grid { + margin-left: 20px; + margin-right: 20px + } + + .mobile-nav-handler { + display: none + } +} + +@media (min-width:1200px) { + .container { + width: 1170px + } + + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left + } + + .col-lg-1 { + width: 8.333333% + } + + .col-lg-2 { + width: 16.666667% + } + + .col-lg-3 { + width: 25% + } + + .col-lg-4 { + width: 33.333333% + } + + .col-lg-5 { + width: 41.666667% + } + + .col-lg-6 { + width: 50% + } + + .col-lg-7 { + width: 58.333333% + } + + .col-lg-8 { + width: 66.666667% + } + + .col-lg-9 { + width: 75% + } + + .col-lg-10 { + width: 83.333333% + } + + .col-lg-11 { + width: 91.666667% + } + + .col-lg-12 { + width: 100% + } + + .col-lg-pull-0 { + right: auto + } + + .col-lg-pull-1 { + right: 8.333333% + } + + .col-lg-pull-2 { + right: 16.666667% + } + + .col-lg-pull-3 { + right: 25% + } + + .col-lg-pull-4 { + right: 33.333333% + } + + .col-lg-pull-5 { + right: 41.666667% + } + + .col-lg-pull-6 { + right: 50% + } + + .col-lg-pull-7 { + right: 58.333333% + } + + .col-lg-pull-8 { + right: 66.666667% + } + + .col-lg-pull-9 { + right: 75% + } + + .col-lg-pull-10 { + right: 83.333333% + } + + .col-lg-pull-11 { + right: 91.666667% + } + + .col-lg-pull-12 { + right: 100% + } + + .col-lg-push-0 { + left: auto + } + + .col-lg-push-1 { + left: 8.333333% + } + + .col-lg-push-2 { + left: 16.666667% + } + + .col-lg-push-3 { + left: 25% + } + + .col-lg-push-4 { + left: 33.333333% + } + + .col-lg-push-5 { + left: 41.666667% + } + + .col-lg-push-6 { + left: 50% + } + + .col-lg-push-7 { + left: 58.333333% + } + + .col-lg-push-8 { + left: 66.666667% + } + + .col-lg-push-9 { + left: 75% + } + + .col-lg-push-10 { + left: 83.333333% + } + + .col-lg-push-11 { + left: 91.666667% + } + + .col-lg-push-12 { + left: 100% + } + + .col-lg-offset-0 { + margin-left: 0 + } + + .col-lg-offset-1 { + margin-left: 8.333333% + } + + .col-lg-offset-2 { + margin-left: 16.666667% + } + + .col-lg-offset-3 { + margin-left: 25% + } + + .col-lg-offset-4 { + margin-left: 33.333333% + } + + .col-lg-offset-5 { + margin-left: 41.666667% + } + + .col-lg-offset-6 { + margin-left: 50% + } + + .col-lg-offset-7 { + margin-left: 58.333333% + } + + .col-lg-offset-8 { + margin-left: 66.666667% + } + + .col-lg-offset-9 { + margin-left: 75% + } + + .col-lg-offset-10 { + margin-left: 83.333333% + } + + .col-lg-offset-11 { + margin-left: 91.666667% + } + + .col-lg-offset-12 { + margin-left: 100% + } + + .employee-grid__item, .product-grid__item { + -ms-flex: 1 1 33%; + flex: 1 1 33%; + max-width: 33% + } + + .employee-grid__item { + padding: 20px + } +} + +@media (max-width:992px) { + .header .nav-bar { + display: none + } + + .nav-bar { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center + } +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/favicon.ico b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c0749ddf7f1b68606b0672aa8d709779d6b0817a GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/scripts/umbraco-starterkit-app.js b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/scripts/umbraco-starterkit-app.js new file mode 100644 index 0000000..e87f0b3 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker.Website/wwwroot/scripts/umbraco-starterkit-app.js @@ -0,0 +1,54 @@ +!function e(o, r, n) { + function a(l, t) { + if (!r[l]) { + if (!o[l]) { + var s = "function" == typeof require && require; + if (!t && s) return s(l, !0); + if (i) return i(l, !0); + var c = new Error("Cannot find module '" + l + "'"); + throw c.code = "MODULE_NOT_FOUND", c + } + var d = r[l] = { exports: {} }; + o[l][0].call(d.exports, + function(e) { + var r = o[l][1][e]; + return a(r ? r : e) + }, + d, + d.exports, + e, + o, + r, + n) + } + return r[l].exports + } + + for (var i = "function" == typeof require && require, l = 0; l < n.length; l++) a(n[l]); + return a +}({ + 1: [ + function(e, o, r) { + !function() { + "use strict"; + $(document).ready(function() { + $(window).bind("scroll", + function() { + var e = 150; + $(window).scrollTop() > e + ? $(".header").addClass("header--fixed") + : $(".header").removeClass("header--fixed") + }), $(".mobile-nav-handler").click(function(e) { + $(".mobile-nav").toggleClass("mobile-nav--open"), $(".header").toggleClass("header--hide"), + $("body").toggleClass("no-scroll"), $("#toggle-nav").toggleClass("active") + }), $(".nav-link").click(function(e) { + $(".mobile-nav").removeClass("mobile-nav--open"), $(".header").removeClass("header--hide"), + $("body").removeClass("no-scroll"), $("#toggle-nav").removeClass("active") + }) + }) + }() + }, {} + ] + }, + {}, + [1]); \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/.eslintrc.cjs b/src/Infocaster.Umbraco.IcomoonPicker/.eslintrc.cjs new file mode 100644 index 0000000..cb7b78d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/.eslintrc.cjs @@ -0,0 +1,32 @@ +module.exports = { + env: { + browser: true, + es2021: true, + }, + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:wc/recommended", + "plugin:lit/recommended", + ], + overrides: [ + { + env: { + node: true, + }, + files: [".eslintrc.{js,cjs}"], + parserOptions: { + sourceType: "script", + }, + }, + ], + parser: "@typescript-eslint/parser", + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + }, + plugins: ["@typescript-eslint"], + rules: { + "@typescript-eslint/no-explicit-any": "off", + }, +}; diff --git a/src/Infocaster.Umbraco.IcomoonPicker/.gitignore b/src/Infocaster.Umbraco.IcomoonPicker/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html new file mode 100644 index 0000000..60742fc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html @@ -0,0 +1 @@ + diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/package.manifest b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/package.manifest index ca57bd3..19b03fc 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/package.manifest +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/package.manifest @@ -4,7 +4,7 @@ "alias": "Infocaster.IcomoonPicker", "name": "Icomoon icon picker", "editor": { - "view": "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/views/editor.html", + "view": "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html", "isReadOnly": false }, "prevalues": { @@ -37,11 +37,6 @@ ], "javascript": [ - "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/scripts/editor.controller.js", - "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/scripts/panel.controller.js" + "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js", ], - - "css": [ - "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/style/icomoon.css" - ] } diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html new file mode 100644 index 0000000..e8e081e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html @@ -0,0 +1 @@ + diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js new file mode 100644 index 0000000..84402b8 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js @@ -0,0 +1,143 @@ +(function(on){var sn;"use strict";/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let Ye=class extends Event{constructor(e,n,s){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.callback=n,this.subscribe=s??!1}};/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function hr(t){return t}/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let et=class{constructor(e,n,s,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(o,i)=>{this.unsubscribe&&(this.unsubscribe!==i&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=o,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(o,i)),this.unsubscribe=i},this.host=e,n.context!==void 0){const o=n;this.context=o.context,this.callback=o.callback,this.subscribe=o.subscribe??!1}else this.context=n,this.callback=s,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new Ye(this.context,this.t,this.subscribe))}};/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let cn=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,n=!1){const s=n||!Object.is(e,this.o);this.o=e,s&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(const[n,{disposer:s}]of this.subscriptions)n(this.o,s)},e!==void 0&&(this.value=e)}addCallback(e,n,s){if(!s)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:n});const{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}};/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let an=class extends Event{constructor(e){super("context-provider",{bubbles:!0,composed:!0}),this.context=e}},ln=class extends cn{constructor(e,n,s){super(n.context!==void 0?n.initialValue:s),this.onContextRequest=r=>{const o=r.composedPath()[0];r.context===this.context&&o!==this.host&&(r.stopPropagation(),this.addCallback(r.callback,o,r.subscribe))},this.onProviderRequest=r=>{const o=r.composedPath()[0];if(r.context!==this.context||o===this.host)return;const i=new Set;for(const[a,{consumerHost:u}]of this.subscriptions)i.has(a)||(i.add(a),u.dispatchEvent(new Ye(this.context,a,!0)));r.stopPropagation()},this.host=e,n.context!==void 0?this.context=n.context:this.context=n,this.attachListeners(),this.host.addController(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new an(this.context))}};/** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function x({context:t,subscribe:e}){return(n,s)=>{typeof s=="object"?s.addInitializer(function(){new et(this,{context:t,callback:r=>{this[s.name]=r},subscribe:e})}):n.constructor.addInitializer(r=>{new et(r,{context:t,callback:o=>{r[s]=o},subscribe:e})})}}const xe="assetsService",re=xe,ve="editorService",oe=ve,Ce="iconHelper",Oe=Ce,Pe="localizationService",ie=Pe,Re="scope",ce=Re;/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const ae=globalThis,Te=ae.ShadowRoot&&(ae.ShadyCSS===void 0||ae.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ne=Symbol(),tt=new WeakMap;let nt=class{constructor(e,n,s){if(this._$cssResult$=!0,s!==Ne)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(Te&&e===void 0){const s=n!==void 0&&n.length===1;s&&(e=tt.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&tt.set(n,e))}return e}toString(){return this.cssText}};const un=t=>new nt(typeof t=="string"?t:t+"",void 0,Ne),st=(t,...e)=>{const n=t.length===1?t[0]:e.reduce((s,r,o)=>s+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[o+1],t[0]);return new nt(n,t,Ne)},hn=(t,e)=>{if(Te)t.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(const n of e){const s=document.createElement("style"),r=ae.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=n.cssText,t.appendChild(s)}},rt=Te?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(const s of e.cssRules)n+=s.cssText;return un(n)})(t):t;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const{is:dn,defineProperty:pn,getOwnPropertyDescriptor:fn,getOwnPropertyNames:mn,getOwnPropertySymbols:yn,getPrototypeOf:bn}=Object,N=globalThis,ot=N.trustedTypes,gn=ot?ot.emptyScript:"",Ue=N.reactiveElementPolyfillSupport,V=(t,e)=>t,le={toAttribute(t,e){switch(e){case Boolean:t=t?gn:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},ke=(t,e)=>!dn(t,e),it={attribute:!0,type:String,converter:le,reflect:!1,hasChanged:ke};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),N.litPropertyMetadata??(N.litPropertyMetadata=new WeakMap);let B=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=it){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(e,s,n);r!==void 0&&pn(this.prototype,e,r)}}static getPropertyDescriptor(e,n,s){const{get:r,set:o}=fn(this.prototype,e)??{get(){return this[n]},set(i){this[n]=i}};return{get(){return r==null?void 0:r.call(this)},set(i){const a=r==null?void 0:r.call(this);o.call(this,i),this.requestUpdate(e,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??it}static _$Ei(){if(this.hasOwnProperty(V("elementProperties")))return;const e=bn(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(V("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(V("properties"))){const n=this.properties,s=[...mn(n),...yn(n)];for(const r of s)this.createProperty(r,n[r])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[s,r]of n)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[n,s]of this.elementProperties){const r=this._$Eu(n,s);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const r of s)n.unshift(rt(r))}else e!==void 0&&n.push(rt(e));return n}static _$Eu(e,n){const s=n.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$Eg=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(n=>n(this))}addController(e){var n;(this._$ES??(this._$ES=[])).push(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)==null||n.call(e))}removeController(e){var n;(n=this._$ES)==null||n.splice(this._$ES.indexOf(e)>>>0,1)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const s of n.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return hn(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)==null||e.forEach(n=>{var s;return(s=n.hostConnected)==null?void 0:s.call(n)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)==null||e.forEach(n=>{var s;return(s=n.hostDisconnected)==null?void 0:s.call(n)})}attributeChangedCallback(e,n,s){this._$AK(e,s)}_$EO(e,n){var o;const s=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,s);if(r!==void 0&&s.reflect===!0){const i=(((o=s.converter)==null?void 0:o.toAttribute)!==void 0?s.converter:le).toAttribute(n,s.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,n){var o;const s=this.constructor,r=s._$Eh.get(e);if(r!==void 0&&this._$Em!==r){const i=s.getPropertyOptions(r),a=typeof i.converter=="function"?{fromAttribute:i.converter}:((o=i.converter)==null?void 0:o.fromAttribute)!==void 0?i.converter:le;this._$Em=r,this[r]=a.fromAttribute(n,i.type),this._$Em=null}}requestUpdate(e,n,s,r=!1,o){if(e!==void 0){if(s??(s=this.constructor.getPropertyOptions(e)),!(s.hasChanged??ke)(r?o:this[e],n))return;this.C(e,n,s)}this.isUpdatePending===!1&&(this._$Eg=this._$EP())}C(e,n,s){this._$AL.has(e)||this._$AL.set(e,n),s.reflect===!0&&this._$Em!==e&&(this._$Ej??(this._$Ej=new Set)).add(e)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var s;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[o,i]of this._$Ep)this[o]=i;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,i]of r)i.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.C(o,this[o],i)}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),(s=this._$ES)==null||s.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(n)):this._$ET()}catch(r){throw e=!1,this._$ET(),r}e&&this._$AE(n)}willUpdate(e){}_$AE(e){var n;(n=this._$ES)==null||n.forEach(s=>{var r;return(r=s.hostUpdated)==null?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(n=>this._$EO(n,this[n]))),this._$ET()}updated(e){}firstUpdated(e){}};B.elementStyles=[],B.shadowRootOptions={mode:"open"},B[V("elementProperties")]=new Map,B[V("finalized")]=new Map,Ue==null||Ue({ReactiveElement:B}),(N.reactiveElementVersions??(N.reactiveElementVersions=[])).push("2.0.1");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const J=globalThis,ue=J.trustedTypes,ct=ue?ue.createPolicy("lit-html",{createHTML:t=>t}):void 0,at="$lit$",U=`lit$${(Math.random()+"").slice(9)}$`,lt="?"+U,$n=`<${lt}>`,H=document,W=()=>H.createComment(""),K=t=>t===null||typeof t!="object"&&typeof t!="function",ut=Array.isArray,En=t=>ut(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",He=`[ +\f\r]`,G=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ht=/-->/g,dt=/>/g,D=RegExp(`>|${He}(?:([^\\s"'>=/]+)(${He}*=${He}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),pt=/'/g,ft=/"/g,mt=/^(?:script|style|textarea|title)$/i,yt=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),v=yt(1),bt=yt(2),F=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),gt=new WeakMap,j=H.createTreeWalker(H,129);function $t(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return ct!==void 0?ct.createHTML(e):e}const Sn=(t,e)=>{const n=t.length-1,s=[];let r,o=e===2?"":"",i=G;for(let a=0;a"?(i=r??G,h=-1):l[1]===void 0?h=-2:(h=i.lastIndex-l[2].length,p=l[1],i=l[3]===void 0?D:l[3]==='"'?ft:pt):i===ft||i===pt?i=D:i===ht||i===dt?i=G:(i=D,r=void 0);const b=i===D&&t[a+1].startsWith("/>")?" ":"";o+=i===G?u+$n:h>=0?(s.push(p),u.slice(0,h)+at+u.slice(h)+U+b):u+U+(h===-2?a:b)}return[$t(t,o+(t[n]||"")+(e===2?"":"")),s]};class X{constructor({strings:e,_$litType$:n},s){let r;this.parts=[];let o=0,i=0;const a=e.length-1,u=this.parts,[p,l]=Sn(e,n);if(this.el=X.createElement(p,s),j.currentNode=this.el.content,n===2){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(r=j.nextNode())!==null&&u.length0){r.textContent=ue?ue.emptyScript:"";for(let b=0;b2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=g}_$AI(e,n=this,s,r){const o=this.strings;let i=!1;if(o===void 0)e=M(this,e,n,0),i=!K(e)||e!==this._$AH&&e!==F,i&&(this._$AH=e);else{const a=e;let u,p;for(e=o[0],u=0;u{const s=(n==null?void 0:n.renderBefore)??e;let r=s._$litPart$;if(r===void 0){const o=(n==null?void 0:n.renderBefore)??null;s._$litPart$=r=new Q(e.insertBefore(W(),o),o,void 0,n??{})}return r._$AI(t),r};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class C extends B{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var n;const e=super.createRenderRoot();return(n=this.renderOptions).renderBefore??(n.renderBefore=e.firstChild),e}update(e){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Cn(n,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return F}}C._$litElement$=!0,C.finalized=!0,(sn=globalThis.litElementHydrateSupport)==null||sn.call(globalThis,{LitElement:C});const je=globalThis.litElementPolyfillSupport;je==null||je({LitElement:C}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.1");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Z=t=>(e,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const On={attribute:!0,type:String,converter:le,reflect:!1,hasChanged:ke},Pn=(t=On,e,n)=>{const{kind:s,metadata:r}=n;let o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(n.name,t),s==="accessor"){const{name:i}=n;return{set(a){const u=e.get.call(this);e.set.call(this,a),this.requestUpdate(i,u,t)},init(a){return a!==void 0&&this.C(i,void 0,t),a}}}if(s==="setter"){const{name:i}=n;return function(a){const u=this[i];e.call(this,a),this.requestUpdate(i,u,t)}}throw Error("Unsupported decorator location: "+s)};function Rn(t){return(e,n)=>typeof n=="object"?Pn(t,e,n):((s,r,o)=>{const i=r.hasOwnProperty(o);return r.constructor.createProperty(o,i?{...s,wrapped:!0}:s),i?Object.getOwnPropertyDescriptor(r,o):void 0})(t,e,n)}/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function Y(t){return Rn({...t,state:!0,attribute:!1})}var Tn=Object.defineProperty,Nn=Object.getOwnPropertyDescriptor,Le=(t,e,n,s)=>{for(var r=s>1?void 0:s?Nn(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&Tn(e,n,r),r};class Un extends on.UUIIconRegistry{setIconHelper(e){this._iconHelper=e}getIcon(e){return this._iconHelper?this.getIconFromHelper(e):super.getIcon(e)}async getIconFromHelper(e){const n=await this._iconHelper.getIcon(e);return n?n.svgString.$$unwrapTrustedValue():""}}const kn="angular-icon-registry";let de=class extends C{constructor(){super(),this._registry=new Un,this.loading=0,this._registry.attach(this)}async connectedCallback(){if(super.connectedCallback(),!this.iconHelper)throw new Error("Icon helper service is required to use this element");this._registry.setIconHelper(this.iconHelper)}disconnectedCallback(){super.disconnectedCallback(),this._registry.detach(this)}render(){return this.loading?g:v``}};Le([x({context:Oe})],de.prototype,"iconHelper",2),Le([Y()],de.prototype,"loading",2),de=Le([Z(kn)],de);function Et(t,e){return class extends t{constructor(){super(...arguments),this._contextCollection={}}SetContext(s,r,o){this._contextCollection[o]?this._contextCollection[o].setValue(s):this._contextCollection[o]=new ln(this,{context:r,initialValue:s})}render(){return v` + ${e} + `}}}function St(t,e){return function(){return t.apply(e,arguments)}}const{toString:Hn}=Object.prototype,{getPrototypeOf:Ie}=Object,pe=(t=>e=>{const n=Hn.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),w=t=>(t=t.toLowerCase(),e=>pe(e)===t),fe=t=>e=>typeof e===t,{isArray:z}=Array,ee=fe("undefined");function Dn(t){return t!==null&&!ee(t)&&t.constructor!==null&&!ee(t.constructor)&&S(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const wt=w("ArrayBuffer");function jn(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&wt(t.buffer),e}const Ln=fe("string"),S=fe("function"),_t=fe("number"),me=t=>t!==null&&typeof t=="object",In=t=>t===!0||t===!1,ye=t=>{if(pe(t)!=="object")return!1;const e=Ie(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},Bn=w("Date"),Fn=w("File"),Mn=w("Blob"),zn=w("FileList"),qn=t=>me(t)&&S(t.pipe),Vn=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||S(t.append)&&((e=pe(t))==="formdata"||e==="object"&&S(t.toString)&&t.toString()==="[object FormData]"))},Jn=w("URLSearchParams"),Wn=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function te(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let s,r;if(typeof t!="object"&&(t=[t]),z(t))for(s=0,r=t.length;s0;)if(r=n[s],e===r.toLowerCase())return r;return null}const xt=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),vt=t=>!ee(t)&&t!==xt;function Be(){const{caseless:t}=vt(this)&&this||{},e={},n=(s,r)=>{const o=t&&At(e,r)||r;ye(e[o])&&ye(s)?e[o]=Be(e[o],s):ye(s)?e[o]=Be({},s):z(s)?e[o]=s.slice():e[o]=s};for(let s=0,r=arguments.length;s(te(e,(r,o)=>{n&&S(r)?t[o]=St(r,n):t[o]=r},{allOwnKeys:s}),t),Gn=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Xn=(t,e,n,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Qn=(t,e,n,s)=>{let r,o,i;const a={};if(e=e||{},t==null)return e;do{for(r=Object.getOwnPropertyNames(t),o=r.length;o-- >0;)i=r[o],(!s||s(i,t,e))&&!a[i]&&(e[i]=t[i],a[i]=!0);t=n!==!1&&Ie(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},Zn=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const s=t.indexOf(e,n);return s!==-1&&s===n},Yn=t=>{if(!t)return null;if(z(t))return t;let e=t.length;if(!_t(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},es=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Ie(Uint8Array)),ts=(t,e)=>{const s=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=s.next())&&!r.done;){const o=r.value;e.call(t,o[0],o[1])}},ns=(t,e)=>{let n;const s=[];for(;(n=t.exec(e))!==null;)s.push(n);return s},ss=w("HTMLFormElement"),rs=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,r){return s.toUpperCase()+r}),Ct=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),os=w("RegExp"),Ot=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),s={};te(n,(r,o)=>{let i;(i=e(r,o,t))!==!1&&(s[o]=i||r)}),Object.defineProperties(t,s)},is=t=>{Ot(t,(e,n)=>{if(S(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=t[n];if(S(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},cs=(t,e)=>{const n={},s=r=>{r.forEach(o=>{n[o]=!0})};return z(t)?s(t):s(String(t).split(e)),n},as=()=>{},ls=(t,e)=>(t=+t,Number.isFinite(t)?t:e),Fe="abcdefghijklmnopqrstuvwxyz",Pt="0123456789",Rt={DIGIT:Pt,ALPHA:Fe,ALPHA_DIGIT:Fe+Fe.toUpperCase()+Pt},us=(t=16,e=Rt.ALPHA_DIGIT)=>{let n="";const{length:s}=e;for(;t--;)n+=e[Math.random()*s|0];return n};function hs(t){return!!(t&&S(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const ds=t=>{const e=new Array(10),n=(s,r)=>{if(me(s)){if(e.indexOf(s)>=0)return;if(!("toJSON"in s)){e[r]=s;const o=z(s)?[]:{};return te(s,(i,a)=>{const u=n(i,r+1);!ee(u)&&(o[a]=u)}),e[r]=void 0,o}}return s};return n(t,0)},ps=w("AsyncFunction"),c={isArray:z,isArrayBuffer:wt,isBuffer:Dn,isFormData:Vn,isArrayBufferView:jn,isString:Ln,isNumber:_t,isBoolean:In,isObject:me,isPlainObject:ye,isUndefined:ee,isDate:Bn,isFile:Fn,isBlob:Mn,isRegExp:os,isFunction:S,isStream:qn,isURLSearchParams:Jn,isTypedArray:es,isFileList:zn,forEach:te,merge:Be,extend:Kn,trim:Wn,stripBOM:Gn,inherits:Xn,toFlatObject:Qn,kindOf:pe,kindOfTest:w,endsWith:Zn,toArray:Yn,forEachEntry:ts,matchAll:ns,isHTMLForm:ss,hasOwnProperty:Ct,hasOwnProp:Ct,reduceDescriptors:Ot,freezeMethods:is,toObjectSet:cs,toCamelCase:rs,noop:as,toFiniteNumber:ls,findKey:At,global:xt,isContextDefined:vt,ALPHABET:Rt,generateString:us,isSpecCompliantForm:hs,toJSONObject:ds,isAsyncFn:ps,isThenable:t=>t&&(me(t)||S(t))&&S(t.then)&&S(t.catch)};function m(t,e,n,s,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),s&&(this.request=s),r&&(this.response=r)}c.inherits(m,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Tt=m.prototype,Nt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Nt[t]={value:t}}),Object.defineProperties(m,Nt),Object.defineProperty(Tt,"isAxiosError",{value:!0}),m.from=(t,e,n,s,r,o)=>{const i=Object.create(Tt);return c.toFlatObject(t,i,function(u){return u!==Error.prototype},a=>a!=="isAxiosError"),m.call(i,t.message,e,n,s,r),i.cause=t,i.name=t.name,o&&Object.assign(i,o),i};const fs=null;function Me(t){return c.isPlainObject(t)||c.isArray(t)}function Ut(t){return c.endsWith(t,"[]")?t.slice(0,-2):t}function kt(t,e,n){return t?t.concat(e).map(function(r,o){return r=Ut(r),!n&&o?"["+r+"]":r}).join(n?".":""):e}function ms(t){return c.isArray(t)&&!t.some(Me)}const ys=c.toFlatObject(c,{},null,function(e){return/^is[A-Z]/.test(e)});function be(t,e,n){if(!c.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=c.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,E){return!c.isUndefined(E[f])});const s=n.metaTokens,r=n.visitor||l,o=n.dots,i=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(e);if(!c.isFunction(r))throw new TypeError("visitor must be a function");function p(d){if(d===null)return"";if(c.isDate(d))return d.toISOString();if(!u&&c.isBlob(d))throw new m("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(d)||c.isTypedArray(d)?u&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,f,E){let T=d;if(d&&!E&&typeof d=="object"){if(c.endsWith(f,"{}"))f=s?f:f.slice(0,-2),d=JSON.stringify(d);else if(c.isArray(d)&&ms(d)||(c.isFileList(d)||c.endsWith(f,"[]"))&&(T=c.toArray(d)))return f=Ut(f),T.forEach(function(Ae,ur){!(c.isUndefined(Ae)||Ae===null)&&e.append(i===!0?kt([f],ur,o):i===null?f:f+"[]",p(Ae))}),!1}return Me(d)?!0:(e.append(kt(E,f,o),p(d)),!1)}const h=[],y=Object.assign(ys,{defaultVisitor:l,convertValue:p,isVisitable:Me});function b(d,f){if(!c.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+f.join("."));h.push(d),c.forEach(d,function(T,A){(!(c.isUndefined(T)||T===null)&&r.call(e,T,c.isString(A)?A.trim():A,f,y))===!0&&b(T,f?f.concat(A):[A])}),h.pop()}}if(!c.isObject(t))throw new TypeError("data must be an object");return b(t),e}function Ht(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function ze(t,e){this._pairs=[],t&&be(t,this,e)}const Dt=ze.prototype;Dt.append=function(e,n){this._pairs.push([e,n])},Dt.toString=function(e){const n=e?function(s){return e.call(this,s,Ht)}:Ht;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function bs(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function jt(t,e,n){if(!e)return t;const s=n&&n.encode||bs,r=n&&n.serialize;let o;if(r?o=r(e,n):o=c.isURLSearchParams(e)?e.toString():new ze(e,n).toString(s),o){const i=t.indexOf("#");i!==-1&&(t=t.slice(0,i)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class gs{constructor(){this.handlers=[]}use(e,n,s){return this.handlers.push({fulfilled:e,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){c.forEach(this.handlers,function(s){s!==null&&e(s)})}}const Lt=gs,It={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$s=typeof URLSearchParams<"u"?URLSearchParams:ze,Es=typeof FormData<"u"?FormData:null,Ss=typeof Blob<"u"?Blob:null,ws=(()=>{let t;return typeof navigator<"u"&&((t=navigator.product)==="ReactNative"||t==="NativeScript"||t==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),_s=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),_={isBrowser:!0,classes:{URLSearchParams:$s,FormData:Es,Blob:Ss},isStandardBrowserEnv:ws,isStandardBrowserWebWorkerEnv:_s,protocols:["http","https","file","blob","url","data"]};function As(t,e){return be(t,new _.classes.URLSearchParams,Object.assign({visitor:function(n,s,r,o){return _.isNode&&c.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function xs(t){return c.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function vs(t){const e={},n=Object.keys(t);let s;const r=n.length;let o;for(s=0;s=n.length;return i=!i&&c.isArray(r)?r.length:i,u?(c.hasOwnProp(r,i)?r[i]=[r[i],s]:r[i]=s,!a):((!r[i]||!c.isObject(r[i]))&&(r[i]=[]),e(n,s,r[i],o)&&c.isArray(r[i])&&(r[i]=vs(r[i])),!a)}if(c.isFormData(t)&&c.isFunction(t.entries)){const n={};return c.forEachEntry(t,(s,r)=>{e(xs(s),r,n,0)}),n}return null}function Cs(t,e,n){if(c.isString(t))try{return(e||JSON.parse)(t),c.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(t)}const qe={transitional:It,adapter:["xhr","http"],transformRequest:[function(e,n){const s=n.getContentType()||"",r=s.indexOf("application/json")>-1,o=c.isObject(e);if(o&&c.isHTMLForm(e)&&(e=new FormData(e)),c.isFormData(e))return r&&r?JSON.stringify(Bt(e)):e;if(c.isArrayBuffer(e)||c.isBuffer(e)||c.isStream(e)||c.isFile(e)||c.isBlob(e))return e;if(c.isArrayBufferView(e))return e.buffer;if(c.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return As(e,this.formSerializer).toString();if((a=c.isFileList(e))||s.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return be(a?{"files[]":e}:e,u&&new u,this.formSerializer)}}return o||r?(n.setContentType("application/json",!1),Cs(e)):e}],transformResponse:[function(e){const n=this.transitional||qe.transitional,s=n&&n.forcedJSONParsing,r=this.responseType==="json";if(e&&c.isString(e)&&(s&&!this.responseType||r)){const i=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(a){if(i)throw a.name==="SyntaxError"?m.from(a,m.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_.classes.FormData,Blob:_.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],t=>{qe.headers[t]={}});const Ve=qe,Os=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ps=t=>{const e={};let n,s,r;return t&&t.split(` +`).forEach(function(i){r=i.indexOf(":"),n=i.substring(0,r).trim().toLowerCase(),s=i.substring(r+1).trim(),!(!n||e[n]&&Os[n])&&(n==="set-cookie"?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)}),e},Ft=Symbol("internals");function ne(t){return t&&String(t).trim().toLowerCase()}function ge(t){return t===!1||t==null?t:c.isArray(t)?t.map(ge):String(t)}function Rs(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(t);)e[s[1]]=s[2];return e}const Ts=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Je(t,e,n,s,r){if(c.isFunction(s))return s.call(this,e,n);if(r&&(e=n),!!c.isString(e)){if(c.isString(s))return e.indexOf(s)!==-1;if(c.isRegExp(s))return s.test(e)}}function Ns(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,s)=>n.toUpperCase()+s)}function Us(t,e){const n=c.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(t,s+n,{value:function(r,o,i){return this[s].call(this,e,r,o,i)},configurable:!0})})}let $e=class{constructor(e){e&&this.set(e)}set(e,n,s){const r=this;function o(a,u,p){const l=ne(u);if(!l)throw new Error("header name must be a non-empty string");const h=c.findKey(r,l);(!h||r[h]===void 0||p===!0||p===void 0&&r[h]!==!1)&&(r[h||u]=ge(a))}const i=(a,u)=>c.forEach(a,(p,l)=>o(p,l,u));return c.isPlainObject(e)||e instanceof this.constructor?i(e,n):c.isString(e)&&(e=e.trim())&&!Ts(e)?i(Ps(e),n):e!=null&&o(n,e,s),this}get(e,n){if(e=ne(e),e){const s=c.findKey(this,e);if(s){const r=this[s];if(!n)return r;if(n===!0)return Rs(r);if(c.isFunction(n))return n.call(this,r,s);if(c.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=ne(e),e){const s=c.findKey(this,e);return!!(s&&this[s]!==void 0&&(!n||Je(this,this[s],s,n)))}return!1}delete(e,n){const s=this;let r=!1;function o(i){if(i=ne(i),i){const a=c.findKey(s,i);a&&(!n||Je(s,s[a],a,n))&&(delete s[a],r=!0)}}return c.isArray(e)?e.forEach(o):o(e),r}clear(e){const n=Object.keys(this);let s=n.length,r=!1;for(;s--;){const o=n[s];(!e||Je(this,this[o],o,e,!0))&&(delete this[o],r=!0)}return r}normalize(e){const n=this,s={};return c.forEach(this,(r,o)=>{const i=c.findKey(s,o);if(i){n[i]=ge(r),delete n[o];return}const a=e?Ns(o):String(o).trim();a!==o&&delete n[o],n[a]=ge(r),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return c.forEach(this,(s,r)=>{s!=null&&s!==!1&&(n[r]=e&&c.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const s=new this(e);return n.forEach(r=>s.set(r)),s}static accessor(e){const s=(this[Ft]=this[Ft]={accessors:{}}).accessors,r=this.prototype;function o(i){const a=ne(i);s[a]||(Us(r,i),s[a]=!0)}return c.isArray(e)?e.forEach(o):o(e),this}};$e.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors($e.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[n]=s}}}),c.freezeMethods($e);const O=$e;function We(t,e){const n=this||Ve,s=e||n,r=O.from(s.headers);let o=s.data;return c.forEach(t,function(a){o=a.call(n,o,r.normalize(),e?e.status:void 0)}),r.normalize(),o}function Mt(t){return!!(t&&t.__CANCEL__)}function se(t,e,n){m.call(this,t??"canceled",m.ERR_CANCELED,e,n),this.name="CanceledError"}c.inherits(se,m,{__CANCEL__:!0});function ks(t,e,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?t(n):e(new m("Request failed with status code "+n.status,[m.ERR_BAD_REQUEST,m.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const Hs=_.isStandardBrowserEnv?function(){return{write:function(n,s,r,o,i,a){const u=[];u.push(n+"="+encodeURIComponent(s)),c.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),c.isString(o)&&u.push("path="+o),c.isString(i)&&u.push("domain="+i),a===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(n){const s=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return s?decodeURIComponent(s[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Ds(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function js(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function zt(t,e){return t&&!Ds(e)?js(t,e):e}const Ls=_.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let s;function r(o){let i=o;return e&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return s=r(window.location.href),function(i){const a=c.isString(i)?r(i):i;return a.protocol===s.protocol&&a.host===s.host}}():function(){return function(){return!0}}();function Is(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Bs(t,e){t=t||10;const n=new Array(t),s=new Array(t);let r=0,o=0,i;return e=e!==void 0?e:1e3,function(u){const p=Date.now(),l=s[o];i||(i=p),n[r]=u,s[r]=p;let h=o,y=0;for(;h!==r;)y+=n[h++],h=h%t;if(r=(r+1)%t,r===o&&(o=(o+1)%t),p-i{const o=r.loaded,i=r.lengthComputable?r.total:void 0,a=o-n,u=s(a),p=o<=i;n=o;const l={loaded:o,total:i,progress:i?o/i:void 0,bytes:a,rate:u||void 0,estimated:u&&i&&p?(i-o)/u:void 0,event:r};l[e?"download":"upload"]=!0,t(l)}}const Ke={http:fs,xhr:typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,s){let r=t.data;const o=O.from(t.headers).normalize(),i=t.responseType;let a;function u(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}let p;c.isFormData(r)&&(_.isStandardBrowserEnv||_.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?c.isString(p=o.getContentType())&&o.setContentType(p.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(t.auth){const d=t.auth.username||"",f=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(d+":"+f))}const h=zt(t.baseURL,t.url);l.open(t.method.toUpperCase(),jt(h,t.params,t.paramsSerializer),!0),l.timeout=t.timeout;function y(){if(!l)return;const d=O.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),E={data:!i||i==="text"||i==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:d,config:t,request:l};ks(function(A){n(A),u()},function(A){s(A),u()},E),l=null}if("onloadend"in l?l.onloadend=y:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(y)},l.onabort=function(){l&&(s(new m("Request aborted",m.ECONNABORTED,t,l)),l=null)},l.onerror=function(){s(new m("Network Error",m.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let f=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const E=t.transitional||It;t.timeoutErrorMessage&&(f=t.timeoutErrorMessage),s(new m(f,E.clarifyTimeoutError?m.ETIMEDOUT:m.ECONNABORTED,t,l)),l=null},_.isStandardBrowserEnv){const d=Ls(h)&&t.xsrfCookieName&&Hs.read(t.xsrfCookieName);d&&o.set(t.xsrfHeaderName,d)}r===void 0&&o.setContentType(null),"setRequestHeader"in l&&c.forEach(o.toJSON(),function(f,E){l.setRequestHeader(E,f)}),c.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),i&&i!=="json"&&(l.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&l.addEventListener("progress",qt(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",qt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=d=>{l&&(s(!d||d.type?new se(null,t,l):d),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const b=Is(h);if(b&&_.protocols.indexOf(b)===-1){s(new m("Unsupported protocol "+b+":",m.ERR_BAD_REQUEST,t));return}l.send(r||null)})}};c.forEach(Ke,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Vt=t=>`- ${t}`,Fs=t=>c.isFunction(t)||t===null||t===!1,Jt={getAdapter:t=>{t=c.isArray(t)?t:[t];const{length:e}=t;let n,s;const r={};for(let o=0;o`adapter ${a} `+(u===!1?"is not supported by the environment":"is not available in the build"));let i=e?o.length>1?`since : +`+o.map(Vt).join(` +`):" "+Vt(o[0]):"as no adapter specified";throw new m("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return s},adapters:Ke};function Ge(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new se(null,t)}function Wt(t){return Ge(t),t.headers=O.from(t.headers),t.data=We.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Jt.getAdapter(t.adapter||Ve.adapter)(t).then(function(s){return Ge(t),s.data=We.call(t,t.transformResponse,s),s.headers=O.from(s.headers),s},function(s){return Mt(s)||(Ge(t),s&&s.response&&(s.response.data=We.call(t,t.transformResponse,s.response),s.response.headers=O.from(s.response.headers))),Promise.reject(s)})}const Kt=t=>t instanceof O?t.toJSON():t;function q(t,e){e=e||{};const n={};function s(p,l,h){return c.isPlainObject(p)&&c.isPlainObject(l)?c.merge.call({caseless:h},p,l):c.isPlainObject(l)?c.merge({},l):c.isArray(l)?l.slice():l}function r(p,l,h){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p,h)}else return s(p,l,h)}function o(p,l){if(!c.isUndefined(l))return s(void 0,l)}function i(p,l){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p)}else return s(void 0,l)}function a(p,l,h){if(h in e)return s(p,l);if(h in t)return s(void 0,p)}const u={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(p,l)=>r(Kt(p),Kt(l),!0)};return c.forEach(Object.keys(Object.assign({},t,e)),function(l){const h=u[l]||r,y=h(t[l],e[l],l);c.isUndefined(y)&&h!==a||(n[l]=y)}),n}const Gt="1.6.0",Xe={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Xe[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const Xt={};Xe.transitional=function(e,n,s){function r(o,i){return"[Axios v"+Gt+"] Transitional option '"+o+"'"+i+(s?". "+s:"")}return(o,i,a)=>{if(e===!1)throw new m(r(i," has been removed"+(n?" in "+n:"")),m.ERR_DEPRECATED);return n&&!Xt[i]&&(Xt[i]=!0,console.warn(r(i," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,i,a):!0}};function Ms(t,e,n){if(typeof t!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let r=s.length;for(;r-- >0;){const o=s[r],i=e[o];if(i){const a=t[o],u=a===void 0||i(a,o,t);if(u!==!0)throw new m("option "+o+" must be "+u,m.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new m("Unknown option "+o,m.ERR_BAD_OPTION)}}const Qe={assertOptions:Ms,validators:Xe},k=Qe.validators;let Ee=class{constructor(e){this.defaults=e,this.interceptors={request:new Lt,response:new Lt}}request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=q(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&Qe.assertOptions(s,{silentJSONParsing:k.transitional(k.boolean),forcedJSONParsing:k.transitional(k.boolean),clarifyTimeoutError:k.transitional(k.boolean)},!1),r!=null&&(c.isFunction(r)?n.paramsSerializer={serialize:r}:Qe.assertOptions(r,{encode:k.function,serialize:k.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&c.merge(o.common,o[n.method]);o&&c.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),n.headers=O.concat(i,o);const a=[];let u=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(n)===!1||(u=u&&f.synchronous,a.unshift(f.fulfilled,f.rejected))});const p=[];this.interceptors.response.forEach(function(f){p.push(f.fulfilled,f.rejected)});let l,h=0,y;if(!u){const d=[Wt.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,p),y=d.length,l=Promise.resolve(n);h{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(a=>{s.subscribe(a),o=a}).then(r);return i.cancel=function(){s.unsubscribe(o)},i},e(function(o,i,a){s.reason||(s.reason=new se(o,i,a),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new rn(function(r){e=r}),cancel:e}}};function qs(t){return function(n){return t.apply(null,n)}}function Vs(t){return c.isObject(t)&&t.isAxiosError===!0}const Ze={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ze).forEach(([t,e])=>{Ze[e]=t});const Js=Ze;function Qt(t){const e=new Se(t),n=St(Se.prototype.request,e);return c.extend(n,Se.prototype,e,{allOwnKeys:!0}),c.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return Qt(q(t,r))},n}const $=Qt(Ve);$.Axios=Se,$.CanceledError=se,$.CancelToken=zs,$.isCancel=Mt,$.VERSION=Gt,$.toFormData=be,$.AxiosError=m,$.Cancel=$.CanceledError,$.all=function(e){return Promise.all(e)},$.spread=qs,$.isAxiosError=Vs,$.mergeConfig=q,$.AxiosHeaders=O,$.formToJSON=t=>Bt(c.isHTMLForm(t)?new FormData(t):t),$.getAdapter=Jt.getAdapter,$.HttpStatusCode=Js,$.default=$;const Ws=$,{Axios:Ks,AxiosError:yr,CanceledError:br,isCancel:gr,CancelToken:$r,VERSION:Er,all:Sr,Cancel:wr,isAxiosError:_r,spread:Ar,toFormData:xr,AxiosHeaders:vr,HttpStatusCode:Cr,formToJSON:Or,getAdapter:Pr,mergeConfig:Rr}=Ws,Gs=new Ks({transformResponse:[t=>JSON.parse(t.substring(6))]}),Xs={get:async(t,e)=>{const n=await Gs.get(`/umbraco/backoffice/icomoon/files/svg?code=${t}&project=${e}`);if(n.status!==200)throw new Error("failed to get response from backend");return n.data}},Zt=t=>{if(!t)throw new Error("No target node found");const e=document.body.firstChild;if(!e)throw new Error("No icon element found, either the icomoon config is wrong or there are no icons in the project");const n=e.cloneNode(!0);return t.appendChild(n),e};var Qs=Object.defineProperty,Zs=Object.getOwnPropertyDescriptor,L=(t,e,n,s)=>{for(var r=s>1?void 0:s?Zs(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&Qs(e,n,r),r};const Ys="ic-icomoonpicker-editor-content";let P=class extends C{constructor(){super(...arguments),this.model="",this.loading=!0,this.submitPanel=e=>{this.model=e,this.closePanel()},this.closePanel=()=>{this.editorService.close()}}async connectedCallback(){if(super.connectedCallback(),!this.localizationService||!this.editorService||!this.assetsService)throw new Error("Some services are missing, check: localizationService, editorService, assetsService");this.$scope.model.value&&(this.model=this.$scope.model.value),await this.getIcons(),Zt(this.shadowRoot),this.loading=!1}edit(){const e={title:"Select icon from icomoon",view:"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html",size:"small",submit:this.submitPanel,close:this.closePanel,value:this.model};this.editorService.open(e)}async getIcons(){var s;if(!((s=this.$scope)!=null&&s.$parent.model.config))throw new Error("This element requires icomoon config");const e=this.$scope.$parent.model.config;if(await this.assetsService.loadJs(`https://i.icomoon.io/public/${e.projectCode}/${e.projectName}/svgxuse.js`),!document.querySelector("body>svg")){const r=await Xs.get(e.projectCode,e.projectName),o=document.createElement("div");document.body.insertBefore(o,document.body.firstChild),o.outerHTML=r}}loadedContent(){return v` ${this.model?bt` + + `:v`

    no icon selected

    `} + this.edit()} + ?disabled=${this.loading} + > + edit + `}render(){return v` + ${this.loading?v``:this.loadedContent()} + `}};P.styles=st` + uui-icon { + margin-right: 0.5rem; + } + + .icomoon-icon { + display: flex; + width: 32px; + height: 32px; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + padding: 0.5rem; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-family: icomoon; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; + } + `,L([x({context:ce})],P.prototype,"$scope",2),L([x({context:ie})],P.prototype,"localizationService",2),L([x({context:oe})],P.prototype,"editorService",2),L([x({context:re})],P.prototype,"assetsService",2),L([Y()],P.prototype,"model",2),L([Y()],P.prototype,"loading",2),P=L([Z(Ys)],P);var er=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,nr=(t,e,n,s)=>{for(var r=s>1?void 0:s?tr(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&er(e,n,r),r};const Yt="ic-icomoonpicker-editor";let en=class extends Et(C,v``){async connectedCallback(){super.connectedCallback()}};en=nr([Z(Yt)],en),we.alias="ngIcomoonpickerEditor",we.$inject=["localizationService","iconHelper","editorService","assetsService"];function we(t,e,n,s){return{restrict:"E",link:function(r,o){const i=document.createElement(Yt);i.SetContext(t,ie,Pe),i.SetContext(e,Oe,Ce),i.SetContext(n,oe,ve),i.SetContext(s,re,xe),i.SetContext(r,ce,Re),o[0].appendChild(i)}}}angular.module("umbraco").directive(we.alias,we);/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const sr=t=>t??g;var rr=Object.defineProperty,or=Object.getOwnPropertyDescriptor,I=(t,e,n,s)=>{for(var r=s>1?void 0:s?or(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&rr(e,n,r),r};const ir="ic-icomoonpicker-panel-content";let R=class extends C{constructor(){super(...arguments),this.model="",this.icons=[]}async connectedCallback(){if(super.connectedCallback(),!this.localizationService||!this.editorService||!this.assetsService)throw new Error("Some services are missing, check: localizationService, editorService, assetsService");Zt(this.shadowRoot).querySelectorAll("symbol").forEach(e=>{this.icons.push(e.id)})}close(){this.editorService.close()}select(t){this.model=t,this.$scope.model.submit(t)}render(){var t;return v` + +
    + ${this.icons.map(e=>bt`this.select(e)} + > + + `)} +
    +
    + `}};R.styles=st` + .umb-iconpicker { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-wrap: wrap; + gap: 1rem; + max-height: calc(100vh - 72px); + overflow-y: auto; + } + + .icomoon-icon { + display: flex; + width: 32px; + height: 32px; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + padding: 0.5rem; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-family: icomoon; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; + } + `,I([x({context:ce})],R.prototype,"$scope",2),I([x({context:ie})],R.prototype,"localizationService",2),I([x({context:oe})],R.prototype,"editorService",2),I([x({context:re})],R.prototype,"assetsService",2),I([Y()],R.prototype,"model",2),I([Y()],R.prototype,"icons",2),R=I([Z(ir)],R);var cr=Object.defineProperty,ar=Object.getOwnPropertyDescriptor,lr=(t,e,n,s)=>{for(var r=s>1?void 0:s?ar(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&cr(e,n,r),r};const tn="ic-icomoonpicker-panel";let nn=class extends Et(C,v``){async connectedCallback(){super.connectedCallback()}};nn=lr([Z(tn)],nn),_e.alias="ngIcomoonpickerPanel",_e.$inject=["localizationService","iconHelper","editorService","assetsService"];function _e(t,e,n,s){return{restrict:"E",link:function(r,o){const i=document.createElement(tn);i.SetContext(t,ie,Pe),i.SetContext(e,Oe,Ce),i.SetContext(n,oe,ve),i.SetContext(s,re,xe),i.SetContext(r,ce,Re),o[0].appendChild(i)}}}angular.module("umbraco").directive(_e.alias,_e)})(uui); +//# sourceMappingURL=script.iife.js.map diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js.map b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js.map new file mode 100644 index 0000000..1270bc7 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js.map @@ -0,0 +1 @@ +{"version":3,"file":"script.iife.js","sources":["../../node_modules/@lit/context/lib/context-request-event.js","../../node_modules/@lit/context/lib/create-context.js","../../node_modules/@lit/context/lib/controllers/context-consumer.js","../../node_modules/@lit/context/lib/value-notifier.js","../../node_modules/@lit/context/lib/controllers/context-provider.js","../../node_modules/@lit/context/lib/decorators/consume.js","../../frontend/src/context/assetsservice.context.ts","../../frontend/src/context/editorservice.context.ts","../../frontend/src/context/iconhelper.context.ts","../../frontend/src/context/localizationservice.context.ts","../../frontend/src/context/scope.context.ts","../../node_modules/@lit/reactive-element/css-tag.js","../../node_modules/@lit/reactive-element/reactive-element.js","../../node_modules/lit-html/lit-html.js","../../node_modules/lit-element/lit-element.js","../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../node_modules/@lit/reactive-element/decorators/property.js","../../node_modules/@lit/reactive-element/decorators/state.js","../../frontend/src/util/bridge/angulariconregistry.lit.ts","../../frontend/src/util/bridge/angularbridge.mixin.ts","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/helpers/null.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../node_modules/axios/lib/platform/browser/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/axios/index.js","../../frontend/src/util/axios.util.ts","../../frontend/src/services/icomoon.service.ts","../../frontend/src/util/clonesvgnode.util.ts","../../frontend/src/views/editor/components/content.lit.ts","../../frontend/src/views/editor/main.lit.ts","../../frontend/src/views/editor/directive.ts","../../frontend/src/views/editor/index.ts","../../node_modules/lit-html/directives/if-defined.js","../../frontend/src/views/panel/components/content.lit.ts","../../frontend/src/views/panel/main.lit.ts","../../frontend/src/views/panel/directive.ts","../../frontend/src/views/panel/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s extends Event{constructor(s,t,e){super(\"context-request\",{bubbles:!0,composed:!0}),this.context=s,this.callback=t,this.subscribe=e??!1}}export{s as ContextRequestEvent};\n//# sourceMappingURL=context-request-event.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n){return n}export{n as createContext};\n//# sourceMappingURL=create-context.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s{constructor(t,s,i,h){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(t,s)=>{this.unsubscribe&&(this.unsubscribe!==s&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,s)),this.unsubscribe=s},this.host=t,void 0!==s.context){const t=s;this.context=t.context,this.callback=t.callback,this.subscribe=t.subscribe??!1}else this.context=s,this.callback=i,this.subscribe=h??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new t(this.context,this.t,this.subscribe))}}export{s as ContextConsumer};\n//# sourceMappingURL=context-consumer.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{const s=t.composedPath()[0];t.context===this.context&&s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{const e=s.composedPath()[0];if(s.context!==this.context||e===this.host)return;const i=new Set;for(const[s,{consumerHost:e}]of this.subscriptions)i.has(s)||(i.add(s),e.dispatchEvent(new t(this.context,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextConsumer as t}from\"../controllers/context-consumer.js\";\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function c({context:c,subscribe:e}){return(o,n)=>{\"object\"==typeof n?n.addInitializer((function(){new t(this,{context:c,callback:t=>{this[n.name]=t},subscribe:e})})):o.constructor.addInitializer((o=>{new t(o,{context:c,callback:t=>{o[n]=t},subscribe:e})}))}}export{c as consume};\n//# sourceMappingURL=consume.js.map\n","import { createContext } from \"@lit/context\";\r\nimport { IAssetsService } from \"../models/assetsservice.model\";\r\nexport const assetsServiceKey = \"assetsService\";\r\nexport const assetsServiceContext =\r\n createContext(assetsServiceKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport { IEditorService } from \"../models/editorservice.model\";\r\nexport type { IEditorService } from \"../models/editorservice.model\";\r\nexport const editorServiceKey = \"editorService\";\r\nexport const editorServiceContext =\r\n createContext>(editorServiceKey);\r\n","import type { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { createContext } from \"@lit/context\";\r\nexport const iconHelperKey = \"iconHelper\";\r\nexport const iconHelperContext = createContext(iconHelperKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport const localizationServiceKey = \"localizationService\";\r\nexport const localizationServiceContext = createContext(\r\n localizationServiceKey\r\n);\r\n","import { IScope } from \"@/models/scope.model\";\r\nimport { createContext } from \"@lit/context\";\r\n\r\nexport const scopeContextKey = \"scope\";\r\nexport const scopeContext = createContext(scopeContextKey);\r\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EO(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i,e=!1,r){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(e?r:this[t],s))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.C(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$ET()}catch(s){throw t=!1,this._$ET(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.1\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.1\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { consume } from \"@lit/context\";\r\nimport { UUIIconRegistry } from \"@umbraco-ui/uui\";\r\nimport { LitElement, html, nothing } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { iconHelperContext } from \"../../context/iconhelper.context\";\r\nimport { IIconHelper } from \"../../models/iconhelper.model\";\r\n\r\nclass AngularIconRegistry extends UUIIconRegistry {\r\n private _iconHelper?: IIconHelper;\r\n\r\n public setIconHelper(iconHelper: IIconHelper): void {\r\n this._iconHelper = iconHelper;\r\n }\r\n\r\n getIcon(iconName: string): Promise | null {\r\n if (!this._iconHelper) return super.getIcon(iconName);\r\n\r\n return this.getIconFromHelper(iconName);\r\n }\r\n\r\n private async getIconFromHelper(iconName: string): Promise {\r\n const result = await this._iconHelper!.getIcon(iconName);\r\n if (!result) return \"\";\r\n\r\n return result.svgString.$$unwrapTrustedValue();\r\n }\r\n}\r\n\r\nexport const AngularIconRegistryElementTag = \"angular-icon-registry\";\r\n\r\n@customElement(AngularIconRegistryElementTag)\r\nexport class AngularIconRegistryElement extends LitElement {\r\n private _registry: AngularIconRegistry = new AngularIconRegistry();\r\n\r\n constructor() {\r\n super();\r\n this._registry.attach(this);\r\n }\r\n\r\n @consume({ context: iconHelperContext })\r\n private iconHelper?: IIconHelper;\r\n\r\n @state()\r\n private loading: number = 0;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.iconHelper)\r\n throw new Error(\"Icon helper service is required to use this element\");\r\n\r\n this._registry.setIconHelper(this.iconHelper);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this._registry.detach(this);\r\n }\r\n\r\n protected render(): unknown {\r\n if (this.loading) return nothing;\r\n return html``;\r\n }\r\n}\r\n","import \"@/util/bridge/angulariconregistry.lit\";\r\nimport { LitElementConstructor } from \"@/util/litelementconstructor.util\";\r\nimport { ContextProvider, createContext } from \"@lit/context\";\r\nimport { html } from \"lit\";\r\n\r\nexport function AngularBridgeMixin(\r\n Base: TBase,\r\n contentTemplate: unknown\r\n) {\r\n return class MainContext extends Base {\r\n _contextCollection: Record = {};\r\n public SetContext(\r\n service: T,\r\n context: ReturnType>,\r\n key: string\r\n ) {\r\n if (this._contextCollection[key]) {\r\n (\r\n this._contextCollection[key] as ContextProvider<\r\n ReturnType>\r\n >\r\n ).setValue(service);\r\n } else {\r\n this._contextCollection[key] = new ContextProvider(this, {\r\n context: context,\r\n initialValue: service,\r\n });\r\n }\r\n }\r\n\r\n protected render(): unknown {\r\n return html`\r\n ${contentTemplate} \r\n `;\r\n }\r\n };\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import { Axios } from \"axios\";\r\n\r\n// We have to strip the first 6 characters before we parse the data as JSON. This is an angularJS security feature.\r\nexport const http = new Axios({\r\n transformResponse: [\r\n (data) => {\r\n return JSON.parse(data.substring(6));\r\n },\r\n ],\r\n});\r\n","import { http } from \"@/util/axios.util\";\r\n\r\nexport const IcomoonService = {\r\n get: async (projectCode: string, projectName: string) => {\r\n const response = await http.get(\r\n `/umbraco/backoffice/icomoon/files/svg?code=${projectCode}&project=${projectName}`\r\n );\r\n\r\n if (response.status !== 200)\r\n throw new Error(\"failed to get response from backend\");\r\n return response.data;\r\n },\r\n};\r\n","export const cloneSvgNode = (targetNode: ShadowRoot | null) => {\r\n if (!targetNode) throw new Error(\"No target node found\");\r\n\r\n const iconElement = document.body.firstChild as HTMLElement;\r\n\r\n if (!iconElement)\r\n throw new Error(\r\n \"No icon element found, either the icomoon config is wrong or there are no icons in the project\"\r\n );\r\n const clone = iconElement.cloneNode(true);\r\n\r\n targetNode.appendChild(clone);\r\n return iconElement;\r\n};\r\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { IcomoonService } from \"@/services/icomoon.service\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-editor-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope!: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private loading: boolean = true;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n if (this.$scope.model.value) {\r\n this.model = this.$scope.model.value;\r\n }\r\n\r\n await this.getIcons();\r\n cloneSvgNode(this.shadowRoot);\r\n\r\n this.loading = false;\r\n }\r\n\r\n edit() {\r\n const options = {\r\n title: \"Select icon from icomoon\",\r\n view: \"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html\",\r\n size: \"small\",\r\n submit: this.submitPanel,\r\n close: this.closePanel,\r\n value: this.model,\r\n };\r\n\r\n this.editorService!.open(options);\r\n }\r\n\r\n submitPanel = (value: string) => {\r\n this.model = value;\r\n this.closePanel();\r\n };\r\n\r\n closePanel = () => {\r\n this.editorService!.close();\r\n };\r\n\r\n async getIcons() {\r\n if (!this.$scope?.$parent.model.config)\r\n throw new Error(\"This element requires icomoon config\");\r\n\r\n const config = this.$scope.$parent.model.config;\r\n\r\n await this.assetsService!.loadJs(\r\n `https://i.icomoon.io/public/${config.projectCode}/${config.projectName}/svgxuse.js`\r\n );\r\n\r\n const svg = document.querySelector(\"body>svg\");\r\n\r\n if (!svg) {\r\n const data = await IcomoonService.get(\r\n config.projectCode,\r\n config.projectName\r\n );\r\n\r\n const element = document.createElement(\"div\");\r\n document.body.insertBefore(element, document.body.firstChild);\r\n element.outerHTML = data;\r\n }\r\n }\r\n\r\n loadedContent() {\r\n return html` ${!this.model\r\n ? html`

    no icon selected

    `\r\n : svg`\r\n \r\n `}\r\n this.edit()}\r\n ?disabled=${this.loading}\r\n >\r\n edit\r\n `;\r\n }\r\n\r\n protected render() {\r\n return html`\r\n ${this.loading ? html`` : this.loadedContent()}\r\n `;\r\n }\r\n\r\n static styles = css`\r\n uui-icon {\r\n margin-right: 0.5rem;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-editor\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerEditor.alias = \"ngIcomoonpickerEditor\";\r\nngIcomoonpickerEditor.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerEditor(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerEditor } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerEditor.alias, ngIcomoonpickerEditor);\r\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-panel-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope?: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private icons: string[] = [];\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n const icons = cloneSvgNode(this.shadowRoot);\r\n icons.querySelectorAll(\"symbol\").forEach((s) => {\r\n this.icons.push(s.id);\r\n });\r\n }\r\n\r\n close() {\r\n this.editorService!.close();\r\n }\r\n\r\n select(icon: string) {\r\n this.model = icon;\r\n this.$scope!.model.submit(icon);\r\n }\r\n\r\n protected render() {\r\n return html`\r\n \r\n
    \r\n ${this.icons.map(\r\n (icon) => svg` this.select(icon)}\r\n >\r\n \r\n `\r\n )}\r\n
    \r\n \r\n `;\r\n }\r\n\r\n static styles = css`\r\n .umb-iconpicker {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 1rem;\r\n max-height: calc(100vh - 72px);\r\n overflow-y: auto;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-panel\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerPanel.alias = \"ngIcomoonpickerPanel\";\r\nngIcomoonpickerPanel.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerPanel(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerPanel } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerPanel.alias, ngIcomoonpickerPanel);\r\n"],"names":["s","t","e","n","s$4","i","h","e$3","c","o","assetsServiceKey","assetsServiceContext","editorServiceKey","editorServiceContext","iconHelperKey","iconHelperContext","localizationServiceKey","localizationServiceContext","scopeContextKey","scopeContext","n$3","r","S","a","l","p","d","u","f","y","b$1","_a","b","v","_","m","g","$","x","w","T","A","E","C","P","V","k","H","I","R","N","_b","M","L","Z","j","AngularIconRegistry","UUIIconRegistry","iconHelper","iconName","result","AngularIconRegistryElementTag","AngularIconRegistryElement","LitElement","nothing","html","__decorateClass","consume","state","customElement","AngularBridgeMixin","Base","contentTemplate","service","context","key","ContextProvider","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","obj","allOwnKeys","keys","len","findKey","_key","_global","isContextDefined","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","utils","AxiosError","message","code","config","request","response","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","platform","URLSearchParams","FormData","Blob","toURLEncodedForm","data","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","AxiosHeaders$2","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","done","username","password","fullPath","onloadend","responseHeaders","err","timeoutErrorMessage","xsrfValue","cancel","protocol","renderReason","reason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","Axios","generateHTTPMethod","isForm","Axios$2","CancelToken$2","CancelToken","executor","resolvePromise","onfulfilled","_resolve","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$2","createInstance","defaultConfig","instance","axios","promises","axios$1","all","Cancel","formToJSON","getAdapter","http","IcomoonService","projectCode","projectName","cloneSvgNode","targetNode","iconElement","clone","ContentElementTag","IcomoonPickerContent","element","svg","css","IcomoonPickerContent$1","MainElementTag","IcomoonPicker","IcomoonPicker$1","ngIcomoonpickerEditor","localizationService","editorService","assetsService","_scope","mainElement","icon","ifDefined","ngIcomoonpickerPanel"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,69]} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/editor.controller.js b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/editor.controller.js deleted file mode 100644 index 02c61aa..0000000 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/editor.controller.js +++ /dev/null @@ -1,59 +0,0 @@ -(function () { - - angular.module('umbraco') - .controller('infocaster.icomooneditorcontroller', ['editorService', 'assetsService', '$http', '$scope', icomoonEditorController]); - - function icomoonEditorController(editorService, assetsService, $http, $scope) { - - const $this = this; - $this.edit = edit; - - function edit() { - - const options = { - title: 'Select icon from icomoon', - view: '/app_plugins/Infocaster.Umbraco.IcomoonPicker/views/panel.html', - size: 'small', - submit: submit, - close: close, - value: $scope.model.value - } - - editorService.open(options); - } - - function submit(value) { - - $scope.model.value = value; - close(); - } - - function close() { - - editorService.close(); - } - - function init() { - - assetsService.loadJs(`https://i.icomoon.io/public/${$scope.model.config.projectCode}/${$scope.model.config.projectName}/svgxuse.js`); - - if (typeof $scope.model.value !== 'string') { - - $scope.model.value = ''; - } - - const svg = document.querySelector('body>svg'); - if (!svg) { - - $http.get(`/umbraco/backoffice/icomoon/files/svg?code=${$scope.model.config.projectCode}&project=${$scope.model.config.projectName}`) - .then(function (data) { - const element = document.createElement("div"); - document.body.insertBefore(element, document.body.firstChild); - element.outerHTML = data.data; - }) - } - } - - init(); - } -})() \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/panel.controller.js b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/panel.controller.js deleted file mode 100644 index 00e10e6..0000000 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/scripts/panel.controller.js +++ /dev/null @@ -1,33 +0,0 @@ -(function () { - - angular.module('umbraco') - .controller('infocaster.icomoonpanelcontroller', ['$scope', icomoonPanelController]); - - function icomoonPanelController($scope) { - - const $this = this; - $this.close = close; - $this.select = select; - $this.icons = []; - - function close() { - - $scope.model.close(); - } - - function select(icon) { - - $scope.model.submit(icon); - } - - function init() { - - var iconElement = document.body.firstChild; - iconElement.querySelectorAll("symbol").forEach(function (s) { - $this.icons.push(s.id); - }) - } - - init(); - } -})() \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/style/icomoon.css b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/style/icomoon.css deleted file mode 100644 index e057d52..0000000 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/style/icomoon.css +++ /dev/null @@ -1,22 +0,0 @@ -.icomoon-icon { - display: inline-block; - width: 2em; - height: 2em; - stroke-width: 0; - stroke: currentColor; - fill: currentColor; - cursor: pointer; - flex-shrink: 0; -} - -.icomoon-box { - display: flex; -} - -.icomoon-list .icomoon-icon { - padding: 1em; -} - -.icomoon-list .icomoon-icon:hover { - background: #f9f9fa; -} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/editor.html b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/editor.html deleted file mode 100644 index 3fd27a5..0000000 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/editor.html +++ /dev/null @@ -1,11 +0,0 @@ -
    - - - - - -
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/panel.html b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/panel.html deleted file mode 100644 index db76915..0000000 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/views/panel.html +++ /dev/null @@ -1,37 +0,0 @@ -
    - - - - - - - - -
      -
    • - - - -
    • -
    -
    -
    -
    - - - - - - - -
    -
    -
    \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/Assets/ScriptAsset.cs b/src/Infocaster.Umbraco.IcomoonPicker/Assets/ScriptAsset.cs new file mode 100644 index 0000000..4b7d293 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/Assets/ScriptAsset.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Umbraco.Cms.Core.WebAssets; + +namespace Infocaster.Umbraco.IcomoonPicker +{ + internal class ScriptAsset + : JavaScriptFile + { + public ScriptAsset() : base(Defaults_IcomoonPicker.PluginBasePath + "/script.iife.js") + { } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/Composers/IcomoonPickerComposer.cs b/src/Infocaster.Umbraco.IcomoonPicker/Composers/IcomoonPickerComposer.cs index 6a24265..dabf436 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/Composers/IcomoonPickerComposer.cs +++ b/src/Infocaster.Umbraco.IcomoonPicker/Composers/IcomoonPickerComposer.cs @@ -8,6 +8,8 @@ public class IcomoonPickerComposer : IComposer { public void Compose(IUmbracoBuilder builder) { + builder.BackOfficeAssets() + .Append(); builder.Services.AddHttpClient(); } } diff --git a/src/Infocaster.Umbraco.IcomoonPicker/Defaults/Defaults_IcomoonPicker.cs b/src/Infocaster.Umbraco.IcomoonPicker/Defaults/Defaults_IcomoonPicker.cs index bf7717d..419f270 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/Defaults/Defaults_IcomoonPicker.cs +++ b/src/Infocaster.Umbraco.IcomoonPicker/Defaults/Defaults_IcomoonPicker.cs @@ -3,5 +3,6 @@ public static class Defaults_IcomoonPicker { public const string PropertyEditorAlias = "Infocaster.IcomoonPicker"; + public const string PluginBasePath = "/App_Plugins/Infocaster.Umbraco.IcomoonPicker"; } } diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/editor/editor.html b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/editor/editor.html new file mode 100644 index 0000000..60742fc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/editor/editor.html @@ -0,0 +1 @@ + diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/package.manifest b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/package.manifest new file mode 100644 index 0000000..19b03fc --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/package.manifest @@ -0,0 +1,42 @@ +{ + "propertyEditors": [ + { + "alias": "Infocaster.IcomoonPicker", + "name": "Icomoon icon picker", + "editor": { + "view": "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/editor/editor.html", + "isReadOnly": false + }, + "prevalues": { + "fields": [ + { + "label": "Project name", + "description": "The name of the project in icomoon", + "key": "projectName", + "view": "textstring", + "validation": [ + { + "type": "Required" + } + ] + }, + { + "label": "Project code", + "description": "The code that is associated with this project in icomoon", + "key": "projectCode", + "view": "textstring", + "validation": [ + { + "type": "Required" + } + ] + } + ] + } + } + ], + + "javascript": [ + "~/App_Plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js", + ], +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/panel/panel.html b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/panel/panel.html new file mode 100644 index 0000000..e8e081e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/public/panel/panel.html @@ -0,0 +1 @@ + diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/assetsservice.context.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/assetsservice.context.ts new file mode 100644 index 0000000..ef36519 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/assetsservice.context.ts @@ -0,0 +1,5 @@ +import { createContext } from "@lit/context"; +import { IAssetsService } from "../models/assetsservice.model"; +export const assetsServiceKey = "assetsService"; +export const assetsServiceContext = + createContext(assetsServiceKey); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/editorservice.context.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/editorservice.context.ts new file mode 100644 index 0000000..5ee739c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/editorservice.context.ts @@ -0,0 +1,6 @@ +import { createContext } from "@lit/context"; +import { IEditorService } from "../models/editorservice.model"; +export type { IEditorService } from "../models/editorservice.model"; +export const editorServiceKey = "editorService"; +export const editorServiceContext = + createContext>(editorServiceKey); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/iconhelper.context.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/iconhelper.context.ts new file mode 100644 index 0000000..c1232fe --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/iconhelper.context.ts @@ -0,0 +1,4 @@ +import type { IIconHelper } from "@/models/iconhelper.model"; +import { createContext } from "@lit/context"; +export const iconHelperKey = "iconHelper"; +export const iconHelperContext = createContext(iconHelperKey); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/localizationservice.context.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/localizationservice.context.ts new file mode 100644 index 0000000..a4b776d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/localizationservice.context.ts @@ -0,0 +1,7 @@ +import { createContext } from "@lit/context"; +import type { ILocalizationService } from "../models/localizationservice.model"; +export type { ILocalizationService } from "../models/localizationservice.model"; +export const localizationServiceKey = "localizationService"; +export const localizationServiceContext = createContext( + localizationServiceKey +); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/scope.context.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/scope.context.ts new file mode 100644 index 0000000..7386c13 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/context/scope.context.ts @@ -0,0 +1,5 @@ +import { IScope } from "@/models/scope.model"; +import { createContext } from "@lit/context"; + +export const scopeContextKey = "scope"; +export const scopeContext = createContext(scopeContextKey); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/index.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/index.ts new file mode 100644 index 0000000..15d63de --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/index.ts @@ -0,0 +1,2 @@ +import "@/views/editor"; +import "@/views/panel"; diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/assetsservice.model.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/assetsservice.model.ts new file mode 100644 index 0000000..9384157 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/assetsservice.model.ts @@ -0,0 +1,6 @@ +// based on https://our.umbraco.com/apidocs/v8/ui/#/api/umbraco.services.assetsService +export interface IAssetsService { + loadCss: (path: string) => Promise; + loadJs: (path: string) => Promise; + load: (paths: string[]) => Promise; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/editorservice.model.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/editorservice.model.ts new file mode 100644 index 0000000..966f142 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/editorservice.model.ts @@ -0,0 +1,32 @@ +// based on https://our.umbraco.com/apidocs/v8/ui/#/api/umbraco.services.editorService +export interface IEditorService { + blur: () => void; + close: () => void; + closeAll: () => void; + copy: (editor: IEditor) => void; + embed: (editor: IEditor) => void; + focus: () => void; + getEditors: () => IEditor[]; + open: (editor: ICustomEditor) => void; + submit: (value: T) => void; +} + +interface IEditor { + id: string; + create: boolean; + submit: () => void; + close: () => void; + parentId: string; + documentTypeAlias: string; + allowSaveAndClose: boolean; + allowPublishAndClose: boolean; +} + +export interface ICustomEditor { + title: string; + view: string; + size: string; + submit: (value: string) => void; + close: () => void; + value: T; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/iconhelper.model.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/iconhelper.model.ts new file mode 100644 index 0000000..00d9cdd --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/iconhelper.model.ts @@ -0,0 +1,9 @@ +export interface IIconHelper { + getAllIcons(): angular.IPromise; + getIcon(iconName: string): angular.IPromise; +} + +export interface IIcon { + name: string; + svgString: { $$unwrapTrustedValue: () => string }; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/localizationservice.model.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/localizationservice.model.ts new file mode 100644 index 0000000..a095ac6 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/localizationservice.model.ts @@ -0,0 +1,5 @@ +export interface ILocalizationService { + localizeMany(keys: Array): angular.IPromise>; + localize(value: string, tokens?: Array, fallbackValue?: string): angular.IPromise; + tokenReplace(value: string, tokens: Array): string; +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/scope.model.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/scope.model.ts new file mode 100644 index 0000000..0ea478e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/models/scope.model.ts @@ -0,0 +1,15 @@ +import { ICustomEditor } from "./editorservice.model"; + +export interface IScope extends angular.IScope { + $parent: IParentScope; + model: ICustomEditor; +} + +interface IParentScope extends angular.IScope { + model: { + config: { + projectCode: string; + projectName: string; + }; + }; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/services/icomoon.service.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/services/icomoon.service.ts new file mode 100644 index 0000000..872300c --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/services/icomoon.service.ts @@ -0,0 +1,13 @@ +import { http } from "@/util/axios.util"; + +export const IcomoonService = { + get: async (projectCode: string, projectName: string) => { + const response = await http.get( + `/umbraco/backoffice/icomoon/files/svg?code=${projectCode}&project=${projectName}` + ); + + if (response.status !== 200) + throw new Error("failed to get response from backend"); + return response.data; + }, +}; diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/types/overrides.d.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/types/overrides.d.ts new file mode 100644 index 0000000..55f3e24 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/types/overrides.d.ts @@ -0,0 +1,5 @@ +import * as _angular_ from 'angular'; + +declare global { + const angular: typeof _angular_; +} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/axios.util.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/axios.util.ts new file mode 100644 index 0000000..bf3c470 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/axios.util.ts @@ -0,0 +1,10 @@ +import { Axios } from "axios"; + +// We have to strip the first 6 characters before we parse the data as JSON. This is an angularJS security feature. +export const http = new Axios({ + transformResponse: [ + (data) => { + return JSON.parse(data.substring(6)); + }, + ], +}); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angularbridge.mixin.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angularbridge.mixin.ts new file mode 100644 index 0000000..e4fd9fe --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angularbridge.mixin.ts @@ -0,0 +1,37 @@ +import "@/util/bridge/angulariconregistry.lit"; +import { LitElementConstructor } from "@/util/litelementconstructor.util"; +import { ContextProvider, createContext } from "@lit/context"; +import { html } from "lit"; + +export function AngularBridgeMixin( + Base: TBase, + contentTemplate: unknown +) { + return class MainContext extends Base { + _contextCollection: Record = {}; + public SetContext( + service: T, + context: ReturnType>, + key: string + ) { + if (this._contextCollection[key]) { + ( + this._contextCollection[key] as ContextProvider< + ReturnType> + > + ).setValue(service); + } else { + this._contextCollection[key] = new ContextProvider(this, { + context: context, + initialValue: service, + }); + } + } + + protected render(): unknown { + return html` + ${contentTemplate} + `; + } + }; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angulariconregistry.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angulariconregistry.lit.ts new file mode 100644 index 0000000..5a13c0d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/bridge/angulariconregistry.lit.ts @@ -0,0 +1,64 @@ +import { consume } from "@lit/context"; +import { UUIIconRegistry } from "@umbraco-ui/uui"; +import { LitElement, html, nothing } from "lit"; +import { customElement, state } from "lit/decorators.js"; +import { iconHelperContext } from "../../context/iconhelper.context"; +import { IIconHelper } from "../../models/iconhelper.model"; + +class AngularIconRegistry extends UUIIconRegistry { + private _iconHelper?: IIconHelper; + + public setIconHelper(iconHelper: IIconHelper): void { + this._iconHelper = iconHelper; + } + + getIcon(iconName: string): Promise | null { + if (!this._iconHelper) return super.getIcon(iconName); + + return this.getIconFromHelper(iconName); + } + + private async getIconFromHelper(iconName: string): Promise { + const result = await this._iconHelper!.getIcon(iconName); + if (!result) return ""; + + return result.svgString.$$unwrapTrustedValue(); + } +} + +export const AngularIconRegistryElementTag = "angular-icon-registry"; + +@customElement(AngularIconRegistryElementTag) +export class AngularIconRegistryElement extends LitElement { + private _registry: AngularIconRegistry = new AngularIconRegistry(); + + constructor() { + super(); + this._registry.attach(this); + } + + @consume({ context: iconHelperContext }) + private iconHelper?: IIconHelper; + + @state() + private loading: number = 0; + + async connectedCallback(): Promise { + super.connectedCallback(); + + if (!this.iconHelper) + throw new Error("Icon helper service is required to use this element"); + + this._registry.setIconHelper(this.iconHelper); + } + + disconnectedCallback(): void { + super.disconnectedCallback(); + this._registry.detach(this); + } + + protected render(): unknown { + if (this.loading) return nothing; + return html``; + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/clonesvgnode.util.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/clonesvgnode.util.ts new file mode 100644 index 0000000..6a1c9ef --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/clonesvgnode.util.ts @@ -0,0 +1,14 @@ +export const cloneSvgNode = (targetNode: ShadowRoot | null) => { + if (!targetNode) throw new Error("No target node found"); + + const iconElement = document.body.firstChild as HTMLElement; + + if (!iconElement) + throw new Error( + "No icon element found, either the icomoon config is wrong or there are no icons in the project" + ); + const clone = iconElement.cloneNode(true); + + targetNode.appendChild(clone); + return iconElement; +}; diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/litelementconstructor.util.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/litelementconstructor.util.ts new file mode 100644 index 0000000..c8e2dde --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/util/litelementconstructor.util.ts @@ -0,0 +1,3 @@ +import { LitElement } from "lit"; + +export type LitElementConstructor = new (...args: any[]) => T; \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts new file mode 100644 index 0000000..4a672af --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts @@ -0,0 +1,146 @@ +import { assetsServiceContext } from "@/context/assetsservice.context"; +import { editorServiceContext } from "@/context/editorservice.context"; +import { localizationServiceContext } from "@/context/localizationservice.context"; +import { scopeContext } from "@/context/scope.context"; +import { IAssetsService } from "@/models/assetsservice.model"; +import { IEditorService } from "@/models/editorservice.model"; +import { ILocalizationService } from "@/models/localizationservice.model"; +import { IScope } from "@/models/scope.model"; +import { IcomoonService } from "@/services/icomoon.service"; +import { cloneSvgNode } from "@/util/clonesvgnode.util"; +import { consume } from "@lit/context"; +import { LitElement, css, html, svg } from "lit"; +import { customElement, state } from "lit/decorators.js"; + +export const ContentElementTag = "ic-icomoonpicker-editor-content"; + +@customElement(ContentElementTag) +export class IcomoonPickerContent extends LitElement { + @consume({ context: scopeContext }) + private $scope!: IScope; + + @consume({ context: localizationServiceContext }) + private localizationService?: ILocalizationService; + + @consume({ context: editorServiceContext }) + private editorService?: IEditorService; + + @consume({ context: assetsServiceContext }) + private assetsService?: IAssetsService; + + @state() + private model: string = ""; + + @state() + private loading: boolean = true; + + async connectedCallback(): Promise { + super.connectedCallback(); + + if (!this.localizationService || !this.editorService || !this.assetsService) + throw new Error( + "Some services are missing, check: localizationService, editorService, assetsService" + ); + + if (this.$scope.model.value) { + this.model = this.$scope.model.value; + } + + await this.getIcons(); + cloneSvgNode(this.shadowRoot); + + this.loading = false; + } + + edit() { + const options = { + title: "Select icon from icomoon", + view: "/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html", + size: "small", + submit: this.submitPanel, + close: this.closePanel, + value: this.model, + }; + + this.editorService!.open(options); + } + + submitPanel = (value: string) => { + this.model = value; + this.closePanel(); + }; + + closePanel = () => { + this.editorService!.close(); + }; + + async getIcons() { + if (!this.$scope?.$parent.model.config) + throw new Error("This element requires icomoon config"); + + const config = this.$scope.$parent.model.config; + + await this.assetsService!.loadJs( + `https://i.icomoon.io/public/${config.projectCode}/${config.projectName}/svgxuse.js` + ); + + const svg = document.querySelector("body>svg"); + + if (!svg) { + const data = await IcomoonService.get( + config.projectCode, + config.projectName + ); + + const element = document.createElement("div"); + document.body.insertBefore(element, document.body.firstChild); + element.outerHTML = data; + } + } + + loadedContent() { + return html` ${!this.model + ? html`

    no icon selected

    ` + : svg` + + `} + this.edit()} + ?disabled=${this.loading} + > + edit + `; + } + + protected render() { + return html` + ${this.loading ? html`` : this.loadedContent()} + `; + } + + static styles = css` + uui-icon { + margin-right: 0.5rem; + } + + .icomoon-icon { + display: flex; + width: 32px; + height: 32px; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + padding: 0.5rem; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-family: icomoon; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; + } + `; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/directive.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/directive.ts new file mode 100644 index 0000000..c1817b5 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/directive.ts @@ -0,0 +1,62 @@ +import { + assetsServiceContext, + assetsServiceKey, +} from "@/context/assetsservice.context"; +import { + editorServiceContext, + editorServiceKey, +} from "@/context/editorservice.context"; +import { iconHelperContext, iconHelperKey } from "@/context/iconhelper.context"; +import { + localizationServiceContext, + localizationServiceKey, +} from "@/context/localizationservice.context"; +import { scopeContext, scopeContextKey } from "@/context/scope.context"; +import { IAssetsService } from "@/models/assetsservice.model"; +import { IEditorService } from "@/models/editorservice.model"; +import { IIconHelper } from "@/models/iconhelper.model"; +import { ILocalizationService } from "@/models/localizationservice.model"; +import { IcomoonPicker, MainElementTag } from "./main.lit"; + +ngIcomoonpickerEditor.alias = "ngIcomoonpickerEditor"; +ngIcomoonpickerEditor.$inject = [ + "localizationService", + "iconHelper", + "editorService", + "assetsService", +]; +export function ngIcomoonpickerEditor( + localizationService: ILocalizationService, + iconHelper: IIconHelper, + editorService: IEditorService, + assetsService: IAssetsService +): angular.IDirective { + return { + restrict: "E", + link: function (_scope, element) { + const mainElement = document.createElement( + MainElementTag + ) as IcomoonPicker; + + mainElement.SetContext( + localizationService, + localizationServiceContext, + localizationServiceKey + ); + mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey); + mainElement.SetContext( + editorService, + editorServiceContext, + editorServiceKey + ); + mainElement.SetContext( + assetsService, + assetsServiceContext, + assetsServiceKey + ); + mainElement.SetContext(_scope, scopeContext, scopeContextKey); + + element[0].appendChild(mainElement); + }, + }; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/index.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/index.ts new file mode 100644 index 0000000..35839d6 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/index.ts @@ -0,0 +1,6 @@ +import "@umbraco-ui/uui"; +import { ngIcomoonpickerEditor } from "./directive"; + +const module = angular.module("umbraco"); + +module.directive(ngIcomoonpickerEditor.alias, ngIcomoonpickerEditor); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/main.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/main.lit.ts new file mode 100644 index 0000000..7ca1dea --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/main.lit.ts @@ -0,0 +1,16 @@ +import { AngularBridgeMixin } from "@/util/bridge/angularbridge.mixin"; +import { LitElement, html } from "lit"; +import { customElement } from "lit/decorators.js"; +import "./components/content.lit"; + +export const MainElementTag = "ic-icomoonpicker-editor"; + +@customElement(MainElementTag) +export class IcomoonPicker extends AngularBridgeMixin( + LitElement, + html`` +) { + async connectedCallback(): Promise { + super.connectedCallback(); + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/components/content.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/components/content.lit.ts new file mode 100644 index 0000000..bd32b7d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/components/content.lit.ts @@ -0,0 +1,110 @@ +import { assetsServiceContext } from "@/context/assetsservice.context"; +import { editorServiceContext } from "@/context/editorservice.context"; +import { localizationServiceContext } from "@/context/localizationservice.context"; +import { scopeContext } from "@/context/scope.context"; +import { IAssetsService } from "@/models/assetsservice.model"; +import { IEditorService } from "@/models/editorservice.model"; +import { ILocalizationService } from "@/models/localizationservice.model"; +import { IScope } from "@/models/scope.model"; +import { cloneSvgNode } from "@/util/clonesvgnode.util"; +import { consume } from "@lit/context"; +import { LitElement, css, html, svg } from "lit"; +import { customElement, state } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +export const ContentElementTag = "ic-icomoonpicker-panel-content"; + +@customElement(ContentElementTag) +export class IcomoonPickerContent extends LitElement { + @consume({ context: scopeContext }) + private $scope?: IScope; + + @consume({ context: localizationServiceContext }) + private localizationService?: ILocalizationService; + + @consume({ context: editorServiceContext }) + private editorService?: IEditorService; + + @consume({ context: assetsServiceContext }) + private assetsService?: IAssetsService; + + @state() + private model: string = ""; + + @state() + private icons: string[] = []; + + async connectedCallback(): Promise { + super.connectedCallback(); + + if (!this.localizationService || !this.editorService || !this.assetsService) + throw new Error( + "Some services are missing, check: localizationService, editorService, assetsService" + ); + + const icons = cloneSvgNode(this.shadowRoot); + icons.querySelectorAll("symbol").forEach((s) => { + this.icons.push(s.id); + }); + } + + close() { + this.editorService!.close(); + } + + select(icon: string) { + this.model = icon; + this.$scope!.model.submit(icon); + } + + protected render() { + return html` + +
    + ${this.icons.map( + (icon) => svg` this.select(icon)} + > + + ` + )} +
    +
    + `; + } + + static styles = css` + .umb-iconpicker { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-wrap: wrap; + gap: 1rem; + max-height: calc(100vh - 72px); + overflow-y: auto; + } + + .icomoon-icon { + display: flex; + width: 32px; + height: 32px; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + padding: 0.5rem; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-family: icomoon; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; + } + `; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/directive.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/directive.ts new file mode 100644 index 0000000..a80c85e --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/directive.ts @@ -0,0 +1,62 @@ +import { + assetsServiceContext, + assetsServiceKey, +} from "@/context/assetsservice.context"; +import { + editorServiceContext, + editorServiceKey, +} from "@/context/editorservice.context"; +import { iconHelperContext, iconHelperKey } from "@/context/iconhelper.context"; +import { + localizationServiceContext, + localizationServiceKey, +} from "@/context/localizationservice.context"; +import { scopeContext, scopeContextKey } from "@/context/scope.context"; +import { IAssetsService } from "@/models/assetsservice.model"; +import { IEditorService } from "@/models/editorservice.model"; +import { IIconHelper } from "@/models/iconhelper.model"; +import { ILocalizationService } from "@/models/localizationservice.model"; +import { IcomoonPicker, MainElementTag } from "./main.lit"; + +ngIcomoonpickerPanel.alias = "ngIcomoonpickerPanel"; +ngIcomoonpickerPanel.$inject = [ + "localizationService", + "iconHelper", + "editorService", + "assetsService", +]; +export function ngIcomoonpickerPanel( + localizationService: ILocalizationService, + iconHelper: IIconHelper, + editorService: IEditorService, + assetsService: IAssetsService +): angular.IDirective { + return { + restrict: "E", + link: function (_scope, element) { + const mainElement = document.createElement( + MainElementTag + ) as IcomoonPicker; + + mainElement.SetContext( + localizationService, + localizationServiceContext, + localizationServiceKey + ); + mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey); + mainElement.SetContext( + editorService, + editorServiceContext, + editorServiceKey + ); + mainElement.SetContext( + assetsService, + assetsServiceContext, + assetsServiceKey + ); + mainElement.SetContext(_scope, scopeContext, scopeContextKey); + + element[0].appendChild(mainElement); + }, + }; +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/index.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/index.ts new file mode 100644 index 0000000..c2e2105 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/index.ts @@ -0,0 +1,6 @@ +import "@umbraco-ui/uui"; +import { ngIcomoonpickerPanel } from "./directive"; + +const module = angular.module("umbraco"); + +module.directive(ngIcomoonpickerPanel.alias, ngIcomoonpickerPanel); diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/main.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/main.lit.ts new file mode 100644 index 0000000..dd4e842 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/panel/main.lit.ts @@ -0,0 +1,16 @@ +import { AngularBridgeMixin } from "@/util/bridge/angularbridge.mixin"; +import { LitElement, html } from "lit"; +import { customElement } from "lit/decorators.js"; +import "./components/content.lit"; + +export const MainElementTag = "ic-icomoonpicker-panel"; + +@customElement(MainElementTag) +export class IcomoonPicker extends AngularBridgeMixin( + LitElement, + html`` +) { + async connectedCallback(): Promise { + super.connectedCallback(); + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/package-lock.json b/src/Infocaster.Umbraco.IcomoonPicker/package-lock.json new file mode 100644 index 0000000..fb4e373 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/package-lock.json @@ -0,0 +1,4243 @@ +{ + "name": "infocaster--umbraco-icomoonpicker", + "version": "2.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "infocaster--umbraco-icomoonpicker", + "version": "2.0.0", + "dependencies": { + "@lit/context": "^1.0.1", + "@umbraco-ui/uui": "^1.5.0", + "axios": "^1.6.0", + "lit": "^3.0.1" + }, + "devDependencies": { + "@types/angular": "^1.8.7", + "@types/node": "^20.8.10", + "@typescript-eslint/eslint-plugin": "^6.9.1", + "@typescript-eslint/parser": "^6.9.1", + "eslint": "^8.52.0", + "eslint-plugin-lit": "^1.10.1", + "eslint-plugin-wc": "^2.0.4", + "ts-lit-plugin": "^2.0.1", + "typescript": "^5.2.2", + "vite": "^4.5.0", + "vite-plugin-checker": "^0.6.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.2.tgz", + "integrity": "sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==" + }, + "node_modules/@lit/context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.0.1.tgz", + "integrity": "sha512-ujQEV42vRjhNzCu/YNc+dy8eq48cEYO2SvEl7iCmMzt8X7ixUYcDt8DPV1UBr58FJ7EUe9vTLPv/0soAi9bfRw==", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.0.0" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.1.tgz", + "integrity": "sha512-eu50SQXHRthFwWJMp0oAFg95Rvm6MTPjxSXWuvAu7It90WVFLFpNBoIno7XOXSDvVgTrtKnUV4OLJqys2Svn4g==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.2" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/angular": { + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.8.7.tgz", + "integrity": "sha512-Itzddybhj/oWRJMmXgjfkFoUl0twZjhhc+AhqisYdVQtJ7M1RcZM8oFIwJsXV8AraLZyxQDfZRrRUTy2G7NU2g==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "dev": true + }, + "node_modules/@types/trusted-types": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", + "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", + "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/type-utils": "6.9.1", + "@typescript-eslint/utils": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", + "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", + "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", + "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/utils": "6.9.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", + "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", + "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", + "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", + "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.9.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@umbraco-ui/uui": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.5.0.tgz", + "integrity": "sha512-V9pAdCsiaBy+Vq23sZd9JJCk+TX6xMsclJtTUWhwCq8/YUh6KNERbdoVfMYGUZ1yyJ/g+yddQsWlYOxHNp8msw==", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.5.0", + "@umbraco-ui/uui-avatar": "1.5.0", + "@umbraco-ui/uui-avatar-group": "1.5.0", + "@umbraco-ui/uui-badge": "1.5.0", + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-boolean-input": "1.5.0", + "@umbraco-ui/uui-box": "1.5.0", + "@umbraco-ui/uui-breadcrumbs": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-button-group": "1.5.0", + "@umbraco-ui/uui-button-inline-create": "1.5.0", + "@umbraco-ui/uui-card": "1.5.0", + "@umbraco-ui/uui-card-content-node": "1.5.0", + "@umbraco-ui/uui-card-media": "1.5.0", + "@umbraco-ui/uui-card-user": "1.5.0", + "@umbraco-ui/uui-caret": "1.5.0", + "@umbraco-ui/uui-checkbox": "1.5.0", + "@umbraco-ui/uui-color-area": "1.5.0", + "@umbraco-ui/uui-color-picker": "1.5.0", + "@umbraco-ui/uui-color-slider": "1.5.0", + "@umbraco-ui/uui-color-swatch": "1.5.0", + "@umbraco-ui/uui-color-swatches": "1.5.0", + "@umbraco-ui/uui-combobox": "1.5.0", + "@umbraco-ui/uui-combobox-list": "1.5.0", + "@umbraco-ui/uui-css": "1.5.0", + "@umbraco-ui/uui-dialog": "1.5.0", + "@umbraco-ui/uui-dialog-layout": "1.5.0", + "@umbraco-ui/uui-file-dropzone": "1.5.0", + "@umbraco-ui/uui-file-preview": "1.5.0", + "@umbraco-ui/uui-form": "1.5.0", + "@umbraco-ui/uui-form-layout-item": "1.5.0", + "@umbraco-ui/uui-form-validation-message": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-icon-registry": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0", + "@umbraco-ui/uui-input": "1.5.0", + "@umbraco-ui/uui-input-file": "1.5.0", + "@umbraco-ui/uui-input-lock": "1.5.0", + "@umbraco-ui/uui-input-password": "1.5.0", + "@umbraco-ui/uui-keyboard-shortcut": "1.5.0", + "@umbraco-ui/uui-label": "1.5.0", + "@umbraco-ui/uui-loader": "1.5.0", + "@umbraco-ui/uui-loader-bar": "1.5.0", + "@umbraco-ui/uui-loader-circle": "1.5.0", + "@umbraco-ui/uui-menu-item": "1.5.0", + "@umbraco-ui/uui-modal": "1.5.0", + "@umbraco-ui/uui-pagination": "1.5.0", + "@umbraco-ui/uui-popover": "1.5.0", + "@umbraco-ui/uui-popover-container": "1.5.0", + "@umbraco-ui/uui-progress-bar": "1.5.0", + "@umbraco-ui/uui-radio": "1.5.0", + "@umbraco-ui/uui-range-slider": "1.5.0", + "@umbraco-ui/uui-ref": "1.5.0", + "@umbraco-ui/uui-ref-list": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0", + "@umbraco-ui/uui-ref-node-data-type": "1.5.0", + "@umbraco-ui/uui-ref-node-document-type": "1.5.0", + "@umbraco-ui/uui-ref-node-form": "1.5.0", + "@umbraco-ui/uui-ref-node-member": "1.5.0", + "@umbraco-ui/uui-ref-node-package": "1.5.0", + "@umbraco-ui/uui-ref-node-user": "1.5.0", + "@umbraco-ui/uui-scroll-container": "1.5.0", + "@umbraco-ui/uui-select": "1.5.0", + "@umbraco-ui/uui-slider": "1.5.0", + "@umbraco-ui/uui-symbol-expand": "1.5.0", + "@umbraco-ui/uui-symbol-file": "1.5.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0", + "@umbraco-ui/uui-symbol-folder": "1.5.0", + "@umbraco-ui/uui-symbol-lock": "1.5.0", + "@umbraco-ui/uui-symbol-more": "1.5.0", + "@umbraco-ui/uui-symbol-sort": "1.5.0", + "@umbraco-ui/uui-table": "1.5.0", + "@umbraco-ui/uui-tabs": "1.5.0", + "@umbraco-ui/uui-tag": "1.5.0", + "@umbraco-ui/uui-textarea": "1.5.0", + "@umbraco-ui/uui-toast-notification": "1.5.0", + "@umbraco-ui/uui-toast-notification-container": "1.5.0", + "@umbraco-ui/uui-toast-notification-layout": "1.5.0", + "@umbraco-ui/uui-toggle": "1.5.0", + "@umbraco-ui/uui-visually-hidden": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-action-bar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.5.0.tgz", + "integrity": "sha512-2B4ONNRTEtoKjnBo8mtvQo2Y9WW7LDSx6q85UuA+YEWfMOgZ0hr0lFepPg+qq/q90/8ZIoItoxRo16UFrPVaHQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button-group": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-avatar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.5.0.tgz", + "integrity": "sha512-Iw4MQ2IMfJq590ydA6d2WXJ3gC7wO1vpA6tZj3T772B81LBZR31ftoMn3ho4cpavV5Nv4LvBnGhc2YajbsVn5A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-avatar-group": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.5.0.tgz", + "integrity": "sha512-hlmqOGLQIN8uJMoLgT+RPHFWIxi8Ridhp/MrKgEjuNF6sTu4bCQyN28XuC9JD+4vBcSjU4a893QGvckalQxZiA==", + "dependencies": { + "@umbraco-ui/uui-avatar": "1.5.0", + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-badge": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.5.0.tgz", + "integrity": "sha512-6azqqcqRzVHXYz/JfAody6kDZQG3hiBTiCS8EEYY9GcFNqh8BvFLX4yK9R6zz5BVrjgT3qkmPpE2iIpqV6J58A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-base": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.5.0.tgz", + "integrity": "sha512-HzKRvbf/aPA1y8l9ZLTvF5Up7W6jX8UwqVUr1B8lwckI6tgxOEFPqLya+U4papqZDh4wz/lysXSDESeVfUy8cw==", + "dependencies": { + "lit": "^2.3.1" + } + }, + "node_modules/@umbraco-ui/uui-base/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-base/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-base/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-base/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-boolean-input": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.5.0.tgz", + "integrity": "sha512-uhIPzi7n3Z4Li3n688Q8v3725apwasZvPntm7kMdtssXay6hUHOcor+hkpPavGXRVxZGg+9gIYRM6sQWp853cA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-box": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.5.0.tgz", + "integrity": "sha512-uTHBvwzS9pRu0MVfN74+bux6lK0m1AmY/7xor9ez9/uzDyIK096D9jSLTQkfDyngIhqnV6kFLbG7PqcfQURFJQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-css": "1.4.0" + } + }, + "node_modules/@umbraco-ui/uui-box/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-box/node_modules/@umbraco-ui/uui-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.4.0.tgz", + "integrity": "sha512-HBCFPuXJijeZbjnjdqmg3oqOGB3RmpQKT/s/Uy0TSJfaQGfz0e73o2eRghYHWF2rdqHw6brKFrZTZHBVvCE/xA==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-box/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-box/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-box/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-breadcrumbs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.5.0.tgz", + "integrity": "sha512-mXuzt5o4NZ1E/HVTLYq+TklX9VQSH5zce+Ef1t2EgUE3EFQH0fwcdCRBC9SpklueNj46ngGHmVhyfv8ekne1Wg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-button": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.5.0.tgz", + "integrity": "sha512-ujicvfqUAN0JtBcgj8OG1YcyDaArTBdP5LvNsyYB8s0dePgcws71XzJ1mbHbXhuA386ioNue04yGDL+gSFlJ/A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-button-group": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.5.0.tgz", + "integrity": "sha512-8yhFdfg7p1B8MM2fIxIlc0Mmhnx46scdGhqeRhvaQ2/dcdpVTI1j1hI2JyOM18TUhJeot4olLqwatlXxlFFT+A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-button-inline-create": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.5.0.tgz", + "integrity": "sha512-J60vRf7nzQyRYKj+qYhMQR6LrQH6PyTrxyqyfDOVGzcWKzsTuRahxuVOIOzrs489cznwRYwL11jtK32MlrSjGQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-card": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.5.0.tgz", + "integrity": "sha512-RgpnQca3rpjMG/3DAmmrExI7gmNNHBNYwfjRqgCd/3QkBwRrtT/+jdppVsGRxxW5xAN90sJ/eLP7i3F5EfWlSA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-card-content-node": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.5.0.tgz", + "integrity": "sha512-aYGeTsppWT0KS9orrqkl9DF2v5l3gSGhBJZqIPiHVBOzczYIcgLWJbdAkaCgpwh1Zacbv3tnB/76965fd4EwPw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-card": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-card-media": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.5.0.tgz", + "integrity": "sha512-0KktT0IExh06W7QP1FMNqU+tpUL1qDwWeeA19PbZPXwHg15hbSW15a+Hc4aiwqlHYHOPT2gxXoiVc7jqWlMcSQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-card": "1.5.0", + "@umbraco-ui/uui-symbol-file": "1.5.0", + "@umbraco-ui/uui-symbol-folder": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-card-user": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.5.0.tgz", + "integrity": "sha512-xJjfkRHkt2xim1o+IvEPQiTpIQR+Z9+69096ssuGb3EkxyyUsDmH3aZZH6/+LKdtKR+7mPZVJub9TTWB4VRnwQ==", + "dependencies": { + "@umbraco-ui/uui-avatar": "1.5.0", + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-card": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-caret": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.5.0.tgz", + "integrity": "sha512-4Apw4TMALEydo5o31gsIyICuPVyKvG/oySNup+5psU3apS0JDQ1RXCgGVDFoFxt5xzM+iJ6/J8ZOOILMVNFM6Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-checkbox": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.5.0.tgz", + "integrity": "sha512-Kve+XAIkSFG9kowbZI1MpDEKihpMTtD9q36pcHiVENqxL1+Tydy60yjy3tHV8o6uamJ8qjR6ZlvLttRwLId9tQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-boolean-input": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-color-area": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-area/-/uui-color-area-1.5.0.tgz", + "integrity": "sha512-FF6PrUCBo2nOg5iLbD+iB8aa3Vh+skIfqjFsPD80qLE0sKQ/53juZCnCbvvp7Z0YmIqwBlWP7xGEzJBGfS6OlA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "colord": "^2.9.3" + } + }, + "node_modules/@umbraco-ui/uui-color-picker": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-picker/-/uui-color-picker-1.5.0.tgz", + "integrity": "sha512-y/IwXhtaQJWNjwnZtYTvv47+bsmUYJzFLtXqxGckcUmyJQvoZ6DDxslTSv1B9J3QTXU0zpakqpxPszlNNHUygw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "colord": "^2.9.3" + } + }, + "node_modules/@umbraco-ui/uui-color-slider": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-slider/-/uui-color-slider-1.5.0.tgz", + "integrity": "sha512-nkUpUxfD7VlayBHirM56xKqi1h0Opg7Q2suzxEC4KLDVLO1+L0KzsDORn1tfeantSG0PahBMbuve1XOoOwCrAA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-color-swatch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatch/-/uui-color-swatch-1.5.0.tgz", + "integrity": "sha512-UDqlGmJIMGyn7C23q33v8dkJoISmIAL0XZNTiPkEhwGjKRlxkbexmGd4L4vFt+nhJDRrN86JoZ64BRTHVN8V7A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0", + "colord": "^2.9.3" + } + }, + "node_modules/@umbraco-ui/uui-color-swatches": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatches/-/uui-color-swatches-1.5.0.tgz", + "integrity": "sha512-SvTKINbckKvqkkS4XnQfpELkW2x47CUa4PsnXqioXNIWP5sBJb9Kydiu0N1+lV57fAkteqNp+YY8mFxn3a6iPA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-color-swatch": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-combobox": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.5.0.tgz", + "integrity": "sha512-SoK4+yR0dJViXZinZ7iqowl6tvWPTTPSOBVE7FfOqOAgFoccOE/nQqjeNjSM0co80OKXqHUsh+kX/HwLjdyNEA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-combobox-list": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-scroll-container": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-combobox-list": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.5.0.tgz", + "integrity": "sha512-5cVlhnst3p6eEHFqn6O8LMswx3wdwpzlfAghleQJW+ZUIVo7ZPXznZz7+6yvnVWxnI7+xxFebHgC0KFxGMUVvg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-css": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.5.0.tgz", + "integrity": "sha512-jBSJg8KTWDG7DOVzz7A+UpMxMNHtddcLgt9k25vC4H+84xl+TN51RFTqF8C0JCZdWFK0eKWYlJsGqVrDfoVCcg==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-css/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-css/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-css/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-css/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-dialog": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.5.0.tgz", + "integrity": "sha512-m6J5i+eiLdNApryIY1KW/4kyunAuTpkcWBjQmxyESmlDIqRGdW0lqaahQvcZSZHto03jleUdH5wYTLNgKIb/rw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-css": "1.4.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog-layout": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.5.0.tgz", + "integrity": "sha512-vfZ3FMzYccGBVvSSXvCeoHYX+VU8QppXtFR2OGDZwU0b8BOKtfKTP/2VLPEWCG4vJYKPmqZESo3N9bZXWDkWSg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog/node_modules/@umbraco-ui/uui-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.4.0.tgz", + "integrity": "sha512-HBCFPuXJijeZbjnjdqmg3oqOGB3RmpQKT/s/Uy0TSJfaQGfz0e73o2eRghYHWF2rdqHw6brKFrZTZHBVvCE/xA==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-dialog/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-file-dropzone": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.5.0.tgz", + "integrity": "sha512-3rkTWidY4k2fyktRxfsMVTSvF+EIguv9p1Fga7v4DCNkplCp6OyJnwWby5F//+NvTHphaGchxZirOWMLgLyDog==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-file-preview": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.5.0.tgz", + "integrity": "sha512-Re+R8uZSD3t3jUgZvzG/DfQtihss7aw+rG41IAjmRO9wBZuUAsowfgCd2OJnuOYJXeaqOYYl+QQr7pmR2a/HNQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-symbol-file": "1.5.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0", + "@umbraco-ui/uui-symbol-folder": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-form": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.5.0.tgz", + "integrity": "sha512-rbXFZzAg93/fzvNkxHavUr62DnSeWuVghd9CK9lhe6A9ER9cfjOcGn/INTYK3HHPBalay9IOq+WV1xxC5H6zyg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-form-layout-item": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.5.0.tgz", + "integrity": "sha512-owla3DWo1deVUEG0JzC7pE70h6Ll6lmbR+B+utbMdEgM6shEMdokpPioeCaXb8v7On9Whz+zJGAGBAYl/oyjug==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-form-validation-message": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-form-validation-message": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.5.0.tgz", + "integrity": "sha512-wuWCzttkUlEctqdJi9qzSzT8h10WvoK3+5usYB9V8NpdPYzOmbXU5RDYpoTWS0nPO56C6rlRlt3TH1khIQtPJA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-icon": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.5.0.tgz", + "integrity": "sha512-8Sz6PaYTC8KDCKj5ed+xnlnuh9/NOs0tQGPOma1bnVxGJN8LNjl+cJSLp+iU1m3Qq50H0TG+0K/dS3WUExjbZw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-icon-registry": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.5.0.tgz", + "integrity": "sha512-ei+HnaCKFjcCYjHYC0hqncY2vDfbgRkWhftOnrhqVZPJkE4omWDmVsLSGg/vm88ar1QleDmVj+CAa4J9T+uVeg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-icon-registry-essential": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.5.0.tgz", + "integrity": "sha512-nxNEQDI4SNBXnI2/Ov60vcdzKFyRCInwZDFNAKyt31F1yTNM0EM0ne5yV4AqM6YPOKVoWzqFcLz2rx64X+oLvQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon-registry": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-input": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.5.0.tgz", + "integrity": "sha512-TlbSIRh2Z7xJxW0GEPENd369W1hHgr9Y8IIRE5RDllXzZc8yho4QXPJSDFQTiHMf41LIkOTfIkrQst5047FiXg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-input-file": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.5.0.tgz", + "integrity": "sha512-8h/qGED5KE7sb/YE7dHapZxcWXGm0qCPJft8AGOu/ZK/WdOUV1WHynLjV4yGVZgY9PVZGc+GQTzvdgwxxpltQw==", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.5.0", + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-file-dropzone": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-input-lock": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.5.0.tgz", + "integrity": "sha512-KBhZLLD+5qyibbcp0AiJo7V4e/+GiKouGz/rCk6/3vxEKpe8CtWekcHhjrdlsHcOluQeBcb1Pdqng0wC9UTO5Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-input": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-input-password": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.5.0.tgz", + "integrity": "sha512-8wvQ/10jfufU0QWhK3gBVo5V/fzk4AuX8wPuieKZDY9Jnwkr7ugZ11DOJtaV3Az/4a0nrfF3TQ2gbBC7zHx2JA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0", + "@umbraco-ui/uui-input": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-keyboard-shortcut": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.5.0.tgz", + "integrity": "sha512-KVTMHl6X0T4cUA3bUgM06xzwCN3VD5W3tZloF0i6e3PTHhkyCE5tKD/2Hizm56OGb+ifaI/oN3L1m7vEPC8IHw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-label": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.5.0.tgz", + "integrity": "sha512-Sc6XuMEyivBEQDfMOA6JT7nW5H4/eD6dzUtUNabOwzCG5GUpvTMfRccpdjmzOvl9VCGNWtE9ikqCBZWexWA6YA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-loader": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.5.0.tgz", + "integrity": "sha512-lhl1KqRbM5NTp08fvxgzOsbHFz04z8/WjaOar6lqNnL0R+CcFtVWQrv69Opht9Sj1NdHESmHEVnX0yodod2LhQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-loader-bar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.5.0.tgz", + "integrity": "sha512-qUcVXi4i+ClozPc0Vfw7g90CLAQVj04F71xtatxDY5nhSWDEMEI6b/pXtN/B9TklkqfgE1mf/gRziFrpbVjLhA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-loader-circle": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.5.0.tgz", + "integrity": "sha512-059/DJDYbgOmr/LPXbiDaTkBcInmzUUu/YDtQt/SkZPCO33uuB7TDc+++cMgFYskdXBpqesNvVfZOUd4P6zJyA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-menu-item": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.5.0.tgz", + "integrity": "sha512-rmKuTz0Xgf0LyQRqs3tr2Z4O6oaNCd7UmI8kEbluk4yKpk5MU38BlFY9p39fpiEVUuzjcg9pBjrEyxrC/H9xjA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-loader-bar": "1.5.0", + "@umbraco-ui/uui-symbol-expand": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-modal": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-modal/-/uui-modal-1.5.0.tgz", + "integrity": "sha512-q9g4rA8OYCPlOmZMES/O17NiAu18wtMxNHMuT6dADP2tuULE+TKT6A8vqC7aq8JkWOTAXRAFvTjTmcvm6L2pvg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-pagination": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.5.0.tgz", + "integrity": "sha512-I3gCWbyLRFvi5fAlezQZarvj7FuEZ7NVZbbKJxqEhbo1bwOxDMXlDNxIIrxSg3R8YAuDNP9Pbdw+rnQwupuOMQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-button-group": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-popover": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.5.0.tgz", + "integrity": "sha512-Ab8UL4UGxTUn6hYbTqPrMtyGpQr3Xw1E/PVKG3+j+UrNw1Ro5piKgh0TahwxLnrsXWOPXfy53oaXNYsMGenndA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-popover-container": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover-container/-/uui-popover-container-1.5.0.tgz", + "integrity": "sha512-issjf86TwvwLA6sJOs5pLRMFY+WBc4oeTZiJMz5mhZ5C5UoRmU65L6RP/0UnzZ4ZGY2Gpdh2YatNnZ7hVMg5ig==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-progress-bar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.5.0.tgz", + "integrity": "sha512-B/v7VsBBwo19Y+4NBRllt7Ls+WLQfx6vY57rfO8MQG7zxGznxpTSIYvd3wxdRuDsFQeVwwoYjF1/YBJ7iWUnEQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-radio": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.5.0.tgz", + "integrity": "sha512-3e52VZHcgHB/17eLTmiZwdm7ENgfX6AF4Dw+8H2x8jdRjyvt8lbykCq+6xewAZFsLAu7vTOEKtd2RhQFI2+hwg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-range-slider": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-range-slider/-/uui-range-slider-1.5.0.tgz", + "integrity": "sha512-oHmIoF+KrHDWiOKonIWq7n94C6CzStBXrleS6iwCgWY++ayaHKCPlCuQIYp3BmGjnMQn8Ou0r2x/RuBPuraLVQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.5.0.tgz", + "integrity": "sha512-wba/OP6b/mG5kp4bUgBBcBAAy3RWTbokVyjb52FR7nyqNMnIE/UBdgi0XeBx4j6lZeEbr5k5ZOGQ1knEHbPWyQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-list": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.5.0.tgz", + "integrity": "sha512-sxs3hC97zDuFaV8mvXLAbqqtWk0kqDdHY9ORt9CxacdT36nQS58Sw60/plCryqoyp7P2cUZVtlEeff53OKOTCQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.5.0.tgz", + "integrity": "sha512-bjmMgrIW+/4bmUXwMwFFaPrg2MeTxXssb6EpbBItJ+s0QhTEcTNyAD/DK3RlSMRE5VPO11sRwgCr06aIhklx0Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-ref": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-data-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.5.0.tgz", + "integrity": "sha512-k14MI3cRELOmAwmtFeBzgCFw4+uin0JSqf85ZaqNkXSAmg+4I0ayUI6PGz+Jw66yGHvw3YNeUMKPmLO8l6M79A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-document-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.5.0.tgz", + "integrity": "sha512-ouytDUaSls7Hsd0WaDy4wgfKMLpxlxx16WWyHlzX5lMyhkR+S3olyNZcgDRtz9xIQV+dVE3iDsUeQcNAigCdaw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-form": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.5.0.tgz", + "integrity": "sha512-D86A1+ScVGTer2kci6Y9X4ZAhCnm4kxUi7bCFH7dn7oi/Fq8fhs3PBuA7mr1FrZgrPvXVdW+Qa7ldxxU58NIWA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-member": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.5.0.tgz", + "integrity": "sha512-/UPmUNk6KP2unKnJKjr1qGkdPlFGTRj3K7H/mczCY7IbtzEccdEswWJCdUy/doIkAKbDdaqKe3/9HBoA3JtWPw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-package": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.5.0.tgz", + "integrity": "sha512-XkET8XKb3XxmjlIDrmtwm9o0QsaG81bcpUBEBA/wUC0OcJNrjTKyv6ciAVDP7HaW6XpN8XwsRbqdcrYwM8lXDQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-user": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.5.0.tgz", + "integrity": "sha512-9TrIr1JWw3cIkWfQrdv9iLRIqm/dd10d6uZEWaGJ/MuxyCywqMg/LSApV/NLapB4HXhIG4pGCiXvUa8OVW99ew==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-ref-node": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-scroll-container": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.5.0.tgz", + "integrity": "sha512-Xj5jnmCEDyRENmWtuPI1QYEMzrmi/9/LaajkPEIZEYVu2owI940F0viS5X+X/FvKehSxoSt9ainCwkLphgzNiw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.5.0.tgz", + "integrity": "sha512-lcMiIM6WxF5YraIXAqSpujx3OJzq6Snfik0BUypTWbUZdKVQTgLPh3A6We9PdD6K64AX2Zk4eH8yhQ+5GNImzQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-slider": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.5.0.tgz", + "integrity": "sha512-Mp6xz7C7GbAuQ1Totd2WLzvS56ekx4l31mAvUvor0GqrUF/hHxwfrGZOAWoBqoTdKQAFKbZVSM782a+cwNv3hg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-expand": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.5.0.tgz", + "integrity": "sha512-ZCuGAJT2qFs4wQ6Z+g/qV3obv/SbriMnaIOGy6XTTAuMlh2+aNAwm33Je0wYKCTwHNUmnl427wTMEkQcMziD4g==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.5.0.tgz", + "integrity": "sha512-ClB/lT/ebyUBmPqExB2ZinMOo/bCMEgjGxjkXy2THX4lOLUqvjDNEKLq99MAREKSh/mmGq7iB3Z/hd9/EDu75Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file-dropzone": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.5.0.tgz", + "integrity": "sha512-0YL88rFFI5SOzzORtm1VtMihN4if7r0CIRe5Q3Sv0WwHjrMfIM08DeONCgN2j+ZoKgnTvt9KpE1OGigshouRug==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file-thumbnail": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.5.0.tgz", + "integrity": "sha512-/qkf6AdAIsRmUfsBdtFkFk5wPWw6JvSVHvgk/UvZulHHb2F8TamPSJfb6voh86Vq8DzVIcy3ZbqatxH7LZBY1g==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-folder": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.5.0.tgz", + "integrity": "sha512-Sxt4n5IBT+XIqu2nJxP4RnhourwC+1X5bD40YgUBmqZJ9KV//tox4zo2elU19WCeRZFkklZGfn2smLY1FD0OGg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-lock": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.5.0.tgz", + "integrity": "sha512-EH7tEPCB+PTyjWbW+bdekk4M5hcjvYYpCKTnl3Pdpzh0mrxHPt9xa8908JB0tG8n0m0EcP+L7k8pthUmkgpK7A==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-more": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.5.0.tgz", + "integrity": "sha512-EuhU4kle4swMFZnsguWPz77rOtrk0IQcXuEA60fjzFGJCwsg7yyu9Ns209IEUsYh5ktstj8pXKT8+ZDila5umg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-sort": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.5.0.tgz", + "integrity": "sha512-/cifoZXuZbDmuZFPD0rr95Gpuy18DnboOYb/Ir6G3PANJ0fWOhzykHUrdx18ItLzhhwfE3dcZk4EWcGrEkfnfg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-table": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.5.0.tgz", + "integrity": "sha512-tjhpEzBYCQdgieoXcIgcOjROrScF0Ifutz/6gmpcdrXYbgZ+YkWX7dSLAeQj3fzGebaPbNYzGOmGZA9/opZ1rg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-tabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.5.0.tgz", + "integrity": "sha512-0D5NLufis9Tzc5Vr+fl8Z0wABHyz1Tep76Qnx0nXyYzAZvdNq2IxThHbGqA1cb+FjVJSKdfp6ONfiPc/SIVAzA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-popover-container": "1.5.0", + "@umbraco-ui/uui-symbol-more": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-tag": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.5.0.tgz", + "integrity": "sha512-OZGitHjdn4coj1x7F7zfeIx5M9NhGd8+CqpD915V9Qm8YlTQxFLq1M8tqjIxaYAB5EcHXuyzRpSUCrt/WUvipA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-textarea": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.5.0.tgz", + "integrity": "sha512-+zDqbYKYfaiG0IXEaQatUaWsD4umtkTtbCMnqVPMhxwneVoE9d69ejat2zLFUI/ERm3nKMyq/NRfxzXJgzlDng==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.5.0.tgz", + "integrity": "sha512-cFjz4/uZudR3yuSqK5gqzAio55ZOOxQAOc8bC5keS0HXL84JcDwrEP4/Nz7X/uUNUqauYZG/iBUirAvqfv7Osw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-button": "1.5.0", + "@umbraco-ui/uui-css": "1.4.0", + "@umbraco-ui/uui-icon": "1.5.0", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-container": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.5.0.tgz", + "integrity": "sha512-AB4kwgocUeDwkxiCYNH0AOMEtExDS6sEq9sk2i8AGDAEjprAB3m0HM9AlrA+T0V1GtSuv+Q1DEuCyxnVbuK0WQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-toast-notification": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.5.0.tgz", + "integrity": "sha512-rM7cGCdMolhsndfZT9zGAPI9P3bl1lNpjDhWI124Mgx+KS8t2Q2h9O+7FGqFnjCTJOQES1pdQ+enl2NxCuEkNg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-css": "1.4.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout/node_modules/@umbraco-ui/uui-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.4.0.tgz", + "integrity": "sha512-HBCFPuXJijeZbjnjdqmg3oqOGB3RmpQKT/s/Uy0TSJfaQGfz0e73o2eRghYHWF2rdqHw6brKFrZTZHBVvCE/xA==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification/node_modules/@umbraco-ui/uui-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.4.0.tgz", + "integrity": "sha512-HBCFPuXJijeZbjnjdqmg3oqOGB3RmpQKT/s/Uy0TSJfaQGfz0e73o2eRghYHWF2rdqHw6brKFrZTZHBVvCE/xA==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification/node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification/node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification/node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/@umbraco-ui/uui-toggle": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.5.0.tgz", + "integrity": "sha512-vsJSpBSmlrLzspCa1dGQGYXfc6RwTGTzSlNQdnzzP7qefVRP4GlOaqYV0TJhHMcYdbai+iEkrLznzJQvM9JFLA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0", + "@umbraco-ui/uui-boolean-input": "1.5.0" + } + }, + "node_modules/@umbraco-ui/uui-visually-hidden": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-visually-hidden/-/uui-visually-hidden-1.5.0.tgz", + "integrity": "sha512-3Imqxp8+hvirakPogqzvRlU+uhshpGRdrEMU7phCS5VGzDEl8NL1BhxR31EQAw7DspwbD5non3ZwbTwLYydfCg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vscode/web-custom-data": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/@vscode/web-custom-data/-/web-custom-data-0.4.8.tgz", + "integrity": "sha512-rRiEeEX49wipCeGZo65mQJUEuCY3IXd6bet90eY6cMMQ9jBe2g3Njw/2ctbaxuACPnEKXTdW0dB7umxDln3Rzg==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/didyoumean2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/didyoumean2/-/didyoumean2-4.1.0.tgz", + "integrity": "sha512-qTBmfQoXvhKO75D/05C8m+fteQmn4U46FWYiLhXtZQInzitXLWY0EQ/2oKnpAz9g2lQWW8jYcLcT+hPJGT+kig==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "leven": "^3.1.0", + "lodash.deburr": "^4.1.0" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-lit": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-lit/-/eslint-plugin-lit-1.10.1.tgz", + "integrity": "sha512-3eH++xFpe6efd+TN6B9kW1coULdPyK+3fMNws378nbYQ/HiWIz0+jVcsaGVs9BbLt6kVkDxZmUGF4Ivx3BatkA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "requireindex": "^1.2.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "eslint": ">= 5" + } + }, + "node_modules/eslint-plugin-wc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-wc/-/eslint-plugin-wc-2.0.4.tgz", + "integrity": "sha512-ORu7MBv0hXIvq894EJad70m+AvHGbmrDdKT6lcgtCVVhEbuIAyxg0ilfqqqHOmsh8PfcUBeEae3y7CElKvm1KQ==", + "dev": true, + "dependencies": { + "is-valid-element-name": "^1.0.0", + "js-levenshtein-esm": "^1.2.0" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-valid-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-element-name/-/is-valid-element-name-1.0.0.tgz", + "integrity": "sha512-GZITEJY2LkSjQfaIPBha7eyZv+ge0PhBR7KITeCCWvy7VBQrCUdFkvpI+HrAPQjVtVjy1LvlEkqQTHckoszruw==", + "dev": true, + "dependencies": { + "is-potential-custom-element-name": "^1.0.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-levenshtein-esm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/js-levenshtein-esm/-/js-levenshtein-esm-1.2.0.tgz", + "integrity": "sha512-fzreKVq1eD7eGcQr7MtRpQH94f8gIfhdrc7yeih38xh684TNMK9v5aAu2wxfIRMk/GpAJRrzcirMAPIaSDaByQ==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.0.1.tgz", + "integrity": "sha512-CYFv7/gwrs6bfPm299O9LD/HB4dgHvsEf/yqUOI//fi469i2OrT4xaptUcmhr05DNQEgsBFecFH8EJnN5So8oQ==", + "dependencies": { + "@lit/reactive-element": "^2.0.0", + "lit-element": "^4.0.0", + "lit-html": "^3.0.0" + } + }, + "node_modules/lit-analyzer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lit-analyzer/-/lit-analyzer-2.0.1.tgz", + "integrity": "sha512-4bHJLCbxywMHd9bnVkLDkCSHXs/KrlwUks75EhYtJNdzH07O5BSVdZdadbw4T2AvuYxb0xRO4ZjqgQJCkp8Kjg==", + "dev": true, + "dependencies": { + "@vscode/web-custom-data": "^0.4.2", + "chalk": "^2.4.2", + "didyoumean2": "4.1.0", + "fast-glob": "^3.2.11", + "parse5": "5.1.0", + "ts-simple-type": "~2.0.0-next.0", + "vscode-css-languageservice": "4.3.0", + "vscode-html-languageservice": "3.1.0", + "web-component-analyzer": "^2.0.0" + }, + "bin": { + "lit-analyzer": "cli.js" + } + }, + "node_modules/lit-analyzer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lit-analyzer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lit-analyzer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/lit-analyzer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/lit-analyzer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lit-analyzer/node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/lit-analyzer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lit-element": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.1.tgz", + "integrity": "sha512-OxRMJem4HKZt0320HplLkBPoi4KHiEHoPHKd8Lzf07ZQVAOKIjZ32yPLRKRDEolFU1RgrQBfSHQMoxKZ72V3Kw==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.2", + "@lit/reactive-element": "^2.0.0", + "lit-html": "^3.0.0" + } + }, + "node_modules/lit-html": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.0.1.tgz", + "integrity": "sha512-1nmGaNNQg9rBvE1yJ6oS3ZNbLs3FXtlG4+jgGkix8O740qVEwwiFVTgDGIIH8N5TcQ8V9tBk5T+sxqBgffcjJg==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "engines": { + "node": ">=0.10.5" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-lit-plugin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-lit-plugin/-/ts-lit-plugin-2.0.1.tgz", + "integrity": "sha512-Y5G03aDiMYHMLzoZ50kdeVkzgVig2mBw6PVY2oI9PcWl3ONTcDyYq6rJ0QzhlACYWP8sT0dmaPMsHMObgNNvvg==", + "dev": true, + "dependencies": { + "lit-analyzer": "^2.0.1", + "web-component-analyzer": "^2.0.0" + } + }, + "node_modules/ts-simple-type": { + "version": "2.0.0-next.0", + "resolved": "https://registry.npmjs.org/ts-simple-type/-/ts-simple-type-2.0.0-next.0.tgz", + "integrity": "sha512-A+hLX83gS+yH6DtzNAhzZbPfU+D9D8lHlTSd7GeoMRBjOt3GRylDqLTYbdmjA4biWvq2xSfpqfIDj2l0OA/BVg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz", + "integrity": "sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "ansi-escapes": "^4.3.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "commander": "^8.0.0", + "fast-glob": "^3.2.7", + "fs-extra": "^11.1.0", + "lodash.debounce": "^4.0.8", + "lodash.pick": "^4.4.0", + "npm-run-path": "^4.0.1", + "semver": "^7.5.0", + "strip-ansi": "^6.0.0", + "tiny-invariant": "^1.1.0", + "vscode-languageclient": "^7.0.0", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-uri": "^3.0.2" + }, + "engines": { + "node": ">=14.16" + }, + "peerDependencies": { + "eslint": ">=7", + "meow": "^9.0.0", + "optionator": "^0.9.1", + "stylelint": ">=13", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": ">=1.3.9" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "meow": { + "optional": true + }, + "optionator": { + "optional": true + }, + "stylelint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vls": { + "optional": true + }, + "vti": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-4.3.0.tgz", + "integrity": "sha512-BkQAMz4oVHjr0oOAz5PdeE72txlLQK7NIwzmclfr+b6fj6I8POwB+VoXvrZLTbWt9hWRgfvgiQRkh5JwrjPJ5A==", + "dev": true, + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "3.16.0-next.2", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.16.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz", + "integrity": "sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==", + "dev": true + }, + "node_modules/vscode-css-languageservice/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "dev": true + }, + "node_modules/vscode-html-languageservice": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.1.0.tgz", + "integrity": "sha512-QAyRHI98bbEIBCqTzZVA0VblGU40na0txggongw5ZgTj9UVsVk5XbLT16O9OTcbqBGSqn0oWmFDNjK/XGIDcqg==", + "dev": true, + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "3.16.0-next.2", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/vscode-html-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.16.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz", + "integrity": "sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==", + "dev": true + }, + "node_modules/vscode-html-languageservice/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "dev": true + }, + "node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "dev": true, + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageclient": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", + "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4", + "semver": "^7.3.4", + "vscode-languageserver-protocol": "3.16.0" + }, + "engines": { + "vscode": "^1.52.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "dev": true, + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "dev": true, + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", + "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, + "node_modules/web-component-analyzer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0.tgz", + "integrity": "sha512-UEvwfpD+XQw99sLKiH5B1T4QwpwNyWJxp59cnlRwFfhUW6JsQpw5jMeMwi7580sNou8YL3kYoS7BWLm+yJ/jVQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.2", + "ts-simple-type": "2.0.0-next.0", + "typescript": "~5.2.0", + "yargs": "^17.7.2" + }, + "bin": { + "wca": "cli.js", + "web-component-analyzer": "cli.js" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/package.json b/src/Infocaster.Umbraco.IcomoonPicker/package.json new file mode 100644 index 0000000..c23ccea --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/package.json @@ -0,0 +1,32 @@ +{ + "name": "infocaster--umbraco-icomoonpicker", + "private": true, + "version": "2.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "build:watch": "vite build --watch", + "preview": "vite preview", + "lint": "eslint --ext .ts,.js, ./frontend/src" + }, + "dependencies": { + "@lit/context": "^1.0.1", + "@umbraco-ui/uui": "^1.5.0", + "axios": "^1.6.0", + "lit": "^3.0.1" + }, + "devDependencies": { + "@types/angular": "^1.8.7", + "@types/node": "^20.8.10", + "@typescript-eslint/eslint-plugin": "^6.9.1", + "@typescript-eslint/parser": "^6.9.1", + "eslint": "^8.52.0", + "eslint-plugin-lit": "^1.10.1", + "eslint-plugin-wc": "^2.0.4", + "ts-lit-plugin": "^2.0.1", + "typescript": "^5.2.2", + "vite": "^4.5.0", + "vite-plugin-checker": "^0.6.2" + } +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/readme.md b/src/Infocaster.Umbraco.IcomoonPicker/readme.md new file mode 100644 index 0000000..9118939 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/readme.md @@ -0,0 +1,19 @@ +# Project Name + +Dit is de nieuwe versie van de icomoonpicker umbraco plugin. Deze plugin is geschreven in Lit + Typescript. Vite is gebruikt als build tool. + +## Getting Started + +### Prerequisites + +- NodeJS V20 (16 en 18 werken waarshijnlijk ook) +- Prettier plugin voor visual studio code +- lit-plugin voor visual studio code +- Visual studio 2022 + +### Installing + +`bash npm ci` +`bash npm run build` +Rebuild de solution in visual studio (dat kopieert de nieuwe plugin files) +Run Umbraco.Web.UI in Visual studio om te testen diff --git a/src/Infocaster.Umbraco.IcomoonPicker/tsconfig.json b/src/Infocaster.Umbraco.IcomoonPicker/tsconfig.json new file mode 100644 index 0000000..5252f5d --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "ES2020", + "experimentalDecorators": true, + "useDefineForClassFields": false, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "paths": { + "@/*": ["./frontend/src/*"] + }, + "plugins": [ + { + "name": "ts-lit-plugin", + "strict": true + } + ] + }, + "include": ["frontend/src"] +} diff --git a/src/Infocaster.Umbraco.IcomoonPicker/vite.config.ts b/src/Infocaster.Umbraco.IcomoonPicker/vite.config.ts new file mode 100644 index 0000000..c31e016 --- /dev/null +++ b/src/Infocaster.Umbraco.IcomoonPicker/vite.config.ts @@ -0,0 +1,34 @@ +import { resolve } from "path"; +import { defineConfig } from "vite"; +import checker from "vite-plugin-checker"; + +export default defineConfig({ + build: { + lib: { + entry: resolve(__dirname, "frontend", "src", "index.ts"), + name: "script", + fileName: "script", + formats: ["iife"], + }, + outDir: "App_plugins/Infocaster.Umbraco.IcomoonPicker", + sourcemap: true, + rollupOptions: { + external: ["@umbraco-ui/uui"], + }, + }, + publicDir: resolve(__dirname, "frontend", "public"), + plugins: [ + checker({ + typescript: true, + eslint: { + // for example, lint .ts and .tsx + lintCommand: 'eslint "./frontend/src/**/*.{ts,tsx}"', + }, + }), + ], + resolve: { + alias: { + "@": resolve(__dirname, "frontend", "src"), + }, + }, +}); From 03ed51fb020adb8c067dfef64a9fba666b9f30c1 Mon Sep 17 00:00:00 2001 From: Dennis Heutinck Date: Tue, 12 Dec 2023 13:49:44 +0000 Subject: [PATCH 4/5] Merged PR 11069: Fix persistance on scope Fix persistance on scope --- .../Infocaster.Umbraco.IcomoonPicker/script.iife.js | 2 +- .../Infocaster.Umbraco.IcomoonPicker/script.iife.js.map | 2 +- .../frontend/src/views/editor/components/content.lit.ts | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js index 84402b8..609f810 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js +++ b/src/Infocaster.Umbraco.IcomoonPicker/App_plugins/Infocaster.Umbraco.IcomoonPicker/script.iife.js @@ -58,7 +58,7 @@ `).forEach(function(i){r=i.indexOf(":"),n=i.substring(0,r).trim().toLowerCase(),s=i.substring(r+1).trim(),!(!n||e[n]&&Os[n])&&(n==="set-cookie"?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)}),e},Ft=Symbol("internals");function ne(t){return t&&String(t).trim().toLowerCase()}function ge(t){return t===!1||t==null?t:c.isArray(t)?t.map(ge):String(t)}function Rs(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(t);)e[s[1]]=s[2];return e}const Ts=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Je(t,e,n,s,r){if(c.isFunction(s))return s.call(this,e,n);if(r&&(e=n),!!c.isString(e)){if(c.isString(s))return e.indexOf(s)!==-1;if(c.isRegExp(s))return s.test(e)}}function Ns(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,s)=>n.toUpperCase()+s)}function Us(t,e){const n=c.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(t,s+n,{value:function(r,o,i){return this[s].call(this,e,r,o,i)},configurable:!0})})}let $e=class{constructor(e){e&&this.set(e)}set(e,n,s){const r=this;function o(a,u,p){const l=ne(u);if(!l)throw new Error("header name must be a non-empty string");const h=c.findKey(r,l);(!h||r[h]===void 0||p===!0||p===void 0&&r[h]!==!1)&&(r[h||u]=ge(a))}const i=(a,u)=>c.forEach(a,(p,l)=>o(p,l,u));return c.isPlainObject(e)||e instanceof this.constructor?i(e,n):c.isString(e)&&(e=e.trim())&&!Ts(e)?i(Ps(e),n):e!=null&&o(n,e,s),this}get(e,n){if(e=ne(e),e){const s=c.findKey(this,e);if(s){const r=this[s];if(!n)return r;if(n===!0)return Rs(r);if(c.isFunction(n))return n.call(this,r,s);if(c.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=ne(e),e){const s=c.findKey(this,e);return!!(s&&this[s]!==void 0&&(!n||Je(this,this[s],s,n)))}return!1}delete(e,n){const s=this;let r=!1;function o(i){if(i=ne(i),i){const a=c.findKey(s,i);a&&(!n||Je(s,s[a],a,n))&&(delete s[a],r=!0)}}return c.isArray(e)?e.forEach(o):o(e),r}clear(e){const n=Object.keys(this);let s=n.length,r=!1;for(;s--;){const o=n[s];(!e||Je(this,this[o],o,e,!0))&&(delete this[o],r=!0)}return r}normalize(e){const n=this,s={};return c.forEach(this,(r,o)=>{const i=c.findKey(s,o);if(i){n[i]=ge(r),delete n[o];return}const a=e?Ns(o):String(o).trim();a!==o&&delete n[o],n[a]=ge(r),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return c.forEach(this,(s,r)=>{s!=null&&s!==!1&&(n[r]=e&&c.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const s=new this(e);return n.forEach(r=>s.set(r)),s}static accessor(e){const s=(this[Ft]=this[Ft]={accessors:{}}).accessors,r=this.prototype;function o(i){const a=ne(i);s[a]||(Us(r,i),s[a]=!0)}return c.isArray(e)?e.forEach(o):o(e),this}};$e.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors($e.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[n]=s}}}),c.freezeMethods($e);const O=$e;function We(t,e){const n=this||Ve,s=e||n,r=O.from(s.headers);let o=s.data;return c.forEach(t,function(a){o=a.call(n,o,r.normalize(),e?e.status:void 0)}),r.normalize(),o}function Mt(t){return!!(t&&t.__CANCEL__)}function se(t,e,n){m.call(this,t??"canceled",m.ERR_CANCELED,e,n),this.name="CanceledError"}c.inherits(se,m,{__CANCEL__:!0});function ks(t,e,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?t(n):e(new m("Request failed with status code "+n.status,[m.ERR_BAD_REQUEST,m.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const Hs=_.isStandardBrowserEnv?function(){return{write:function(n,s,r,o,i,a){const u=[];u.push(n+"="+encodeURIComponent(s)),c.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),c.isString(o)&&u.push("path="+o),c.isString(i)&&u.push("domain="+i),a===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(n){const s=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return s?decodeURIComponent(s[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Ds(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function js(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function zt(t,e){return t&&!Ds(e)?js(t,e):e}const Ls=_.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let s;function r(o){let i=o;return e&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return s=r(window.location.href),function(i){const a=c.isString(i)?r(i):i;return a.protocol===s.protocol&&a.host===s.host}}():function(){return function(){return!0}}();function Is(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Bs(t,e){t=t||10;const n=new Array(t),s=new Array(t);let r=0,o=0,i;return e=e!==void 0?e:1e3,function(u){const p=Date.now(),l=s[o];i||(i=p),n[r]=u,s[r]=p;let h=o,y=0;for(;h!==r;)y+=n[h++],h=h%t;if(r=(r+1)%t,r===o&&(o=(o+1)%t),p-i{const o=r.loaded,i=r.lengthComputable?r.total:void 0,a=o-n,u=s(a),p=o<=i;n=o;const l={loaded:o,total:i,progress:i?o/i:void 0,bytes:a,rate:u||void 0,estimated:u&&i&&p?(i-o)/u:void 0,event:r};l[e?"download":"upload"]=!0,t(l)}}const Ke={http:fs,xhr:typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,s){let r=t.data;const o=O.from(t.headers).normalize(),i=t.responseType;let a;function u(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}let p;c.isFormData(r)&&(_.isStandardBrowserEnv||_.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?c.isString(p=o.getContentType())&&o.setContentType(p.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(t.auth){const d=t.auth.username||"",f=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(d+":"+f))}const h=zt(t.baseURL,t.url);l.open(t.method.toUpperCase(),jt(h,t.params,t.paramsSerializer),!0),l.timeout=t.timeout;function y(){if(!l)return;const d=O.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),E={data:!i||i==="text"||i==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:d,config:t,request:l};ks(function(A){n(A),u()},function(A){s(A),u()},E),l=null}if("onloadend"in l?l.onloadend=y:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(y)},l.onabort=function(){l&&(s(new m("Request aborted",m.ECONNABORTED,t,l)),l=null)},l.onerror=function(){s(new m("Network Error",m.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let f=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const E=t.transitional||It;t.timeoutErrorMessage&&(f=t.timeoutErrorMessage),s(new m(f,E.clarifyTimeoutError?m.ETIMEDOUT:m.ECONNABORTED,t,l)),l=null},_.isStandardBrowserEnv){const d=Ls(h)&&t.xsrfCookieName&&Hs.read(t.xsrfCookieName);d&&o.set(t.xsrfHeaderName,d)}r===void 0&&o.setContentType(null),"setRequestHeader"in l&&c.forEach(o.toJSON(),function(f,E){l.setRequestHeader(E,f)}),c.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),i&&i!=="json"&&(l.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&l.addEventListener("progress",qt(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",qt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=d=>{l&&(s(!d||d.type?new se(null,t,l):d),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const b=Is(h);if(b&&_.protocols.indexOf(b)===-1){s(new m("Unsupported protocol "+b+":",m.ERR_BAD_REQUEST,t));return}l.send(r||null)})}};c.forEach(Ke,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Vt=t=>`- ${t}`,Fs=t=>c.isFunction(t)||t===null||t===!1,Jt={getAdapter:t=>{t=c.isArray(t)?t:[t];const{length:e}=t;let n,s;const r={};for(let o=0;o`adapter ${a} `+(u===!1?"is not supported by the environment":"is not available in the build"));let i=e?o.length>1?`since : `+o.map(Vt).join(` -`):" "+Vt(o[0]):"as no adapter specified";throw new m("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return s},adapters:Ke};function Ge(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new se(null,t)}function Wt(t){return Ge(t),t.headers=O.from(t.headers),t.data=We.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Jt.getAdapter(t.adapter||Ve.adapter)(t).then(function(s){return Ge(t),s.data=We.call(t,t.transformResponse,s),s.headers=O.from(s.headers),s},function(s){return Mt(s)||(Ge(t),s&&s.response&&(s.response.data=We.call(t,t.transformResponse,s.response),s.response.headers=O.from(s.response.headers))),Promise.reject(s)})}const Kt=t=>t instanceof O?t.toJSON():t;function q(t,e){e=e||{};const n={};function s(p,l,h){return c.isPlainObject(p)&&c.isPlainObject(l)?c.merge.call({caseless:h},p,l):c.isPlainObject(l)?c.merge({},l):c.isArray(l)?l.slice():l}function r(p,l,h){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p,h)}else return s(p,l,h)}function o(p,l){if(!c.isUndefined(l))return s(void 0,l)}function i(p,l){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p)}else return s(void 0,l)}function a(p,l,h){if(h in e)return s(p,l);if(h in t)return s(void 0,p)}const u={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(p,l)=>r(Kt(p),Kt(l),!0)};return c.forEach(Object.keys(Object.assign({},t,e)),function(l){const h=u[l]||r,y=h(t[l],e[l],l);c.isUndefined(y)&&h!==a||(n[l]=y)}),n}const Gt="1.6.0",Xe={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Xe[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const Xt={};Xe.transitional=function(e,n,s){function r(o,i){return"[Axios v"+Gt+"] Transitional option '"+o+"'"+i+(s?". "+s:"")}return(o,i,a)=>{if(e===!1)throw new m(r(i," has been removed"+(n?" in "+n:"")),m.ERR_DEPRECATED);return n&&!Xt[i]&&(Xt[i]=!0,console.warn(r(i," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,i,a):!0}};function Ms(t,e,n){if(typeof t!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let r=s.length;for(;r-- >0;){const o=s[r],i=e[o];if(i){const a=t[o],u=a===void 0||i(a,o,t);if(u!==!0)throw new m("option "+o+" must be "+u,m.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new m("Unknown option "+o,m.ERR_BAD_OPTION)}}const Qe={assertOptions:Ms,validators:Xe},k=Qe.validators;let Ee=class{constructor(e){this.defaults=e,this.interceptors={request:new Lt,response:new Lt}}request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=q(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&Qe.assertOptions(s,{silentJSONParsing:k.transitional(k.boolean),forcedJSONParsing:k.transitional(k.boolean),clarifyTimeoutError:k.transitional(k.boolean)},!1),r!=null&&(c.isFunction(r)?n.paramsSerializer={serialize:r}:Qe.assertOptions(r,{encode:k.function,serialize:k.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&c.merge(o.common,o[n.method]);o&&c.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),n.headers=O.concat(i,o);const a=[];let u=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(n)===!1||(u=u&&f.synchronous,a.unshift(f.fulfilled,f.rejected))});const p=[];this.interceptors.response.forEach(function(f){p.push(f.fulfilled,f.rejected)});let l,h=0,y;if(!u){const d=[Wt.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,p),y=d.length,l=Promise.resolve(n);h{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(a=>{s.subscribe(a),o=a}).then(r);return i.cancel=function(){s.unsubscribe(o)},i},e(function(o,i,a){s.reason||(s.reason=new se(o,i,a),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new rn(function(r){e=r}),cancel:e}}};function qs(t){return function(n){return t.apply(null,n)}}function Vs(t){return c.isObject(t)&&t.isAxiosError===!0}const Ze={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ze).forEach(([t,e])=>{Ze[e]=t});const Js=Ze;function Qt(t){const e=new Se(t),n=St(Se.prototype.request,e);return c.extend(n,Se.prototype,e,{allOwnKeys:!0}),c.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return Qt(q(t,r))},n}const $=Qt(Ve);$.Axios=Se,$.CanceledError=se,$.CancelToken=zs,$.isCancel=Mt,$.VERSION=Gt,$.toFormData=be,$.AxiosError=m,$.Cancel=$.CanceledError,$.all=function(e){return Promise.all(e)},$.spread=qs,$.isAxiosError=Vs,$.mergeConfig=q,$.AxiosHeaders=O,$.formToJSON=t=>Bt(c.isHTMLForm(t)?new FormData(t):t),$.getAdapter=Jt.getAdapter,$.HttpStatusCode=Js,$.default=$;const Ws=$,{Axios:Ks,AxiosError:yr,CanceledError:br,isCancel:gr,CancelToken:$r,VERSION:Er,all:Sr,Cancel:wr,isAxiosError:_r,spread:Ar,toFormData:xr,AxiosHeaders:vr,HttpStatusCode:Cr,formToJSON:Or,getAdapter:Pr,mergeConfig:Rr}=Ws,Gs=new Ks({transformResponse:[t=>JSON.parse(t.substring(6))]}),Xs={get:async(t,e)=>{const n=await Gs.get(`/umbraco/backoffice/icomoon/files/svg?code=${t}&project=${e}`);if(n.status!==200)throw new Error("failed to get response from backend");return n.data}},Zt=t=>{if(!t)throw new Error("No target node found");const e=document.body.firstChild;if(!e)throw new Error("No icon element found, either the icomoon config is wrong or there are no icons in the project");const n=e.cloneNode(!0);return t.appendChild(n),e};var Qs=Object.defineProperty,Zs=Object.getOwnPropertyDescriptor,L=(t,e,n,s)=>{for(var r=s>1?void 0:s?Zs(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&Qs(e,n,r),r};const Ys="ic-icomoonpicker-editor-content";let P=class extends C{constructor(){super(...arguments),this.model="",this.loading=!0,this.submitPanel=e=>{this.model=e,this.closePanel()},this.closePanel=()=>{this.editorService.close()}}async connectedCallback(){if(super.connectedCallback(),!this.localizationService||!this.editorService||!this.assetsService)throw new Error("Some services are missing, check: localizationService, editorService, assetsService");this.$scope.model.value&&(this.model=this.$scope.model.value),await this.getIcons(),Zt(this.shadowRoot),this.loading=!1}edit(){const e={title:"Select icon from icomoon",view:"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html",size:"small",submit:this.submitPanel,close:this.closePanel,value:this.model};this.editorService.open(e)}async getIcons(){var s;if(!((s=this.$scope)!=null&&s.$parent.model.config))throw new Error("This element requires icomoon config");const e=this.$scope.$parent.model.config;if(await this.assetsService.loadJs(`https://i.icomoon.io/public/${e.projectCode}/${e.projectName}/svgxuse.js`),!document.querySelector("body>svg")){const r=await Xs.get(e.projectCode,e.projectName),o=document.createElement("div");document.body.insertBefore(o,document.body.firstChild),o.outerHTML=r}}loadedContent(){return v` ${this.model?bt` +`):" "+Vt(o[0]):"as no adapter specified";throw new m("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return s},adapters:Ke};function Ge(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new se(null,t)}function Wt(t){return Ge(t),t.headers=O.from(t.headers),t.data=We.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Jt.getAdapter(t.adapter||Ve.adapter)(t).then(function(s){return Ge(t),s.data=We.call(t,t.transformResponse,s),s.headers=O.from(s.headers),s},function(s){return Mt(s)||(Ge(t),s&&s.response&&(s.response.data=We.call(t,t.transformResponse,s.response),s.response.headers=O.from(s.response.headers))),Promise.reject(s)})}const Kt=t=>t instanceof O?t.toJSON():t;function q(t,e){e=e||{};const n={};function s(p,l,h){return c.isPlainObject(p)&&c.isPlainObject(l)?c.merge.call({caseless:h},p,l):c.isPlainObject(l)?c.merge({},l):c.isArray(l)?l.slice():l}function r(p,l,h){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p,h)}else return s(p,l,h)}function o(p,l){if(!c.isUndefined(l))return s(void 0,l)}function i(p,l){if(c.isUndefined(l)){if(!c.isUndefined(p))return s(void 0,p)}else return s(void 0,l)}function a(p,l,h){if(h in e)return s(p,l);if(h in t)return s(void 0,p)}const u={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(p,l)=>r(Kt(p),Kt(l),!0)};return c.forEach(Object.keys(Object.assign({},t,e)),function(l){const h=u[l]||r,y=h(t[l],e[l],l);c.isUndefined(y)&&h!==a||(n[l]=y)}),n}const Gt="1.6.0",Xe={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Xe[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const Xt={};Xe.transitional=function(e,n,s){function r(o,i){return"[Axios v"+Gt+"] Transitional option '"+o+"'"+i+(s?". "+s:"")}return(o,i,a)=>{if(e===!1)throw new m(r(i," has been removed"+(n?" in "+n:"")),m.ERR_DEPRECATED);return n&&!Xt[i]&&(Xt[i]=!0,console.warn(r(i," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,i,a):!0}};function Ms(t,e,n){if(typeof t!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let r=s.length;for(;r-- >0;){const o=s[r],i=e[o];if(i){const a=t[o],u=a===void 0||i(a,o,t);if(u!==!0)throw new m("option "+o+" must be "+u,m.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new m("Unknown option "+o,m.ERR_BAD_OPTION)}}const Qe={assertOptions:Ms,validators:Xe},k=Qe.validators;let Ee=class{constructor(e){this.defaults=e,this.interceptors={request:new Lt,response:new Lt}}request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=q(this.defaults,n);const{transitional:s,paramsSerializer:r,headers:o}=n;s!==void 0&&Qe.assertOptions(s,{silentJSONParsing:k.transitional(k.boolean),forcedJSONParsing:k.transitional(k.boolean),clarifyTimeoutError:k.transitional(k.boolean)},!1),r!=null&&(c.isFunction(r)?n.paramsSerializer={serialize:r}:Qe.assertOptions(r,{encode:k.function,serialize:k.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&c.merge(o.common,o[n.method]);o&&c.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),n.headers=O.concat(i,o);const a=[];let u=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(n)===!1||(u=u&&f.synchronous,a.unshift(f.fulfilled,f.rejected))});const p=[];this.interceptors.response.forEach(function(f){p.push(f.fulfilled,f.rejected)});let l,h=0,y;if(!u){const d=[Wt.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,p),y=d.length,l=Promise.resolve(n);h{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](r);s._listeners=null}),this.promise.then=r=>{let o;const i=new Promise(a=>{s.subscribe(a),o=a}).then(r);return i.cancel=function(){s.unsubscribe(o)},i},e(function(o,i,a){s.reason||(s.reason=new se(o,i,a),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new rn(function(r){e=r}),cancel:e}}};function qs(t){return function(n){return t.apply(null,n)}}function Vs(t){return c.isObject(t)&&t.isAxiosError===!0}const Ze={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ze).forEach(([t,e])=>{Ze[e]=t});const Js=Ze;function Qt(t){const e=new Se(t),n=St(Se.prototype.request,e);return c.extend(n,Se.prototype,e,{allOwnKeys:!0}),c.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return Qt(q(t,r))},n}const $=Qt(Ve);$.Axios=Se,$.CanceledError=se,$.CancelToken=zs,$.isCancel=Mt,$.VERSION=Gt,$.toFormData=be,$.AxiosError=m,$.Cancel=$.CanceledError,$.all=function(e){return Promise.all(e)},$.spread=qs,$.isAxiosError=Vs,$.mergeConfig=q,$.AxiosHeaders=O,$.formToJSON=t=>Bt(c.isHTMLForm(t)?new FormData(t):t),$.getAdapter=Jt.getAdapter,$.HttpStatusCode=Js,$.default=$;const Ws=$,{Axios:Ks,AxiosError:yr,CanceledError:br,isCancel:gr,CancelToken:$r,VERSION:Er,all:Sr,Cancel:wr,isAxiosError:_r,spread:Ar,toFormData:xr,AxiosHeaders:vr,HttpStatusCode:Cr,formToJSON:Or,getAdapter:Pr,mergeConfig:Rr}=Ws,Gs=new Ks({transformResponse:[t=>JSON.parse(t.substring(6))]}),Xs={get:async(t,e)=>{const n=await Gs.get(`/umbraco/backoffice/icomoon/files/svg?code=${t}&project=${e}`);if(n.status!==200)throw new Error("failed to get response from backend");return n.data}},Zt=t=>{if(!t)throw new Error("No target node found");const e=document.body.firstChild;if(!e)throw new Error("No icon element found, either the icomoon config is wrong or there are no icons in the project");const n=e.cloneNode(!0);return t.appendChild(n),e};var Qs=Object.defineProperty,Zs=Object.getOwnPropertyDescriptor,L=(t,e,n,s)=>{for(var r=s>1?void 0:s?Zs(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(r=(s?i(e,n,r):i(r))||r);return s&&r&&Qs(e,n,r),r};const Ys="ic-icomoonpicker-editor-content";let P=class extends C{constructor(){super(...arguments),this.model="",this.loading=!0,this.submitPanel=e=>{this.model=e,this.$scope.model.value=this.model,this.closePanel()},this.closePanel=()=>{this.editorService.close()}}async connectedCallback(){if(super.connectedCallback(),!this.localizationService||!this.editorService||!this.assetsService)throw new Error("Some services are missing, check: localizationService, editorService, assetsService");this.$scope.model.value&&(this.model=this.$scope.model.value),await this.getIcons(),Zt(this.shadowRoot),this.loading=!1}edit(){const e={title:"Select icon from icomoon",view:"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html",size:"small",submit:this.submitPanel,close:this.closePanel,value:this.model};this.editorService.open(e)}async getIcons(){var s;if(!((s=this.$scope)!=null&&s.$parent.model.config))throw new Error("This element requires icomoon config");const e=this.$scope.$parent.model.config;if(await this.assetsService.loadJs(`https://i.icomoon.io/public/${e.projectCode}/${e.projectName}/svgxuse.js`),!document.querySelector("body>svg")){const r=await Xs.get(e.projectCode,e.projectName),o=document.createElement("div");document.body.insertBefore(o,document.body.firstChild),o.outerHTML=r}}loadedContent(){return v` ${this.model?bt` `:v`

    no icon selected

    `} {this.unsubscribe&&(this.unsubscribe!==s&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,s)),this.unsubscribe=s},this.host=t,void 0!==s.context){const t=s;this.context=t.context,this.callback=t.callback,this.subscribe=t.subscribe??!1}else this.context=s,this.callback=i,this.subscribe=h??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new t(this.context,this.t,this.subscribe))}}export{s as ContextConsumer};\n//# sourceMappingURL=context-consumer.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{const s=t.composedPath()[0];t.context===this.context&&s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{const e=s.composedPath()[0];if(s.context!==this.context||e===this.host)return;const i=new Set;for(const[s,{consumerHost:e}]of this.subscriptions)i.has(s)||(i.add(s),e.dispatchEvent(new t(this.context,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextConsumer as t}from\"../controllers/context-consumer.js\";\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function c({context:c,subscribe:e}){return(o,n)=>{\"object\"==typeof n?n.addInitializer((function(){new t(this,{context:c,callback:t=>{this[n.name]=t},subscribe:e})})):o.constructor.addInitializer((o=>{new t(o,{context:c,callback:t=>{o[n]=t},subscribe:e})}))}}export{c as consume};\n//# sourceMappingURL=consume.js.map\n","import { createContext } from \"@lit/context\";\r\nimport { IAssetsService } from \"../models/assetsservice.model\";\r\nexport const assetsServiceKey = \"assetsService\";\r\nexport const assetsServiceContext =\r\n createContext(assetsServiceKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport { IEditorService } from \"../models/editorservice.model\";\r\nexport type { IEditorService } from \"../models/editorservice.model\";\r\nexport const editorServiceKey = \"editorService\";\r\nexport const editorServiceContext =\r\n createContext>(editorServiceKey);\r\n","import type { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { createContext } from \"@lit/context\";\r\nexport const iconHelperKey = \"iconHelper\";\r\nexport const iconHelperContext = createContext(iconHelperKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport const localizationServiceKey = \"localizationService\";\r\nexport const localizationServiceContext = createContext(\r\n localizationServiceKey\r\n);\r\n","import { IScope } from \"@/models/scope.model\";\r\nimport { createContext } from \"@lit/context\";\r\n\r\nexport const scopeContextKey = \"scope\";\r\nexport const scopeContext = createContext(scopeContextKey);\r\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EO(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i,e=!1,r){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(e?r:this[t],s))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.C(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$ET()}catch(s){throw t=!1,this._$ET(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.1\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.1\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { consume } from \"@lit/context\";\r\nimport { UUIIconRegistry } from \"@umbraco-ui/uui\";\r\nimport { LitElement, html, nothing } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { iconHelperContext } from \"../../context/iconhelper.context\";\r\nimport { IIconHelper } from \"../../models/iconhelper.model\";\r\n\r\nclass AngularIconRegistry extends UUIIconRegistry {\r\n private _iconHelper?: IIconHelper;\r\n\r\n public setIconHelper(iconHelper: IIconHelper): void {\r\n this._iconHelper = iconHelper;\r\n }\r\n\r\n getIcon(iconName: string): Promise | null {\r\n if (!this._iconHelper) return super.getIcon(iconName);\r\n\r\n return this.getIconFromHelper(iconName);\r\n }\r\n\r\n private async getIconFromHelper(iconName: string): Promise {\r\n const result = await this._iconHelper!.getIcon(iconName);\r\n if (!result) return \"\";\r\n\r\n return result.svgString.$$unwrapTrustedValue();\r\n }\r\n}\r\n\r\nexport const AngularIconRegistryElementTag = \"angular-icon-registry\";\r\n\r\n@customElement(AngularIconRegistryElementTag)\r\nexport class AngularIconRegistryElement extends LitElement {\r\n private _registry: AngularIconRegistry = new AngularIconRegistry();\r\n\r\n constructor() {\r\n super();\r\n this._registry.attach(this);\r\n }\r\n\r\n @consume({ context: iconHelperContext })\r\n private iconHelper?: IIconHelper;\r\n\r\n @state()\r\n private loading: number = 0;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.iconHelper)\r\n throw new Error(\"Icon helper service is required to use this element\");\r\n\r\n this._registry.setIconHelper(this.iconHelper);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this._registry.detach(this);\r\n }\r\n\r\n protected render(): unknown {\r\n if (this.loading) return nothing;\r\n return html``;\r\n }\r\n}\r\n","import \"@/util/bridge/angulariconregistry.lit\";\r\nimport { LitElementConstructor } from \"@/util/litelementconstructor.util\";\r\nimport { ContextProvider, createContext } from \"@lit/context\";\r\nimport { html } from \"lit\";\r\n\r\nexport function AngularBridgeMixin(\r\n Base: TBase,\r\n contentTemplate: unknown\r\n) {\r\n return class MainContext extends Base {\r\n _contextCollection: Record = {};\r\n public SetContext(\r\n service: T,\r\n context: ReturnType>,\r\n key: string\r\n ) {\r\n if (this._contextCollection[key]) {\r\n (\r\n this._contextCollection[key] as ContextProvider<\r\n ReturnType>\r\n >\r\n ).setValue(service);\r\n } else {\r\n this._contextCollection[key] = new ContextProvider(this, {\r\n context: context,\r\n initialValue: service,\r\n });\r\n }\r\n }\r\n\r\n protected render(): unknown {\r\n return html`\r\n ${contentTemplate} \r\n `;\r\n }\r\n };\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import { Axios } from \"axios\";\r\n\r\n// We have to strip the first 6 characters before we parse the data as JSON. This is an angularJS security feature.\r\nexport const http = new Axios({\r\n transformResponse: [\r\n (data) => {\r\n return JSON.parse(data.substring(6));\r\n },\r\n ],\r\n});\r\n","import { http } from \"@/util/axios.util\";\r\n\r\nexport const IcomoonService = {\r\n get: async (projectCode: string, projectName: string) => {\r\n const response = await http.get(\r\n `/umbraco/backoffice/icomoon/files/svg?code=${projectCode}&project=${projectName}`\r\n );\r\n\r\n if (response.status !== 200)\r\n throw new Error(\"failed to get response from backend\");\r\n return response.data;\r\n },\r\n};\r\n","export const cloneSvgNode = (targetNode: ShadowRoot | null) => {\r\n if (!targetNode) throw new Error(\"No target node found\");\r\n\r\n const iconElement = document.body.firstChild as HTMLElement;\r\n\r\n if (!iconElement)\r\n throw new Error(\r\n \"No icon element found, either the icomoon config is wrong or there are no icons in the project\"\r\n );\r\n const clone = iconElement.cloneNode(true);\r\n\r\n targetNode.appendChild(clone);\r\n return iconElement;\r\n};\r\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { IcomoonService } from \"@/services/icomoon.service\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-editor-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope!: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private loading: boolean = true;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n if (this.$scope.model.value) {\r\n this.model = this.$scope.model.value;\r\n }\r\n\r\n await this.getIcons();\r\n cloneSvgNode(this.shadowRoot);\r\n\r\n this.loading = false;\r\n }\r\n\r\n edit() {\r\n const options = {\r\n title: \"Select icon from icomoon\",\r\n view: \"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html\",\r\n size: \"small\",\r\n submit: this.submitPanel,\r\n close: this.closePanel,\r\n value: this.model,\r\n };\r\n\r\n this.editorService!.open(options);\r\n }\r\n\r\n submitPanel = (value: string) => {\r\n this.model = value;\r\n this.closePanel();\r\n };\r\n\r\n closePanel = () => {\r\n this.editorService!.close();\r\n };\r\n\r\n async getIcons() {\r\n if (!this.$scope?.$parent.model.config)\r\n throw new Error(\"This element requires icomoon config\");\r\n\r\n const config = this.$scope.$parent.model.config;\r\n\r\n await this.assetsService!.loadJs(\r\n `https://i.icomoon.io/public/${config.projectCode}/${config.projectName}/svgxuse.js`\r\n );\r\n\r\n const svg = document.querySelector(\"body>svg\");\r\n\r\n if (!svg) {\r\n const data = await IcomoonService.get(\r\n config.projectCode,\r\n config.projectName\r\n );\r\n\r\n const element = document.createElement(\"div\");\r\n document.body.insertBefore(element, document.body.firstChild);\r\n element.outerHTML = data;\r\n }\r\n }\r\n\r\n loadedContent() {\r\n return html` ${!this.model\r\n ? html`

    no icon selected

    `\r\n : svg`\r\n \r\n `}\r\n this.edit()}\r\n ?disabled=${this.loading}\r\n >\r\n edit\r\n
    `;\r\n }\r\n\r\n protected render() {\r\n return html`\r\n ${this.loading ? html`` : this.loadedContent()}\r\n `;\r\n }\r\n\r\n static styles = css`\r\n uui-icon {\r\n margin-right: 0.5rem;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-editor\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerEditor.alias = \"ngIcomoonpickerEditor\";\r\nngIcomoonpickerEditor.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerEditor(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerEditor } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerEditor.alias, ngIcomoonpickerEditor);\r\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-panel-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope?: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private icons: string[] = [];\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n const icons = cloneSvgNode(this.shadowRoot);\r\n icons.querySelectorAll(\"symbol\").forEach((s) => {\r\n this.icons.push(s.id);\r\n });\r\n }\r\n\r\n close() {\r\n this.editorService!.close();\r\n }\r\n\r\n select(icon: string) {\r\n this.model = icon;\r\n this.$scope!.model.submit(icon);\r\n }\r\n\r\n protected render() {\r\n return html`\r\n \r\n
    \r\n ${this.icons.map(\r\n (icon) => svg` this.select(icon)}\r\n >\r\n \r\n `\r\n )}\r\n
    \r\n \r\n `;\r\n }\r\n\r\n static styles = css`\r\n .umb-iconpicker {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 1rem;\r\n max-height: calc(100vh - 72px);\r\n overflow-y: auto;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-panel\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerPanel.alias = \"ngIcomoonpickerPanel\";\r\nngIcomoonpickerPanel.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerPanel(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerPanel } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerPanel.alias, ngIcomoonpickerPanel);\r\n"],"names":["s","t","e","n","s$4","i","h","e$3","c","o","assetsServiceKey","assetsServiceContext","editorServiceKey","editorServiceContext","iconHelperKey","iconHelperContext","localizationServiceKey","localizationServiceContext","scopeContextKey","scopeContext","n$3","r","S","a","l","p","d","u","f","y","b$1","_a","b","v","_","m","g","$","x","w","T","A","E","C","P","V","k","H","I","R","N","_b","M","L","Z","j","AngularIconRegistry","UUIIconRegistry","iconHelper","iconName","result","AngularIconRegistryElementTag","AngularIconRegistryElement","LitElement","nothing","html","__decorateClass","consume","state","customElement","AngularBridgeMixin","Base","contentTemplate","service","context","key","ContextProvider","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","obj","allOwnKeys","keys","len","findKey","_key","_global","isContextDefined","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","utils","AxiosError","message","code","config","request","response","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","platform","URLSearchParams","FormData","Blob","toURLEncodedForm","data","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","AxiosHeaders$2","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","done","username","password","fullPath","onloadend","responseHeaders","err","timeoutErrorMessage","xsrfValue","cancel","protocol","renderReason","reason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","Axios","generateHTTPMethod","isForm","Axios$2","CancelToken$2","CancelToken","executor","resolvePromise","onfulfilled","_resolve","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$2","createInstance","defaultConfig","instance","axios","promises","axios$1","all","Cancel","formToJSON","getAdapter","http","IcomoonService","projectCode","projectName","cloneSvgNode","targetNode","iconElement","clone","ContentElementTag","IcomoonPickerContent","element","svg","css","IcomoonPickerContent$1","MainElementTag","IcomoonPicker","IcomoonPicker$1","ngIcomoonpickerEditor","localizationService","editorService","assetsService","_scope","mainElement","icon","ifDefined","ngIcomoonpickerPanel"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,69]} \ No newline at end of file +{"version":3,"file":"script.iife.js","sources":["../../node_modules/@lit/context/lib/context-request-event.js","../../node_modules/@lit/context/lib/create-context.js","../../node_modules/@lit/context/lib/controllers/context-consumer.js","../../node_modules/@lit/context/lib/value-notifier.js","../../node_modules/@lit/context/lib/controllers/context-provider.js","../../node_modules/@lit/context/lib/decorators/consume.js","../../frontend/src/context/assetsservice.context.ts","../../frontend/src/context/editorservice.context.ts","../../frontend/src/context/iconhelper.context.ts","../../frontend/src/context/localizationservice.context.ts","../../frontend/src/context/scope.context.ts","../../node_modules/@lit/reactive-element/css-tag.js","../../node_modules/@lit/reactive-element/reactive-element.js","../../node_modules/lit-html/lit-html.js","../../node_modules/lit-element/lit-element.js","../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../node_modules/@lit/reactive-element/decorators/property.js","../../node_modules/@lit/reactive-element/decorators/state.js","../../frontend/src/util/bridge/angulariconregistry.lit.ts","../../frontend/src/util/bridge/angularbridge.mixin.ts","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/helpers/null.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../node_modules/axios/lib/platform/browser/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/axios/index.js","../../frontend/src/util/axios.util.ts","../../frontend/src/services/icomoon.service.ts","../../frontend/src/util/clonesvgnode.util.ts","../../frontend/src/views/editor/components/content.lit.ts","../../frontend/src/views/editor/main.lit.ts","../../frontend/src/views/editor/directive.ts","../../frontend/src/views/editor/index.ts","../../node_modules/lit-html/directives/if-defined.js","../../frontend/src/views/panel/components/content.lit.ts","../../frontend/src/views/panel/main.lit.ts","../../frontend/src/views/panel/directive.ts","../../frontend/src/views/panel/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s extends Event{constructor(s,t,e){super(\"context-request\",{bubbles:!0,composed:!0}),this.context=s,this.callback=t,this.subscribe=e??!1}}export{s as ContextRequestEvent};\n//# sourceMappingURL=context-request-event.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n){return n}export{n as createContext};\n//# sourceMappingURL=create-context.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s{constructor(t,s,i,h){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(t,s)=>{this.unsubscribe&&(this.unsubscribe!==s&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,s)),this.unsubscribe=s},this.host=t,void 0!==s.context){const t=s;this.context=t.context,this.callback=t.callback,this.subscribe=t.subscribe??!1}else this.context=s,this.callback=i,this.subscribe=h??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new t(this.context,this.t,this.subscribe))}}export{s as ContextConsumer};\n//# sourceMappingURL=context-consumer.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{const s=t.composedPath()[0];t.context===this.context&&s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{const e=s.composedPath()[0];if(s.context!==this.context||e===this.host)return;const i=new Set;for(const[s,{consumerHost:e}]of this.subscriptions)i.has(s)||(i.add(s),e.dispatchEvent(new t(this.context,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextConsumer as t}from\"../controllers/context-consumer.js\";\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function c({context:c,subscribe:e}){return(o,n)=>{\"object\"==typeof n?n.addInitializer((function(){new t(this,{context:c,callback:t=>{this[n.name]=t},subscribe:e})})):o.constructor.addInitializer((o=>{new t(o,{context:c,callback:t=>{o[n]=t},subscribe:e})}))}}export{c as consume};\n//# sourceMappingURL=consume.js.map\n","import { createContext } from \"@lit/context\";\r\nimport { IAssetsService } from \"../models/assetsservice.model\";\r\nexport const assetsServiceKey = \"assetsService\";\r\nexport const assetsServiceContext =\r\n createContext(assetsServiceKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport { IEditorService } from \"../models/editorservice.model\";\r\nexport type { IEditorService } from \"../models/editorservice.model\";\r\nexport const editorServiceKey = \"editorService\";\r\nexport const editorServiceContext =\r\n createContext>(editorServiceKey);\r\n","import type { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { createContext } from \"@lit/context\";\r\nexport const iconHelperKey = \"iconHelper\";\r\nexport const iconHelperContext = createContext(iconHelperKey);\r\n","import { createContext } from \"@lit/context\";\r\nimport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport type { ILocalizationService } from \"../models/localizationservice.model\";\r\nexport const localizationServiceKey = \"localizationService\";\r\nexport const localizationServiceContext = createContext(\r\n localizationServiceKey\r\n);\r\n","import { IScope } from \"@/models/scope.model\";\r\nimport { createContext } from \"@lit/context\";\r\n\r\nexport const scopeContextKey = \"scope\";\r\nexport const scopeContext = createContext(scopeContextKey);\r\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EO(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i,e=!1,r){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(e?r:this[t],s))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.C(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$ET()}catch(s){throw t=!1,this._$ET(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.1\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.1\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { consume } from \"@lit/context\";\r\nimport { UUIIconRegistry } from \"@umbraco-ui/uui\";\r\nimport { LitElement, html, nothing } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { iconHelperContext } from \"../../context/iconhelper.context\";\r\nimport { IIconHelper } from \"../../models/iconhelper.model\";\r\n\r\nclass AngularIconRegistry extends UUIIconRegistry {\r\n private _iconHelper?: IIconHelper;\r\n\r\n public setIconHelper(iconHelper: IIconHelper): void {\r\n this._iconHelper = iconHelper;\r\n }\r\n\r\n getIcon(iconName: string): Promise | null {\r\n if (!this._iconHelper) return super.getIcon(iconName);\r\n\r\n return this.getIconFromHelper(iconName);\r\n }\r\n\r\n private async getIconFromHelper(iconName: string): Promise {\r\n const result = await this._iconHelper!.getIcon(iconName);\r\n if (!result) return \"\";\r\n\r\n return result.svgString.$$unwrapTrustedValue();\r\n }\r\n}\r\n\r\nexport const AngularIconRegistryElementTag = \"angular-icon-registry\";\r\n\r\n@customElement(AngularIconRegistryElementTag)\r\nexport class AngularIconRegistryElement extends LitElement {\r\n private _registry: AngularIconRegistry = new AngularIconRegistry();\r\n\r\n constructor() {\r\n super();\r\n this._registry.attach(this);\r\n }\r\n\r\n @consume({ context: iconHelperContext })\r\n private iconHelper?: IIconHelper;\r\n\r\n @state()\r\n private loading: number = 0;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.iconHelper)\r\n throw new Error(\"Icon helper service is required to use this element\");\r\n\r\n this._registry.setIconHelper(this.iconHelper);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this._registry.detach(this);\r\n }\r\n\r\n protected render(): unknown {\r\n if (this.loading) return nothing;\r\n return html``;\r\n }\r\n}\r\n","import \"@/util/bridge/angulariconregistry.lit\";\r\nimport { LitElementConstructor } from \"@/util/litelementconstructor.util\";\r\nimport { ContextProvider, createContext } from \"@lit/context\";\r\nimport { html } from \"lit\";\r\n\r\nexport function AngularBridgeMixin(\r\n Base: TBase,\r\n contentTemplate: unknown\r\n) {\r\n return class MainContext extends Base {\r\n _contextCollection: Record = {};\r\n public SetContext(\r\n service: T,\r\n context: ReturnType>,\r\n key: string\r\n ) {\r\n if (this._contextCollection[key]) {\r\n (\r\n this._contextCollection[key] as ContextProvider<\r\n ReturnType>\r\n >\r\n ).setValue(service);\r\n } else {\r\n this._contextCollection[key] = new ContextProvider(this, {\r\n context: context,\r\n initialValue: service,\r\n });\r\n }\r\n }\r\n\r\n protected render(): unknown {\r\n return html`\r\n ${contentTemplate} \r\n `;\r\n }\r\n };\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import { Axios } from \"axios\";\r\n\r\n// We have to strip the first 6 characters before we parse the data as JSON. This is an angularJS security feature.\r\nexport const http = new Axios({\r\n transformResponse: [\r\n (data) => {\r\n return JSON.parse(data.substring(6));\r\n },\r\n ],\r\n});\r\n","import { http } from \"@/util/axios.util\";\r\n\r\nexport const IcomoonService = {\r\n get: async (projectCode: string, projectName: string) => {\r\n const response = await http.get(\r\n `/umbraco/backoffice/icomoon/files/svg?code=${projectCode}&project=${projectName}`\r\n );\r\n\r\n if (response.status !== 200)\r\n throw new Error(\"failed to get response from backend\");\r\n return response.data;\r\n },\r\n};\r\n","export const cloneSvgNode = (targetNode: ShadowRoot | null) => {\r\n if (!targetNode) throw new Error(\"No target node found\");\r\n\r\n const iconElement = document.body.firstChild as HTMLElement;\r\n\r\n if (!iconElement)\r\n throw new Error(\r\n \"No icon element found, either the icomoon config is wrong or there are no icons in the project\"\r\n );\r\n const clone = iconElement.cloneNode(true);\r\n\r\n targetNode.appendChild(clone);\r\n return iconElement;\r\n};\r\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { IcomoonService } from \"@/services/icomoon.service\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-editor-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope!: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private loading: boolean = true;\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n if (this.$scope.model.value) {\r\n this.model = this.$scope.model.value;\r\n }\r\n\r\n await this.getIcons();\r\n cloneSvgNode(this.shadowRoot);\r\n\r\n this.loading = false;\r\n }\r\n\r\n edit() {\r\n const options = {\r\n title: \"Select icon from icomoon\",\r\n view: \"/app_plugins/Infocaster.Umbraco.IcomoonPicker/panel/panel.html\",\r\n size: \"small\",\r\n submit: this.submitPanel,\r\n close: this.closePanel,\r\n value: this.model,\r\n };\r\n\r\n this.editorService!.open(options);\r\n }\r\n\r\n submitPanel = (value: string) => {\r\n this.model = value;\r\n this.$scope.model.value = this.model;\r\n this.closePanel();\r\n };\r\n\r\n closePanel = () => {\r\n this.editorService!.close();\r\n };\r\n\r\n async getIcons() {\r\n if (!this.$scope?.$parent.model.config)\r\n throw new Error(\"This element requires icomoon config\");\r\n\r\n const config = this.$scope.$parent.model.config;\r\n\r\n await this.assetsService!.loadJs(\r\n `https://i.icomoon.io/public/${config.projectCode}/${config.projectName}/svgxuse.js`\r\n );\r\n\r\n const svg = document.querySelector(\"body>svg\");\r\n\r\n if (!svg) {\r\n const data = await IcomoonService.get(\r\n config.projectCode,\r\n config.projectName\r\n );\r\n\r\n const element = document.createElement(\"div\");\r\n document.body.insertBefore(element, document.body.firstChild);\r\n element.outerHTML = data;\r\n }\r\n }\r\n\r\n loadedContent() {\r\n return html` ${!this.model\r\n ? html`

    no icon selected

    `\r\n : svg`\r\n \r\n `}\r\n this.edit()}\r\n ?disabled=${this.loading}\r\n >\r\n edit\r\n `;\r\n }\r\n\r\n protected render() {\r\n return html`\r\n ${this.loading ? html`` : this.loadedContent()}\r\n `;\r\n }\r\n\r\n static styles = css`\r\n uui-icon {\r\n margin-right: 0.5rem;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-editor\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerEditor.alias = \"ngIcomoonpickerEditor\";\r\nngIcomoonpickerEditor.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerEditor(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerEditor } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerEditor.alias, ngIcomoonpickerEditor);\r\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { assetsServiceContext } from \"@/context/assetsservice.context\";\r\nimport { editorServiceContext } from \"@/context/editorservice.context\";\r\nimport { localizationServiceContext } from \"@/context/localizationservice.context\";\r\nimport { scopeContext } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IScope } from \"@/models/scope.model\";\r\nimport { cloneSvgNode } from \"@/util/clonesvgnode.util\";\r\nimport { consume } from \"@lit/context\";\r\nimport { LitElement, css, html, svg } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nexport const ContentElementTag = \"ic-icomoonpicker-panel-content\";\r\n\r\n@customElement(ContentElementTag)\r\nexport class IcomoonPickerContent extends LitElement {\r\n @consume({ context: scopeContext })\r\n private $scope?: IScope;\r\n\r\n @consume({ context: localizationServiceContext })\r\n private localizationService?: ILocalizationService;\r\n\r\n @consume({ context: editorServiceContext })\r\n private editorService?: IEditorService;\r\n\r\n @consume({ context: assetsServiceContext })\r\n private assetsService?: IAssetsService;\r\n\r\n @state()\r\n private model: string = \"\";\r\n\r\n @state()\r\n private icons: string[] = [];\r\n\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n\r\n if (!this.localizationService || !this.editorService || !this.assetsService)\r\n throw new Error(\r\n \"Some services are missing, check: localizationService, editorService, assetsService\"\r\n );\r\n\r\n const icons = cloneSvgNode(this.shadowRoot);\r\n icons.querySelectorAll(\"symbol\").forEach((s) => {\r\n this.icons.push(s.id);\r\n });\r\n }\r\n\r\n close() {\r\n this.editorService!.close();\r\n }\r\n\r\n select(icon: string) {\r\n this.model = icon;\r\n this.$scope!.model.submit(icon);\r\n }\r\n\r\n protected render() {\r\n return html`\r\n \r\n
    \r\n ${this.icons.map(\r\n (icon) => svg` this.select(icon)}\r\n >\r\n \r\n `\r\n )}\r\n
    \r\n \r\n `;\r\n }\r\n\r\n static styles = css`\r\n .umb-iconpicker {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 1rem;\r\n max-height: calc(100vh - 72px);\r\n overflow-y: auto;\r\n }\r\n\r\n .icomoon-icon {\r\n display: flex;\r\n width: 32px;\r\n height: 32px;\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n padding: 0.5rem;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n font-family: icomoon;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: 400;\r\n line-height: 1;\r\n text-transform: none;\r\n }\r\n `;\r\n}\r\n","import { AngularBridgeMixin } from \"@/util/bridge/angularbridge.mixin\";\r\nimport { LitElement, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\nimport \"./components/content.lit\";\r\n\r\nexport const MainElementTag = \"ic-icomoonpicker-panel\";\r\n\r\n@customElement(MainElementTag)\r\nexport class IcomoonPicker extends AngularBridgeMixin(\r\n LitElement,\r\n html``\r\n) {\r\n async connectedCallback(): Promise {\r\n super.connectedCallback();\r\n }\r\n}\r\n","import {\r\n assetsServiceContext,\r\n assetsServiceKey,\r\n} from \"@/context/assetsservice.context\";\r\nimport {\r\n editorServiceContext,\r\n editorServiceKey,\r\n} from \"@/context/editorservice.context\";\r\nimport { iconHelperContext, iconHelperKey } from \"@/context/iconhelper.context\";\r\nimport {\r\n localizationServiceContext,\r\n localizationServiceKey,\r\n} from \"@/context/localizationservice.context\";\r\nimport { scopeContext, scopeContextKey } from \"@/context/scope.context\";\r\nimport { IAssetsService } from \"@/models/assetsservice.model\";\r\nimport { IEditorService } from \"@/models/editorservice.model\";\r\nimport { IIconHelper } from \"@/models/iconhelper.model\";\r\nimport { ILocalizationService } from \"@/models/localizationservice.model\";\r\nimport { IcomoonPicker, MainElementTag } from \"./main.lit\";\r\n\r\nngIcomoonpickerPanel.alias = \"ngIcomoonpickerPanel\";\r\nngIcomoonpickerPanel.$inject = [\r\n \"localizationService\",\r\n \"iconHelper\",\r\n \"editorService\",\r\n \"assetsService\",\r\n];\r\nexport function ngIcomoonpickerPanel(\r\n localizationService: ILocalizationService,\r\n iconHelper: IIconHelper,\r\n editorService: IEditorService,\r\n assetsService: IAssetsService\r\n): angular.IDirective {\r\n return {\r\n restrict: \"E\",\r\n link: function (_scope, element) {\r\n const mainElement = document.createElement(\r\n MainElementTag\r\n ) as IcomoonPicker;\r\n\r\n mainElement.SetContext(\r\n localizationService,\r\n localizationServiceContext,\r\n localizationServiceKey\r\n );\r\n mainElement.SetContext(iconHelper, iconHelperContext, iconHelperKey);\r\n mainElement.SetContext(\r\n editorService,\r\n editorServiceContext,\r\n editorServiceKey\r\n );\r\n mainElement.SetContext(\r\n assetsService,\r\n assetsServiceContext,\r\n assetsServiceKey\r\n );\r\n mainElement.SetContext(_scope, scopeContext, scopeContextKey);\r\n\r\n element[0].appendChild(mainElement);\r\n },\r\n };\r\n}\r\n","import \"@umbraco-ui/uui\";\r\nimport { ngIcomoonpickerPanel } from \"./directive\";\r\n\r\nconst module = angular.module(\"umbraco\");\r\n\r\nmodule.directive(ngIcomoonpickerPanel.alias, ngIcomoonpickerPanel);\r\n"],"names":["s","t","e","n","s$4","i","h","e$3","c","o","assetsServiceKey","assetsServiceContext","editorServiceKey","editorServiceContext","iconHelperKey","iconHelperContext","localizationServiceKey","localizationServiceContext","scopeContextKey","scopeContext","n$3","r","S","a","l","p","d","u","f","y","b$1","_a","b","v","_","m","g","$","x","w","T","A","E","C","P","V","k","H","I","R","N","_b","M","L","Z","j","AngularIconRegistry","UUIIconRegistry","iconHelper","iconName","result","AngularIconRegistryElementTag","AngularIconRegistryElement","LitElement","nothing","html","__decorateClass","consume","state","customElement","AngularBridgeMixin","Base","contentTemplate","service","context","key","ContextProvider","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","obj","allOwnKeys","keys","len","findKey","_key","_global","isContextDefined","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","utils","AxiosError","message","code","config","request","response","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","platform","URLSearchParams","FormData","Blob","toURLEncodedForm","data","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","AxiosHeaders$2","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","done","username","password","fullPath","onloadend","responseHeaders","err","timeoutErrorMessage","xsrfValue","cancel","protocol","renderReason","reason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","Axios","generateHTTPMethod","isForm","Axios$2","CancelToken$2","CancelToken","executor","resolvePromise","onfulfilled","_resolve","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$2","createInstance","defaultConfig","instance","axios","promises","axios$1","all","Cancel","formToJSON","getAdapter","http","IcomoonService","projectCode","projectName","cloneSvgNode","targetNode","iconElement","clone","ContentElementTag","IcomoonPickerContent","element","svg","css","IcomoonPickerContent$1","MainElementTag","IcomoonPicker","IcomoonPicker$1","ngIcomoonpickerEditor","localizationService","editorService","assetsService","_scope","mainElement","icon","ifDefined","ngIcomoonpickerPanel"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,69]} \ No newline at end of file diff --git a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts index 4a672af..71ca8c2 100644 --- a/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts +++ b/src/Infocaster.Umbraco.IcomoonPicker/frontend/src/views/editor/components/content.lit.ts @@ -66,7 +66,8 @@ export class IcomoonPickerContent extends LitElement { } submitPanel = (value: string) => { - this.model = value; + this.model = value; + this.$scope.model.value = this.model; this.closePanel(); }; From 6066c3b9b581411fa65acc9f0aaed964cada27e4 Mon Sep 17 00:00:00 2001 From: Dennis Heutinck Date: Tue, 12 Dec 2023 15:33:59 +0000 Subject: [PATCH 5/5] Merged PR 11071: Add nuget group to variables Add nuget group to variables --- azure-pipelines.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5cf4607..a9f2218 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -13,10 +13,15 @@ pool: name: Default variables: - BuildConfiguration: "release" - BuildPlatform: "any cpu" - Solution: '**\*.sln' - NpmWorkingDirectory: 'src\Infocaster.Umbraco.IcomoonPicker' +- group: nuget-package +- name: BuildConfiguration + value: "release" +- name: BuildPlatform + value: "any cpu" +- name: Solution + value: '**\*.sln' +- name: NpmWorkingDirectory + value: 'src\Infocaster.Umbraco.IcomoonPicker' stages: - stage: build